1
0
mirror of https://github.com/craigerl/aprsd.git synced 2024-11-18 06:11:49 -05:00
aprsd/docs/_static/aprsd_overview.svg
Hemna cc0d0fd523 Added APRSD system diagram to docs
This patch adds the aprsd overview diagram to the
main README as well as the generated docs.
2021-01-10 16:11:53 -05:00

4 lines
26 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="672px" height="651px" viewBox="-0.5 -0.5 672 651" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2021-01-10T21:06:28.819Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36&quot; version=&quot;14.1.9&quot; etag=&quot;vcyfknnw8QN600ElJ1iD&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;T0pYNN1YNZW6EiHrZKpH&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs/><g><path d="M 100 60 C 20 60 0 120 64 132 C 0 158.4 72 216 124 192 C 160 240 280 240 320 192 C 400 192 400 144 350 120 C 400 72 320 24 250 48 C 200 12 120 12 100 60 Z" fill="#cce5ff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="30" y="270" width="640" height="380" fill="#fff8eb" stroke="#000000" pointer-events="all"/><rect x="280" y="580" width="120" height="60" fill="#94ff9f" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 610px; margin-left: 281px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Main</div></div></div></foreignObject><text x="340" y="614" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Main</text></switch></g><rect x="70" y="500" width="120" height="60" fill="#6bff7f" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 530px; margin-left: 71px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">SendMessageThread</div></div></div></foreignObject><text x="130" y="534" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SendMessageThread</text></switch></g><rect x="510" y="500" width="120" height="60" fill="#6bff7f" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 530px; margin-left: 511px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">EmailThread</div></div></div></foreignObject><text x="570" y="534" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">EmailThread</text></switch></g><rect x="270" y="500" width="140" height="60" fill="#6bff7f" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 530px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">RecieveMessageThread</div></div></div></foreignObject><text x="340" y="534" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">RecieveMessageThread</text></switch></g><ellipse cx="525" cy="610" rx="35" ry="25" fill="#94ff9f" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 610px; margin-left: 491px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">aprsd.yml</div></div></div></foreignObject><text x="525" y="614" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">aprsd.yml</text></switch></g><path d="M 490 610 L 406.37 610" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 401.12 610 L 408.12 606.5 L 406.37 610 L 408.12 613.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="50" y="600" width="160" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 620px; margin-left: 51px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 16px"><b>APRSD Server</b></font></div></div></div></foreignObject><text x="130" y="624" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">APRSD Server</text></switch></g><rect x="220" y="160" width="75" height="30" fill="#99ccff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 73px; height: 1px; padding-top: 175px; margin-left: 221px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">IMAP/SMTP</div></div></div></foreignObject><text x="258" y="179" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">IMAP/SMTP</text></switch></g><ellipse cx="200" cy="90" rx="60" ry="40" fill="#99ccff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 90px; margin-left: 141px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">APRS-IS<br />Server</div></div></div></foreignObject><text x="200" y="94" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">APRS-IS...</text></switch></g><path d="M 264.12 498.38 L 229.23 483.85 Q 220 480 215.59 471.03 L 160.85 359.73" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 268.97 500.4 L 261.16 500.94 L 264.12 498.38 L 263.85 494.48 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 158.53 355.02 L 164.76 359.76 L 160.85 359.73 L 158.48 362.85 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 128.27 493.64 L 121.73 356.36" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 128.52 498.88 L 124.69 492.06 L 128.27 493.64 L 131.68 491.72 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 121.48 351.12 L 125.31 357.94 L 121.73 356.36 L 118.32 358.28 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="60" y="290" width="120" height="60" fill="#99ccff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 320px; margin-left: 61px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">aprslib</div></div></div></foreignObject><text x="120" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">aprslib</text></switch></g><path d="M 122.85 284.3 L 197.15 135.7" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 120.5 289 L 120.5 281.17 L 122.85 284.3 L 126.76 284.3 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 199.5 131 L 199.5 138.83 L 197.15 135.7 L 193.24 135.7 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 566.93 494.42 L 464.82 308.76 Q 460 300 451.21 295.23 L 263.1 193.04" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 569.46 499.02 L 563.02 494.57 L 566.93 494.42 L 569.15 491.2 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 258.48 190.53 L 266.3 190.8 L 263.1 193.04 L 262.96 196.95 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 416.37 530 L 503.63 530" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 411.12 530 L 418.12 526.5 L 416.37 530 L 418.12 533.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 508.88 530 L 501.88 533.5 L 503.63 530 L 501.88 526.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 196.37 545 L 263.63 545" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 191.12 545 L 198.12 541.5 L 196.37 545 L 198.12 548.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 268.88 545 L 261.88 548.5 L 263.63 545 L 261.88 541.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 493.63 L 340 466.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 340 498.88 L 336.5 491.88 L 340 493.63 L 343.5 491.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 461.12 L 343.5 468.12 L 340 466.37 L 336.5 468.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="250" y="300" width="180" height="160" fill="#ffffcc" stroke="#000000" pointer-events="all"/><rect x="260" y="310" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 320px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Email</div></div></div></foreignObject><text x="295" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Email</text></switch></g><rect x="260" y="330" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 340px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Fortune</div></div></div></foreignObject><text x="295" y="344" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Fortune</text></switch></g><rect x="260" y="350" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 360px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Location</div></div></div></foreignObject><text x="295" y="364" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Location</text></switch></g><rect x="260" y="370" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 380px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Ping</div></div></div></foreignObject><text x="295" y="384" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Ping</text></switch></g><rect x="260" y="390" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 400px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Query</div></div></div></foreignObject><text x="295" y="404" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Query</text></switch></g><rect x="260" y="410" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 420px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Time</div></div></div></foreignObject><text x="295" y="424" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Time</text></switch></g><rect x="260" y="430" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 440px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Version</div></div></div></foreignObject><text x="295" y="444" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Version</text></switch></g><rect x="330" y="310" width="85" height="40" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 83px; height: 1px; padding-top: 330px; margin-left: 331px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Command<br />Plugins</div></div></div></foreignObject><text x="373" y="334" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Command...</text></switch></g><path d="M 262.01 106.24 L 403.84 143.39" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 256.93 104.91 L 264.58 103.3 L 262.01 106.24 L 262.81 110.07 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 408.92 144.72 L 401.26 146.33 L 403.84 143.39 L 403.03 139.56 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="460" y="90" width="20" height="24" fill="none" stroke="none" pointer-events="all"/><path d="M 460 98.37 L 468.19 90 M 463.01 98.37 L 471.09 90 M 465.9 98.37 L 474.1 90 M 468.92 98.37 L 477.11 90 M 471.81 98.37 L 480 90 M 462.77 93.82 L 477.59 93.82 M 470.36 93.94 L 470.36 106.86 M 470.84 99.73 L 470.84 114 M 471.32 104.77 L 469.64 104.77 L 469.64 101.57 L 471.32 101.57 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="410" y="130" width="80" height="30" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 145px; margin-left: 411px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">APRS IGATE</div></div></div></foreignObject><text x="450" y="149" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">APRS IGATE</text></switch></g><path d="M 470 130 L 470 114" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><rect x="650" y="90" width="20" height="24" fill="none" stroke="none" pointer-events="all"/><path d="M 650 98.37 L 658.19 90 M 653.01 98.37 L 661.09 90 M 655.9 98.37 L 664.1 90 M 658.92 98.37 L 667.11 90 M 661.81 98.37 L 670 90 M 652.77 93.82 L 667.59 93.82 M 660.36 93.94 L 660.36 106.86 M 660.84 99.73 L 660.84 114 M 661.32 104.77 L 659.64 104.77 L 659.64 101.57 L 661.32 101.57 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="590" y="130" width="80" height="30" fill="#ffcccc" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 145px; margin-left: 591px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">HAM Radio</div></div></div></foreignObject><text x="630" y="149" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">HAM Radio</text></switch></g><path d="M 659.79 114 L 659.52 129.85" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 486.34 103.45 L 550.04 109.11 Q 560 110 560 100 L 560 90 Q 560 80 569.77 82.15 L 643.78 98.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 481.11 102.99 L 488.4 100.12 L 486.34 103.45 L 487.78 107.09 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 648.91 99.56 L 641.32 101.47 L 643.78 98.43 L 642.82 94.64 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>