Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.6.8 #242

Merged
merged 3 commits into from
Nov 7, 2024
Merged

0.6.8 #242

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/releases/0.6.8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#### Features 🚀

- Render: SVG files render in non-browser contexts (e.g. Inkscape, LaTeX) [#2147](https://github.com/terrastruct/d2/pull/2147)

#### Improvements 🧹

- Lib: removes a dependency on external slog that was causing troubles with installation [#2137](https://github.com/terrastruct/d2/pull/2137)
- CLI: attempts writing to path atomically, falling back to non-atomic if failed [#2141](https://github.com/terrastruct/d2/pull/2141)
- Export: pptx has "created at" metadata removed, so successive runs yield the same result [#2169](https://github.com/terrastruct/d2/pull/2160)
- Formatter: empty board keywords (e.g. `layers`) are removed [#2178](https://github.com/terrastruct/d2/pull/2178)
- Render: a tooltip or link by itself will not expand width of shape [#2183](https://github.com/terrastruct/d2/pull/2183)

#### Bugfixes ⛑️

- Render: fixes edge case of a 3d shape with outside label being cut off [#2132](https://github.com/terrastruct/d2/pull/2132)
- Composition: labels for boards set with shorthand `x: y` was not applied [#2182](https://github.com/terrastruct/d2/pull/2182)
- Globs: double globs (`**`) were erroring when used with multiple scenario boards [#2195](https://github.com/terrastruct/d2/pull/2195)
4 changes: 2 additions & 2 deletions docs/releases/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

:::info Latest

Version: [0.6.7](/releases/0.6.7) (released September 28, 2024)
Version: [0.6.8](/releases/0.6.8) (released November 07, 2024)

Downloads: [Assets](https://github.com/terrastruct/d2/releases/tag/v0.6.7)
Downloads: [Assets](https://github.com/terrastruct/d2/releases/tag/v0.6.8)

:::

Expand Down
2 changes: 1 addition & 1 deletion docs/tour/exports.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For example, `d2 in.d2` will produce a file named `in.svg`.
The resulting SVG has CSS injected into it. This, along with the use of HTML
`<foreignObject>`s used to make Markdown work, means that the SVG is meant to be viewed in
a web context. For example, opening it up in your browser, embedding it onto a webpage. It
will not look right without a web context, like in Inkscape or Adobe Illustrator.
may not look right without a web context, like in Inkscape or Adobe Illustrator.

On the CLI, if you pass in `-`
- for the input, it reads D2 from stdin
Expand Down
18 changes: 18 additions & 0 deletions docs/tour/vars.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,21 @@ In other words, if you call `D2_PAD=2 d2 --theme=1 input.d2`, it doesn't matter
`theme-id` and `pad` are set to in `input.d2`'s `d2-config`; it will use the options from
the command.
:::

:::info `data`
`data` is an anything-goes map of key-value pairs. This is used in contexts where
third-party software read configuration, such as when D2 is used as a library, or D2 is
run with an external plugin.

For example,

```d2
vars: {
d2-config: {
data: {
power-level: 9000
}
}
}
```
:::
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ const sidebars = {
link: { type: "doc", id: "releases/intro" },
items: [
"releases/intro",
"releases/0.6.8",
"releases/0.6.7",
"releases/0.6.6",
"releases/0.6.5",
Expand Down
6 changes: 3 additions & 3 deletions static/img/generated/animated.svg2

Large diffs are not rendered by default.

Binary file modified static/img/generated/cat.pdf
Binary file not shown.
10 changes: 5 additions & 5 deletions static/img/generated/chicken.svg2
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.7-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 314 465"><svg id="d2-svg" width="314" height="465" viewBox="-106 -66 314 465"><style type="text/css"><![CDATA[
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.8-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 314 465"><svg id="d2-svg" width="314" height="465" viewBox="-106 -66 314 465"><style type="text/css"><![CDATA[
.d2-4130279961 .text {
font-family: "d2-4130279961-font-regular";
}
Expand Down Expand Up @@ -869,19 +869,19 @@
75.000000%, 100.000000% {
opacity: 1;
}
}]]></style><g style="animation: d2Transition-d2-4130279961-0 5600ms infinite" class="d2-4130279961" width="212" height="47" viewBox="-106 -66 212 47"><rect x="-106.000000" y="-66.000000" width="212.000000" height="47.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><g id="&#34;Chicken&#39;s plan&#34;"><g class="shape" ></g><text x="0.000000" y="-30.000000" class="text fill-N1" style="text-anchor:middle;font-size:35px">Chicken&#39;s plan</text></g><mask id="d2-4130279961" maskUnits="userSpaceOnUse" x="-106" y="-66" width="212" height="47">
}]]></style><g style="animation: d2Transition-d2-4130279961-0 5600ms infinite" class="d2-4130279961" width="212" height="47" viewBox="-106 -66 212 47"><rect x="-106.000000" y="-66.000000" width="212.000000" height="47.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><g id="&#34;Chicken&#39;s plan&#34;"><g class="shape" ></g><text x="0.000000" y="-30.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:35px">Chicken&#39;s plan</text></g><mask id="d2-4130279961" maskUnits="userSpaceOnUse" x="-106" y="-66" width="212" height="47">
<rect x="-106" y="-66" width="212" height="47" fill="white"></rect>
<rect x="-105.000000" y="-65.000000" width="210" height="45" fill="rgba(0,0,0,0.75)"></rect>
</mask></g><g style="animation: d2Transition-d2-4130279961-1 5600ms infinite" class="d2-4130279961" width="212" height="133" viewBox="-31 -66 212 133"><rect x="-31.000000" y="-66.000000" width="212.000000" height="133.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><g id="&#34;Chicken&#39;s plan&#34;"><g class="shape" ></g><text x="75.000000" y="-30.000000" class="text fill-N1" style="text-anchor:middle;font-size:35px">Chicken&#39;s plan</text></g><g id="Approach road"><g class="shape" ><rect x="0.000000" y="0.000000" width="150.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="75.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Approach road</text></g><mask id="d2-4293673862" maskUnits="userSpaceOnUse" x="-31" y="-66" width="212" height="133">
</mask></g><g style="animation: d2Transition-d2-4130279961-1 5600ms infinite" class="d2-4130279961" width="212" height="133" viewBox="-31 -66 212 133"><rect x="-31.000000" y="-66.000000" width="212.000000" height="133.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><g id="&#34;Chicken&#39;s plan&#34;"><g class="shape" ></g><text x="75.000000" y="-30.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:35px">Chicken&#39;s plan</text></g><g id="Approach road"><g class="shape" ><rect x="0.000000" y="0.000000" width="150.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="75.000000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Approach road</text></g><mask id="d2-4293673862" maskUnits="userSpaceOnUse" x="-31" y="-66" width="212" height="133">
<rect x="-31" y="-66" width="212" height="133" fill="white"></rect>
<rect x="-30.000000" y="-65.000000" width="210" height="45" fill="rgba(0,0,0,0.75)"></rect>
<rect x="22.500000" y="22.500000" width="105" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></g><g style="animation: d2Transition-d2-4130279961-2 5600ms infinite" class="d2-4130279961" width="212" height="299" viewBox="-31 -66 212 299"><rect x="-31.000000" y="-66.000000" width="212.000000" height="299.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><g id="&#34;Chicken&#39;s plan&#34;"><g class="shape" ></g><text x="75.000000" y="-30.000000" class="text fill-N1" style="text-anchor:middle;font-size:35px">Chicken&#39;s plan</text></g><g id="Approach road"><g class="shape" ><rect x="0.000000" y="0.000000" width="150.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="75.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Approach road</text></g><g id="Cross road"><g class="shape" ><rect x="15.000000" y="166.000000" width="120.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="75.000000" y="204.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Cross road</text></g><g id="(Approach road -&gt; Cross road)[0]"><marker id="mk-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 75.000000 68.000000 C 75.000000 106.000000 75.000000 126.000000 75.000000 162.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-600153991)" /></g><mask id="d2-600153991" maskUnits="userSpaceOnUse" x="-31" y="-66" width="212" height="299">
</mask></g><g style="animation: d2Transition-d2-4130279961-2 5600ms infinite" class="d2-4130279961" width="212" height="299" viewBox="-31 -66 212 299"><rect x="-31.000000" y="-66.000000" width="212.000000" height="299.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><g id="&#34;Chicken&#39;s plan&#34;"><g class="shape" ></g><text x="75.000000" y="-30.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:35px">Chicken&#39;s plan</text></g><g id="Approach road"><g class="shape" ><rect x="0.000000" y="0.000000" width="150.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="75.000000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Approach road</text></g><g id="Cross road"><g class="shape" ><rect x="15.000000" y="166.000000" width="120.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="75.000000" y="204.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Cross road</text></g><g id="(Approach road -&gt; Cross road)[0]"><marker id="mk-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" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 75.000000 68.000000 C 75.000000 106.000000 75.000000 126.000000 75.000000 162.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-600153991)" /></g><mask id="d2-600153991" maskUnits="userSpaceOnUse" x="-31" y="-66" width="212" height="299">
<rect x="-31" y="-66" width="212" height="299" fill="white"></rect>
<rect x="-30.000000" y="-65.000000" width="210" height="45" fill="rgba(0,0,0,0.75)"></rect>
<rect x="22.500000" y="22.500000" width="105" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="37.500000" y="188.500000" width="75" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></g><g style="animation: d2Transition-d2-4130279961-3 5600ms infinite" class="d2-4130279961" width="212" height="465" viewBox="-4 -66 212 465"><rect x="-4.000000" y="-66.000000" width="212.000000" height="465.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><g id="&#34;Chicken&#39;s plan&#34;"><g class="shape" ></g><text x="102.000000" y="-30.000000" class="text fill-N1" style="text-anchor:middle;font-size:35px">Chicken&#39;s plan</text></g><g id="Approach road"><g class="shape" ><rect x="27.000000" y="0.000000" width="150.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="102.000000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Approach road</text></g><g id="Cross road"><g class="shape" ><rect x="42.000000" y="166.000000" width="120.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="102.000000" y="204.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Cross road</text></g><g id="Make you wonder why"><g class="shape" ><rect x="0.000000" y="332.000000" width="203.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="101.500000" y="370.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Make you wonder why</text></g><g id="(Approach road -&gt; Cross road)[0]"><marker id="mk-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 101.500000 68.000000 C 101.500000 106.000000 101.500000 126.000000 101.500000 162.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-191946974)" /></g><g id="(Cross road -&gt; Make you wonder why)[0]"><path d="M 101.500000 234.000000 C 101.500000 272.000000 101.500000 292.000000 101.500000 328.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-191946974)" /></g><mask id="d2-191946974" maskUnits="userSpaceOnUse" x="-4" y="-66" width="212" height="465">
</mask></g><g style="animation: d2Transition-d2-4130279961-3 5600ms infinite" class="d2-4130279961" width="212" height="465" viewBox="-4 -66 212 465"><rect x="-4.000000" y="-66.000000" width="212.000000" height="465.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><g id="&#34;Chicken&#39;s plan&#34;"><g class="shape" ></g><text x="102.000000" y="-30.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:35px">Chicken&#39;s plan</text></g><g id="Approach road"><g class="shape" ><rect x="27.000000" y="0.000000" width="150.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="102.000000" y="38.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Approach road</text></g><g id="Cross road"><g class="shape" ><rect x="42.000000" y="166.000000" width="120.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="102.000000" y="204.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Cross road</text></g><g id="Make you wonder why"><g class="shape" ><rect x="0.000000" y="332.000000" width="203.000000" height="66.000000" stroke="#0D32B2" fill="#F7F8FE" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="101.500000" y="370.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Make you wonder why</text></g><g id="(Approach road -&gt; Cross road)[0]"><marker id="mk-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" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 101.500000 68.000000 C 101.500000 106.000000 101.500000 126.000000 101.500000 162.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-191946974)" /></g><g id="(Cross road -&gt; Make you wonder why)[0]"><path d="M 101.500000 234.000000 C 101.500000 272.000000 101.500000 292.000000 101.500000 328.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-191946974)" /></g><mask id="d2-191946974" maskUnits="userSpaceOnUse" x="-4" y="-66" width="212" height="465">
<rect x="-4" y="-66" width="212" height="465" fill="white"></rect>
<rect x="-3.000000" y="-65.000000" width="210" height="45" fill="rgba(0,0,0,0.75)"></rect>
<rect x="49.500000" y="22.500000" width="105" height="21" fill="rgba(0,0,0,0.75)"></rect>
Expand Down
2 changes: 1 addition & 1 deletion static/img/generated/classes-1.svg2
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.7-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 409 186"><svg id="d2-svg" class="d2-3478011237" width="409" height="186" viewBox="-1 -1 409 186"><rect x="-1.000000" y="-1.000000" width="409.000000" height="186.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.8-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 409 186"><svg id="d2-svg" class="d2-3478011237" width="409" height="186" viewBox="-1 -1 409 186"><rect x="-1.000000" y="-1.000000" width="409.000000" height="186.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3478011237 .text-mono {
font-family: "d2-3478011237-font-mono";
}
Expand Down
2 changes: 1 addition & 1 deletion static/img/generated/classes-2.svg2
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.7-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 481 628"><svg id="d2-svg" class="d2-1924837604" width="481" height="628" viewBox="-1 -1 481 628"><rect x="-1.000000" y="-1.000000" width="481.000000" height="628.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.8-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 481 628"><svg id="d2-svg" class="d2-1924837604" width="481" height="628" viewBox="-1 -1 481 628"><rect x="-1.000000" y="-1.000000" width="481.000000" height="628.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1924837604 .text-bold {
font-family: "d2-1924837604-font-bold";
}
Expand Down
2 changes: 1 addition & 1 deletion static/img/generated/classes-3.svg2
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.7-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 2267 2502"><svg id="d2-svg" class="d2-726627142" width="2267" height="2502" viewBox="11 11 2267 2502"><rect x="11.000000" y="11.000000" width="2267.000000" height="2502.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.8-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 2267 2502"><svg id="d2-svg" class="d2-726627142" width="2267" height="2502" viewBox="11 11 2267 2502"><rect x="11.000000" y="11.000000" width="2267.000000" height="2502.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-726627142 .text-italic {
font-family: "d2-726627142-font-italic";
}
Expand Down
2 changes: 1 addition & 1 deletion static/img/generated/code-2.svg2
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.7-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 690 122"><svg id="d2-svg" class="d2-3371677741" width="690" height="122" viewBox="-1 -1 690 122"><rect x="-1.000000" y="-1.000000" width="690.000000" height="122.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.8-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 690 122"><svg id="d2-svg" class="d2-3371677741" width="690" height="122" viewBox="-1 -1 690 122"><rect x="-1.000000" y="-1.000000" width="690.000000" height="122.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3371677741 .text-mono {
font-family: "d2-3371677741-font-mono";
}
Expand Down
Loading
Loading