1
0
mirror of https://github.com/craigerl/aprsd.git synced 2026-02-26 11:10:12 -05:00
aprsd/docs/_static/aprsd_overview.svg
Hemna 90a44bb5ed Updated overview images
This patch includes updated aprsd_overview diagram images
which now includes the new watch list feature.
2021-07-16 12:12:34 -04:00

4 lines
34 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="761px" height="651px" viewBox="-0.5 -0.5 761 651" content="&lt;mxfile host=&quot;Electron&quot; modified=&quot;2021-07-16T14:11:40.036Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36&quot; version=&quot;14.6.13&quot; etag=&quot;Oi-gDzCh4clu8XOn1vBy&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;k3nQ8WsfsqeB1MmV2ssl&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs/><g><path d="M 110 60 C 30 60 10 120 74 132 C 10 158.4 82 216 134 192 C 170 240 290 240 330 192 C 410 192 410 144 360 120 C 410 72 330 24 260 48 C 210 12 130 12 110 60 Z" fill="#cce5ff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="270" width="760" height="380" fill="#fff8eb" stroke="#000000" pointer-events="all"/><rect x="510" y="580" width="120" height="60" fill="#f5f5f5" stroke="#666666" 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: 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: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 12px">Main<br />Starts all threads<br /></font></div></div></div></foreignObject><text x="570" y="614" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Main...</text></switch></g><rect x="20" y="370" 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: 400px; margin-left: 21px;"><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="80" y="404" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SendMessageThread</text></switch></g><rect x="470" y="320" 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: 350px; margin-left: 471px;"><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="530" y="354" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">EmailThread</text></switch></g><rect x="180" y="320" 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: 350px; margin-left: 181px;"><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="250" y="354" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">RecieveMessageThread</text></switch></g><ellipse cx="695" 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: 661px;"><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="695" y="614" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">aprsd.yml</text></switch></g><path d="M 660 610 L 636.37 610" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 631.12 610 L 638.12 606.5 L 636.37 610 L 638.12 613.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="610" 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: 630px; margin-left: 1px;"><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="80" y="634" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">APRSD Server</text></switch></g><rect x="230" y="160" width="75" height="30" fill="#d5e8d4" stroke="#82b366" 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: 231px;"><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="268" y="179" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">IMAP/SMTP</text></switch></g><ellipse cx="210" cy="90" rx="60" ry="40" fill="#d5e8d4" stroke="#82b366" 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: 151px;"><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="210" y="94" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">APRS-IS...</text></switch></g><path d="M 173.63 335 L 146.37 335" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 178.88 335 L 171.88 338.5 L 173.63 335 L 171.88 331.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 141.12 335 L 148.12 331.5 L 146.37 335 L 148.12 338.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 80 363.63 L 80 356.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 80 368.88 L 76.5 361.88 L 80 363.63 L 83.5 361.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 80 351.12 L 83.5 358.12 L 80 356.37 L 76.5 358.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="20" 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: 21px;"><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="80" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">aprslib</text></switch></g><path d="M 84.02 285.06 L 205.98 134.94" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 80.71 289.13 L 82.4 281.49 L 84.02 285.06 L 87.84 285.91 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 209.29 130.87 L 207.6 138.51 L 205.98 134.94 L 202.16 134.09 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 524.29 317.17 L 273.21 192.83" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 529 319.5 L 521.17 319.53 L 524.29 317.17 L 524.28 313.26 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 268.5 190.5 L 276.33 190.47 L 273.21 192.83 L 273.22 196.74 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 326.37 335 L 463.63 335" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 321.12 335 L 328.12 331.5 L 326.37 335 L 328.12 338.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 468.88 335 L 461.88 338.5 L 463.63 335 L 461.88 331.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 249.1 386.3 L 240.9 443.7" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 249.84 381.11 L 252.32 388.53 L 249.1 386.3 L 245.39 387.54 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 240.16 448.89 L 237.68 441.47 L 240.9 443.7 L 244.61 442.46 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="150" y="450" width="180" height="160" fill="#ffffcc" stroke="#000000" pointer-events="none"/><rect x="160" y="460" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 470px; margin-left: 161px;"><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: none; white-space: normal; word-wrap: normal; ">Email</div></div></div></foreignObject><text x="195" y="474" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Email</text></switch></g><rect x="160" y="480" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 490px; margin-left: 161px;"><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: none; white-space: normal; word-wrap: normal; ">Fortune</div></div></div></foreignObject><text x="195" y="494" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Fortune</text></switch></g><rect x="160" y="500" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 510px; margin-left: 161px;"><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: none; white-space: normal; word-wrap: normal; ">Location</div></div></div></foreignObject><text x="195" y="514" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Location</text></switch></g><rect x="160" y="520" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 530px; margin-left: 161px;"><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: none; white-space: normal; word-wrap: normal; ">Ping</div></div></div></foreignObject><text x="195" y="534" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Ping</text></switch></g><rect x="160" y="540" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 550px; margin-left: 161px;"><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: none; white-space: normal; word-wrap: normal; ">Query</div></div></div></foreignObject><text x="195" y="554" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Query</text></switch></g><rect x="160" y="560" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 570px; margin-left: 161px;"><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: none; white-space: normal; word-wrap: normal; ">Time</div></div></div></foreignObject><text x="195" y="574" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Time</text></switch></g><rect x="160" y="580" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 590px; margin-left: 161px;"><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: none; white-space: normal; word-wrap: normal; ">Version</div></div></div></foreignObject><text x="195" y="594" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Version</text></switch></g><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: 480px; margin-left: 231px;"><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: none; white-space: normal; word-wrap: normal; ">Command<br />Plugins</div></div></div></foreignObject><text x="273" y="484" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Command...</text></switch></g><path d="M 276.33 91.58 L 413.63 94.85" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 271.08 91.45 L 278.16 88.12 L 276.33 91.58 L 277.99 95.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 418.88 94.97 L 411.8 98.31 L 413.63 94.85 L 411.97 91.31 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 470 48.37 L 478.19 40 M 473.01 48.37 L 481.09 40 M 475.9 48.37 L 484.1 40 M 478.92 48.37 L 487.11 40 M 481.81 48.37 L 490 40 M 472.77 43.82 L 487.59 43.82 M 480.36 43.94 L 480.36 56.86 M 480.84 49.73 L 480.84 64 M 481.32 54.77 L 479.64 54.77 L 479.64 51.57 L 481.32 51.57 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="420" y="80" width="80" height="30" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 95px; margin-left: 421px;"><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: none; white-space: normal; word-wrap: normal; ">APRS IGATE</div></div></div></foreignObject><text x="460" y="99" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">APRS IGATE</text></switch></g><path d="M 480 80 L 480 64" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 700 138.37 L 708.19 130 M 703.01 138.37 L 711.09 130 M 705.9 138.37 L 714.1 130 M 708.92 138.37 L 717.11 130 M 711.81 138.37 L 720 130 M 702.77 133.82 L 717.59 133.82 M 710.36 133.94 L 710.36 146.86 M 710.84 139.73 L 710.84 154 M 711.32 144.77 L 709.64 144.77 L 709.64 141.57 L 711.32 141.57 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="640" y="170" width="80" height="30" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 185px; margin-left: 641px;"><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: none; white-space: normal; word-wrap: normal; ">HAM Radio</div></div></div></foreignObject><text x="680" y="189" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">HAM Radio</text></switch></g><path d="M 709.79 154 L 709.52 169.85" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 495.35 61.89 L 561.59 104.58 Q 570 110 570 100 L 570 90 Q 570 80 579.14 84.05 L 694.18 134.99" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 490.94 59.05 L 498.72 59.9 L 495.35 61.89 L 494.93 65.78 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 698.98 137.12 L 691.16 137.48 L 694.18 134.99 L 693.99 131.08 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="360" y="370" width="90" height="60" fill="#6bff7f" stroke="#000000" pointer-events="none"/><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: 88px; height: 1px; padding-top: 400px; margin-left: 361px;"><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: none; white-space: normal; word-wrap: normal; ">Notify<br />Thread</div></div></div></foreignObject><text x="405" y="404" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Notify...</text></switch></g><rect x="360" y="450" width="180" height="90" fill="#ffffcc" stroke="#000000" pointer-events="none"/><rect x="370" y="460" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 470px; margin-left: 371px;"><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: none; white-space: normal; word-wrap: normal; ">BaseNotify</div></div></div></foreignObject><text x="405" y="474" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">BaseNotify</text></switch></g><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: 480px; margin-left: 441px;"><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: none; white-space: normal; word-wrap: normal; ">Notify <br />Plugins</div></div></div></foreignObject><text x="483" y="484" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Notify...</text></switch></g><rect x="370" y="480" width="70" height="20" fill="#ffcccc" stroke="#000000" pointer-events="none"/><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: 490px; margin-left: 371px;"><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: none; white-space: normal; word-wrap: normal; ">3rd Party</div></div></div></foreignObject><text x="405" y="494" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">3rd Party</text></switch></g><path d="M 405 436.37 L 405 443.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 405 431.12 L 408.5 438.12 L 405 436.37 L 401.5 438.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 405 448.88 L 401.5 441.88 L 405 443.63 L 408.5 441.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 320 350 L 354.3 367.15" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 359 369.5 L 351.17 369.5 L 354.3 367.15 L 354.3 363.24 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 180 365 L 146.32 369.21" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 141.11 369.86 L 147.62 365.52 L 146.32 369.21 L 148.49 372.47 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 360 400 L 146.37 400" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 141.12 400 L 148.12 396.5 L 146.37 400 L 148.12 403.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="610" y="400" width="120" height="60" fill="#6bff7f" stroke="#000000" pointer-events="none"/><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: 430px; margin-left: 611px;"><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: none; white-space: normal; word-wrap: normal; ">Admin UI</div></div></div></foreignObject><text x="670" y="434" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Admin UI</text></switch></g><path d="M 604.46 286.87 L 399.54 171.13" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 609.03 289.45 L 601.21 289.06 L 604.46 286.87 L 604.65 282.96 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 394.97 168.55 L 402.79 168.94 L 399.54 171.13 L 399.35 175.04 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="635" y="485" width="70" height="70" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><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: 520px; margin-left: 636px;"><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: none; white-space: normal; word-wrap: normal; ">Stats Collector</div></div></div></foreignObject><text x="670" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Stats Colle...</text></switch></g><rect x="610" y="290" width="120" height="60" fill="#99ccff" stroke="#000000" pointer-events="none"/><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: 611px;"><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: none; white-space: normal; word-wrap: normal; ">Flask</div></div></div></foreignObject><text x="670" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Flask</text></switch></g><path d="M 670 393.63 L 670 356.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 670 398.88 L 666.5 391.88 L 670 393.63 L 673.5 391.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 670 351.12 L 673.5 358.12 L 670 356.37 L 666.5 358.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 670 485 L 670 466.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 670 461.12 L 673.5 468.12 L 670 466.37 L 666.5 468.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/></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>