873 lines
74 KiB
XML
873 lines
74 KiB
XML
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.6" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1984 3328"><svg id="d2-svg" class="d2-1224808988" width="1984" height="3328" viewBox="-91 -121 1984 3328"><rect x="-91.000000" y="-121.000000" width="1984.000000" height="3328.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
|
.d2-1224808988 .text {
|
|
font-family: "d2-1224808988-font-regular";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1224808988-font-regular;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}
|
|
@font-face {
|
|
font-family: d2-1224808988-font-semibold;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}
|
|
.d2-1224808988 .text-italic {
|
|
font-family: "d2-1224808988-font-italic";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1224808988-font-italic;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}
|
|
.d2-1224808988 .text-mono {
|
|
font-family: "d2-1224808988-font-mono";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1224808988-font-mono;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}]]></style><style type="text/css"><![CDATA[.shape {
|
|
shape-rendering: geometricPrecision;
|
|
stroke-linejoin: round;
|
|
}
|
|
.connection {
|
|
stroke-linecap: round;
|
|
stroke-linejoin: round;
|
|
}
|
|
.blend {
|
|
mix-blend-mode: multiply;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.d2-1224808988 .fill-N1{fill:#0A0F25;}
|
|
.d2-1224808988 .fill-N2{fill:#676C7E;}
|
|
.d2-1224808988 .fill-N3{fill:#9499AB;}
|
|
.d2-1224808988 .fill-N4{fill:#CFD2DD;}
|
|
.d2-1224808988 .fill-N5{fill:#DEE1EB;}
|
|
.d2-1224808988 .fill-N6{fill:#EEF1F8;}
|
|
.d2-1224808988 .fill-N7{fill:#FFFFFF;}
|
|
.d2-1224808988 .fill-B1{fill:#0D32B2;}
|
|
.d2-1224808988 .fill-B2{fill:#0D32B2;}
|
|
.d2-1224808988 .fill-B3{fill:#E3E9FD;}
|
|
.d2-1224808988 .fill-B4{fill:#E3E9FD;}
|
|
.d2-1224808988 .fill-B5{fill:#EDF0FD;}
|
|
.d2-1224808988 .fill-B6{fill:#F7F8FE;}
|
|
.d2-1224808988 .fill-AA2{fill:#4A6FF3;}
|
|
.d2-1224808988 .fill-AA4{fill:#EDF0FD;}
|
|
.d2-1224808988 .fill-AA5{fill:#F7F8FE;}
|
|
.d2-1224808988 .fill-AB4{fill:#EDF0FD;}
|
|
.d2-1224808988 .fill-AB5{fill:#F7F8FE;}
|
|
.d2-1224808988 .stroke-N1{stroke:#0A0F25;}
|
|
.d2-1224808988 .stroke-N2{stroke:#676C7E;}
|
|
.d2-1224808988 .stroke-N3{stroke:#9499AB;}
|
|
.d2-1224808988 .stroke-N4{stroke:#CFD2DD;}
|
|
.d2-1224808988 .stroke-N5{stroke:#DEE1EB;}
|
|
.d2-1224808988 .stroke-N6{stroke:#EEF1F8;}
|
|
.d2-1224808988 .stroke-N7{stroke:#FFFFFF;}
|
|
.d2-1224808988 .stroke-B1{stroke:#0D32B2;}
|
|
.d2-1224808988 .stroke-B2{stroke:#0D32B2;}
|
|
.d2-1224808988 .stroke-B3{stroke:#E3E9FD;}
|
|
.d2-1224808988 .stroke-B4{stroke:#E3E9FD;}
|
|
.d2-1224808988 .stroke-B5{stroke:#EDF0FD;}
|
|
.d2-1224808988 .stroke-B6{stroke:#F7F8FE;}
|
|
.d2-1224808988 .stroke-AA2{stroke:#4A6FF3;}
|
|
.d2-1224808988 .stroke-AA4{stroke:#EDF0FD;}
|
|
.d2-1224808988 .stroke-AA5{stroke:#F7F8FE;}
|
|
.d2-1224808988 .stroke-AB4{stroke:#EDF0FD;}
|
|
.d2-1224808988 .stroke-AB5{stroke:#F7F8FE;}
|
|
.d2-1224808988 .background-color-N1{background-color:#0A0F25;}
|
|
.d2-1224808988 .background-color-N2{background-color:#676C7E;}
|
|
.d2-1224808988 .background-color-N3{background-color:#9499AB;}
|
|
.d2-1224808988 .background-color-N4{background-color:#CFD2DD;}
|
|
.d2-1224808988 .background-color-N5{background-color:#DEE1EB;}
|
|
.d2-1224808988 .background-color-N6{background-color:#EEF1F8;}
|
|
.d2-1224808988 .background-color-N7{background-color:#FFFFFF;}
|
|
.d2-1224808988 .background-color-B1{background-color:#0D32B2;}
|
|
.d2-1224808988 .background-color-B2{background-color:#0D32B2;}
|
|
.d2-1224808988 .background-color-B3{background-color:#E3E9FD;}
|
|
.d2-1224808988 .background-color-B4{background-color:#E3E9FD;}
|
|
.d2-1224808988 .background-color-B5{background-color:#EDF0FD;}
|
|
.d2-1224808988 .background-color-B6{background-color:#F7F8FE;}
|
|
.d2-1224808988 .background-color-AA2{background-color:#4A6FF3;}
|
|
.d2-1224808988 .background-color-AA4{background-color:#EDF0FD;}
|
|
.d2-1224808988 .background-color-AA5{background-color:#F7F8FE;}
|
|
.d2-1224808988 .background-color-AB4{background-color:#EDF0FD;}
|
|
.d2-1224808988 .background-color-AB5{background-color:#F7F8FE;}
|
|
.d2-1224808988 .color-N1{color:#0A0F25;}
|
|
.d2-1224808988 .color-N2{color:#676C7E;}
|
|
.d2-1224808988 .color-N3{color:#9499AB;}
|
|
.d2-1224808988 .color-N4{color:#CFD2DD;}
|
|
.d2-1224808988 .color-N5{color:#DEE1EB;}
|
|
.d2-1224808988 .color-N6{color:#EEF1F8;}
|
|
.d2-1224808988 .color-N7{color:#FFFFFF;}
|
|
.d2-1224808988 .color-B1{color:#0D32B2;}
|
|
.d2-1224808988 .color-B2{color:#0D32B2;}
|
|
.d2-1224808988 .color-B3{color:#E3E9FD;}
|
|
.d2-1224808988 .color-B4{color:#E3E9FD;}
|
|
.d2-1224808988 .color-B5{color:#EDF0FD;}
|
|
.d2-1224808988 .color-B6{color:#F7F8FE;}
|
|
.d2-1224808988 .color-AA2{color:#4A6FF3;}
|
|
.d2-1224808988 .color-AA4{color:#EDF0FD;}
|
|
.d2-1224808988 .color-AA5{color:#F7F8FE;}
|
|
.d2-1224808988 .color-AB4{color:#EDF0FD;}
|
|
.d2-1224808988 .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-1224808988 .md em,
|
|
.d2-1224808988 .md dfn {
|
|
font-family: "d2-1224808988-font-italic";
|
|
}
|
|
|
|
.d2-1224808988 .md b,
|
|
.d2-1224808988 .md strong {
|
|
font-family: "d2-1224808988-font-bold";
|
|
}
|
|
|
|
.d2-1224808988 .md code,
|
|
.d2-1224808988 .md kbd,
|
|
.d2-1224808988 .md pre,
|
|
.d2-1224808988 .md samp {
|
|
font-family: "d2-1224808988-font-mono";
|
|
font-size: 1em;
|
|
}
|
|
|
|
.d2-1224808988 .md {
|
|
tab-size: 4;
|
|
}
|
|
|
|
/* variables are provided in d2renderers/d2svg/d2svg.go */
|
|
|
|
.d2-1224808988 .md {
|
|
-ms-text-size-adjust: 100%;
|
|
-webkit-text-size-adjust: 100%;
|
|
margin: 0;
|
|
color: var(--color-fg-default);
|
|
background-color: transparent; /* we don't want to define the background color */
|
|
font-family: "d2-1224808988-font-regular";
|
|
font-size: 16px;
|
|
line-height: 1.5;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.d2-1224808988 .md details,
|
|
.d2-1224808988 .md figcaption,
|
|
.d2-1224808988 .md figure {
|
|
display: block;
|
|
}
|
|
|
|
.d2-1224808988 .md summary {
|
|
display: list-item;
|
|
}
|
|
|
|
.d2-1224808988 .md [hidden] {
|
|
display: none !important;
|
|
}
|
|
|
|
.d2-1224808988 .md a {
|
|
background-color: transparent;
|
|
color: var(--color-accent-fg);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.d2-1224808988 .md a:active,
|
|
.d2-1224808988 .md a:hover {
|
|
outline-width: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md abbr[title] {
|
|
border-bottom: none;
|
|
text-decoration: underline dotted;
|
|
}
|
|
|
|
.d2-1224808988 .md dfn {
|
|
font-style: italic;
|
|
}
|
|
|
|
.d2-1224808988 .md h1 {
|
|
margin: 0.67em 0;
|
|
padding-bottom: 0.3em;
|
|
font-size: 2em;
|
|
border-bottom: 1px solid var(--color-border-muted);
|
|
}
|
|
|
|
.d2-1224808988 .md mark {
|
|
background-color: var(--color-attention-subtle);
|
|
color: var(--color-text-primary);
|
|
}
|
|
|
|
.d2-1224808988 .md small {
|
|
font-size: 90%;
|
|
}
|
|
|
|
.d2-1224808988 .md sub,
|
|
.d2-1224808988 .md sup {
|
|
font-size: 75%;
|
|
line-height: 0;
|
|
position: relative;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
.d2-1224808988 .md sub {
|
|
bottom: -0.25em;
|
|
}
|
|
|
|
.d2-1224808988 .md sup {
|
|
top: -0.5em;
|
|
}
|
|
|
|
.d2-1224808988 .md img {
|
|
border-style: none;
|
|
max-width: 100%;
|
|
box-sizing: content-box;
|
|
background-color: var(--color-canvas-default);
|
|
}
|
|
|
|
.d2-1224808988 .md figure {
|
|
margin: 1em 40px;
|
|
}
|
|
|
|
.d2-1224808988 .md hr {
|
|
box-sizing: content-box;
|
|
overflow: hidden;
|
|
background: transparent;
|
|
border-bottom: 1px solid var(--color-border-muted);
|
|
height: 0.25em;
|
|
padding: 0;
|
|
margin: 24px 0;
|
|
background-color: var(--color-border-default);
|
|
border: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md input {
|
|
font: inherit;
|
|
margin: 0;
|
|
overflow: visible;
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
|
|
.d2-1224808988 .md [type="button"],
|
|
.d2-1224808988 .md [type="reset"],
|
|
.d2-1224808988 .md [type="submit"] {
|
|
-webkit-appearance: button;
|
|
}
|
|
|
|
.d2-1224808988 .md [type="button"]::-moz-focus-inner,
|
|
.d2-1224808988 .md [type="reset"]::-moz-focus-inner,
|
|
.d2-1224808988 .md [type="submit"]::-moz-focus-inner {
|
|
border-style: none;
|
|
padding: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md [type="button"]:-moz-focusring,
|
|
.d2-1224808988 .md [type="reset"]:-moz-focusring,
|
|
.d2-1224808988 .md [type="submit"]:-moz-focusring {
|
|
outline: 1px dotted ButtonText;
|
|
}
|
|
|
|
.d2-1224808988 .md [type="checkbox"],
|
|
.d2-1224808988 .md [type="radio"] {
|
|
box-sizing: border-box;
|
|
padding: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md [type="number"]::-webkit-inner-spin-button,
|
|
.d2-1224808988 .md [type="number"]::-webkit-outer-spin-button {
|
|
height: auto;
|
|
}
|
|
|
|
.d2-1224808988 .md [type="search"] {
|
|
-webkit-appearance: textfield;
|
|
outline-offset: -2px;
|
|
}
|
|
|
|
.d2-1224808988 .md [type="search"]::-webkit-search-cancel-button,
|
|
.d2-1224808988 .md [type="search"]::-webkit-search-decoration {
|
|
-webkit-appearance: none;
|
|
}
|
|
|
|
.d2-1224808988 .md ::-webkit-input-placeholder {
|
|
color: inherit;
|
|
opacity: 0.54;
|
|
}
|
|
|
|
.d2-1224808988 .md ::-webkit-file-upload-button {
|
|
-webkit-appearance: button;
|
|
font: inherit;
|
|
}
|
|
|
|
.d2-1224808988 .md a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.d2-1224808988 .md hr::before {
|
|
display: table;
|
|
content: "";
|
|
}
|
|
|
|
.d2-1224808988 .md hr::after {
|
|
display: table;
|
|
clear: both;
|
|
content: "";
|
|
}
|
|
|
|
.d2-1224808988 .md table {
|
|
border-spacing: 0;
|
|
border-collapse: collapse;
|
|
display: block;
|
|
width: max-content;
|
|
max-width: 100%;
|
|
overflow: auto;
|
|
}
|
|
|
|
.d2-1224808988 .md td,
|
|
.d2-1224808988 .md th {
|
|
padding: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md details summary {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.d2-1224808988 .md details:not([open]) > *:not(summary) {
|
|
display: none !important;
|
|
}
|
|
|
|
.d2-1224808988 .md kbd {
|
|
display: inline-block;
|
|
padding: 3px 5px;
|
|
color: var(--color-fg-default);
|
|
vertical-align: middle;
|
|
background-color: var(--color-canvas-subtle);
|
|
border: solid 1px var(--color-neutral-muted);
|
|
border-bottom-color: var(--color-neutral-muted);
|
|
border-radius: 6px;
|
|
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
|
|
}
|
|
|
|
.d2-1224808988 .md h1,
|
|
.d2-1224808988 .md h2,
|
|
.d2-1224808988 .md h3,
|
|
.d2-1224808988 .md h4,
|
|
.d2-1224808988 .md h5,
|
|
.d2-1224808988 .md h6 {
|
|
margin-top: 24px;
|
|
margin-bottom: 16px;
|
|
font-weight: 400;
|
|
line-height: 1.25;
|
|
font-family: "d2-1224808988-font-semibold";
|
|
}
|
|
|
|
.d2-1224808988 .md h2 {
|
|
padding-bottom: 0.3em;
|
|
font-size: 1.5em;
|
|
border-bottom: 1px solid var(--color-border-muted);
|
|
}
|
|
|
|
.d2-1224808988 .md h3 {
|
|
font-size: 1.25em;
|
|
}
|
|
|
|
.d2-1224808988 .md h4 {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.d2-1224808988 .md h5 {
|
|
font-size: 0.875em;
|
|
}
|
|
|
|
.d2-1224808988 .md h6 {
|
|
font-size: 0.85em;
|
|
color: var(--color-fg-muted);
|
|
}
|
|
|
|
.d2-1224808988 .md p {
|
|
margin-top: 0;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.d2-1224808988 .md blockquote {
|
|
margin: 0;
|
|
padding: 0 1em;
|
|
color: var(--color-fg-muted);
|
|
border-left: 0.25em solid var(--color-border-default);
|
|
}
|
|
|
|
.d2-1224808988 .md ul,
|
|
.d2-1224808988 .md ol {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
padding-left: 2em;
|
|
}
|
|
|
|
.d2-1224808988 .md ol ol,
|
|
.d2-1224808988 .md ul ol {
|
|
list-style-type: lower-roman;
|
|
}
|
|
|
|
.d2-1224808988 .md ul ul ol,
|
|
.d2-1224808988 .md ul ol ol,
|
|
.d2-1224808988 .md ol ul ol,
|
|
.d2-1224808988 .md ol ol ol {
|
|
list-style-type: lower-alpha;
|
|
}
|
|
|
|
.d2-1224808988 .md dd {
|
|
margin-left: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md pre {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
word-wrap: normal;
|
|
}
|
|
|
|
.d2-1224808988 .md ::placeholder {
|
|
color: var(--color-fg-subtle);
|
|
opacity: 1;
|
|
}
|
|
|
|
.d2-1224808988 .md input::-webkit-outer-spin-button,
|
|
.d2-1224808988 .md input::-webkit-inner-spin-button {
|
|
margin: 0;
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
}
|
|
|
|
.d2-1224808988 .md::before {
|
|
display: table;
|
|
content: "";
|
|
}
|
|
|
|
.d2-1224808988 .md::after {
|
|
display: table;
|
|
clear: both;
|
|
content: "";
|
|
}
|
|
|
|
.d2-1224808988 .md > *:first-child {
|
|
margin-top: 0 !important;
|
|
}
|
|
|
|
.d2-1224808988 .md > *:last-child {
|
|
margin-bottom: 0 !important;
|
|
}
|
|
|
|
.d2-1224808988 .md a:not([href]) {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.d2-1224808988 .md .absent {
|
|
color: var(--color-danger-fg);
|
|
}
|
|
|
|
.d2-1224808988 .md .anchor {
|
|
float: left;
|
|
padding-right: 4px;
|
|
margin-left: -20px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.d2-1224808988 .md .anchor:focus {
|
|
outline: none;
|
|
}
|
|
|
|
.d2-1224808988 .md p,
|
|
.d2-1224808988 .md blockquote,
|
|
.d2-1224808988 .md ul,
|
|
.d2-1224808988 .md ol,
|
|
.d2-1224808988 .md dl,
|
|
.d2-1224808988 .md table,
|
|
.d2-1224808988 .md pre,
|
|
.d2-1224808988 .md details {
|
|
margin-top: 0;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.d2-1224808988 .md blockquote > :first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md blockquote > :last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md sup > a::before {
|
|
content: "[";
|
|
}
|
|
|
|
.d2-1224808988 .md sup > a::after {
|
|
content: "]";
|
|
}
|
|
|
|
.d2-1224808988 .md h1:hover .anchor,
|
|
.d2-1224808988 .md h2:hover .anchor,
|
|
.d2-1224808988 .md h3:hover .anchor,
|
|
.d2-1224808988 .md h4:hover .anchor,
|
|
.d2-1224808988 .md h5:hover .anchor,
|
|
.d2-1224808988 .md h6:hover .anchor {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.d2-1224808988 .md h1 tt,
|
|
.d2-1224808988 .md h1 code,
|
|
.d2-1224808988 .md h2 tt,
|
|
.d2-1224808988 .md h2 code,
|
|
.d2-1224808988 .md h3 tt,
|
|
.d2-1224808988 .md h3 code,
|
|
.d2-1224808988 .md h4 tt,
|
|
.d2-1224808988 .md h4 code,
|
|
.d2-1224808988 .md h5 tt,
|
|
.d2-1224808988 .md h5 code,
|
|
.d2-1224808988 .md h6 tt,
|
|
.d2-1224808988 .md h6 code {
|
|
padding: 0 0.2em;
|
|
font-size: inherit;
|
|
}
|
|
|
|
.d2-1224808988 .md ul.no-list,
|
|
.d2-1224808988 .md ol.no-list {
|
|
padding: 0;
|
|
list-style-type: none;
|
|
}
|
|
|
|
.d2-1224808988 .md ol[type="1"] {
|
|
list-style-type: decimal;
|
|
}
|
|
|
|
.d2-1224808988 .md ol[type="a"] {
|
|
list-style-type: lower-alpha;
|
|
}
|
|
|
|
.d2-1224808988 .md ol[type="i"] {
|
|
list-style-type: lower-roman;
|
|
}
|
|
|
|
.d2-1224808988 .md div > ol:not([type]) {
|
|
list-style-type: decimal;
|
|
}
|
|
|
|
.d2-1224808988 .md ul ul,
|
|
.d2-1224808988 .md ul ol,
|
|
.d2-1224808988 .md ol ol,
|
|
.d2-1224808988 .md ol ul {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md li > p {
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.d2-1224808988 .md li + li {
|
|
margin-top: 0.25em;
|
|
}
|
|
|
|
.d2-1224808988 .md dl {
|
|
padding: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md dl dt {
|
|
padding: 0;
|
|
margin-top: 16px;
|
|
font-size: 1em;
|
|
font-style: italic;
|
|
font-family: "d2-1224808988-font-semibold";
|
|
}
|
|
|
|
.d2-1224808988 .md dl dd {
|
|
padding: 0 16px;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.d2-1224808988 .md table th {
|
|
font-family: "d2-1224808988-font-semibold";
|
|
}
|
|
|
|
.d2-1224808988 .md table th,
|
|
.d2-1224808988 .md table td {
|
|
padding: 6px 13px;
|
|
border: 1px solid var(--color-border-default);
|
|
}
|
|
|
|
.d2-1224808988 .md table tr {
|
|
background-color: var(--color-canvas-default);
|
|
border-top: 1px solid var(--color-border-muted);
|
|
}
|
|
|
|
.d2-1224808988 .md table tr:nth-child(2n) {
|
|
background-color: var(--color-canvas-subtle);
|
|
}
|
|
|
|
.d2-1224808988 .md table img {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.d2-1224808988 .md img[align="right"] {
|
|
padding-left: 20px;
|
|
}
|
|
|
|
.d2-1224808988 .md img[align="left"] {
|
|
padding-right: 20px;
|
|
}
|
|
|
|
.d2-1224808988 .md span.frame {
|
|
display: block;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.d2-1224808988 .md span.frame > span {
|
|
display: block;
|
|
float: left;
|
|
width: auto;
|
|
padding: 7px;
|
|
margin: 13px 0 0;
|
|
overflow: hidden;
|
|
border: 1px solid var(--color-border-default);
|
|
}
|
|
|
|
.d2-1224808988 .md span.frame span img {
|
|
display: block;
|
|
float: left;
|
|
}
|
|
|
|
.d2-1224808988 .md span.frame span span {
|
|
display: block;
|
|
padding: 5px 0 0;
|
|
clear: both;
|
|
color: var(--color-fg-default);
|
|
}
|
|
|
|
.d2-1224808988 .md span.align-center {
|
|
display: block;
|
|
overflow: hidden;
|
|
clear: both;
|
|
}
|
|
|
|
.d2-1224808988 .md span.align-center > span {
|
|
display: block;
|
|
margin: 13px auto 0;
|
|
overflow: hidden;
|
|
text-align: center;
|
|
}
|
|
|
|
.d2-1224808988 .md span.align-center span img {
|
|
margin: 0 auto;
|
|
text-align: center;
|
|
}
|
|
|
|
.d2-1224808988 .md span.align-right {
|
|
display: block;
|
|
overflow: hidden;
|
|
clear: both;
|
|
}
|
|
|
|
.d2-1224808988 .md span.align-right > span {
|
|
display: block;
|
|
margin: 13px 0 0;
|
|
overflow: hidden;
|
|
text-align: right;
|
|
}
|
|
|
|
.d2-1224808988 .md span.align-right span img {
|
|
margin: 0;
|
|
text-align: right;
|
|
}
|
|
|
|
.d2-1224808988 .md span.float-left {
|
|
display: block;
|
|
float: left;
|
|
margin-right: 13px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.d2-1224808988 .md span.float-left span {
|
|
margin: 13px 0 0;
|
|
}
|
|
|
|
.d2-1224808988 .md span.float-right {
|
|
display: block;
|
|
float: right;
|
|
margin-left: 13px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.d2-1224808988 .md span.float-right > span {
|
|
display: block;
|
|
margin: 13px auto 0;
|
|
overflow: hidden;
|
|
text-align: right;
|
|
}
|
|
|
|
.d2-1224808988 .md code,
|
|
.d2-1224808988 .md tt {
|
|
padding: 0.2em 0.4em;
|
|
margin: 0;
|
|
font-size: 85%;
|
|
background-color: var(--color-neutral-muted);
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.d2-1224808988 .md code br,
|
|
.d2-1224808988 .md tt br {
|
|
display: none;
|
|
}
|
|
|
|
.d2-1224808988 .md del code {
|
|
text-decoration: inherit;
|
|
}
|
|
|
|
.d2-1224808988 .md pre code {
|
|
font-size: 100%;
|
|
}
|
|
|
|
.d2-1224808988 .md pre > code {
|
|
padding: 0;
|
|
margin: 0;
|
|
word-break: normal;
|
|
white-space: pre;
|
|
background: transparent;
|
|
border: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md .highlight {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.d2-1224808988 .md .highlight pre {
|
|
margin-bottom: 0;
|
|
word-break: normal;
|
|
}
|
|
|
|
.d2-1224808988 .md .highlight pre,
|
|
.d2-1224808988 .md pre {
|
|
padding: 16px;
|
|
overflow: auto;
|
|
font-size: 85%;
|
|
line-height: 1.45;
|
|
background-color: var(--color-canvas-subtle);
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.d2-1224808988 .md pre code,
|
|
.d2-1224808988 .md pre tt {
|
|
display: inline;
|
|
max-width: auto;
|
|
padding: 0;
|
|
margin: 0;
|
|
overflow: visible;
|
|
line-height: inherit;
|
|
word-wrap: normal;
|
|
background-color: transparent;
|
|
border: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md .csv-data td,
|
|
.d2-1224808988 .md .csv-data th {
|
|
padding: 5px;
|
|
overflow: hidden;
|
|
font-size: 12px;
|
|
line-height: 1;
|
|
text-align: left;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.d2-1224808988 .md .csv-data .blob-num {
|
|
padding: 10px 8px 9px;
|
|
text-align: right;
|
|
background: var(--color-canvas-default);
|
|
border: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md .csv-data tr {
|
|
border-top: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md .csv-data th {
|
|
font-family: "d2-1224808988-font-semibold";
|
|
background: var(--color-canvas-subtle);
|
|
border-top: 0;
|
|
}
|
|
|
|
.d2-1224808988 .md .footnotes {
|
|
font-size: 12px;
|
|
color: var(--color-fg-muted);
|
|
border-top: 1px solid var(--color-border-default);
|
|
}
|
|
|
|
.d2-1224808988 .md .footnotes ol {
|
|
padding-left: 16px;
|
|
}
|
|
|
|
.d2-1224808988 .md .footnotes li {
|
|
position: relative;
|
|
}
|
|
|
|
.d2-1224808988 .md .footnotes li:target::before {
|
|
position: absolute;
|
|
top: -8px;
|
|
right: -8px;
|
|
bottom: -8px;
|
|
left: -24px;
|
|
pointer-events: none;
|
|
content: "";
|
|
border: 2px solid var(--color-accent-emphasis);
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.d2-1224808988 .md .footnotes li:target {
|
|
color: var(--color-fg-default);
|
|
}
|
|
|
|
.d2-1224808988 .md .task-list-item {
|
|
list-style-type: none;
|
|
}
|
|
|
|
.d2-1224808988 .md .task-list-item label {
|
|
font-weight: 400;
|
|
}
|
|
|
|
.d2-1224808988 .md .task-list-item.enabled label {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.d2-1224808988 .md .task-list-item + .task-list-item {
|
|
margin-top: 3px;
|
|
}
|
|
|
|
.d2-1224808988 .md .task-list-item .handle {
|
|
display: none;
|
|
}
|
|
|
|
.d2-1224808988 .md .task-list-item-checkbox {
|
|
margin: 0 0.2em 0.25em -1.6em;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.d2-1224808988 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
|
|
margin: 0 -1.6em 0.25em 0.2em;
|
|
}
|
|
</style><g id="ppassctl"><g class="shape" ><rect x="737.000000" y="20.000000" width="278.000000" height="796.000000" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="876.000000" y="7.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">ppassctl</text></g><g id="ppassd"><g class="shape" ><rect x="10.000000" y="977.000000" width="1676.000000" height="2129.000000" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="848.000000" y="964.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">ppassd</text></g><g id="Thoughts"><g class="shape" ><rect x="1055.000000" y="235.000000" width="737.000000" height="367.000000" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="1423.500000" y="222.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">Thoughts</text></g><g id="ppassctl.Commands"><g class="shape" ><rect x="767.000000" y="50.000000" width="218.000000" height="736.000000" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="767.000000" y="50.000000" width="218.000000" height="92.000000" class="class_header fill-N1" /><text x="876.000000" y="103.750000" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Commands</text><text x="777.000000" y="170.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="170.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">init</text><text x="965.000000" y="170.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="216.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="216.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">ls</text><text x="965.000000" y="216.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="262.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="262.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">grep</text><text x="965.000000" y="262.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="308.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="308.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">find</text><text x="965.000000" y="308.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="354.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="354.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">show</text><text x="965.000000" y="354.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="400.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="400.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">insert</text><text x="965.000000" y="400.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="446.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="446.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">edit</text><text x="965.000000" y="446.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="492.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="492.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">generate</text><text x="965.000000" y="492.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="538.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="538.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">rm</text><text x="965.000000" y="538.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="584.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="584.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">mv</text><text x="965.000000" y="584.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="630.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="630.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">cp</text><text x="965.000000" y="630.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="676.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="676.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">git</text><text x="965.000000" y="676.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="722.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="722.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">help</text><text x="965.000000" y="722.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><text x="777.000000" y="768.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="797.000000" y="768.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">version</text><text x="965.000000" y="768.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px" /><line x1="767.000000" x2="985.000000" y1="786.000000" y2="786.000000" class=" stroke-N1" style="stroke-width:1" /></g></g><g id="ppassd.Host"><g class="shape" ><rect x="40.000000" y="2094.000000" width="386.000000" height="230.000000" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="40.000000" y="2094.000000" width="386.000000" height="92.000000" class="class_header fill-N1" /><text x="233.000000" y="2147.750000" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Host</text><text x="50.000000" y="2214.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="70.000000" y="2214.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">PeerId</text><text x="406.000000" y="2214.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">libp2p.ID</text><text x="50.000000" y="2260.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="70.000000" y="2260.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">PublicKey</text><text x="406.000000" y="2260.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">libp2p.PubKey</text><text x="50.000000" y="2306.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="70.000000" y="2306.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">PrivateKey</text><text x="406.000000" y="2306.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">libp2p.PrivKey</text><line x1="40.000000" x2="426.000000" y1="2324.000000" y2="2324.000000" class=" stroke-N1" style="stroke-width:1" /></g></g><g id="ppassd.Config"><g class="shape" ><rect x="486.000000" y="2140.000000" width="328.000000" height="138.000000" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="486.000000" y="2140.000000" width="328.000000" height="92.000000" class="class_header fill-N1" /><text x="650.000000" y="2193.750000" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Config</text><text x="496.000000" y="2260.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="516.000000" y="2260.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">VaultCfgs</text><text x="794.000000" y="2260.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[]VaultCfg</text><line x1="486.000000" x2="814.000000" y1="2278.000000" y2="2278.000000" class=" stroke-N1" style="stroke-width:1" /></g></g><g id="ppassd.VaultCfg"><g class="shape" ><rect x="522.000000" y="2608.000000" width="256.000000" height="184.000000" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="522.000000" y="2608.000000" width="256.000000" height="92.000000" class="class_header fill-N1" /><text x="650.000000" y="2661.750000" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">VaultCfg</text><text x="532.000000" y="2728.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="552.000000" y="2728.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">peers</text><text x="758.000000" y="2728.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[]Peer</text><text x="532.000000" y="2774.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="552.000000" y="2774.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">VaultId</text><text x="758.000000" y="2774.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">string</text><line x1="522.000000" x2="778.000000" y1="2792.000000" y2="2792.000000" class=" stroke-N1" style="stroke-width:1" /></g></g><g id="ppassd.Peer"><g class="shape" ><rect x="511.000000" y="2892.000000" width="278.000000" height="184.000000" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="511.000000" y="2892.000000" width="278.000000" height="92.000000" class="class_header fill-N1" /><text x="650.000000" y="2945.750000" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Peer</text><text x="521.000000" y="3012.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="541.000000" y="3012.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">PeerId</text><text x="769.000000" y="3012.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">libp2p.ID</text><text x="521.000000" y="3058.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="541.000000" y="3058.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">PublicKey</text><text x="769.000000" y="3058.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">string</text><line x1="511.000000" x2="789.000000" y1="3076.000000" y2="3076.000000" class=" stroke-N1" style="stroke-width:1" /></g></g><g id="ppassd.Vault"><g class="shape" ><rect x="874.000000" y="1910.000000" width="455.000000" height="598.000000" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="874.000000" y="1910.000000" width="455.000000" height="92.000000" class="class_header fill-N1" /><text x="1101.500000" y="1963.750000" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Vault</text><text x="884.000000" y="2030.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2030.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Id</text><text x="1309.000000" y="2030.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">string</text><text x="884.000000" y="2076.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2076.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Keys</text><text x="1309.000000" y="2076.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[]Peer.PublicKey</text><text x="884.000000" y="2122.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2122.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">ctx</text><text x="1309.000000" y="2122.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">context.Context</text><text x="884.000000" y="2168.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2168.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">ps</text><text x="1309.000000" y="2168.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">*pubsub.PubSub</text><text x="884.000000" y="2214.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2214.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">topic</text><text x="1309.000000" y="2214.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">*pubsub.Topic</text><text x="884.000000" y="2260.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2260.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">sub</text><text x="1309.000000" y="2260.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">*pubsub.Subscription</text><line x1="874.000000" x2="1329.000000" y1="2278.000000" y2="2278.000000" class=" stroke-N1" style="stroke-width:1" /><text x="884.000000" y="2306.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2306.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Put(p Password)</text><text x="1309.000000" y="2306.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">error</text><text x="884.000000" y="2352.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2352.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Get(k string)</text><text x="1309.000000" y="2352.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(Password, error)</text><text x="884.000000" y="2398.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2398.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Modify(p Password)</text><text x="1309.000000" y="2398.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">error</text><text x="884.000000" y="2444.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2444.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Remove(k string)</text><text x="1309.000000" y="2444.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(bool, error)</text><text x="884.000000" y="2490.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="904.000000" y="2490.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">OnUpdate(handler func())</text><text x="1309.000000" y="2490.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">error</text></g></g><g id="ppassd.PasswordStore"><g class="shape" ><rect x="618.000000" y="1007.000000" width="516.000000" height="782.000000" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="618.000000" y="1007.000000" width="516.000000" height="92.000000" class="class_header fill-N1" /><text x="876.000000" y="1060.750000" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">PasswordStore</text><text x="628.000000" y="1127.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1127.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Cfg</text><text x="1114.000000" y="1127.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Config</text><text x="628.000000" y="1173.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1173.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Vaults</text><text x="1114.000000" y="1173.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[]Vaults</text><text x="628.000000" y="1219.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1219.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Passwords</text><text x="1114.000000" y="1219.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[]Password</text><text x="628.000000" y="1265.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1265.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Secrets</text><text x="1114.000000" y="1265.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[]GnuPGKey</text><text x="628.000000" y="1311.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1311.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">host</text><text x="1114.000000" y="1311.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Host</text><line x1="618.000000" x2="1134.000000" y1="1329.000000" y2="1329.000000" class=" stroke-N1" style="stroke-width:1" /><text x="628.000000" y="1357.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1357.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Init()</text><text x="1114.000000" y="1357.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">error</text><text x="628.000000" y="1403.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1403.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Put(p Password)</text><text x="1114.000000" y="1403.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">error</text><text x="628.000000" y="1449.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1449.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Get(k string)</text><text x="1114.000000" y="1449.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(Password, error)</text><text x="628.000000" y="1495.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1495.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Modify(p Password)</text><text x="1114.000000" y="1495.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">error</text><text x="628.000000" y="1541.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1541.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Remove(k string)</text><text x="1114.000000" y="1541.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(bool, error)</text><text x="628.000000" y="1587.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1587.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Has(k string)</text><text x="1114.000000" y="1587.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(bool)</text><text x="628.000000" y="1633.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1633.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">GetSize(k string)</text><text x="1114.000000" y="1633.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(int, error)</text><text x="628.000000" y="1679.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1679.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Query(q Query)</text><text x="1114.000000" y="1679.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(query.Result, error)</text><text x="628.000000" y="1725.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1725.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Exists(k string)</text><text x="1114.000000" y="1725.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(bool)</text><text x="628.000000" y="1771.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="648.000000" y="1771.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">NewVault(id string)</text><text x="1114.000000" y="1771.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">(Vault, error)</text></g></g><g id="ppassd.Password"><g class="shape" ><rect x="1389.000000" y="2094.000000" width="267.000000" height="230.000000" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="1389.000000" y="2094.000000" width="267.000000" height="92.000000" class="class_header fill-N1" /><text x="1522.500000" y="2147.750000" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Password</text><text x="1399.000000" y="2214.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="1419.000000" y="2214.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Key</text><text x="1636.000000" y="2214.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">string</text><text x="1399.000000" y="2260.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="1419.000000" y="2260.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Password</text><text x="1636.000000" y="2260.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">string</text><text x="1399.000000" y="2306.000000" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="1419.000000" y="2306.000000" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">Vaults</text><text x="1636.000000" y="2306.000000" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[]*Vault</text><line x1="1389.000000" x2="1656.000000" y1="2324.000000" y2="2324.000000" class=" stroke-N1" style="stroke-width:1" /></g></g><g id="Thoughts.explanation"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="1085.000000" y="265.000000" width="677" height="307"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><h1>Architecture</h1>
|
|
<ul>
|
|
<li>The host is a libp2p node. It connects with Peers of the given VaultCfgs.</li>
|
|
<li>The Vaults itself a basically pubsub topics that each hosts subscribes and publishes to.</li>
|
|
<li>Vaults internally are just abstractions of the PasswordStore
|
|
<ul>
|
|
<li>they are like a "view" onto certain passwords</li>
|
|
<li>there they can modify, add, delete passwords too</li>
|
|
<li>if a password is in multiple vaults, it should be updated too</li>
|
|
</ul>
|
|
</li>
|
|
<li>hosts do not have to be able to decrypt stored passwords
|
|
<ul>
|
|
<li>for example it would be nice to have a dummy node that is always online, storing passwords</li>
|
|
<li>but not able to decrypt them</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div></foreignObject></g></g><g id="(ppassctl -- ppassd)[0]"><path d="M 875.750000 817.500000 C 875.750000 880.299988 875.750000 904.500000 875.750000 934.500000" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-1224808988)" /><text x="875.500000" y="882.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">control via unix socket</text></g><g id="ppassd.(PasswordStore -> Host)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 616.113422 1580.381669 C 309.950012 1795.446045 233.000000 1898.500000 233.000000 2090.500000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1224808988)" /></g><g id="ppassd.(PasswordStore -> Config)[0]"><path d="M 679.117361 1790.294700 C 656.000000 1837.300049 650.000000 1907.699951 650.000000 2136.500000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1224808988)" /></g><g id="ppassd.(Config -> VaultCfg)[0]"><path d="M 650.000000 2280.000000 C 650.000000 2502.000000 650.000000 2568.000000 650.000000 2604.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1224808988)" /></g><g id="ppassd.(VaultCfg -> Peer)[0]"><path d="M 650.000000 2794.000000 C 650.000000 2832.000000 650.000000 2852.000000 650.000000 2888.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1224808988)" /></g><g id="ppassd.(PasswordStore -> Vault)[0]"><path d="M 1072.382639 1790.294700 C 1095.500000 1837.300049 1101.500000 1861.699951 1101.500000 1906.500000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1224808988)" /></g><g id="ppassd.(PasswordStore -> Password)[0]"><path d="M 1135.141036 1579.643241 C 1444.699951 1795.300049 1522.500000 1898.500000 1522.500000 2090.500000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1224808988)" /><text x="1423.000000" y="1785.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">Load on Init()</text></g><mask id="d2-1224808988" maskUnits="userSpaceOnUse" x="-91" y="-121" width="1984" height="3328">
|
|
<rect x="-91" y="-121" width="1984" height="3328" fill="white"></rect>
|
|
<rect x="828.000000" y="-21.000000" width="96" height="36" fill="rgba(0,0,0,0.75)"></rect>
|
|
<rect x="807.500000" y="936.000000" width="81" height="36" fill="rgba(0,0,0,0.75)"></rect>
|
|
<rect x="1368.000000" y="194.000000" width="111" height="36" fill="rgba(0,0,0,0.75)"></rect>
|
|
<rect x="1085.000000" y="265.000000" width="677" height="307" fill="rgba(0,0,0,0.75)"></rect>
|
|
<rect x="802.000000" y="866.000000" width="147" height="21" fill="black"></rect>
|
|
<rect x="1380.000000" y="1769.000000" width="86" height="21" fill="black"></rect>
|
|
</mask></svg></svg>
|