summaryrefslogtreecommitdiff
path: root/dht/modules.svg
diff options
context:
space:
mode:
authorJames Crayne <jim.crayne@gmail.com>2019-09-28 13:43:29 -0400
committerJoe Crayne <joe@jerkface.net>2020-01-01 19:27:53 -0500
commit11987749fc6e6d3e53ea737d46d5ab13a16faeb8 (patch)
tree5716463275c2d3e902889db619908ded2a73971c /dht/modules.svg
parentadd2c76bced51fde5e9917e7449ef52be70faf87 (diff)
Factor out some new libraries
word64-map: Data.Word64Map network-addr: Network.Address tox-crypto: Crypto.Tox lifted-concurrent: Control.Concurrent.Lifted.Instrument Control.Concurrent.Async.Lifted.Instrument psq-wrap: Data.Wrapper.PSQInt Data.Wrapper.PSQ minmax-psq: Data.MinMaxPSQ tasks: Control.Concurrent.Tasks kad: Network.Kademlia Network.Kademlia.Bootstrap Network.Kademlia.Routing Network.Kademlia.CommonAPI Network.Kademlia.Persistence Network.Kademlia.Search
Diffstat (limited to 'dht/modules.svg')
-rw-r--r--dht/modules.svg337
1 files changed, 337 insertions, 0 deletions
diff --git a/dht/modules.svg b/dht/modules.svg
new file mode 100644
index 00000000..32e85a40
--- /dev/null
+++ b/dht/modules.svg
@@ -0,0 +1,337 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4<!-- Generated by graphviz version 2.26.3 (20100126.1600)
5 -->
6<!-- Title: G Pages: 1 -->
7<svg width="933pt" height="576pt"
8 viewBox="0.00 0.00 932.73 576.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9<g id="graph1" class="graph" transform="scale(0.654088 0.654088) rotate(0) translate(4 876.615)">
10<title>G</title>
11<polygon fill="white" stroke="white" points="-4,5 -4,-876.615 1423,-876.615 1423,5 -4,5"/>
12<g id="graph2" class="cluster"><title>cluster_0</title>
13<polygon fill="#ccffcc" stroke="#ccffcc" points="1174,-486.35 1174,-606.765 1308,-606.765 1308,-486.35 1174,-486.35"/>
14<text text-anchor="middle" x="1241" y="-590.165" font-family="Times Roman,serif" font-size="14.00">Data</text>
15</g>
16<g id="graph3" class="cluster"><title>cluster_1</title>
17<polygon fill="#ccffcc" stroke="#ccffcc" points="1268,-619.275 1268,-803.807 1410,-803.807 1410,-619.275 1268,-619.275"/>
18<text text-anchor="middle" x="1339" y="-787.207" font-family="Times Roman,serif" font-size="14.00">Holumbus</text>
19</g>
20<g id="graph4" class="cluster"><title>cluster_2</title>
21<polygon fill="#99ff99" stroke="#99ff99" points="1276,-631.786 1276,-752.201 1402,-752.201 1402,-631.786 1276,-631.786"/>
22<text text-anchor="middle" x="1339" y="-735.601" font-family="Times Roman,serif" font-size="14.00">Data</text>
23</g>
24<g id="graph5" class="cluster"><title>cluster_3</title>
25<polygon fill="#ccffcc" stroke="#ccffcc" points="375,-12.5106 375,-373.755 513,-373.755 513,-12.5106 375,-12.5106"/>
26<text text-anchor="middle" x="444" y="-357.155" font-family="Times Roman,serif" font-size="14.00">Text</text>
27</g>
28<g id="graph6" class="cluster"><title>cluster_4</title>
29<polygon fill="#99ff99" stroke="#99ff99" points="383,-25.0212 383,-322.148 505,-322.148 505,-25.0212 383,-25.0212"/>
30<text text-anchor="middle" x="444" y="-305.548" font-family="Times Roman,serif" font-size="14.00">XML</text>
31</g>
32<g id="graph7" class="cluster"><title>cluster_5</title>
33<polygon fill="#66ff66" stroke="#66ff66" points="391,-37.5318 391,-270.542 497,-270.542 497,-37.5318 391,-37.5318"/>
34<text text-anchor="middle" x="444" y="-253.942" font-family="Times Roman,serif" font-size="14.00">Stream</text>
35</g>
36<!-- u6 -->
37<g id="node1" class="node"><title>u6</title>
38<ellipse fill="none" stroke="black" cx="114" cy="-672.511" rx="62.0391" ry="18"/>
39<text text-anchor="middle" x="114" y="-668.411" font-family="Times Roman,serif" font-size="14.00">FGConsole</text>
40</g>
41<!-- monitortty -->
42<g id="node3" class="node"><title>monitortty</title>
43<ellipse fill="none" stroke="black" cx="69" cy="-526.511" rx="68.9883" ry="18"/>
44<text text-anchor="middle" x="69" y="-522.411" font-family="Times Roman,serif" font-size="14.00">monitortty.c</text>
45</g>
46<!-- u6&#45;&gt;monitortty -->
47<g id="edge2" class="edge"><title>u6&#45;&gt;monitortty</title>
48<path fill="none" stroke="black" d="M108.392,-654.315C100.636,-629.151 86.5695,-583.514 77.5134,-554.132"/>
49<polygon fill="black" stroke="black" points="80.8279,-553.003 74.5376,-544.477 74.1384,-555.064 80.8279,-553.003"/>
50</g>
51<!-- u7 -->
52<g id="node13" class="node"><title>u7</title>
53<ellipse fill="none" stroke="black" cx="261" cy="-190.511" rx="48.8383" ry="18"/>
54<text text-anchor="middle" x="261" y="-186.411" font-family="Times Roman,serif" font-size="14.00">Logging</text>
55</g>
56<!-- u6&#45;&gt;u7 -->
57<g id="edge34" class="edge"><title>u6&#45;&gt;u7</title>
58<path fill="none" stroke="black" d="M120.877,-654.474C127.969,-635.494 139.08,-604.664 147,-577.511 170.151,-498.134 166.945,-475.915 190,-396.511 208.824,-331.678 235.908,-257.125 250.587,-217.912"/>
59<polygon fill="black" stroke="black" points="253.88,-219.097 254.124,-208.505 247.328,-216.633 253.88,-219.097"/>
60</g>
61<!-- u18 -->
62<g id="node4" class="node"><title>u18</title>
63<ellipse fill="none" stroke="black" cx="350" cy="-526.511" rx="79.9115" ry="18"/>
64<text text-anchor="middle" x="350" y="-522.411" font-family="Times Roman,serif" font-size="14.00">LocalPeerCred</text>
65</g>
66<!-- u10 -->
67<g id="node10" class="node"><title>u10</title>
68<ellipse fill="none" stroke="black" cx="613" cy="-190.511" rx="62.0391" ry="18"/>
69<text text-anchor="middle" x="613" y="-186.411" font-family="Times Roman,serif" font-size="14.00">SocketLike</text>
70</g>
71<!-- u18&#45;&gt;u10 -->
72<g id="edge84" class="edge"><title>u18&#45;&gt;u10</title>
73<path fill="none" stroke="black" d="M341.723,-508.218C331.03,-481.613 316.121,-431.596 337,-396.511 379.409,-325.244 435.092,-357.845 501,-307.511 536.538,-280.37 571.142,-241.801 592.259,-216.475"/>
74<polygon fill="black" stroke="black" points="595.23,-218.374 598.886,-208.429 589.827,-213.923 595.23,-218.374"/>
75</g>
76<!-- u18&#45;&gt;u7 -->
77<g id="edge82" class="edge"><title>u18&#45;&gt;u7</title>
78<path fill="none" stroke="black" d="M339.25,-508.427C328.733,-489.956 313.019,-460.146 304,-432.511 279.486,-357.4 267.938,-264.346 263.424,-218.595"/>
79<polygon fill="black" stroke="black" points="266.899,-218.163 262.471,-208.538 259.93,-218.823 266.899,-218.163"/>
80</g>
81<!-- u3 -->
82<g id="node15" class="node"><title>u3</title>
83<ellipse fill="none" stroke="black" cx="944" cy="-414.511" rx="78.0216" ry="18"/>
84<text text-anchor="middle" x="944" y="-410.411" font-family="Times Roman,serif" font-size="14.00">ControlMaybe</text>
85</g>
86<!-- u18&#45;&gt;u3 -->
87<g id="edge80" class="edge"><title>u18&#45;&gt;u3</title>
88<path fill="none" stroke="black" d="M412.916,-515.278C508.833,-498.056 697.338,-463.825 857,-432.511 863.158,-431.303 869.557,-430.024 875.963,-428.728"/>
89<polygon fill="black" stroke="black" points="876.904,-432.108 886.004,-426.684 875.507,-425.249 876.904,-432.108"/>
90</g>
91<!-- u17 -->
92<g id="node5" class="node"><title>u17</title>
93<ellipse fill="none" stroke="black" cx="593" cy="-526.511" rx="68.9883" ry="18"/>
94<text text-anchor="middle" x="593" y="-522.411" font-family="Times Roman,serif" font-size="14.00">NestingXML</text>
95</g>
96<!-- u16 -->
97<g id="node6" class="node"><title>u16</title>
98<ellipse fill="none" stroke="black" cx="756" cy="-526.511" rx="75.9375" ry="18"/>
99<text text-anchor="middle" x="756" y="-522.411" font-family="Times Roman,serif" font-size="14.00">SendMessage</text>
100</g>
101<!-- u13 -->
102<g id="node7" class="node"><title>u13</title>
103<ellipse fill="none" stroke="black" cx="444" cy="-414.511" rx="97.9784" ry="18"/>
104<text text-anchor="middle" x="444" y="-410.411" font-family="Times Roman,serif" font-size="14.00">XMLToByteStrings</text>
105</g>
106<!-- u16&#45;&gt;u13 -->
107<g id="edge78" class="edge"><title>u16&#45;&gt;u13</title>
108<path fill="none" stroke="black" d="M713.922,-511.406C658.109,-491.37 559.519,-455.979 498.193,-433.964"/>
109<polygon fill="black" stroke="black" points="499.277,-430.635 488.683,-430.551 496.912,-437.223 499.277,-430.635"/>
110</g>
111<!-- u11 -->
112<g id="node9" class="node"><title>u11</title>
113<ellipse fill="none" stroke="black" cx="782" cy="-414.511" rx="66.0138" ry="18"/>
114<text text-anchor="middle" x="782" y="-410.411" font-family="Times Roman,serif" font-size="14.00">XMPPTypes</text>
115</g>
116<!-- u16&#45;&gt;u11 -->
117<g id="edge76" class="edge"><title>u16&#45;&gt;u11</title>
118<path fill="none" stroke="black" d="M760.177,-508.516C764.303,-490.742 770.675,-463.297 775.47,-442.641"/>
119<polygon fill="black" stroke="black" points="778.895,-443.365 777.747,-432.833 772.076,-441.782 778.895,-443.365"/>
120</g>
121<!-- u16&#45;&gt;u10 -->
122<g id="edge74" class="edge"><title>u16&#45;&gt;u10</title>
123<path fill="none" stroke="black" d="M745.818,-508.433C735.458,-489.72 719.231,-459.498 707,-432.511 672.493,-356.369 638.646,-263.53 622.615,-218.155"/>
124<polygon fill="black" stroke="black" points="625.91,-216.975 619.291,-208.703 619.307,-219.297 625.91,-216.975"/>
125</g>
126<!-- u9 -->
127<g id="node11" class="node"><title>u9</title>
128<ellipse fill="none" stroke="black" cx="610" cy="-414.511" rx="50.0315" ry="18"/>
129<text text-anchor="middle" x="610" y="-410.411" font-family="Times Roman,serif" font-size="14.00">ServerC</text>
130</g>
131<!-- u16&#45;&gt;u9 -->
132<g id="edge72" class="edge"><title>u16&#45;&gt;u9</title>
133<path fill="none" stroke="black" d="M733.507,-509.256C708.281,-489.904 667.271,-458.445 639.494,-437.136"/>
134<polygon fill="black" stroke="black" points="641.394,-434.183 631.33,-430.873 637.134,-439.737 641.394,-434.183"/>
135</g>
136<!-- u16&#45;&gt;u3 -->
137<g id="edge70" class="edge"><title>u16&#45;&gt;u3</title>
138<path fill="none" stroke="black" d="M784.145,-509.743C816.818,-490.278 870.823,-458.105 906.9,-436.613"/>
139<polygon fill="black" stroke="black" points="908.862,-439.518 915.662,-431.393 905.28,-433.504 908.862,-439.518"/>
140</g>
141<!-- u13&#45;&gt;u7 -->
142<g id="edge64" class="edge"><title>u13&#45;&gt;u7</title>
143<path fill="none" stroke="black" d="M429.334,-396.558C396.917,-356.878 319.091,-261.617 281.718,-215.87"/>
144<polygon fill="black" stroke="black" points="284.267,-213.459 275.23,-207.929 278.846,-217.887 284.267,-213.459"/>
145</g>
146<!-- u14 -->
147<g id="node28" class="node"><title>u14</title>
148<ellipse fill="none" stroke="black" cx="444" cy="-190.511" rx="45.1673" ry="18"/>
149<text text-anchor="middle" x="444" y="-186.411" font-family="Times Roman,serif" font-size="14.00">Render</text>
150</g>
151<!-- u13&#45;&gt;u14 -->
152<g id="edge66" class="edge"><title>u13&#45;&gt;u14</title>
153<path fill="none" stroke="black" d="M444,-396.18C444,-357.114 444,-265.433 444,-218.809"/>
154<polygon fill="black" stroke="black" points="447.5,-218.781 444,-208.781 440.5,-218.781 447.5,-218.781"/>
155</g>
156<!-- u12 -->
157<g id="node8" class="node"><title>u12</title>
158<ellipse fill="none" stroke="black" cx="782" cy="-190.511" rx="86.1654" ry="18"/>
159<text text-anchor="middle" x="782" y="-186.411" font-family="Times Roman,serif" font-size="14.00">GetHostByAddr</text>
160</g>
161<!-- u11&#45;&gt;u12 -->
162<g id="edge62" class="edge"><title>u11&#45;&gt;u12</title>
163<path fill="none" stroke="black" d="M782,-396.18C782,-357.114 782,-265.433 782,-218.809"/>
164<polygon fill="black" stroke="black" points="785.5,-218.781 782,-208.781 778.5,-218.781 785.5,-218.781"/>
165</g>
166<!-- u11&#45;&gt;u10 -->
167<g id="edge60" class="edge"><title>u11&#45;&gt;u10</title>
168<path fill="none" stroke="black" d="M764.935,-397.094C745.163,-376.519 712.091,-340.86 687,-307.511 664.706,-277.878 642.405,-241.466 628.204,-217.209"/>
169<polygon fill="black" stroke="black" points="631.223,-215.438 623.175,-208.547 625.169,-218.952 631.223,-215.438"/>
170</g>
171<!-- u2 -->
172<g id="node16" class="node"><title>u2</title>
173<ellipse fill="none" stroke="black" cx="1050" cy="-190.511" rx="111.181" ry="18"/>
174<text text-anchor="middle" x="1050" y="-186.411" font-family="Times Roman,serif" font-size="14.00">ByteStringOperators</text>
175</g>
176<!-- u11&#45;&gt;u2 -->
177<g id="edge58" class="edge"><title>u11&#45;&gt;u2</title>
178<path fill="none" stroke="black" d="M802.585,-397.306C849.801,-357.841 966.027,-260.697 1020.69,-215.009"/>
179<polygon fill="black" stroke="black" points="1023.18,-217.493 1028.6,-208.394 1018.69,-212.122 1023.18,-217.493"/>
180</g>
181<!-- u9&#45;&gt;u10 -->
182<g id="edge56" class="edge"><title>u9&#45;&gt;u10</title>
183<path fill="none" stroke="black" d="M610.246,-396.18C610.769,-357.114 611.997,-265.433 612.621,-218.809"/>
184<polygon fill="black" stroke="black" points="616.121,-218.827 612.755,-208.781 609.122,-218.733 616.121,-218.827"/>
185</g>
186<!-- u9&#45;&gt;u7 -->
187<g id="edge54" class="edge"><title>u9&#45;&gt;u7</title>
188<path fill="none" stroke="black" d="M575.027,-401.554C529.583,-383.885 448.757,-349.568 387,-307.511 346.975,-280.253 307.082,-240.56 283.225,-215.137"/>
189<polygon fill="black" stroke="black" points="285.722,-212.682 276.353,-207.735 280.592,-217.445 285.722,-212.682"/>
190</g>
191<!-- u9&#45;&gt;u2 -->
192<g id="edge52" class="edge"><title>u9&#45;&gt;u2</title>
193<path fill="none" stroke="black" d="M647.388,-402.369C700.07,-384.633 798.482,-349.179 877,-307.511 929.408,-279.698 985.5,-239.639 1019.15,-214.351"/>
194<polygon fill="black" stroke="black" points="1021.35,-217.081 1027.21,-208.257 1017.12,-211.499 1021.35,-217.081"/>
195</g>
196<!-- u8 -->
197<g id="node12" class="node"><title>u8</title>
198<ellipse fill="none" stroke="black" cx="756" cy="-672.511" rx="39.1069" ry="18"/>
199<text text-anchor="middle" x="756" y="-668.411" font-family="Times Roman,serif" font-size="14.00">XMPP</text>
200</g>
201<!-- u8&#45;&gt;u17 -->
202<g id="edge50" class="edge"><title>u8&#45;&gt;u17</title>
203<path fill="none" stroke="black" d="M737.933,-656.328C709.311,-630.691 653.37,-580.584 619.98,-550.677"/>
204<polygon fill="black" stroke="black" points="622.194,-547.961 612.41,-543.896 617.524,-553.175 622.194,-547.961"/>
205</g>
206<!-- u8&#45;&gt;u16 -->
207<g id="edge48" class="edge"><title>u8&#45;&gt;u16</title>
208<path fill="none" stroke="black" d="M756,-654.315C756,-629.397 756,-584.404 756,-554.998"/>
209<polygon fill="black" stroke="black" points="759.5,-554.936 756,-544.936 752.5,-554.936 759.5,-554.936"/>
210</g>
211<!-- u8&#45;&gt;u13 -->
212<g id="edge46" class="edge"><title>u8&#45;&gt;u13</title>
213<path fill="none" stroke="black" d="M717.738,-668.663C662.059,-661.059 558.838,-639.087 499,-577.511 462.878,-540.339 450.455,-478.656 446.2,-442.778"/>
214<polygon fill="black" stroke="black" points="449.649,-442.107 445.124,-432.527 442.687,-442.838 449.649,-442.107"/>
215</g>
216<!-- u8&#45;&gt;u11 -->
217<g id="edge44" class="edge"><title>u8&#45;&gt;u11</title>
218<path fill="none" stroke="black" d="M776.789,-657.038C797.565,-640.149 828.204,-611.002 841,-577.511 853.214,-545.542 851.135,-533.198 841,-500.511 834.014,-477.978 818.857,-456.105 805.655,-440.057"/>
219<polygon fill="black" stroke="black" points="808.132,-437.567 798.983,-432.223 802.802,-442.106 808.132,-437.567"/>
220</g>
221<!-- u8&#45;&gt;u9 -->
222<g id="edge42" class="edge"><title>u8&#45;&gt;u9</title>
223<path fill="none" stroke="black" d="M721.477,-663.99C660.787,-648.237 539.105,-612.923 515,-577.511 495.743,-549.221 501.122,-531.793 515,-500.511 527.185,-473.043 552.959,-450.619 574.589,-435.564"/>
224<polygon fill="black" stroke="black" points="576.586,-438.439 582.942,-429.963 572.687,-432.625 576.586,-438.439"/>
225</g>
226<!-- u8&#45;&gt;u7 -->
227<g id="edge40" class="edge"><title>u8&#45;&gt;u7</title>
228<path fill="none" stroke="black" d="M716.818,-671.159C610.215,-666.578 319.04,-647.749 261,-577.511 216.241,-523.345 244.622,-299.347 256.505,-219.195"/>
229<polygon fill="black" stroke="black" points="260.031,-219.283 258.063,-208.872 253.11,-218.238 260.031,-219.283"/>
230</g>
231<!-- u8&#45;&gt;u3 -->
232<g id="edge38" class="edge"><title>u8&#45;&gt;u3</title>
233<path fill="none" stroke="black" d="M776.785,-657.179C799.362,-639.756 835.478,-609.554 860,-577.511 893.106,-534.252 919.483,-476 933.337,-442.124"/>
234<polygon fill="black" stroke="black" points="936.585,-443.426 937.068,-432.843 930.09,-440.816 936.585,-443.426"/>
235</g>
236<!-- u8&#45;&gt;u2 -->
237<g id="edge36" class="edge"><title>u8&#45;&gt;u2</title>
238<path fill="none" stroke="black" d="M783.348,-659.313C842.428,-629.028 980.699,-548.146 1031,-432.511 1062.27,-360.626 1058.13,-265.44 1053.53,-218.766"/>
239<polygon fill="black" stroke="black" points="1057,-218.348 1052.46,-208.776 1050.04,-219.091 1057,-218.348"/>
240</g>
241<!-- u4 -->
242<g id="node14" class="node"><title>u4</title>
243<ellipse fill="none" stroke="black" cx="1221" cy="-672.511" rx="39.1069" ry="18"/>
244<text text-anchor="middle" x="1221" y="-668.411" font-family="Times Roman,serif" font-size="14.00">UTmp</text>
245</g>
246<!-- u5 -->
247<g id="node20" class="node"><title>u5</title>
248<ellipse fill="none" stroke="black" cx="1241" cy="-526.511" rx="59.065" ry="18"/>
249<text text-anchor="middle" x="1241" y="-522.411" font-family="Times Roman,serif" font-size="14.00">BitSyntax</text>
250</g>
251<!-- u4&#45;&gt;u5 -->
252<g id="edge32" class="edge"><title>u4&#45;&gt;u5</title>
253<path fill="none" stroke="black" d="M1223.49,-654.315C1226.91,-629.397 1233.07,-584.404 1237.1,-554.998"/>
254<polygon fill="black" stroke="black" points="1240.59,-555.318 1238.48,-544.936 1233.65,-554.368 1240.59,-555.318"/>
255</g>
256<!-- u1 -->
257<g id="node17" class="node"><title>u1</title>
258<ellipse fill="none" stroke="black" cx="1064" cy="-526.511" rx="62.0391" ry="18"/>
259<text text-anchor="middle" x="1064" y="-522.411" font-family="Times Roman,serif" font-size="14.00">ConfigFiles</text>
260</g>
261<!-- u1&#45;&gt;u3 -->
262<g id="edge30" class="edge"><title>u1&#45;&gt;u3</title>
263<path fill="none" stroke="black" d="M1045.51,-509.256C1025.43,-490.512 993.177,-460.409 970.424,-439.173"/>
264<polygon fill="black" stroke="black" points="972.802,-436.605 963.103,-432.341 968.026,-441.722 972.802,-436.605"/>
265</g>
266<!-- u1&#45;&gt;u2 -->
267<g id="edge28" class="edge"><title>u1&#45;&gt;u2</title>
268<path fill="none" stroke="black" d="M1064.39,-508.418C1064.84,-483.297 1065.36,-436.436 1064,-396.511 1061.84,-332.846 1055.93,-258.304 1052.52,-218.664"/>
269<polygon fill="black" stroke="black" points="1056.01,-218.335 1051.65,-208.677 1049.03,-218.943 1056.01,-218.335"/>
270</g>
271<!-- u0 -->
272<g id="node18" class="node"><title>u0</title>
273<ellipse fill="none" stroke="black" cx="974" cy="-844.511" rx="34.2406" ry="18"/>
274<text text-anchor="middle" x="974" y="-840.411" font-family="Times Roman,serif" font-size="14.00">Main</text>
275</g>
276<!-- u0&#45;&gt;u6 -->
277<g id="edge18" class="edge"><title>u0&#45;&gt;u6</title>
278<path fill="none" stroke="black" d="M939.803,-843.856C806.714,-840.826 324.082,-825.222 190,-756.511 164.653,-743.522 143.663,-718.347 130.211,-698.93"/>
279<polygon fill="black" stroke="black" points="133.034,-696.854 124.572,-690.478 127.211,-700.739 133.034,-696.854"/>
280</g>
281<!-- u0&#45;&gt;u18 -->
282<g id="edge24" class="edge"><title>u0&#45;&gt;u18</title>
283<path fill="none" stroke="black" d="M942.708,-836.902C891.962,-823.966 789.213,-795.269 708,-756.511 579.32,-695.099 441.178,-595.552 380.987,-550.28"/>
284<polygon fill="black" stroke="black" points="382.771,-547.241 372.682,-544.005 378.551,-552.826 382.771,-547.241"/>
285</g>
286<!-- u0&#45;&gt;u8 -->
287<g id="edge22" class="edge"><title>u0&#45;&gt;u8</title>
288<path fill="none" stroke="black" d="M955.035,-829.548C916.417,-799.078 828.516,-729.725 783.574,-694.266"/>
289<polygon fill="black" stroke="black" points="785.722,-691.503 775.703,-688.056 781.386,-696.998 785.722,-691.503"/>
290</g>
291<!-- u0&#45;&gt;u7 -->
292<g id="edge20" class="edge"><title>u0&#45;&gt;u7</title>
293<path fill="none" stroke="black" d="M940.012,-842.777C860.903,-837.764 659.438,-819.328 505,-756.511 371.977,-702.404 305.122,-703.387 236,-577.511 170.19,-457.665 224.521,-284.432 249.798,-217.926"/>
294<polygon fill="black" stroke="black" points="253.082,-219.138 253.441,-208.55 246.557,-216.603 253.082,-219.138"/>
295</g>
296<!-- u0&#45;&gt;u4 -->
297<g id="edge16" class="edge"><title>u0&#45;&gt;u4</title>
298<path fill="none" stroke="black" d="M1004.62,-836.63C1045.64,-824.834 1118.93,-799.278 1168,-756.511 1185.88,-740.929 1199.84,-717.845 1208.94,-699.817"/>
299<polygon fill="black" stroke="black" points="1212.29,-700.929 1213.49,-690.402 1205.99,-697.885 1212.29,-700.929"/>
300</g>
301<!-- u0&#45;&gt;u3 -->
302<g id="edge14" class="edge"><title>u0&#45;&gt;u3</title>
303<path fill="none" stroke="black" d="M972.73,-826.309C968.045,-759.149 951.703,-524.925 945.99,-443.037"/>
304<polygon fill="black" stroke="black" points="949.475,-442.69 945.287,-432.958 942.492,-443.177 949.475,-442.69"/>
305</g>
306<!-- u0&#45;&gt;u2 -->
307<g id="edge12" class="edge"><title>u0&#45;&gt;u2</title>
308<path fill="none" stroke="black" d="M988.643,-827.967C1022.67,-788.265 1106.34,-683.028 1135,-577.511 1171.28,-443.966 1098.05,-281.324 1065.02,-217.784"/>
309<polygon fill="black" stroke="black" points="1068.04,-216.005 1060.27,-208.799 1061.85,-219.276 1068.04,-216.005"/>
310</g>
311<!-- u0&#45;&gt;u1 -->
312<g id="edge10" class="edge"><title>u0&#45;&gt;u1</title>
313<path fill="none" stroke="black" d="M979.097,-826.502C994.067,-773.607 1037.99,-618.418 1056.08,-554.507"/>
314<polygon fill="black" stroke="black" points="1059.49,-555.291 1058.85,-544.715 1052.76,-553.384 1059.49,-555.291"/>
315</g>
316<!-- u19 -->
317<g id="node23" class="node"><title>u19</title>
318<ellipse fill="none" stroke="black" cx="1339" cy="-672.511" rx="55.0898" ry="18"/>
319<text text-anchor="middle" x="1339" y="-668.411" font-family="Times Roman,serif" font-size="14.00">MultiMap</text>
320</g>
321<!-- u0&#45;&gt;u19 -->
322<g id="edge26" class="edge"><title>u0&#45;&gt;u19</title>
323<path fill="none" stroke="black" d="M1007.95,-842.09C1068.01,-836.318 1194.7,-817.311 1280,-756.511 1300.48,-741.91 1316.32,-717.873 1326.4,-699.244"/>
324<polygon fill="black" stroke="black" points="1329.52,-700.827 1331.01,-690.337 1323.3,-697.607 1329.52,-700.827"/>
325</g>
326<!-- u15 -->
327<g id="node27" class="node"><title>u15</title>
328<ellipse fill="none" stroke="black" cx="444" cy="-78.5106" rx="38.9134" ry="18"/>
329<text text-anchor="middle" x="444" y="-74.4106" font-family="Times Roman,serif" font-size="14.00">Token</text>
330</g>
331<!-- u14&#45;&gt;u15 -->
332<g id="edge68" class="edge"><title>u14&#45;&gt;u15</title>
333<path fill="none" stroke="black" d="M444,-172.016C444,-154.239 444,-127.129 444,-106.669"/>
334<polygon fill="black" stroke="black" points="447.5,-106.661 444,-96.661 440.5,-106.661 447.5,-106.661"/>
335</g>
336</g>
337</svg>