Files
CursASVK/Latex/files/UML.svg
T
2026-05-23 15:57:18 +03:00

106 lines
35 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" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1444 1456"><svg class="d2-3203124535 d2-svg" width="1444" height="1456" viewBox="-101 -101 1444 1456"><rect x="-101.000000" y="-101.000000" width="1444.000000" height="1456.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3203124535 .text-italic {
font-family: "d2-3203124535-font-italic";
}
@font-face {
font-family: d2-3203124535-font-italic;
src: url("data:application/font-woff;base64,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");
}
.d2-3203124535 .text-mono {
font-family: "d2-3203124535-font-mono";
}
@font-face {
font-family: d2-3203124535-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-3203124535 .fill-N1{fill:#0A0F25;}
.d2-3203124535 .fill-N2{fill:#676C7E;}
.d2-3203124535 .fill-N3{fill:#9499AB;}
.d2-3203124535 .fill-N4{fill:#CFD2DD;}
.d2-3203124535 .fill-N5{fill:#DEE1EB;}
.d2-3203124535 .fill-N6{fill:#EEF1F8;}
.d2-3203124535 .fill-N7{fill:#FFFFFF;}
.d2-3203124535 .fill-B1{fill:#0D32B2;}
.d2-3203124535 .fill-B2{fill:#0D32B2;}
.d2-3203124535 .fill-B3{fill:#E3E9FD;}
.d2-3203124535 .fill-B4{fill:#E3E9FD;}
.d2-3203124535 .fill-B5{fill:#EDF0FD;}
.d2-3203124535 .fill-B6{fill:#F7F8FE;}
.d2-3203124535 .fill-AA2{fill:#4A6FF3;}
.d2-3203124535 .fill-AA4{fill:#EDF0FD;}
.d2-3203124535 .fill-AA5{fill:#F7F8FE;}
.d2-3203124535 .fill-AB4{fill:#EDF0FD;}
.d2-3203124535 .fill-AB5{fill:#F7F8FE;}
.d2-3203124535 .stroke-N1{stroke:#0A0F25;}
.d2-3203124535 .stroke-N2{stroke:#676C7E;}
.d2-3203124535 .stroke-N3{stroke:#9499AB;}
.d2-3203124535 .stroke-N4{stroke:#CFD2DD;}
.d2-3203124535 .stroke-N5{stroke:#DEE1EB;}
.d2-3203124535 .stroke-N6{stroke:#EEF1F8;}
.d2-3203124535 .stroke-N7{stroke:#FFFFFF;}
.d2-3203124535 .stroke-B1{stroke:#0D32B2;}
.d2-3203124535 .stroke-B2{stroke:#0D32B2;}
.d2-3203124535 .stroke-B3{stroke:#E3E9FD;}
.d2-3203124535 .stroke-B4{stroke:#E3E9FD;}
.d2-3203124535 .stroke-B5{stroke:#EDF0FD;}
.d2-3203124535 .stroke-B6{stroke:#F7F8FE;}
.d2-3203124535 .stroke-AA2{stroke:#4A6FF3;}
.d2-3203124535 .stroke-AA4{stroke:#EDF0FD;}
.d2-3203124535 .stroke-AA5{stroke:#F7F8FE;}
.d2-3203124535 .stroke-AB4{stroke:#EDF0FD;}
.d2-3203124535 .stroke-AB5{stroke:#F7F8FE;}
.d2-3203124535 .background-color-N1{background-color:#0A0F25;}
.d2-3203124535 .background-color-N2{background-color:#676C7E;}
.d2-3203124535 .background-color-N3{background-color:#9499AB;}
.d2-3203124535 .background-color-N4{background-color:#CFD2DD;}
.d2-3203124535 .background-color-N5{background-color:#DEE1EB;}
.d2-3203124535 .background-color-N6{background-color:#EEF1F8;}
.d2-3203124535 .background-color-N7{background-color:#FFFFFF;}
.d2-3203124535 .background-color-B1{background-color:#0D32B2;}
.d2-3203124535 .background-color-B2{background-color:#0D32B2;}
.d2-3203124535 .background-color-B3{background-color:#E3E9FD;}
.d2-3203124535 .background-color-B4{background-color:#E3E9FD;}
.d2-3203124535 .background-color-B5{background-color:#EDF0FD;}
.d2-3203124535 .background-color-B6{background-color:#F7F8FE;}
.d2-3203124535 .background-color-AA2{background-color:#4A6FF3;}
.d2-3203124535 .background-color-AA4{background-color:#EDF0FD;}
.d2-3203124535 .background-color-AA5{background-color:#F7F8FE;}
.d2-3203124535 .background-color-AB4{background-color:#EDF0FD;}
.d2-3203124535 .background-color-AB5{background-color:#F7F8FE;}
.d2-3203124535 .color-N1{color:#0A0F25;}
.d2-3203124535 .color-N2{color:#676C7E;}
.d2-3203124535 .color-N3{color:#9499AB;}
.d2-3203124535 .color-N4{color:#CFD2DD;}
.d2-3203124535 .color-N5{color:#DEE1EB;}
.d2-3203124535 .color-N6{color:#EEF1F8;}
.d2-3203124535 .color-N7{color:#FFFFFF;}
.d2-3203124535 .color-B1{color:#0D32B2;}
.d2-3203124535 .color-B2{color:#0D32B2;}
.d2-3203124535 .color-B3{color:#E3E9FD;}
.d2-3203124535 .color-B4{color:#E3E9FD;}
.d2-3203124535 .color-B5{color:#EDF0FD;}
.d2-3203124535 .color-B6{color:#F7F8FE;}
.d2-3203124535 .color-AA2{color:#4A6FF3;}
.d2-3203124535 .color-AA4{color:#EDF0FD;}
.d2-3203124535 .color-AA5{color:#F7F8FE;}
.d2-3203124535 .color-AB4{color:#EDF0FD;}
.d2-3203124535 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3203124535);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3203124535);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3203124535);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3203124535);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3203124535);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3203124535);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3203124535);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3203124535);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="SW50ZXJmYWNl"><g class="shape" ><rect x="493.000000" y="656.000000" width="419.000000" height="598.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="493.000000" y="656.000000" width="419.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="702.500000" y="706.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Interface</text><text x="503.000000" y="776.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="776.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">name</text><text x="892.000000" y="776.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><text x="503.000000" y="822.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="822.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">itype</text><text x="892.000000" y="822.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="503.000000" y="868.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="868.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">adapter</text><text x="892.000000" y="868.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="503.000000" y="914.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="914.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">slave_interfaces</text><text x="892.000000" y="914.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[List[str]]</text><text x="503.000000" y="960.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="960.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">parent_interface</text><text x="892.000000" y="960.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="503.000000" y="1006.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="1006.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">ip_address</text><text x="892.000000" y="1006.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="503.000000" y="1052.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="1052.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">network</text><text x="892.000000" y="1052.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="503.000000" y="1098.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="1098.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">subnet_mask</text><text x="892.000000" y="1098.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="503.000000" y="1144.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="1144.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">default_gateway</text><text x="892.000000" y="1144.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="503.000000" y="1190.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="1190.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">vlan</text><text x="892.000000" y="1190.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="503.000000" y="1236.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="523.000000" y="1236.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">device</text><text x="892.000000" y="1236.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Device</text><line x1="493.000000" x2="912.000000" y1="1254.000000" y2="1254.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="RGV2aWNl"><g class="shape" ><rect x="233.000000" y="305.000000" width="455.000000" height="230.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="233.000000" y="305.000000" width="455.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="460.500000" y="355.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Device</text><text x="243.000000" y="425.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="263.000000" y="425.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">name</text><text x="668.000000" y="425.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><text x="243.000000" y="471.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="263.000000" y="471.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">role</text><text x="668.000000" y="471.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><text x="243.000000" y="517.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="263.000000" y="517.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">interfaces</text><text x="668.000000" y="517.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Dict[str, Interface]</text><line x1="233.000000" x2="688.000000" y1="535.000000" y2="535.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="SG9zdA=="><g class="shape" ><rect x="0.000000" y="23.000000" width="181.000000" height="138.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="0.000000" y="23.000000" width="181.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="90.500000" y="73.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Host</text><text x="10.000000" y="143.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="30.000000" y="143.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">role</text><text x="161.000000" y="143.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><line x1="0.000000" x2="181.000000" y1="161.000000" y2="161.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="Um91dGVy"><g class="shape" ><rect x="241.000000" y="23.000000" width="189.000000" height="138.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="241.000000" y="23.000000" width="189.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="335.500000" y="73.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Router</text><text x="251.000000" y="143.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="271.000000" y="143.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">role</text><text x="410.000000" y="143.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><line x1="241.000000" x2="430.000000" y1="161.000000" y2="161.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="U3dpdGNo"><g class="shape" ><rect x="490.000000" y="23.000000" width="190.000000" height="138.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="490.000000" y="23.000000" width="190.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="585.000000" y="73.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Switch</text><text x="500.000000" y="143.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="520.000000" y="143.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">role</text><text x="660.000000" y="143.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><line x1="490.000000" x2="680.000000" y1="161.000000" y2="161.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="TmV0d29yaw=="><g class="shape" ><rect x="847.000000" y="305.000000" width="395.000000" height="230.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="847.000000" y="305.000000" width="395.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="1044.500000" y="355.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Network</text><text x="857.000000" y="425.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="877.000000" y="425.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">name</text><text x="1222.000000" y="425.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><text x="857.000000" y="471.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="877.000000" y="471.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">interfaces</text><text x="1222.000000" y="471.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">List[Interface]</text><text x="857.000000" y="517.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="877.000000" y="517.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">network_ip</text><text x="1222.000000" y="517.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><line x1="847.000000" x2="1242.000000" y1="535.000000" y2="535.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="VG9wb2xvZ3k="><g class="shape" ><rect x="803.000000" y="0.000000" width="407.000000" height="184.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="803.000000" y="0.000000" width="407.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="1006.500000" y="50.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Topology</text><text x="813.000000" y="120.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="120.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">devices</text><text x="1190.000000" y="120.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Dict[str, Device]</text><text x="813.000000" y="166.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="166.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">networks</text><text x="1190.000000" y="166.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Dict[str, Network]</text><line x1="803.000000" x2="1210.000000" y1="184.000000" y2="184.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="KEhvc3QgLSZndDsgRGV2aWNlKVswXQ=="><marker id="mk-d2-3203124535-3777340426" markerWidth="13.000000" markerHeight="15.000000" refX="10.000000" refY="7.500000" viewBox="0.000000 0.000000 13.000000 15.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="1.000000,1.000000 12.000000,7.500000 1.000000,14.000000" stroke="#0D32B2" fill="#FFFFFF" class="connection stroke-B1 fill-N7" stroke-width="2" /> </marker><path d="M 90.500000 162.500000 C 90.500000 227.699997 118.949997 258.002991 229.136398 310.302814" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3203124535-3777340426)" mask="url(#d2-3203124535)" /></g><g class="KFJvdXRlciAtJmd0OyBEZXZpY2UpWzBd"><path d="M 335.500000 162.500000 C 335.500000 227.699997 344.100006 256.700012 376.195372 302.230644" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3203124535-3777340426)" mask="url(#d2-3203124535)" /></g><g class="KFN3aXRjaCAtJmd0OyBEZXZpY2UpWzBd"><path d="M 585.000000 162.500000 C 585.000000 227.699997 576.400024 256.700012 544.304630 302.230645" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3203124535-3777340426)" mask="url(#d2-3203124535)" /></g><g class="KERldmljZSAtLSBJbnRlcmZhY2UpWzBd"><path d="M 460.250000 536.500000 C 460.250000 583.299988 468.450012 607.700012 500.134328 654.840098" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-3203124535)" /><text x="466.000000" y="606.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">interfaces</text><text x="477.500000" y="556.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1..*</text><text x="499.500000" y="638.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1</text></g><g class="KE5ldHdvcmsgLS0gSW50ZXJmYWNlKVswXQ=="><path d="M 1044.250000 536.500000 C 1044.250000 583.299988 1017.849976 623.291016 913.627446 733.006921" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-3203124535)" /><text x="998.000000" y="649.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">interfaces</text><text x="1061.500000" y="556.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1..*</text><text x="930.500000" y="739.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1</text></g><g class="KFRvcG9sb2d5IC0tIERldmljZSlbMF0="><path d="M 871.862421 184.648188 C 803.900024 232.300003 764.299988 256.700012 677.252765 304.536769" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-3203124535)" /><text x="777.500000" y="254.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">devices</text><text x="865.500000" y="215.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1..*</text><text x="693.500000" y="318.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1</text></g><g class="KFRvcG9sb2d5IC0tIE5ldHdvcmspWzBd"><path d="M 1029.727576 185.442143 C 1041.250000 232.300003 1044.250000 256.700012 1044.250000 303.500000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-3203124535)" /><text x="1042.500000" y="249.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">networks</text><text x="1050.500000" y="204.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1..*</text><text x="1053.500000" y="296.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1</text></g><mask id="d2-3203124535" maskUnits="userSpaceOnUse" x="-101" y="-101" width="1444" height="1456">
<rect x="-101" y="-101" width="1444" height="1456" fill="white"></rect>
<rect x="431.000000" y="590.000000" width="70" height="21" fill="black"></rect>
<rect x="963.000000" y="633.000000" width="70" height="21" fill="black"></rect>
<rect x="751.000000" y="238.000000" width="53" height="21" fill="black"></rect>
<rect x="1010.000000" y="233.000000" width="65" height="21" fill="black"></rect>
</mask></svg></svg>