WeatherStation/Schematics/howdoesitwork.svg
2024-05-04 15:24:44 +02:00

875 lines
64 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.3" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1043 1533"><svg id="d2-svg" class="d2-4272384554" width="1043" height="1533" viewBox="-89 -89 1043 1533"><rect x="-89.000000" y="-89.000000" width="1043.000000" height="1533.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-4272384554 .text {
font-family: "d2-4272384554-font-regular";
}
@font-face {
font-family: d2-4272384554-font-regular;
src: url("data:application/font-woff;base64,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");
}
@font-face {
font-family: d2-4272384554-font-semibold;
src: url("data:application/font-woff;base64,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");
}
@keyframes dashdraw {
from {
stroke-dashoffset: 0;
}
}
.d2-4272384554 .text-bold {
font-family: "d2-4272384554-font-bold";
}
@font-face {
font-family: d2-4272384554-font-bold;
src: url("data:application/font-woff;base64,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");
}
.d2-4272384554 .text-italic {
font-family: "d2-4272384554-font-italic";
}
@font-face {
font-family: d2-4272384554-font-italic;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-4272384554 .fill-N1{fill:#0A0F25;}
.d2-4272384554 .fill-N2{fill:#676C7E;}
.d2-4272384554 .fill-N3{fill:#9499AB;}
.d2-4272384554 .fill-N4{fill:#CFD2DD;}
.d2-4272384554 .fill-N5{fill:#DEE1EB;}
.d2-4272384554 .fill-N6{fill:#EEF1F8;}
.d2-4272384554 .fill-N7{fill:#FFFFFF;}
.d2-4272384554 .fill-B1{fill:#0D32B2;}
.d2-4272384554 .fill-B2{fill:#0D32B2;}
.d2-4272384554 .fill-B3{fill:#E3E9FD;}
.d2-4272384554 .fill-B4{fill:#E3E9FD;}
.d2-4272384554 .fill-B5{fill:#EDF0FD;}
.d2-4272384554 .fill-B6{fill:#F7F8FE;}
.d2-4272384554 .fill-AA2{fill:#4A6FF3;}
.d2-4272384554 .fill-AA4{fill:#EDF0FD;}
.d2-4272384554 .fill-AA5{fill:#F7F8FE;}
.d2-4272384554 .fill-AB4{fill:#EDF0FD;}
.d2-4272384554 .fill-AB5{fill:#F7F8FE;}
.d2-4272384554 .stroke-N1{stroke:#0A0F25;}
.d2-4272384554 .stroke-N2{stroke:#676C7E;}
.d2-4272384554 .stroke-N3{stroke:#9499AB;}
.d2-4272384554 .stroke-N4{stroke:#CFD2DD;}
.d2-4272384554 .stroke-N5{stroke:#DEE1EB;}
.d2-4272384554 .stroke-N6{stroke:#EEF1F8;}
.d2-4272384554 .stroke-N7{stroke:#FFFFFF;}
.d2-4272384554 .stroke-B1{stroke:#0D32B2;}
.d2-4272384554 .stroke-B2{stroke:#0D32B2;}
.d2-4272384554 .stroke-B3{stroke:#E3E9FD;}
.d2-4272384554 .stroke-B4{stroke:#E3E9FD;}
.d2-4272384554 .stroke-B5{stroke:#EDF0FD;}
.d2-4272384554 .stroke-B6{stroke:#F7F8FE;}
.d2-4272384554 .stroke-AA2{stroke:#4A6FF3;}
.d2-4272384554 .stroke-AA4{stroke:#EDF0FD;}
.d2-4272384554 .stroke-AA5{stroke:#F7F8FE;}
.d2-4272384554 .stroke-AB4{stroke:#EDF0FD;}
.d2-4272384554 .stroke-AB5{stroke:#F7F8FE;}
.d2-4272384554 .background-color-N1{background-color:#0A0F25;}
.d2-4272384554 .background-color-N2{background-color:#676C7E;}
.d2-4272384554 .background-color-N3{background-color:#9499AB;}
.d2-4272384554 .background-color-N4{background-color:#CFD2DD;}
.d2-4272384554 .background-color-N5{background-color:#DEE1EB;}
.d2-4272384554 .background-color-N6{background-color:#EEF1F8;}
.d2-4272384554 .background-color-N7{background-color:#FFFFFF;}
.d2-4272384554 .background-color-B1{background-color:#0D32B2;}
.d2-4272384554 .background-color-B2{background-color:#0D32B2;}
.d2-4272384554 .background-color-B3{background-color:#E3E9FD;}
.d2-4272384554 .background-color-B4{background-color:#E3E9FD;}
.d2-4272384554 .background-color-B5{background-color:#EDF0FD;}
.d2-4272384554 .background-color-B6{background-color:#F7F8FE;}
.d2-4272384554 .background-color-AA2{background-color:#4A6FF3;}
.d2-4272384554 .background-color-AA4{background-color:#EDF0FD;}
.d2-4272384554 .background-color-AA5{background-color:#F7F8FE;}
.d2-4272384554 .background-color-AB4{background-color:#EDF0FD;}
.d2-4272384554 .background-color-AB5{background-color:#F7F8FE;}
.d2-4272384554 .color-N1{color:#0A0F25;}
.d2-4272384554 .color-N2{color:#676C7E;}
.d2-4272384554 .color-N3{color:#9499AB;}
.d2-4272384554 .color-N4{color:#CFD2DD;}
.d2-4272384554 .color-N5{color:#DEE1EB;}
.d2-4272384554 .color-N6{color:#EEF1F8;}
.d2-4272384554 .color-N7{color:#FFFFFF;}
.d2-4272384554 .color-B1{color:#0D32B2;}
.d2-4272384554 .color-B2{color:#0D32B2;}
.d2-4272384554 .color-B3{color:#E3E9FD;}
.d2-4272384554 .color-B4{color:#E3E9FD;}
.d2-4272384554 .color-B5{color:#EDF0FD;}
.d2-4272384554 .color-B6{color:#F7F8FE;}
.d2-4272384554 .color-AA2{color:#4A6FF3;}
.d2-4272384554 .color-AA4{color:#EDF0FD;}
.d2-4272384554 .color-AA5{color:#F7F8FE;}
.d2-4272384554 .color-AB4{color:#EDF0FD;}
.d2-4272384554 .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-4272384554 .md em,
.d2-4272384554 .md dfn {
font-family: "d2-4272384554-font-italic";
}
.d2-4272384554 .md b,
.d2-4272384554 .md strong {
font-family: "d2-4272384554-font-bold";
}
.d2-4272384554 .md code,
.d2-4272384554 .md kbd,
.d2-4272384554 .md pre,
.d2-4272384554 .md samp {
font-family: "d2-4272384554-font-mono";
font-size: 1em;
}
.d2-4272384554 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.d2-4272384554 .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-4272384554-font-regular";
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
.d2-4272384554 .md details,
.d2-4272384554 .md figcaption,
.d2-4272384554 .md figure {
display: block;
}
.d2-4272384554 .md summary {
display: list-item;
}
.d2-4272384554 .md [hidden] {
display: none !important;
}
.d2-4272384554 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.d2-4272384554 .md a:active,
.d2-4272384554 .md a:hover {
outline-width: 0;
}
.d2-4272384554 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.d2-4272384554 .md dfn {
font-style: italic;
}
.d2-4272384554 .md h1 {
margin: 0.67em 0;
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-4272384554 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.d2-4272384554 .md small {
font-size: 90%;
}
.d2-4272384554 .md sub,
.d2-4272384554 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.d2-4272384554 .md sub {
bottom: -0.25em;
}
.d2-4272384554 .md sup {
top: -0.5em;
}
.d2-4272384554 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.d2-4272384554 .md figure {
margin: 1em 40px;
}
.d2-4272384554 .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-4272384554 .md input {
font: inherit;
margin: 0;
overflow: visible;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.d2-4272384554 .md [type="button"],
.d2-4272384554 .md [type="reset"],
.d2-4272384554 .md [type="submit"] {
-webkit-appearance: button;
}
.d2-4272384554 .md [type="button"]::-moz-focus-inner,
.d2-4272384554 .md [type="reset"]::-moz-focus-inner,
.d2-4272384554 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.d2-4272384554 .md [type="button"]:-moz-focusring,
.d2-4272384554 .md [type="reset"]:-moz-focusring,
.d2-4272384554 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.d2-4272384554 .md [type="checkbox"],
.d2-4272384554 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.d2-4272384554 .md [type="number"]::-webkit-inner-spin-button,
.d2-4272384554 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.d2-4272384554 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.d2-4272384554 .md [type="search"]::-webkit-search-cancel-button,
.d2-4272384554 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.d2-4272384554 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.d2-4272384554 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.d2-4272384554 .md a:hover {
text-decoration: underline;
}
.d2-4272384554 .md hr::before {
display: table;
content: "";
}
.d2-4272384554 .md hr::after {
display: table;
clear: both;
content: "";
}
.d2-4272384554 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
width: max-content;
max-width: 100%;
overflow: auto;
}
.d2-4272384554 .md td,
.d2-4272384554 .md th {
padding: 0;
}
.d2-4272384554 .md details summary {
cursor: pointer;
}
.d2-4272384554 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.d2-4272384554 .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-4272384554 .md h1,
.d2-4272384554 .md h2,
.d2-4272384554 .md h3,
.d2-4272384554 .md h4,
.d2-4272384554 .md h5,
.d2-4272384554 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 400;
line-height: 1.25;
font-family: "d2-4272384554-font-semibold";
}
.d2-4272384554 .md h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-4272384554 .md h3 {
font-size: 1.25em;
}
.d2-4272384554 .md h4 {
font-size: 1em;
}
.d2-4272384554 .md h5 {
font-size: 0.875em;
}
.d2-4272384554 .md h6 {
font-size: 0.85em;
color: var(--color-fg-muted);
}
.d2-4272384554 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.d2-4272384554 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.d2-4272384554 .md ul,
.d2-4272384554 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.d2-4272384554 .md ol ol,
.d2-4272384554 .md ul ol {
list-style-type: lower-roman;
}
.d2-4272384554 .md ul ul ol,
.d2-4272384554 .md ul ol ol,
.d2-4272384554 .md ol ul ol,
.d2-4272384554 .md ol ol ol {
list-style-type: lower-alpha;
}
.d2-4272384554 .md dd {
margin-left: 0;
}
.d2-4272384554 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.d2-4272384554 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.d2-4272384554 .md input::-webkit-outer-spin-button,
.d2-4272384554 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.d2-4272384554 .md::before {
display: table;
content: "";
}
.d2-4272384554 .md::after {
display: table;
clear: both;
content: "";
}
.d2-4272384554 .md > *:first-child {
margin-top: 0 !important;
}
.d2-4272384554 .md > *:last-child {
margin-bottom: 0 !important;
}
.d2-4272384554 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.d2-4272384554 .md .absent {
color: var(--color-danger-fg);
}
.d2-4272384554 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.d2-4272384554 .md .anchor:focus {
outline: none;
}
.d2-4272384554 .md p,
.d2-4272384554 .md blockquote,
.d2-4272384554 .md ul,
.d2-4272384554 .md ol,
.d2-4272384554 .md dl,
.d2-4272384554 .md table,
.d2-4272384554 .md pre,
.d2-4272384554 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.d2-4272384554 .md blockquote > :first-child {
margin-top: 0;
}
.d2-4272384554 .md blockquote > :last-child {
margin-bottom: 0;
}
.d2-4272384554 .md sup > a::before {
content: "[";
}
.d2-4272384554 .md sup > a::after {
content: "]";
}
.d2-4272384554 .md h1:hover .anchor,
.d2-4272384554 .md h2:hover .anchor,
.d2-4272384554 .md h3:hover .anchor,
.d2-4272384554 .md h4:hover .anchor,
.d2-4272384554 .md h5:hover .anchor,
.d2-4272384554 .md h6:hover .anchor {
text-decoration: none;
}
.d2-4272384554 .md h1 tt,
.d2-4272384554 .md h1 code,
.d2-4272384554 .md h2 tt,
.d2-4272384554 .md h2 code,
.d2-4272384554 .md h3 tt,
.d2-4272384554 .md h3 code,
.d2-4272384554 .md h4 tt,
.d2-4272384554 .md h4 code,
.d2-4272384554 .md h5 tt,
.d2-4272384554 .md h5 code,
.d2-4272384554 .md h6 tt,
.d2-4272384554 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.d2-4272384554 .md ul.no-list,
.d2-4272384554 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.d2-4272384554 .md ol[type="1"] {
list-style-type: decimal;
}
.d2-4272384554 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.d2-4272384554 .md ol[type="i"] {
list-style-type: lower-roman;
}
.d2-4272384554 .md div > ol:not([type]) {
list-style-type: decimal;
}
.d2-4272384554 .md ul ul,
.d2-4272384554 .md ul ol,
.d2-4272384554 .md ol ol,
.d2-4272384554 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.d2-4272384554 .md li > p {
margin-top: 16px;
}
.d2-4272384554 .md li + li {
margin-top: 0.25em;
}
.d2-4272384554 .md dl {
padding: 0;
}
.d2-4272384554 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-family: "d2-4272384554-font-semibold";
}
.d2-4272384554 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.d2-4272384554 .md table th {
font-family: "d2-4272384554-font-semibold";
}
.d2-4272384554 .md table th,
.d2-4272384554 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.d2-4272384554 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.d2-4272384554 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.d2-4272384554 .md table img {
background-color: transparent;
}
.d2-4272384554 .md img[align="right"] {
padding-left: 20px;
}
.d2-4272384554 .md img[align="left"] {
padding-right: 20px;
}
.d2-4272384554 .md span.frame {
display: block;
overflow: hidden;
}
.d2-4272384554 .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-4272384554 .md span.frame span img {
display: block;
float: left;
}
.d2-4272384554 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.d2-4272384554 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.d2-4272384554 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.d2-4272384554 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.d2-4272384554 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.d2-4272384554 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.d2-4272384554 .md span.align-right span img {
margin: 0;
text-align: right;
}
.d2-4272384554 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.d2-4272384554 .md span.float-left span {
margin: 13px 0 0;
}
.d2-4272384554 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.d2-4272384554 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.d2-4272384554 .md code,
.d2-4272384554 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
background-color: var(--color-neutral-muted);
border-radius: 6px;
}
.d2-4272384554 .md code br,
.d2-4272384554 .md tt br {
display: none;
}
.d2-4272384554 .md del code {
text-decoration: inherit;
}
.d2-4272384554 .md pre code {
font-size: 100%;
}
.d2-4272384554 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.d2-4272384554 .md .highlight {
margin-bottom: 16px;
}
.d2-4272384554 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.d2-4272384554 .md .highlight pre,
.d2-4272384554 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: var(--color-canvas-subtle);
border-radius: 6px;
}
.d2-4272384554 .md pre code,
.d2-4272384554 .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-4272384554 .md .csv-data td,
.d2-4272384554 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
line-height: 1;
text-align: left;
white-space: nowrap;
}
.d2-4272384554 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.d2-4272384554 .md .csv-data tr {
border-top: 0;
}
.d2-4272384554 .md .csv-data th {
font-family: "d2-4272384554-font-semibold";
background: var(--color-canvas-subtle);
border-top: 0;
}
.d2-4272384554 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.d2-4272384554 .md .footnotes ol {
padding-left: 16px;
}
.d2-4272384554 .md .footnotes li {
position: relative;
}
.d2-4272384554 .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-4272384554 .md .footnotes li:target {
color: var(--color-fg-default);
}
.d2-4272384554 .md .task-list-item {
list-style-type: none;
}
.d2-4272384554 .md .task-list-item label {
font-weight: 400;
}
.d2-4272384554 .md .task-list-item.enabled label {
cursor: pointer;
}
.d2-4272384554 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.d2-4272384554 .md .task-list-item .handle {
display: none;
}
.d2-4272384554 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.d2-4272384554 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><g id="hst"><g class="shape" ><rect x="12.000000" y="260.000000" width="841.000000" height="773.000000" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="432.500000" y="293.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">host</text></g><g id="sens"><g class="shape" ><rect x="115.000000" y="12.000000" width="158.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="194.000000" y="50.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Weather Sensor</text></g><g id="PC"><g class="shape" ><rect x="524.000000" y="1225.000000" width="165.000000" height="118.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><image href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTggNTgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDU4IDU4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Y2lyY2xlIHN0eWxlPSJmaWxsOiMyNUFFODg7IiBjeD0iMjkiIGN5PSIyOSIgcj0iMjkiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiNGQkNFOUQ7IiBkPSJNNTIuOTMyLDQ1LjM3NkM1Mi4yNzUsMzguOTg1LDQ2Ljg3NiwzNCw0MC4zMTEsMzRoLTUuOTQ2QzMzLjYxMSwzNCwzMywzMy4zODksMzMsMzIuNjM1VjMxLjk5DQoJYzAtMC41ODMsMC4zNzktMS4wODIsMC45MjUtMS4yODdjNS44MDQtMi4xODIsOS43NzgtMTEuNzA0LDguOTcxLTE4LjQzM0M0Mi4xMzQsNS45MTksMzYuOTcsMC44MDEsMzAuNjE0LDAuMDkNCgljLTAuNTE3LTAuMDU4LTEuMDI5LTAuMDg2LTEuNTM1LTAuMDg4Yy0wLjAxNiwwLTAuMDMyLTAuMDAxLTAuMDQ4LTAuMDAxQzIxLjI4NS0wLjAxNiwxNSw2LjI1OCwxNSwxNA0KCWMwLDYuMDI0LDMuODA3LDE0Ljc1NSw5LjE0NSwxNi43MjlDMjQuNjY4LDMwLjkyMiwyNSwzMS40NDIsMjUsMzJ2MC42MzVDMjUsMzMuMzg5LDI0LjM4OSwzNCwyMy42MzUsMzRoLTUuOTQ2DQoJYy02LjU2NSwwLTExLjk2NCw0Ljk4NS0xMi42MjEsMTEuMzc2QzEwLjI5Myw1Mi45OTgsMTkuMDYxLDU4LDI5LDU4UzQ3LjcwNyw1Mi45OTgsNTIuOTMyLDQ1LjM3NnoiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiM2QjVCNEI7IiBkPSJNMzMuNDkyLDYuNjFjMy43MTUsMS4wMjEsNy4yMTMsMy4zMDYsOS40NTMsNi4zMjJjLTAuMDE2LTAuMjIxLTAuMDIzLTAuNDQ3LTAuMDQ5LTAuNjYzDQoJQzQyLjEzNCw1LjkxOSwzNi45NywwLjgwMSwzMC42MTQsMC4wOWMtMC41MTctMC4wNTgtMS4wMjktMC4wODYtMS41MzUtMC4wODhjLTAuMDE2LDAtMC4wMzItMC4wMDEtMC4wNDgtMC4wMDENCgljLTYuOTItMC4wMTUtMTIuNjYsNC45OTUtMTMuODA4LDExLjU4M2wwLjAwNSwwYzAuMTc5LDAuMjUyLDAuMzU0LDAuNTA3LDAuNTQ1LDAuNzVjMC4wNy0wLjA4NywwLjE0MS0wLjE3MywwLjIxMy0wLjI1OA0KCWMyLTIuMzgsNS4zNDEtMi45MzEsOC4xODMtMS42NzFDMjUuMDM0LDEwLjc4NywyNS45OTIsMTEsMjcsMTFDMjkuOTQyLDExLDMyLjQ1Niw5LjE4MiwzMy40OTIsNi42MXoiLz4NCjxwYXRoIHN0eWxlPSJmaWxsOiM1NTYwODA7IiBkPSJNNTIuOTMyLDQ1LjM3NkM1Mi4yNzUsMzguOTg1LDQ2Ljg3NiwzNCw0MC4zMTEsMzRIMzdsLTgsOGwtOC04aC0zLjMxMQ0KCWMtNi41NjUsMC0xMS45NjQsNC45ODUtMTIuNjIxLDExLjM3NkMxMC4yOTMsNTIuOTk4LDE5LjA2MSw1OCwyOSw1OFM0Ny43MDcsNTIuOTk4LDUyLjkzMiw0NS4zNzZ6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojNDI0QTYwOyIgZD0iTTQzLDU0LjM5MmMwLjY4NS0wLjM3OSwxLjM1LTAuNzg5LDItMS4yMlY0N2gtMlY1NC4zOTJ6Ii8+DQo8cGF0aCBzdHlsZT0iZmlsbDojNDI0QTYwOyIgZD0iTTE1LDU0LjM5MlY0N2gtMnY2LjE3MkMxMy42NSw1My42MDMsMTQuMzE1LDU0LjAxMywxNSw1NC4zOTJ6Ii8+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==" x="577.000000" y="1254.500000" width="59" height="59" /><text x="606.500000" y="1246.000000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">User browser</text></g><g id="hst.PythonSRV"><g class="shape" ><rect x="62.000000" y="730.000000" width="741.000000" height="248.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="432.500000" y="759.000000" class="text fill-N1" style="text-anchor:middle;font-size:24px">Stack Python</text></g><g id="hst.blt"><g class="shape" ><rect x="87.000000" y="310.000000" width="213.000000" height="118.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><image href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTUgNTUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDU1IDU1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBzdHlsZT0iZmlsbDojMEEzQzkxOyIgZD0iTTI3LjUsNTVMMjcuNSw1NWMtOS4zODksMC0xNy03LjYxMS0xNy0xN1YxN2MwLTkuMzg5LDcuNjExLTE3LDE3LTE3aDBjOS4zODksMCwxNyw3LjYxMSwxNywxN3YyMQ0KCUM0NC41LDQ3LjM4OSwzNi44ODksNTUsMjcuNSw1NXoiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBwb2ludHM9IjI3LjUzNSwyNyAyNy41LDE4IDI3LjUsMTAgMzUuNSwxOCAiLz4NCjxwb2x5Z29uIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNGRkZGRkY7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLW1pdGVybGltaXQ6MTA7IiBwb2ludHM9IjI3LjUsNDUgMjcuNSwzNiAyNy41MzUsMjcuNjA2IDM1LjUsMzYgIi8+DQo8bGluZSBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgeDE9IjE3LjU3MyIgeTE9IjE4LjAxMyIgeDI9IjI3LjUzNSIgeTI9IjI3LjAxMyIvPg0KPGxpbmUgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDoxMDsiIHgxPSIyNy41NzMiIHkxPSIyNy4wMTMiIHgyPSIxNy41IiB5Mj0iMzYuMDEzIi8+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==" x="164.000000" y="339.500000" width="59" height="59" /><text x="193.500000" y="331.000000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">Bluetooth hardware</text></g><g id="hst.DB"><g class="shape" ><rect x="330.000000" y="310.000000" width="160.000000" height="118.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><image href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSIiIGlkPSJGeFN5bWJvbDAtMDg4IiByb2xlPSJwcmVzZW50YXRpb24iIHZpZXdCb3g9IjAgMCA4NC4xIDExMS40IiBmb2N1c2FibGU9ImZhbHNlIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnPgo8dGl0bGUvPgo8cGF0aCBmaWxsPSIjMWIzNjYyIiBkPSJNIDAgMTUuMiB2IDgwLjkgYyAwIDguNSAxOC44IDE1LjIgNDEuOSAxNS4yIFYgMTUuMiBaIi8+CjxwYXRoIGZpbGw9IiMyZjRjNzciIGQ9Ik0gNDEuNSAxMTEuNCBoIDAuNyBjIDIzLjMgMCA0MS45IC02LjcgNDEuOSAtMTUuMiB2IC04MSBIIDQxLjUgWiIvPgo8cGF0aCBjbGFzcz0ibXNwb3J0YWxmeC1zdmctYzAxIiBmaWxsPSIjZmZmZmZmIiBkPSJNIDg0LjEgMTUuMiBjIDAgOC4zIC0xOC44IDE1LjIgLTQxLjkgMTUuMiBTIDAgMjMuNSAwIDE1LjIgUyAxOC44IDAgNDEuOSAwIHMgNDIuMiA3IDQyLjIgMTUuMiIvPgo8cGF0aCBmaWxsPSIjN2ZiOTAwIiBkPSJNIDc1LjYgMTQuMyBjIDAgNS42IC0xNSAxMC4xIC0zMy40IDEwLjEgUyA4LjUgMjAgOC41IDE0LjMgcyAxNSAtMTAuMSAzMy40IC0xMC4xIHMgMzMuNyA0LjUgMzMuNyAxMC4xIi8+CjxwYXRoIGZpbGw9IiNiN2QzMzIiIGQ9Ik0gNjguNCAyMC40IGMgNC41IC0xLjggNyAtMy44IDcgLTYuMSBjIDAgLTUuNiAtMTUgLTEwLjEgLTMzLjQgLTEwLjEgUyA4LjUgOC43IDguNSAxNC4zIGMgMCAyLjIgMi43IDQuNSA3IDYuMSBjIDYuMSAtMi41IDE1LjcgLTMuOCAyNi41IC0zLjggcyAyMC4zIDEuNiAyNi40IDMuOCIvPgo8cGF0aCBjbGFzcz0ibXNwb3J0YWxmeC1zdmctYzAxIiBmaWxsPSIjZmZmZmZmIiBkPSJNIDYuNSA4Mi43MSBzIDMuNTEgLTEuNTggNC41NyAtMS41OCBjIDAgMCAzLjg2IC0wLjUzIDUuNjIgLTAuNTMgcyAzLjMxIC0xLjQgNC41NyAtMy4zNCBzIDYuMzIgLTcuNzMgMTIuMTIgLTkgcyAxNC43NiAtMi42NCAxOS42OCAtOS4xNCBzIDcuNTUgLTE0LjIzIDE1LjExIC0xNC41OCBzIDUuMDkgLTEuOTMgNy4yIC0xLjkzIHMgMC44OCA0IDAuODggNCBzIC0wLjcgMC41MyAtMC43IDAuNyBzIC0wLjU1IDIuMzcgLTQuNCA0LjY5IHMgLTQgNy43MyAtNC4zOSAxMCBzIC0zLjg2IDEzLjM1IC03LjM4IDE2LjM0IGwgLTAuODggMC4zNSBzIC0wLjM1IDAuODggLTAuNyAxLjA1IHMgLTEuMjMgLTAuNyAtMS40MSAtMS4wNSBzIC0xLjc2IDMgLTIuMjggMy42OSBhIDEzLjcgMTMuNyAwIDAgMSAtMTAuNzIgNi41IHMgNS44IC05LjY2IDUuMjcgLTEzLjE4IGEgMjEuNiAyMS42IDAgMCAwIC0xLjU4IDMuODYgYyAwIDAuNyAtMS4yMyAyLjExIC0zLjE2IDIuMjggcyAtMTQuMjMgLTIuODEgLTE5LjMyIDAgcyAtNy4yIDUuMjcgLTEwIDUuNDUgcyAtNS42MiAwLjE4IC02LjY4IC0wLjM1IGMgMCAwIDIuMjggLTIuNDYgMi40NiAtMi44MSBjIC0wLjAyIC0wLjAxIC0zLjM4IDAuNjkgLTMuODggLTEuNDIgWiIvPgo8cGF0aCBmaWxsPSIjMWIzNjYyIiBkPSJNIDc1LjcyIDQ3LjIyIGwgMC41MyAtMC41MyBzIC0yLjQ2IC0wLjcgLTMuMTYgLTIuNDYgYSAwLjg1IDAuODUgMCAwIDAgMCAwLjcgYSAxMC43MiAxMC43MiAwIDAgMCAyLjYzIDIuMjkgWiBNIDY0LjgyIDQ5IHMgMS4wNSAtMi40NiAzLjM0IC0xLjkzIGEgMS44MiAxLjgyIDAgMCAxIC0xLjQxIDIuNDYgYSAyLjU0IDIuNTQgMCAwIDEgLTEuOTMgLTAuNTMgWiIvPgo8cGF0aCBjbGFzcz0ibXNwb3J0YWxmeC1zdmctYzAxIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxYjM2NjIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIwLjUiIGQ9Ik0gNzIuNzMgNDYgcyAtMS45MyAyLjY0IC0yLjExIDMuNjkgbSAyLjQ2IC0zLjE3IGEgMjMuNjYgMjMuNjYgMCAwIDAgLTEuNDEgMy4zNCBtIDEuNTkgLTMuMzQgYSAxMC43NiAxMC43NiAwIDAgMCAtMC41MyAzLjM0Ii8+CjxwYXRoIGNsYXNzPSJtc3BvcnRhbGZ4LXN2Zy1jMDEiIGZpbGw9IiNmZmZmZmYiIGQ9Ik0gNjIuMTkgNzYuMjEgcyAtMy4xNiAzIC0zLjM0IDQgcyAzLjUxIDIuNjQgNS44IDIuMTEgYyAwIDAuMDQgLTIuNDYgLTUuNDEgLTIuNDYgLTYuMTEgWiIvPgo8L2c+Cjwvc3ZnPg==" x="380.500000" y="339.500000" width="59" height="59" /><text x="410.000000" y="331.000000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">SQLite DB</text></g><g id="hst.PythonSRV.Scrp"><g class="shape" ><rect x="112.000000" y="780.000000" width="328.000000" height="148.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><image href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggMTI4Ij48bGluZWFyR3JhZGllbnQgaWQ9ImEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNzAuMjUyIiB5MT0iMTIzNy40NzYiIHgyPSIxNzAuNjU5IiB5Mj0iMTE1MS4wODkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLjU2MyAwIDAgLS41NjggLTI5LjIxNSA3MDcuODE3KSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNUE5RkQ0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzA2OTk4Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNNjMuMzkxIDEuOTg4Yy00LjIyMi4wMi04LjI1Mi4zNzktMTEuOCAxLjAwNy0xMC40NSAxLjg0Ni0xMi4zNDYgNS43MS0xMi4zNDYgMTIuODM3djkuNDExaDI0LjY5M3YzLjEzN2gtMzMuOTYxYy03LjE3NiAwLTEzLjQ2IDQuMzEzLTE1LjQyNiAxMi41MjEtMi4yNjggOS40MDUtMi4zNjggMTUuMjc1IDAgMjUuMDk2IDEuNzU1IDcuMzExIDUuOTQ3IDEyLjUxOSAxMy4xMjQgMTIuNTE5aDguNDkxdi0xMS4yODJjMC04LjE1MSA3LjA1MS0xNS4zNCAxNS40MjYtMTUuMzRoMjQuNjY1YzYuODY2IDAgMTIuMzQ2LTUuNjU0IDEyLjM0Ni0xMi41NDh2LTIzLjUxM2MwLTYuNjkzLTUuNjQ2LTExLjcyLTEyLjM0Ni0xMi44MzctNC4yNDQtLjcwNi04LjY0NS0xLjAyNy0xMi44NjYtMS4wMDh6bS0xMy4zNTQgNy41NjljMi41NSAwIDQuNjM0IDIuMTE3IDQuNjM0IDQuNzIxIDAgMi41OTMtMi4wODMgNC42OS00LjYzNCA0LjY5LTIuNTYgMC00LjYzMy0yLjA5Ny00LjYzMy00LjY5LS4wMDEtMi42MDQgMi4wNzMtNC43MjEgNC42MzMtNC43MjF6Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIwOS40NzQiIHkxPSIxMDk4LjgxMSIgeDI9IjE3My42MiIgeTI9IjExNDkuNTM3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC41NjMgMCAwIC0uNTY4IC0yOS4yMTUgNzA3LjgxNykiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGRDQzQiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRTg3MyIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTkxLjY4MiAyOC4zOHYxMC45NjZjMCA4LjUtNy4yMDggMTUuNjU1LTE1LjQyNiAxNS42NTVoLTI0LjY2NWMtNi43NTYgMC0xMi4zNDYgNS43ODMtMTIuMzQ2IDEyLjU0OXYyMy41MTVjMCA2LjY5MSA1LjgxOCAxMC42MjggMTIuMzQ2IDEyLjU0NyA3LjgxNiAyLjI5NyAxNS4zMTIgMi43MTMgMjQuNjY1IDAgNi4yMTYtMS44MDEgMTIuMzQ2LTUuNDIzIDEyLjM0Ni0xMi41NDd2LTkuNDEyaC0yNC42NjR2LTMuMTM4aDM3LjAxMmM3LjE3NiAwIDkuODUyLTUuMDA1IDEyLjM0OC0xMi41MTkgMi41NzgtNy43MzUgMi40NjctMTUuMTc0IDAtMjUuMDk2LTEuNzc0LTcuMTQ1LTUuMTYxLTEyLjUyMS0xMi4zNDgtMTIuNTIxaC05LjI2OHptLTEzLjg3MyA1OS41NDdjMi41NjEgMCA0LjYzNCAyLjA5NyA0LjYzNCA0LjY5MiAwIDIuNjAyLTIuMDc0IDQuNzE5LTQuNjM0IDQuNzE5LTIuNTUgMC00LjYzMy0yLjExNy00LjYzMy00LjcxOSAwLTIuNTk1IDIuMDgzLTQuNjkyIDQuNjMzLTQuNjkyeiIvPjxyYWRpYWxHcmFkaWVudCBpZD0iYyIgY3g9IjE4MjUuNjc4IiBjeT0iNDQ0LjQ1IiByPSIyNi43NDMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAtLjI0IC0xLjA1NSAwIDUzMi45NzkgNTU3LjU3NikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNCOEI4QjgiIHN0b3Atb3BhY2l0eT0iLjQ5OCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzdGN0Y3RiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBvcGFjaXR5PSIuNDQ0IiBmaWxsPSJ1cmwoI2MpIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IiBkPSJNOTcuMzA5IDExOS41OTdjMCAzLjU0My0xNC44MTYgNi40MTYtMzMuMDkxIDYuNDE2LTE4LjI3NiAwLTMzLjA5Mi0yLjg3My0zMy4wOTItNi40MTYgMC0zLjU0NCAxNC44MTUtNi40MTcgMzMuMDkyLTYuNDE3IDE4LjI3NSAwIDMzLjA5MSAyLjg3MiAzMy4wOTEgNi40MTd6Ii8+PC9zdmc+" x="117.000000" y="785.000000" width="64" height="64" /><text x="377.500000" y="805.000000" class="text fill-N1" style="text-anchor:middle;font-size:20px">DataScrapper</text></g><g id="hst.PythonSRV.web"><g class="shape" ><rect x="460.000000" y="780.000000" width="293.000000" height="148.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><image href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggMTI4Ij48bGluZWFyR3JhZGllbnQgaWQ9ImEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNzAuMjUyIiB5MT0iMTIzNy40NzYiIHgyPSIxNzAuNjU5IiB5Mj0iMTE1MS4wODkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLjU2MyAwIDAgLS41NjggLTI5LjIxNSA3MDcuODE3KSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjNUE5RkQ0Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzA2OTk4Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNNjMuMzkxIDEuOTg4Yy00LjIyMi4wMi04LjI1Mi4zNzktMTEuOCAxLjAwNy0xMC40NSAxLjg0Ni0xMi4zNDYgNS43MS0xMi4zNDYgMTIuODM3djkuNDExaDI0LjY5M3YzLjEzN2gtMzMuOTYxYy03LjE3NiAwLTEzLjQ2IDQuMzEzLTE1LjQyNiAxMi41MjEtMi4yNjggOS40MDUtMi4zNjggMTUuMjc1IDAgMjUuMDk2IDEuNzU1IDcuMzExIDUuOTQ3IDEyLjUxOSAxMy4xMjQgMTIuNTE5aDguNDkxdi0xMS4yODJjMC04LjE1MSA3LjA1MS0xNS4zNCAxNS40MjYtMTUuMzRoMjQuNjY1YzYuODY2IDAgMTIuMzQ2LTUuNjU0IDEyLjM0Ni0xMi41NDh2LTIzLjUxM2MwLTYuNjkzLTUuNjQ2LTExLjcyLTEyLjM0Ni0xMi44MzctNC4yNDQtLjcwNi04LjY0NS0xLjAyNy0xMi44NjYtMS4wMDh6bS0xMy4zNTQgNy41NjljMi41NSAwIDQuNjM0IDIuMTE3IDQuNjM0IDQuNzIxIDAgMi41OTMtMi4wODMgNC42OS00LjYzNCA0LjY5LTIuNTYgMC00LjYzMy0yLjA5Ny00LjYzMy00LjY5LS4wMDEtMi42MDQgMi4wNzMtNC43MjEgNC42MzMtNC43MjF6Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIwOS40NzQiIHkxPSIxMDk4LjgxMSIgeDI9IjE3My42MiIgeTI9IjExNDkuNTM3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC41NjMgMCAwIC0uNTY4IC0yOS4yMTUgNzA3LjgxNykiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGRDQzQiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRTg3MyIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZmlsbD0idXJsKCNiKSIgZD0iTTkxLjY4MiAyOC4zOHYxMC45NjZjMCA4LjUtNy4yMDggMTUuNjU1LTE1LjQyNiAxNS42NTVoLTI0LjY2NWMtNi43NTYgMC0xMi4zNDYgNS43ODMtMTIuMzQ2IDEyLjU0OXYyMy41MTVjMCA2LjY5MSA1LjgxOCAxMC42MjggMTIuMzQ2IDEyLjU0NyA3LjgxNiAyLjI5NyAxNS4zMTIgMi43MTMgMjQuNjY1IDAgNi4yMTYtMS44MDEgMTIuMzQ2LTUuNDIzIDEyLjM0Ni0xMi41NDd2LTkuNDEyaC0yNC42NjR2LTMuMTM4aDM3LjAxMmM3LjE3NiAwIDkuODUyLTUuMDA1IDEyLjM0OC0xMi41MTkgMi41NzgtNy43MzUgMi40NjctMTUuMTc0IDAtMjUuMDk2LTEuNzc0LTcuMTQ1LTUuMTYxLTEyLjUyMS0xMi4zNDgtMTIuNTIxaC05LjI2OHptLTEzLjg3MyA1OS41NDdjMi41NjEgMCA0LjYzNCAyLjA5NyA0LjYzNCA0LjY5MiAwIDIuNjAyLTIuMDc0IDQuNzE5LTQuNjM0IDQuNzE5LTIuNTUgMC00LjYzMy0yLjExNy00LjYzMy00LjcxOSAwLTIuNTk1IDIuMDgzLTQuNjkyIDQuNjMzLTQuNjkyeiIvPjxyYWRpYWxHcmFkaWVudCBpZD0iYyIgY3g9IjE4MjUuNjc4IiBjeT0iNDQ0LjQ1IiByPSIyNi43NDMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAtLjI0IC0xLjA1NSAwIDUzMi45NzkgNTU3LjU3NikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNCOEI4QjgiIHN0b3Atb3BhY2l0eT0iLjQ5OCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzdGN0Y3RiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBvcGFjaXR5PSIuNDQ0IiBmaWxsPSJ1cmwoI2MpIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IiBkPSJNOTcuMzA5IDExOS41OTdjMCAzLjU0My0xNC44MTYgNi40MTYtMzMuMDkxIDYuNDE2LTE4LjI3NiAwLTMzLjA5Mi0yLjg3My0zMy4wOTItNi40MTYgMC0zLjU0NCAxNC44MTUtNi40MTcgMzMuMDkyLTYuNDE3IDE4LjI3NSAwIDMzLjA5MSAyLjg3MiAzMy4wOTEgNi40MTd6Ii8+PC9zdmc+" x="465.000000" y="785.000000" width="64" height="64" /><text x="716.000000" y="805.000000" class="text fill-N1" style="text-anchor:middle;font-size:20px">WebGui</text></g><g id="hst.PythonSRV.Scrp.explaination"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="162.000000" y="854.000000" width="228" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>used to scrap data from bluetooth</p>
</div></foreignObject></g></g><g id="hst.PythonSRV.web.explaination"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="510.000000" y="854.000000" width="193" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md"><p>used to display data from DB</p>
</div></foreignObject></g></g><g id="hst.(DB &lt;- PythonSRV.Scrp)[0]"><marker id="mk-2172628313" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" fill="green" class="connection" stroke-width="2" /> </marker><path d="M 362.750000 432.000000 L 362.750000 458.000000 S 362.750000 468.000000 352.750000 468.000000 L 299.250000 468.000000 S 289.250000 468.000000 289.250000 478.000000 L 289.250000 778.000000" stroke="green" fill="none" class="connection animated-connection" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;stroke-dashoffset:198.656393;animation: dashdraw 4.932820s linear infinite;" marker-start="url(#mk-2172628313)" mask="url(#d2-4272384554)" /><text x="289.500000" y="565.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="289.500000" dy="0.000000">Write </tspan><tspan x="289.500000" dy="18.500000">data</tspan></text></g><g id="hst.(DB -&gt; PythonSRV.web)[0]"><marker id="mk-1457214650" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="green" class="connection" stroke-width="2" /> </marker><path d="M 426.750000 430.000000 L 426.750000 508.000000 S 426.750000 518.000000 436.750000 518.000000 L 487.833008 518.000000 S 497.833008 518.000000 497.833008 528.000000 L 497.833008 776.000000" stroke="green" fill="none" class="connection animated-connection" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;stroke-dashoffset:-198.656393;animation: dashdraw 4.932820s linear infinite;" marker-end="url(#mk-1457214650)" mask="url(#d2-4272384554)" /><text x="497.500000" y="566.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="497.500000" dy="0.000000">Read </tspan><tspan x="497.500000" dy="18.500000">Data</tspan></text></g><g id="(sens -&gt; hst.blt)[0]"><marker id="mk-2177206569" 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-B2" stroke-width="2" /> </marker><path d="M 194.000000 80.000000 L 194.000000 306.000000" fill="none" class="connection animated-connection stroke-B2" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;stroke-dashoffset:-198.656393;animation: dashdraw 4.932820s linear infinite;" marker-end="url(#mk-2177206569)" mask="url(#d2-4272384554)" /><text x="194.500000" y="192.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="194.500000" dy="0.000000">Read </tspan><tspan x="194.500000" dy="18.500000">Data</tspan></text></g><g id="hst.(blt -&gt; PythonSRV.Scrp)[0]"><path d="M 194.000000 430.000000 L 194.000000 776.000000" fill="none" class="connection animated-connection stroke-B2" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;stroke-dashoffset:-198.656393;animation: dashdraw 4.932820s linear infinite;" marker-end="url(#mk-2177206569)" mask="url(#d2-4272384554)" /><text x="194.500000" y="602.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="194.500000" dy="0.000000">Read </tspan><tspan x="194.500000" dy="18.500000">Data</tspan></text></g><g id="(hst.PythonSRV.web -&gt; PC)[0]"><path d="M 579.000000 930.000000 L 579.000000 1221.000000" stroke="green" fill="none" class="connection animated-connection" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;stroke-dashoffset:-198.656393;animation: dashdraw 4.932820s linear infinite;" marker-end="url(#mk-1457214650)" mask="url(#d2-4272384554)" /><text x="579.000000" y="1074.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="579.000000" dy="0.000000">display </tspan><tspan x="579.000000" dy="18.500000">data</tspan></text></g><g id="(hst.PythonSRV.web &lt;- PC)[0]"><marker id="mk-3281191378" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" fill="orange" class="connection" stroke-width="2" /> </marker><path d="M 634.000000 932.000000 L 634.000000 1223.000000" stroke="orange" fill="none" class="connection animated-connection" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;stroke-dashoffset:198.656393;animation: dashdraw 4.932820s linear infinite;" marker-start="url(#mk-3281191378)" mask="url(#d2-4272384554)" /><text x="634.000000" y="1074.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="634.000000" dy="0.000000">write </tspan><tspan x="634.000000" dy="18.500000">settings</tspan></text></g><g id="hst.(DB &lt;- PythonSRV.web)[0]"><path d="M 458.750000 432.000000 L 458.750000 458.000000 S 458.750000 468.000000 468.750000 468.000000 L 564.416016 468.000000 S 574.416016 468.000000 574.416016 478.000000 L 574.416016 778.000000" stroke="orange" fill="none" class="connection animated-connection" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;stroke-dashoffset:198.656393;animation: dashdraw 4.932820s linear infinite;" marker-start="url(#mk-3281191378)" mask="url(#d2-4272384554)" /><text x="574.000000" y="544.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="574.000000" dy="0.000000">write </tspan><tspan x="574.000000" dy="18.500000">settings</tspan></text></g><g id="hst.(DB -&gt; PythonSRV.Scrp)[0]"><marker id="mk-209844359" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="orange" class="connection" stroke-width="2" /> </marker><path d="M 394.750000 430.000000 L 394.750000 508.000000 S 394.750000 518.000000 384.750000 518.000000 L 380.250000 518.000000 S 370.250000 518.000000 370.250000 528.000000 L 370.250000 776.000000" stroke="orange" fill="none" class="connection animated-connection" style="stroke-width:2;stroke-dasharray:10.000000,9.865639;stroke-dashoffset:-198.656393;animation: dashdraw 4.932820s linear infinite;" marker-end="url(#mk-209844359)" mask="url(#d2-4272384554)" /><text x="370.000000" y="589.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="370.000000" dy="0.000000">Read </tspan><tspan x="370.000000" dy="18.500000">settings</tspan></text></g><mask id="d2-4272384554" maskUnits="userSpaceOnUse" x="-89" y="-89" width="1043" height="1533">
<rect x="-89" y="-89" width="1043" height="1533" fill="white"></rect>
<rect x="407.000000" y="265.000000" width="51" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="137.500000" y="34.500000" width="113" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="559.500000" y="1230.000000" width="94" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="367.000000" y="735.000000" width="131" height="31" fill="rgba(0,0,0,0.75)"></rect>
<rect x="122.500000" y="315.000000" width="142" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="374.500000" y="315.000000" width="71" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="320.000000" y="785.000000" width="115" height="26" fill="rgba(0,0,0,0.75)"></rect>
<rect x="684.000000" y="785.000000" width="64" height="26" fill="rgba(0,0,0,0.75)"></rect>
<rect x="162.000000" y="854.000000" width="228" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="510.000000" y="854.000000" width="193" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="272.000000" y="549.000000" width="35" height="37" fill="black"></rect>
<rect x="480.000000" y="550.000000" width="35" height="37" fill="black"></rect>
<rect x="177.000000" y="176.000000" width="35" height="37" fill="black"></rect>
<rect x="177.000000" y="586.000000" width="35" height="37" fill="black"></rect>
<rect x="555.000000" y="1058.000000" width="48" height="37" fill="black"></rect>
<rect x="607.000000" y="1058.000000" width="54" height="37" fill="black"></rect>
<rect x="547.000000" y="528.000000" width="54" height="37" fill="black"></rect>
<rect x="343.000000" y="573.000000" width="54" height="37" fill="black"></rect>
</mask></svg></svg>