gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnunet] branch master updated (5bd70d462 -> 3256190f2)


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated (5bd70d462 -> 3256190f2)
Date: Wed, 01 Aug 2018 16:31:49 +0200

This is an automated email from the git hooks/post-receive script.

dvn pushed a change to branch master
in repository gnunet.

    from 5bd70d462 GNUNET_SCHEDULER_do_work: always check if shutdown is 
necessary and update wakeup time
     new 227562cb2 README.md: Create a Markdown README document
     new 34bd9d209 README.md: syntax fix, and logo resize
     new cca76741c README.md: Fix image alignment, and sizing
     new 8f2201c8f README.md: Add file transfer via cadet usage example.
     new 7881dd86f README.md: make architecture svg larger
     new 3256190f2 README.md: Add examples for using gnunet-fs

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md                                       |  214 ++++
 contrib/branding/logo/gnunet-logo-dark-text.svg | 1411 +++++++++++++++++++++++
 contrib/gnunet-arch-full.svg                    |  648 +++++++++++
 3 files changed, 2273 insertions(+)
 create mode 100644 README.md
 create mode 100644 contrib/branding/logo/gnunet-logo-dark-text.svg
 create mode 100644 contrib/gnunet-arch-full.svg

diff --git a/README.md b/README.md
new file mode 100644
index 000000000..f52b68bab
--- /dev/null
+++ b/README.md
@@ -0,0 +1,214 @@
+<p align="center">
+  <a href="https://gnunet.org";><img 
src="contrib/branding/logo/gnunet-logo-dark-text.svg" alt="GNUnet" 
width="300px"/></a>
+</p>
+
+> GNUnet is a *new* network protocol stack for building secure, distributed, 
and privacy-preserving applications. 
+
+* [Install](#how-to-install-gnunet)
+  * [From Source](#from-source)
+  * [Using Docker](#docker)
+* [Using GNUnet](#using-gnunet)
+* [License](#license)
+
+How to Install GNUnet
+---------------------
+
+### 1. From Source
+
+**Dependencies**
+
+Install these packages. Some of them may need to be installed from source 
depending on your OS.
+
+```
+- libmicrohttpd      >= 0.9.42
+- libgcrypt          >= 1.6
+- libgnurl           >= 7.35.0      (recommended, available from 
https://gnunet.org/gnurl)
+- libcurl            >= 7.35.0      (alternative to libgnurl)
+- libunistring       >= 0.9.2
+- gnutls             >= 3.2.12      (highly recommended: a gnutls linked 
against libunbound)
+- libidn             >= 1.0
+- libextractor       >= 0.6.1       (highly recommended)
+- openssl            >= 1.0         (binary, used to generate X.509 
certificate)
+- libltdl            >= 2.2         (part of GNU libtool)
+- sqlite             >= 3.8         (default database, required)
+- mysql              >= 5.1         (alternative to sqlite)
+- postgres           >= 9.5         (alternative to sqlite)
+- Texinfo            >= 5.2         [*1]
+- which                             (for the bootstrap script)
+- gettext
+- zlib
+- pkg-config
+```
+
+
+You can also install the dependencies with the [GNU Guix package 
manager:](https://https://www.gnu.org/software/guix/) by using the provided 
environment file: 
+
+```shell
+guix package -l guix-env.scm
+```
+
+
+**Using GNU Make**
+
+```shell
+./bootstrap # Run this to generate the configure files.
+./configure # See the various flags avalable to you.
+make
+make install
+```
+
+**Using the [GNU Guix package 
manager:](https://https://www.gnu.org/software/guix/)**
+
+```shell
+# To build, run tests, and install:
+guix package -f guix-env.scm
+
+# To skip the testing phase:
+guix package -f guix-env.scm:notest
+```
+
+
+### 2. Docker
+
+```
+cd docker
+docker build -t gnunet .
+```
+
+
+
+Using GNUnet
+-------------
+
+There are many possible ways to use the subsystems of GNUnet, so we will 
provide a few examples in this section.
+
+<p align="center">
+  <a href="contrib/gnunet-arch-full.svg"><img 
src="contrib/gnunet-arch-full.svg" alt="GNUnet Modular Architecture" 
width="600px" border="1px"/></a>
+</p>
+
+>***GNUnet is composed of over 30 modular subsystems***
+
+
+### Start GNUnet Services
+
+Before we can begin using most of the components we must start them.
+
+```shell
+gnunet-arm --start
+```
+
+Now we can open up another shell and try using some of the modules.
+
+### Cadet
+
+#### Examples
+
+Open a Cadet connection:
+
+```shell
+# Node 1
+gnunet-cadet -o <shared secret>
+```
+
+Conect to peer:
+
+```shell
+# Node 2
+gnunet-cadet <peer-id of Node 1> <shared secret>
+```
+
+#### Sharing Files
+
+With the cli tool, you can also share files:
+
+```shell
+# Node 1
+gnunet-cadet -o <shared secret> > filename
+```
+
+On the Node 2 we're going to send the file to Node 1, and to do this we need 
to make use of 
[coprocesses](https://www.gnu.org/software/bash/manual/html_node/Coprocesses.html).
+The syntax for using coprocesses varies per shell. In our example we are 
assuming Bash. More info for different shells can be found 
[here](https://unix.stackexchange.com/questions/86270/how-do-you-use-the-command-coproc-in-various-shells)
+
+```shell
+# Node 2
+coproc gnunet-cadet <peer-id of Node 1> <shared secret>
+cat <file> >&"${COPROC[1]}"
+```
+
+Now this enables us to do some fun things, such as streaming video by piping 
to a media player:
+
+```shell
+# Node 1
+gnunet-cadet -o <shared secret> | vlc -
+```
+
+```shell
+# Node 2
+coproc gnunet-cadet <peer-id of Node 1> <shared secret>
+cat <video-file> >&"${COPROC[1]}"
+```
+
+### Filesharing
+
+You can use GNUnet as a content-addressed storage, much like IPFS: sharing 
immutable files in a decentralized fashion with added privacy.
+
+For instance, you can get a nice cat picture with
+```sh
+gnunet-download 
gnunet://fs/loc/CB0ZX5EM1ZNNRT7AX93RVHCN1H49242DWZ4AXBTCJBAG22Z33VHYMR61J71YJXTXHEC22TNE0PRWA6D5X7NFNY2J9BNMG0SFN5DKZ0G.R48JSE2T4Y3W2AMDHZYX2MMDJC4HR0BVTJYNWJT2DGK7EQXR35DT84H9ZRAK3QTCTHDBAE1S6W16P8PCKC4HGEEKNW2T42HXF9RS1J0.1906755.J5Z3BDEG2PW332001GGZ2SSKCCSV8WDM696HNARG49X9TMABC4DG.B6Y7BCJ6B5K40EXCXASX1HQAD8MBJ9WTFWPCE3F15Q3Q4Y2PB8BKVGCS5HA4FG4484858NB74PBEE5V1638MGG7NS40A82K7QKK3G0G.1577833200
 --output cat.png
+```
+
+You can also give files to the network, like so:
+
+```sh
+$ echo "I love GNUnet" > ILoveGNUnet.txt
+$ gnunet-publish ILoveGNUnet.txt
+
+Publishing `/tmp/ILoveGNUnet.txt` done.
+URI is 
`gnunet://fs/chk/SXA4RGZWDHE4PDWD2F4XG778J4SZY3E3SNDZ9AWFRZYYBV52W1T2WQNZCF1NYAT842800SSBQ8F247TG6MX7H4S1RWZZSC8ZXGQ4YPR.AZ3B5WR1XCWCWR6W30S2365KFY7A3R5AMF5SRN3Z11R72SMVQDX3F6GXQSZMWZGM5BSYVDQEJ93CR024QAAE65CKHM52GH8MZK1BM90.14`.
+```
+
+The URI you get is what you can use to retrieve the file with 
`gnunet-download`.
+
+### GNS
+
+*coming soon*
+
+
+### VPN
+
+*coming soon*
+
+### Running a Hostlist Server
+
+*coming soon*
+
+GNUnet Configuration
+--------------------------
+### Examples
+
+```yaml
+[transport]
+OPTIONS = -L DEBUG
+PLUGINS = tcp
+#PLUGINS = udp
+
+[transport-tcp]
+OPTIONS = -L DEBUG
+BINDTO = 192.168.0.2
+```
+
+TODO: *explain what this does and add more*
+
+
+Philosophy
+-------------------------
+
+
+Related Projects
+-------------------------
+
+
+
+ <a href="https://pep.foundation";><img 
src="https://pep.foundation/static/media/uploads/peplogo.svg"; 
alt="pep.foundation" width="80px"/></a>  <a href="https://secushare.org";><img 
src="https://secushare.org/img/secushare-0444.png"; alt="Secushare" 
width="80px"/></a>
+
+ 
diff --git a/contrib/branding/logo/gnunet-logo-dark-text.svg 
b/contrib/branding/logo/gnunet-logo-dark-text.svg
new file mode 100644
index 000000000..5644e0ae7
--- /dev/null
+++ b/contrib/branding/logo/gnunet-logo-dark-text.svg
@@ -0,0 +1,1411 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   version="1.1"
+   id="svg2"
+   height="280"
+   width="320">
+  <title
+     id="title3310">logo for GNUnet</title>
+  <defs
+     id="defs4">
+    <linearGradient
+       id="gnunet">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.58431375;"
+         offset="0"
+         id="stop9516" />
+      <stop
+         style="stop-color:#ffcc00;stop-opacity:1;"
+         offset="1"
+         id="stop9518" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4094">
+      <stop
+         style="stop-color:#232323;stop-opacity:1;"
+         offset="0"
+         id="stop4096" />
+      <stop
+         style="stop-color:#4d4d4d;stop-opacity:1;"
+         offset="1"
+         id="stop4098" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4014">
+      <stop
+         style="stop-color:#a0a0a0;stop-opacity:1;"
+         offset="0"
+         id="stop4016" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop4018" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4678">
+      <stop
+         style="stop-color:#e5e5e5;stop-opacity:1;"
+         offset="0"
+         id="stop4680" />
+      <stop
+         style="stop-color:#d3cdcd;stop-opacity:1;"
+         offset="1"
+         id="stop4682" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4341">
+      <stop
+         id="stop4343"
+         offset="0"
+         style="stop-color:#333333;stop-opacity:1;" />
+      <stop
+         id="stop4345"
+         offset="1"
+         style="stop-color:#484848;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4696-5">
+      <stop
+         id="stop4698-6"
+         offset="0"
+         style="stop-color:#ffb638;stop-opacity:1;" />
+      <stop
+         id="stop4700-2"
+         offset="1"
+         style="stop-color:#f0ae26;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4702-3-6">
+      <stop
+         id="stop4704-1"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:0.58431375;" />
+      <stop
+         id="stop4706-8"
+         offset="1"
+         style="stop-color:#ffcc00;stop-opacity:1;" />
+    </linearGradient>
+    <color-profile
+       name="Artifex-PS-CMYK-Profile"
+       xlink:href="/usr/share/color/icc/ghostscript/ps_cmyk.icc"
+       id="color-profile27" />
+    <linearGradient
+       y2="69.791016"
+       x2="177.04297"
+       y1="63.65625"
+       x1="142.96875"
+       
gradientTransform="matrix(-0.88803314,0,0,0.88803314,595.57001,1106.9291)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3138"
+       xlink:href="#linearGradient4702-3-6" />
+    <linearGradient
+       y2="1043.709"
+       x2="80.655251"
+       y1="1025.709"
+       x1="108.08774"
+       
gradientTransform="matrix(-0.49726789,0,0,0.49726789,555.31016,722.70088)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3141"
+       xlink:href="#linearGradient4696-5" />
+    <linearGradient
+       y2="922.07178"
+       x2="78.000107"
+       y1="1004.8033"
+       x1="113.5146"
+       
gradientTransform="matrix(0.88803314,0,0,0.88803314,415.18739,350.00262)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3144"
+       xlink:href="#linearGradient4702-3-6" />
+    <linearGradient
+       y2="70.667412"
+       x2="176.60477"
+       y1="63.65625"
+       x1="142.96875"
+       gradientTransform="matrix(0.88803314,0,0,0.88803314,415.2161,1106.9294)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3148"
+       xlink:href="#linearGradient4702-3-6" />
+    <linearGradient
+       y2="70.667412"
+       x2="176.60477"
+       y1="63.65625"
+       x1="142.96875"
+       gradientTransform="matrix(0.88803314,0,0,0.88803314,415.2161,1106.9294)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3780"
+       xlink:href="#linearGradient4702-3-6" />
+    <linearGradient
+       y2="922.07178"
+       x2="78.000107"
+       y1="1004.8033"
+       x1="113.5146"
+       
gradientTransform="matrix(0.88803314,0,0,0.88803314,415.18739,350.00262)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3782"
+       xlink:href="#linearGradient4702-3-6" />
+    <linearGradient
+       y2="1043.709"
+       x2="80.655251"
+       y1="1025.709"
+       x1="108.08774"
+       
gradientTransform="matrix(-0.49726789,0,0,0.49726789,555.31016,722.70088)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3784"
+       xlink:href="#linearGradient4696-5" />
+    <linearGradient
+       y2="69.791016"
+       x2="177.04297"
+       y1="63.65625"
+       x1="142.96875"
+       
gradientTransform="matrix(-0.88803314,0,0,0.88803314,595.57001,1106.9291)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3786"
+       xlink:href="#linearGradient4702-3-6" />
+    <filter
+       id="filter9204"
+       style="color-interpolation-filters:sRGB">
+      <feColorMatrix
+         id="feColorMatrix9194"
+         result="colormatrix"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -0.2125 -0.7154 -0.0721 1 0 "
+         in="SourceGraphic" />
+      <feComposite
+         k1="0"
+         id="feComposite9196"
+         result="composite"
+         k4="0"
+         k3="0"
+         k2="1"
+         operator="arithmetic"
+         in2="colormatrix"
+         in="SourceGraphic" />
+      <feGaussianBlur
+         id="feGaussianBlur9198"
+         result="blur1"
+         stdDeviation="5 0.01" />
+      <feGaussianBlur
+         id="feGaussianBlur9200"
+         result="blur2"
+         stdDeviation="0.01 5"
+         in="composite" />
+      <feBlend
+         id="feBlend9202"
+         result="blend"
+         mode="darken"
+         in2="blur1"
+         in="blur2" />
+    </filter>
+    <filter
+       id="filter9330"
+       style="color-interpolation-filters:sRGB">
+      <feGaussianBlur
+         id="feGaussianBlur9328"
+         result="blur"
+         stdDeviation="2 2" />
+    </filter>
+  </defs>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title>logo for GNUnet</dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Luis Felipe López Acevedo, Amirouche Boubekki, carlo von 
lynX</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:rights>
+          <cc:Agent>
+            <dc:title>GNUnet e.V.</dc:title>
+          </cc:Agent>
+        </dc:rights>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/"; />
+        <dc:description />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/4.0/";>
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction"; />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution"; />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Notice"; />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Attribution"; />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks"; />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#ShareAlike"; />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="g5346"
+     style="display:none"
+     transform="translate(-387.41463,-609.81931)">
+    <text
+       xml:space="preserve"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="453.95291"
+       y="869.96057"
+       id="text5344"><tspan
+         id="tspan5342"
+         x="453.95291"
+         y="869.96057"
+         
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:49.33333206px;font-family:'Ubuntu
 Bold';-inkscape-font-specification:'Ubuntu Bold, 
';fill:#ffffff;stroke-width:1.03365779px"
+         dx="0 0 0">gnu net</tspan></text>
+  </g>
+  <g
+     transform="translate(-387.41463,-609.81931)"
+     style="display:none"
+     id="g950">
+    <text
+       id="text948"
+       y="869.21057"
+       x="467.77612"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       xml:space="preserve"><tspan
+         dx="0 -2.5 -3 0 -19.25 -2.5 -3"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#ffffff;stroke-width:1.03365779px"
+         y="869.21057"
+         x="467.77612"
+         id="tspan946">gnu net</tspan></text>
+  </g>
+  <g
+     id="g941"
+     style="display:none"
+     transform="translate(0,-20)">
+    <ellipse
+       ry="17.690269"
+       rx="17.68549"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:1.68696308;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139"
+       id="ellipse937"
+       cx="157.97346"
+       cy="180.65355" />
+    <ellipse
+       ry="17.690269"
+       rx="17.68549"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:1.68696308;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139"
+       id="ellipse939"
+       cx="157.97346"
+       cy="111.16864" />
+  </g>
+  <g
+     transform="translate(-387.41463,-609.81931)"
+     style="display:none"
+     id="g935">
+    <g
+       aria-label="gnu net"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:auto"
+       id="g933">
+      <path
+         d="m 423.90503,684.79003 h 22.14128 v 61.61056 q 0,11.55196 
4.3855,16.04443 4.38546,4.49242 12.72857,4.49242 12.19374,0 20.00203,-9.94753 
7.80828,-9.94753 7.80828,-27.48942 v -44.71046 h 22.14128 v 99.6893 h -22.14128 
v -24.92231 q -3.31586,12.83553 -12.30071,20.10899 -8.98489,7.27346 
-22.14132,7.27346 -15.29567,0 -23.95963,-9.94753 -8.664,-10.0545 
-8.664,-30.59135 z"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#ffffff;stroke-width:4.46906853px"
+         id="path925" />
+      <path
+         d="m 669.48029,784.47933 h -22.14128 v -61.50359 q 0,-11.65892 
-4.3855,-16.15139 -4.38546,-4.49243 -12.72857,-4.49243 -12.30071,0 
-20.10899,9.94753 -7.70132,9.94754 -7.70132,27.48947 v 44.71041 h -22.14128 v 
-99.6893 h 22.14128 v 25.02928 q 3.31586,-12.94249 12.30071,-20.10899 
8.98489,-7.27346 22.14132,-7.27346 15.29567,0 23.95967,9.94753 8.66396,9.94753 
8.66396,30.59135 z"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#ffffff;stroke-width:4.46906853px"
+         id="path927" />
+    </g>
+  </g>
+  <g
+     id="g1296"
+     style="display:none"
+     transform="translate(0,-67.278107)">
+    <path
+       
style="fill:none;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 62.698223,85.778107 -39.5,48.000003 v 0 l -1,2"
+       id="path1256" />
+    <path
+       
style="fill:none;stroke:#dddddd;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 12.698223,104.77811 10,29 21,-10.5 v 0 0"
+       id="path1258" />
+    <path
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 11.809253,105.24526 63.6227,34.91188 23.31802,-11.09978 
-35.03955,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 
25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 
-20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 
24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 
41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 
-8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.9 [...]
+       id="path1260" />
+    <path
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 98.868943,129.31358 37.045597,48.02106"
+       id="path1262" />
+    <path
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 88.284483,158.4287 10.96248,-29.11512 12.474537,32.51819"
+       id="path1264" />
+    <path
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 212.13974,133.78236 54.69043,-3.64603 -31.75647,27.04795"
+       id="path1266" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#dddddd;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 399.11285,648.31931 50.5,-19.5 -14.05,28.1 0.925,-1.725 
-5.875,11.75 -0.25,-0.75"
+       id="path1268" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 601.57854,741.42859 -2.26809,-64.28015"
+       id="path1270" />
+    <path
+       
style="fill:none;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 189.57322,206.52811 -44,2.625 25.375,17.125 v 0"
+       id="path1272" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 475.69911,700.21367 24.57107,51.42411"
+       id="path1274" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 534.29164,751.63778 12.85257,40.08057"
+       id="path1276" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 525.21925,783.02162 0.37803,45.75234"
+       id="path1278" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 601.95657,742.56293 -12.09653,36.6775"
+       id="path1280" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 475.69911,700.59178 46.98395,22.0278 10.85256,28.26194"
+       id="path1282" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 589.104,778.86231 -12.85255,-66.17074 v 36.6775 z"
+       id="path1284" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 557.35064,768.27501 31.75336,10.5873"
+       id="path1286" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 500.27018,704.37298 v 48.77728 l 24.57105,30.2495 23.81505,9.45293"
+       id="path1288" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 524.46323,829.53019 44.98392,-0.37812"
+       id="path1290" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;stroke:#dddddd;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 694.61285,647.31931 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v 
-0.5 0 h 0.5 v 0"
+       id="path1292" />
+    <path
+       transform="translate(-387.41463,-542.5412)"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#dddddd;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 409.92428,677.14844 54.05634,6.0499"
+       id="path1294" />
+  </g>
+  <g
+     transform="translate(0,-67.278107)"
+     style="display:none"
+     id="g1254">
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="829.24042"
+       cx="568.98083"
+       id="ellipse1194"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1196"
+       cx="588.85413"
+       cy="778.67493" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="740.67249"
+       cx="601.57867"
+       id="ellipse1198"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1200"
+       cx="525.79852"
+       cy="829.24042" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1202"
+       cx="557.82654"
+       cy="768.71582" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="783.02173"
+       cx="525.21936"
+       id="ellipse1204"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1206"
+       cx="400.09586"
+       cy="647.34271" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1208"
+       cx="450.11285"
+       cy="628.31934" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1210"
+       cx="622.36951"
+       cy="699.45752" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1212"
+       cx="547.21771"
+       cy="792.29773" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1214"
+       cx="566.20697"
+       cy="800.12549" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="751.63794"
+       cx="500.64822"
+       id="ellipse1216"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1218"
+       cx="533.33447"
+       cy="751.72632" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1220"
+       cx="450.75012"
+       cy="699.83545" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="700.59174"
+       cx="476.07718"
+       id="ellipse1222"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1224"
+       cx="521.49146"
+       cy="719.65314" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1226"
+       cx="500.6362"
+       cy="703.87305" />
+    <ellipse
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="134.28851"
+       cx="211.9584"
+       id="ellipse1228"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1230"
+       cx="576.62964"
+       cy="713.44794" />
+    <ellipse
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="123.16669"
+       cx="43.166531"
+       id="ellipse1232"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1234"
+       cx="98.865997"
+       cy="129.43542" />
+    <ellipse
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="130.05022"
+       cx="267.08618"
+       id="ellipse1236"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1238"
+       cx="679.07196"
+       cy="686.22339" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="748.99109"
+       cx="577.00763"
+       id="ellipse1240"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1242"
+       cx="577.00763"
+       cy="748.99109" />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="748.99109"
+       cx="577.07013"
+       id="ellipse1244"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(0,-3e-6)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="133.85095"
+       cx="22.887779"
+       id="ellipse1246"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="682.1922"
+       cx="462.47165"
+       id="ellipse1248"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       cy="647.3053"
+       cx="694.58264"
+       id="ellipse1250"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
 />
+    <ellipse
+       transform="translate(-387.41463,-542.5412)"
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#eeeeee;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1252"
+       cx="649.61285"
+       cy="628.31934" />
+  </g>
+  <g
+     transform="translate(0,-67.278107)"
+     style="display:inline"
+     id="g1533">
+    <path
+       id="path1493"
+       d="m 62.698223,85.778107 -39.5,48.000003 v 0 l -1,2"
+       
style="fill:none;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <path
+       id="path1495"
+       d="m 12.698223,104.77811 10,29 21,-10.5 v 0 0"
+       
style="fill:none;stroke:#3399cc;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <path
+       id="path1497"
+       d="m 11.809253,105.24526 63.6227,34.91188 23.31802,-11.09978 
-35.03955,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 
25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 
-20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 
24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 
41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 
-8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.9 [...]
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <path
+       id="path1499"
+       d="m 98.868943,129.31358 37.045597,48.02106"
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <path
+       id="path1501"
+       d="m 88.284483,158.4287 10.96248,-29.11512 12.474537,32.51819"
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <path
+       id="path1503"
+       d="m 212.13974,133.78236 54.69043,-3.64603 -31.75647,27.04795"
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <path
+       id="path1505"
+       d="m 399.11285,648.31931 50.5,-19.5 -14.05,28.1 0.925,-1.725 
-5.875,11.75 -0.25,-0.75"
+       
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#3399cc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1507"
+       d="m 601.57854,741.42859 -2.26809,-64.28015"
+       
style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1509"
+       d="m 189.57322,206.52811 -44,2.625 25.375,17.125 v 0"
+       
style="fill:none;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <path
+       id="path1511"
+       d="m 475.69911,700.21367 24.57107,51.42411"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1513"
+       d="m 534.29164,751.63778 12.85257,40.08057"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1515"
+       d="m 525.21925,783.02162 0.37803,45.75234"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1517"
+       d="m 601.95657,742.56293 -12.09653,36.6775"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1519"
+       d="m 475.69911,700.59178 46.98395,22.0278 10.85256,28.26194"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1521"
+       d="m 589.104,778.86231 -12.85255,-66.17074 v 36.6775 z"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1523"
+       d="m 557.35064,768.27501 31.75336,10.5873"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1525"
+       d="m 500.27018,704.37298 v 48.77728 l 24.57105,30.2495 23.81505,9.45293"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1527"
+       d="m 524.46323,829.53019 44.98392,-0.37812"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1529"
+       d="m 694.61285,647.31931 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v 
-0.5 0 h 0.5 v 0"
+       
style="display:inline;opacity:1;fill:none;stroke:#3399cc;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path1531"
+       d="m 409.92428,677.14844 54.05634,6.0499"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#3399cc;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       transform="translate(-387.41463,-542.5412)" />
+  </g>
+  <g
+     id="g1491"
+     style="display:inline"
+     transform="translate(0,-67.278107)">
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1431"
+       cx="568.98083"
+       cy="829.24042"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="778.67493"
+       cx="588.85413"
+       id="ellipse1433"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1435"
+       cx="601.57867"
+       cy="740.67249"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="829.24042"
+       cx="525.79852"
+       id="ellipse1437"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="768.71582"
+       cx="557.82654"
+       id="ellipse1439"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1441"
+       cx="525.21936"
+       cy="783.02173"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="647.34271"
+       cx="400.09586"
+       id="ellipse1443"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="628.31934"
+       cx="450.11285"
+       id="ellipse1445"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="699.45752"
+       cx="622.36951"
+       id="ellipse1447"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="792.29773"
+       cx="547.21771"
+       id="ellipse1449"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="800.12549"
+       cx="566.20697"
+       id="ellipse1451"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1453"
+       cx="500.64822"
+       cy="751.63794"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="751.72632"
+       cx="533.33447"
+       id="ellipse1455"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="699.83545"
+       cx="450.75012"
+       id="ellipse1457"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1459"
+       cx="476.07718"
+       cy="700.59174"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="719.65314"
+       cx="521.49146"
+       id="ellipse1461"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="703.87305"
+       cx="500.6362"
+       id="ellipse1463"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1465"
+       cx="211.9584"
+       cy="134.28851"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       cy="713.44794"
+       cx="576.62964"
+       id="ellipse1467"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1469"
+       cx="43.166531"
+       cy="123.16669"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       cy="129.43542"
+       cx="98.865997"
+       id="ellipse1471"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1473"
+       cx="267.08618"
+       cy="130.05022"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       cy="686.22339"
+       cx="679.07196"
+       id="ellipse1475"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1477"
+       cx="577.00763"
+       cy="748.99109"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="748.99109"
+       cx="577.00763"
+       id="ellipse1479"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1481"
+       cx="577.07013"
+       cy="748.99109"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1483"
+       cx="22.887779"
+       cy="133.85095"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(0,-3e-6)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1485"
+       cx="462.47165"
+       cy="682.1922"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1487"
+       cx="694.58264"
+       cy="647.3053"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="628.31934"
+       cx="649.61285"
+       id="ellipse1489"
+       
style="display:inline;opacity:1;fill:#419edb;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+  </g>
+  <g
+     id="g1539"
+     style="display:inline"
+     transform="translate(0,-20)">
+    <ellipse
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#3399cc;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1535"
+       cx="159.80099"
+       cy="276.32968" />
+    <ellipse
+       ry="4.1593032"
+       rx="4.1581793"
+       
style="display:inline;opacity:1;fill:#3399cc;fill-opacity:1;stroke:#3399cc;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse1537"
+       cx="159.80099"
+       cy="259.99252" />
+  </g>
+  <g
+     transform="translate(0,-67.278107)"
+     style="display:none"
+     id="layer3">
+    <path
+       id="path5313"
+       d="m 62.698223,85.778107 -39.5,48.000003 v 0 l -1,2"
+       
style="fill:none;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
 />
+    <path
+       id="path5311"
+       d="m 12.698223,104.77811 10,29 21,-10.5 v 0 0"
+       
style="fill:none;stroke:#cc0000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
 />
+    <path
+       id="path9316"
+       d="m 11.809253,105.24526 63.6227,34.91188 23.31802,-11.09978 
-35.03955,28.74946 11.86161,-17.77468 -53.18435,-5.79678 40.95076,23.69646 
25.32406,0.49689 24.193047,3.02495 v 48.02104 l 21.04995,-32.14943 
-20.559,-15.87161 32.52749,48.02104 -8.06937,31.38386 -24.94907,-31.76198 
24.94907,77.51429 22.25436,-36.69889 21.97354,37.07701 -43.59987,-0.37188 
41.32877,-28.87448 22.05899,-21.17152 -19.90986,50.171 -3.71591,-29.60613 
-8.57843,-31.7682 -9.69437,24.71516 54.37611,-52.19866 -24.9 [...]
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
 />
+    <path
+       id="path9318"
+       d="m 98.868943,129.31358 37.045597,48.02106"
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
 />
+    <path
+       id="path12058"
+       d="m 88.284483,158.4287 10.96248,-29.11512 12.474537,32.51819"
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
 />
+    <path
+       id="path12250"
+       d="m 212.13974,133.78236 54.69043,-3.64603 -31.75647,27.04795"
+       
style="display:inline;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
 />
+    <path
+       id="path5161"
+       d="m 399.11285,648.31931 50.5,-19.5 -14.05,28.1 0.925,-1.725 
-5.875,11.75 -0.25,-0.75"
+       
style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cc0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path12206"
+       d="m 601.57854,741.42859 -2.26809,-64.28015"
+       
style="display:inline;opacity:1;fill:#729fcf;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path5331"
+       d="m 189.57322,206.52811 -44,2.625 25.375,17.125 v 0"
+       
style="fill:none;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
 />
+    <path
+       id="path9320"
+       d="m 475.69911,700.21367 24.57107,51.42411"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path9322"
+       d="m 534.29164,751.63778 12.85257,40.08057"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path9324"
+       d="m 525.21925,783.02162 0.37803,45.75234"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path9326"
+       d="m 601.95657,742.56293 -12.09653,36.6775"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path12060"
+       d="m 475.69911,700.59178 46.98395,22.0278 10.85256,28.26194"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path12208"
+       d="m 589.104,778.86231 -12.85255,-66.17074 v 36.6775 z"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path12210"
+       d="m 557.35064,768.27501 31.75336,10.5873"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path12212"
+       d="m 500.27018,704.37298 v 48.77728 l 24.57105,30.2495 23.81505,9.45293"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path12216"
+       d="m 524.46323,829.53019 44.98392,-0.37812"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path5163"
+       d="m 694.61285,647.31931 -40.285,-17.00922 -4.715,-1.99078 29,57.5 v 
-0.5 0 h 0.5 v 0"
+       
style="display:inline;opacity:1;fill:none;stroke:#cc0000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+    <path
+       id="path12214"
+       d="m 409.92428,677.14844 54.05634,6.0499"
+       
style="display:inline;opacity:1;fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1.58654225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.99607843"
+       transform="translate(-387.41463,-542.5412)" />
+  </g>
+  <g
+     id="g325"
+     style="display:none"
+     transform="translate(0,-67.278107)">
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12254"
+       cx="568.98083"
+       cy="829.24042"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="778.67493"
+       cx="588.85413"
+       id="ellipse12290"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12284"
+       cx="601.57867"
+       cy="740.67249"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="829.24042"
+       cx="525.79852"
+       id="ellipse12256"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="768.71582"
+       cx="557.82654"
+       id="ellipse12306"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12280"
+       cx="525.21936"
+       cy="783.02173"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="647.34271"
+       cx="400.09586"
+       id="ellipse12258"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="628.31934"
+       cx="450.11285"
+       id="ellipse12258-3"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="699.45752"
+       cx="622.36951"
+       id="ellipse12294"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="792.29773"
+       cx="547.21771"
+       id="ellipse12252"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="800.12549"
+       cx="566.20697"
+       id="ellipse12282"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12276"
+       cx="500.64822"
+       cy="751.63794"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="751.72632"
+       cx="533.33447"
+       id="ellipse12278"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="699.83545"
+       cx="450.75012"
+       id="ellipse12262"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12268"
+       cx="476.07718"
+       cy="700.59174"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="719.65314"
+       cx="521.49146"
+       id="ellipse12270"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="703.87305"
+       cx="500.6362"
+       id="ellipse12274"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12292"
+       cx="211.9584"
+       cy="134.28851"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       cy="713.44794"
+       cx="576.62964"
+       id="ellipse12286"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12260"
+       cx="43.166531"
+       cy="123.16669"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       cy="129.43542"
+       cx="98.865997"
+       id="ellipse12266"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12296"
+       cx="267.08618"
+       cy="130.05022"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       cy="686.22339"
+       cx="679.07196"
+       id="ellipse12298"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12288"
+       cx="577.00763"
+       cy="748.99109"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="748.99109"
+       cx="577.00763"
+       id="ellipse12302"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12304"
+       cx="577.07013"
+       cy="748.99109"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12264"
+       cx="22.887779"
+       cy="133.85095"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(0,-3e-6)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12272"
+       cx="462.47165"
+       cy="682.1922"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="ellipse12300"
+       cx="694.58264"
+       cy="647.3053"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+    <ellipse
+       cy="628.31934"
+       cx="649.61285"
+       id="ellipse12258-3-0"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#cc0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       rx="4.1581793"
+       ry="4.1593032"
+       transform="translate(-387.41463,-542.5412)" />
+  </g>
+  <g
+     transform="translate(0,-20)"
+     style="display:none"
+     id="layer6">
+    <ellipse
+       cy="276.32968"
+       cx="159.80099"
+       id="ellipse12282-8-9-0"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139"
+       rx="4.1581793"
+       ry="4.1593032" />
+    <ellipse
+       cy="259.99252"
+       cx="159.80099"
+       id="ellipse12282-8-9"
+       
style="display:inline;opacity:1;fill:#ee0000;fill-opacity:1;stroke:#ee0000;stroke-width:0.39663559;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.97635139"
+       rx="4.1581793"
+       ry="4.1593032" />
+  </g>
+  <g
+     id="g975"
+     style="display:inline"
+     transform="translate(-387.41463,-609.81931)">
+    <g
+       id="text973"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.53852463px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.03365779px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:auto"
+       aria-label="gnu net">
+      <path
+         id="path977"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#292929;stroke-width:1.03365779px;fill-opacity:1"
+         d="m 489.62118,868.96318 q 0,2.375 -0.81641,4.23046 -0.81641,1.85547 
-2.30078,3.14193 -1.45964,1.28646 -3.46354,1.95443 -1.97917,0.69271 
-4.42839,0.69271 -6.01172,0 -10.26693,-3.63672 l 2.42448,-3.95834 q 
3.53776,3.04297 7.84245,3.04297 2.64714,0 4.25521,-1.31119 1.63281,-1.28646 
1.63281,-4.0573 v -2.47395 q -1.58333,1.36067 -3.04297,2.02864 -1.45963,0.64323 
-3.38932,0.64323 -2.22656,0 -4.13151,-0.9401 -1.90495,-0.94011 
-3.29037,-2.54818 -1.36067,-1.63281 -2.15234,-3.78516 -0.76 [...]
+      <path
+         id="path979"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#292929;stroke-width:1.03365779px;fill-opacity:1"
+         d="m 514.82951,869.21057 h -5.12109 v -14.22526 q 0,-2.69661 
-1.01433,-3.73568 -1.01432,-1.03906 -2.94401,-1.03906 -2.84505,0 
-4.65104,2.30078 -1.78125,2.30078 -1.78125,6.35808 v 10.34114 h -5.12109 v 
-23.05729 h 5.12109 v 5.78906 q 0.76693,-2.99349 2.84505,-4.65104 
2.07813,-1.68229 5.1211,-1.68229 3.53776,0 5.54166,2.30078 2.00391,2.30078 
2.00391,7.07552 z" />
+      <path
+         id="path981"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#292929;stroke-width:1.03365779px;fill-opacity:1"
+         d="m 518.90503,846.15328 h 5.12109 v 14.25 q 0,2.67187 
1.01433,3.71094 1.01432,1.03906 2.94401,1.03906 2.82031,0 4.6263,-2.30078 
1.80599,-2.30078 1.80599,-6.35807 v -10.34115 h 5.12109 v 23.05729 h -5.12109 v 
-5.76432 q -0.76693,2.96875 -2.84505,4.65104 -2.07813,1.68229 -5.1211,1.68229 
-3.53776,0 -5.54166,-2.30078 -2.00391,-2.32552 -2.00391,-7.07552 z" />
+      <path
+         id="path983"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#292929;stroke-width:1.03365779px;fill-opacity:1"
+         d="m 575.70451,869.21057 h -5.12109 v -14.22526 q 0,-2.69661 
-1.01433,-3.73568 -1.01432,-1.03906 -2.94401,-1.03906 -2.84505,0 
-4.65104,2.30078 -1.78125,2.30078 -1.78125,6.35808 v 10.34114 h -5.12109 v 
-23.05729 h 5.12109 v 5.78906 q 0.76693,-2.99349 2.84505,-4.65104 
2.07813,-1.68229 5.1211,-1.68229 3.53776,0 5.54167,2.30078 2.0039,2.30078 
2.0039,7.07552 z" />
+      <path
+         id="path985"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#292929;stroke-width:1.03365779px;fill-opacity:1"
+         d="m 583.76832,859.63635 q 0.37109,2.375 2.2513,3.95834 
1.90495,1.55859 5.09635,1.55859 2.4987,0 4.32943,-0.76693 1.85547,-0.79166 
3.19141,-2.07812 l 2.62239,3.61198 q -2.22656,2.22656 -4.72526,3.04297 
-2.47396,0.8164 -5.41797,0.8164 -2.67187,0 -4.97265,-0.89062 -2.30079,-0.89063 
-3.98308,-2.47396 -1.68229,-1.60807 -2.64713,-3.8099 -0.94011,-2.20182 
-0.94011,-4.89844 0,-2.62239 0.86589,-4.82421 0.89062,-2.22657 2.47396,-3.83464 
1.60807,-1.63281 3.83463,-2.52344 2.22657,-0.91536  [...]
+      <path
+         id="path987"
+         
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50.66666794px;font-family:'Anonymous
 Pro';-inkscape-font-specification:'Anonymous Pro 
Bold';fill:#292929;stroke-width:1.03365779px;fill-opacity:1"
+         d="m 627.08081,861.86291 q -0.39583,3.63672 -2.86979,5.78907 
-2.44922,2.1276 -6.13542,2.1276 -2.02864,0 -3.71094,-0.66797 -1.68229,-0.66797 
-2.86979,-1.85547 -1.1875,-1.1875 -1.85547,-2.84505 -0.64322,-1.68229 
-0.64322,-3.66146 v -9.97005 h -5.22006 v -4.6263 h 5.22006 v -9.22787 h 
5.12109 v 9.22787 h 9.67318 v 4.6263 h -9.67318 v 9.97005 q 0,2.22657 
1.08854,3.31511 1.08854,1.08854 2.86979,1.08854 2.17709,0 3.24089,-1.26172 
1.0638,-1.26172 1.26172,-3.04297 z" />
+    </g>
+  </g>
+</svg>
diff --git a/contrib/gnunet-arch-full.svg b/contrib/gnunet-arch-full.svg
new file mode 100644
index 000000000..766f2b855
--- /dev/null
+++ b/contrib/gnunet-arch-full.svg
@@ -0,0 +1,648 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: dependencies Pages: 1 -->
+<svg width="1277pt" height="836pt"
+ viewBox="0.00 0.00 1276.81 836.00" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";>
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 832)">
+<title>dependencies</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-832 1272.81,-832 
1272.81,4 -4,4"/>
+<!-- voting -->
+<g id="node1" class="node"><title>voting</title>
+<polygon fill="none" stroke="black" points="120.944,-743.562 80,-756 
39.0559,-743.562 39.0942,-723.438 120.906,-723.438 120.944,-743.562"/>
+<text text-anchor="middle" x="80" y="-734.3" font-family="Times,serif" 
font-size="14.00">voting</text>
+</g>
+<!-- consensus -->
+<g id="node2" class="node"><title>consensus</title>
+<ellipse fill="none" stroke="black" cx="112" cy="-594" rx="46.2923" ry="18"/>
+<text text-anchor="middle" x="112" y="-590.3" font-family="Times,serif" 
font-size="14.00">consensus</text>
+</g>
+<!-- voting&#45;&gt;consensus -->
+<g id="edge1" class="edge"><title>voting&#45;&gt;consensus</title>
+<path fill="none" stroke="black" d="M121.028,-728.482C145.315,-721.103 
174.155,-707.724 189,-684 197.487,-670.436 196.445,-662.162 189,-648 
180.933,-632.654 166.19,-620.887 151.748,-612.383"/>
+<polygon fill="black" stroke="black" points="153.308,-609.247 142.857,-607.508 
149.942,-615.385 153.308,-609.247"/>
+</g>
+<!-- identity -->
+<g id="node3" class="node"><title>identity</title>
+<ellipse fill="none" stroke="black" cx="282" cy="-450" rx="37.8943" ry="18"/>
+<text text-anchor="middle" x="282" y="-446.3" font-family="Times,serif" 
font-size="14.00">identity</text>
+</g>
+<!-- voting&#45;&gt;identity -->
+<g id="edge2" class="edge"><title>voting&#45;&gt;identity</title>
+<path fill="none" stroke="black" d="M58.5145,-723.377C45.8789,-714.02 
31.0387,-700.353 24,-684 5.02284,-639.911 -2.50901,-616.016 24,-576 
46.6577,-541.798 71.8444,-557.396 109,-540 158.351,-516.894 214.207,-487.564 
248.77,-469.032"/>
+<polygon fill="black" stroke="black" points="250.781,-471.924 257.931,-464.105 
247.466,-465.759 250.781,-471.924"/>
+</g>
+<!-- cadet -->
+<g id="node4" class="node"><title>cadet</title>
+<ellipse fill="none" stroke="black" cx="538" cy="-450" rx="29.4969" ry="18"/>
+<text text-anchor="middle" x="538" y="-446.3" font-family="Times,serif" 
font-size="14.00">cadet</text>
+</g>
+<!-- voting&#45;&gt;cadet -->
+<g id="edge3" class="edge"><title>voting&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M72.0051,-723.243C55.682,-693.149 
22.8306,-620.604 57,-576 70.8829,-557.877 390.653,-484.265 500.977,-459.316"/>
+<polygon fill="black" stroke="black" points="501.999,-462.673 510.983,-457.057 
500.458,-455.845 501.999,-462.673"/>
+</g>
+<!-- secretsharing -->
+<g id="node5" class="node"><title>secretsharing</title>
+<ellipse fill="none" stroke="black" cx="123" cy="-666" rx="57.3905" ry="18"/>
+<text text-anchor="middle" x="123" y="-662.3" font-family="Times,serif" 
font-size="14.00">secretsharing</text>
+</g>
+<!-- voting&#45;&gt;secretsharing -->
+<g id="edge4" class="edge"><title>voting&#45;&gt;secretsharing</title>
+<path fill="none" stroke="black" d="M88.4954,-723.17C93.8716,-714.418 
100.986,-702.837 107.357,-692.466"/>
+<polygon fill="black" stroke="black" points="110.45,-694.117 112.702,-683.764 
104.486,-690.453 110.45,-694.117"/>
+</g>
+<!-- consensus&#45;&gt;cadet -->
+<g id="edge72" class="edge"><title>consensus&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M146.507,-581.905C153.275,-579.85 
160.34,-577.79 167,-576 236.135,-557.417 256.193,-562.96 324,-540 
360.547,-527.625 367.474,-519.056 403,-504 437.068,-489.562 476.509,-474.236 
503.927,-463.798"/>
+<polygon fill="black" stroke="black" points="505.344,-467.004 513.453,-460.185 
502.862,-460.459 505.344,-467.004"/>
+</g>
+<!-- set -->
+<g id="node24" class="node"><title>set</title>
+<ellipse fill="none" stroke="black" cx="517" cy="-522" rx="27" ry="18"/>
+<text text-anchor="middle" x="517" y="-518.3" font-family="Times,serif" 
font-size="14.00">set</text>
+</g>
+<!-- consensus&#45;&gt;set -->
+<g id="edge71" class="edge"><title>consensus&#45;&gt;set</title>
+<path fill="none" stroke="black" d="M145.818,-581.678C152.772,-579.596 
160.083,-577.583 167,-576 182.24,-572.511 394.44,-541.075 480.815,-528.33"/>
+<polygon fill="black" stroke="black" points="481.561,-531.758 490.943,-526.837 
480.539,-524.833 481.561,-531.758"/>
+</g>
+<!-- dht -->
+<g id="node7" class="node"><title>dht</title>
+<ellipse fill="none" stroke="black" cx="756" cy="-378" rx="27" ry="18"/>
+<text text-anchor="middle" x="756" y="-374.3" font-family="Times,serif" 
font-size="14.00">dht</text>
+</g>
+<!-- cadet&#45;&gt;dht -->
+<g id="edge51" class="edge"><title>cadet&#45;&gt;dht</title>
+<path fill="none" stroke="black" d="M563.434,-440.833C602.822,-428.186 
678.592,-403.856 722.428,-389.78"/>
+<polygon fill="black" stroke="black" points="723.607,-393.078 732.058,-386.688 
721.467,-386.413 723.607,-393.078"/>
+</g>
+<!-- core -->
+<g id="node8" class="node"><title>core</title>
+<ellipse fill="none" stroke="black" cx="555" cy="-234" rx="27" ry="18"/>
+<text text-anchor="middle" x="555" y="-230.3" font-family="Times,serif" 
font-size="14.00">core</text>
+</g>
+<!-- cadet&#45;&gt;core -->
+<g id="edge50" class="edge"><title>cadet&#45;&gt;core</title>
+<path fill="none" stroke="black" d="M539.362,-431.849C542.303,-394.832 
549.266,-307.181 552.824,-262.386"/>
+<polygon fill="black" stroke="black" points="556.328,-262.478 553.631,-252.232 
549.35,-261.924 556.328,-262.478"/>
+</g>
+<!-- block -->
+<g id="node11" class="node"><title>block</title>
+<polygon fill="none" stroke="black" points="429,-324 385.598,-306 429,-288 
472.402,-306 429,-324"/>
+<text text-anchor="middle" x="429" y="-302.3" font-family="Times,serif" 
font-size="14.00">block</text>
+</g>
+<!-- cadet&#45;&gt;block -->
+<g id="edge52" class="edge"><title>cadet&#45;&gt;block</title>
+<path fill="none" stroke="blue" stroke-dasharray="1,5" 
d="M522.106,-434.467C511.33,-424.227 497.085,-409.913 486,-396 469.058,-374.736 
452.633,-348.272 441.802,-329.75"/>
+<polygon fill="blue" stroke="blue" points="444.702,-327.773 436.674,-320.859 
438.638,-331.27 444.702,-327.773"/>
+</g>
+<!-- secretsharing&#45;&gt;consensus -->
+<g id="edge5" class="edge"><title>secretsharing&#45;&gt;consensus</title>
+<path fill="none" stroke="black" d="M120.281,-647.697C119.069,-639.983 
117.612,-630.712 116.261,-622.112"/>
+<polygon fill="black" stroke="black" points="119.698,-621.44 114.688,-612.104 
112.783,-622.526 119.698,-621.44"/>
+</g>
+<!-- fs -->
+<g id="node6" class="node"><title>fs</title>
+<polygon fill="none" stroke="black" points="100,-527.562 73,-540 46,-527.562 
46.0252,-507.438 99.9748,-507.438 100,-527.562"/>
+<text text-anchor="middle" x="73" y="-518.3" font-family="Times,serif" 
font-size="14.00">fs</text>
+</g>
+<!-- fs&#45;&gt;identity -->
+<g id="edge12" class="edge"><title>fs&#45;&gt;identity</title>
+<path fill="none" stroke="black" d="M100.21,-509.307C104.786,-507.46 
109.507,-505.625 114,-504 164.764,-485.643 178.566,-484.387 230,-468 
233.971,-466.735 238.108,-465.404 242.237,-464.067"/>
+<polygon fill="black" stroke="black" points="243.351,-467.386 251.778,-460.965 
241.186,-460.729 243.351,-467.386"/>
+</g>
+<!-- fs&#45;&gt;cadet -->
+<g id="edge9" class="edge"><title>fs&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M100.01,-516.934C178.772,-505.077 
408.387,-470.512 499.803,-456.75"/>
+<polygon fill="black" stroke="black" points="500.372,-460.204 509.74,-455.254 
499.33,-453.282 500.372,-460.204"/>
+</g>
+<!-- fs&#45;&gt;dht -->
+<g id="edge6" class="edge"><title>fs&#45;&gt;dht</title>
+<path fill="none" stroke="black" d="M100.081,-509.411C132.571,-495.433 
183.726,-473.164 192,-468 213.144,-454.802 212.035,-441.688 235,-432 
322.67,-395.017 615.27,-383.079 719.081,-379.955"/>
+<polygon fill="black" stroke="black" points="719.199,-383.453 729.093,-379.664 
718.996,-376.456 719.199,-383.453"/>
+</g>
+<!-- fs&#45;&gt;core -->
+<g id="edge7" class="edge"><title>fs&#45;&gt;core</title>
+<path fill="none" stroke="black" d="M65.0877,-507.277C55.5997,-488.827 
42.6595,-455.618 57,-432 93.0072,-372.699 269.007,-312.27 334,-288 
397.135,-264.424 474.404,-248.714 518.841,-240.869"/>
+<polygon fill="black" stroke="black" points="519.614,-244.287 528.871,-239.134 
518.42,-237.39 519.614,-244.287"/>
+</g>
+<!-- datastore -->
+<g id="node9" class="node"><title>datastore</title>
+<ellipse fill="none" stroke="black" cx="108" cy="-450" rx="42.4939" ry="18"/>
+<text text-anchor="middle" x="108" y="-446.3" font-family="Times,serif" 
font-size="14.00">datastore</text>
+</g>
+<!-- fs&#45;&gt;datastore -->
+<g id="edge8" class="edge"><title>fs&#45;&gt;datastore</title>
+<path fill="none" stroke="black" d="M79.9149,-507.17C84.2467,-498.507 
89.9645,-487.071 95.1098,-476.78"/>
+<polygon fill="black" stroke="black" points="98.2763,-478.274 99.618,-467.764 
92.0153,-475.143 98.2763,-478.274"/>
+</g>
+<!-- ats -->
+<g id="node10" class="node"><title>ats</title>
+<ellipse fill="none" stroke="black" cx="385" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="385" y="-86.3" font-family="Times,serif" 
font-size="14.00">ats</text>
+</g>
+<!-- fs&#45;&gt;ats -->
+<g id="edge10" class="edge"><title>fs&#45;&gt;ats</title>
+<path fill="none" stroke="black" d="M60.2844,-507.296C39.3694,-483.267 
0,-431.113 0,-379 0,-379 0,-379 0,-233 0,-159.097 252.872,-111.714 
348.742,-96.4063"/>
+<polygon fill="black" stroke="black" points="349.504,-99.8296 358.84,-94.8203 
348.418,-92.9144 349.504,-99.8296"/>
+</g>
+<!-- fs&#45;&gt;block -->
+<g id="edge11" class="edge"><title>fs&#45;&gt;block</title>
+<path fill="none" stroke="blue" stroke-dasharray="1,5" 
d="M99.0792,-507.426C116.81,-497.613 140.343,-483.417 159,-468 175.732,-454.174 
174.815,-445.258 192,-432 259.224,-380.139 351.062,-338.689 398.245,-319.166"/>
+<polygon fill="blue" stroke="blue" points="399.679,-322.361 407.611,-315.337 
397.03,-315.881 399.679,-322.361"/>
+</g>
+<!-- dht&#45;&gt;core -->
+<g id="edge42" class="edge"><title>dht&#45;&gt;core</title>
+<path fill="none" stroke="black" d="M780.722,-370.233C802.496,-362.816 
832.877,-348.569 847,-324 854.974,-310.128 857.48,-300.09 847,-288 
810.092,-245.421 650.341,-266.908 596,-252 592.628,-251.075 589.164,-249.944 
585.745,-248.709"/>
+<polygon fill="black" stroke="black" points="586.936,-245.416 576.348,-245.037 
584.388,-251.936 586.936,-245.416"/>
+</g>
+<!-- dht&#45;&gt;block -->
+<g id="edge44" class="edge"><title>dht&#45;&gt;block</title>
+<path fill="none" stroke="black" d="M730.132,-372.774C681.84,-364.697 
574.817,-345.908 486,-324 478.104,-322.052 469.673,-319.694 461.782,-317.363"/>
+<polygon fill="black" stroke="black" points="462.742,-313.997 452.157,-314.456 
460.718,-320.698 462.742,-313.997"/>
+</g>
+<!-- nse -->
+<g id="node27" class="node"><title>nse</title>
+<ellipse fill="none" stroke="black" cx="811" cy="-306" rx="27" ry="18"/>
+<text text-anchor="middle" x="811" y="-302.3" font-family="Times,serif" 
font-size="14.00">nse</text>
+</g>
+<!-- dht&#45;&gt;nse -->
+<g id="edge43" class="edge"><title>dht&#45;&gt;nse</title>
+<path fill="none" stroke="black" d="M767.934,-361.811C775.214,-352.546 
784.663,-340.52 792.854,-330.094"/>
+<polygon fill="black" stroke="black" points="795.663,-332.185 799.089,-322.159 
790.159,-327.86 795.663,-332.185"/>
+</g>
+<!-- datacache -->
+<g id="node28" class="node"><title>datacache</title>
+<polygon fill="none" stroke="black" points="702,-324 637.818,-306 702,-288 
766.182,-306 702,-324"/>
+<text text-anchor="middle" x="702" y="-302.3" font-family="Times,serif" 
font-size="14.00">datacache</text>
+</g>
+<!-- dht&#45;&gt;datacache -->
+<g id="edge45" class="edge"><title>dht&#45;&gt;datacache</title>
+<path fill="none" stroke="black" d="M744.016,-361.465C736.66,-351.93 
727.125,-339.57 718.998,-329.034"/>
+<polygon fill="black" stroke="black" points="721.73,-326.846 712.851,-321.066 
716.187,-331.121 721.73,-326.846"/>
+</g>
+<!-- peerinfo -->
+<g id="node29" class="node"><title>peerinfo</title>
+<ellipse fill="none" stroke="black" cx="518" cy="-90" rx="40.0939" ry="18"/>
+<text text-anchor="middle" x="518" y="-86.3" font-family="Times,serif" 
font-size="14.00">peerinfo</text>
+</g>
+<!-- dht&#45;&gt;peerinfo -->
+<g id="edge46" class="edge"><title>dht&#45;&gt;peerinfo</title>
+<path fill="none" stroke="black" d="M728.828,-376.457C687.438,-374.282 
608.033,-364.658 557,-324 495.436,-274.952 504.26,-168.494 512.535,-118.27"/>
+<polygon fill="black" stroke="black" points="516.027,-118.624 514.32,-108.168 
509.133,-117.406 516.027,-118.624"/>
+</g>
+<!-- hello -->
+<g id="node30" class="node"><title>hello</title>
+<polygon fill="none" stroke="black" points="854,-36 813.614,-18 
854,-3.55271e-15 894.386,-18 854,-36"/>
+<text text-anchor="middle" x="854" y="-14.3" font-family="Times,serif" 
font-size="14.00">hello</text>
+</g>
+<!-- dht&#45;&gt;hello -->
+<g id="edge47" class="edge"><title>dht&#45;&gt;hello</title>
+<path fill="none" stroke="black" d="M782.364,-373.864C833.24,-367.278 
942.225,-350.399 968,-324 996.322,-294.992 988,-275.542 988,-235 988,-235 
988,-235 988,-161 988,-99.7534 921.245,-54.2239 881.968,-32.736"/>
+<polygon fill="black" stroke="black" points="883.108,-29.3792 872.632,-27.796 
879.834,-35.5665 883.108,-29.3792"/>
+</g>
+<!-- transport -->
+<g id="node33" class="node"><title>transport</title>
+<ellipse fill="none" stroke="black" cx="680" cy="-162" rx="42.4939" ry="18"/>
+<text text-anchor="middle" x="680" y="-158.3" font-family="Times,serif" 
font-size="14.00">transport</text>
+</g>
+<!-- core&#45;&gt;transport -->
+<g id="edge58" class="edge"><title>core&#45;&gt;transport</title>
+<path fill="none" stroke="black" d="M575.083,-221.753C594.251,-211.02 
623.495,-194.643 646.244,-181.903"/>
+<polygon fill="black" stroke="black" points="648.219,-184.809 655.234,-176.869 
644.799,-178.701 648.219,-184.809"/>
+</g>
+<!-- exit -->
+<g id="node12" class="node"><title>exit</title>
+<polygon fill="none" stroke="black" points="952,-540 898,-540 898,-504 
952,-504 952,-540"/>
+<text text-anchor="middle" x="925" y="-518.3" font-family="Times,serif" 
font-size="14.00">exit</text>
+</g>
+<!-- exit&#45;&gt;cadet -->
+<g id="edge13" class="edge"><title>exit&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M897.67,-514.323C883.742,-511.021 
866.513,-507.093 851,-504 752.337,-484.331 635.236,-465.765 576.155,-456.729"/>
+<polygon fill="black" stroke="black" points="576.571,-453.252 566.158,-455.206 
575.517,-460.172 576.571,-453.252"/>
+</g>
+<!-- tun -->
+<g id="node13" class="node"><title>tun</title>
+<polygon fill="none" stroke="black" points="929,-468 897.995,-450 929,-432 
960.005,-450 929,-468"/>
+<text text-anchor="middle" x="929" y="-446.3" font-family="Times,serif" 
font-size="14.00">tun</text>
+</g>
+<!-- exit&#45;&gt;tun -->
+<g id="edge14" class="edge"><title>exit&#45;&gt;tun</title>
+<path fill="none" stroke="black" d="M925.989,-503.697C926.436,-495.868 
926.975,-486.435 927.473,-477.728"/>
+<polygon fill="black" stroke="black" points="930.974,-477.806 928.05,-467.622 
923.985,-477.406 930.974,-477.806"/>
+</g>
+<!-- dnsstub -->
+<g id="node14" class="node"><title>dnsstub</title>
+<polygon fill="none" stroke="black" points="1032,-468 978.877,-450 1032,-432 
1085.12,-450 1032,-468"/>
+<text text-anchor="middle" x="1032" y="-446.3" font-family="Times,serif" 
font-size="14.00">dnsstub</text>
+</g>
+<!-- exit&#45;&gt;dnsstub -->
+<g id="edge15" class="edge"><title>exit&#45;&gt;dnsstub</title>
+<path fill="none" stroke="black" d="M951.175,-503.876C967.88,-492.948 
989.443,-478.841 1006.1,-467.947"/>
+<polygon fill="black" stroke="black" points="1008.33,-470.67 1014.78,-462.266 
1004.49,-464.812 1008.33,-470.67"/>
+</g>
+<!-- vpn -->
+<g id="node15" class="node"><title>vpn</title>
+<ellipse fill="none" stroke="black" cx="815" cy="-522" rx="27" ry="18"/>
+<text text-anchor="middle" x="815" y="-518.3" font-family="Times,serif" 
font-size="14.00">vpn</text>
+</g>
+<!-- vpn&#45;&gt;cadet -->
+<g id="edge16" class="edge"><title>vpn&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M793.129,-511.116C787.017,-508.578 
780.317,-506.003 774,-504 705.524,-482.293 623.185,-465.931 576.085,-457.463"/>
+<polygon fill="black" stroke="black" points="576.482,-453.979 566.025,-455.678 
575.26,-460.871 576.482,-453.979"/>
+</g>
+<!-- vpn&#45;&gt;tun -->
+<g id="edge18" class="edge"><title>vpn&#45;&gt;tun</title>
+<path fill="none" stroke="black" d="M834.339,-509.125C854.149,-496.961 
884.945,-478.051 905.995,-465.126"/>
+<polygon fill="black" stroke="black" points="907.942,-468.038 914.632,-459.822 
904.279,-462.072 907.942,-468.038"/>
+</g>
+<!-- regex -->
+<g id="node16" class="node"><title>regex</title>
+<ellipse fill="none" stroke="black" cx="756" cy="-450" rx="30.5947" ry="18"/>
+<text text-anchor="middle" x="756" y="-446.3" font-family="Times,serif" 
font-size="14.00">regex</text>
+</g>
+<!-- vpn&#45;&gt;regex -->
+<g id="edge17" class="edge"><title>vpn&#45;&gt;regex</title>
+<path fill="none" stroke="black" d="M802.198,-505.811C794.496,-496.673 
784.53,-484.849 775.827,-474.524"/>
+<polygon fill="black" stroke="black" points="778.307,-472.035 769.186,-466.644 
772.954,-476.546 778.307,-472.035"/>
+</g>
+<!-- regex&#45;&gt;dht -->
+<g id="edge57" class="edge"><title>regex&#45;&gt;dht</title>
+<path fill="none" stroke="black" d="M756,-431.697C756,-423.983 756,-414.712 
756,-406.112"/>
+<polygon fill="black" stroke="black" points="759.5,-406.104 756,-396.104 
752.5,-406.104 759.5,-406.104"/>
+</g>
+<!-- regex&#45;&gt;block -->
+<g id="edge49" class="edge"><title>regex&#45;&gt;block</title>
+<path fill="none" stroke="blue" stroke-dasharray="1,5" 
d="M732.22,-438.673C673.767,-413.29 523.157,-347.888 458.838,-319.957"/>
+<polygon fill="blue" stroke="blue" points="459.85,-316.581 449.283,-315.808 
457.061,-323.002 459.85,-316.581"/>
+</g>
+<!-- pt -->
+<g id="node17" class="node"><title>pt</title>
+<polygon fill="none" stroke="black" points="986,-599.562 959,-612 932,-599.562 
932.025,-579.438 985.975,-579.438 986,-599.562"/>
+<text text-anchor="middle" x="959" y="-590.3" font-family="Times,serif" 
font-size="14.00">pt</text>
+</g>
+<!-- pt&#45;&gt;cadet -->
+<g id="edge19" class="edge"><title>pt&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M931.717,-579.439C928.807,-578.197 
925.864,-577.023 923,-576 860.875,-553.809 836.841,-571.725 779,-540 
758.602,-528.812 761.339,-515.294 741,-504 688.34,-474.76 619.008,-461.18 
576.516,-455.23"/>
+<polygon fill="black" stroke="black" points="576.951,-451.758 566.577,-453.91 
576.029,-458.697 576.951,-451.758"/>
+</g>
+<!-- pt&#45;&gt;vpn -->
+<g id="edge20" class="edge"><title>pt&#45;&gt;vpn</title>
+<path fill="none" stroke="black" d="M931.915,-579.834C907.352,-567.894 
871.179,-550.309 845.585,-537.868"/>
+<polygon fill="black" stroke="black" points="846.864,-534.598 836.34,-533.373 
843.803,-540.893 846.864,-534.598"/>
+</g>
+<!-- dns -->
+<g id="node18" class="node"><title>dns</title>
+<ellipse fill="none" stroke="black" cx="997" cy="-522" rx="27" ry="18"/>
+<text text-anchor="middle" x="997" y="-518.3" font-family="Times,serif" 
font-size="14.00">dns</text>
+</g>
+<!-- pt&#45;&gt;dns -->
+<g id="edge21" class="edge"><title>pt&#45;&gt;dns</title>
+<path fill="none" stroke="black" d="M966.508,-579.17C971.277,-570.385 
977.594,-558.748 983.241,-548.346"/>
+<polygon fill="black" stroke="black" points="986.48,-549.716 988.175,-539.257 
980.328,-546.376 986.48,-549.716"/>
+</g>
+<!-- dnsparser -->
+<g id="node19" class="node"><title>dnsparser</title>
+<polygon fill="none" stroke="black" points="1143,-540 1080.49,-522 1143,-504 
1205.51,-522 1143,-540"/>
+<text text-anchor="middle" x="1143" y="-518.3" font-family="Times,serif" 
font-size="14.00">dnsparser</text>
+</g>
+<!-- pt&#45;&gt;dnsparser -->
+<g id="edge22" class="edge"><title>pt&#45;&gt;dnsparser</title>
+<path fill="none" stroke="black" d="M986.15,-582.671C1018.5,-570.365 
1072.61,-549.781 1108.05,-536.296"/>
+<polygon fill="black" stroke="black" points="1109.42,-539.521 1117.52,-532.694 
1106.93,-532.979 1109.42,-539.521"/>
+</g>
+<!-- dns&#45;&gt;tun -->
+<g id="edge23" class="edge"><title>dns&#45;&gt;tun</title>
+<path fill="none" stroke="black" d="M982.91,-506.496C972.543,-495.824 
958.362,-481.226 947.147,-469.681"/>
+<polygon fill="black" stroke="black" points="949.418,-466.995 939.94,-462.261 
944.397,-471.873 949.418,-466.995"/>
+</g>
+<!-- dns&#45;&gt;dnsstub -->
+<g id="edge24" class="edge"><title>dns&#45;&gt;dnsstub</title>
+<path fill="none" stroke="black" d="M1005.12,-504.765C1009.59,-495.828 
1015.21,-484.573 1020.16,-474.673"/>
+<polygon fill="black" stroke="black" points="1023.3,-476.227 1024.64,-465.717 
1017.04,-473.096 1023.3,-476.227"/>
+</g>
+<!-- gnsrecord -->
+<g id="node25" class="node"><title>gnsrecord</title>
+<ellipse fill="none" stroke="black" cx="1192" cy="-450" rx="45.4919" ry="18"/>
+<text text-anchor="middle" x="1192" y="-446.3" font-family="Times,serif" 
font-size="14.00">gnsrecord</text>
+</g>
+<!-- dnsparser&#45;&gt;gnsrecord -->
+<g id="edge39" class="edge"><title>dnsparser&#45;&gt;gnsrecord</title>
+<path fill="none" stroke="blue" stroke-dasharray="1,5" 
d="M1152.92,-506.834C1159.12,-497.971 1167.29,-486.304 1174.55,-475.928"/>
+<polygon fill="blue" stroke="blue" points="1177.51,-477.805 1180.38,-467.606 
1171.77,-473.791 1177.51,-477.805"/>
+</g>
+<!-- zonemaster -->
+<g id="node20" class="node"><title>zonemaster</title>
+<polygon fill="none" stroke="black" points="914.433,-599.562 851,-612 
787.567,-599.562 787.626,-579.438 914.374,-579.438 914.433,-599.562"/>
+<text text-anchor="middle" x="851" y="-590.3" font-family="Times,serif" 
font-size="14.00">zonemaster</text>
+</g>
+<!-- zonemaster&#45;&gt;dht -->
+<g id="edge26" class="edge"><title>zonemaster&#45;&gt;dht</title>
+<path fill="none" stroke="black" d="M853.642,-579.298C856.499,-561.438 
859.583,-529.479 851,-504 836.849,-461.994 802.343,-422.916 779.052,-399.996"/>
+<polygon fill="black" stroke="black" points="781.264,-397.267 771.628,-392.861 
776.413,-402.314 781.264,-397.267"/>
+</g>
+<!-- namestore -->
+<g id="node21" class="node"><title>namestore</title>
+<ellipse fill="none" stroke="black" cx="685" cy="-522" rx="47.3916" ry="18"/>
+<text text-anchor="middle" x="685" y="-518.3" font-family="Times,serif" 
font-size="14.00">namestore</text>
+</g>
+<!-- zonemaster&#45;&gt;namestore -->
+<g id="edge25" class="edge"><title>zonemaster&#45;&gt;namestore</title>
+<path fill="none" stroke="black" d="M818.599,-579.337C791.812,-568.041 
753.653,-551.95 724.971,-539.855"/>
+<polygon fill="black" stroke="black" points="726.212,-536.58 715.637,-535.919 
723.492,-543.03 726.212,-536.58"/>
+</g>
+<!-- namestore&#45;&gt;identity -->
+<g id="edge37" class="edge"><title>namestore&#45;&gt;identity</title>
+<path fill="none" stroke="black" d="M642.634,-513.641C566.046,-500.338 
405.247,-472.408 326.867,-458.793"/>
+<polygon fill="black" stroke="black" points="327.275,-455.312 316.823,-457.049 
326.077,-462.208 327.275,-455.312"/>
+</g>
+<!-- namestore&#45;&gt;gnsrecord -->
+<g id="edge38" class="edge"><title>namestore&#45;&gt;gnsrecord</title>
+<path fill="none" stroke="black" d="M726.085,-512.971C742.503,-509.919 
761.609,-506.564 779,-504 918.405,-483.451 954.522,-488.05 1094,-468 
1109.42,-465.784 1126.13,-463.019 1141.32,-460.368"/>
+<polygon fill="black" stroke="black" points="1142.32,-463.746 1151.56,-458.558 
1141.1,-456.853 1142.32,-463.746"/>
+</g>
+<!-- gns -->
+<g id="node22" class="node"><title>gns</title>
+<ellipse fill="none" stroke="black" cx="850" cy="-666" rx="27" ry="18"/>
+<text text-anchor="middle" x="850" y="-662.3" font-family="Times,serif" 
font-size="14.00">gns</text>
+</g>
+<!-- gns&#45;&gt;identity -->
+<g id="edge34" class="edge"><title>gns&#45;&gt;identity</title>
+<path fill="none" stroke="black" d="M823.048,-663.899C740.091,-660.169 
489.801,-646.281 417,-612 395.952,-602.089 396.543,-591.28 379,-576 
359.686,-559.178 350.742,-559.383 334,-540 317.464,-520.856 303.335,-495.717 
293.996,-477.041"/>
+<polygon fill="black" stroke="black" points="297.085,-475.39 289.562,-467.93 
290.791,-478.453 297.085,-475.39"/>
+</g>
+<!-- gns&#45;&gt;dht -->
+<g id="edge28" class="edge"><title>gns&#45;&gt;dht</title>
+<path fill="none" stroke="black" d="M870.511,-653.985C875.467,-651.699 
880.829,-649.525 886,-648 1002.11,-613.746 1046.93,-664.524 1156,-612 
1236.59,-573.194 1305.75,-498.559 1246,-432 1215.85,-398.416 902.601,-384.19 
793.343,-380.225"/>
+<polygon fill="black" stroke="black" points="793.243,-376.719 783.125,-379.863 
792.995,-383.715 793.243,-376.719"/>
+</g>
+<!-- gns&#45;&gt;block -->
+<g id="edge29" class="edge"><title>gns&#45;&gt;block</title>
+<path fill="none" stroke="blue" stroke-dasharray="1,5" 
d="M822.824,-664.872C770.707,-663.582 654.321,-655.598 569,-612 
548.284,-601.414 548.925,-590.83 531,-576 509.902,-558.544 496.079,-562.857 
481,-540 438.212,-475.142 430.206,-380.324 428.985,-334.208"/>
+<polygon fill="blue" stroke="blue" points="432.483,-334.033 428.808,-324.096 
425.484,-334.156 432.483,-334.033"/>
+</g>
+<!-- gns&#45;&gt;dnsstub -->
+<g id="edge33" class="edge"><title>gns&#45;&gt;dnsstub</title>
+<path fill="none" stroke="black" d="M871.065,-654.325C875.905,-652.077 
881.078,-649.834 886,-648 941.778,-627.217 973.486,-654.658 1015,-612 
1049.82,-576.222 1044.5,-512.583 1037.99,-476.971"/>
+<polygon fill="black" stroke="black" points="1041.36,-476 1035.97,-466.88 
1034.5,-477.373 1041.36,-476"/>
+</g>
+<!-- gns&#45;&gt;vpn -->
+<g id="edge31" class="edge"><title>gns&#45;&gt;vpn</title>
+<path fill="none" stroke="black" d="M827.858,-655.35C811.041,-646.688 
789.135,-632.213 779,-612 768.086,-590.233 781.353,-564.325 794.756,-546.091"/>
+<polygon fill="black" stroke="black" points="797.832,-547.84 801.242,-537.808 
792.321,-543.524 797.832,-547.84"/>
+</g>
+<!-- gns&#45;&gt;dns -->
+<g id="edge27" class="edge"><title>gns&#45;&gt;dns</title>
+<path fill="none" stroke="black" d="M871.13,-654.496C875.967,-652.239 
881.122,-649.949 886,-648 933.377,-629.072 964.65,-653.009 995,-612 
1008.03,-594.39 1007.25,-568.995 1003.95,-549.835"/>
+<polygon fill="black" stroke="black" points="1007.35,-549.022 1001.93,-539.921 
1000.49,-550.418 1007.35,-549.022"/>
+</g>
+<!-- gns&#45;&gt;dnsparser -->
+<g id="edge32" class="edge"><title>gns&#45;&gt;dnsparser</title>
+<path fill="none" stroke="black" d="M870.586,-654.227C875.54,-651.931 
880.881,-649.692 886,-648 963.461,-622.391 995.505,-653.066 1066,-612 
1093.37,-596.054 1115.84,-566.774 1129.29,-546.163"/>
+<polygon fill="black" stroke="black" points="1132.29,-547.978 1134.66,-537.654 
1126.37,-544.243 1132.29,-547.978"/>
+</g>
+<!-- revocation -->
+<g id="node23" class="node"><title>revocation</title>
+<ellipse fill="none" stroke="black" cx="474" cy="-594" rx="48.1917" ry="18"/>
+<text text-anchor="middle" x="474" y="-590.3" font-family="Times,serif" 
font-size="14.00">revocation</text>
+</g>
+<!-- gns&#45;&gt;revocation -->
+<g id="edge30" class="edge"><title>gns&#45;&gt;revocation</title>
+<path fill="none" stroke="black" d="M823.776,-661.482C769.658,-654.024 
641.808,-635.374 536,-612 531.019,-610.9 525.841,-609.65 520.694,-608.34"/>
+<polygon fill="black" stroke="black" points="521.456,-604.922 510.895,-605.77 
519.68,-611.693 521.456,-604.922"/>
+</g>
+<!-- gns&#45;&gt;gnsrecord -->
+<g id="edge41" class="edge"><title>gns&#45;&gt;gnsrecord</title>
+<path fill="none" stroke="black" d="M870.549,-654.113C875.504,-651.822 
880.856,-649.613 886,-648 978.027,-619.137 1009.84,-646.249 1100,-612 
1156.37,-590.587 1185.79,-592.754 1215,-540 1225.98,-520.174 1217.7,-494.957 
1208.15,-476.431"/>
+<polygon fill="black" stroke="black" points="1211.2,-474.717 1203.29,-467.672 
1205.08,-478.114 1211.2,-474.717"/>
+</g>
+<!-- revocation&#45;&gt;core -->
+<g id="edge35" class="edge"><title>revocation&#45;&gt;core</title>
+<path fill="none" stroke="black" d="M447.586,-578.755C410.639,-556.683 
348,-510.49 348,-451 348,-451 348,-451 348,-377 348,-335.398 347.208,-317.038 
377,-288 415.046,-250.916 477.859,-239.613 517.794,-236.267"/>
+<polygon fill="black" stroke="black" points="518.191,-239.747 527.918,-235.547 
517.695,-232.765 518.191,-239.747"/>
+</g>
+<!-- revocation&#45;&gt;set -->
+<g id="edge36" class="edge"><title>revocation&#45;&gt;set</title>
+<path fill="none" stroke="black" d="M484.409,-576.055C489.683,-567.469 
496.183,-556.888 501.987,-547.439"/>
+<polygon fill="black" stroke="black" points="505.024,-549.182 507.276,-538.829 
499.06,-545.518 505.024,-549.182"/>
+</g>
+<!-- set&#45;&gt;cadet -->
+<g id="edge75" class="edge"><title>set&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M522.084,-504.055C524.482,-496.059 
527.401,-486.331 530.08,-477.4"/>
+<polygon fill="black" stroke="black" points="533.442,-478.373 532.963,-467.789 
526.737,-476.362 533.442,-478.373"/>
+</g>
+<!-- conversation -->
+<g id="node26" class="node"><title>conversation</title>
+<polygon fill="none" stroke="black" points="1017.18,-743.562 948,-756 
878.82,-743.562 878.884,-723.438 1017.12,-723.438 1017.18,-743.562"/>
+<text text-anchor="middle" x="948" y="-734.3" font-family="Times,serif" 
font-size="14.00">conversation</text>
+</g>
+<!-- conversation&#45;&gt;cadet -->
+<g id="edge53" class="edge"><title>conversation&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M900.537,-723.335C873.864,-714.435 
840.677,-701.257 814,-684 756.206,-646.615 759.329,-615.558 703,-576 
673.069,-554.981 658.318,-561.866 629,-540 611.601,-527.024 611.36,-519.336 
596,-504 585.077,-493.094 572.479,-481.475 561.82,-471.903"/>
+<polygon fill="black" stroke="black" points="563.901,-469.069 554.107,-465.028 
559.243,-474.295 563.901,-469.069"/>
+</g>
+<!-- conversation&#45;&gt;gns -->
+<g id="edge54" class="edge"><title>conversation&#45;&gt;gns</title>
+<path fill="none" stroke="black" d="M928.638,-723.17C913.533,-712.381 
892.408,-697.291 875.857,-685.469"/>
+<polygon fill="black" stroke="black" points="877.846,-682.589 867.674,-679.625 
873.777,-688.285 877.846,-682.589"/>
+</g>
+<!-- conversation&#45;&gt;gnsrecord -->
+<g id="edge40" class="edge"><title>conversation&#45;&gt;gnsrecord</title>
+<path fill="none" stroke="blue" stroke-dasharray="1,5" 
d="M1017.21,-728.51C1076.25,-719.968 1155.24,-705.041 1179,-684 
1241.33,-628.786 1256.97,-583.117 1231,-504 1227.58,-493.58 1221.24,-483.522 
1214.65,-475.019"/>
+<polygon fill="blue" stroke="blue" points="1217.15,-472.551 1208.08,-467.08 
1211.76,-477.015 1217.15,-472.551"/>
+</g>
+<!-- speaker -->
+<g id="node31" class="node"><title>speaker</title>
+<polygon fill="none" stroke="black" points="948,-684 894.877,-666 948,-648 
1001.12,-666 948,-684"/>
+<text text-anchor="middle" x="948" y="-662.3" font-family="Times,serif" 
font-size="14.00">speaker</text>
+</g>
+<!-- conversation&#45;&gt;speaker -->
+<g id="edge55" class="edge"><title>conversation&#45;&gt;speaker</title>
+<path fill="none" stroke="black" d="M948,-723.17C948,-714.919 948,-704.153 
948,-694.256"/>
+<polygon fill="black" stroke="black" points="951.5,-694.019 948,-684.019 
944.5,-694.019 951.5,-694.019"/>
+</g>
+<!-- microphone -->
+<g id="node32" class="node"><title>microphone</title>
+<polygon fill="none" stroke="black" points="1095,-684 1019.76,-666 1095,-648 
1170.24,-666 1095,-684"/>
+<text text-anchor="middle" x="1095" y="-662.3" font-family="Times,serif" 
font-size="14.00">microphone</text>
+</g>
+<!-- conversation&#45;&gt;microphone -->
+<g id="edge56" class="edge"><title>conversation&#45;&gt;microphone</title>
+<path fill="none" stroke="black" d="M976.692,-723.337C1001.14,-711.695 
1036.29,-694.958 1061.92,-682.753"/>
+<polygon fill="black" stroke="black" points="1063.71,-685.777 1071.23,-678.318 
1060.7,-679.457 1063.71,-685.777"/>
+</g>
+<!-- nse&#45;&gt;core -->
+<g id="edge48" class="edge"><title>nse&#45;&gt;core</title>
+<path fill="none" stroke="black" d="M790.412,-294.231C785.459,-291.935 
780.118,-289.695 775,-288 697.966,-262.487 673.625,-275.652 596,-252 
592.83,-251.034 589.569,-249.913 586.336,-248.716"/>
+<polygon fill="black" stroke="black" points="587.428,-245.385 576.841,-244.978 
584.864,-251.899 587.428,-245.385"/>
+</g>
+<!-- peerinfo&#45;&gt;hello -->
+<g id="edge76" class="edge"><title>peerinfo&#45;&gt;hello</title>
+<path fill="none" stroke="black" d="M548.194,-77.9517C554.676,-75.8006 
561.524,-73.6914 568,-72 654.752,-49.3407 758.747,-32.6176 814.333,-24.4966"/>
+<polygon fill="black" stroke="black" points="815.063,-27.9277 824.46,-23.0344 
814.062,-20.9995 815.063,-27.9277"/>
+</g>
+<!-- transport&#45;&gt;ats -->
+<g id="edge66" class="edge"><title>transport&#45;&gt;ats</title>
+<path fill="none" stroke="black" d="M644.122,-152.487C587.168,-138.972 
476.742,-112.769 420.21,-99.3548"/>
+<polygon fill="black" stroke="black" points="420.844,-95.9082 410.306,-97.0048 
419.228,-102.719 420.844,-95.9082"/>
+</g>
+<!-- transport&#45;&gt;peerinfo -->
+<g id="edge68" class="edge"><title>transport&#45;&gt;peerinfo</title>
+<path fill="none" stroke="black" d="M651.411,-148.647C624.725,-137.116 
584.738,-119.837 555.501,-107.204"/>
+<polygon fill="black" stroke="black" points="556.601,-103.867 546.033,-103.113 
553.824,-110.292 556.601,-103.867"/>
+</g>
+<!-- transport&#45;&gt;hello -->
+<g id="edge67" class="edge"><title>transport&#45;&gt;hello</title>
+<path fill="none" stroke="black" d="M721.405,-157.922C756.719,-153.037 
806.213,-140.439 835,-108 850.042,-91.0495 854.193,-65.1533 854.935,-45.6573"/>
+<polygon fill="black" stroke="black" points="858.435,-45.6195 855.044,-35.5822 
851.436,-45.5437 858.435,-45.6195"/>
+</g>
+<!-- nat -->
+<g id="node36" class="node"><title>nat</title>
+<polygon fill="none" stroke="black" points="796,-108 765.835,-90 796,-72 
826.165,-90 796,-108"/>
+<text text-anchor="middle" x="796" y="-86.3" font-family="Times,serif" 
font-size="14.00">nat</text>
+</g>
+<!-- transport&#45;&gt;nat -->
+<g id="edge69" class="edge"><title>transport&#45;&gt;nat</title>
+<path fill="none" stroke="black" d="M703.474,-146.834C723.706,-134.626 
752.749,-117.1 772.878,-104.953"/>
+<polygon fill="black" stroke="black" points="774.946,-107.793 781.7,-99.6294 
771.33,-101.799 774.946,-107.793"/>
+</g>
+<!-- fragmentation -->
+<g id="node37" class="node"><title>fragmentation</title>
+<polygon fill="none" stroke="black" points="662,-108 576.537,-90 662,-72 
747.463,-90 662,-108"/>
+<text text-anchor="middle" x="662" y="-86.3" font-family="Times,serif" 
font-size="14.00">fragmentation</text>
+</g>
+<!-- transport&#45;&gt;fragmentation -->
+<g id="edge70" class="edge"><title>transport&#45;&gt;fragmentation</title>
+<path fill="none" stroke="black" d="M675.643,-144.055C673.556,-135.941 
671.011,-126.044 668.687,-117.006"/>
+<polygon fill="black" stroke="black" points="672.073,-116.12 666.193,-107.307 
665.294,-117.864 672.073,-116.12"/>
+</g>
+<!-- topology -->
+<g id="node34" class="node"><title>topology</title>
+<polygon fill="none" stroke="black" points="959.5,-324 894.5,-324 894.5,-288 
959.5,-288 959.5,-324"/>
+<text text-anchor="middle" x="927" y="-302.3" font-family="Times,serif" 
font-size="14.00">topology</text>
+</g>
+<!-- topology&#45;&gt;core -->
+<g id="edge61" class="edge"><title>topology&#45;&gt;core</title>
+<path fill="none" stroke="black" d="M894.413,-292.17C889.63,-290.593 
884.724,-289.139 880,-288 756.312,-258.18 718.97,-284.656 596,-252 
592.621,-251.103 589.151,-249.989 585.73,-248.765"/>
+<polygon fill="black" stroke="black" points="586.918,-245.471 576.329,-245.106 
584.379,-251.995 586.918,-245.471"/>
+</g>
+<!-- topology&#45;&gt;peerinfo -->
+<g id="edge59" class="edge"><title>topology&#45;&gt;peerinfo</title>
+<path fill="none" stroke="black" d="M894.233,-295.354C862.315,-285.612 
812.655,-269.532 771,-252 705.781,-224.55 688.475,-218.336 629,-180 
597.704,-159.827 564.778,-132.553 542.992,-113.534"/>
+<polygon fill="black" stroke="black" points="545.032,-110.666 535.215,-106.682 
540.404,-115.919 545.032,-110.666"/>
+</g>
+<!-- topology&#45;&gt;hello -->
+<g id="edge62" class="edge"><title>topology&#45;&gt;hello</title>
+<path fill="none" stroke="black" d="M922.652,-287.966C910.314,-239.626 
875.032,-101.398 860.438,-44.2243"/>
+<polygon fill="black" stroke="black" points="863.829,-43.3557 857.964,-34.532 
857.046,-45.087 863.829,-43.3557"/>
+</g>
+<!-- topology&#45;&gt;transport -->
+<g id="edge60" class="edge"><title>topology&#45;&gt;transport</title>
+<path fill="none" stroke="black" d="M897.206,-287.871C850.798,-261.191 
761.564,-209.891 713.17,-182.069"/>
+<polygon fill="black" stroke="black" points="714.758,-178.945 704.344,-176.995 
711.269,-185.014 714.758,-178.945"/>
+</g>
+<!-- hostlist -->
+<g id="node35" class="node"><title>hostlist</title>
+<polygon fill="none" stroke="black" points="214,-324 158,-324 158,-288 
214,-288 214,-324"/>
+<text text-anchor="middle" x="186" y="-302.3" font-family="Times,serif" 
font-size="14.00">hostlist</text>
+</g>
+<!-- hostlist&#45;&gt;core -->
+<g id="edge63" class="edge"><title>hostlist&#45;&gt;core</title>
+<path fill="none" stroke="black" d="M214.167,-292.599C218.733,-290.88 
223.455,-289.271 228,-288 330.933,-259.219 456.746,-244.294 517.975,-238.275"/>
+<polygon fill="black" stroke="black" points="518.666,-241.725 528.286,-237.286 
517.998,-234.757 518.666,-241.725"/>
+</g>
+<!-- hostlist&#45;&gt;peerinfo -->
+<g id="edge64" class="edge"><title>hostlist&#45;&gt;peerinfo</title>
+<path fill="none" stroke="black" d="M212.608,-287.849C273.449,-248.632 
422.455,-152.586 487.166,-110.875"/>
+<polygon fill="black" stroke="black" points="489.21,-113.721 495.719,-105.362 
485.418,-107.838 489.21,-113.721"/>
+</g>
+<!-- hostlist&#45;&gt;hello -->
+<g id="edge65" class="edge"><title>hostlist&#45;&gt;hello</title>
+<path fill="none" stroke="black" d="M192.198,-287.715C209.228,-243.039 
261.382,-123.627 349,-72 425.521,-26.9118 694.449,-19.9666 805.486,-19.053"/>
+<polygon fill="black" stroke="black" points="805.751,-22.5513 815.727,-18.9823 
805.703,-15.5515 805.751,-22.5513"/>
+</g>
+<!-- scalarproduct -->
+<g id="node38" class="node"><title>scalarproduct</title>
+<ellipse fill="none" stroke="black" cx="636" cy="-594" rx="57.6901" ry="18"/>
+<text text-anchor="middle" x="636" y="-590.3" font-family="Times,serif" 
font-size="14.00">scalarproduct</text>
+</g>
+<!-- scalarproduct&#45;&gt;cadet -->
+<g id="edge74" class="edge"><title>scalarproduct&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M622.726,-576.035C614.79,-565.742 
604.61,-552.266 596,-540 581.021,-518.662 564.9,-493.752 553.465,-475.721"/>
+<polygon fill="black" stroke="black" points="556.241,-473.562 547.943,-466.975 
550.322,-477.299 556.241,-473.562"/>
+</g>
+<!-- scalarproduct&#45;&gt;set -->
+<g id="edge73" class="edge"><title>scalarproduct&#45;&gt;set</title>
+<path fill="none" stroke="black" d="M610.179,-577.811C591.059,-566.564 
565.021,-551.248 545.33,-539.665"/>
+<polygon fill="black" stroke="black" points="546.899,-536.527 536.505,-534.473 
543.349,-542.56 546.899,-536.527"/>
+</g>
+<!-- secushare -->
+<g id="node39" class="node"><title>secushare</title>
+<polygon fill="none" stroke="black" points="633.366,-815.562 578,-828 
522.634,-815.562 522.686,-795.438 633.314,-795.438 633.366,-815.562"/>
+<text text-anchor="middle" x="578" y="-806.3" font-family="Times,serif" 
font-size="14.00">secushare</text>
+</g>
+<!-- social -->
+<g id="node42" class="node"><title>social</title>
+<ellipse fill="none" stroke="black" cx="578" cy="-738" rx="31.3957" ry="18"/>
+<text text-anchor="middle" x="578" y="-734.3" font-family="Times,serif" 
font-size="14.00">social</text>
+</g>
+<!-- secushare&#45;&gt;social -->
+<g id="edge80" class="edge"><title>secushare&#45;&gt;social</title>
+<path fill="none" stroke="black" d="M578,-795.17C578,-786.919 578,-776.153 
578,-766.256"/>
+<polygon fill="black" stroke="black" points="581.5,-766.019 578,-756.019 
574.5,-766.019 581.5,-766.019"/>
+</g>
+<!-- multicast -->
+<g id="node40" class="node"><title>multicast</title>
+<ellipse fill="none" stroke="black" cx="326" cy="-594" rx="43.5923" ry="18"/>
+<text text-anchor="middle" x="326" y="-590.3" font-family="Times,serif" 
font-size="14.00">multicast</text>
+</g>
+<!-- multicast&#45;&gt;cadet -->
+<g id="edge82" class="edge"><title>multicast&#45;&gt;cadet</title>
+<path fill="none" stroke="black" d="M347.889,-578.338C386.803,-552.273 
467.927,-497.935 510.526,-469.402"/>
+<polygon fill="black" stroke="black" points="512.642,-472.198 519.003,-463.725 
508.747,-466.382 512.642,-472.198"/>
+</g>
+<!-- psyc -->
+<g id="node41" class="node"><title>psyc</title>
+<ellipse fill="none" stroke="black" cx="326" cy="-666" rx="27" ry="18"/>
+<text text-anchor="middle" x="326" y="-662.3" font-family="Times,serif" 
font-size="14.00">psyc</text>
+</g>
+<!-- psyc&#45;&gt;multicast -->
+<g id="edge81" class="edge"><title>psyc&#45;&gt;multicast</title>
+<path fill="none" stroke="black" d="M326,-647.697C326,-639.983 326,-630.712 
326,-622.112"/>
+<polygon fill="black" stroke="black" points="329.5,-622.104 326,-612.104 
322.5,-622.104 329.5,-622.104"/>
+</g>
+<!-- psycstore -->
+<g id="node43" class="node"><title>psycstore</title>
+<ellipse fill="none" stroke="black" cx="220" cy="-594" rx="44.393" ry="18"/>
+<text text-anchor="middle" x="220" y="-590.3" font-family="Times,serif" 
font-size="14.00">psycstore</text>
+</g>
+<!-- psyc&#45;&gt;psycstore -->
+<g id="edge79" class="edge"><title>psyc&#45;&gt;psycstore</title>
+<path fill="none" stroke="black" d="M307.536,-652.807C291.938,-642.506 
269.271,-627.537 250.911,-615.413"/>
+<polygon fill="black" stroke="black" points="252.567,-612.312 242.294,-609.722 
248.71,-618.154 252.567,-612.312"/>
+</g>
+<!-- social&#45;&gt;gns -->
+<g id="edge78" class="edge"><title>social&#45;&gt;gns</title>
+<path fill="none" stroke="black" d="M605.831,-729.838C655.82,-716.973 
760.68,-689.987 815.282,-675.935"/>
+<polygon fill="black" stroke="black" points="816.373,-679.268 825.185,-673.386 
814.628,-672.489 816.373,-679.268"/>
+</g>
+<!-- social&#45;&gt;psyc -->
+<g id="edge77" class="edge"><title>social&#45;&gt;psyc</title>
+<path fill="none" stroke="black" d="M550.552,-729.376C504.247,-716.513 
410.731,-690.537 360.222,-676.506"/>
+<polygon fill="black" stroke="black" points="360.996,-673.089 350.424,-673.784 
359.122,-679.833 360.996,-673.089"/>
+</g>
+<!-- rps -->
+<g id="node44" class="node"><title>rps</title>
+<ellipse fill="none" stroke="black" cx="593" cy="-306" rx="27" ry="18"/>
+<text text-anchor="middle" x="593" y="-302.3" font-family="Times,serif" 
font-size="14.00">rps</text>
+</g>
+<!-- rps&#45;&gt;core -->
+<g id="edge83" class="edge"><title>rps&#45;&gt;core</title>
+<path fill="none" stroke="black" d="M584.187,-288.765C579.582,-280.283 
573.845,-269.714 568.679,-260.197"/>
+<polygon fill="black" stroke="black" points="571.613,-258.266 563.766,-251.147 
565.461,-261.606 571.613,-258.266"/>
+</g>
+</g>
+</svg>

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]