Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package terragrunt for openSUSE:Factory 
checked in at 2025-05-13 20:06:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/terragrunt (Old)
 and      /work/SRC/openSUSE:Factory/.terragrunt.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "terragrunt"

Tue May 13 20:06:12 2025 rev:226 rq:1276956 version:0.78.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes    2025-05-12 
16:51:45.215915136 +0200
+++ /work/SRC/openSUSE:Factory/.terragrunt.new.30101/terragrunt.changes 
2025-05-13 20:06:16.588866110 +0200
@@ -1,0 +2,15 @@
+Mon May 12 18:57:35 UTC 2025 - Johannes Kastl 
<opensuse_buildserv...@ojkastl.de>
+
+- Update to version 0.78.3:
+  * Bug Fixes
+    When an error retry 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.
+  * What's Changed
+    - fix #3845 set the correct exit code when a retry is
+      successful. by @wakeful in #3966
+    - docs: Improving Run Queue docs by @yhakbar in #4272
+
+-------------------------------------------------------------------

Old:
----
  terragrunt-0.78.2.obscpio

New:
----
  terragrunt-0.78.3.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ terragrunt.spec ++++++
--- /var/tmp/diff_new_pack.9laeYe/_old  2025-05-13 20:06:19.588992325 +0200
+++ /var/tmp/diff_new_pack.9laeYe/_new  2025-05-13 20:06:19.600992830 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           terragrunt
-Version:        0.78.2
+Version:        0.78.3
 Release:        0
 Summary:        Thin wrapper for Terraform for working with multiple Terraform 
modules
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.9laeYe/_old  2025-05-13 20:06:19.829002422 +0200
+++ /var/tmp/diff_new_pack.9laeYe/_new  2025-05-13 20:06:19.861003769 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/gruntwork-io/terragrunt</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v0.78.2</param>
+    <param name="revision">v0.78.3</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.9laeYe/_old  2025-05-13 20:06:19.985008985 +0200
+++ /var/tmp/diff_new_pack.9laeYe/_new  2025-05-13 20:06:20.005009827 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/gruntwork-io/terragrunt</param>
-              <param 
name="changesrevision">57b42381d9cf464d39833052b82851bd0061c9fe</param></service></servicedata>
+              <param 
name="changesrevision">b19d23fcb73889cd9dac48040dfbf2b84117d20d</param></service></servicedata>
 (No newline at EOF)
 

++++++ terragrunt-0.78.2.obscpio -> terragrunt-0.78.3.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.78.2/docs/_docs/02_features/05-run-queue.md 
new/terragrunt-0.78.3/docs/_docs/02_features/05-run-queue.md
--- old/terragrunt-0.78.2/docs/_docs/02_features/05-run-queue.md        
2025-05-09 17:37:28.000000000 +0200
+++ new/terragrunt-0.78.3/docs/_docs/02_features/05-run-queue.md        
2025-05-12 16:48:19.000000000 +0200
@@ -27,43 +27,185 @@
 
 ### Example DAG
 
-Consider a setup where Unit B depends on Unit A, and Unit C depends on Unit B. 
Unit D has no dependencies.
+Consider a setup where:
+
+- Unit "dependent" depends on unit "dependency".
+- Unit "dependency" depends on unit "ancestor-dependency".
+- Unit "independent" has no dependencies nor dependents.
+
+Represented textually, the file structure might look like:
+
+```tree
+root
+├── ancestor-dependency
+│   └── terragrunt.hcl
+├── independent
+│   └── terragrunt.hcl
+└── subtree
+    ├── dependency
+    │   └── terragrunt.hcl
+    └── dependent
+        └── terragrunt.hcl
+```
 
 ![Example DAG](/assets/img/05-run-queue-0.svg)
 
-- **`run --all plan` Order:** Terragrunt would run C and D concurrently. Once 
C finishes, B would run. Once B finishes, A would run.
-- **`run --all destroy` Order:** Terragrunt would run A and D concurrently. 
Once A finishes, B would run. Once B finishes, C would run.
+Assuming a current working directory of the `root` directory, Terragrunt would 
run units in the following order:
+
+- **`run --all plan` Order:** Terragrunt would run `independent` and 
`ancestor-dependency` concurrently. Once `ancestor-dependency` finishes, 
`dependency` would run. Once `dependency` finishes, `dependent` would run.
+- **`run --all destroy` Order:** Terragrunt would run `dependent` and 
`independent` concurrently. Once `dependent` finishes, `dependency` would run. 
Once `dependency` finishes, `ancestor-dependency` would run.
 
 ## Controlling the Queue
 
-Several flags allow you to customize how Terragrunt builds and executes the 
run queue:
+Several flags allow you to customize how Terragrunt builds and executes the 
run queue. By default, Terragrunt will include all units that are in the 
current working directory.
+
+### Include by default
+
+By default, when using the `--all` flag, Terragrunt will include all units 
that are in the current working directory, and any external dependencies.
+
+Certain flags trigger "Exclude by default" behavior, meaning that Terragrunt 
will no longer automatically include all units in the current working 
directory, and will instead rely on discovering configurations based on the 
provided queue control flags.
+
+Those flags will be discussed in the next section.
 
 ### Filtering Units
 
 You can control which units are included or excluded from the queue:
 
 - [`--queue-include-dir`](/docs/reference/cli-options#queue-include-dir): 
Specify glob patterns for directories to *include*. Can be used multiple times.
-- [`--queue-exclude-dir`](/docs/reference/cli-options#queue-exclude-dir): 
Specify glob patterns for directories to *exclude*. Can be used multiple times. 
Note that dependencies of excluded units might be included unless they are also 
explicitly excluded.
+
+  e.g. `terragrunt run --all plan --queue-include-dir "subtree/*"`
+
+  Include units within the `subtree` directory (along with their 
dependencies), i.e., `subtree/dependent`, `subtree/dependency` and 
`ancestor-dependency`.
+  > **Note:** Using the `--queue-include-dir` automatically triggers "Exclude 
by default" behavior, as mentioned above.
+  >
+  > **Note:** `ancestor-dependency` is still included by default here because 
it's a dependency of `dependency`. Using 
[`--queue-strict-include`](/docs/reference/cli-options#queue-strict-include) 
would prevent that.
+
+- [`--queue-exclude-dir`](/docs/reference/cli-options#queue-exclude-dir): 
Specify glob patterns for directories to *exclude*. Can be specified multiple 
times.
+
+  e.g. `terragrunt run --all plan --queue-exclude-dir "independent"`
+
+  Exclude the `independent` unit. `ancestor-dependency`, `subtree/dependency`, 
and `subtree/dependent` would still be processed according to their 
dependencies.
+  > **Note:** Dependencies of excluded units will still be included unless 
they are also explicitly excluded. In this example, excluding 
`subtree/dependency` would not automatically exclude `ancestor-dependency`.
+
 - [`--queue-excludes-file`](/docs/reference/cli-options#queue-excludes-file): 
Provide a file containing a list of directories to exclude.
-- 
[`--queue-strict-include`](/docs/reference/cli-options#queue-strict-include): 
Only include units matching `--queue-include-dir`. Excludes everything else by 
default.
-- 
[`--queue-include-external`](/docs/reference/cli-options#queue-include-external):
 Include external dependencies (those outside the main working directory or 
included directories).
+
+  e.g. `terragrunt run --all plan --queue-excludes-file ".tg-excludes"`
+
+  ```text
+  # .tg-excludes
+
+  independent
+  subtree/dependency
+  ```
+
+  Exclude `independent` and `subtree/dependency` from the run, only running 
`subtree/dependent` and `ancestor-dependency`.
+  > **Tip:** The default value for this flag is `.terragrunt-excludes`. 
Populate a file named this in your project root to exclude units from being run 
by default, without using the `--queue-excludes-file` flag.
+
+- 
[`--queue-strict-include`](/docs/reference/cli-options#queue-strict-include): 
Only include units matching `--queue-include-dir`.
+
+  e.g. `terragrunt run --all plan --queue-include-dir "subtree/dependency" 
--queue-strict-include`
+
+  Only include the `subtree/dependency` unit. Its dependency, 
`ancestor-dependency`, will be excluded because it does not match the include 
and strict mode is enabled.
+
+- 
[`--queue-include-external`](/docs/reference/cli-options#queue-include-external):
 Include external dependencies (those outside the current working directory) by 
default.
+
+  e.g. `terragrunt run --all plan --working-dir subtree 
--queue-include-external`
+
+  Include `ancestor-dependency` in addition to the `subtree/dependent` and 
`subtree/dependency` units.
+  > **Note:** The `--queue-include-external` flag is simply a convenience flag 
to avoid the interactive prompt to request inclusion of external dependencies. 
By default, Terragrunt will wait for user input to determine whether or not 
external dependencies should be included.
+
 - 
[`--queue-exclude-external`](/docs/reference/cli-options#queue-exclude-external):
 Exclude external dependencies.
+
+  e.g. `terragrunt run --all plan --working-dir subtree 
--queue-exclude-external`
+
+  Exclude `ancestor-dependency` from the run. Only run `subtree/dependent` and 
`subtree/dependency`.
+  > **Note:** This flag is simply a convenience flag to avoid the interactive 
prompt to request exclusion of external dependencies. By default, Terragrunt 
will wait for user input to determine whether or not external dependencies 
should be excluded.
+
 - 
[`--queue-include-units-reading`](/docs/reference/cli-options#queue-include-units-reading):
 Include units that read a specific file (via 
[includes](/docs/reference/config-blocks-and-attributes#include) or HCL 
functions like 
[`mark_as_read`](/docs/reference/built-in-functions#mark_as_read)).
 
-### Modifying Order and Error Handling
+  e.g. `terragrunt run --all plan --queue-include-units-reading 
"subtree/common.hcl"`
 
-- 
[`--queue-construct-as`](/docs/reference/cli-options#find-queue-construct-as) 
(`--as`): Build the dependency queue *as if* running a particular command. 
Useful for performing dry-runs of [`run`](/docs/reference/cli-options#run) 
using discovery commands, like [`find`](/docs/reference/cli-options#find) and 
[`list`](/docs/reference/cli-options#list).
-- 
[`--queue-ignore-dag-order`](/docs/reference/cli-options#queue-ignore-dag-order):
 Execute units concurrently without respecting the dependency order. Useful for 
read-only commands like `validate` or `plan` across independent units, but 
**dangerous** for commands that modify state (`apply`, `destroy`).
-- [`--queue-ignore-errors`](/docs/reference/cli-options#queue-ignore-errors): 
Continue processing the queue even if some units fail. Useful for identifying 
all errors at once, but can lead to inconsistent state if used with `apply` or 
`destroy`.
+  Example `subtree/dependent/terragrunt.hcl`:
 
-## Important Considerations
+  ```hcl
+  dependency "dep" {
+    config_path  = "../dependency"
+    skip_outputs = true
+  }
+
+  include "common" {
+    path = find_in_parent_folders("common.hcl")
+  }
+  ```
+
+  Example `subtree/dependency/terragrunt.hcl`:
+
+  ```hcl
+  dependency "dep" {
+    config_path  = "../../ancestor-dependency"
+    skip_outputs = true
+  }
+
+  include "common" {
+    path = find_in_parent_folders("common.hcl")
+  }
+  ```
+
+  Example `subtree/common.hcl`:
+
+  ```hcl
+  # Intentionally empty
+  ```
+
+  Include `subtree/dependent` and `subtree/dependency` (the units that read 
`subtree/common.hcl`) in the run.
+  > **Tip:** Sometimes, it can be impossible for Terragrunt to know that 
certain files are read by a unit (e.g. if the file is read in the 
OpenTofu/Terraform module, not in Terragrunt configuration). In cases like 
this, you can use the 
[`mark_as_read`](/docs/reference/built-in-functions#mark_as_read) HCL function 
to explicitly tell Terragrunt that a unit reads a file.
 
-- When using `run --all plan` with units that have dependencies (e.g. via 
`dependency` or `dependencies` blocks), the command will fail if those 
dependencies have never been deployed. This is because Terragrunt cannot 
resolve dependency outputs without existing state.
+### Modifying Order and Error Handling
+
+- [`--queue-construct-as`](/docs/reference/cli-options#queue-construct-as) 
(`--as`): Build the run queue *as if* a particular command was run. Useful for 
performing dry-runs of [`run`](/docs/reference/cli-options#run) using discovery 
commands, like [`find`](/docs/reference/cli-options#find) and 
[`list`](/docs/reference/cli-options#list).
+  e.g. `terragrunt list --queue-construct-as destroy`
+  This lists the units in the order they'd be processed for `run --all 
destroy`:
+
+  ```bash
+  $ terragrunt list --as destroy -l
+  Type  Path
+  unit  independent
+  unit  subtree/dependent
+  unit  subtree/dependency
+  unit  ancestor-dependency
+  ```
+
+  ```bash
+  $ terragrunt list --as plan -l
+  Type  Path
+  unit  ancestor-dependency
+  unit  independent
+  unit  subtree/dependency
+  unit  subtree/dependent
+  ```
+
+- 
[`--queue-ignore-dag-order`](/docs/reference/cli-options#queue-ignore-dag-order):
 Execute units concurrently without respecting the dependency order.
+
+  e.g. `terragrunt run --all plan --queue-ignore-dag-order`
+
+  Run `plan` on `ancestor-dependency`, `subtree/dependency`, 
`subtree/dependent`, and `independent` all concurrently, without waiting for 
their defined dependencies. For instance, `subtree/dependent`'s plan would not 
wait for `subtree/dependency`'s plan to complete.
+  > **Caution:** This flag is useful for faster runs in stateless commands 
like `validate` or `plan`, but is **dangerous** for commands that modify state 
like `apply` or `destroy`. You might encounter failed applies if unit 
dependencies are not applied before dependents, and conversely, failed destroys 
if unit dependents are not destroyed before dependencies.
 
-  To work around this issue, use [mock outputs in dependency 
blocks](/docs/reference/config-blocks-and-attributes#dependency).
+- [`--queue-ignore-errors`](/docs/reference/cli-options#queue-ignore-errors): 
Continue processing the queue even if some units fail.
 
-- Do not set `TF_PLUGIN_CACHE_DIR` when using `run --all` (unless using 
OpenTofu >= 1.10).
+  e.g. `terragrunt run --all plan --queue-ignore-errors`
 
-  This can cause concurrent access issues with the provider cache. Instead, 
use Terragrunt's built-in [Provider Cache 
Server](/docs/features/provider-cache-server/).
+  If `ancestor-dependency`'s plan fails, Terragrunt will still attempt to run 
`plan` for `subtree/dependency`, then `subtree/dependent`, and also for 
`independent`.
+  > **Caution:** This flag is useful for identifying all errors at once, but 
can lead to inconsistent state if used with `apply` or `destroy`. You might 
encounter failed applies if unit dependencies are not applied successfully 
before dependents, and conversely, failed destroys if unit dependents are not 
destroyed successfully before dependencies.
+
+## Important Considerations
 
-- When using `run --all` with `apply` or `destroy`, Terragrunt automatically 
adds the `-auto-approve` flag due to limitations with shared stdin making 
individual approvals impossible. Use 
[`--no-auto-approve`](/docs/reference/cli-options#no-auto-approve) to override 
this, but be aware you might need alternative approval workflows.
+> **Caution:** When using `run --all plan` with units that have dependencies 
(e.g. via `dependency` or `dependencies` blocks), the command will fail if 
those dependencies have never been deployed. This is because Terragrunt cannot 
resolve dependency outputs without existing state.
+>
+> To work around this issue, use [mock outputs in dependency 
blocks](/docs/reference/config-blocks-and-attributes#dependency).
+>
+> **Caution:** Do not set `TF_PLUGIN_CACHE_DIR` when using `run --all` (unless 
using OpenTofu >= 1.10).
+>
+> This can cause concurrent access issues with the provider cache. Instead, 
use Terragrunt's built-in [Provider Cache 
Server](/docs/features/provider-cache-server/).
+>
+> **Caution:** When using `run --all` with `apply` or `destroy`, Terragrunt 
automatically adds the `-auto-approve` flag due to limitations with shared 
stdin making individual approvals impossible. Use 
[`--no-auto-approve`](/docs/reference/cli-options#no-auto-approve) to override 
this, but be aware you might need alternative approval workflows.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.78.2/docs/assets/img/05-run-queue-0.svg 
new/terragrunt-0.78.3/docs/assets/img/05-run-queue-0.svg
--- old/terragrunt-0.78.2/docs/assets/img/05-run-queue-0.svg    2025-05-09 
17:37:28.000000000 +0200
+++ new/terragrunt-0.78.3/docs/assets/img/05-run-queue-0.svg    2025-05-12 
16:48:19.000000000 +0200
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; data-d2-version="0.7.0" 
preserveAspectRatio="xMinYMin meet" viewBox="0 0 849 394"><svg 
class="d2-2624522423 d2-svg" width="849" height="394" viewBox="-101 -101 849 
394"><rect x="-101.000000" y="-101.000000" width="849.000000" 
height="394.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style 
type="text/css"><![CDATA[
-.d2-2624522423 .text-bold {
-       font-family: "d2-2624522423-font-bold";
+<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; data-d2-version="0.7.0" 
preserveAspectRatio="xMinYMin meet" viewBox="0 0 1055 394"><svg 
class="d2-1312178538 d2-svg" width="1055" height="394" viewBox="-101 -101 1055 
394"><rect x="-101.000000" y="-101.000000" width="1055.000000" 
height="394.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style 
type="text/css"><![CDATA[
+.d2-1312178538 .text-bold {
+       font-family: "d2-1312178538-font-bold";
 }
 @font-face {
-       font-family: d2-2624522423-font-bold;
-       src: 
url("data:application/font-woff;base64,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");
+       font-family: d2-1312178538-font-bold;
+       src: 
url("data:application/font-woff;base64,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");
 }
-.d2-2624522423 .text-italic {
-       font-family: "d2-2624522423-font-italic";
+.d2-1312178538 .text-italic {
+       font-family: "d2-1312178538-font-italic";
 }
 @font-face {
-       font-family: d2-2624522423-font-italic;
-       src: 
url("data:application/font-woff;base64,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");
+       font-family: d2-1312178538-font-italic;
+       src: 
url("data:application/font-woff;base64,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");
 }]]></style><style type="text/css"><![CDATA[.shape {
   shape-rendering: geometricPrecision;
   stroke-linejoin: round;
@@ -25,155 +25,155 @@
   opacity: 0.5;
 }
 
-               .d2-2624522423 .fill-N1{fill:#0A0F25;}
-               .d2-2624522423 .fill-N2{fill:#676C7E;}
-               .d2-2624522423 .fill-N3{fill:#9499AB;}
-               .d2-2624522423 .fill-N4{fill:#CFD2DD;}
-               .d2-2624522423 .fill-N5{fill:#DEE1EB;}
-               .d2-2624522423 .fill-N6{fill:#EEF1F8;}
-               .d2-2624522423 .fill-N7{fill:#FFFFFF;}
-               .d2-2624522423 .fill-B1{fill:#0D32B2;}
-               .d2-2624522423 .fill-B2{fill:#0D32B2;}
-               .d2-2624522423 .fill-B3{fill:#E3E9FD;}
-               .d2-2624522423 .fill-B4{fill:#E3E9FD;}
-               .d2-2624522423 .fill-B5{fill:#EDF0FD;}
-               .d2-2624522423 .fill-B6{fill:#F7F8FE;}
-               .d2-2624522423 .fill-AA2{fill:#4A6FF3;}
-               .d2-2624522423 .fill-AA4{fill:#EDF0FD;}
-               .d2-2624522423 .fill-AA5{fill:#F7F8FE;}
-               .d2-2624522423 .fill-AB4{fill:#EDF0FD;}
-               .d2-2624522423 .fill-AB5{fill:#F7F8FE;}
-               .d2-2624522423 .stroke-N1{stroke:#0A0F25;}
-               .d2-2624522423 .stroke-N2{stroke:#676C7E;}
-               .d2-2624522423 .stroke-N3{stroke:#9499AB;}
-               .d2-2624522423 .stroke-N4{stroke:#CFD2DD;}
-               .d2-2624522423 .stroke-N5{stroke:#DEE1EB;}
-               .d2-2624522423 .stroke-N6{stroke:#EEF1F8;}
-               .d2-2624522423 .stroke-N7{stroke:#FFFFFF;}
-               .d2-2624522423 .stroke-B1{stroke:#0D32B2;}
-               .d2-2624522423 .stroke-B2{stroke:#0D32B2;}
-               .d2-2624522423 .stroke-B3{stroke:#E3E9FD;}
-               .d2-2624522423 .stroke-B4{stroke:#E3E9FD;}
-               .d2-2624522423 .stroke-B5{stroke:#EDF0FD;}
-               .d2-2624522423 .stroke-B6{stroke:#F7F8FE;}
-               .d2-2624522423 .stroke-AA2{stroke:#4A6FF3;}
-               .d2-2624522423 .stroke-AA4{stroke:#EDF0FD;}
-               .d2-2624522423 .stroke-AA5{stroke:#F7F8FE;}
-               .d2-2624522423 .stroke-AB4{stroke:#EDF0FD;}
-               .d2-2624522423 .stroke-AB5{stroke:#F7F8FE;}
-               .d2-2624522423 .background-color-N1{background-color:#0A0F25;}
-               .d2-2624522423 .background-color-N2{background-color:#676C7E;}
-               .d2-2624522423 .background-color-N3{background-color:#9499AB;}
-               .d2-2624522423 .background-color-N4{background-color:#CFD2DD;}
-               .d2-2624522423 .background-color-N5{background-color:#DEE1EB;}
-               .d2-2624522423 .background-color-N6{background-color:#EEF1F8;}
-               .d2-2624522423 .background-color-N7{background-color:#FFFFFF;}
-               .d2-2624522423 .background-color-B1{background-color:#0D32B2;}
-               .d2-2624522423 .background-color-B2{background-color:#0D32B2;}
-               .d2-2624522423 .background-color-B3{background-color:#E3E9FD;}
-               .d2-2624522423 .background-color-B4{background-color:#E3E9FD;}
-               .d2-2624522423 .background-color-B5{background-color:#EDF0FD;}
-               .d2-2624522423 .background-color-B6{background-color:#F7F8FE;}
-               .d2-2624522423 .background-color-AA2{background-color:#4A6FF3;}
-               .d2-2624522423 .background-color-AA4{background-color:#EDF0FD;}
-               .d2-2624522423 .background-color-AA5{background-color:#F7F8FE;}
-               .d2-2624522423 .background-color-AB4{background-color:#EDF0FD;}
-               .d2-2624522423 .background-color-AB5{background-color:#F7F8FE;}
-               .d2-2624522423 .color-N1{color:#0A0F25;}
-               .d2-2624522423 .color-N2{color:#676C7E;}
-               .d2-2624522423 .color-N3{color:#9499AB;}
-               .d2-2624522423 .color-N4{color:#CFD2DD;}
-               .d2-2624522423 .color-N5{color:#DEE1EB;}
-               .d2-2624522423 .color-N6{color:#EEF1F8;}
-               .d2-2624522423 .color-N7{color:#FFFFFF;}
-               .d2-2624522423 .color-B1{color:#0D32B2;}
-               .d2-2624522423 .color-B2{color:#0D32B2;}
-               .d2-2624522423 .color-B3{color:#E3E9FD;}
-               .d2-2624522423 .color-B4{color:#E3E9FD;}
-               .d2-2624522423 .color-B5{color:#EDF0FD;}
-               .d2-2624522423 .color-B6{color:#F7F8FE;}
-               .d2-2624522423 .color-AA2{color:#4A6FF3;}
-               .d2-2624522423 .color-AA4{color:#EDF0FD;}
-               .d2-2624522423 .color-AA5{color:#F7F8FE;}
-               .d2-2624522423 .color-AB4{color:#EDF0FD;}
-               .d2-2624522423 .color-AB5{color:#F7F8FE;}.appendix 
text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sket
 
ch-overlay-AA4{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.light-code{display:
 block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
-               .d2-2624522423 .fill-N1{fill:#CDD6F4;}
-               .d2-2624522423 .fill-N2{fill:#BAC2DE;}
-               .d2-2624522423 .fill-N3{fill:#A6ADC8;}
-               .d2-2624522423 .fill-N4{fill:#585B70;}
-               .d2-2624522423 .fill-N5{fill:#45475A;}
-               .d2-2624522423 .fill-N6{fill:#313244;}
-               .d2-2624522423 .fill-N7{fill:#1E1E2E;}
-               .d2-2624522423 .fill-B1{fill:#CBA6f7;}
-               .d2-2624522423 .fill-B2{fill:#CBA6f7;}
-               .d2-2624522423 .fill-B3{fill:#6C7086;}
-               .d2-2624522423 .fill-B4{fill:#585B70;}
-               .d2-2624522423 .fill-B5{fill:#45475A;}
-               .d2-2624522423 .fill-B6{fill:#313244;}
-               .d2-2624522423 .fill-AA2{fill:#f38BA8;}
-               .d2-2624522423 .fill-AA4{fill:#45475A;}
-               .d2-2624522423 .fill-AA5{fill:#313244;}
-               .d2-2624522423 .fill-AB4{fill:#45475A;}
-               .d2-2624522423 .fill-AB5{fill:#313244;}
-               .d2-2624522423 .stroke-N1{stroke:#CDD6F4;}
-               .d2-2624522423 .stroke-N2{stroke:#BAC2DE;}
-               .d2-2624522423 .stroke-N3{stroke:#A6ADC8;}
-               .d2-2624522423 .stroke-N4{stroke:#585B70;}
-               .d2-2624522423 .stroke-N5{stroke:#45475A;}
-               .d2-2624522423 .stroke-N6{stroke:#313244;}
-               .d2-2624522423 .stroke-N7{stroke:#1E1E2E;}
-               .d2-2624522423 .stroke-B1{stroke:#CBA6f7;}
-               .d2-2624522423 .stroke-B2{stroke:#CBA6f7;}
-               .d2-2624522423 .stroke-B3{stroke:#6C7086;}
-               .d2-2624522423 .stroke-B4{stroke:#585B70;}
-               .d2-2624522423 .stroke-B5{stroke:#45475A;}
-               .d2-2624522423 .stroke-B6{stroke:#313244;}
-               .d2-2624522423 .stroke-AA2{stroke:#f38BA8;}
-               .d2-2624522423 .stroke-AA4{stroke:#45475A;}
-               .d2-2624522423 .stroke-AA5{stroke:#313244;}
-               .d2-2624522423 .stroke-AB4{stroke:#45475A;}
-               .d2-2624522423 .stroke-AB5{stroke:#313244;}
-               .d2-2624522423 .background-color-N1{background-color:#CDD6F4;}
-               .d2-2624522423 .background-color-N2{background-color:#BAC2DE;}
-               .d2-2624522423 .background-color-N3{background-color:#A6ADC8;}
-               .d2-2624522423 .background-color-N4{background-color:#585B70;}
-               .d2-2624522423 .background-color-N5{background-color:#45475A;}
-               .d2-2624522423 .background-color-N6{background-color:#313244;}
-               .d2-2624522423 .background-color-N7{background-color:#1E1E2E;}
-               .d2-2624522423 .background-color-B1{background-color:#CBA6f7;}
-               .d2-2624522423 .background-color-B2{background-color:#CBA6f7;}
-               .d2-2624522423 .background-color-B3{background-color:#6C7086;}
-               .d2-2624522423 .background-color-B4{background-color:#585B70;}
-               .d2-2624522423 .background-color-B5{background-color:#45475A;}
-               .d2-2624522423 .background-color-B6{background-color:#313244;}
-               .d2-2624522423 .background-color-AA2{background-color:#f38BA8;}
-               .d2-2624522423 .background-color-AA4{background-color:#45475A;}
-               .d2-2624522423 .background-color-AA5{background-color:#313244;}
-               .d2-2624522423 .background-color-AB4{background-color:#45475A;}
-               .d2-2624522423 .background-color-AB5{background-color:#313244;}
-               .d2-2624522423 .color-N1{color:#CDD6F4;}
-               .d2-2624522423 .color-N2{color:#BAC2DE;}
-               .d2-2624522423 .color-N3{color:#A6ADC8;}
-               .d2-2624522423 .color-N4{color:#585B70;}
-               .d2-2624522423 .color-N5{color:#45475A;}
-               .d2-2624522423 .color-N6{color:#313244;}
-               .d2-2624522423 .color-N7{color:#1E1E2E;}
-               .d2-2624522423 .color-B1{color:#CBA6f7;}
-               .d2-2624522423 .color-B2{color:#CBA6f7;}
-               .d2-2624522423 .color-B3{color:#6C7086;}
-               .d2-2624522423 .color-B4{color:#585B70;}
-               .d2-2624522423 .color-B5{color:#45475A;}
-               .d2-2624522423 .color-B6{color:#313244;}
-               .d2-2624522423 .color-AA2{color:#f38BA8;}
-               .d2-2624522423 .color-AA4{color:#45475A;}
-               .d2-2624522423 .color-AA5{color:#313244;}
-               .d2-2624522423 .color-AB4{color:#45475A;}
-               .d2-2624522423 .color-AB5{color:#313244;}.appendix 
text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color
 
-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.light-code{display:
 none}.dark-code{display: block}}]]></style><g class="QQ==
 "><g class="shape" ><rect x="0.000000" y="0.000000" width="88.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="44.000000" y="38.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">Unit A</text></g><g class="Qg=="><g 
class="shape" ><rect x="280.000000" y="0.000000" width="88.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="324.000000" y="38.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">Unit B</text></g><g class="Qw=="><g 
class="shape" ><rect x="560.000000" y="0.000000" width="87.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="603.500000" y="38.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">Unit C</text></g><g class="RA=="><g 
class="shape" ><rect x="0.000000" y="126.000000" width="88.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text 
 x="44.000000" y="164.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">Unit D</text></g><g 
class="KEEgLSZndDsgQilbMF0="><marker id="mk-d2-2624522423-3488378134" 
markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" 
refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" 
markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 
10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" 
stroke-width="2" /> </marker><path d="M 90.000000 33.000000 C 164.800003 
33.000000 203.199997 33.000000 276.000000 33.000000" fill="none" 
class="connection stroke-B1" style="stroke-width:2;" 
marker-end="url(#mk-d2-2624522423-3488378134)" mask="url(#d2-2624522423)" 
/><text x="184.000000" y="39.000000" class="text-italic fill-N2" 
style="text-anchor:middle;font-size:16px">depends on</text></g><g 
class="KEIgLSZndDsgQylbMF0="><path d="M 370.000000 33.000000 C 444.799988 
33.000000 483.200012 33.000000 556.000000 33.000000" fill="none" c
 lass="connection stroke-B1" style="stroke-width:2;" 
marker-end="url(#mk-d2-2624522423-3488378134)" mask="url(#d2-2624522423)" 
/><text x="464.000000" y="39.000000" class="text-italic fill-N2" 
style="text-anchor:middle;font-size:16px">depends on</text></g><mask 
id="d2-2624522423" maskUnits="userSpaceOnUse" x="-101" y="-101" width="849" 
height="394">
-<rect x="-101" y="-101" width="849" height="394" fill="white"></rect>
-<rect x="20.500000" y="22.500000" width="47" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
-<rect x="300.500000" y="22.500000" width="47" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
-<rect x="580.500000" y="22.500000" width="46" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
-<rect x="20.500000" y="148.500000" width="47" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
-<rect x="144.000000" y="23.000000" width="80" height="21" fill="black"></rect>
-<rect x="424.000000" y="23.000000" width="80" height="21" fill="black"></rect>
+               .d2-1312178538 .fill-N1{fill:#0A0F25;}
+               .d2-1312178538 .fill-N2{fill:#676C7E;}
+               .d2-1312178538 .fill-N3{fill:#9499AB;}
+               .d2-1312178538 .fill-N4{fill:#CFD2DD;}
+               .d2-1312178538 .fill-N5{fill:#DEE1EB;}
+               .d2-1312178538 .fill-N6{fill:#EEF1F8;}
+               .d2-1312178538 .fill-N7{fill:#FFFFFF;}
+               .d2-1312178538 .fill-B1{fill:#0D32B2;}
+               .d2-1312178538 .fill-B2{fill:#0D32B2;}
+               .d2-1312178538 .fill-B3{fill:#E3E9FD;}
+               .d2-1312178538 .fill-B4{fill:#E3E9FD;}
+               .d2-1312178538 .fill-B5{fill:#EDF0FD;}
+               .d2-1312178538 .fill-B6{fill:#F7F8FE;}
+               .d2-1312178538 .fill-AA2{fill:#4A6FF3;}
+               .d2-1312178538 .fill-AA4{fill:#EDF0FD;}
+               .d2-1312178538 .fill-AA5{fill:#F7F8FE;}
+               .d2-1312178538 .fill-AB4{fill:#EDF0FD;}
+               .d2-1312178538 .fill-AB5{fill:#F7F8FE;}
+               .d2-1312178538 .stroke-N1{stroke:#0A0F25;}
+               .d2-1312178538 .stroke-N2{stroke:#676C7E;}
+               .d2-1312178538 .stroke-N3{stroke:#9499AB;}
+               .d2-1312178538 .stroke-N4{stroke:#CFD2DD;}
+               .d2-1312178538 .stroke-N5{stroke:#DEE1EB;}
+               .d2-1312178538 .stroke-N6{stroke:#EEF1F8;}
+               .d2-1312178538 .stroke-N7{stroke:#FFFFFF;}
+               .d2-1312178538 .stroke-B1{stroke:#0D32B2;}
+               .d2-1312178538 .stroke-B2{stroke:#0D32B2;}
+               .d2-1312178538 .stroke-B3{stroke:#E3E9FD;}
+               .d2-1312178538 .stroke-B4{stroke:#E3E9FD;}
+               .d2-1312178538 .stroke-B5{stroke:#EDF0FD;}
+               .d2-1312178538 .stroke-B6{stroke:#F7F8FE;}
+               .d2-1312178538 .stroke-AA2{stroke:#4A6FF3;}
+               .d2-1312178538 .stroke-AA4{stroke:#EDF0FD;}
+               .d2-1312178538 .stroke-AA5{stroke:#F7F8FE;}
+               .d2-1312178538 .stroke-AB4{stroke:#EDF0FD;}
+               .d2-1312178538 .stroke-AB5{stroke:#F7F8FE;}
+               .d2-1312178538 .background-color-N1{background-color:#0A0F25;}
+               .d2-1312178538 .background-color-N2{background-color:#676C7E;}
+               .d2-1312178538 .background-color-N3{background-color:#9499AB;}
+               .d2-1312178538 .background-color-N4{background-color:#CFD2DD;}
+               .d2-1312178538 .background-color-N5{background-color:#DEE1EB;}
+               .d2-1312178538 .background-color-N6{background-color:#EEF1F8;}
+               .d2-1312178538 .background-color-N7{background-color:#FFFFFF;}
+               .d2-1312178538 .background-color-B1{background-color:#0D32B2;}
+               .d2-1312178538 .background-color-B2{background-color:#0D32B2;}
+               .d2-1312178538 .background-color-B3{background-color:#E3E9FD;}
+               .d2-1312178538 .background-color-B4{background-color:#E3E9FD;}
+               .d2-1312178538 .background-color-B5{background-color:#EDF0FD;}
+               .d2-1312178538 .background-color-B6{background-color:#F7F8FE;}
+               .d2-1312178538 .background-color-AA2{background-color:#4A6FF3;}
+               .d2-1312178538 .background-color-AA4{background-color:#EDF0FD;}
+               .d2-1312178538 .background-color-AA5{background-color:#F7F8FE;}
+               .d2-1312178538 .background-color-AB4{background-color:#EDF0FD;}
+               .d2-1312178538 .background-color-AB5{background-color:#F7F8FE;}
+               .d2-1312178538 .color-N1{color:#0A0F25;}
+               .d2-1312178538 .color-N2{color:#676C7E;}
+               .d2-1312178538 .color-N3{color:#9499AB;}
+               .d2-1312178538 .color-N4{color:#CFD2DD;}
+               .d2-1312178538 .color-N5{color:#DEE1EB;}
+               .d2-1312178538 .color-N6{color:#EEF1F8;}
+               .d2-1312178538 .color-N7{color:#FFFFFF;}
+               .d2-1312178538 .color-B1{color:#0D32B2;}
+               .d2-1312178538 .color-B2{color:#0D32B2;}
+               .d2-1312178538 .color-B3{color:#E3E9FD;}
+               .d2-1312178538 .color-B4{color:#E3E9FD;}
+               .d2-1312178538 .color-B5{color:#EDF0FD;}
+               .d2-1312178538 .color-B6{color:#F7F8FE;}
+               .d2-1312178538 .color-AA2{color:#4A6FF3;}
+               .d2-1312178538 .color-AA4{color:#EDF0FD;}
+               .d2-1312178538 .color-AA5{color:#F7F8FE;}
+               .d2-1312178538 .color-AB4{color:#EDF0FD;}
+               .d2-1312178538 .color-AB5{color:#F7F8FE;}.appendix 
text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sket
 
ch-overlay-AA4{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.light-code{display:
 block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+               .d2-1312178538 .fill-N1{fill:#CDD6F4;}
+               .d2-1312178538 .fill-N2{fill:#BAC2DE;}
+               .d2-1312178538 .fill-N3{fill:#A6ADC8;}
+               .d2-1312178538 .fill-N4{fill:#585B70;}
+               .d2-1312178538 .fill-N5{fill:#45475A;}
+               .d2-1312178538 .fill-N6{fill:#313244;}
+               .d2-1312178538 .fill-N7{fill:#1E1E2E;}
+               .d2-1312178538 .fill-B1{fill:#CBA6f7;}
+               .d2-1312178538 .fill-B2{fill:#CBA6f7;}
+               .d2-1312178538 .fill-B3{fill:#6C7086;}
+               .d2-1312178538 .fill-B4{fill:#585B70;}
+               .d2-1312178538 .fill-B5{fill:#45475A;}
+               .d2-1312178538 .fill-B6{fill:#313244;}
+               .d2-1312178538 .fill-AA2{fill:#f38BA8;}
+               .d2-1312178538 .fill-AA4{fill:#45475A;}
+               .d2-1312178538 .fill-AA5{fill:#313244;}
+               .d2-1312178538 .fill-AB4{fill:#45475A;}
+               .d2-1312178538 .fill-AB5{fill:#313244;}
+               .d2-1312178538 .stroke-N1{stroke:#CDD6F4;}
+               .d2-1312178538 .stroke-N2{stroke:#BAC2DE;}
+               .d2-1312178538 .stroke-N3{stroke:#A6ADC8;}
+               .d2-1312178538 .stroke-N4{stroke:#585B70;}
+               .d2-1312178538 .stroke-N5{stroke:#45475A;}
+               .d2-1312178538 .stroke-N6{stroke:#313244;}
+               .d2-1312178538 .stroke-N7{stroke:#1E1E2E;}
+               .d2-1312178538 .stroke-B1{stroke:#CBA6f7;}
+               .d2-1312178538 .stroke-B2{stroke:#CBA6f7;}
+               .d2-1312178538 .stroke-B3{stroke:#6C7086;}
+               .d2-1312178538 .stroke-B4{stroke:#585B70;}
+               .d2-1312178538 .stroke-B5{stroke:#45475A;}
+               .d2-1312178538 .stroke-B6{stroke:#313244;}
+               .d2-1312178538 .stroke-AA2{stroke:#f38BA8;}
+               .d2-1312178538 .stroke-AA4{stroke:#45475A;}
+               .d2-1312178538 .stroke-AA5{stroke:#313244;}
+               .d2-1312178538 .stroke-AB4{stroke:#45475A;}
+               .d2-1312178538 .stroke-AB5{stroke:#313244;}
+               .d2-1312178538 .background-color-N1{background-color:#CDD6F4;}
+               .d2-1312178538 .background-color-N2{background-color:#BAC2DE;}
+               .d2-1312178538 .background-color-N3{background-color:#A6ADC8;}
+               .d2-1312178538 .background-color-N4{background-color:#585B70;}
+               .d2-1312178538 .background-color-N5{background-color:#45475A;}
+               .d2-1312178538 .background-color-N6{background-color:#313244;}
+               .d2-1312178538 .background-color-N7{background-color:#1E1E2E;}
+               .d2-1312178538 .background-color-B1{background-color:#CBA6f7;}
+               .d2-1312178538 .background-color-B2{background-color:#CBA6f7;}
+               .d2-1312178538 .background-color-B3{background-color:#6C7086;}
+               .d2-1312178538 .background-color-B4{background-color:#585B70;}
+               .d2-1312178538 .background-color-B5{background-color:#45475A;}
+               .d2-1312178538 .background-color-B6{background-color:#313244;}
+               .d2-1312178538 .background-color-AA2{background-color:#f38BA8;}
+               .d2-1312178538 .background-color-AA4{background-color:#45475A;}
+               .d2-1312178538 .background-color-AA5{background-color:#313244;}
+               .d2-1312178538 .background-color-AB4{background-color:#45475A;}
+               .d2-1312178538 .background-color-AB5{background-color:#313244;}
+               .d2-1312178538 .color-N1{color:#CDD6F4;}
+               .d2-1312178538 .color-N2{color:#BAC2DE;}
+               .d2-1312178538 .color-N3{color:#A6ADC8;}
+               .d2-1312178538 .color-N4{color:#585B70;}
+               .d2-1312178538 .color-N5{color:#45475A;}
+               .d2-1312178538 .color-N6{color:#313244;}
+               .d2-1312178538 .color-N7{color:#1E1E2E;}
+               .d2-1312178538 .color-B1{color:#CBA6f7;}
+               .d2-1312178538 .color-B2{color:#CBA6f7;}
+               .d2-1312178538 .color-B3{color:#6C7086;}
+               .d2-1312178538 .color-B4{color:#585B70;}
+               .d2-1312178538 .color-B5{color:#45475A;}
+               .d2-1312178538 .color-B6{color:#313244;}
+               .d2-1312178538 .color-AA2{color:#f38BA8;}
+               .d2-1312178538 .color-AA4{color:#45475A;}
+               .d2-1312178538 .color-AA5{color:#313244;}
+               .d2-1312178538 .color-AB4{color:#45475A;}
+               .d2-1312178538 .color-AB5{color:#313244;}.appendix 
text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color
 
-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.light-code{display:
 none}.dark-code{display: block}}]]></style><g class="ZGVw
 ZW5kZW50"><g class="shape" ><rect x="7.000000" y="0.000000" width="122.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="68.000000" y="38.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">dependent</text></g><g 
class="ZGVwZW5kZW5jeQ=="><g class="shape" ><rect x="328.000000" y="0.000000" 
width="133.000000" height="66.000000" class=" stroke-B1 fill-B6" 
style="stroke-width:2;" /></g><text x="394.500000" y="38.500000" 
class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">dependency</text></g><g 
class="YW5jZXN0b3ItZGVwZW5kZW5jeQ=="><g class="shape" ><rect x="653.000000" 
y="0.000000" width="200.000000" height="66.000000" class=" stroke-B1 fill-B6" 
style="stroke-width:2;" /></g><text x="753.000000" y="38.500000" 
class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">ancestor-dependency</text></g><g 
class="aW5kZXBlbmRlbnQ="><g class="shape" ><rect x="0.000000" y="126.000000" 
width="136.000000" he
 ight="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="68.000000" y="164.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">independent</text></g><g 
class="KGRlcGVuZGVudCAtJmd0OyBkZXBlbmRlbmN5KVswXQ=="><marker 
id="mk-d2-1312178538-3488378134" markerWidth="10.000000" 
markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 
0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> 
<polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" 
class="connection fill-B1" stroke-width="2" /> </marker><path d="M 131.000000 
33.000000 C 211.399994 33.000000 251.199997 33.000000 324.000000 33.000000" 
fill="none" class="connection stroke-B1" style="stroke-width:2;" 
marker-end="url(#mk-d2-1312178538-3488378134)" mask="url(#d2-1312178538)" 
/><text x="229.000000" y="39.000000" class="text-italic fill-N2" 
style="text-anchor:middle;font-size:16px">depends on</text></g><g 
class="KGRlcGVuZGVuY3kgLSZndDs
 gYW5jZXN0b3ItZGVwZW5kZW5jeSlbMF0="><path d="M 463.000000 33.000000 C 
537.799988 33.000000 576.200012 33.000000 649.000000 33.000000" fill="none" 
class="connection stroke-B1" style="stroke-width:2;" 
marker-end="url(#mk-d2-1312178538-3488378134)" mask="url(#d2-1312178538)" 
/><text x="557.000000" y="39.000000" class="text-italic fill-N2" 
style="text-anchor:middle;font-size:16px">depends on</text></g><mask 
id="d2-1312178538" maskUnits="userSpaceOnUse" x="-101" y="-101" width="1055" 
height="394">
+<rect x="-101" y="-101" width="1055" height="394" fill="white"></rect>
+<rect x="27.500000" y="22.500000" width="81" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
+<rect x="348.500000" y="22.500000" width="92" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
+<rect x="673.500000" y="22.500000" width="159" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
+<rect x="20.500000" y="148.500000" width="95" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
+<rect x="189.000000" y="23.000000" width="80" height="21" fill="black"></rect>
+<rect x="517.000000" y="23.000000" width="80" height="21" fill="black"></rect>
 </mask></svg></svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.78.2/docs-starlight/public/d2/docs/02-features/05-run-queue-0.svg
 
new/terragrunt-0.78.3/docs-starlight/public/d2/docs/02-features/05-run-queue-0.svg
--- 
old/terragrunt-0.78.2/docs-starlight/public/d2/docs/02-features/05-run-queue-0.svg
  2025-05-09 17:37:28.000000000 +0200
+++ 
new/terragrunt-0.78.3/docs-starlight/public/d2/docs/02-features/05-run-queue-0.svg
  2025-05-12 16:48:19.000000000 +0200
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; data-d2-version="0.7.0" 
preserveAspectRatio="xMinYMin meet" viewBox="0 0 849 394"><svg 
class="d2-2624522423 d2-svg" width="849" height="394" viewBox="-101 -101 849 
394"><rect x="-101.000000" y="-101.000000" width="849.000000" 
height="394.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style 
type="text/css"><![CDATA[
-.d2-2624522423 .text-bold {
-       font-family: "d2-2624522423-font-bold";
+<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; data-d2-version="0.7.0" 
preserveAspectRatio="xMinYMin meet" viewBox="0 0 1055 394"><svg 
class="d2-1312178538 d2-svg" width="1055" height="394" viewBox="-101 -101 1055 
394"><rect x="-101.000000" y="-101.000000" width="1055.000000" 
height="394.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style 
type="text/css"><![CDATA[
+.d2-1312178538 .text-bold {
+       font-family: "d2-1312178538-font-bold";
 }
 @font-face {
-       font-family: d2-2624522423-font-bold;
-       src: 
url("data:application/font-woff;base64,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");
+       font-family: d2-1312178538-font-bold;
+       src: 
url("data:application/font-woff;base64,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");
 }
-.d2-2624522423 .text-italic {
-       font-family: "d2-2624522423-font-italic";
+.d2-1312178538 .text-italic {
+       font-family: "d2-1312178538-font-italic";
 }
 @font-face {
-       font-family: d2-2624522423-font-italic;
-       src: 
url("data:application/font-woff;base64,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");
+       font-family: d2-1312178538-font-italic;
+       src: 
url("data:application/font-woff;base64,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");
 }]]></style><style type="text/css"><![CDATA[.shape {
   shape-rendering: geometricPrecision;
   stroke-linejoin: round;
@@ -25,155 +25,155 @@
   opacity: 0.5;
 }
 
-               .d2-2624522423 .fill-N1{fill:#0A0F25;}
-               .d2-2624522423 .fill-N2{fill:#676C7E;}
-               .d2-2624522423 .fill-N3{fill:#9499AB;}
-               .d2-2624522423 .fill-N4{fill:#CFD2DD;}
-               .d2-2624522423 .fill-N5{fill:#DEE1EB;}
-               .d2-2624522423 .fill-N6{fill:#EEF1F8;}
-               .d2-2624522423 .fill-N7{fill:#FFFFFF;}
-               .d2-2624522423 .fill-B1{fill:#0D32B2;}
-               .d2-2624522423 .fill-B2{fill:#0D32B2;}
-               .d2-2624522423 .fill-B3{fill:#E3E9FD;}
-               .d2-2624522423 .fill-B4{fill:#E3E9FD;}
-               .d2-2624522423 .fill-B5{fill:#EDF0FD;}
-               .d2-2624522423 .fill-B6{fill:#F7F8FE;}
-               .d2-2624522423 .fill-AA2{fill:#4A6FF3;}
-               .d2-2624522423 .fill-AA4{fill:#EDF0FD;}
-               .d2-2624522423 .fill-AA5{fill:#F7F8FE;}
-               .d2-2624522423 .fill-AB4{fill:#EDF0FD;}
-               .d2-2624522423 .fill-AB5{fill:#F7F8FE;}
-               .d2-2624522423 .stroke-N1{stroke:#0A0F25;}
-               .d2-2624522423 .stroke-N2{stroke:#676C7E;}
-               .d2-2624522423 .stroke-N3{stroke:#9499AB;}
-               .d2-2624522423 .stroke-N4{stroke:#CFD2DD;}
-               .d2-2624522423 .stroke-N5{stroke:#DEE1EB;}
-               .d2-2624522423 .stroke-N6{stroke:#EEF1F8;}
-               .d2-2624522423 .stroke-N7{stroke:#FFFFFF;}
-               .d2-2624522423 .stroke-B1{stroke:#0D32B2;}
-               .d2-2624522423 .stroke-B2{stroke:#0D32B2;}
-               .d2-2624522423 .stroke-B3{stroke:#E3E9FD;}
-               .d2-2624522423 .stroke-B4{stroke:#E3E9FD;}
-               .d2-2624522423 .stroke-B5{stroke:#EDF0FD;}
-               .d2-2624522423 .stroke-B6{stroke:#F7F8FE;}
-               .d2-2624522423 .stroke-AA2{stroke:#4A6FF3;}
-               .d2-2624522423 .stroke-AA4{stroke:#EDF0FD;}
-               .d2-2624522423 .stroke-AA5{stroke:#F7F8FE;}
-               .d2-2624522423 .stroke-AB4{stroke:#EDF0FD;}
-               .d2-2624522423 .stroke-AB5{stroke:#F7F8FE;}
-               .d2-2624522423 .background-color-N1{background-color:#0A0F25;}
-               .d2-2624522423 .background-color-N2{background-color:#676C7E;}
-               .d2-2624522423 .background-color-N3{background-color:#9499AB;}
-               .d2-2624522423 .background-color-N4{background-color:#CFD2DD;}
-               .d2-2624522423 .background-color-N5{background-color:#DEE1EB;}
-               .d2-2624522423 .background-color-N6{background-color:#EEF1F8;}
-               .d2-2624522423 .background-color-N7{background-color:#FFFFFF;}
-               .d2-2624522423 .background-color-B1{background-color:#0D32B2;}
-               .d2-2624522423 .background-color-B2{background-color:#0D32B2;}
-               .d2-2624522423 .background-color-B3{background-color:#E3E9FD;}
-               .d2-2624522423 .background-color-B4{background-color:#E3E9FD;}
-               .d2-2624522423 .background-color-B5{background-color:#EDF0FD;}
-               .d2-2624522423 .background-color-B6{background-color:#F7F8FE;}
-               .d2-2624522423 .background-color-AA2{background-color:#4A6FF3;}
-               .d2-2624522423 .background-color-AA4{background-color:#EDF0FD;}
-               .d2-2624522423 .background-color-AA5{background-color:#F7F8FE;}
-               .d2-2624522423 .background-color-AB4{background-color:#EDF0FD;}
-               .d2-2624522423 .background-color-AB5{background-color:#F7F8FE;}
-               .d2-2624522423 .color-N1{color:#0A0F25;}
-               .d2-2624522423 .color-N2{color:#676C7E;}
-               .d2-2624522423 .color-N3{color:#9499AB;}
-               .d2-2624522423 .color-N4{color:#CFD2DD;}
-               .d2-2624522423 .color-N5{color:#DEE1EB;}
-               .d2-2624522423 .color-N6{color:#EEF1F8;}
-               .d2-2624522423 .color-N7{color:#FFFFFF;}
-               .d2-2624522423 .color-B1{color:#0D32B2;}
-               .d2-2624522423 .color-B2{color:#0D32B2;}
-               .d2-2624522423 .color-B3{color:#E3E9FD;}
-               .d2-2624522423 .color-B4{color:#E3E9FD;}
-               .d2-2624522423 .color-B5{color:#EDF0FD;}
-               .d2-2624522423 .color-B6{color:#F7F8FE;}
-               .d2-2624522423 .color-AA2{color:#4A6FF3;}
-               .d2-2624522423 .color-AA4{color:#EDF0FD;}
-               .d2-2624522423 .color-AA5{color:#F7F8FE;}
-               .d2-2624522423 .color-AB4{color:#EDF0FD;}
-               .d2-2624522423 .color-AB5{color:#F7F8FE;}.appendix 
text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sket
 
ch-overlay-AA4{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2624522423);mix-blend-mode:darken}.light-code{display:
 block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
-               .d2-2624522423 .fill-N1{fill:#CDD6F4;}
-               .d2-2624522423 .fill-N2{fill:#BAC2DE;}
-               .d2-2624522423 .fill-N3{fill:#A6ADC8;}
-               .d2-2624522423 .fill-N4{fill:#585B70;}
-               .d2-2624522423 .fill-N5{fill:#45475A;}
-               .d2-2624522423 .fill-N6{fill:#313244;}
-               .d2-2624522423 .fill-N7{fill:#1E1E2E;}
-               .d2-2624522423 .fill-B1{fill:#CBA6f7;}
-               .d2-2624522423 .fill-B2{fill:#CBA6f7;}
-               .d2-2624522423 .fill-B3{fill:#6C7086;}
-               .d2-2624522423 .fill-B4{fill:#585B70;}
-               .d2-2624522423 .fill-B5{fill:#45475A;}
-               .d2-2624522423 .fill-B6{fill:#313244;}
-               .d2-2624522423 .fill-AA2{fill:#f38BA8;}
-               .d2-2624522423 .fill-AA4{fill:#45475A;}
-               .d2-2624522423 .fill-AA5{fill:#313244;}
-               .d2-2624522423 .fill-AB4{fill:#45475A;}
-               .d2-2624522423 .fill-AB5{fill:#313244;}
-               .d2-2624522423 .stroke-N1{stroke:#CDD6F4;}
-               .d2-2624522423 .stroke-N2{stroke:#BAC2DE;}
-               .d2-2624522423 .stroke-N3{stroke:#A6ADC8;}
-               .d2-2624522423 .stroke-N4{stroke:#585B70;}
-               .d2-2624522423 .stroke-N5{stroke:#45475A;}
-               .d2-2624522423 .stroke-N6{stroke:#313244;}
-               .d2-2624522423 .stroke-N7{stroke:#1E1E2E;}
-               .d2-2624522423 .stroke-B1{stroke:#CBA6f7;}
-               .d2-2624522423 .stroke-B2{stroke:#CBA6f7;}
-               .d2-2624522423 .stroke-B3{stroke:#6C7086;}
-               .d2-2624522423 .stroke-B4{stroke:#585B70;}
-               .d2-2624522423 .stroke-B5{stroke:#45475A;}
-               .d2-2624522423 .stroke-B6{stroke:#313244;}
-               .d2-2624522423 .stroke-AA2{stroke:#f38BA8;}
-               .d2-2624522423 .stroke-AA4{stroke:#45475A;}
-               .d2-2624522423 .stroke-AA5{stroke:#313244;}
-               .d2-2624522423 .stroke-AB4{stroke:#45475A;}
-               .d2-2624522423 .stroke-AB5{stroke:#313244;}
-               .d2-2624522423 .background-color-N1{background-color:#CDD6F4;}
-               .d2-2624522423 .background-color-N2{background-color:#BAC2DE;}
-               .d2-2624522423 .background-color-N3{background-color:#A6ADC8;}
-               .d2-2624522423 .background-color-N4{background-color:#585B70;}
-               .d2-2624522423 .background-color-N5{background-color:#45475A;}
-               .d2-2624522423 .background-color-N6{background-color:#313244;}
-               .d2-2624522423 .background-color-N7{background-color:#1E1E2E;}
-               .d2-2624522423 .background-color-B1{background-color:#CBA6f7;}
-               .d2-2624522423 .background-color-B2{background-color:#CBA6f7;}
-               .d2-2624522423 .background-color-B3{background-color:#6C7086;}
-               .d2-2624522423 .background-color-B4{background-color:#585B70;}
-               .d2-2624522423 .background-color-B5{background-color:#45475A;}
-               .d2-2624522423 .background-color-B6{background-color:#313244;}
-               .d2-2624522423 .background-color-AA2{background-color:#f38BA8;}
-               .d2-2624522423 .background-color-AA4{background-color:#45475A;}
-               .d2-2624522423 .background-color-AA5{background-color:#313244;}
-               .d2-2624522423 .background-color-AB4{background-color:#45475A;}
-               .d2-2624522423 .background-color-AB5{background-color:#313244;}
-               .d2-2624522423 .color-N1{color:#CDD6F4;}
-               .d2-2624522423 .color-N2{color:#BAC2DE;}
-               .d2-2624522423 .color-N3{color:#A6ADC8;}
-               .d2-2624522423 .color-N4{color:#585B70;}
-               .d2-2624522423 .color-N5{color:#45475A;}
-               .d2-2624522423 .color-N6{color:#313244;}
-               .d2-2624522423 .color-N7{color:#1E1E2E;}
-               .d2-2624522423 .color-B1{color:#CBA6f7;}
-               .d2-2624522423 .color-B2{color:#CBA6f7;}
-               .d2-2624522423 .color-B3{color:#6C7086;}
-               .d2-2624522423 .color-B4{color:#585B70;}
-               .d2-2624522423 .color-B5{color:#45475A;}
-               .d2-2624522423 .color-B6{color:#313244;}
-               .d2-2624522423 .color-AA2{color:#f38BA8;}
-               .d2-2624522423 .color-AA4{color:#45475A;}
-               .d2-2624522423 .color-AA5{color:#313244;}
-               .d2-2624522423 .color-AB4{color:#45475A;}
-               .d2-2624522423 .color-AB5{color:#313244;}.appendix 
text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color
 
-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2624522423);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-2624522423);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-2624522423);mix-blend-mode:lighten}.light-code{display:
 none}.dark-code{display: block}}]]></style><g class="QQ==
 "><g class="shape" ><rect x="0.000000" y="0.000000" width="88.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="44.000000" y="38.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">Unit A</text></g><g class="Qg=="><g 
class="shape" ><rect x="280.000000" y="0.000000" width="88.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="324.000000" y="38.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">Unit B</text></g><g class="Qw=="><g 
class="shape" ><rect x="560.000000" y="0.000000" width="87.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="603.500000" y="38.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">Unit C</text></g><g class="RA=="><g 
class="shape" ><rect x="0.000000" y="126.000000" width="88.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text 
 x="44.000000" y="164.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">Unit D</text></g><g 
class="KEEgLSZndDsgQilbMF0="><marker id="mk-d2-2624522423-3488378134" 
markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" 
refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" 
markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 
10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" 
stroke-width="2" /> </marker><path d="M 90.000000 33.000000 C 164.800003 
33.000000 203.199997 33.000000 276.000000 33.000000" fill="none" 
class="connection stroke-B1" style="stroke-width:2;" 
marker-end="url(#mk-d2-2624522423-3488378134)" mask="url(#d2-2624522423)" 
/><text x="184.000000" y="39.000000" class="text-italic fill-N2" 
style="text-anchor:middle;font-size:16px">depends on</text></g><g 
class="KEIgLSZndDsgQylbMF0="><path d="M 370.000000 33.000000 C 444.799988 
33.000000 483.200012 33.000000 556.000000 33.000000" fill="none" c
 lass="connection stroke-B1" style="stroke-width:2;" 
marker-end="url(#mk-d2-2624522423-3488378134)" mask="url(#d2-2624522423)" 
/><text x="464.000000" y="39.000000" class="text-italic fill-N2" 
style="text-anchor:middle;font-size:16px">depends on</text></g><mask 
id="d2-2624522423" maskUnits="userSpaceOnUse" x="-101" y="-101" width="849" 
height="394">
-<rect x="-101" y="-101" width="849" height="394" fill="white"></rect>
-<rect x="20.500000" y="22.500000" width="47" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
-<rect x="300.500000" y="22.500000" width="47" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
-<rect x="580.500000" y="22.500000" width="46" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
-<rect x="20.500000" y="148.500000" width="47" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
-<rect x="144.000000" y="23.000000" width="80" height="21" fill="black"></rect>
-<rect x="424.000000" y="23.000000" width="80" height="21" fill="black"></rect>
+               .d2-1312178538 .fill-N1{fill:#0A0F25;}
+               .d2-1312178538 .fill-N2{fill:#676C7E;}
+               .d2-1312178538 .fill-N3{fill:#9499AB;}
+               .d2-1312178538 .fill-N4{fill:#CFD2DD;}
+               .d2-1312178538 .fill-N5{fill:#DEE1EB;}
+               .d2-1312178538 .fill-N6{fill:#EEF1F8;}
+               .d2-1312178538 .fill-N7{fill:#FFFFFF;}
+               .d2-1312178538 .fill-B1{fill:#0D32B2;}
+               .d2-1312178538 .fill-B2{fill:#0D32B2;}
+               .d2-1312178538 .fill-B3{fill:#E3E9FD;}
+               .d2-1312178538 .fill-B4{fill:#E3E9FD;}
+               .d2-1312178538 .fill-B5{fill:#EDF0FD;}
+               .d2-1312178538 .fill-B6{fill:#F7F8FE;}
+               .d2-1312178538 .fill-AA2{fill:#4A6FF3;}
+               .d2-1312178538 .fill-AA4{fill:#EDF0FD;}
+               .d2-1312178538 .fill-AA5{fill:#F7F8FE;}
+               .d2-1312178538 .fill-AB4{fill:#EDF0FD;}
+               .d2-1312178538 .fill-AB5{fill:#F7F8FE;}
+               .d2-1312178538 .stroke-N1{stroke:#0A0F25;}
+               .d2-1312178538 .stroke-N2{stroke:#676C7E;}
+               .d2-1312178538 .stroke-N3{stroke:#9499AB;}
+               .d2-1312178538 .stroke-N4{stroke:#CFD2DD;}
+               .d2-1312178538 .stroke-N5{stroke:#DEE1EB;}
+               .d2-1312178538 .stroke-N6{stroke:#EEF1F8;}
+               .d2-1312178538 .stroke-N7{stroke:#FFFFFF;}
+               .d2-1312178538 .stroke-B1{stroke:#0D32B2;}
+               .d2-1312178538 .stroke-B2{stroke:#0D32B2;}
+               .d2-1312178538 .stroke-B3{stroke:#E3E9FD;}
+               .d2-1312178538 .stroke-B4{stroke:#E3E9FD;}
+               .d2-1312178538 .stroke-B5{stroke:#EDF0FD;}
+               .d2-1312178538 .stroke-B6{stroke:#F7F8FE;}
+               .d2-1312178538 .stroke-AA2{stroke:#4A6FF3;}
+               .d2-1312178538 .stroke-AA4{stroke:#EDF0FD;}
+               .d2-1312178538 .stroke-AA5{stroke:#F7F8FE;}
+               .d2-1312178538 .stroke-AB4{stroke:#EDF0FD;}
+               .d2-1312178538 .stroke-AB5{stroke:#F7F8FE;}
+               .d2-1312178538 .background-color-N1{background-color:#0A0F25;}
+               .d2-1312178538 .background-color-N2{background-color:#676C7E;}
+               .d2-1312178538 .background-color-N3{background-color:#9499AB;}
+               .d2-1312178538 .background-color-N4{background-color:#CFD2DD;}
+               .d2-1312178538 .background-color-N5{background-color:#DEE1EB;}
+               .d2-1312178538 .background-color-N6{background-color:#EEF1F8;}
+               .d2-1312178538 .background-color-N7{background-color:#FFFFFF;}
+               .d2-1312178538 .background-color-B1{background-color:#0D32B2;}
+               .d2-1312178538 .background-color-B2{background-color:#0D32B2;}
+               .d2-1312178538 .background-color-B3{background-color:#E3E9FD;}
+               .d2-1312178538 .background-color-B4{background-color:#E3E9FD;}
+               .d2-1312178538 .background-color-B5{background-color:#EDF0FD;}
+               .d2-1312178538 .background-color-B6{background-color:#F7F8FE;}
+               .d2-1312178538 .background-color-AA2{background-color:#4A6FF3;}
+               .d2-1312178538 .background-color-AA4{background-color:#EDF0FD;}
+               .d2-1312178538 .background-color-AA5{background-color:#F7F8FE;}
+               .d2-1312178538 .background-color-AB4{background-color:#EDF0FD;}
+               .d2-1312178538 .background-color-AB5{background-color:#F7F8FE;}
+               .d2-1312178538 .color-N1{color:#0A0F25;}
+               .d2-1312178538 .color-N2{color:#676C7E;}
+               .d2-1312178538 .color-N3{color:#9499AB;}
+               .d2-1312178538 .color-N4{color:#CFD2DD;}
+               .d2-1312178538 .color-N5{color:#DEE1EB;}
+               .d2-1312178538 .color-N6{color:#EEF1F8;}
+               .d2-1312178538 .color-N7{color:#FFFFFF;}
+               .d2-1312178538 .color-B1{color:#0D32B2;}
+               .d2-1312178538 .color-B2{color:#0D32B2;}
+               .d2-1312178538 .color-B3{color:#E3E9FD;}
+               .d2-1312178538 .color-B4{color:#E3E9FD;}
+               .d2-1312178538 .color-B5{color:#EDF0FD;}
+               .d2-1312178538 .color-B6{color:#F7F8FE;}
+               .d2-1312178538 .color-AA2{color:#4A6FF3;}
+               .d2-1312178538 .color-AA4{color:#EDF0FD;}
+               .d2-1312178538 .color-AA5{color:#F7F8FE;}
+               .d2-1312178538 .color-AB4{color:#EDF0FD;}
+               .d2-1312178538 .color-AB5{color:#F7F8FE;}.appendix 
text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sket
 
ch-overlay-AA4{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1312178538);mix-blend-mode:darken}.light-code{display:
 block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+               .d2-1312178538 .fill-N1{fill:#CDD6F4;}
+               .d2-1312178538 .fill-N2{fill:#BAC2DE;}
+               .d2-1312178538 .fill-N3{fill:#A6ADC8;}
+               .d2-1312178538 .fill-N4{fill:#585B70;}
+               .d2-1312178538 .fill-N5{fill:#45475A;}
+               .d2-1312178538 .fill-N6{fill:#313244;}
+               .d2-1312178538 .fill-N7{fill:#1E1E2E;}
+               .d2-1312178538 .fill-B1{fill:#CBA6f7;}
+               .d2-1312178538 .fill-B2{fill:#CBA6f7;}
+               .d2-1312178538 .fill-B3{fill:#6C7086;}
+               .d2-1312178538 .fill-B4{fill:#585B70;}
+               .d2-1312178538 .fill-B5{fill:#45475A;}
+               .d2-1312178538 .fill-B6{fill:#313244;}
+               .d2-1312178538 .fill-AA2{fill:#f38BA8;}
+               .d2-1312178538 .fill-AA4{fill:#45475A;}
+               .d2-1312178538 .fill-AA5{fill:#313244;}
+               .d2-1312178538 .fill-AB4{fill:#45475A;}
+               .d2-1312178538 .fill-AB5{fill:#313244;}
+               .d2-1312178538 .stroke-N1{stroke:#CDD6F4;}
+               .d2-1312178538 .stroke-N2{stroke:#BAC2DE;}
+               .d2-1312178538 .stroke-N3{stroke:#A6ADC8;}
+               .d2-1312178538 .stroke-N4{stroke:#585B70;}
+               .d2-1312178538 .stroke-N5{stroke:#45475A;}
+               .d2-1312178538 .stroke-N6{stroke:#313244;}
+               .d2-1312178538 .stroke-N7{stroke:#1E1E2E;}
+               .d2-1312178538 .stroke-B1{stroke:#CBA6f7;}
+               .d2-1312178538 .stroke-B2{stroke:#CBA6f7;}
+               .d2-1312178538 .stroke-B3{stroke:#6C7086;}
+               .d2-1312178538 .stroke-B4{stroke:#585B70;}
+               .d2-1312178538 .stroke-B5{stroke:#45475A;}
+               .d2-1312178538 .stroke-B6{stroke:#313244;}
+               .d2-1312178538 .stroke-AA2{stroke:#f38BA8;}
+               .d2-1312178538 .stroke-AA4{stroke:#45475A;}
+               .d2-1312178538 .stroke-AA5{stroke:#313244;}
+               .d2-1312178538 .stroke-AB4{stroke:#45475A;}
+               .d2-1312178538 .stroke-AB5{stroke:#313244;}
+               .d2-1312178538 .background-color-N1{background-color:#CDD6F4;}
+               .d2-1312178538 .background-color-N2{background-color:#BAC2DE;}
+               .d2-1312178538 .background-color-N3{background-color:#A6ADC8;}
+               .d2-1312178538 .background-color-N4{background-color:#585B70;}
+               .d2-1312178538 .background-color-N5{background-color:#45475A;}
+               .d2-1312178538 .background-color-N6{background-color:#313244;}
+               .d2-1312178538 .background-color-N7{background-color:#1E1E2E;}
+               .d2-1312178538 .background-color-B1{background-color:#CBA6f7;}
+               .d2-1312178538 .background-color-B2{background-color:#CBA6f7;}
+               .d2-1312178538 .background-color-B3{background-color:#6C7086;}
+               .d2-1312178538 .background-color-B4{background-color:#585B70;}
+               .d2-1312178538 .background-color-B5{background-color:#45475A;}
+               .d2-1312178538 .background-color-B6{background-color:#313244;}
+               .d2-1312178538 .background-color-AA2{background-color:#f38BA8;}
+               .d2-1312178538 .background-color-AA4{background-color:#45475A;}
+               .d2-1312178538 .background-color-AA5{background-color:#313244;}
+               .d2-1312178538 .background-color-AB4{background-color:#45475A;}
+               .d2-1312178538 .background-color-AB5{background-color:#313244;}
+               .d2-1312178538 .color-N1{color:#CDD6F4;}
+               .d2-1312178538 .color-N2{color:#BAC2DE;}
+               .d2-1312178538 .color-N3{color:#A6ADC8;}
+               .d2-1312178538 .color-N4{color:#585B70;}
+               .d2-1312178538 .color-N5{color:#45475A;}
+               .d2-1312178538 .color-N6{color:#313244;}
+               .d2-1312178538 .color-N7{color:#1E1E2E;}
+               .d2-1312178538 .color-B1{color:#CBA6f7;}
+               .d2-1312178538 .color-B2{color:#CBA6f7;}
+               .d2-1312178538 .color-B3{color:#6C7086;}
+               .d2-1312178538 .color-B4{color:#585B70;}
+               .d2-1312178538 .color-B5{color:#45475A;}
+               .d2-1312178538 .color-B6{color:#313244;}
+               .d2-1312178538 .color-AA2{color:#f38BA8;}
+               .d2-1312178538 .color-AA4{color:#45475A;}
+               .d2-1312178538 .color-AA5{color:#313244;}
+               .d2-1312178538 .color-AB4{color:#45475A;}
+               .d2-1312178538 .color-AB5{color:#313244;}.appendix 
text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color
 
-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1312178538);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-1312178538);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-1312178538);mix-blend-mode:lighten}.light-code{display:
 none}.dark-code{display: block}}]]></style><g class="ZGVw
 ZW5kZW50"><g class="shape" ><rect x="7.000000" y="0.000000" width="122.000000" 
height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="68.000000" y="38.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">dependent</text></g><g 
class="ZGVwZW5kZW5jeQ=="><g class="shape" ><rect x="328.000000" y="0.000000" 
width="133.000000" height="66.000000" class=" stroke-B1 fill-B6" 
style="stroke-width:2;" /></g><text x="394.500000" y="38.500000" 
class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">dependency</text></g><g 
class="YW5jZXN0b3ItZGVwZW5kZW5jeQ=="><g class="shape" ><rect x="653.000000" 
y="0.000000" width="200.000000" height="66.000000" class=" stroke-B1 fill-B6" 
style="stroke-width:2;" /></g><text x="753.000000" y="38.500000" 
class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">ancestor-dependency</text></g><g 
class="aW5kZXBlbmRlbnQ="><g class="shape" ><rect x="0.000000" y="126.000000" 
width="136.000000" he
 ight="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" 
/></g><text x="68.000000" y="164.500000" class="text-bold fill-N1" 
style="text-anchor:middle;font-size:16px">independent</text></g><g 
class="KGRlcGVuZGVudCAtJmd0OyBkZXBlbmRlbmN5KVswXQ=="><marker 
id="mk-d2-1312178538-3488378134" markerWidth="10.000000" 
markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 
0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> 
<polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" 
class="connection fill-B1" stroke-width="2" /> </marker><path d="M 131.000000 
33.000000 C 211.399994 33.000000 251.199997 33.000000 324.000000 33.000000" 
fill="none" class="connection stroke-B1" style="stroke-width:2;" 
marker-end="url(#mk-d2-1312178538-3488378134)" mask="url(#d2-1312178538)" 
/><text x="229.000000" y="39.000000" class="text-italic fill-N2" 
style="text-anchor:middle;font-size:16px">depends on</text></g><g 
class="KGRlcGVuZGVuY3kgLSZndDs
 gYW5jZXN0b3ItZGVwZW5kZW5jeSlbMF0="><path d="M 463.000000 33.000000 C 
537.799988 33.000000 576.200012 33.000000 649.000000 33.000000" fill="none" 
class="connection stroke-B1" style="stroke-width:2;" 
marker-end="url(#mk-d2-1312178538-3488378134)" mask="url(#d2-1312178538)" 
/><text x="557.000000" y="39.000000" class="text-italic fill-N2" 
style="text-anchor:middle;font-size:16px">depends on</text></g><mask 
id="d2-1312178538" maskUnits="userSpaceOnUse" x="-101" y="-101" width="1055" 
height="394">
+<rect x="-101" y="-101" width="1055" height="394" fill="white"></rect>
+<rect x="27.500000" y="22.500000" width="81" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
+<rect x="348.500000" y="22.500000" width="92" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
+<rect x="673.500000" y="22.500000" width="159" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
+<rect x="20.500000" y="148.500000" width="95" height="21" 
fill="rgba(0,0,0,0.75)"></rect>
+<rect x="189.000000" y="23.000000" width="80" height="21" fill="black"></rect>
+<rect x="517.000000" y="23.000000" width="80" height="21" fill="black"></rect>
 </mask></svg></svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.78.2/docs-starlight/src/content/docs/02-features/05-run-queue.mdx
 
new/terragrunt-0.78.3/docs-starlight/src/content/docs/02-features/05-run-queue.mdx
--- 
old/terragrunt-0.78.2/docs-starlight/src/content/docs/02-features/05-run-queue.mdx
  2025-05-09 17:37:28.000000000 +0200
+++ 
new/terragrunt-0.78.3/docs-starlight/src/content/docs/02-features/05-run-queue.mdx
  2025-05-12 16:48:19.000000000 +0200
@@ -6,7 +6,7 @@
   order: 5
 ---
 
-import { Aside } from '@astrojs/starlight/components';
+import { Aside, FileTree, Tabs, TabItem } from '@astrojs/starlight/components';
 
 Terragrunt's "Run Queue" is the mechanism it uses to manage the run order and 
concurrency when running OpenTofu/Terraform commands across multiple Terragrunt 
[units](/docs/features/units). This is particularly relevant when using the 
[`run --all`](/docs/reference/cli/commands/run#all) or [`run 
--graph`](/docs/reference/cli/commands/run#graph) commands.
 
@@ -24,57 +24,247 @@
 
 ### Example DAG
 
-Consider a setup where Unit B depends on Unit A, and Unit C depends on Unit B. 
Unit D has no dependencies.
+Consider a setup where:
+
+- Unit "dependent" depends on unit "dependency".
+- Unit "dependency" depends on unit "ancestor-dependency".
+- Unit "independent" has no dependencies nor dependents.
+
+<FileTree>
+
+- root
+  - subtree
+    - dependent
+      - terragrunt.hcl
+    - dependency
+      - terragrunt.hcl
+  - ancestor-dependency
+    - terragrunt.hcl
+  - independent
+    - terragrunt.hcl
+
+</FileTree>
+
 
 ```d2
 direction: right
 
 # Define the nodes
-A: Unit A {
+dependent: dependent {
   shape: rectangle
 }
 
-B: Unit B {
+dependency: dependency {
   shape: rectangle
 }
 
-C: Unit C {
+ancestor-dependency: ancestor-dependency {
   shape: rectangle
 }
 
-D: Unit D {
+independent: independent {
   shape: rectangle
 }
 
 # Define the connections
-A -> B: depends on
-B -> C: depends on
+dependent -> dependency: depends on
+dependency -> ancestor-dependency: depends on
 ```
 
--   **`run --all plan` Order:** Terragrunt would run C and D concurrently. 
Once C finishes, B would run. Once B finishes, A would run.
--   **`run --all destroy` Order:** Terragrunt would run A and D concurrently. 
Once A finishes, B would run. Once B finishes, C would run.
+Assuming a current working directory of the `root` directory, Terragrunt would 
run units in the following order:
+
+-   **`run --all plan` Order:** Terragrunt would run `independent` and 
`ancestor-dependency` concurrently. Once `ancestor-dependency` finishes, 
`dependency` would run. Once `dependency` finishes, `dependent` would run.
+-   **`run --all destroy` Order:** Terragrunt would run `dependent` and 
`independent` concurrently. Once `dependent` finishes, `dependency` would run. 
Once `dependency` finishes, `ancestor-dependency` would run.
 
 ## Controlling the Queue
 
-Several flags allow you to customize how Terragrunt builds and executes the 
run queue:
+Several flags allow you to customize how Terragrunt builds and executes the 
run queue. By default, Terragrunt will include all units that are in the 
current working directory.
+
+### Include by default
+
+By default, when using the `--all` flag, Terragrunt will include all units 
that are in the current working directory, and any external dependencies.
+
+Certain flags trigger "Exclude by default" behavior, meaning that Terragrunt 
will no longer automatically include all units in the current working 
directory, and will instead rely on discovering configurations based on the 
provided queue control flags.
+
+Those flags will be discussed in the next section.
 
 ### Filtering Units
 
 You can control which units are included or excluded from the queue:
 
--   
[`--queue-include-dir`](/docs/reference/cli/commands/run#queue-include-dir): 
Specify glob patterns for directories to *include*. Can be used multiple times.
--   
[`--queue-exclude-dir`](/docs/reference/cli/commands/run#queue-exclude-dir): 
Specify glob patterns for directories to *exclude*. Can be used multiple times. 
Note that dependencies of excluded units might be included unless they are also 
explicitly excluded.
--   
[`--queue-excludes-file`](/docs/reference/cli/commands/run#queue-excludes-file):
 Provide a file containing a list of directories to exclude.
--   
[`--queue-strict-include`](/docs/reference/cli/commands/run#queue-strict-include):
 Only include units matching `--queue-include-dir`. Excludes everything else by 
default.
--   
[`--queue-include-external`](/docs/reference/cli/commands/run#queue-include-external):
 Include external dependencies (those outside the main working directory or 
included directories).
--   
[`--queue-exclude-external`](/docs/reference/cli/commands/run#queue-exclude-external):
 Exclude external dependencies.
--   
[`--queue-include-units-reading`](/docs/reference/cli/commands/run#queue-include-units-reading):
 Include units that read a specific file (via 
[includes](/docs/reference/hcl/blocks#include) or HCL functions like 
[`mark_as_read`](/docs/reference/hcl/functions#mark_as_read)).
+- [`--queue-include-dir`](/docs/reference/cli/commands/run#queue-include-dir): 
Specify glob patterns for directories to *include*. Can be used multiple times.
+
+  e.g. `terragrunt run --all plan --queue-include-dir "subtree/*"`
+
+  Include units within the `subtree` directory (along with their 
dependencies), i.e., `subtree/dependent`, `subtree/dependency` and 
`ancestor-dependency`.
+
+  <Aside type="note">
+  Using the `--queue-include-dir` automatically triggers "Exclude by default" 
behavior, as mentioned above.
+  </Aside>
+
+  <Aside type="note">
+  `ancestor-dependency` is still included by default here because it's a 
dependency of `dependency`.
+
+  Using 
[`--queue-strict-include`](/docs/reference/cli/commands/run#queue-strict-include)
 would prevent that.
+  </Aside>
+
+- [`--queue-exclude-dir`](/docs/reference/cli/commands/run#queue-exclude-dir): 
Specify glob patterns for directories to *exclude*. Can be specified multiple 
times.
+
+  e.g. `terragrunt run --all plan --queue-exclude-dir "independent"`
+
+  Exclude the `independent` unit. `ancestor-dependency`, `subtree/dependency`, 
and `subtree/dependent` would still be processed according to their 
dependencies.
+
+  <Aside type="note">
+    Dependencies of excluded units will still be included unless they are also 
explicitly excluded.
+
+    In this example, excluding `subtree/dependency` would not automatically 
exclude `ancestor-dependency`.
+  </Aside>
+
+- 
[`--queue-excludes-file`](/docs/reference/cli/commands/run#queue-excludes-file):
 Provide a file containing a list of directories to exclude.
+
+  e.g. `terragrunt run --all plan --queue-excludes-file ".tg-excludes"`
+
+  ```text
+  # .tg-excludes
+
+  independent
+  subtree/dependency
+  ```
+
+  Exclude `independent` and `subtree/dependency` from the run, only running 
`subtree/dependent` and `ancestor-dependency`.
+
+  <Aside type="tip">
+  The default value for this flag is `.terragrunt-excludes`.
+
+  Populate a file named this in your project root to exclude units from being 
run by default, without using the `--queue-excludes-file` flag.
+  </Aside>
+
+- 
[`--queue-strict-include`](/docs/reference/cli/commands/run#queue-strict-include):
 Only include units matching `--queue-include-dir`.
+
+  e.g. `terragrunt run --all plan --queue-include-dir "subtree/dependency" 
--queue-strict-include`
+
+  Only include the `subtree/dependency` unit. Its dependency, 
`ancestor-dependency`, will be excluded because it does not match the include 
and strict mode is enabled.
+
+- 
[`--queue-include-external`](/docs/reference/cli/commands/run#queue-include-external):
 Include external dependencies (those outside the current working directory) by 
default.
+
+  e.g. `terragrunt run --all plan --working-dir subtree 
--queue-include-external`
+
+  Include `ancestor-dependency` in addition to the `subtree/dependent` and 
`subtree/dependency` units.
+
+  <Aside type="note">
+  The `--queue-include-external` flag is simply a convenience flag to avoid 
the interactive prompt to request inclusion of external dependencies.
+
+  By default, Terragrunt will wait for user input to determine whether or not 
external dependencies should be included.
+  </Aside>
+
+- 
[`--queue-exclude-external`](/docs/reference/cli/commands/run#queue-exclude-external):
 Exclude external dependencies.
+
+  e.g. `terragrunt run --all plan --working-dir subtree 
--queue-exclude-external`
+
+  Exclude `ancestor-dependency` from the run. Only run `subtree/dependent` and 
`subtree/dependency`.
+
+  <Aside type="note">
+  This flag is simply a convenience flag to avoid the interactive prompt to 
request exclusion of external dependencies.
+
+  By default, Terragrunt will wait for user input to determine whether or not 
external dependencies should be excluded.
+  </Aside>
+
+- 
[`--queue-include-units-reading`](/docs/reference/cli/commands/run#queue-include-units-reading):
 Include units that read a specific file (via 
[includes](/docs/reference/hcl/blocks#include) or HCL functions like 
[`mark_as_read`](/docs/reference/hcl/functions#mark_as_read)).
+
+  e.g. `terragrunt run --all plan --queue-include-units-reading 
"subtree/common.hcl"`
+
+  <Tabs>
+    <TabItem label="subtree/dependent/terragrunt.hcl">
+
+    ```hcl
+    dependency "dep" {
+      config_path  = "../dependency"
+      skip_outputs = true
+    }
+
+    include "common" {
+      path = find_in_parent_folders("common.hcl")
+    }
+    ```
+    </TabItem>
+    <TabItem label="subtree/dependency/terragrunt.hcl">
+
+    ```hcl
+    dependency "dep" {
+      config_path  = "../../ancestor-dependency"
+      skip_outputs = true
+    }
+
+    include "common" {
+      path = find_in_parent_folders("common.hcl")
+    }
+    ```
+    </TabItem>
+    <TabItem label="subtree/common.hcl">
+
+    ```hcl
+    # Intentionally empty
+    ```
+    </TabItem>
+  </Tabs>
+
+  Include `subtree/dependent` and `subtree/dependency` (the units that read 
`subtree/common.hcl`) in the run.
+
+  <Aside type="tip">
+  Sometimes, it can be impossible for Terragrunt to know that certain files 
are read by a unit (e.g. if the file is read in the OpenTofu/Terraform module, 
not in Terragrunt configuration).
+
+  In cases like this, you can use the 
[`mark_as_read`](/docs/reference/hcl/functions#mark_as_read) HCL function to 
explicitly tell Terragrunt that a unit reads a file.
+  </Aside>
 
 ### Modifying Order and Error Handling
 
--   
[`--queue-construct-as`](/docs/reference/cli/commands/list#queue-construct-as) 
(`--as`): Build the dependency queue *as if* running a particular command. 
Useful for performing dry-runs of [`run`](/docs/reference/cli/commands/run) 
using discovery commands, like [`find`](/docs/reference/cli/commands/find) and 
[`list`](/docs/reference/cli/commands/list).
--   
[`--queue-ignore-dag-order`](/docs/reference/cli/commands/run#queue-ignore-dag-order):
 Execute units concurrently without respecting the dependency order. Useful for 
read-only commands like `validate` or `plan` across independent units, but 
**dangerous** for commands that modify state (`apply`, `destroy`).
--   
[`--queue-ignore-errors`](/docs/reference/cli/commands/run#queue-ignore-errors):
 Continue processing the queue even if some units fail. Useful for identifying 
all errors at once, but can lead to inconsistent state if used with `apply` or 
`destroy`.
+- 
[`--queue-construct-as`](/docs/reference/cli/commands/list#queue-construct-as) 
(`--as`): Build the run queue *as if* a particular command was run. Useful for 
performing dry-runs of [`run`](/docs/reference/cli/commands/run) using 
discovery commands, like [`find`](/docs/reference/cli/commands/find) and 
[`list`](/docs/reference/cli/commands/list).
+
+  e.g. `terragrunt list --queue-construct-as destroy`
+
+  This lists the units in the order they'd be processed for `run --all 
destroy`:
+
+  ```bash
+  $ terragrunt list --as destroy -l
+  Type  Path
+  unit  independent
+  unit  subtree/dependent
+  unit  subtree/dependency
+  unit  ancestor-dependency
+  ```
+
+  ```bash
+  $ terragrunt list --as plan -l
+  Type  Path
+  unit  ancestor-dependency
+  unit  independent
+  unit  subtree/dependency
+  unit  subtree/dependent
+  ```
+
+- 
[`--queue-ignore-dag-order`](/docs/reference/cli/commands/run#queue-ignore-dag-order):
 Execute units concurrently without respecting the dependency order.
+
+  e.g. `terragrunt run --all plan --queue-ignore-dag-order`
+
+  Run `plan` on `ancestor-dependency`, `subtree/dependency`, 
`subtree/dependent`, and `independent` all concurrently, without waiting for 
their defined dependencies. For instance, `subtree/dependent`'s plan would not 
wait for `subtree/dependency`'s plan to complete).
+
+  <Aside type="caution">
+  This flag is useful for faster runs in stateless commands like `validate` or 
`plan`, but is **dangerous** for commands that modify state like `apply` or 
`destroy`.
+
+  You might encounter failed applies if unit dependencies are not applied 
before dependents, and conversely, failed destroys if unit dependents are not 
destroyed before dependencies.
+  </Aside>
+
+- 
[`--queue-ignore-errors`](/docs/reference/cli/commands/run#queue-ignore-errors):
 Continue processing the queue even if some units fail.
+
+  e.g. `terragrunt run --all plan --queue-ignore-errors`
+
+  If `ancestor-dependency`'s plan fails, Terragrunt will still attempt to run 
`plan` for `subtree/dependency`, then `subtree/dependent`, and also for 
`independent`.
+
+  <Aside type="caution">
+  This flag is useful for identifying all errors at once, but can lead to 
inconsistent state if used with `apply` or `destroy`.
+
+  You might encounter failed applies if unit dependencies are not applied 
successfully before dependents, and conversely, failed destroys if unit 
dependents are not destroyed successfully before dependencies.
+  </Aside>
 
 ## Important Considerations
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.78.2/test/fixtures/detailed-exitcode/error/app2/terragrunt.hcl 
new/terragrunt-0.78.3/test/fixtures/detailed-exitcode/error/app2/terragrunt.hcl
--- 
old/terragrunt-0.78.2/test/fixtures/detailed-exitcode/error/app2/terragrunt.hcl 
    2025-05-09 17:37:28.000000000 +0200
+++ 
new/terragrunt-0.78.3/test/fixtures/detailed-exitcode/error/app2/terragrunt.hcl 
    2025-05-12 16:48:19.000000000 +0200
@@ -1 +1,11 @@
-# Intentionally empty
+/*
+  Sequential dependency on app1 to ensure proper test execution.
+  This prevents flaky tests since:
+  - Local provider returns exit code 2 for managed resources
+  - Local provider returns exit code 1 for data sources
+  - Only the last exit code in the sequence can be checked
+*/
+
+dependencies {
+  paths = ["../app1"]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.78.2/test/fixtures/detailed-exitcode/fail-on-first-run/main.tf 
new/terragrunt-0.78.3/test/fixtures/detailed-exitcode/fail-on-first-run/main.tf
--- 
old/terragrunt-0.78.2/test/fixtures/detailed-exitcode/fail-on-first-run/main.tf 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.78.3/test/fixtures/detailed-exitcode/fail-on-first-run/main.tf 
    2025-05-12 16:48:19.000000000 +0200
@@ -0,0 +1,16 @@
+data "external" "script" {
+  program = [
+    "/bin/bash",
+    "-c",
+    <<EOT
+      set -euo pipefail
+      if [[ -f .file ]]; then
+        echo '{}'
+        rm .file
+      else
+        touch .file
+        exit 1
+      fi
+    EOT
+  ]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.78.2/test/fixtures/detailed-exitcode/fail-on-first-run/terragrunt.hcl
 
new/terragrunt-0.78.3/test/fixtures/detailed-exitcode/fail-on-first-run/terragrunt.hcl
--- 
old/terragrunt-0.78.2/test/fixtures/detailed-exitcode/fail-on-first-run/terragrunt.hcl
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.78.3/test/fixtures/detailed-exitcode/fail-on-first-run/terragrunt.hcl
      2025-05-12 16:48:19.000000000 +0200
@@ -0,0 +1,3 @@
+retry_max_attempts       = 2
+retry_sleep_interval_sec = 1
+retryable_errors = [".*"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.78.2/test/integration_test.go 
new/terragrunt-0.78.3/test/integration_test.go
--- old/terragrunt-0.78.2/test/integration_test.go      2025-05-09 
17:37:28.000000000 +0200
+++ new/terragrunt-0.78.3/test/integration_test.go      2025-05-12 
16:48:19.000000000 +0200
@@ -233,6 +233,23 @@
        assert.Equal(t, 2, exitCode.Get())
 }
 
+func TestDetailedExitCodeFailOnFirstRun(t *testing.T) {
+       t.Parallel()
+
+       testFixturePath := filepath.Join(testFixtureDetailedExitCode, 
"fail-on-first-run")
+
+       helpers.CleanupTerraformFolder(t, testFixturePath)
+       tmpEnvPath := helpers.CopyEnvironment(t, testFixturePath)
+
+       var exitCode tf.DetailedExitCode
+       ctx := context.Background()
+       ctx = tf.ContextWithDetailedExitCode(ctx, &exitCode)
+
+       _, _, err := helpers.RunTerragruntCommandWithOutputWithContext(t, ctx, 
"terragrunt run-all plan --terragrunt-log-level trace 
--terragrunt-non-interactive -detailed-exitcode --terragrunt-working-dir 
"+util.JoinPath(tmpEnvPath, testFixturePath))
+       require.NoError(t, err)
+       assert.Equal(t, 0, exitCode.Get())
+}
+
 func TestDetailedExitCodeChangesPresentOne(t *testing.T) {
        t.Parallel()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.78.2/tf/detailed_exitcode.go 
new/terragrunt-0.78.3/tf/detailed_exitcode.go
--- old/terragrunt-0.78.2/tf/detailed_exitcode.go       2025-05-09 
17:37:28.000000000 +0200
+++ new/terragrunt-0.78.3/tf/detailed_exitcode.go       2025-05-12 
16:48:19.000000000 +0200
@@ -4,10 +4,6 @@
        "sync"
 )
 
-const (
-       DetailedExitCodeError = 1
-)
-
 // DetailedExitCode is the TF detailed exit code. 
https://opentofu.org/docs/cli/commands/plan/
 type DetailedExitCode struct {
        Code int
@@ -26,18 +22,9 @@
 // - 0 = Success
 // - 1 = Error
 // - 2 = Success with changes pending
-// The method only updates if:
-// - The current code is not 1 (error state)
-// - The new code is greater than current OR equals 1
 func (coder *DetailedExitCode) Set(newCode int) {
        coder.mu.Lock()
        defer coder.mu.Unlock()
 
-       if coder.Code == DetailedExitCodeError {
-               return
-       }
-
-       if coder.Code < newCode || newCode == DetailedExitCodeError {
-               coder.Code = newCode
-       }
+       coder.Code = newCode
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.78.2/tf/run_cmd.go 
new/terragrunt-0.78.3/tf/run_cmd.go
--- old/terragrunt-0.78.2/tf/run_cmd.go 2025-05-09 17:37:28.000000000 +0200
+++ new/terragrunt-0.78.3/tf/run_cmd.go 2025-05-12 16:48:19.000000000 +0200
@@ -74,6 +74,10 @@
                if code != 1 {
                        return output, nil
                }
+       } else {
+               if exitCode := DetailedExitCodeFromContext(ctx); exitCode != 
nil {
+                       exitCode.Set(0)
+               }
        }
 
        return output, err

++++++ terragrunt.obsinfo ++++++
--- /var/tmp/diff_new_pack.9laeYe/_old  2025-05-13 20:06:22.689122747 +0200
+++ /var/tmp/diff_new_pack.9laeYe/_new  2025-05-13 20:06:22.689122747 +0200
@@ -1,5 +1,5 @@
 name: terragrunt
-version: 0.78.2
-mtime: 1746805048
-commit: 57b42381d9cf464d39833052b82851bd0061c9fe
+version: 0.78.3
+mtime: 1747061299
+commit: b19d23fcb73889cd9dac48040dfbf2b84117d20d
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.terragrunt.new.30101/vendor.tar.gz differ: char 29, 
line 2

Reply via email to