Merge branch 'gh-821-ppt' into gh-821-ppt-links

This commit is contained in:
Júlio César Batista 2023-04-10 16:40:46 -03:00
commit ac0c9105ff
No known key found for this signature in database
GPG key ID: 10C4B861BF314878
458 changed files with 21234 additions and 18307 deletions

View file

@ -209,7 +209,7 @@ let us know and we'll be happy to include it here!
### Community plugins
- **Tree-sitter grammar**: [https://github.com/pleshevskiy/tree-sitter-d2](https://github.com/pleshevskiy/tree-sitter-d2)
- **Tree-sitter grammar**: [https://git.pleshevski.ru/pleshevskiy/tree-sitter-d2](https://git.pleshevski.ru/pleshevskiy/tree-sitter-d2)
- **Emacs major mode**: [https://github.com/andorsk/d2-mode](https://github.com/andorsk/d2-mode)
- **Goldmark extension**: [https://github.com/FurqanSoftware/goldmark-d2](https://github.com/FurqanSoftware/goldmark-d2)
- **Telegram bot**: [https://github.com/meinside/telegram-d2-bot](https://github.com/meinside/telegram-d2-bot)

View file

@ -1,25 +1,7 @@
#### Features 🚀
- Container with constant key near attribute now can have descendant objects and connections [#1071](https://github.com/terrastruct/d2/pull/1071)
- Classes are implemented. See [docs](https://d2lang.com/todo). [#772](https://github.com/terrastruct/d2/pull/772)
- Multi-board SVG outputs with internal links go to their output paths [#1116](https://github.com/terrastruct/d2/pull/1116)
- New grid layout to place nodes in rows and columns [#1122](https://github.com/terrastruct/d2/pull/1122)
- Export diagrams to `.pptx` (PowerPoint)[#1139](https://github.com/terrastruct/d2/pull/1139)
#### Improvements 🧹
- Labels on parallel `dagre` connections include a gap between them [#1134](https://github.com/terrastruct/d2/pull/1134)
- Sequence Diagram `Lifelines` now inherit the Actor `stroke` and `stroke-dash` [#1140](https://github.com/terrastruct/d2/pull/1140)
#### Bugfixes ⛑️
- Fix inheritence in scenarios/steps [#1090](https://github.com/terrastruct/d2/pull/1090)
- Fix a bug in 32bit builds [#1115](https://github.com/terrastruct/d2/issues/1115)
- Fix a bug in ID parsing [#322](https://github.com/terrastruct/d2/issues/322)
- Fix a bug in watch mode parsing SVG [#1119](https://github.com/terrastruct/d2/issues/1119)
- Namespace transitions so that multiple animated D2 diagrams can exist on the same page [#1123](https://github.com/terrastruct/d2/issues/1123)
- Fix a bug in vertical alignment of appendix lines [#1104](https://github.com/terrastruct/d2/issues/1104)
- Fix precision difference for sketch mode running on different architectures [#921](https://github.com/terrastruct/d2/issues/921)
#### Breaking changes
- `class` and `classes` are now reserved keywords.

View file

@ -0,0 +1,41 @@
Major updates in 0.4.0:
- `classes` and `class` are finally here. No more repeating styles!
- Introducing Grid diagrams. A very popular form of diagramming software architecture.
To showcase both of these, here's a demo with a link to the source code below:
<img width="671" alt="Screen Shot 2023-04-08 at 7 20 04 PM" src="https://user-images.githubusercontent.com/3120367/230750853-5925f8a1-98bc-4f51-b6f7-26ada4534a58.png">
- [Playground link to source code](https://play.d2lang.com/?script=nJRPbvMgEMX3nGIU6Vt-zp82bcoBeg-Mpw4yBhdD0qjK3SvAJMENatWFF8zDjx9vRlwyo7Al4bjKt4FCLRnvCJk6TuGTABz3wiKM744ZjBWAkCqFxSKsgieF9WYVlsEw7QSIzsFlqsQbU-DaqDepj2hq6XLxf_KMlmcSv1pq3iXr2Tl5BhTcMKDhbEzG14HKaSJfw0zHT0zNEGMgV4QzIZ54XYWIaBZOUDZF5aGoPBaVbVF5KirPRWVXVF7uKqRhbYsGULVCTUlPfdmtfGOmn0JXyKwh00ChaJHcJpoFfduTywzkE7BLuTN1gkbzDg1w3Q_MiloiGKes6P8GJ_2DcWH5BWCahXuEAP7pobC3dhjpculXY2XRGDZa47ituO6XDR7-bV7jNarx0KaLcRHRfoZutWwy3p4Zrb_T3pTvB3oUyr9qVXakFMp95KWecT3b1bkajUKLs_pXAAAA__8%3D&sketch=1&)
Bunch of other features, improvements, and bug fixes too. Make sure to check out the updated docs for how to use these new features!
#### Features 🚀
- Classes are implemented. See [docs](https://d2lang.com/tour/classes). [#772](https://github.com/terrastruct/d2/pull/772)
- Grid diagrams are implemented. See [docs](https://d2lang.com/tour/grid-diagrams). [#1122](https://github.com/terrastruct/d2/pull/1122)
- Container with constant key near attribute now can have descendant objects and connections (thank you @donglixiaoche) [#1071](https://github.com/terrastruct/d2/pull/1071)
- Multi-board SVG outputs with internal links go to their output paths [#1116](https://github.com/terrastruct/d2/pull/1116)
#### Improvements 🧹
- Labels on parallel `dagre` connections include a gap between them [#1134](https://github.com/terrastruct/d2/pull/1134)
- Sequence diagram lifelines inherit the actor's `stroke` and `stroke-dash` [#1140](https://github.com/terrastruct/d2/pull/1140)
- Add `text-transform` styling option (thank you @alexstoick for these 2) [#1118](https://github.com/terrastruct/d2/pull/1118)
#### Bugfixes ⛑️
- Fix inheritence in scenarios/steps [#1090](https://github.com/terrastruct/d2/pull/1090)
- Fix a bug in 32bit builds [#1115](https://github.com/terrastruct/d2/issues/1115)
- Fix a bug in ID parsing [#322](https://github.com/terrastruct/d2/issues/322)
- Fix a bug in watch mode parsing SVG [#1119](https://github.com/terrastruct/d2/issues/1119)
- Namespace transitions so that multiple animated D2 diagrams can exist on the same page [#1123](https://github.com/terrastruct/d2/issues/1123)
- Fix a bug in vertical alignment of appendix lines [#1104](https://github.com/terrastruct/d2/issues/1104)
- Fix precision difference for sketch mode running on different architectures [#921](https://github.com/terrastruct/d2/issues/921)
- Fix an issue where markdown fonts weren't being applied correctly [#1132](https://github.com/terrastruct/d2/issues/1132)
#### Breaking changes
- `class` and `classes` are now reserved keywords.
- `text-transform` is now a reserved keyword.

View file

@ -364,12 +364,17 @@ func compile(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, rende
if user, err := user.Current(); err == nil {
username = user.Username
}
description := "Presentation auto-generated by D2 - https://d2lang.com/"
description := "Presentation generated with D2 - https://d2lang.com/"
rootName := getFileName(outputPath)
// version must be only numbers to avoid issues with PowerPoint
p := pptx.NewPresentation(rootName, description, rootName, username, version.OnlyNumbers())
<<<<<<< HEAD
boardIdToIndex := buildBoardIdToIndex(diagram, nil, nil)
err := renderPPTX(ctx, ms, p, plugin, renderOpts, ruler, outputPath, page, diagram, nil, boardIdToIndex)
=======
svg, err := renderPPTX(ctx, ms, p, plugin, renderOpts, outputPath, page, diagram, nil)
>>>>>>> gh-821-ppt
if err != nil {
return nil, false, err
}
@ -379,7 +384,7 @@ func compile(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, rende
}
dur := time.Since(start)
ms.Log.Success.Printf("successfully compiled %s to %s in %s", ms.HumanPath(inputPath), ms.HumanPath(outputPath), dur)
return nil, true, nil
return svg, true, nil
default:
compileDur := time.Since(start)
if animateInterval <= 0 {
@ -397,7 +402,7 @@ func compile(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, rende
}
var out []byte
if len(boards) > 0 {
out := boards[0]
out = boards[0]
if animateInterval > 0 {
out, err = d2animate.Wrap(diagram, boards, renderOpts, int(animateInterval))
if err != nil {
@ -758,7 +763,11 @@ func renderPDF(ctx context.Context, ms *xmain.State, plugin d2plugin.Plugin, opt
return svg, nil
}
<<<<<<< HEAD
func renderPPTX(ctx context.Context, ms *xmain.State, presentation *pptx.Presentation, plugin d2plugin.Plugin, opts d2svg.RenderOpts, ruler *textmeasure.Ruler, outputPath string, page playwright.Page, diagram *d2target.Diagram, boardPath []string, boardIdToIndex map[string]int) error {
=======
func renderPPTX(ctx context.Context, ms *xmain.State, presentation *pptx.Presentation, plugin d2plugin.Plugin, opts d2svg.RenderOpts, outputPath string, page playwright.Page, diagram *d2target.Diagram, boardPath []string) ([]byte, error) {
>>>>>>> gh-821-ppt
var currBoardPath []string
// Root board doesn't have a name, so we use the output filename
if diagram.Name == "" {
@ -767,31 +776,33 @@ func renderPPTX(ctx context.Context, ms *xmain.State, presentation *pptx.Present
currBoardPath = append(boardPath, diagram.Name)
}
var svg []byte
if !diagram.IsFolderOnly {
// gofpdf will print the png img with a slight filter
// make the bg fill within the png transparent so that the pdf bg fill is the only bg color present
diagram.Root.Fill = "transparent"
svg, err := d2svg.Render(diagram, &d2svg.RenderOpts{
var err error
svg, err = d2svg.Render(diagram, &d2svg.RenderOpts{
Pad: opts.Pad,
Sketch: opts.Sketch,
Center: opts.Center,
SetDimensions: true,
})
if err != nil {
return err
return nil, err
}
svg, err = plugin.PostProcess(ctx, svg)
if err != nil {
return err
return nil, err
}
svg, bundleErr := imgbundler.BundleLocal(ctx, ms, svg)
svg, bundleErr2 := imgbundler.BundleRemote(ctx, ms, svg)
bundleErr = multierr.Combine(bundleErr, bundleErr2)
if bundleErr != nil {
return bundleErr
return nil, bundleErr
}
svg = appendix.Append(diagram, ruler, svg)
@ -800,12 +811,12 @@ func renderPPTX(ctx context.Context, ms *xmain.State, presentation *pptx.Present
pngScale := 2.
pngImg, err := png.ConvertSVG(ms, page, svg)
if err != nil {
return err
return nil, err
}
slide, err := presentation.AddSlide(pngImg, diagram, currBoardPath)
if err != nil {
return err
return nil, err
}
viewboxSlice := appendix.FindViewboxSlice(svg)
@ -848,26 +859,37 @@ func renderPPTX(ctx context.Context, ms *xmain.State, presentation *pptx.Present
}
for _, dl := range diagram.Layers {
<<<<<<< HEAD
err := renderPPTX(ctx, ms, presentation, plugin, opts, ruler, "", page, dl, currBoardPath, boardIdToIndex)
=======
_, err := renderPPTX(ctx, ms, presentation, plugin, opts, "", page, dl, currBoardPath)
>>>>>>> gh-821-ppt
if err != nil {
return err
return nil, err
}
}
for _, dl := range diagram.Scenarios {
<<<<<<< HEAD
err := renderPPTX(ctx, ms, presentation, plugin, opts, ruler, "", page, dl, currBoardPath, boardIdToIndex)
=======
_, err := renderPPTX(ctx, ms, presentation, plugin, opts, "", page, dl, currBoardPath)
>>>>>>> gh-821-ppt
if err != nil {
return err
return nil, err
}
}
for _, dl := range diagram.Steps {
<<<<<<< HEAD
err := renderPPTX(ctx, ms, presentation, plugin, opts, ruler, "", page, dl, currBoardPath, boardIdToIndex)
=======
_, err := renderPPTX(ctx, ms, presentation, plugin, opts, "", page, dl, currBoardPath)
>>>>>>> gh-821-ppt
if err != nil {
return err
return nil, err
}
}
// TODO: return SVG?
return nil
return svg, nil
}
// newExt must include leading .
@ -882,9 +904,7 @@ func renameExt(fp string, newExt string) string {
func getFileName(path string) string {
ext := filepath.Ext(path)
trimmedPath := strings.TrimSuffix(path, ext)
splitPath := strings.Split(trimmedPath, "/")
return splitPath[len(splitPath)-1]
return strings.TrimSuffix(filepath.Base(path), ext)
}
// TODO: remove after removing slog

View file

@ -500,6 +500,8 @@ func compileStyleFieldInit(attrs *d2graph.Attributes, f *d2ir.Field) {
attrs.Left = &d2graph.Scalar{MapKey: f.LastPrimaryKey()}
case "double-border":
attrs.Style.DoubleBorder = &d2graph.Scalar{MapKey: f.LastPrimaryKey()}
case "text-transform":
attrs.Style.TextTransform = &d2graph.Scalar{MapKey: f.LastPrimaryKey()}
}
}

View file

@ -2257,6 +2257,17 @@ layers: {
}`,
expErr: `d2/testdata/d2compiler/TestCompile/link-board-underscore-not-found.d2:7:9: invalid underscore usage`,
},
{
name: "text-transform",
text: `direction: right
x -> y: hi {
style: {
text-transform: capitalize
}
}
x.style.text-transform: uppercase
y.style.text-transform: lowercase`,
},
{
name: "near_near_const",
text: `

View file

@ -10,6 +10,9 @@ import (
"strconv"
"strings"
"golang.org/x/text/cases"
"golang.org/x/text/language"
"oss.terrastruct.com/util-go/go2"
"oss.terrastruct.com/d2/d2ast"
@ -141,6 +144,25 @@ type Attributes struct {
Classes []string `json:"classes,omitempty"`
}
// ApplyTextTransform will alter the `Label.Value` of the current object based
// on the specification of the `text-transform` styling option. This function
// has side-effects!
func (a *Attributes) ApplyTextTransform() {
if a.Style.NoneTextTransform() {
return
}
if a.Style.TextTransform != nil && a.Style.TextTransform.Value == "uppercase" {
a.Label.Value = strings.ToUpper(a.Label.Value)
}
if a.Style.TextTransform != nil && a.Style.TextTransform.Value == "lowercase" {
a.Label.Value = strings.ToLower(a.Label.Value)
}
if a.Style.TextTransform != nil && a.Style.TextTransform.Value == "capitalize" {
a.Label.Value = cases.Title(language.Und).String(a.Label.Value)
}
}
// TODO references at the root scope should have their Scope set to root graph AST
type Reference struct {
Key *d2ast.KeyPath `json:"key"`
@ -161,25 +183,33 @@ func (r Reference) InEdge() bool {
}
type Style struct {
Opacity *Scalar `json:"opacity,omitempty"`
Stroke *Scalar `json:"stroke,omitempty"`
Fill *Scalar `json:"fill,omitempty"`
FillPattern *Scalar `json:"fillPattern,omitempty"`
StrokeWidth *Scalar `json:"strokeWidth,omitempty"`
StrokeDash *Scalar `json:"strokeDash,omitempty"`
BorderRadius *Scalar `json:"borderRadius,omitempty"`
Shadow *Scalar `json:"shadow,omitempty"`
ThreeDee *Scalar `json:"3d,omitempty"`
Multiple *Scalar `json:"multiple,omitempty"`
Font *Scalar `json:"font,omitempty"`
FontSize *Scalar `json:"fontSize,omitempty"`
FontColor *Scalar `json:"fontColor,omitempty"`
Animated *Scalar `json:"animated,omitempty"`
Bold *Scalar `json:"bold,omitempty"`
Italic *Scalar `json:"italic,omitempty"`
Underline *Scalar `json:"underline,omitempty"`
Filled *Scalar `json:"filled,omitempty"`
DoubleBorder *Scalar `json:"doubleBorder,omitempty"`
Opacity *Scalar `json:"opacity,omitempty"`
Stroke *Scalar `json:"stroke,omitempty"`
Fill *Scalar `json:"fill,omitempty"`
FillPattern *Scalar `json:"fillPattern,omitempty"`
StrokeWidth *Scalar `json:"strokeWidth,omitempty"`
StrokeDash *Scalar `json:"strokeDash,omitempty"`
BorderRadius *Scalar `json:"borderRadius,omitempty"`
Shadow *Scalar `json:"shadow,omitempty"`
ThreeDee *Scalar `json:"3d,omitempty"`
Multiple *Scalar `json:"multiple,omitempty"`
Font *Scalar `json:"font,omitempty"`
FontSize *Scalar `json:"fontSize,omitempty"`
FontColor *Scalar `json:"fontColor,omitempty"`
Animated *Scalar `json:"animated,omitempty"`
Bold *Scalar `json:"bold,omitempty"`
Italic *Scalar `json:"italic,omitempty"`
Underline *Scalar `json:"underline,omitempty"`
Filled *Scalar `json:"filled,omitempty"`
DoubleBorder *Scalar `json:"doubleBorder,omitempty"`
TextTransform *Scalar `json:"textTransform,omitempty"`
}
// NoneTextTransform will return a boolean if the text should not have any
// transformation applied. This should overwrite theme specific transformations
// like `CapsLock` from the `terminal` theme.
func (s Style) NoneTextTransform() bool {
return s.TextTransform != nil && s.TextTransform.Value == "none"
}
func (s *Style) Apply(key, value string) error {
@ -350,6 +380,14 @@ func (s *Style) Apply(key, value string) error {
return errors.New(`expected "double-border" to be true or false`)
}
s.DoubleBorder.Value = value
case "text-transform":
if s.TextTransform == nil {
break
}
if !go2.Contains(textTransforms, strings.ToLower(value)) {
return fmt.Errorf(`expected "text-transform" to be one of (%s)`, strings.Join(textTransforms, ", "))
}
s.TextTransform.Value = value
default:
return fmt.Errorf("unknown style key: %s", key)
}
@ -1329,10 +1367,11 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
}
if g.Theme != nil && g.Theme.SpecialRules.CapsLock && !strings.EqualFold(obj.Attributes.Shape.Value, d2target.ShapeCode) {
if obj.Attributes.Language != "latex" {
if obj.Attributes.Language != "latex" && !obj.Attributes.Style.NoneTextTransform() {
obj.Attributes.Label.Value = strings.ToUpper(obj.Attributes.Label.Value)
}
}
obj.Attributes.ApplyTextTransform()
labelDims, err := obj.GetLabelSize(mtexts, ruler, fontFamily)
if err != nil {
@ -1451,9 +1490,11 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
continue
}
if g.Theme != nil && g.Theme.SpecialRules.CapsLock {
if g.Theme != nil && g.Theme.SpecialRules.CapsLock && !edge.Attributes.Style.NoneTextTransform() {
edge.Attributes.Label.Value = strings.ToUpper(edge.Attributes.Label.Value)
}
edge.Attributes.ApplyTextTransform()
usedFont := fontFamily
if edge.Attributes.Style.Font != nil {
f := d2fonts.D2_FONT_TO_FAMILY[edge.Attributes.Style.Font.Value]
@ -1479,9 +1520,10 @@ func (g *Graph) Texts() []*d2target.MText {
for _, obj := range g.Objects {
if obj.Attributes.Label.Value != "" {
obj.Attributes.ApplyTextTransform()
text := obj.Text()
if capsLock && !strings.EqualFold(obj.Attributes.Shape.Value, d2target.ShapeCode) {
if obj.Attributes.Language != "latex" {
if obj.Attributes.Language != "latex" && !obj.Attributes.Style.NoneTextTransform() {
text.Text = strings.ToUpper(text.Text)
}
}
@ -1512,8 +1554,9 @@ func (g *Graph) Texts() []*d2target.MText {
}
for _, edge := range g.Edges {
if edge.Attributes.Label.Value != "" {
edge.Attributes.ApplyTextTransform()
text := edge.Text()
if capsLock {
if capsLock && !edge.Attributes.Style.NoneTextTransform() {
text.Text = strings.ToUpper(text.Text)
}
texts = appendTextDedup(texts, text)
@ -1582,12 +1625,13 @@ var StyleKeywords = map[string]struct{}{
"border-radius": {},
// Only for text
"font": {},
"font-size": {},
"font-color": {},
"bold": {},
"italic": {},
"underline": {},
"font": {},
"font-size": {},
"font-color": {},
"bold": {},
"italic": {},
"underline": {},
"text-transform": {},
// Only for shapes
"shadow": {},
@ -1625,6 +1669,8 @@ var FillPatterns = []string{
"paper",
}
var textTransforms = []string{"none", "uppercase", "lowercase", "capitalize"}
// BoardKeywords contains the keywords that create new boards.
var BoardKeywords = map[string]struct{}{
"layers": {},

View file

@ -59,6 +59,9 @@ func Layout(ctx context.Context, g *d2graph.Graph, constantNearGraphs []*d2graph
if processCenters == strings.Contains(d2graph.Key(obj.Attributes.NearKey)[0], "-center") {
// The z-index for constant nears does not matter, as it will not collide
g.Objects = append(g.Objects, tempGraph.Objects...)
if obj.Parent.Children == nil {
obj.Parent.Children = make(map[string]*d2graph.Object)
}
obj.Parent.Children[strings.ToLower(obj.ID)] = obj
obj.Parent.ChildrenArray = append(obj.Parent.ChildrenArray, obj)
g.Edges = append(g.Edges, tempGraph.Edges...)

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1976235645 .text-bold {
font-family: "d2-1976235645-font-bold";
}

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 127 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1976235645 .text-bold {
font-family: "d2-1976235645-font-bold";
}

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1762467727 .text {
font-family: "d2-1762467727-font-regular";
}

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1762467727 .text {
font-family: "d2-1762467727-font-regular";
}

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-981471403 .text-bold {
font-family: "d2-981471403-font-bold";
}

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 125 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-981471403 .text-bold {
font-family: "d2-981471403-font-bold";
}

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3092019906 .text-bold {
font-family: "d2-3092019906-font-bold";
}

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3092019906 .text-bold {
font-family: "d2-3092019906-font-bold";
}

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-916383956 .text {
font-family: "d2-916383956-font-regular";
}

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-916383956 .text {
font-family: "d2-916383956-font-regular";
}

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3945613123 .text-mono {
font-family: "d2-3945613123-font-mono";
}

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1416 386"><svg id="d2-svg" class="d2-2363156786" width="1416" height="386" viewBox="-101 -101 1416 386"><rect x="-101.000000" y="-101.000000" width="1416.000000" height="386.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1416 386"><svg id="d2-svg" class="d2-2363156786" width="1416" height="386" viewBox="-101 -101 1416 386"><rect x="-101.000000" y="-101.000000" width="1416.000000" height="386.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2363156786 .text {
font-family: "d2-2363156786-font-regular";
}

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3945613123 .text-mono {
font-family: "d2-3945613123-font-mono";
}

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4211261339 .text-bold {
font-family: "d2-4211261339-font-bold";
}

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4211261339 .text-bold {
font-family: "d2-4211261339-font-bold";
}

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1740 600"><svg id="d2-svg" class="d2-3026542546" width="1740" height="600" viewBox="-101 -101 1740 600"><rect x="-101.000000" y="-101.000000" width="1740.000000" height="600.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1740 600"><svg id="d2-svg" class="d2-3026542546" width="1740" height="600" viewBox="-101 -101 1740 600"><rect x="-101.000000" y="-101.000000" width="1740.000000" height="600.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3026542546 .text-bold {
font-family: "d2-3026542546-font-bold";
}

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 161 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1740 600"><svg id="d2-svg" class="d2-3026542546" width="1740" height="600" viewBox="-101 -101 1740 600"><rect x="-101.000000" y="-101.000000" width="1740.000000" height="600.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1740 600"><svg id="d2-svg" class="d2-3026542546" width="1740" height="600" viewBox="-101 -101 1740 600"><rect x="-101.000000" y="-101.000000" width="1740.000000" height="600.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3026542546 .text-bold {
font-family: "d2-3026542546-font-bold";
}

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 152 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 383 287"><svg id="d2-svg" class="d2-1134711225" width="383" height="287" viewBox="-101 -117 383 287"><rect x="-101.000000" y="-117.000000" width="383.000000" height="287.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 383 287"><svg id="d2-svg" class="d2-1134711225" width="383" height="287" viewBox="-101 -117 383 287"><rect x="-101.000000" y="-117.000000" width="383.000000" height="287.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1134711225 .text-bold {
font-family: "d2-1134711225-font-bold";
}

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-2992813030" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-2992813030" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2992813030 .text-bold {
font-family: "d2-2992813030-font-bold";
}

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 162 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1411 721"><svg id="d2-svg" class="d2-3127969509" width="1411" height="721" viewBox="-101 -112 1411 721"><rect x="-101.000000" y="-112.000000" width="1411.000000" height="721.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1411 721"><svg id="d2-svg" class="d2-3127969509" width="1411" height="721" viewBox="-101 -112 1411 721"><rect x="-101.000000" y="-112.000000" width="1411.000000" height="721.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3127969509 .text-bold {
font-family: "d2-3127969509-font-bold";
}

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1082 1002"><svg id="d2-svg" class="d2-1107823994" width="1082" height="1002" viewBox="-101 -100 1082 1002"><rect x="-101.000000" y="-100.000000" width="1082.000000" height="1002.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1082 1002"><svg id="d2-svg" class="d2-1107823994" width="1082" height="1002" viewBox="-101 -100 1082 1002"><rect x="-101.000000" y="-100.000000" width="1082.000000" height="1002.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1107823994 .text-mono {
font-family: "d2-1107823994-font-mono";
}

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 942 367"><svg id="d2-svg" class="d2-3223990890" width="942" height="367" viewBox="-101 -100 942 367"><rect x="-101.000000" y="-100.000000" width="942.000000" height="367.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 942 367"><svg id="d2-svg" class="d2-3223990890" width="942" height="367" viewBox="-101 -100 942 367"><rect x="-101.000000" y="-100.000000" width="942.000000" height="367.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3223990890 .text {
font-family: "d2-3223990890-font-regular";
}

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 337 560"><svg id="d2-svg" class="d2-1972917360" width="337" height="560" viewBox="-89 -89 337 560"><rect x="-89.000000" y="-89.000000" width="337.000000" height="560.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 337 560"><svg id="d2-svg" class="d2-1972917360" width="337" height="560" viewBox="-89 -89 337 560"><rect x="-89.000000" y="-89.000000" width="337.000000" height="560.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1972917360 .text-bold {
font-family: "d2-1972917360-font-bold";
}

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-710463437 .text {
font-family: "d2-710463437-font-regular";
}
@ -103,31 +103,31 @@
.d2-710463437 .color-AA4{color:#EDF0FD;}
.d2-710463437 .color-AA5{color:#F7F8FE;}
.d2-710463437 .color-AB4{color:#EDF0FD;}
.d2-710463437 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.md em,
.md dfn {
.d2-710463437 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.d2-710463437 .md em,
.d2-710463437 .md dfn {
font-family: "d2-710463437-font-italic";
}
.md b,
.md strong {
.d2-710463437 .md b,
.d2-710463437 .md strong {
font-family: "d2-710463437-font-bold";
}
.md code,
.md kbd,
.md pre,
.md samp {
.d2-710463437 .md code,
.d2-710463437 .md kbd,
.d2-710463437 .md pre,
.d2-710463437 .md samp {
font-family: "d2-710463437-font-mono";
font-size: 1em;
}
.md {
.d2-710463437 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.md {
.d2-710463437 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
@ -139,41 +139,41 @@
word-wrap: break-word;
}
.md details,
.md figcaption,
.md figure {
.d2-710463437 .md details,
.d2-710463437 .md figcaption,
.d2-710463437 .md figure {
display: block;
}
.md summary {
.d2-710463437 .md summary {
display: list-item;
}
.md [hidden] {
.d2-710463437 .md [hidden] {
display: none !important;
}
.md a {
.d2-710463437 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.md a:active,
.md a:hover {
.d2-710463437 .md a:active,
.d2-710463437 .md a:hover {
outline-width: 0;
}
.md abbr[title] {
.d2-710463437 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.md dfn {
.d2-710463437 .md dfn {
font-style: italic;
}
.md h1 {
.d2-710463437 .md h1 {
margin: 0.67em 0;
font-weight: 600;
padding-bottom: 0.3em;
@ -181,43 +181,43 @@
border-bottom: 1px solid var(--color-border-muted);
}
.md mark {
.d2-710463437 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.md small {
.d2-710463437 .md small {
font-size: 90%;
}
.md sub,
.md sup {
.d2-710463437 .md sub,
.d2-710463437 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.md sub {
.d2-710463437 .md sub {
bottom: -0.25em;
}
.md sup {
.d2-710463437 .md sup {
top: -0.5em;
}
.md img {
.d2-710463437 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.md figure {
.d2-710463437 .md figure {
margin: 1em 40px;
}
.md hr {
.d2-710463437 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
@ -229,7 +229,7 @@
border: 0;
}
.md input {
.d2-710463437 .md input {
font: inherit;
margin: 0;
overflow: visible;
@ -238,72 +238,72 @@
line-height: inherit;
}
.md [type="button"],
.md [type="reset"],
.md [type="submit"] {
.d2-710463437 .md [type="button"],
.d2-710463437 .md [type="reset"],
.d2-710463437 .md [type="submit"] {
-webkit-appearance: button;
}
.md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner {
.d2-710463437 .md [type="button"]::-moz-focus-inner,
.d2-710463437 .md [type="reset"]::-moz-focus-inner,
.d2-710463437 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring {
.d2-710463437 .md [type="button"]:-moz-focusring,
.d2-710463437 .md [type="reset"]:-moz-focusring,
.d2-710463437 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.md [type="checkbox"],
.md [type="radio"] {
.d2-710463437 .md [type="checkbox"],
.d2-710463437 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button {
.d2-710463437 .md [type="number"]::-webkit-inner-spin-button,
.d2-710463437 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.md [type="search"] {
.d2-710463437 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration {
.d2-710463437 .md [type="search"]::-webkit-search-cancel-button,
.d2-710463437 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.md ::-webkit-input-placeholder {
.d2-710463437 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.md ::-webkit-file-upload-button {
.d2-710463437 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.md a:hover {
.d2-710463437 .md a:hover {
text-decoration: underline;
}
.md hr::before {
.d2-710463437 .md hr::before {
display: table;
content: "";
}
.md hr::after {
.d2-710463437 .md hr::after {
display: table;
clear: both;
content: "";
}
.md table {
.d2-710463437 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
@ -312,20 +312,20 @@
overflow: auto;
}
.md td,
.md th {
.d2-710463437 .md td,
.d2-710463437 .md th {
padding: 0;
}
.md details summary {
.d2-710463437 .md details summary {
cursor: pointer;
}
.md details:not([open]) > *:not(summary) {
.d2-710463437 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.md kbd {
.d2-710463437 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
@ -337,12 +337,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {
.d2-710463437 .md h1,
.d2-710463437 .md h2,
.d2-710463437 .md h3,
.d2-710463437 .md h4,
.d2-710463437 .md h5,
.d2-710463437 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
@ -350,222 +350,222 @@
font-family: "d2-710463437-font-regular";
}
.md h2 {
.d2-710463437 .md h2 {
font-weight: 600;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.md h3 {
.d2-710463437 .md h3 {
font-weight: 600;
font-size: 1.25em;
}
.md h4 {
.d2-710463437 .md h4 {
font-weight: 600;
font-size: 1em;
}
.md h5 {
.d2-710463437 .md h5 {
font-weight: 600;
font-size: 0.875em;
}
.md h6 {
.d2-710463437 .md h6 {
font-weight: 600;
font-size: 0.85em;
color: var(--color-fg-muted);
}
.md p {
.d2-710463437 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.md blockquote {
.d2-710463437 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.md ul,
.md ol {
.d2-710463437 .md ul,
.d2-710463437 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.md ol ol,
.md ul ol {
.d2-710463437 .md ol ol,
.d2-710463437 .md ul ol {
list-style-type: lower-roman;
}
.md ul ul ol,
.md ul ol ol,
.md ol ul ol,
.md ol ol ol {
.d2-710463437 .md ul ul ol,
.d2-710463437 .md ul ol ol,
.d2-710463437 .md ol ul ol,
.d2-710463437 .md ol ol ol {
list-style-type: lower-alpha;
}
.md dd {
.d2-710463437 .md dd {
margin-left: 0;
}
.md pre {
.d2-710463437 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.md ::placeholder {
.d2-710463437 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button {
.d2-710463437 .md input::-webkit-outer-spin-button,
.d2-710463437 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.md::before {
.d2-710463437 .md::before {
display: table;
content: "";
}
.md::after {
.d2-710463437 .md::after {
display: table;
clear: both;
content: "";
}
.md > *:first-child {
.d2-710463437 .md > *:first-child {
margin-top: 0 !important;
}
.md > *:last-child {
.d2-710463437 .md > *:last-child {
margin-bottom: 0 !important;
}
.md a:not([href]) {
.d2-710463437 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.md .absent {
.d2-710463437 .md .absent {
color: var(--color-danger-fg);
}
.md .anchor {
.d2-710463437 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.md .anchor:focus {
.d2-710463437 .md .anchor:focus {
outline: none;
}
.md p,
.md blockquote,
.md ul,
.md ol,
.md dl,
.md table,
.md pre,
.md details {
.d2-710463437 .md p,
.d2-710463437 .md blockquote,
.d2-710463437 .md ul,
.d2-710463437 .md ol,
.d2-710463437 .md dl,
.d2-710463437 .md table,
.d2-710463437 .md pre,
.d2-710463437 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.md blockquote > :first-child {
.d2-710463437 .md blockquote > :first-child {
margin-top: 0;
}
.md blockquote > :last-child {
.d2-710463437 .md blockquote > :last-child {
margin-bottom: 0;
}
.md sup > a::before {
.d2-710463437 .md sup > a::before {
content: "[";
}
.md sup > a::after {
.d2-710463437 .md sup > a::after {
content: "]";
}
.md h1:hover .anchor,
.md h2:hover .anchor,
.md h3:hover .anchor,
.md h4:hover .anchor,
.md h5:hover .anchor,
.md h6:hover .anchor {
.d2-710463437 .md h1:hover .anchor,
.d2-710463437 .md h2:hover .anchor,
.d2-710463437 .md h3:hover .anchor,
.d2-710463437 .md h4:hover .anchor,
.d2-710463437 .md h5:hover .anchor,
.d2-710463437 .md h6:hover .anchor {
text-decoration: none;
}
.md h1 tt,
.md h1 code,
.md h2 tt,
.md h2 code,
.md h3 tt,
.md h3 code,
.md h4 tt,
.md h4 code,
.md h5 tt,
.md h5 code,
.md h6 tt,
.md h6 code {
.d2-710463437 .md h1 tt,
.d2-710463437 .md h1 code,
.d2-710463437 .md h2 tt,
.d2-710463437 .md h2 code,
.d2-710463437 .md h3 tt,
.d2-710463437 .md h3 code,
.d2-710463437 .md h4 tt,
.d2-710463437 .md h4 code,
.d2-710463437 .md h5 tt,
.d2-710463437 .md h5 code,
.d2-710463437 .md h6 tt,
.d2-710463437 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.md ul.no-list,
.md ol.no-list {
.d2-710463437 .md ul.no-list,
.d2-710463437 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.md ol[type="1"] {
.d2-710463437 .md ol[type="1"] {
list-style-type: decimal;
}
.md ol[type="a"] {
.d2-710463437 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.md ol[type="i"] {
.d2-710463437 .md ol[type="i"] {
list-style-type: lower-roman;
}
.md div > ol:not([type]) {
.d2-710463437 .md div > ol:not([type]) {
list-style-type: decimal;
}
.md ul ul,
.md ul ol,
.md ol ol,
.md ol ul {
.d2-710463437 .md ul ul,
.d2-710463437 .md ul ol,
.d2-710463437 .md ol ol,
.d2-710463437 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.md li > p {
.d2-710463437 .md li > p {
margin-top: 16px;
}
.md li + li {
.d2-710463437 .md li + li {
margin-top: 0.25em;
}
.md dl {
.d2-710463437 .md dl {
padding: 0;
}
.md dl dt {
.d2-710463437 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
@ -573,48 +573,48 @@
font-weight: 600;
}
.md dl dd {
.d2-710463437 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.md table th {
.d2-710463437 .md table th {
font-weight: 600;
}
.md table th,
.md table td {
.d2-710463437 .md table th,
.d2-710463437 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.md table tr {
.d2-710463437 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.md table tr:nth-child(2n) {
.d2-710463437 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.md table img {
.d2-710463437 .md table img {
background-color: transparent;
}
.md img[align="right"] {
.d2-710463437 .md img[align="right"] {
padding-left: 20px;
}
.md img[align="left"] {
.d2-710463437 .md img[align="left"] {
padding-right: 20px;
}
.md span.frame {
.d2-710463437 .md span.frame {
display: block;
overflow: hidden;
}
.md span.frame > span {
.d2-710463437 .md span.frame > span {
display: block;
float: left;
width: auto;
@ -624,81 +624,81 @@
border: 1px solid var(--color-border-default);
}
.md span.frame span img {
.d2-710463437 .md span.frame span img {
display: block;
float: left;
}
.md span.frame span span {
.d2-710463437 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.md span.align-center {
.d2-710463437 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-center > span {
.d2-710463437 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.md span.align-center span img {
.d2-710463437 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.md span.align-right {
.d2-710463437 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-right > span {
.d2-710463437 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.md span.align-right span img {
.d2-710463437 .md span.align-right span img {
margin: 0;
text-align: right;
}
.md span.float-left {
.d2-710463437 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.md span.float-left span {
.d2-710463437 .md span.float-left span {
margin: 13px 0 0;
}
.md span.float-right {
.d2-710463437 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.md span.float-right > span {
.d2-710463437 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.md code,
.md tt {
.d2-710463437 .md code,
.d2-710463437 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
@ -706,20 +706,20 @@
border-radius: 6px;
}
.md code br,
.md tt br {
.d2-710463437 .md code br,
.d2-710463437 .md tt br {
display: none;
}
.md del code {
.d2-710463437 .md del code {
text-decoration: inherit;
}
.md pre code {
.d2-710463437 .md pre code {
font-size: 100%;
}
.md pre > code {
.d2-710463437 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
@ -728,17 +728,17 @@
border: 0;
}
.md .highlight {
.d2-710463437 .md .highlight {
margin-bottom: 16px;
}
.md .highlight pre {
.d2-710463437 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.md .highlight pre,
.md pre {
.d2-710463437 .md .highlight pre,
.d2-710463437 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
@ -747,8 +747,8 @@
border-radius: 6px;
}
.md pre code,
.md pre tt {
.d2-710463437 .md pre code,
.d2-710463437 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
@ -760,8 +760,8 @@
border: 0;
}
.md .csv-data td,
.md .csv-data th {
.d2-710463437 .md .csv-data td,
.d2-710463437 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
@ -770,38 +770,38 @@
white-space: nowrap;
}
.md .csv-data .blob-num {
.d2-710463437 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.md .csv-data tr {
.d2-710463437 .md .csv-data tr {
border-top: 0;
}
.md .csv-data th {
.d2-710463437 .md .csv-data th {
font-weight: 600;
background: var(--color-canvas-subtle);
border-top: 0;
}
.md .footnotes {
.d2-710463437 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.md .footnotes ol {
.d2-710463437 .md .footnotes ol {
padding-left: 16px;
}
.md .footnotes li {
.d2-710463437 .md .footnotes li {
position: relative;
}
.md .footnotes li:target::before {
.d2-710463437 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
@ -813,36 +813,36 @@
border-radius: 6px;
}
.md .footnotes li:target {
.d2-710463437 .md .footnotes li:target {
color: var(--color-fg-default);
}
.md .task-list-item {
.d2-710463437 .md .task-list-item {
list-style-type: none;
}
.md .task-list-item label {
.d2-710463437 .md .task-list-item label {
font-weight: 400;
}
.md .task-list-item.enabled label {
.d2-710463437 .md .task-list-item.enabled label {
cursor: pointer;
}
.md .task-list-item + .task-list-item {
.d2-710463437 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.md .task-list-item .handle {
.d2-710463437 .md .task-list-item .handle {
display: none;
}
.md .task-list-item-checkbox {
.d2-710463437 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.md .contains-task-list:dir(rtl) .task-list-item-checkbox {
.d2-710463437 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 91 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-710463437 .text {
font-family: "d2-710463437-font-regular";
}
@ -103,31 +103,31 @@
.d2-710463437 .color-AA4{color:#45475A;}
.d2-710463437 .color-AA5{color:#313244;}
.d2-710463437 .color-AB4{color:#45475A;}
.d2-710463437 .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);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.md em,
.md dfn {
.d2-710463437 .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);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.d2-710463437 .md em,
.d2-710463437 .md dfn {
font-family: "d2-710463437-font-italic";
}
.md b,
.md strong {
.d2-710463437 .md b,
.d2-710463437 .md strong {
font-family: "d2-710463437-font-bold";
}
.md code,
.md kbd,
.md pre,
.md samp {
.d2-710463437 .md code,
.d2-710463437 .md kbd,
.d2-710463437 .md pre,
.d2-710463437 .md samp {
font-family: "d2-710463437-font-mono";
font-size: 1em;
}
.md {
.d2-710463437 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.md {
.d2-710463437 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
@ -139,41 +139,41 @@
word-wrap: break-word;
}
.md details,
.md figcaption,
.md figure {
.d2-710463437 .md details,
.d2-710463437 .md figcaption,
.d2-710463437 .md figure {
display: block;
}
.md summary {
.d2-710463437 .md summary {
display: list-item;
}
.md [hidden] {
.d2-710463437 .md [hidden] {
display: none !important;
}
.md a {
.d2-710463437 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.md a:active,
.md a:hover {
.d2-710463437 .md a:active,
.d2-710463437 .md a:hover {
outline-width: 0;
}
.md abbr[title] {
.d2-710463437 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.md dfn {
.d2-710463437 .md dfn {
font-style: italic;
}
.md h1 {
.d2-710463437 .md h1 {
margin: 0.67em 0;
font-weight: 600;
padding-bottom: 0.3em;
@ -181,43 +181,43 @@
border-bottom: 1px solid var(--color-border-muted);
}
.md mark {
.d2-710463437 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.md small {
.d2-710463437 .md small {
font-size: 90%;
}
.md sub,
.md sup {
.d2-710463437 .md sub,
.d2-710463437 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.md sub {
.d2-710463437 .md sub {
bottom: -0.25em;
}
.md sup {
.d2-710463437 .md sup {
top: -0.5em;
}
.md img {
.d2-710463437 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.md figure {
.d2-710463437 .md figure {
margin: 1em 40px;
}
.md hr {
.d2-710463437 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
@ -229,7 +229,7 @@
border: 0;
}
.md input {
.d2-710463437 .md input {
font: inherit;
margin: 0;
overflow: visible;
@ -238,72 +238,72 @@
line-height: inherit;
}
.md [type="button"],
.md [type="reset"],
.md [type="submit"] {
.d2-710463437 .md [type="button"],
.d2-710463437 .md [type="reset"],
.d2-710463437 .md [type="submit"] {
-webkit-appearance: button;
}
.md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner {
.d2-710463437 .md [type="button"]::-moz-focus-inner,
.d2-710463437 .md [type="reset"]::-moz-focus-inner,
.d2-710463437 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring {
.d2-710463437 .md [type="button"]:-moz-focusring,
.d2-710463437 .md [type="reset"]:-moz-focusring,
.d2-710463437 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.md [type="checkbox"],
.md [type="radio"] {
.d2-710463437 .md [type="checkbox"],
.d2-710463437 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button {
.d2-710463437 .md [type="number"]::-webkit-inner-spin-button,
.d2-710463437 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.md [type="search"] {
.d2-710463437 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration {
.d2-710463437 .md [type="search"]::-webkit-search-cancel-button,
.d2-710463437 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.md ::-webkit-input-placeholder {
.d2-710463437 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.md ::-webkit-file-upload-button {
.d2-710463437 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.md a:hover {
.d2-710463437 .md a:hover {
text-decoration: underline;
}
.md hr::before {
.d2-710463437 .md hr::before {
display: table;
content: "";
}
.md hr::after {
.d2-710463437 .md hr::after {
display: table;
clear: both;
content: "";
}
.md table {
.d2-710463437 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
@ -312,20 +312,20 @@
overflow: auto;
}
.md td,
.md th {
.d2-710463437 .md td,
.d2-710463437 .md th {
padding: 0;
}
.md details summary {
.d2-710463437 .md details summary {
cursor: pointer;
}
.md details:not([open]) > *:not(summary) {
.d2-710463437 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.md kbd {
.d2-710463437 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
@ -337,12 +337,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {
.d2-710463437 .md h1,
.d2-710463437 .md h2,
.d2-710463437 .md h3,
.d2-710463437 .md h4,
.d2-710463437 .md h5,
.d2-710463437 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
@ -350,222 +350,222 @@
font-family: "d2-710463437-font-regular";
}
.md h2 {
.d2-710463437 .md h2 {
font-weight: 600;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.md h3 {
.d2-710463437 .md h3 {
font-weight: 600;
font-size: 1.25em;
}
.md h4 {
.d2-710463437 .md h4 {
font-weight: 600;
font-size: 1em;
}
.md h5 {
.d2-710463437 .md h5 {
font-weight: 600;
font-size: 0.875em;
}
.md h6 {
.d2-710463437 .md h6 {
font-weight: 600;
font-size: 0.85em;
color: var(--color-fg-muted);
}
.md p {
.d2-710463437 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.md blockquote {
.d2-710463437 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.md ul,
.md ol {
.d2-710463437 .md ul,
.d2-710463437 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.md ol ol,
.md ul ol {
.d2-710463437 .md ol ol,
.d2-710463437 .md ul ol {
list-style-type: lower-roman;
}
.md ul ul ol,
.md ul ol ol,
.md ol ul ol,
.md ol ol ol {
.d2-710463437 .md ul ul ol,
.d2-710463437 .md ul ol ol,
.d2-710463437 .md ol ul ol,
.d2-710463437 .md ol ol ol {
list-style-type: lower-alpha;
}
.md dd {
.d2-710463437 .md dd {
margin-left: 0;
}
.md pre {
.d2-710463437 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.md ::placeholder {
.d2-710463437 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button {
.d2-710463437 .md input::-webkit-outer-spin-button,
.d2-710463437 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.md::before {
.d2-710463437 .md::before {
display: table;
content: "";
}
.md::after {
.d2-710463437 .md::after {
display: table;
clear: both;
content: "";
}
.md > *:first-child {
.d2-710463437 .md > *:first-child {
margin-top: 0 !important;
}
.md > *:last-child {
.d2-710463437 .md > *:last-child {
margin-bottom: 0 !important;
}
.md a:not([href]) {
.d2-710463437 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.md .absent {
.d2-710463437 .md .absent {
color: var(--color-danger-fg);
}
.md .anchor {
.d2-710463437 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.md .anchor:focus {
.d2-710463437 .md .anchor:focus {
outline: none;
}
.md p,
.md blockquote,
.md ul,
.md ol,
.md dl,
.md table,
.md pre,
.md details {
.d2-710463437 .md p,
.d2-710463437 .md blockquote,
.d2-710463437 .md ul,
.d2-710463437 .md ol,
.d2-710463437 .md dl,
.d2-710463437 .md table,
.d2-710463437 .md pre,
.d2-710463437 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.md blockquote > :first-child {
.d2-710463437 .md blockquote > :first-child {
margin-top: 0;
}
.md blockquote > :last-child {
.d2-710463437 .md blockquote > :last-child {
margin-bottom: 0;
}
.md sup > a::before {
.d2-710463437 .md sup > a::before {
content: "[";
}
.md sup > a::after {
.d2-710463437 .md sup > a::after {
content: "]";
}
.md h1:hover .anchor,
.md h2:hover .anchor,
.md h3:hover .anchor,
.md h4:hover .anchor,
.md h5:hover .anchor,
.md h6:hover .anchor {
.d2-710463437 .md h1:hover .anchor,
.d2-710463437 .md h2:hover .anchor,
.d2-710463437 .md h3:hover .anchor,
.d2-710463437 .md h4:hover .anchor,
.d2-710463437 .md h5:hover .anchor,
.d2-710463437 .md h6:hover .anchor {
text-decoration: none;
}
.md h1 tt,
.md h1 code,
.md h2 tt,
.md h2 code,
.md h3 tt,
.md h3 code,
.md h4 tt,
.md h4 code,
.md h5 tt,
.md h5 code,
.md h6 tt,
.md h6 code {
.d2-710463437 .md h1 tt,
.d2-710463437 .md h1 code,
.d2-710463437 .md h2 tt,
.d2-710463437 .md h2 code,
.d2-710463437 .md h3 tt,
.d2-710463437 .md h3 code,
.d2-710463437 .md h4 tt,
.d2-710463437 .md h4 code,
.d2-710463437 .md h5 tt,
.d2-710463437 .md h5 code,
.d2-710463437 .md h6 tt,
.d2-710463437 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.md ul.no-list,
.md ol.no-list {
.d2-710463437 .md ul.no-list,
.d2-710463437 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.md ol[type="1"] {
.d2-710463437 .md ol[type="1"] {
list-style-type: decimal;
}
.md ol[type="a"] {
.d2-710463437 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.md ol[type="i"] {
.d2-710463437 .md ol[type="i"] {
list-style-type: lower-roman;
}
.md div > ol:not([type]) {
.d2-710463437 .md div > ol:not([type]) {
list-style-type: decimal;
}
.md ul ul,
.md ul ol,
.md ol ol,
.md ol ul {
.d2-710463437 .md ul ul,
.d2-710463437 .md ul ol,
.d2-710463437 .md ol ol,
.d2-710463437 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.md li > p {
.d2-710463437 .md li > p {
margin-top: 16px;
}
.md li + li {
.d2-710463437 .md li + li {
margin-top: 0.25em;
}
.md dl {
.d2-710463437 .md dl {
padding: 0;
}
.md dl dt {
.d2-710463437 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
@ -573,48 +573,48 @@
font-weight: 600;
}
.md dl dd {
.d2-710463437 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.md table th {
.d2-710463437 .md table th {
font-weight: 600;
}
.md table th,
.md table td {
.d2-710463437 .md table th,
.d2-710463437 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.md table tr {
.d2-710463437 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.md table tr:nth-child(2n) {
.d2-710463437 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.md table img {
.d2-710463437 .md table img {
background-color: transparent;
}
.md img[align="right"] {
.d2-710463437 .md img[align="right"] {
padding-left: 20px;
}
.md img[align="left"] {
.d2-710463437 .md img[align="left"] {
padding-right: 20px;
}
.md span.frame {
.d2-710463437 .md span.frame {
display: block;
overflow: hidden;
}
.md span.frame > span {
.d2-710463437 .md span.frame > span {
display: block;
float: left;
width: auto;
@ -624,81 +624,81 @@
border: 1px solid var(--color-border-default);
}
.md span.frame span img {
.d2-710463437 .md span.frame span img {
display: block;
float: left;
}
.md span.frame span span {
.d2-710463437 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.md span.align-center {
.d2-710463437 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-center > span {
.d2-710463437 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.md span.align-center span img {
.d2-710463437 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.md span.align-right {
.d2-710463437 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-right > span {
.d2-710463437 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.md span.align-right span img {
.d2-710463437 .md span.align-right span img {
margin: 0;
text-align: right;
}
.md span.float-left {
.d2-710463437 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.md span.float-left span {
.d2-710463437 .md span.float-left span {
margin: 13px 0 0;
}
.md span.float-right {
.d2-710463437 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.md span.float-right > span {
.d2-710463437 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.md code,
.md tt {
.d2-710463437 .md code,
.d2-710463437 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
@ -706,20 +706,20 @@
border-radius: 6px;
}
.md code br,
.md tt br {
.d2-710463437 .md code br,
.d2-710463437 .md tt br {
display: none;
}
.md del code {
.d2-710463437 .md del code {
text-decoration: inherit;
}
.md pre code {
.d2-710463437 .md pre code {
font-size: 100%;
}
.md pre > code {
.d2-710463437 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
@ -728,17 +728,17 @@
border: 0;
}
.md .highlight {
.d2-710463437 .md .highlight {
margin-bottom: 16px;
}
.md .highlight pre {
.d2-710463437 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.md .highlight pre,
.md pre {
.d2-710463437 .md .highlight pre,
.d2-710463437 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
@ -747,8 +747,8 @@
border-radius: 6px;
}
.md pre code,
.md pre tt {
.d2-710463437 .md pre code,
.d2-710463437 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
@ -760,8 +760,8 @@
border: 0;
}
.md .csv-data td,
.md .csv-data th {
.d2-710463437 .md .csv-data td,
.d2-710463437 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
@ -770,38 +770,38 @@
white-space: nowrap;
}
.md .csv-data .blob-num {
.d2-710463437 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.md .csv-data tr {
.d2-710463437 .md .csv-data tr {
border-top: 0;
}
.md .csv-data th {
.d2-710463437 .md .csv-data th {
font-weight: 600;
background: var(--color-canvas-subtle);
border-top: 0;
}
.md .footnotes {
.d2-710463437 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.md .footnotes ol {
.d2-710463437 .md .footnotes ol {
padding-left: 16px;
}
.md .footnotes li {
.d2-710463437 .md .footnotes li {
position: relative;
}
.md .footnotes li:target::before {
.d2-710463437 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
@ -813,36 +813,36 @@
border-radius: 6px;
}
.md .footnotes li:target {
.d2-710463437 .md .footnotes li:target {
color: var(--color-fg-default);
}
.md .task-list-item {
.d2-710463437 .md .task-list-item {
list-style-type: none;
}
.md .task-list-item label {
.d2-710463437 .md .task-list-item label {
font-weight: 400;
}
.md .task-list-item.enabled label {
.d2-710463437 .md .task-list-item.enabled label {
cursor: pointer;
}
.md .task-list-item + .task-list-item {
.d2-710463437 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.md .task-list-item .handle {
.d2-710463437 .md .task-list-item .handle {
display: none;
}
.md .task-list-item-checkbox {
.d2-710463437 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.md .contains-task-list:dir(rtl) .task-list-item-checkbox {
.d2-710463437 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><defs><pattern id="streaks-normal" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 758 268"><svg id="d2-svg" class="d2-2779170942" width="758" height="268" viewBox="-101 -101 758 268"><rect x="-101.000000" y="-101.000000" width="758.000000" height="268.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 758 268"><svg id="d2-svg" class="d2-2779170942" width="758" height="268" viewBox="-101 -101 758 268"><rect x="-101.000000" y="-101.000000" width="758.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2779170942 .text-bold {
font-family: "d2-2779170942-font-bold";
}

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 562 654"><svg id="d2-svg" class="d2-3084549463" width="562" height="654" viewBox="-101 -100 562 654"><rect x="-101.000000" y="-100.000000" width="562.000000" height="654.000000" rx="0.000000" fill="#947A6D" stroke-width="0" /><rect x="-101.000000" y="-100.000000" width="562.000000" height="654.000000" rx="0.000000" class="paper-overlay" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 562 654"><svg id="d2-svg" class="d2-3084549463" width="562" height="654" viewBox="-101 -100 562 654"><rect x="-101.000000" y="-100.000000" width="562.000000" height="654.000000" rx="0.000000" fill="#947A6D" stroke-width="0" /><rect x="-101.000000" y="-100.000000" width="562.000000" height="654.000000" rx="0.000000" class="paper-overlay" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3084549463 .text-mono {
font-family: "d2-3084549463-font-mono";
}

Before

Width:  |  Height:  |  Size: 493 KiB

After

Width:  |  Height:  |  Size: 493 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1201 1179"><svg id="d2-svg" class="d2-2692925945" width="1201" height="1179" viewBox="-106 -160 1201 1179"><rect x="-106.000000" y="-160.000000" width="1201.000000" height="1179.000000" rx="0.000000" stroke="LightSteelBlue" fill="honeydew" stroke-width="0" /><rect x="-101.000000" y="-155.000000" width="1191.000000" height="1169.000000" rx="0.000000" stroke="LightSteelBlue" fill="transparent" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1201 1179"><svg id="d2-svg" class="d2-2692925945" width="1201" height="1179" viewBox="-106 -160 1201 1179"><rect x="-106.000000" y="-160.000000" width="1201.000000" height="1179.000000" rx="0.000000" stroke="LightSteelBlue" fill="honeydew" stroke-width="0" /><rect x="-101.000000" y="-155.000000" width="1191.000000" height="1169.000000" rx="0.000000" stroke="LightSteelBlue" fill="transparent" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2692925945 .text {
font-family: "d2-2692925945-font-regular";
}
@ -96,31 +96,31 @@
.d2-2692925945 .color-AA4{color:#EDF0FD;}
.d2-2692925945 .color-AA5{color:#F7F8FE;}
.d2-2692925945 .color-AB4{color:#EDF0FD;}
.d2-2692925945 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.md em,
.md dfn {
.d2-2692925945 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.d2-2692925945 .md em,
.d2-2692925945 .md dfn {
font-family: "d2-2692925945-font-italic";
}
.md b,
.md strong {
.d2-2692925945 .md b,
.d2-2692925945 .md strong {
font-family: "d2-2692925945-font-bold";
}
.md code,
.md kbd,
.md pre,
.md samp {
.d2-2692925945 .md code,
.d2-2692925945 .md kbd,
.d2-2692925945 .md pre,
.d2-2692925945 .md samp {
font-family: "d2-2692925945-font-mono";
font-size: 1em;
}
.md {
.d2-2692925945 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.md {
.d2-2692925945 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
@ -132,41 +132,41 @@
word-wrap: break-word;
}
.md details,
.md figcaption,
.md figure {
.d2-2692925945 .md details,
.d2-2692925945 .md figcaption,
.d2-2692925945 .md figure {
display: block;
}
.md summary {
.d2-2692925945 .md summary {
display: list-item;
}
.md [hidden] {
.d2-2692925945 .md [hidden] {
display: none !important;
}
.md a {
.d2-2692925945 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.md a:active,
.md a:hover {
.d2-2692925945 .md a:active,
.d2-2692925945 .md a:hover {
outline-width: 0;
}
.md abbr[title] {
.d2-2692925945 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.md dfn {
.d2-2692925945 .md dfn {
font-style: italic;
}
.md h1 {
.d2-2692925945 .md h1 {
margin: 0.67em 0;
font-weight: 600;
padding-bottom: 0.3em;
@ -174,43 +174,43 @@
border-bottom: 1px solid var(--color-border-muted);
}
.md mark {
.d2-2692925945 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.md small {
.d2-2692925945 .md small {
font-size: 90%;
}
.md sub,
.md sup {
.d2-2692925945 .md sub,
.d2-2692925945 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.md sub {
.d2-2692925945 .md sub {
bottom: -0.25em;
}
.md sup {
.d2-2692925945 .md sup {
top: -0.5em;
}
.md img {
.d2-2692925945 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.md figure {
.d2-2692925945 .md figure {
margin: 1em 40px;
}
.md hr {
.d2-2692925945 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
@ -222,7 +222,7 @@
border: 0;
}
.md input {
.d2-2692925945 .md input {
font: inherit;
margin: 0;
overflow: visible;
@ -231,72 +231,72 @@
line-height: inherit;
}
.md [type="button"],
.md [type="reset"],
.md [type="submit"] {
.d2-2692925945 .md [type="button"],
.d2-2692925945 .md [type="reset"],
.d2-2692925945 .md [type="submit"] {
-webkit-appearance: button;
}
.md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner {
.d2-2692925945 .md [type="button"]::-moz-focus-inner,
.d2-2692925945 .md [type="reset"]::-moz-focus-inner,
.d2-2692925945 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring {
.d2-2692925945 .md [type="button"]:-moz-focusring,
.d2-2692925945 .md [type="reset"]:-moz-focusring,
.d2-2692925945 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.md [type="checkbox"],
.md [type="radio"] {
.d2-2692925945 .md [type="checkbox"],
.d2-2692925945 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button {
.d2-2692925945 .md [type="number"]::-webkit-inner-spin-button,
.d2-2692925945 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.md [type="search"] {
.d2-2692925945 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration {
.d2-2692925945 .md [type="search"]::-webkit-search-cancel-button,
.d2-2692925945 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.md ::-webkit-input-placeholder {
.d2-2692925945 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.md ::-webkit-file-upload-button {
.d2-2692925945 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.md a:hover {
.d2-2692925945 .md a:hover {
text-decoration: underline;
}
.md hr::before {
.d2-2692925945 .md hr::before {
display: table;
content: "";
}
.md hr::after {
.d2-2692925945 .md hr::after {
display: table;
clear: both;
content: "";
}
.md table {
.d2-2692925945 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
@ -305,20 +305,20 @@
overflow: auto;
}
.md td,
.md th {
.d2-2692925945 .md td,
.d2-2692925945 .md th {
padding: 0;
}
.md details summary {
.d2-2692925945 .md details summary {
cursor: pointer;
}
.md details:not([open]) > *:not(summary) {
.d2-2692925945 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.md kbd {
.d2-2692925945 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
@ -330,12 +330,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {
.d2-2692925945 .md h1,
.d2-2692925945 .md h2,
.d2-2692925945 .md h3,
.d2-2692925945 .md h4,
.d2-2692925945 .md h5,
.d2-2692925945 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
@ -343,222 +343,222 @@
font-family: "d2-2692925945-font-regular";
}
.md h2 {
.d2-2692925945 .md h2 {
font-weight: 600;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.md h3 {
.d2-2692925945 .md h3 {
font-weight: 600;
font-size: 1.25em;
}
.md h4 {
.d2-2692925945 .md h4 {
font-weight: 600;
font-size: 1em;
}
.md h5 {
.d2-2692925945 .md h5 {
font-weight: 600;
font-size: 0.875em;
}
.md h6 {
.d2-2692925945 .md h6 {
font-weight: 600;
font-size: 0.85em;
color: var(--color-fg-muted);
}
.md p {
.d2-2692925945 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.md blockquote {
.d2-2692925945 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.md ul,
.md ol {
.d2-2692925945 .md ul,
.d2-2692925945 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.md ol ol,
.md ul ol {
.d2-2692925945 .md ol ol,
.d2-2692925945 .md ul ol {
list-style-type: lower-roman;
}
.md ul ul ol,
.md ul ol ol,
.md ol ul ol,
.md ol ol ol {
.d2-2692925945 .md ul ul ol,
.d2-2692925945 .md ul ol ol,
.d2-2692925945 .md ol ul ol,
.d2-2692925945 .md ol ol ol {
list-style-type: lower-alpha;
}
.md dd {
.d2-2692925945 .md dd {
margin-left: 0;
}
.md pre {
.d2-2692925945 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.md ::placeholder {
.d2-2692925945 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button {
.d2-2692925945 .md input::-webkit-outer-spin-button,
.d2-2692925945 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.md::before {
.d2-2692925945 .md::before {
display: table;
content: "";
}
.md::after {
.d2-2692925945 .md::after {
display: table;
clear: both;
content: "";
}
.md > *:first-child {
.d2-2692925945 .md > *:first-child {
margin-top: 0 !important;
}
.md > *:last-child {
.d2-2692925945 .md > *:last-child {
margin-bottom: 0 !important;
}
.md a:not([href]) {
.d2-2692925945 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.md .absent {
.d2-2692925945 .md .absent {
color: var(--color-danger-fg);
}
.md .anchor {
.d2-2692925945 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.md .anchor:focus {
.d2-2692925945 .md .anchor:focus {
outline: none;
}
.md p,
.md blockquote,
.md ul,
.md ol,
.md dl,
.md table,
.md pre,
.md details {
.d2-2692925945 .md p,
.d2-2692925945 .md blockquote,
.d2-2692925945 .md ul,
.d2-2692925945 .md ol,
.d2-2692925945 .md dl,
.d2-2692925945 .md table,
.d2-2692925945 .md pre,
.d2-2692925945 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.md blockquote > :first-child {
.d2-2692925945 .md blockquote > :first-child {
margin-top: 0;
}
.md blockquote > :last-child {
.d2-2692925945 .md blockquote > :last-child {
margin-bottom: 0;
}
.md sup > a::before {
.d2-2692925945 .md sup > a::before {
content: "[";
}
.md sup > a::after {
.d2-2692925945 .md sup > a::after {
content: "]";
}
.md h1:hover .anchor,
.md h2:hover .anchor,
.md h3:hover .anchor,
.md h4:hover .anchor,
.md h5:hover .anchor,
.md h6:hover .anchor {
.d2-2692925945 .md h1:hover .anchor,
.d2-2692925945 .md h2:hover .anchor,
.d2-2692925945 .md h3:hover .anchor,
.d2-2692925945 .md h4:hover .anchor,
.d2-2692925945 .md h5:hover .anchor,
.d2-2692925945 .md h6:hover .anchor {
text-decoration: none;
}
.md h1 tt,
.md h1 code,
.md h2 tt,
.md h2 code,
.md h3 tt,
.md h3 code,
.md h4 tt,
.md h4 code,
.md h5 tt,
.md h5 code,
.md h6 tt,
.md h6 code {
.d2-2692925945 .md h1 tt,
.d2-2692925945 .md h1 code,
.d2-2692925945 .md h2 tt,
.d2-2692925945 .md h2 code,
.d2-2692925945 .md h3 tt,
.d2-2692925945 .md h3 code,
.d2-2692925945 .md h4 tt,
.d2-2692925945 .md h4 code,
.d2-2692925945 .md h5 tt,
.d2-2692925945 .md h5 code,
.d2-2692925945 .md h6 tt,
.d2-2692925945 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.md ul.no-list,
.md ol.no-list {
.d2-2692925945 .md ul.no-list,
.d2-2692925945 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.md ol[type="1"] {
.d2-2692925945 .md ol[type="1"] {
list-style-type: decimal;
}
.md ol[type="a"] {
.d2-2692925945 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.md ol[type="i"] {
.d2-2692925945 .md ol[type="i"] {
list-style-type: lower-roman;
}
.md div > ol:not([type]) {
.d2-2692925945 .md div > ol:not([type]) {
list-style-type: decimal;
}
.md ul ul,
.md ul ol,
.md ol ol,
.md ol ul {
.d2-2692925945 .md ul ul,
.d2-2692925945 .md ul ol,
.d2-2692925945 .md ol ol,
.d2-2692925945 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.md li > p {
.d2-2692925945 .md li > p {
margin-top: 16px;
}
.md li + li {
.d2-2692925945 .md li + li {
margin-top: 0.25em;
}
.md dl {
.d2-2692925945 .md dl {
padding: 0;
}
.md dl dt {
.d2-2692925945 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
@ -566,48 +566,48 @@
font-weight: 600;
}
.md dl dd {
.d2-2692925945 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.md table th {
.d2-2692925945 .md table th {
font-weight: 600;
}
.md table th,
.md table td {
.d2-2692925945 .md table th,
.d2-2692925945 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.md table tr {
.d2-2692925945 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.md table tr:nth-child(2n) {
.d2-2692925945 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.md table img {
.d2-2692925945 .md table img {
background-color: transparent;
}
.md img[align="right"] {
.d2-2692925945 .md img[align="right"] {
padding-left: 20px;
}
.md img[align="left"] {
.d2-2692925945 .md img[align="left"] {
padding-right: 20px;
}
.md span.frame {
.d2-2692925945 .md span.frame {
display: block;
overflow: hidden;
}
.md span.frame > span {
.d2-2692925945 .md span.frame > span {
display: block;
float: left;
width: auto;
@ -617,81 +617,81 @@
border: 1px solid var(--color-border-default);
}
.md span.frame span img {
.d2-2692925945 .md span.frame span img {
display: block;
float: left;
}
.md span.frame span span {
.d2-2692925945 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.md span.align-center {
.d2-2692925945 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-center > span {
.d2-2692925945 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.md span.align-center span img {
.d2-2692925945 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.md span.align-right {
.d2-2692925945 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-right > span {
.d2-2692925945 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.md span.align-right span img {
.d2-2692925945 .md span.align-right span img {
margin: 0;
text-align: right;
}
.md span.float-left {
.d2-2692925945 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.md span.float-left span {
.d2-2692925945 .md span.float-left span {
margin: 13px 0 0;
}
.md span.float-right {
.d2-2692925945 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.md span.float-right > span {
.d2-2692925945 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.md code,
.md tt {
.d2-2692925945 .md code,
.d2-2692925945 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
@ -699,20 +699,20 @@
border-radius: 6px;
}
.md code br,
.md tt br {
.d2-2692925945 .md code br,
.d2-2692925945 .md tt br {
display: none;
}
.md del code {
.d2-2692925945 .md del code {
text-decoration: inherit;
}
.md pre code {
.d2-2692925945 .md pre code {
font-size: 100%;
}
.md pre > code {
.d2-2692925945 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
@ -721,17 +721,17 @@
border: 0;
}
.md .highlight {
.d2-2692925945 .md .highlight {
margin-bottom: 16px;
}
.md .highlight pre {
.d2-2692925945 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.md .highlight pre,
.md pre {
.d2-2692925945 .md .highlight pre,
.d2-2692925945 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
@ -740,8 +740,8 @@
border-radius: 6px;
}
.md pre code,
.md pre tt {
.d2-2692925945 .md pre code,
.d2-2692925945 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
@ -753,8 +753,8 @@
border: 0;
}
.md .csv-data td,
.md .csv-data th {
.d2-2692925945 .md .csv-data td,
.d2-2692925945 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
@ -763,38 +763,38 @@
white-space: nowrap;
}
.md .csv-data .blob-num {
.d2-2692925945 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.md .csv-data tr {
.d2-2692925945 .md .csv-data tr {
border-top: 0;
}
.md .csv-data th {
.d2-2692925945 .md .csv-data th {
font-weight: 600;
background: var(--color-canvas-subtle);
border-top: 0;
}
.md .footnotes {
.d2-2692925945 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.md .footnotes ol {
.d2-2692925945 .md .footnotes ol {
padding-left: 16px;
}
.md .footnotes li {
.d2-2692925945 .md .footnotes li {
position: relative;
}
.md .footnotes li:target::before {
.d2-2692925945 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
@ -806,36 +806,36 @@
border-radius: 6px;
}
.md .footnotes li:target {
.d2-2692925945 .md .footnotes li:target {
color: var(--color-fg-default);
}
.md .task-list-item {
.d2-2692925945 .md .task-list-item {
list-style-type: none;
}
.md .task-list-item label {
.d2-2692925945 .md .task-list-item label {
font-weight: 400;
}
.md .task-list-item.enabled label {
.d2-2692925945 .md .task-list-item.enabled label {
cursor: pointer;
}
.md .task-list-item + .task-list-item {
.d2-2692925945 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.md .task-list-item .handle {
.d2-2692925945 .md .task-list-item .handle {
display: none;
}
.md .task-list-item-checkbox {
.d2-2692925945 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.md .contains-task-list:dir(rtl) .task-list-item-checkbox {
.d2-2692925945 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2258688787 .text {
font-family: "d2-2258688787-font-regular";
}

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2258688787 .text {
font-family: "d2-2258688787-font-regular";
}

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 821 1702"><svg id="d2-svg" class="d2-457017616" width="821" height="1702" viewBox="-101 -101 821 1702"><rect x="-101.000000" y="-101.000000" width="821.000000" height="1702.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 821 1702"><svg id="d2-svg" class="d2-457017616" width="821" height="1702" viewBox="-101 -101 821 1702"><rect x="-101.000000" y="-101.000000" width="821.000000" height="1702.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-457017616 .text-mono {
font-family: "d2-457017616-font-mono";
}

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2789 2472"><svg id="d2-svg" class="d2-1289122894" width="2789" height="2472" viewBox="-101 -101 2789 2472"><rect x="-101.000000" y="-101.000000" width="2789.000000" height="2472.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2789 2472"><svg id="d2-svg" class="d2-1289122894" width="2789" height="2472" viewBox="-101 -101 2789 2472"><rect x="-101.000000" y="-101.000000" width="2789.000000" height="2472.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1289122894 .text {
font-family: "d2-1289122894-font-regular";
}
@ -111,31 +111,31 @@
.d2-1289122894 .color-AA4{color:#EDF0FD;}
.d2-1289122894 .color-AA5{color:#F7F8FE;}
.d2-1289122894 .color-AB4{color:#EDF0FD;}
.d2-1289122894 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.md em,
.md dfn {
.d2-1289122894 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.d2-1289122894 .md em,
.d2-1289122894 .md dfn {
font-family: "d2-1289122894-font-italic";
}
.md b,
.md strong {
.d2-1289122894 .md b,
.d2-1289122894 .md strong {
font-family: "d2-1289122894-font-bold";
}
.md code,
.md kbd,
.md pre,
.md samp {
.d2-1289122894 .md code,
.d2-1289122894 .md kbd,
.d2-1289122894 .md pre,
.d2-1289122894 .md samp {
font-family: "d2-1289122894-font-mono";
font-size: 1em;
}
.md {
.d2-1289122894 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.md {
.d2-1289122894 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
@ -147,41 +147,41 @@
word-wrap: break-word;
}
.md details,
.md figcaption,
.md figure {
.d2-1289122894 .md details,
.d2-1289122894 .md figcaption,
.d2-1289122894 .md figure {
display: block;
}
.md summary {
.d2-1289122894 .md summary {
display: list-item;
}
.md [hidden] {
.d2-1289122894 .md [hidden] {
display: none !important;
}
.md a {
.d2-1289122894 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.md a:active,
.md a:hover {
.d2-1289122894 .md a:active,
.d2-1289122894 .md a:hover {
outline-width: 0;
}
.md abbr[title] {
.d2-1289122894 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.md dfn {
.d2-1289122894 .md dfn {
font-style: italic;
}
.md h1 {
.d2-1289122894 .md h1 {
margin: 0.67em 0;
font-weight: 600;
padding-bottom: 0.3em;
@ -189,43 +189,43 @@
border-bottom: 1px solid var(--color-border-muted);
}
.md mark {
.d2-1289122894 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.md small {
.d2-1289122894 .md small {
font-size: 90%;
}
.md sub,
.md sup {
.d2-1289122894 .md sub,
.d2-1289122894 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.md sub {
.d2-1289122894 .md sub {
bottom: -0.25em;
}
.md sup {
.d2-1289122894 .md sup {
top: -0.5em;
}
.md img {
.d2-1289122894 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.md figure {
.d2-1289122894 .md figure {
margin: 1em 40px;
}
.md hr {
.d2-1289122894 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
@ -237,7 +237,7 @@
border: 0;
}
.md input {
.d2-1289122894 .md input {
font: inherit;
margin: 0;
overflow: visible;
@ -246,72 +246,72 @@
line-height: inherit;
}
.md [type="button"],
.md [type="reset"],
.md [type="submit"] {
.d2-1289122894 .md [type="button"],
.d2-1289122894 .md [type="reset"],
.d2-1289122894 .md [type="submit"] {
-webkit-appearance: button;
}
.md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner {
.d2-1289122894 .md [type="button"]::-moz-focus-inner,
.d2-1289122894 .md [type="reset"]::-moz-focus-inner,
.d2-1289122894 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring {
.d2-1289122894 .md [type="button"]:-moz-focusring,
.d2-1289122894 .md [type="reset"]:-moz-focusring,
.d2-1289122894 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.md [type="checkbox"],
.md [type="radio"] {
.d2-1289122894 .md [type="checkbox"],
.d2-1289122894 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button {
.d2-1289122894 .md [type="number"]::-webkit-inner-spin-button,
.d2-1289122894 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.md [type="search"] {
.d2-1289122894 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration {
.d2-1289122894 .md [type="search"]::-webkit-search-cancel-button,
.d2-1289122894 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.md ::-webkit-input-placeholder {
.d2-1289122894 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.md ::-webkit-file-upload-button {
.d2-1289122894 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.md a:hover {
.d2-1289122894 .md a:hover {
text-decoration: underline;
}
.md hr::before {
.d2-1289122894 .md hr::before {
display: table;
content: "";
}
.md hr::after {
.d2-1289122894 .md hr::after {
display: table;
clear: both;
content: "";
}
.md table {
.d2-1289122894 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
@ -320,20 +320,20 @@
overflow: auto;
}
.md td,
.md th {
.d2-1289122894 .md td,
.d2-1289122894 .md th {
padding: 0;
}
.md details summary {
.d2-1289122894 .md details summary {
cursor: pointer;
}
.md details:not([open]) > *:not(summary) {
.d2-1289122894 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.md kbd {
.d2-1289122894 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
@ -345,12 +345,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {
.d2-1289122894 .md h1,
.d2-1289122894 .md h2,
.d2-1289122894 .md h3,
.d2-1289122894 .md h4,
.d2-1289122894 .md h5,
.d2-1289122894 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
@ -358,222 +358,222 @@
font-family: "d2-1289122894-font-regular";
}
.md h2 {
.d2-1289122894 .md h2 {
font-weight: 600;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.md h3 {
.d2-1289122894 .md h3 {
font-weight: 600;
font-size: 1.25em;
}
.md h4 {
.d2-1289122894 .md h4 {
font-weight: 600;
font-size: 1em;
}
.md h5 {
.d2-1289122894 .md h5 {
font-weight: 600;
font-size: 0.875em;
}
.md h6 {
.d2-1289122894 .md h6 {
font-weight: 600;
font-size: 0.85em;
color: var(--color-fg-muted);
}
.md p {
.d2-1289122894 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.md blockquote {
.d2-1289122894 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.md ul,
.md ol {
.d2-1289122894 .md ul,
.d2-1289122894 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.md ol ol,
.md ul ol {
.d2-1289122894 .md ol ol,
.d2-1289122894 .md ul ol {
list-style-type: lower-roman;
}
.md ul ul ol,
.md ul ol ol,
.md ol ul ol,
.md ol ol ol {
.d2-1289122894 .md ul ul ol,
.d2-1289122894 .md ul ol ol,
.d2-1289122894 .md ol ul ol,
.d2-1289122894 .md ol ol ol {
list-style-type: lower-alpha;
}
.md dd {
.d2-1289122894 .md dd {
margin-left: 0;
}
.md pre {
.d2-1289122894 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.md ::placeholder {
.d2-1289122894 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button {
.d2-1289122894 .md input::-webkit-outer-spin-button,
.d2-1289122894 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.md::before {
.d2-1289122894 .md::before {
display: table;
content: "";
}
.md::after {
.d2-1289122894 .md::after {
display: table;
clear: both;
content: "";
}
.md > *:first-child {
.d2-1289122894 .md > *:first-child {
margin-top: 0 !important;
}
.md > *:last-child {
.d2-1289122894 .md > *:last-child {
margin-bottom: 0 !important;
}
.md a:not([href]) {
.d2-1289122894 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.md .absent {
.d2-1289122894 .md .absent {
color: var(--color-danger-fg);
}
.md .anchor {
.d2-1289122894 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.md .anchor:focus {
.d2-1289122894 .md .anchor:focus {
outline: none;
}
.md p,
.md blockquote,
.md ul,
.md ol,
.md dl,
.md table,
.md pre,
.md details {
.d2-1289122894 .md p,
.d2-1289122894 .md blockquote,
.d2-1289122894 .md ul,
.d2-1289122894 .md ol,
.d2-1289122894 .md dl,
.d2-1289122894 .md table,
.d2-1289122894 .md pre,
.d2-1289122894 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.md blockquote > :first-child {
.d2-1289122894 .md blockquote > :first-child {
margin-top: 0;
}
.md blockquote > :last-child {
.d2-1289122894 .md blockquote > :last-child {
margin-bottom: 0;
}
.md sup > a::before {
.d2-1289122894 .md sup > a::before {
content: "[";
}
.md sup > a::after {
.d2-1289122894 .md sup > a::after {
content: "]";
}
.md h1:hover .anchor,
.md h2:hover .anchor,
.md h3:hover .anchor,
.md h4:hover .anchor,
.md h5:hover .anchor,
.md h6:hover .anchor {
.d2-1289122894 .md h1:hover .anchor,
.d2-1289122894 .md h2:hover .anchor,
.d2-1289122894 .md h3:hover .anchor,
.d2-1289122894 .md h4:hover .anchor,
.d2-1289122894 .md h5:hover .anchor,
.d2-1289122894 .md h6:hover .anchor {
text-decoration: none;
}
.md h1 tt,
.md h1 code,
.md h2 tt,
.md h2 code,
.md h3 tt,
.md h3 code,
.md h4 tt,
.md h4 code,
.md h5 tt,
.md h5 code,
.md h6 tt,
.md h6 code {
.d2-1289122894 .md h1 tt,
.d2-1289122894 .md h1 code,
.d2-1289122894 .md h2 tt,
.d2-1289122894 .md h2 code,
.d2-1289122894 .md h3 tt,
.d2-1289122894 .md h3 code,
.d2-1289122894 .md h4 tt,
.d2-1289122894 .md h4 code,
.d2-1289122894 .md h5 tt,
.d2-1289122894 .md h5 code,
.d2-1289122894 .md h6 tt,
.d2-1289122894 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.md ul.no-list,
.md ol.no-list {
.d2-1289122894 .md ul.no-list,
.d2-1289122894 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.md ol[type="1"] {
.d2-1289122894 .md ol[type="1"] {
list-style-type: decimal;
}
.md ol[type="a"] {
.d2-1289122894 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.md ol[type="i"] {
.d2-1289122894 .md ol[type="i"] {
list-style-type: lower-roman;
}
.md div > ol:not([type]) {
.d2-1289122894 .md div > ol:not([type]) {
list-style-type: decimal;
}
.md ul ul,
.md ul ol,
.md ol ol,
.md ol ul {
.d2-1289122894 .md ul ul,
.d2-1289122894 .md ul ol,
.d2-1289122894 .md ol ol,
.d2-1289122894 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.md li > p {
.d2-1289122894 .md li > p {
margin-top: 16px;
}
.md li + li {
.d2-1289122894 .md li + li {
margin-top: 0.25em;
}
.md dl {
.d2-1289122894 .md dl {
padding: 0;
}
.md dl dt {
.d2-1289122894 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
@ -581,48 +581,48 @@
font-weight: 600;
}
.md dl dd {
.d2-1289122894 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.md table th {
.d2-1289122894 .md table th {
font-weight: 600;
}
.md table th,
.md table td {
.d2-1289122894 .md table th,
.d2-1289122894 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.md table tr {
.d2-1289122894 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.md table tr:nth-child(2n) {
.d2-1289122894 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.md table img {
.d2-1289122894 .md table img {
background-color: transparent;
}
.md img[align="right"] {
.d2-1289122894 .md img[align="right"] {
padding-left: 20px;
}
.md img[align="left"] {
.d2-1289122894 .md img[align="left"] {
padding-right: 20px;
}
.md span.frame {
.d2-1289122894 .md span.frame {
display: block;
overflow: hidden;
}
.md span.frame > span {
.d2-1289122894 .md span.frame > span {
display: block;
float: left;
width: auto;
@ -632,81 +632,81 @@
border: 1px solid var(--color-border-default);
}
.md span.frame span img {
.d2-1289122894 .md span.frame span img {
display: block;
float: left;
}
.md span.frame span span {
.d2-1289122894 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.md span.align-center {
.d2-1289122894 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-center > span {
.d2-1289122894 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.md span.align-center span img {
.d2-1289122894 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.md span.align-right {
.d2-1289122894 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-right > span {
.d2-1289122894 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.md span.align-right span img {
.d2-1289122894 .md span.align-right span img {
margin: 0;
text-align: right;
}
.md span.float-left {
.d2-1289122894 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.md span.float-left span {
.d2-1289122894 .md span.float-left span {
margin: 13px 0 0;
}
.md span.float-right {
.d2-1289122894 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.md span.float-right > span {
.d2-1289122894 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.md code,
.md tt {
.d2-1289122894 .md code,
.d2-1289122894 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
@ -714,20 +714,20 @@
border-radius: 6px;
}
.md code br,
.md tt br {
.d2-1289122894 .md code br,
.d2-1289122894 .md tt br {
display: none;
}
.md del code {
.d2-1289122894 .md del code {
text-decoration: inherit;
}
.md pre code {
.d2-1289122894 .md pre code {
font-size: 100%;
}
.md pre > code {
.d2-1289122894 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
@ -736,17 +736,17 @@
border: 0;
}
.md .highlight {
.d2-1289122894 .md .highlight {
margin-bottom: 16px;
}
.md .highlight pre {
.d2-1289122894 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.md .highlight pre,
.md pre {
.d2-1289122894 .md .highlight pre,
.d2-1289122894 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
@ -755,8 +755,8 @@
border-radius: 6px;
}
.md pre code,
.md pre tt {
.d2-1289122894 .md pre code,
.d2-1289122894 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
@ -768,8 +768,8 @@
border: 0;
}
.md .csv-data td,
.md .csv-data th {
.d2-1289122894 .md .csv-data td,
.d2-1289122894 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
@ -778,38 +778,38 @@
white-space: nowrap;
}
.md .csv-data .blob-num {
.d2-1289122894 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.md .csv-data tr {
.d2-1289122894 .md .csv-data tr {
border-top: 0;
}
.md .csv-data th {
.d2-1289122894 .md .csv-data th {
font-weight: 600;
background: var(--color-canvas-subtle);
border-top: 0;
}
.md .footnotes {
.d2-1289122894 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.md .footnotes ol {
.d2-1289122894 .md .footnotes ol {
padding-left: 16px;
}
.md .footnotes li {
.d2-1289122894 .md .footnotes li {
position: relative;
}
.md .footnotes li:target::before {
.d2-1289122894 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
@ -821,36 +821,36 @@
border-radius: 6px;
}
.md .footnotes li:target {
.d2-1289122894 .md .footnotes li:target {
color: var(--color-fg-default);
}
.md .task-list-item {
.d2-1289122894 .md .task-list-item {
list-style-type: none;
}
.md .task-list-item label {
.d2-1289122894 .md .task-list-item label {
font-weight: 400;
}
.md .task-list-item.enabled label {
.d2-1289122894 .md .task-list-item.enabled label {
cursor: pointer;
}
.md .task-list-item + .task-list-item {
.d2-1289122894 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.md .task-list-item .handle {
.d2-1289122894 .md .task-list-item .handle {
display: none;
}
.md .task-list-item-checkbox {
.d2-1289122894 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.md .contains-task-list:dir(rtl) .task-list-item-checkbox {
.d2-1289122894 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2789 2472"><svg id="d2-svg" class="d2-1289122894" width="2789" height="2472" viewBox="-101 -101 2789 2472"><rect x="-101.000000" y="-101.000000" width="2789.000000" height="2472.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 2789 2472"><svg id="d2-svg" class="d2-1289122894" width="2789" height="2472" viewBox="-101 -101 2789 2472"><rect x="-101.000000" y="-101.000000" width="2789.000000" height="2472.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1289122894 .text {
font-family: "d2-1289122894-font-regular";
}
@ -111,31 +111,31 @@
.d2-1289122894 .color-AA4{color:#45475A;}
.d2-1289122894 .color-AA5{color:#313244;}
.d2-1289122894 .color-AB4{color:#45475A;}
.d2-1289122894 .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);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.md em,
.md dfn {
.d2-1289122894 .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);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.d2-1289122894 .md em,
.d2-1289122894 .md dfn {
font-family: "d2-1289122894-font-italic";
}
.md b,
.md strong {
.d2-1289122894 .md b,
.d2-1289122894 .md strong {
font-family: "d2-1289122894-font-bold";
}
.md code,
.md kbd,
.md pre,
.md samp {
.d2-1289122894 .md code,
.d2-1289122894 .md kbd,
.d2-1289122894 .md pre,
.d2-1289122894 .md samp {
font-family: "d2-1289122894-font-mono";
font-size: 1em;
}
.md {
.d2-1289122894 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.md {
.d2-1289122894 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
@ -147,41 +147,41 @@
word-wrap: break-word;
}
.md details,
.md figcaption,
.md figure {
.d2-1289122894 .md details,
.d2-1289122894 .md figcaption,
.d2-1289122894 .md figure {
display: block;
}
.md summary {
.d2-1289122894 .md summary {
display: list-item;
}
.md [hidden] {
.d2-1289122894 .md [hidden] {
display: none !important;
}
.md a {
.d2-1289122894 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.md a:active,
.md a:hover {
.d2-1289122894 .md a:active,
.d2-1289122894 .md a:hover {
outline-width: 0;
}
.md abbr[title] {
.d2-1289122894 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.md dfn {
.d2-1289122894 .md dfn {
font-style: italic;
}
.md h1 {
.d2-1289122894 .md h1 {
margin: 0.67em 0;
font-weight: 600;
padding-bottom: 0.3em;
@ -189,43 +189,43 @@
border-bottom: 1px solid var(--color-border-muted);
}
.md mark {
.d2-1289122894 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.md small {
.d2-1289122894 .md small {
font-size: 90%;
}
.md sub,
.md sup {
.d2-1289122894 .md sub,
.d2-1289122894 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.md sub {
.d2-1289122894 .md sub {
bottom: -0.25em;
}
.md sup {
.d2-1289122894 .md sup {
top: -0.5em;
}
.md img {
.d2-1289122894 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.md figure {
.d2-1289122894 .md figure {
margin: 1em 40px;
}
.md hr {
.d2-1289122894 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
@ -237,7 +237,7 @@
border: 0;
}
.md input {
.d2-1289122894 .md input {
font: inherit;
margin: 0;
overflow: visible;
@ -246,72 +246,72 @@
line-height: inherit;
}
.md [type="button"],
.md [type="reset"],
.md [type="submit"] {
.d2-1289122894 .md [type="button"],
.d2-1289122894 .md [type="reset"],
.d2-1289122894 .md [type="submit"] {
-webkit-appearance: button;
}
.md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner {
.d2-1289122894 .md [type="button"]::-moz-focus-inner,
.d2-1289122894 .md [type="reset"]::-moz-focus-inner,
.d2-1289122894 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring {
.d2-1289122894 .md [type="button"]:-moz-focusring,
.d2-1289122894 .md [type="reset"]:-moz-focusring,
.d2-1289122894 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.md [type="checkbox"],
.md [type="radio"] {
.d2-1289122894 .md [type="checkbox"],
.d2-1289122894 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button {
.d2-1289122894 .md [type="number"]::-webkit-inner-spin-button,
.d2-1289122894 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.md [type="search"] {
.d2-1289122894 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration {
.d2-1289122894 .md [type="search"]::-webkit-search-cancel-button,
.d2-1289122894 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.md ::-webkit-input-placeholder {
.d2-1289122894 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.md ::-webkit-file-upload-button {
.d2-1289122894 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.md a:hover {
.d2-1289122894 .md a:hover {
text-decoration: underline;
}
.md hr::before {
.d2-1289122894 .md hr::before {
display: table;
content: "";
}
.md hr::after {
.d2-1289122894 .md hr::after {
display: table;
clear: both;
content: "";
}
.md table {
.d2-1289122894 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
@ -320,20 +320,20 @@
overflow: auto;
}
.md td,
.md th {
.d2-1289122894 .md td,
.d2-1289122894 .md th {
padding: 0;
}
.md details summary {
.d2-1289122894 .md details summary {
cursor: pointer;
}
.md details:not([open]) > *:not(summary) {
.d2-1289122894 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.md kbd {
.d2-1289122894 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
@ -345,12 +345,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {
.d2-1289122894 .md h1,
.d2-1289122894 .md h2,
.d2-1289122894 .md h3,
.d2-1289122894 .md h4,
.d2-1289122894 .md h5,
.d2-1289122894 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
@ -358,222 +358,222 @@
font-family: "d2-1289122894-font-regular";
}
.md h2 {
.d2-1289122894 .md h2 {
font-weight: 600;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.md h3 {
.d2-1289122894 .md h3 {
font-weight: 600;
font-size: 1.25em;
}
.md h4 {
.d2-1289122894 .md h4 {
font-weight: 600;
font-size: 1em;
}
.md h5 {
.d2-1289122894 .md h5 {
font-weight: 600;
font-size: 0.875em;
}
.md h6 {
.d2-1289122894 .md h6 {
font-weight: 600;
font-size: 0.85em;
color: var(--color-fg-muted);
}
.md p {
.d2-1289122894 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.md blockquote {
.d2-1289122894 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.md ul,
.md ol {
.d2-1289122894 .md ul,
.d2-1289122894 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.md ol ol,
.md ul ol {
.d2-1289122894 .md ol ol,
.d2-1289122894 .md ul ol {
list-style-type: lower-roman;
}
.md ul ul ol,
.md ul ol ol,
.md ol ul ol,
.md ol ol ol {
.d2-1289122894 .md ul ul ol,
.d2-1289122894 .md ul ol ol,
.d2-1289122894 .md ol ul ol,
.d2-1289122894 .md ol ol ol {
list-style-type: lower-alpha;
}
.md dd {
.d2-1289122894 .md dd {
margin-left: 0;
}
.md pre {
.d2-1289122894 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.md ::placeholder {
.d2-1289122894 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button {
.d2-1289122894 .md input::-webkit-outer-spin-button,
.d2-1289122894 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.md::before {
.d2-1289122894 .md::before {
display: table;
content: "";
}
.md::after {
.d2-1289122894 .md::after {
display: table;
clear: both;
content: "";
}
.md > *:first-child {
.d2-1289122894 .md > *:first-child {
margin-top: 0 !important;
}
.md > *:last-child {
.d2-1289122894 .md > *:last-child {
margin-bottom: 0 !important;
}
.md a:not([href]) {
.d2-1289122894 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.md .absent {
.d2-1289122894 .md .absent {
color: var(--color-danger-fg);
}
.md .anchor {
.d2-1289122894 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.md .anchor:focus {
.d2-1289122894 .md .anchor:focus {
outline: none;
}
.md p,
.md blockquote,
.md ul,
.md ol,
.md dl,
.md table,
.md pre,
.md details {
.d2-1289122894 .md p,
.d2-1289122894 .md blockquote,
.d2-1289122894 .md ul,
.d2-1289122894 .md ol,
.d2-1289122894 .md dl,
.d2-1289122894 .md table,
.d2-1289122894 .md pre,
.d2-1289122894 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.md blockquote > :first-child {
.d2-1289122894 .md blockquote > :first-child {
margin-top: 0;
}
.md blockquote > :last-child {
.d2-1289122894 .md blockquote > :last-child {
margin-bottom: 0;
}
.md sup > a::before {
.d2-1289122894 .md sup > a::before {
content: "[";
}
.md sup > a::after {
.d2-1289122894 .md sup > a::after {
content: "]";
}
.md h1:hover .anchor,
.md h2:hover .anchor,
.md h3:hover .anchor,
.md h4:hover .anchor,
.md h5:hover .anchor,
.md h6:hover .anchor {
.d2-1289122894 .md h1:hover .anchor,
.d2-1289122894 .md h2:hover .anchor,
.d2-1289122894 .md h3:hover .anchor,
.d2-1289122894 .md h4:hover .anchor,
.d2-1289122894 .md h5:hover .anchor,
.d2-1289122894 .md h6:hover .anchor {
text-decoration: none;
}
.md h1 tt,
.md h1 code,
.md h2 tt,
.md h2 code,
.md h3 tt,
.md h3 code,
.md h4 tt,
.md h4 code,
.md h5 tt,
.md h5 code,
.md h6 tt,
.md h6 code {
.d2-1289122894 .md h1 tt,
.d2-1289122894 .md h1 code,
.d2-1289122894 .md h2 tt,
.d2-1289122894 .md h2 code,
.d2-1289122894 .md h3 tt,
.d2-1289122894 .md h3 code,
.d2-1289122894 .md h4 tt,
.d2-1289122894 .md h4 code,
.d2-1289122894 .md h5 tt,
.d2-1289122894 .md h5 code,
.d2-1289122894 .md h6 tt,
.d2-1289122894 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.md ul.no-list,
.md ol.no-list {
.d2-1289122894 .md ul.no-list,
.d2-1289122894 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.md ol[type="1"] {
.d2-1289122894 .md ol[type="1"] {
list-style-type: decimal;
}
.md ol[type="a"] {
.d2-1289122894 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.md ol[type="i"] {
.d2-1289122894 .md ol[type="i"] {
list-style-type: lower-roman;
}
.md div > ol:not([type]) {
.d2-1289122894 .md div > ol:not([type]) {
list-style-type: decimal;
}
.md ul ul,
.md ul ol,
.md ol ol,
.md ol ul {
.d2-1289122894 .md ul ul,
.d2-1289122894 .md ul ol,
.d2-1289122894 .md ol ol,
.d2-1289122894 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.md li > p {
.d2-1289122894 .md li > p {
margin-top: 16px;
}
.md li + li {
.d2-1289122894 .md li + li {
margin-top: 0.25em;
}
.md dl {
.d2-1289122894 .md dl {
padding: 0;
}
.md dl dt {
.d2-1289122894 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
@ -581,48 +581,48 @@
font-weight: 600;
}
.md dl dd {
.d2-1289122894 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.md table th {
.d2-1289122894 .md table th {
font-weight: 600;
}
.md table th,
.md table td {
.d2-1289122894 .md table th,
.d2-1289122894 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.md table tr {
.d2-1289122894 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.md table tr:nth-child(2n) {
.d2-1289122894 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.md table img {
.d2-1289122894 .md table img {
background-color: transparent;
}
.md img[align="right"] {
.d2-1289122894 .md img[align="right"] {
padding-left: 20px;
}
.md img[align="left"] {
.d2-1289122894 .md img[align="left"] {
padding-right: 20px;
}
.md span.frame {
.d2-1289122894 .md span.frame {
display: block;
overflow: hidden;
}
.md span.frame > span {
.d2-1289122894 .md span.frame > span {
display: block;
float: left;
width: auto;
@ -632,81 +632,81 @@
border: 1px solid var(--color-border-default);
}
.md span.frame span img {
.d2-1289122894 .md span.frame span img {
display: block;
float: left;
}
.md span.frame span span {
.d2-1289122894 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.md span.align-center {
.d2-1289122894 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-center > span {
.d2-1289122894 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.md span.align-center span img {
.d2-1289122894 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.md span.align-right {
.d2-1289122894 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-right > span {
.d2-1289122894 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.md span.align-right span img {
.d2-1289122894 .md span.align-right span img {
margin: 0;
text-align: right;
}
.md span.float-left {
.d2-1289122894 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.md span.float-left span {
.d2-1289122894 .md span.float-left span {
margin: 13px 0 0;
}
.md span.float-right {
.d2-1289122894 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.md span.float-right > span {
.d2-1289122894 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.md code,
.md tt {
.d2-1289122894 .md code,
.d2-1289122894 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
@ -714,20 +714,20 @@
border-radius: 6px;
}
.md code br,
.md tt br {
.d2-1289122894 .md code br,
.d2-1289122894 .md tt br {
display: none;
}
.md del code {
.d2-1289122894 .md del code {
text-decoration: inherit;
}
.md pre code {
.d2-1289122894 .md pre code {
font-size: 100%;
}
.md pre > code {
.d2-1289122894 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
@ -736,17 +736,17 @@
border: 0;
}
.md .highlight {
.d2-1289122894 .md .highlight {
margin-bottom: 16px;
}
.md .highlight pre {
.d2-1289122894 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.md .highlight pre,
.md pre {
.d2-1289122894 .md .highlight pre,
.d2-1289122894 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
@ -755,8 +755,8 @@
border-radius: 6px;
}
.md pre code,
.md pre tt {
.d2-1289122894 .md pre code,
.d2-1289122894 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
@ -768,8 +768,8 @@
border: 0;
}
.md .csv-data td,
.md .csv-data th {
.d2-1289122894 .md .csv-data td,
.d2-1289122894 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
@ -778,38 +778,38 @@
white-space: nowrap;
}
.md .csv-data .blob-num {
.d2-1289122894 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.md .csv-data tr {
.d2-1289122894 .md .csv-data tr {
border-top: 0;
}
.md .csv-data th {
.d2-1289122894 .md .csv-data th {
font-weight: 600;
background: var(--color-canvas-subtle);
border-top: 0;
}
.md .footnotes {
.d2-1289122894 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.md .footnotes ol {
.d2-1289122894 .md .footnotes ol {
padding-left: 16px;
}
.md .footnotes li {
.d2-1289122894 .md .footnotes li {
position: relative;
}
.md .footnotes li:target::before {
.d2-1289122894 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
@ -821,36 +821,36 @@
border-radius: 6px;
}
.md .footnotes li:target {
.d2-1289122894 .md .footnotes li:target {
color: var(--color-fg-default);
}
.md .task-list-item {
.d2-1289122894 .md .task-list-item {
list-style-type: none;
}
.md .task-list-item label {
.d2-1289122894 .md .task-list-item label {
font-weight: 400;
}
.md .task-list-item.enabled label {
.d2-1289122894 .md .task-list-item.enabled label {
cursor: pointer;
}
.md .task-list-item + .task-list-item {
.d2-1289122894 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.md .task-list-item .handle {
.d2-1289122894 .md .task-list-item .handle {
display: none;
}
.md .task-list-item-checkbox {
.d2-1289122894 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.md .contains-task-list:dir(rtl) .task-list-item-checkbox {
.d2-1289122894 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><defs><pattern id="streaks-bright" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1431 1588"><svg id="d2-svg" class="d2-110554586" width="1431" height="1588" viewBox="-192 -70 1431 1588"><rect x="-192.000000" y="-70.000000" width="1431" height="1588" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1431 1588"><svg id="d2-svg" class="d2-110554586" width="1431" height="1588" viewBox="-192 -70 1431 1588"><rect x="-192.000000" y="-70.000000" width="1431" height="1588" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-110554586 .text {
font-family: "d2-110554586-font-regular";
}

Before

Width:  |  Height:  |  Size: 676 KiB

After

Width:  |  Height:  |  Size: 676 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 304 407"><svg id="d2-svg" class="d2-916646398" width="304" height="407" viewBox="-101 -118 304 407"><rect x="-101.000000" y="-118.000000" width="304" height="407" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 304 407"><svg id="d2-svg" class="d2-916646398" width="304" height="407" viewBox="-101 -118 304 407"><rect x="-101.000000" y="-118.000000" width="304" height="407" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}

Before

Width:  |  Height:  |  Size: 657 KiB

After

Width:  |  Height:  |  Size: 657 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 564 682"><svg id="d2-svg" class="d2-109718516" width="564" height="682" viewBox="-101 -118 564 682"><rect x="-101.000000" y="-118.000000" width="564" height="682" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 564 682"><svg id="d2-svg" class="d2-109718516" width="564" height="682" viewBox="-101 -118 564 682"><rect x="-101.000000" y="-118.000000" width="564" height="682" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 564 682"><svg id="d2-svg" class="d2-1293182475" width="564" height="682" viewBox="-101 -118 564 682"><rect x="-101.000000" y="-118.000000" width="564" height="682" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 564 682"><svg id="d2-svg" class="d2-1293182475" width="564" height="682" viewBox="-101 -118 564 682"><rect x="-101.000000" y="-118.000000" width="564" height="682" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 565 630"><svg id="d2-svg" class="d2-1773020175" width="565" height="630" viewBox="-101 -118 565 630"><rect x="-101.000000" y="-118.000000" width="565" height="630" rx="0.000000" fill="PaleVioletRed" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 565 630"><svg id="d2-svg" class="d2-1773020175" width="565" height="630" viewBox="-101 -118 565 630"><rect x="-101.000000" y="-118.000000" width="565" height="630" rx="0.000000" fill="PaleVioletRed" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 565 630"><svg id="d2-svg" class="d2-1773020175" width="565" height="630" viewBox="-101 -118 565 630"><rect x="-101.000000" y="-118.000000" width="565" height="630" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 565 630"><svg id="d2-svg" class="d2-1773020175" width="565" height="630" viewBox="-101 -118 565 630"><rect x="-101.000000" y="-118.000000" width="565" height="630" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}

Before

Width:  |  Height:  |  Size: 661 KiB

After

Width:  |  Height:  |  Size: 661 KiB

View file

@ -1764,6 +1764,7 @@ func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error) {
}
if hasMarkdown {
css := MarkdownCSS
css = strings.ReplaceAll(css, ".md", fmt.Sprintf(".%s .md", diagramHash))
css = strings.ReplaceAll(css, "font-italic", fmt.Sprintf("%s-font-italic", diagramHash))
css = strings.ReplaceAll(css, "font-bold", fmt.Sprintf("%s-font-bold", diagramHash))
css = strings.ReplaceAll(css, "font-mono", fmt.Sprintf("%s-font-mono", diagramHash))

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1400 710"><svg id="d2-svg" class="d2-1976235645" width="1400" height="710" viewBox="-101 -101 1400 710"><rect x="-101.000000" y="-101.000000" width="1400.000000" height="710.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1976235645 .text-bold {
font-family: "d2-1976235645-font-bold";
}

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 429 799"><svg id="d2-svg" class="d2-1762467727" width="429" height="799" viewBox="-101 -100 429 799"><rect x="-101.000000" y="-100.000000" width="429.000000" height="799.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1762467727 .text {
font-family: "d2-1762467727-font-regular";
}

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1249 657"><svg id="d2-svg" class="d2-981471403" width="1249" height="657" viewBox="-101 -101 1249 657"><rect x="-101.000000" y="-101.000000" width="1249.000000" height="657.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-981471403 .text-bold {
font-family: "d2-981471403-font-bold";
}

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 434"><svg id="d2-svg" class="d2-3092019906" width="257" height="434" viewBox="-101 -101 257 434"><rect x="-101.000000" y="-101.000000" width="257.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3092019906 .text-bold {
font-family: "d2-3092019906-font-bold";
}

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 633"><svg id="d2-svg" class="d2-916383956" width="370" height="633" viewBox="-101 -100 370 633"><rect x="-101.000000" y="-100.000000" width="370.000000" height="633.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-916383956 .text {
font-family: "d2-916383956-font-regular";
}

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 624 570"><svg id="d2-svg" class="d2-3945613123" width="624" height="570" viewBox="-101 -101 624 570"><rect x="-101.000000" y="-101.000000" width="624.000000" height="570.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3945613123 .text-mono {
font-family: "d2-3945613123-font-mono";
}

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 937 410"><svg id="d2-svg" class="d2-2744436118" width="937" height="410" viewBox="-101 -101 937 410"><rect x="-101.000000" y="-101.000000" width="937.000000" height="410.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 937 410"><svg id="d2-svg" class="d2-2744436118" width="937" height="410" viewBox="-101 -101 937 410"><rect x="-101.000000" y="-101.000000" width="937.000000" height="410.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2744436118 .text {
font-family: "d2-2744436118-font-regular";
}
@ -110,31 +110,31 @@
.d2-2744436118 .color-AA4{color:#45475A;}
.d2-2744436118 .color-AA5{color:#313244;}
.d2-2744436118 .color-AB4{color:#45475A;}
.d2-2744436118 .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);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.md em,
.md dfn {
.d2-2744436118 .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);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.d2-2744436118 .md em,
.d2-2744436118 .md dfn {
font-family: "d2-2744436118-font-italic";
}
.md b,
.md strong {
.d2-2744436118 .md b,
.d2-2744436118 .md strong {
font-family: "d2-2744436118-font-bold";
}
.md code,
.md kbd,
.md pre,
.md samp {
.d2-2744436118 .md code,
.d2-2744436118 .md kbd,
.d2-2744436118 .md pre,
.d2-2744436118 .md samp {
font-family: "d2-2744436118-font-mono";
font-size: 1em;
}
.md {
.d2-2744436118 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.md {
.d2-2744436118 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
@ -146,41 +146,41 @@
word-wrap: break-word;
}
.md details,
.md figcaption,
.md figure {
.d2-2744436118 .md details,
.d2-2744436118 .md figcaption,
.d2-2744436118 .md figure {
display: block;
}
.md summary {
.d2-2744436118 .md summary {
display: list-item;
}
.md [hidden] {
.d2-2744436118 .md [hidden] {
display: none !important;
}
.md a {
.d2-2744436118 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.md a:active,
.md a:hover {
.d2-2744436118 .md a:active,
.d2-2744436118 .md a:hover {
outline-width: 0;
}
.md abbr[title] {
.d2-2744436118 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.md dfn {
.d2-2744436118 .md dfn {
font-style: italic;
}
.md h1 {
.d2-2744436118 .md h1 {
margin: 0.67em 0;
font-weight: 600;
padding-bottom: 0.3em;
@ -188,43 +188,43 @@
border-bottom: 1px solid var(--color-border-muted);
}
.md mark {
.d2-2744436118 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.md small {
.d2-2744436118 .md small {
font-size: 90%;
}
.md sub,
.md sup {
.d2-2744436118 .md sub,
.d2-2744436118 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.md sub {
.d2-2744436118 .md sub {
bottom: -0.25em;
}
.md sup {
.d2-2744436118 .md sup {
top: -0.5em;
}
.md img {
.d2-2744436118 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.md figure {
.d2-2744436118 .md figure {
margin: 1em 40px;
}
.md hr {
.d2-2744436118 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
@ -236,7 +236,7 @@
border: 0;
}
.md input {
.d2-2744436118 .md input {
font: inherit;
margin: 0;
overflow: visible;
@ -245,72 +245,72 @@
line-height: inherit;
}
.md [type="button"],
.md [type="reset"],
.md [type="submit"] {
.d2-2744436118 .md [type="button"],
.d2-2744436118 .md [type="reset"],
.d2-2744436118 .md [type="submit"] {
-webkit-appearance: button;
}
.md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner {
.d2-2744436118 .md [type="button"]::-moz-focus-inner,
.d2-2744436118 .md [type="reset"]::-moz-focus-inner,
.d2-2744436118 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring {
.d2-2744436118 .md [type="button"]:-moz-focusring,
.d2-2744436118 .md [type="reset"]:-moz-focusring,
.d2-2744436118 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.md [type="checkbox"],
.md [type="radio"] {
.d2-2744436118 .md [type="checkbox"],
.d2-2744436118 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button {
.d2-2744436118 .md [type="number"]::-webkit-inner-spin-button,
.d2-2744436118 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.md [type="search"] {
.d2-2744436118 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration {
.d2-2744436118 .md [type="search"]::-webkit-search-cancel-button,
.d2-2744436118 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.md ::-webkit-input-placeholder {
.d2-2744436118 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.md ::-webkit-file-upload-button {
.d2-2744436118 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.md a:hover {
.d2-2744436118 .md a:hover {
text-decoration: underline;
}
.md hr::before {
.d2-2744436118 .md hr::before {
display: table;
content: "";
}
.md hr::after {
.d2-2744436118 .md hr::after {
display: table;
clear: both;
content: "";
}
.md table {
.d2-2744436118 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
@ -319,20 +319,20 @@
overflow: auto;
}
.md td,
.md th {
.d2-2744436118 .md td,
.d2-2744436118 .md th {
padding: 0;
}
.md details summary {
.d2-2744436118 .md details summary {
cursor: pointer;
}
.md details:not([open]) > *:not(summary) {
.d2-2744436118 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.md kbd {
.d2-2744436118 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
@ -344,12 +344,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {
.d2-2744436118 .md h1,
.d2-2744436118 .md h2,
.d2-2744436118 .md h3,
.d2-2744436118 .md h4,
.d2-2744436118 .md h5,
.d2-2744436118 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
@ -357,222 +357,222 @@
font-family: "d2-2744436118-font-regular";
}
.md h2 {
.d2-2744436118 .md h2 {
font-weight: 600;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.md h3 {
.d2-2744436118 .md h3 {
font-weight: 600;
font-size: 1.25em;
}
.md h4 {
.d2-2744436118 .md h4 {
font-weight: 600;
font-size: 1em;
}
.md h5 {
.d2-2744436118 .md h5 {
font-weight: 600;
font-size: 0.875em;
}
.md h6 {
.d2-2744436118 .md h6 {
font-weight: 600;
font-size: 0.85em;
color: var(--color-fg-muted);
}
.md p {
.d2-2744436118 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.md blockquote {
.d2-2744436118 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.md ul,
.md ol {
.d2-2744436118 .md ul,
.d2-2744436118 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.md ol ol,
.md ul ol {
.d2-2744436118 .md ol ol,
.d2-2744436118 .md ul ol {
list-style-type: lower-roman;
}
.md ul ul ol,
.md ul ol ol,
.md ol ul ol,
.md ol ol ol {
.d2-2744436118 .md ul ul ol,
.d2-2744436118 .md ul ol ol,
.d2-2744436118 .md ol ul ol,
.d2-2744436118 .md ol ol ol {
list-style-type: lower-alpha;
}
.md dd {
.d2-2744436118 .md dd {
margin-left: 0;
}
.md pre {
.d2-2744436118 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.md ::placeholder {
.d2-2744436118 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button {
.d2-2744436118 .md input::-webkit-outer-spin-button,
.d2-2744436118 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.md::before {
.d2-2744436118 .md::before {
display: table;
content: "";
}
.md::after {
.d2-2744436118 .md::after {
display: table;
clear: both;
content: "";
}
.md > *:first-child {
.d2-2744436118 .md > *:first-child {
margin-top: 0 !important;
}
.md > *:last-child {
.d2-2744436118 .md > *:last-child {
margin-bottom: 0 !important;
}
.md a:not([href]) {
.d2-2744436118 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.md .absent {
.d2-2744436118 .md .absent {
color: var(--color-danger-fg);
}
.md .anchor {
.d2-2744436118 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.md .anchor:focus {
.d2-2744436118 .md .anchor:focus {
outline: none;
}
.md p,
.md blockquote,
.md ul,
.md ol,
.md dl,
.md table,
.md pre,
.md details {
.d2-2744436118 .md p,
.d2-2744436118 .md blockquote,
.d2-2744436118 .md ul,
.d2-2744436118 .md ol,
.d2-2744436118 .md dl,
.d2-2744436118 .md table,
.d2-2744436118 .md pre,
.d2-2744436118 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.md blockquote > :first-child {
.d2-2744436118 .md blockquote > :first-child {
margin-top: 0;
}
.md blockquote > :last-child {
.d2-2744436118 .md blockquote > :last-child {
margin-bottom: 0;
}
.md sup > a::before {
.d2-2744436118 .md sup > a::before {
content: "[";
}
.md sup > a::after {
.d2-2744436118 .md sup > a::after {
content: "]";
}
.md h1:hover .anchor,
.md h2:hover .anchor,
.md h3:hover .anchor,
.md h4:hover .anchor,
.md h5:hover .anchor,
.md h6:hover .anchor {
.d2-2744436118 .md h1:hover .anchor,
.d2-2744436118 .md h2:hover .anchor,
.d2-2744436118 .md h3:hover .anchor,
.d2-2744436118 .md h4:hover .anchor,
.d2-2744436118 .md h5:hover .anchor,
.d2-2744436118 .md h6:hover .anchor {
text-decoration: none;
}
.md h1 tt,
.md h1 code,
.md h2 tt,
.md h2 code,
.md h3 tt,
.md h3 code,
.md h4 tt,
.md h4 code,
.md h5 tt,
.md h5 code,
.md h6 tt,
.md h6 code {
.d2-2744436118 .md h1 tt,
.d2-2744436118 .md h1 code,
.d2-2744436118 .md h2 tt,
.d2-2744436118 .md h2 code,
.d2-2744436118 .md h3 tt,
.d2-2744436118 .md h3 code,
.d2-2744436118 .md h4 tt,
.d2-2744436118 .md h4 code,
.d2-2744436118 .md h5 tt,
.d2-2744436118 .md h5 code,
.d2-2744436118 .md h6 tt,
.d2-2744436118 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.md ul.no-list,
.md ol.no-list {
.d2-2744436118 .md ul.no-list,
.d2-2744436118 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.md ol[type="1"] {
.d2-2744436118 .md ol[type="1"] {
list-style-type: decimal;
}
.md ol[type="a"] {
.d2-2744436118 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.md ol[type="i"] {
.d2-2744436118 .md ol[type="i"] {
list-style-type: lower-roman;
}
.md div > ol:not([type]) {
.d2-2744436118 .md div > ol:not([type]) {
list-style-type: decimal;
}
.md ul ul,
.md ul ol,
.md ol ol,
.md ol ul {
.d2-2744436118 .md ul ul,
.d2-2744436118 .md ul ol,
.d2-2744436118 .md ol ol,
.d2-2744436118 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.md li > p {
.d2-2744436118 .md li > p {
margin-top: 16px;
}
.md li + li {
.d2-2744436118 .md li + li {
margin-top: 0.25em;
}
.md dl {
.d2-2744436118 .md dl {
padding: 0;
}
.md dl dt {
.d2-2744436118 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
@ -580,48 +580,48 @@
font-weight: 600;
}
.md dl dd {
.d2-2744436118 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.md table th {
.d2-2744436118 .md table th {
font-weight: 600;
}
.md table th,
.md table td {
.d2-2744436118 .md table th,
.d2-2744436118 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.md table tr {
.d2-2744436118 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.md table tr:nth-child(2n) {
.d2-2744436118 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.md table img {
.d2-2744436118 .md table img {
background-color: transparent;
}
.md img[align="right"] {
.d2-2744436118 .md img[align="right"] {
padding-left: 20px;
}
.md img[align="left"] {
.d2-2744436118 .md img[align="left"] {
padding-right: 20px;
}
.md span.frame {
.d2-2744436118 .md span.frame {
display: block;
overflow: hidden;
}
.md span.frame > span {
.d2-2744436118 .md span.frame > span {
display: block;
float: left;
width: auto;
@ -631,81 +631,81 @@
border: 1px solid var(--color-border-default);
}
.md span.frame span img {
.d2-2744436118 .md span.frame span img {
display: block;
float: left;
}
.md span.frame span span {
.d2-2744436118 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.md span.align-center {
.d2-2744436118 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-center > span {
.d2-2744436118 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.md span.align-center span img {
.d2-2744436118 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.md span.align-right {
.d2-2744436118 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-right > span {
.d2-2744436118 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.md span.align-right span img {
.d2-2744436118 .md span.align-right span img {
margin: 0;
text-align: right;
}
.md span.float-left {
.d2-2744436118 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.md span.float-left span {
.d2-2744436118 .md span.float-left span {
margin: 13px 0 0;
}
.md span.float-right {
.d2-2744436118 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.md span.float-right > span {
.d2-2744436118 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.md code,
.md tt {
.d2-2744436118 .md code,
.d2-2744436118 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
@ -713,20 +713,20 @@
border-radius: 6px;
}
.md code br,
.md tt br {
.d2-2744436118 .md code br,
.d2-2744436118 .md tt br {
display: none;
}
.md del code {
.d2-2744436118 .md del code {
text-decoration: inherit;
}
.md pre code {
.d2-2744436118 .md pre code {
font-size: 100%;
}
.md pre > code {
.d2-2744436118 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
@ -735,17 +735,17 @@
border: 0;
}
.md .highlight {
.d2-2744436118 .md .highlight {
margin-bottom: 16px;
}
.md .highlight pre {
.d2-2744436118 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.md .highlight pre,
.md pre {
.d2-2744436118 .md .highlight pre,
.d2-2744436118 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
@ -754,8 +754,8 @@
border-radius: 6px;
}
.md pre code,
.md pre tt {
.d2-2744436118 .md pre code,
.d2-2744436118 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
@ -767,8 +767,8 @@
border: 0;
}
.md .csv-data td,
.md .csv-data th {
.d2-2744436118 .md .csv-data td,
.d2-2744436118 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
@ -777,38 +777,38 @@
white-space: nowrap;
}
.md .csv-data .blob-num {
.d2-2744436118 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.md .csv-data tr {
.d2-2744436118 .md .csv-data tr {
border-top: 0;
}
.md .csv-data th {
.d2-2744436118 .md .csv-data th {
font-weight: 600;
background: var(--color-canvas-subtle);
border-top: 0;
}
.md .footnotes {
.d2-2744436118 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.md .footnotes ol {
.d2-2744436118 .md .footnotes ol {
padding-left: 16px;
}
.md .footnotes li {
.d2-2744436118 .md .footnotes li {
position: relative;
}
.md .footnotes li:target::before {
.d2-2744436118 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
@ -820,36 +820,36 @@
border-radius: 6px;
}
.md .footnotes li:target {
.d2-2744436118 .md .footnotes li:target {
color: var(--color-fg-default);
}
.md .task-list-item {
.d2-2744436118 .md .task-list-item {
list-style-type: none;
}
.md .task-list-item label {
.d2-2744436118 .md .task-list-item label {
font-weight: 400;
}
.md .task-list-item.enabled label {
.d2-2744436118 .md .task-list-item.enabled label {
cursor: pointer;
}
.md .task-list-item + .task-list-item {
.d2-2744436118 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.md .task-list-item .handle {
.d2-2744436118 .md .task-list-item .handle {
display: none;
}
.md .task-list-item-checkbox {
.d2-2744436118 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.md .contains-task-list:dir(rtl) .task-list-item-checkbox {
.d2-2744436118 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><g id="code"><g class="shape" ></g><g transform="translate(133.000000 0.000000)" class="light-code"><rect width="159.000000" height="70.000000" class="shape stroke-N1" style="fill:#ffffff" /><g transform="translate(6 6)"><text class="text-mono" x="0" y="1.000000em" xml:space="preserve"><tspan fill="#000000" class="text-mono-bold">func</tspan>&#160;<tspan fill="#990000" class="text-mono-bold">main</tspan>()&#160;{

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 49 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 257 457"><svg id="d2-svg" class="d2-4211261339" width="257" height="457" viewBox="-101 -101 257 457"><rect x="-101.000000" y="-101.000000" width="257.000000" height="457.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4211261339 .text-bold {
font-family: "d2-4211261339-font-bold";
}

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1095 479"><svg id="d2-svg" class="d2-710463437" width="1095" height="479" viewBox="-100 -101 1095 479"><rect x="-100.000000" y="-101.000000" width="1095.000000" height="479.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-710463437 .text {
font-family: "d2-710463437-font-regular";
}
@ -103,31 +103,31 @@
.d2-710463437 .color-AA4{color:#45475A;}
.d2-710463437 .color-AA5{color:#313244;}
.d2-710463437 .color-AB4{color:#45475A;}
.d2-710463437 .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);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.md em,
.md dfn {
.d2-710463437 .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);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}]]></style><style type="text/css">.d2-710463437 .md em,
.d2-710463437 .md dfn {
font-family: "d2-710463437-font-italic";
}
.md b,
.md strong {
.d2-710463437 .md b,
.d2-710463437 .md strong {
font-family: "d2-710463437-font-bold";
}
.md code,
.md kbd,
.md pre,
.md samp {
.d2-710463437 .md code,
.d2-710463437 .md kbd,
.d2-710463437 .md pre,
.d2-710463437 .md samp {
font-family: "d2-710463437-font-mono";
font-size: 1em;
}
.md {
.d2-710463437 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.md {
.d2-710463437 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
@ -139,41 +139,41 @@
word-wrap: break-word;
}
.md details,
.md figcaption,
.md figure {
.d2-710463437 .md details,
.d2-710463437 .md figcaption,
.d2-710463437 .md figure {
display: block;
}
.md summary {
.d2-710463437 .md summary {
display: list-item;
}
.md [hidden] {
.d2-710463437 .md [hidden] {
display: none !important;
}
.md a {
.d2-710463437 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.md a:active,
.md a:hover {
.d2-710463437 .md a:active,
.d2-710463437 .md a:hover {
outline-width: 0;
}
.md abbr[title] {
.d2-710463437 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.md dfn {
.d2-710463437 .md dfn {
font-style: italic;
}
.md h1 {
.d2-710463437 .md h1 {
margin: 0.67em 0;
font-weight: 600;
padding-bottom: 0.3em;
@ -181,43 +181,43 @@
border-bottom: 1px solid var(--color-border-muted);
}
.md mark {
.d2-710463437 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.md small {
.d2-710463437 .md small {
font-size: 90%;
}
.md sub,
.md sup {
.d2-710463437 .md sub,
.d2-710463437 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.md sub {
.d2-710463437 .md sub {
bottom: -0.25em;
}
.md sup {
.d2-710463437 .md sup {
top: -0.5em;
}
.md img {
.d2-710463437 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.md figure {
.d2-710463437 .md figure {
margin: 1em 40px;
}
.md hr {
.d2-710463437 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
@ -229,7 +229,7 @@
border: 0;
}
.md input {
.d2-710463437 .md input {
font: inherit;
margin: 0;
overflow: visible;
@ -238,72 +238,72 @@
line-height: inherit;
}
.md [type="button"],
.md [type="reset"],
.md [type="submit"] {
.d2-710463437 .md [type="button"],
.d2-710463437 .md [type="reset"],
.d2-710463437 .md [type="submit"] {
-webkit-appearance: button;
}
.md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner {
.d2-710463437 .md [type="button"]::-moz-focus-inner,
.d2-710463437 .md [type="reset"]::-moz-focus-inner,
.d2-710463437 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring {
.d2-710463437 .md [type="button"]:-moz-focusring,
.d2-710463437 .md [type="reset"]:-moz-focusring,
.d2-710463437 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.md [type="checkbox"],
.md [type="radio"] {
.d2-710463437 .md [type="checkbox"],
.d2-710463437 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button {
.d2-710463437 .md [type="number"]::-webkit-inner-spin-button,
.d2-710463437 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.md [type="search"] {
.d2-710463437 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration {
.d2-710463437 .md [type="search"]::-webkit-search-cancel-button,
.d2-710463437 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.md ::-webkit-input-placeholder {
.d2-710463437 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.md ::-webkit-file-upload-button {
.d2-710463437 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.md a:hover {
.d2-710463437 .md a:hover {
text-decoration: underline;
}
.md hr::before {
.d2-710463437 .md hr::before {
display: table;
content: "";
}
.md hr::after {
.d2-710463437 .md hr::after {
display: table;
clear: both;
content: "";
}
.md table {
.d2-710463437 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
@ -312,20 +312,20 @@
overflow: auto;
}
.md td,
.md th {
.d2-710463437 .md td,
.d2-710463437 .md th {
padding: 0;
}
.md details summary {
.d2-710463437 .md details summary {
cursor: pointer;
}
.md details:not([open]) > *:not(summary) {
.d2-710463437 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.md kbd {
.d2-710463437 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
@ -337,12 +337,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {
.d2-710463437 .md h1,
.d2-710463437 .md h2,
.d2-710463437 .md h3,
.d2-710463437 .md h4,
.d2-710463437 .md h5,
.d2-710463437 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
@ -350,222 +350,222 @@
font-family: "d2-710463437-font-regular";
}
.md h2 {
.d2-710463437 .md h2 {
font-weight: 600;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.md h3 {
.d2-710463437 .md h3 {
font-weight: 600;
font-size: 1.25em;
}
.md h4 {
.d2-710463437 .md h4 {
font-weight: 600;
font-size: 1em;
}
.md h5 {
.d2-710463437 .md h5 {
font-weight: 600;
font-size: 0.875em;
}
.md h6 {
.d2-710463437 .md h6 {
font-weight: 600;
font-size: 0.85em;
color: var(--color-fg-muted);
}
.md p {
.d2-710463437 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.md blockquote {
.d2-710463437 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.md ul,
.md ol {
.d2-710463437 .md ul,
.d2-710463437 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.md ol ol,
.md ul ol {
.d2-710463437 .md ol ol,
.d2-710463437 .md ul ol {
list-style-type: lower-roman;
}
.md ul ul ol,
.md ul ol ol,
.md ol ul ol,
.md ol ol ol {
.d2-710463437 .md ul ul ol,
.d2-710463437 .md ul ol ol,
.d2-710463437 .md ol ul ol,
.d2-710463437 .md ol ol ol {
list-style-type: lower-alpha;
}
.md dd {
.d2-710463437 .md dd {
margin-left: 0;
}
.md pre {
.d2-710463437 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.md ::placeholder {
.d2-710463437 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button {
.d2-710463437 .md input::-webkit-outer-spin-button,
.d2-710463437 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.md::before {
.d2-710463437 .md::before {
display: table;
content: "";
}
.md::after {
.d2-710463437 .md::after {
display: table;
clear: both;
content: "";
}
.md > *:first-child {
.d2-710463437 .md > *:first-child {
margin-top: 0 !important;
}
.md > *:last-child {
.d2-710463437 .md > *:last-child {
margin-bottom: 0 !important;
}
.md a:not([href]) {
.d2-710463437 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.md .absent {
.d2-710463437 .md .absent {
color: var(--color-danger-fg);
}
.md .anchor {
.d2-710463437 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.md .anchor:focus {
.d2-710463437 .md .anchor:focus {
outline: none;
}
.md p,
.md blockquote,
.md ul,
.md ol,
.md dl,
.md table,
.md pre,
.md details {
.d2-710463437 .md p,
.d2-710463437 .md blockquote,
.d2-710463437 .md ul,
.d2-710463437 .md ol,
.d2-710463437 .md dl,
.d2-710463437 .md table,
.d2-710463437 .md pre,
.d2-710463437 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.md blockquote > :first-child {
.d2-710463437 .md blockquote > :first-child {
margin-top: 0;
}
.md blockquote > :last-child {
.d2-710463437 .md blockquote > :last-child {
margin-bottom: 0;
}
.md sup > a::before {
.d2-710463437 .md sup > a::before {
content: "[";
}
.md sup > a::after {
.d2-710463437 .md sup > a::after {
content: "]";
}
.md h1:hover .anchor,
.md h2:hover .anchor,
.md h3:hover .anchor,
.md h4:hover .anchor,
.md h5:hover .anchor,
.md h6:hover .anchor {
.d2-710463437 .md h1:hover .anchor,
.d2-710463437 .md h2:hover .anchor,
.d2-710463437 .md h3:hover .anchor,
.d2-710463437 .md h4:hover .anchor,
.d2-710463437 .md h5:hover .anchor,
.d2-710463437 .md h6:hover .anchor {
text-decoration: none;
}
.md h1 tt,
.md h1 code,
.md h2 tt,
.md h2 code,
.md h3 tt,
.md h3 code,
.md h4 tt,
.md h4 code,
.md h5 tt,
.md h5 code,
.md h6 tt,
.md h6 code {
.d2-710463437 .md h1 tt,
.d2-710463437 .md h1 code,
.d2-710463437 .md h2 tt,
.d2-710463437 .md h2 code,
.d2-710463437 .md h3 tt,
.d2-710463437 .md h3 code,
.d2-710463437 .md h4 tt,
.d2-710463437 .md h4 code,
.d2-710463437 .md h5 tt,
.d2-710463437 .md h5 code,
.d2-710463437 .md h6 tt,
.d2-710463437 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.md ul.no-list,
.md ol.no-list {
.d2-710463437 .md ul.no-list,
.d2-710463437 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.md ol[type="1"] {
.d2-710463437 .md ol[type="1"] {
list-style-type: decimal;
}
.md ol[type="a"] {
.d2-710463437 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.md ol[type="i"] {
.d2-710463437 .md ol[type="i"] {
list-style-type: lower-roman;
}
.md div > ol:not([type]) {
.d2-710463437 .md div > ol:not([type]) {
list-style-type: decimal;
}
.md ul ul,
.md ul ol,
.md ol ol,
.md ol ul {
.d2-710463437 .md ul ul,
.d2-710463437 .md ul ol,
.d2-710463437 .md ol ol,
.d2-710463437 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.md li > p {
.d2-710463437 .md li > p {
margin-top: 16px;
}
.md li + li {
.d2-710463437 .md li + li {
margin-top: 0.25em;
}
.md dl {
.d2-710463437 .md dl {
padding: 0;
}
.md dl dt {
.d2-710463437 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
@ -573,48 +573,48 @@
font-weight: 600;
}
.md dl dd {
.d2-710463437 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.md table th {
.d2-710463437 .md table th {
font-weight: 600;
}
.md table th,
.md table td {
.d2-710463437 .md table th,
.d2-710463437 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.md table tr {
.d2-710463437 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.md table tr:nth-child(2n) {
.d2-710463437 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.md table img {
.d2-710463437 .md table img {
background-color: transparent;
}
.md img[align="right"] {
.d2-710463437 .md img[align="right"] {
padding-left: 20px;
}
.md img[align="left"] {
.d2-710463437 .md img[align="left"] {
padding-right: 20px;
}
.md span.frame {
.d2-710463437 .md span.frame {
display: block;
overflow: hidden;
}
.md span.frame > span {
.d2-710463437 .md span.frame > span {
display: block;
float: left;
width: auto;
@ -624,81 +624,81 @@
border: 1px solid var(--color-border-default);
}
.md span.frame span img {
.d2-710463437 .md span.frame span img {
display: block;
float: left;
}
.md span.frame span span {
.d2-710463437 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.md span.align-center {
.d2-710463437 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-center > span {
.d2-710463437 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.md span.align-center span img {
.d2-710463437 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.md span.align-right {
.d2-710463437 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-right > span {
.d2-710463437 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.md span.align-right span img {
.d2-710463437 .md span.align-right span img {
margin: 0;
text-align: right;
}
.md span.float-left {
.d2-710463437 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.md span.float-left span {
.d2-710463437 .md span.float-left span {
margin: 13px 0 0;
}
.md span.float-right {
.d2-710463437 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.md span.float-right > span {
.d2-710463437 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.md code,
.md tt {
.d2-710463437 .md code,
.d2-710463437 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
@ -706,20 +706,20 @@
border-radius: 6px;
}
.md code br,
.md tt br {
.d2-710463437 .md code br,
.d2-710463437 .md tt br {
display: none;
}
.md del code {
.d2-710463437 .md del code {
text-decoration: inherit;
}
.md pre code {
.d2-710463437 .md pre code {
font-size: 100%;
}
.md pre > code {
.d2-710463437 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
@ -728,17 +728,17 @@
border: 0;
}
.md .highlight {
.d2-710463437 .md .highlight {
margin-bottom: 16px;
}
.md .highlight pre {
.d2-710463437 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.md .highlight pre,
.md pre {
.d2-710463437 .md .highlight pre,
.d2-710463437 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
@ -747,8 +747,8 @@
border-radius: 6px;
}
.md pre code,
.md pre tt {
.d2-710463437 .md pre code,
.d2-710463437 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
@ -760,8 +760,8 @@
border: 0;
}
.md .csv-data td,
.md .csv-data th {
.d2-710463437 .md .csv-data td,
.d2-710463437 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
@ -770,38 +770,38 @@
white-space: nowrap;
}
.md .csv-data .blob-num {
.d2-710463437 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.md .csv-data tr {
.d2-710463437 .md .csv-data tr {
border-top: 0;
}
.md .csv-data th {
.d2-710463437 .md .csv-data th {
font-weight: 600;
background: var(--color-canvas-subtle);
border-top: 0;
}
.md .footnotes {
.d2-710463437 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.md .footnotes ol {
.d2-710463437 .md .footnotes ol {
padding-left: 16px;
}
.md .footnotes li {
.d2-710463437 .md .footnotes li {
position: relative;
}
.md .footnotes li:target::before {
.d2-710463437 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
@ -813,36 +813,36 @@
border-radius: 6px;
}
.md .footnotes li:target {
.d2-710463437 .md .footnotes li:target {
color: var(--color-fg-default);
}
.md .task-list-item {
.d2-710463437 .md .task-list-item {
list-style-type: none;
}
.md .task-list-item label {
.d2-710463437 .md .task-list-item label {
font-weight: 400;
}
.md .task-list-item.enabled label {
.d2-710463437 .md .task-list-item.enabled label {
cursor: pointer;
}
.md .task-list-item + .task-list-item {
.d2-710463437 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.md .task-list-item .handle {
.d2-710463437 .md .task-list-item .handle {
display: none;
}
.md .task-list-item-checkbox {
.d2-710463437 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.md .contains-task-list:dir(rtl) .task-list-item-checkbox {
.d2-710463437 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><g id="x" style='opacity:0.400000'><g class="shape" ><rect x="162.000000" y="3.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="189.000000" y="41.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y" style='opacity:0.400000'><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="276.000000" y="24.000000" width="347" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>linux: because a PC is a terrible thing to waste</p>

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 758 268"><svg id="d2-svg" class="d2-2779170942" width="758" height="268" viewBox="-101 -101 758 268"><rect x="-101.000000" y="-101.000000" width="758.000000" height="268.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 758 268"><svg id="d2-svg" class="d2-2779170942" width="758" height="268" viewBox="-101 -101 758 268"><rect x="-101.000000" y="-101.000000" width="758.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2779170942 .text-bold {
font-family: "d2-2779170942-font-bold";
}

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1027 662"><svg id="d2-svg" class="d2-2258688787" width="1027" height="662" viewBox="-101 -101 1027 662"><rect x="-101.000000" y="-101.000000" width="1027.000000" height="662.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2258688787 .text {
font-family: "d2-2258688787-font-regular";
}

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View file

@ -28,10 +28,12 @@ only have to be in the form of pull requests. Your bug reports, plugins, example
discussions of new ideas, help a great deal.
If you'd like to get involved, we're also committed to helping you merge that first pull
request. You should be able to freely pick up Issues tagged as "good first issue". If you
need help getting started, please don't hesitate to pop into Discord -- as long as you
want to help, we'll find the perfect task (complexity matches your appetite and
programming experience, in an area you're interested in, etc).
request. You should be able to freely pick up Issues tagged as "good first issue". Those
will usually include notes on getting started, but if they're missing or insufficient,
just leave a comment and we'll add more detail. If you need help getting started, please
don't hesitate to pop into Discord -- as long as you want to help, we'll find the perfect
task (complexity matches your appetite and programming experience, in an area you're
interested in, etc).
## CI

View file

@ -246,7 +246,8 @@ layers: {
},
},
{
name: "how_to_solve_problems_pptx",
name: "how_to_solve_problems_pptx",
skipCI: true,
run: func(t *testing.T, ctx context.Context, dir string, env *xos.Env) {
writeFile(t, dir, "in.d2", `how to solve a hard problem?
steps: {

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2448830429 .text-bold {
font-family: "d2-2448830429-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 514 665"><svg id="d2-svg" width="514" height="665" viewBox="-206 -166 514 665"><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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 514 665"><svg id="d2-svg" width="514" height="665" viewBox="-206 -166 514 665"><style type="text/css"><![CDATA[
.d2-3751819762 .text {
font-family: "d2-3751819762-font-regular";
}

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2448830429 .text-bold {
font-family: "d2-2448830429-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 200 200"><svg id="d2-svg" class="d2-121760133" width="200" height="200" viewBox="-100 -100 200 200"><rect x="-100.000000" y="-100.000000" width="200.000000" height="200.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
<?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 200 200"><svg id="d2-svg" class="d2-121760133" width="200" height="200" viewBox="-100 -100 200 200"><rect x="-100.000000" y="-100.000000" width="200.000000" height="200.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-524372316" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-524372316" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-524372316 .text-bold {
font-family: "d2-524372316-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 469 268"><svg id="d2-svg" class="d2-1194982555" width="469" height="268" viewBox="-101 -101 469 268"><rect x="-101.000000" y="-101.000000" width="469.000000" height="268.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 469 268"><svg id="d2-svg" class="d2-1194982555" width="469" height="268" viewBox="-101 -101 469 268"><rect x="-101.000000" y="-101.000000" width="469.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1194982555 .text-bold {
font-family: "d2-1194982555-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-4059799029" width="558" height="268" viewBox="-101 -101 558 268"><rect x="-101.000000" y="-101.000000" width="558.000000" height="268.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-4059799029" width="558" height="268" viewBox="-101 -101 558 268"><rect x="-101.000000" y="-101.000000" width="558.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4059799029 .text-bold {
font-family: "d2-4059799029-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-1066622782" width="578" height="268" viewBox="-101 -101 578 268"><rect x="-101.000000" y="-101.000000" width="578.000000" height="268.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-1066622782" width="578" height="268" viewBox="-101 -101 578 268"><rect x="-101.000000" y="-101.000000" width="578.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1066622782 .text-bold {
font-family: "d2-1066622782-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-118346165" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-118346165" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-118346165 .text-bold {
font-family: "d2-118346165-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-524372316" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-524372316" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-524372316 .text-bold {
font-family: "d2-524372316-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 469 268"><svg id="d2-svg" class="d2-1194982555" width="469" height="268" viewBox="-101 -101 469 268"><rect x="-101.000000" y="-101.000000" width="469.000000" height="268.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 469 268"><svg id="d2-svg" class="d2-1194982555" width="469" height="268" viewBox="-101 -101 469 268"><rect x="-101.000000" y="-101.000000" width="469.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1194982555 .text-bold {
font-family: "d2-1194982555-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-4059799029" width="558" height="268" viewBox="-101 -101 558 268"><rect x="-101.000000" y="-101.000000" width="558.000000" height="268.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 558 268"><svg id="d2-svg" class="d2-4059799029" width="558" height="268" viewBox="-101 -101 558 268"><rect x="-101.000000" y="-101.000000" width="558.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4059799029 .text-bold {
font-family: "d2-4059799029-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-1066622782" width="578" height="268" viewBox="-101 -101 578 268"><rect x="-101.000000" y="-101.000000" width="578.000000" height="268.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 578 268"><svg id="d2-svg" class="d2-1066622782" width="578" height="268" viewBox="-101 -101 578 268"><rect x="-101.000000" y="-101.000000" width="578.000000" height="268.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1066622782 .text-bold {
font-family: "d2-1066622782-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-118346165" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-118346165" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-118346165 .text-bold {
font-family: "d2-118346165-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 434"><svg id="d2-svg" class="d2-2448830429" width="256" height="434" viewBox="-101 -101 256 434"><rect x="-101.000000" y="-101.000000" width="256.000000" height="434.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2448830429 .text-bold {
font-family: "d2-2448830429-font-bold";
}

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 641 489"><svg id="d2-svg" class="d2-2459756577" width="641" height="489" viewBox="-101 -101 641 489"><rect x="-101.000000" y="-101.000000" width="641.000000" height="489.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 641 489"><svg id="d2-svg" class="d2-2459756577" width="641" height="489" viewBox="-101 -101 641 489"><rect x="-101.000000" y="-101.000000" width="641.000000" height="489.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2459756577 .text-bold {
font-family: "d2-2459756577-font-bold";
}

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -39,6 +39,12 @@ func testStable(t *testing.T) {
}
`,
},
{
name: "near_keys_for_container",
script: `title: |md
# Service-Cluster Provisioning ("Outside view")
| {near: top-center}`,
},
{
name: "near_keys_for_container",
script: `

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 114 46"><svg id="d2-svg" class="d2-148127623" width="114" height="46" viewBox="-1 -1 114 46"><rect x="-1.000000" y="-1.000000" width="114.000000" height="46.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
<?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 114 46"><svg id="d2-svg" class="d2-148127623" width="114" height="46" viewBox="-1 -1 114 46"><rect x="-1.000000" y="-1.000000" width="114.000000" height="46.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 3 3"><svg id="d2-svg" class="d2-3318021269" width="3" height="3" viewBox="-1 -1 3 3"><rect x="-1.000000" y="-1.000000" width="3.000000" height="3.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 3 3"><svg id="d2-svg" class="d2-3318021269" width="3" height="3" viewBox="-1 -1 3 3"><rect x="-1.000000" y="-1.000000" width="3.000000" height="3.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3318021269 .text {
font-family: "d2-3318021269-font-regular";
}
@ -89,31 +89,31 @@
.d2-3318021269 .color-AA4{color:#EDF0FD;}
.d2-3318021269 .color-AA5{color:#F7F8FE;}
.d2-3318021269 .color-AB4{color:#EDF0FD;}
.d2-3318021269 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.md em,
.md dfn {
.d2-3318021269 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.d2-3318021269 .md em,
.d2-3318021269 .md dfn {
font-family: "d2-3318021269-font-italic";
}
.md b,
.md strong {
.d2-3318021269 .md b,
.d2-3318021269 .md strong {
font-family: "d2-3318021269-font-bold";
}
.md code,
.md kbd,
.md pre,
.md samp {
.d2-3318021269 .md code,
.d2-3318021269 .md kbd,
.d2-3318021269 .md pre,
.d2-3318021269 .md samp {
font-family: "d2-3318021269-font-mono";
font-size: 1em;
}
.md {
.d2-3318021269 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.md {
.d2-3318021269 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
@ -125,41 +125,41 @@
word-wrap: break-word;
}
.md details,
.md figcaption,
.md figure {
.d2-3318021269 .md details,
.d2-3318021269 .md figcaption,
.d2-3318021269 .md figure {
display: block;
}
.md summary {
.d2-3318021269 .md summary {
display: list-item;
}
.md [hidden] {
.d2-3318021269 .md [hidden] {
display: none !important;
}
.md a {
.d2-3318021269 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.md a:active,
.md a:hover {
.d2-3318021269 .md a:active,
.d2-3318021269 .md a:hover {
outline-width: 0;
}
.md abbr[title] {
.d2-3318021269 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.md dfn {
.d2-3318021269 .md dfn {
font-style: italic;
}
.md h1 {
.d2-3318021269 .md h1 {
margin: 0.67em 0;
font-weight: 600;
padding-bottom: 0.3em;
@ -167,43 +167,43 @@
border-bottom: 1px solid var(--color-border-muted);
}
.md mark {
.d2-3318021269 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.md small {
.d2-3318021269 .md small {
font-size: 90%;
}
.md sub,
.md sup {
.d2-3318021269 .md sub,
.d2-3318021269 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.md sub {
.d2-3318021269 .md sub {
bottom: -0.25em;
}
.md sup {
.d2-3318021269 .md sup {
top: -0.5em;
}
.md img {
.d2-3318021269 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.md figure {
.d2-3318021269 .md figure {
margin: 1em 40px;
}
.md hr {
.d2-3318021269 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
@ -215,7 +215,7 @@
border: 0;
}
.md input {
.d2-3318021269 .md input {
font: inherit;
margin: 0;
overflow: visible;
@ -224,72 +224,72 @@
line-height: inherit;
}
.md [type="button"],
.md [type="reset"],
.md [type="submit"] {
.d2-3318021269 .md [type="button"],
.d2-3318021269 .md [type="reset"],
.d2-3318021269 .md [type="submit"] {
-webkit-appearance: button;
}
.md [type="button"]::-moz-focus-inner,
.md [type="reset"]::-moz-focus-inner,
.md [type="submit"]::-moz-focus-inner {
.d2-3318021269 .md [type="button"]::-moz-focus-inner,
.d2-3318021269 .md [type="reset"]::-moz-focus-inner,
.d2-3318021269 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.md [type="button"]:-moz-focusring,
.md [type="reset"]:-moz-focusring,
.md [type="submit"]:-moz-focusring {
.d2-3318021269 .md [type="button"]:-moz-focusring,
.d2-3318021269 .md [type="reset"]:-moz-focusring,
.d2-3318021269 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.md [type="checkbox"],
.md [type="radio"] {
.d2-3318021269 .md [type="checkbox"],
.d2-3318021269 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.md [type="number"]::-webkit-inner-spin-button,
.md [type="number"]::-webkit-outer-spin-button {
.d2-3318021269 .md [type="number"]::-webkit-inner-spin-button,
.d2-3318021269 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.md [type="search"] {
.d2-3318021269 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.md [type="search"]::-webkit-search-cancel-button,
.md [type="search"]::-webkit-search-decoration {
.d2-3318021269 .md [type="search"]::-webkit-search-cancel-button,
.d2-3318021269 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.md ::-webkit-input-placeholder {
.d2-3318021269 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.md ::-webkit-file-upload-button {
.d2-3318021269 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.md a:hover {
.d2-3318021269 .md a:hover {
text-decoration: underline;
}
.md hr::before {
.d2-3318021269 .md hr::before {
display: table;
content: "";
}
.md hr::after {
.d2-3318021269 .md hr::after {
display: table;
clear: both;
content: "";
}
.md table {
.d2-3318021269 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
@ -298,20 +298,20 @@
overflow: auto;
}
.md td,
.md th {
.d2-3318021269 .md td,
.d2-3318021269 .md th {
padding: 0;
}
.md details summary {
.d2-3318021269 .md details summary {
cursor: pointer;
}
.md details:not([open]) > *:not(summary) {
.d2-3318021269 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.md kbd {
.d2-3318021269 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
@ -323,12 +323,12 @@
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {
.d2-3318021269 .md h1,
.d2-3318021269 .md h2,
.d2-3318021269 .md h3,
.d2-3318021269 .md h4,
.d2-3318021269 .md h5,
.d2-3318021269 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
@ -336,222 +336,222 @@
font-family: "d2-3318021269-font-regular";
}
.md h2 {
.d2-3318021269 .md h2 {
font-weight: 600;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.md h3 {
.d2-3318021269 .md h3 {
font-weight: 600;
font-size: 1.25em;
}
.md h4 {
.d2-3318021269 .md h4 {
font-weight: 600;
font-size: 1em;
}
.md h5 {
.d2-3318021269 .md h5 {
font-weight: 600;
font-size: 0.875em;
}
.md h6 {
.d2-3318021269 .md h6 {
font-weight: 600;
font-size: 0.85em;
color: var(--color-fg-muted);
}
.md p {
.d2-3318021269 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.md blockquote {
.d2-3318021269 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.md ul,
.md ol {
.d2-3318021269 .md ul,
.d2-3318021269 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.md ol ol,
.md ul ol {
.d2-3318021269 .md ol ol,
.d2-3318021269 .md ul ol {
list-style-type: lower-roman;
}
.md ul ul ol,
.md ul ol ol,
.md ol ul ol,
.md ol ol ol {
.d2-3318021269 .md ul ul ol,
.d2-3318021269 .md ul ol ol,
.d2-3318021269 .md ol ul ol,
.d2-3318021269 .md ol ol ol {
list-style-type: lower-alpha;
}
.md dd {
.d2-3318021269 .md dd {
margin-left: 0;
}
.md pre {
.d2-3318021269 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.md ::placeholder {
.d2-3318021269 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.md input::-webkit-outer-spin-button,
.md input::-webkit-inner-spin-button {
.d2-3318021269 .md input::-webkit-outer-spin-button,
.d2-3318021269 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.md::before {
.d2-3318021269 .md::before {
display: table;
content: "";
}
.md::after {
.d2-3318021269 .md::after {
display: table;
clear: both;
content: "";
}
.md > *:first-child {
.d2-3318021269 .md > *:first-child {
margin-top: 0 !important;
}
.md > *:last-child {
.d2-3318021269 .md > *:last-child {
margin-bottom: 0 !important;
}
.md a:not([href]) {
.d2-3318021269 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.md .absent {
.d2-3318021269 .md .absent {
color: var(--color-danger-fg);
}
.md .anchor {
.d2-3318021269 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.md .anchor:focus {
.d2-3318021269 .md .anchor:focus {
outline: none;
}
.md p,
.md blockquote,
.md ul,
.md ol,
.md dl,
.md table,
.md pre,
.md details {
.d2-3318021269 .md p,
.d2-3318021269 .md blockquote,
.d2-3318021269 .md ul,
.d2-3318021269 .md ol,
.d2-3318021269 .md dl,
.d2-3318021269 .md table,
.d2-3318021269 .md pre,
.d2-3318021269 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.md blockquote > :first-child {
.d2-3318021269 .md blockquote > :first-child {
margin-top: 0;
}
.md blockquote > :last-child {
.d2-3318021269 .md blockquote > :last-child {
margin-bottom: 0;
}
.md sup > a::before {
.d2-3318021269 .md sup > a::before {
content: "[";
}
.md sup > a::after {
.d2-3318021269 .md sup > a::after {
content: "]";
}
.md h1:hover .anchor,
.md h2:hover .anchor,
.md h3:hover .anchor,
.md h4:hover .anchor,
.md h5:hover .anchor,
.md h6:hover .anchor {
.d2-3318021269 .md h1:hover .anchor,
.d2-3318021269 .md h2:hover .anchor,
.d2-3318021269 .md h3:hover .anchor,
.d2-3318021269 .md h4:hover .anchor,
.d2-3318021269 .md h5:hover .anchor,
.d2-3318021269 .md h6:hover .anchor {
text-decoration: none;
}
.md h1 tt,
.md h1 code,
.md h2 tt,
.md h2 code,
.md h3 tt,
.md h3 code,
.md h4 tt,
.md h4 code,
.md h5 tt,
.md h5 code,
.md h6 tt,
.md h6 code {
.d2-3318021269 .md h1 tt,
.d2-3318021269 .md h1 code,
.d2-3318021269 .md h2 tt,
.d2-3318021269 .md h2 code,
.d2-3318021269 .md h3 tt,
.d2-3318021269 .md h3 code,
.d2-3318021269 .md h4 tt,
.d2-3318021269 .md h4 code,
.d2-3318021269 .md h5 tt,
.d2-3318021269 .md h5 code,
.d2-3318021269 .md h6 tt,
.d2-3318021269 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.md ul.no-list,
.md ol.no-list {
.d2-3318021269 .md ul.no-list,
.d2-3318021269 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.md ol[type="1"] {
.d2-3318021269 .md ol[type="1"] {
list-style-type: decimal;
}
.md ol[type="a"] {
.d2-3318021269 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.md ol[type="i"] {
.d2-3318021269 .md ol[type="i"] {
list-style-type: lower-roman;
}
.md div > ol:not([type]) {
.d2-3318021269 .md div > ol:not([type]) {
list-style-type: decimal;
}
.md ul ul,
.md ul ol,
.md ol ol,
.md ol ul {
.d2-3318021269 .md ul ul,
.d2-3318021269 .md ul ol,
.d2-3318021269 .md ol ol,
.d2-3318021269 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.md li > p {
.d2-3318021269 .md li > p {
margin-top: 16px;
}
.md li + li {
.d2-3318021269 .md li + li {
margin-top: 0.25em;
}
.md dl {
.d2-3318021269 .md dl {
padding: 0;
}
.md dl dt {
.d2-3318021269 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
@ -559,48 +559,48 @@
font-weight: 600;
}
.md dl dd {
.d2-3318021269 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.md table th {
.d2-3318021269 .md table th {
font-weight: 600;
}
.md table th,
.md table td {
.d2-3318021269 .md table th,
.d2-3318021269 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.md table tr {
.d2-3318021269 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.md table tr:nth-child(2n) {
.d2-3318021269 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.md table img {
.d2-3318021269 .md table img {
background-color: transparent;
}
.md img[align="right"] {
.d2-3318021269 .md img[align="right"] {
padding-left: 20px;
}
.md img[align="left"] {
.d2-3318021269 .md img[align="left"] {
padding-right: 20px;
}
.md span.frame {
.d2-3318021269 .md span.frame {
display: block;
overflow: hidden;
}
.md span.frame > span {
.d2-3318021269 .md span.frame > span {
display: block;
float: left;
width: auto;
@ -610,81 +610,81 @@
border: 1px solid var(--color-border-default);
}
.md span.frame span img {
.d2-3318021269 .md span.frame span img {
display: block;
float: left;
}
.md span.frame span span {
.d2-3318021269 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.md span.align-center {
.d2-3318021269 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-center > span {
.d2-3318021269 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.md span.align-center span img {
.d2-3318021269 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.md span.align-right {
.d2-3318021269 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.md span.align-right > span {
.d2-3318021269 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.md span.align-right span img {
.d2-3318021269 .md span.align-right span img {
margin: 0;
text-align: right;
}
.md span.float-left {
.d2-3318021269 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.md span.float-left span {
.d2-3318021269 .md span.float-left span {
margin: 13px 0 0;
}
.md span.float-right {
.d2-3318021269 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.md span.float-right > span {
.d2-3318021269 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.md code,
.md tt {
.d2-3318021269 .md code,
.d2-3318021269 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
@ -692,20 +692,20 @@
border-radius: 6px;
}
.md code br,
.md tt br {
.d2-3318021269 .md code br,
.d2-3318021269 .md tt br {
display: none;
}
.md del code {
.d2-3318021269 .md del code {
text-decoration: inherit;
}
.md pre code {
.d2-3318021269 .md pre code {
font-size: 100%;
}
.md pre > code {
.d2-3318021269 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
@ -714,17 +714,17 @@
border: 0;
}
.md .highlight {
.d2-3318021269 .md .highlight {
margin-bottom: 16px;
}
.md .highlight pre {
.d2-3318021269 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.md .highlight pre,
.md pre {
.d2-3318021269 .md .highlight pre,
.d2-3318021269 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
@ -733,8 +733,8 @@
border-radius: 6px;
}
.md pre code,
.md pre tt {
.d2-3318021269 .md pre code,
.d2-3318021269 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
@ -746,8 +746,8 @@
border: 0;
}
.md .csv-data td,
.md .csv-data th {
.d2-3318021269 .md .csv-data td,
.d2-3318021269 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
@ -756,38 +756,38 @@
white-space: nowrap;
}
.md .csv-data .blob-num {
.d2-3318021269 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.md .csv-data tr {
.d2-3318021269 .md .csv-data tr {
border-top: 0;
}
.md .csv-data th {
.d2-3318021269 .md .csv-data th {
font-weight: 600;
background: var(--color-canvas-subtle);
border-top: 0;
}
.md .footnotes {
.d2-3318021269 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.md .footnotes ol {
.d2-3318021269 .md .footnotes ol {
padding-left: 16px;
}
.md .footnotes li {
.d2-3318021269 .md .footnotes li {
position: relative;
}
.md .footnotes li:target::before {
.d2-3318021269 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
@ -799,36 +799,36 @@
border-radius: 6px;
}
.md .footnotes li:target {
.d2-3318021269 .md .footnotes li:target {
color: var(--color-fg-default);
}
.md .task-list-item {
.d2-3318021269 .md .task-list-item {
list-style-type: none;
}
.md .task-list-item label {
.d2-3318021269 .md .task-list-item label {
font-weight: 400;
}
.md .task-list-item.enabled label {
.d2-3318021269 .md .task-list-item.enabled label {
cursor: pointer;
}
.md .task-list-item + .task-list-item {
.d2-3318021269 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.md .task-list-item .handle {
.d2-3318021269 .md .task-list-item .handle {
display: none;
}
.md .task-list-item-checkbox {
.d2-3318021269 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.md .contains-task-list:dir(rtl) .task-list-item-checkbox {
.d2-3318021269 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><g id="a"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="0.000000" y="0.000000" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml" class="md" /></foreignObject></g></g><mask id="d2-3318021269" maskUnits="userSpaceOnUse" x="-1" y="-1" width="3" height="3">

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 102 102"><svg id="d2-svg" class="d2-198791073" width="102" height="102" viewBox="-1 -1 102 102"><rect x="-1.000000" y="-1.000000" width="102.000000" height="102.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
<?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 102 102"><svg id="d2-svg" class="d2-198791073" width="102" height="102" viewBox="-1 -1 102 102"><rect x="-1.000000" y="-1.000000" width="102.000000" height="102.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}

Before

Width:  |  Height:  |  Size: 6 KiB

After

Width:  |  Height:  |  Size: 6 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 52 14"><svg id="d2-svg" class="d2-2388684491" width="52" height="14" viewBox="-1 -1 52 14"><rect x="-1.000000" y="-1.000000" width="52.000000" height="14.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
<?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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 52 14"><svg id="d2-svg" class="d2-2388684491" width="52" height="14" viewBox="-1 -1 52 14"><rect x="-1.000000" y="-1.000000" width="52.000000" height="14.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 182 87"><svg id="d2-svg" class="d2-776364968" width="182" height="87" viewBox="-1 -17 182 87"><rect x="-1.000000" y="-17.000000" width="182.000000" height="87.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 182 87"><svg id="d2-svg" class="d2-776364968" width="182" height="87" viewBox="-1 -17 182 87"><rect x="-1.000000" y="-17.000000" width="182.000000" height="87.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-776364968 .text-bold {
font-family: "d2-776364968-font-bold";
}

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1138 506"><svg id="d2-svg" class="d2-2973203817" width="1138" height="506" viewBox="-1 -1 1138 506"><rect x="-1.000000" y="-1.000000" width="1138.000000" height="506.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1138 506"><svg id="d2-svg" class="d2-2973203817" width="1138" height="506" viewBox="-1 -1 1138 506"><rect x="-1.000000" y="-1.000000" width="1138.000000" height="506.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2973203817 .text-bold {
font-family: "d2-2973203817-font-bold";
}

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1149 517"><svg id="d2-svg" class="d2-838339516" width="1149" height="517" viewBox="-1 -12 1149 517"><rect x="-1.000000" y="-12.000000" width="1149.000000" height="517.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1149 517"><svg id="d2-svg" class="d2-838339516" width="1149" height="517" viewBox="-1 -12 1149 517"><rect x="-1.000000" y="-12.000000" width="1149.000000" height="517.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-838339516 .text-bold {
font-family: "d2-838339516-font-bold";
}

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1138 506"><svg id="d2-svg" class="d2-3997763983" width="1138" height="506" viewBox="-1 -1 1138 506"><rect x="-1.000000" y="-1.000000" width="1138.000000" height="506.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1138 506"><svg id="d2-svg" class="d2-3997763983" width="1138" height="506" viewBox="-1 -1 1138 506"><rect x="-1.000000" y="-1.000000" width="1138.000000" height="506.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3997763983 .text-bold {
font-family: "d2-3997763983-font-bold";
}

Before

Width:  |  Height:  |  Size: 448 KiB

After

Width:  |  Height:  |  Size: 448 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 714 682"><svg id="d2-svg" class="d2-3187238367" width="714" height="682" viewBox="-1 0 714 682"><rect x="-1.000000" y="0.000000" width="714.000000" height="682.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 714 682"><svg id="d2-svg" class="d2-3187238367" width="714" height="682" viewBox="-1 0 714 682"><rect x="-1.000000" y="0.000000" width="714.000000" height="682.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3187238367 .text {
font-family: "d2-3187238367-font-regular";
}

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 362 454"><svg id="d2-svg" class="d2-3084549463" width="362" height="454" viewBox="-1 0 362 454"><rect x="-1.000000" y="0.000000" width="362.000000" height="454.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 362 454"><svg id="d2-svg" class="d2-3084549463" width="362" height="454" viewBox="-1 0 362 454"><rect x="-1.000000" y="0.000000" width="362.000000" height="454.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3084549463 .text-mono {
font-family: "d2-3084549463-font-mono";
}

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-70108891" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" fill="honeydew" stroke-width="0" /><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class="dots-overlay" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-70108891" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" fill="honeydew" stroke-width="0" /><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class="dots-overlay" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-70108891 .text-bold {
font-family: "d2-70108891-font-bold";
}

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-70108891" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class="dots-overlay" 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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-70108891" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class="dots-overlay" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-70108891 .text-bold {
font-family: "d2-70108891-font-bold";
}

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-2976898491" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 400"><svg id="d2-svg" class="d2-2976898491" width="350" height="400" viewBox="-1 -1 350 400"><rect x="-1.000000" y="-1.000000" width="350.000000" height="400.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2976898491 .text-bold {
font-family: "d2-2976898491-font-bold";
}

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 85"><svg id="d2-svg" class="d2-1813696622" width="370" height="85" viewBox="-1 -18 370 85"><rect x="-1.000000" y="-18.000000" width="370.000000" height="85.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 370 85"><svg id="d2-svg" class="d2-1813696622" width="370" height="85" viewBox="-1 -18 370 85"><rect x="-1.000000" y="-18.000000" width="370.000000" height="85.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 290 85"><svg id="d2-svg" class="d2-1299322987" width="290" height="85" viewBox="11 -6 290 85"><rect x="11.000000" y="-6.000000" width="290.000000" height="85.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 290 85"><svg id="d2-svg" class="d2-1299322987" width="290" height="85" viewBox="11 -6 290 85"><rect x="11.000000" y="-6.000000" width="290.000000" height="85.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.appendix-icon {
filter: drop-shadow(0px 0px 32px rgba(31, 36, 58, 0.1));
}

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 425 68"><svg id="d2-svg" class="d2-2734330532" width="425" height="68" viewBox="-1 -1 425 68"><rect x="-1.000000" y="-1.000000" width="425.000000" height="68.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 425 68"><svg id="d2-svg" class="d2-2734330532" width="425" height="68" viewBox="-1 -1 425 68"><rect x="-1.000000" y="-1.000000" width="425.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2734330532 .text-bold {
font-family: "d2-2734330532-font-bold";
}

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -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.3.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 505 68"><svg id="d2-svg" class="d2-2338416351" width="505" height="68" viewBox="11 11 505 68"><rect x="11.000000" y="11.000000" width="505.000000" height="68.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.4.0-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 505 68"><svg id="d2-svg" class="d2-2338416351" width="505" height="68" viewBox="11 11 505 68"><rect x="11.000000" y="11.000000" width="505.000000" height="68.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2338416351 .text-bold {
font-family: "d2-2338416351-font-bold";
}

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Some files were not shown because too many files have changed in this diff Show more