diff mbox

[API-NEXT,1/2] doc: images: add traffic manager svg

Message ID 1452177030-15261-1-git-send-email-mike.holmes@linaro.org
State New
Headers show

Commit Message

Mike Holmes Jan. 7, 2016, 2:30 p.m. UTC
Signed-off-by: Mike Holmes <mike.holmes@linaro.org>
---
 doc/images/Makefile.am      |   12 +
 doc/images/tm_hierarchy.svg |  769 ++++++++++++++++++++++++++++
 doc/images/tm_node.svg      | 1178 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 1959 insertions(+)
 create mode 100644 doc/images/tm_hierarchy.svg
 create mode 100644 doc/images/tm_node.svg

Comments

Bill Fischofer Jan. 7, 2016, 3:27 p.m. UTC | #1
This looks good, however the hierarchy.svg seems to format unreadably for
me.  I think this diagram may need to be redrawn rather than converted.

On Thu, Jan 7, 2016 at 8:30 AM, Mike Holmes <mike.holmes@linaro.org> wrote:

> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

> ---

>  doc/images/Makefile.am      |   12 +

>  doc/images/tm_hierarchy.svg |  769 ++++++++++++++++++++++++++++

>  doc/images/tm_node.svg      | 1178

> +++++++++++++++++++++++++++++++++++++++++++

>  3 files changed, 1959 insertions(+)

>  create mode 100644 doc/images/tm_hierarchy.svg

>  create mode 100644 doc/images/tm_node.svg

>

> diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am

> index 5495b69..0a21b54 100644

> --- a/doc/images/Makefile.am

> +++ b/doc/images/Makefile.am

> @@ -7,6 +7,8 @@ SVG_SRCS =  atomic_queue.svg \

>         odp_traffic_manager.svg \

>         overview.svg \

>         release_git.svg \

> +       tm_hierarchy.svg \

> +       tm_node.svg \

>         simple_release_git.svg

>

>  SVG_TARGETS = $(SVG_SRCS:svg=png)

> @@ -80,5 +82,15 @@ simple_release_git.png: simple_release_git.svg

>  simple_release_git.eps: simple_release_git.svg

>         convert $< $@

>

> +tm_hierarchy.png: tm_hierarchy.svg

> +       convert $< $@

> +tm_hierarchy.eps: tm_hierarchy.svg

> +       convert $< $@

> +

> +tm_node.png: tm_node.svg

> +       convert $< $@

> +tm_node.eps: tm_node.svg

> +       convert $< $@

> +

>  resource_management.png: resource_management.msc

>         mscgen -T png -i $< -o $@

> diff --git a/doc/images/tm_hierarchy.svg b/doc/images/tm_hierarchy.svg

> new file mode 100644

> index 0000000..e832cdd

> --- /dev/null

> +++ b/doc/images/tm_hierarchy.svg

> @@ -0,0 +1,769 @@

> +<?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.36.0 (20140111.2315)

> + -->

> +<!-- Title: four_levels Pages: 1 -->

> +<svg width="1362px" height="600px"

> + viewBox="0 0 1362 600" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="

> http://www.w3.org/1999/xlink">

> +<defs>

> +    <symbol id="queue_symbol" fill="#80f080" stroke="black"

> +             stroke-width="5" stroke-linecap="square">

> +      <g transform="scale(0.2 0.2)" >

> +        <line x1="0"   y1="70" x2="0"   y2="120" />

> +        <line x1="100" y1="70" x2="100" y2="120" />

> +        <polyline points="0,120 0,170 100,170 100,120" />

> +

> +        <rect x="0" y="170" width="100" height="50"/>

> +        <rect x="0" y="220" width="100" height="50"/>

> +        <rect x="0" y="270" width="100" height="50"/>

> +        <rect x="0" y="320" width="100" height="50"/>

> +        <rect x="0" y="370" width="100" height="50"/>

> +        <rect x="0" y="420" width="100" height="50"/>

> +      </g>

> +    </symbol>

> +

> +    <symbol id="ArbiterLevel3" > <!-- shift x left by 39 -->

> +        <polygon fill="#F08080" stroke="black" points="54,0  0,0  12,29

> 42,29  54,0"/>

> +    </symbol>

> +

> +    <symbol id="ArbiterLevel2" > <!-- shift x left by 92 -->

> +        <polygon fill="#F0F080" stroke="black" points="116,0  0,0  24,36

> 92,36  116,0"/>

> +    </symbol>

> +

> +    <symbol id="ArbiterLevel1" > <!-- shift x left by 79 -->

> +        <polygon fill="#E080E0" stroke="black" points="101,9  0,9  21,54

> 79,54  101,9"/>

> +    </symbol>

> +

> +    <symbol id="DownArrowColor1" > <!-- shift x left by 7 and shift y by

> 5 -->

> +        <polygon fill="green" stroke="green" points="14,-10  0,-10  7,10

> 14,-10"/>

> +    </symbol>

> +

> +    <symbol id="DownArrowColor2" > <!-- shift x left by 7 and shift y by

> 5 -->

> +        <polygon fill="black" stroke="black" points="14,-10  0,-10  7,10

> 14,-10"/>

> +    </symbol>

> +

> +</defs>

> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(30

> 530)">

> +<title>four_levels</title>

> +<polygon fill="#E8E8E8" stroke="none" points="-20,40 -20,-520 1320,-520

> 1320,40 -20,40"/>

> +

> +<!-- q28 -->

> +<g id="node1" class="node"><title>q28</title>

> +<use xlink:href="#queue_symbol" x="1107" y="-455"/>

> +<text text-anchor="start" x="1115" y="-460" font-family="Times,serif"

> font-size="10.00">q28</text>

> +</g>

> +

> +<!-- a1 -->

> +<g id="node33" class="node"><title>a1</title>

> +<use xlink:href="#ArbiterLevel3" x="1130" y="-325"/>

> +<text text-anchor="middle" x="1157" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;18</text>

> +</g>

> +

> +<!-- q28&#45;&gt;a1 -->

> +<g id="edge1" class="edge"><title>q28&#45;&gt;a1</title>

> +<path fill="none" stroke="green" d="M1127.59,-386.63C1130.6,-378.651

> 1133.9,-369.975 1137,-362 1140.46,-353.106 1144.34,-343.356

> 1147.75,-334.847"/>

> +<polygon fill="green" stroke="green" points="1151.01,-336.137

> 1151.5,-325.553 1144.51,-333.521 1151.01,-336.137"/>

> +</g>

> +

> +<!-- q29 -->

> +<g id="node2" class="node"><title>q29</title>

> +<use xlink:href="#queue_symbol" x="1146" y="-455"/>

> +<text text-anchor="middle" x="1154" y="-460" font-family="Times,serif"

> font-size="10.00">q29</text>

> +</g>

> +<!-- q29&#45;&gt;a1 -->

> +

> +<g id="edge2" class="edge"><title>q29&#45;&gt;a1</title>

> +<path fill="none" stroke="green" d="M1157,-361.991C1157,-352.879

> 1157,-343.829 1157,-335.985"/>

> +<polygon fill="green" stroke="green" points="1160.5,-335.817

> 1157,-325.818 1153.5,-335.818 1160.5,-335.817"/>

> +</g>

> +

> +<!-- q30 -->

> +<g id="node3" class="node"><title>q30</title>

> +<use xlink:href="#queue_symbol" x="1186" y="-455"/>

> +<text text-anchor="middle" x="1194" y="-460" font-family="Times,serif"

> font-size="10.00">q30</text>

> +</g>

> +<!-- q30&#45;&gt;a1 -->

> +

> +<g id="edge3" class="edge"><title>q30&#45;&gt;a1</title>

> +<path fill="none" stroke="green" d="M1186.49,-387.938C1180.11,-371.51

> 1172.05,-350.762 1165.97,-335.107"/>

> +<polygon fill="green" stroke="green" points="1169.18,-333.706

> 1162.3,-325.651 1162.66,-336.24 1169.18,-333.706"/>

> +</g>

> +

> +<!-- q31 -->

> +<g id="node4" class="node"><title>q31</title>

> +<use xlink:href="#queue_symbol" x="1226" y="-455"/>

> +<text text-anchor="middle" x="1234" y="-460" font-family="Times,serif"

> font-size="10.00">q31</text>

> +</g>

> +<!-- q31&#45;&gt;a1 -->

> +

> +<g id="edge4" class="edge"><title>q31&#45;&gt;a1</title>

> +<path fill="none" stroke="green" d="M1226.49,-381.191C1223.63,-374.515

> 1220.16,-367.789 1216,-362 1206.05,-348.132 1191.43,-335.706

> 1179.23,-326.71"/>

> +<polygon fill="green" stroke="green" points="1181.06,-323.719

> 1170.88,-320.795 1177.02,-329.431 1181.06,-323.719"/>

> +</g>

> +

> +<!-- q25 -->

> +<g id="node5" class="node"><title>q25</title>

> +<use xlink:href="#queue_symbol" x="988" y="-455"/>

> +<text text-anchor="middle" x="996" y="-460" font-family="Times,serif"

> font-size="10.00">q25</text>

> +</g>

> +

> +<!-- a2 -->

> +<g id="node34" class="node"><title>a2</title>

> +<use xlink:href="#ArbiterLevel3" x="998" y="-325"/>

> +<text text-anchor="middle" x="1025" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;16</text>

> +</g>

> +

> +<!-- q25&#45;&gt;a2 -->

> +<g id="edge5" class="edge"><title>q25&#45;&gt;a2</title>

> +<path fill="none" stroke="green" d="M1007.51,-376.354C1011.25,-362.579

> 1015.35,-347.493 1018.64,-335.392"/>

> +<polygon fill="green" stroke="green" points="1022.05,-336.202

> 1021.29,-325.634 1015.29,-334.366 1022.05,-336.202"/>

> +</g>

> +

> +<!-- q26 -->

> +<g id="node6" class="node"><title>q26</title>

> +<use xlink:href="#queue_symbol" x="1030" y="-455"/>

> +<text text-anchor="middle" x="1038" y="-460" font-family="Times,serif"

> font-size="10.00">q26</text>

> +</g>

> +

> +<!-- q26&#45;&gt;a2 -->

> +<g id="edge6" class="edge"><title>q26&#45;&gt;a2</title>

> +<path fill="none" stroke="green" d="M1030.82,-361.991C1029.76,-352.879

> 1028.71,-343.829 1027.79,-335.985"/>

> +<polygon fill="green" stroke="green" points="1031.24,-335.345

> 1026.61,-325.818 1024.29,-336.155 1031.24,-335.345"/>

> +</g>

> +

> +<!-- q27 -->

> +<g id="node7" class="node"><title>q27</title>

> +<use xlink:href="#queue_symbol" x="1071" y="-455"/>

> +<text text-anchor="middle" x="1079" y="-460" font-family="Times,serif"

> font-size="10.00">q27</text>

> +</g>

> +

> +<!-- a3 -->

> +<g id="node35" class="node"><title>a3</title>

> +<use xlink:href="#ArbiterLevel3" x="1059" y="-325"/>

> +<text text-anchor="middle" x="1086" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;17</text>

> +</g>

> +

> +<!-- q27&#45;&gt;a3 -->

> +<g id="edge7" class="edge"><title>q27&#45;&gt;a3</title>

> +<path fill="none" stroke="green" d="M1081.63,-361.991C1082.43,-352.879

> 1083.22,-343.829 1083.9,-335.985"/>

> +<polygon fill="green" stroke="green" points="1087.41,-336.084

> 1084.79,-325.818 1080.44,-335.475 1087.41,-336.084"/>

> +</g>

> +

> +<!-- q32 -->

> +<g id="node8" class="node"><title>q32</title>

> +<use xlink:href="#queue_symbol" x="1267" y="-455"/>

> +<text text-anchor="middle" x="1274" y="-460" font-family="Times,serif"

> font-size="10.00">q32</text>

> +</g>

> +

> +<!-- a4 -->

> +<g id="node36" class="node"><title>a4</title>

> +<use xlink:href="#ArbiterLevel3" x="1220" y="-325"/>

> +<text text-anchor="middle" x="1247" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;19</text>

> +</g>

> +<!-- q32&#45;&gt;a4 -->

> +

> +<g id="edge8" class="edge"><title>q32&#45;&gt;a4</title>

> +<path fill="none" stroke="green" d="M1266.42,-378.686C1262.23,-364.297

> 1257.54,-348.171 1253.81,-335.381"/>

> +<polygon fill="green" stroke="green" points="1257.1,-334.156

> 1250.94,-325.534 1250.38,-336.114 1257.1,-334.156"/>

> +</g>

> +

> +<!-- q16 -->

> +<g id="node9" class="node"><title>q16</title>

> +<use xlink:href="#queue_symbol" x="628" y="-455"/>

> +<text text-anchor="middle" x="636" y="-460" font-family="Times,serif"

> font-size="10.00">q16</text>

> +</g>

> +

> +<!-- a5 -->

> +<g id="node37" class="node"><title>a5</title>

> +<use xlink:href="#ArbiterLevel3" x="648" y="-325"/>

> +<text text-anchor="middle" x="675" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;11</text>

> +</g>

> +<!-- q16&#45;&gt;a5 -->

> +

> +<g id="edge9" class="edge"><title>q16&#45;&gt;a5</title>

> +<path fill="none" stroke="green" d="M647.585,-386.309C653.509,-370.252

> 660.801,-350.488 666.374,-335.38"/>

> +<polygon fill="green" stroke="green" points="669.743,-336.361

> 669.921,-325.767 663.176,-333.938 669.743,-336.361"/>

> +</g>

> +

> +<!-- q17 -->

> +<g id="node10" class="node"><title>q17</title>

> +<use xlink:href="#queue_symbol" x="670" y="-455"/>

> +<text text-anchor="middle" x="677" y="-460" font-family="Times,serif"

> font-size="10.00">q17</text>

> +</g>

> +

> +<!-- q17&#45;&gt;a5 -->

> +<g id="edge10" class="edge"><title>q17&#45;&gt;a5</title>

> +<path fill="none" stroke="green" d="M675.971,-361.991C675.794,-352.879

> 675.618,-343.829 675.466,-335.985"/>

> +<polygon fill="green" stroke="green" points="678.962,-335.748

> 675.268,-325.818 671.963,-335.884 678.962,-335.748"/>

> +</g>

> +

> +<!-- q18 -->

> +<g id="node11" class="node"><title>q18</title>

> +<use xlink:href="#queue_symbol" x="712" y="-455"/>

> +<text text-anchor="middle" x="717" y="-460" font-family="Times,serif"

> font-size="10.00">q18</text>

> +</g>

> +

> +<!-- a6 -->

> +<g id="node38" class="node"><title>a6</title>

> +<use xlink:href="#ArbiterLevel3" x="709" y="-325"/>

> +<text text-anchor="middle" x="736" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;12</text>

> +</g>

> +<!-- q18&#45;&gt;a6 -->

> +

> +<g id="edge11" class="edge"><title>q18&#45;&gt;a6</title>

> +<path fill="none" stroke="green" d="M726.778,-361.991C728.479,-352.774

> 730.167,-343.621 731.625,-335.715"/>

> +<polygon fill="green" stroke="green" points="735.079,-336.287

> 733.451,-325.818 728.195,-335.017 735.079,-336.287"/>

> +</g>

> +

> +<!-- q19 -->

> +<g id="node12" class="node"><title>q19</title>

> +<use xlink:href="#queue_symbol" x="750" y="-455"/>

> +<text text-anchor="middle" x="758" y="-460" font-family="Times,serif"

> font-size="10.00">q19</text>

> +</g>

> +<!-- q19&#45;&gt;a6 -->

> +

> +<g id="edge12" class="edge"><title>q19&#45;&gt;a6</title>

> +<path fill="none" stroke="green" d="M746.438,-363.198C744.478,-353.585

> 742.521,-343.985 740.84,-335.739"/>

> +<polygon fill="green" stroke="green" points="744.239,-334.892

> 738.812,-325.793 737.38,-336.29 744.239,-334.892"/>

> +</g>

> +

> +<!-- q20 -->

> +<g id="node13" class="node"><title>q20</title>

> +<use xlink:href="#queue_symbol" x="792" y="-455"/>

> +<text text-anchor="middle" x="797" y="-460" font-family="Times,serif"

> font-size="10.00">q20</text>

> +</g>

> +

> +<!-- a7 -->

> +<g id="node39" class="node"><title>a7</title>

> +<use xlink:href="#ArbiterLevel3" x="770" y="-325"/>

> +<text text-anchor="middle" x="797" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;13</text>

> +</g>

> +<!-- q20&#45;&gt;a7 -->

> +

> +<g id="edge13" class="edge"><title>q20&#45;&gt;a7</title>

> +<path fill="none" stroke="green" d="M797,-361.991C797,-352.879

> 797,-343.829 797,-335.985"/>

> +<polygon fill="green" stroke="green" points="800.5,-335.817 797,-325.818

> 793.5,-335.818 800.5,-335.817"/>

> +</g>

> +

> +<!-- q21 -->

> +<g id="node14" class="node"><title>q21</title>

> +<use xlink:href="#queue_symbol" x="832" y="-455"/>

> +<text text-anchor="middle" x="837" y="-460" font-family="Times,serif"

> font-size="10.00">q21</text>

> +</g>

> +

> +<!-- a8 -->

> +<g id="node40" class="node"><title>a8</title>

> +<use xlink:href="#ArbiterLevel3" x="834" y="-325"/>

> +<text text-anchor="middle" x="861" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;14</text>

> +</g>

> +<!-- q21&#45;&gt;a8 -->

> +

> +<g id="edge14" class="edge"><title>q21&#45;&gt;a8</title>

> +<path fill="none" stroke="green" d="M847.527,-369.823C850.294,-357.948

> 853.167,-345.618 855.545,-335.41"/>

> +<polygon fill="green" stroke="green" points="858.959,-336.181

> 857.82,-325.648 852.142,-334.593 858.959,-336.181"/>

> +</g>

> +

> +<!-- q22 -->

> +<g id="node15" class="node"><title>q22</title>

> +<use xlink:href="#queue_symbol" x="870" y="-455"/>

> +<text text-anchor="middle" x="878" y="-460" font-family="Times,serif"

> font-size="10.00">q22</text>

> +</g>

> +<!-- q22&#45;&gt;a8 -->

> +

> +<g id="edge15" class="edge"><title>q22&#45;&gt;a8</title>

> +<path fill="none" stroke="green" d="M868.766,-361.991C867.334,-352.774

> 865.912,-343.621 864.684,-335.715"/>

> +<polygon fill="green" stroke="green" points="868.14,-335.162

> 863.146,-325.818 861.223,-336.236 868.14,-335.162"/>

> +</g>

> +

> +<!-- q23 -->

> +<g id="node16" class="node"><title>q23</title>

> +<use xlink:href="#queue_symbol" x="910" y="-455"/>

> +<text text-anchor="middle" x="917" y="-460" font-family="Times,serif"

> font-size="10.00">q23</text>

> +</g>

> +

> +<!-- a9 -->

> +<g id="node41" class="node"><title>a9</title>

> +<use xlink:href="#ArbiterLevel3" x="895" y="-325"/>

> +<text text-anchor="middle" x="922" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;15</text>

> +</g>

> +<!-- q23&#45;&gt;a9 -->

> +

> +<g id="edge16" class="edge"><title>q23&#45;&gt;a9</title>

> +<path fill="none" stroke="green" d="M919.573,-361.991C920.016,-352.879

> 920.455,-343.829 920.836,-335.985"/>

> +<polygon fill="green" stroke="green" points="924.34,-335.976

> 921.329,-325.818 917.348,-335.636 924.34,-335.976"/>

> +</g>

> +

> +<!-- q24 -->

> +<g id="node17" class="node"><title>q24</title>

> +<use xlink:href="#queue_symbol" x="948" y="-455"/>

> +<text text-anchor="middle" x="956" y="-460" font-family="Times,serif"

> font-size="10.00">q24</text>

> +</g>

> +<!-- q24&#45;&gt;a9 -->

> +

> +<g id="edge17" class="edge"><title>q24&#45;&gt;a9</title>

> +<path fill="none" stroke="green" d="M946.499,-384.097C941.184,-368.457

> 934.839,-349.782 929.937,-335.358"/>

> +<polygon fill="green" stroke="green" points="933.19,-334.053

> 926.659,-325.711 926.563,-336.305 933.19,-334.053"/>

> +</g>

> +

> +<!-- q1 -->

> +<g id="node18" class="node"><title>q1</title>

> +<use xlink:href="#queue_symbol" x="12" y="-455"/>

> +<text text-anchor="middle" x="20" y="-460" font-family="Times,serif"

> font-size="10.00">q1</text>

> +</g>

> +

> +<!-- a10 -->

> +<g id="node42" class="node"><title>a10</title>

> +<use xlink:href="#ArbiterLevel3" x="-6" y="-325"/>

> +<text text-anchor="middle" x="21" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;1</text>

> +</g>

> +<!-- q1&#45;&gt;a10 -->

> +

> +<g id="edge18" class="edge"><title>q1&#45;&gt;a10</title>

> +<path fill="none" stroke="green" d="M21,-361.991C21,-352.879 21,-343.829

> 21,-335.985"/>

> +<polygon fill="green" stroke="green" points="24.5001,-335.817 21,-325.818

> 17.5001,-335.818 24.5001,-335.817"/>

> +</g>

> +

> +<!-- q2 -->

> +<g id="node19" class="node"><title>q2</title>

> +<use xlink:href="#queue_symbol" x="59" y="-455"/>

> +<text text-anchor="middle" x="64" y="-460" font-family="Times,serif"

> font-size="10.00">q2</text>

> +</g>

> +

> +<!-- a11 -->

> +<g id="node43" class="node"><title>a11</title>

> +<use xlink:href="#ArbiterLevel3" x="55" y="-325"/>

> +<text text-anchor="middle" x="82" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;2</text>

> +</g>

> +<!-- q2&#45;&gt;a11 -->

> +

> +<g id="edge19" class="edge"><title>q2&#45;&gt;a11</title>

> +<path fill="none" stroke="green" d="M73.2636,-361.991C74.8745,-352.774

> 76.474,-343.621 77.8557,-335.715"/>

> +<polygon fill="green" stroke="green" points="81.3115,-336.271

> 79.5853,-325.818 74.416,-335.066 81.3115,-336.271"/>

> +</g>

> +

> +<!-- q3 -->

> +<g id="node20" class="node"><title>q3</title>

> +<use xlink:href="#queue_symbol" x="94" y="-455"/>

> +<text text-anchor="start" x="99" y="-460" font-family="Times,serif"

> font-size="10.00">q3</text>

> +</g>

> +

> +<!-- a12-->

> +<g id="node44" class="node"><title>a12</title>

> +<use xlink:href="#ArbiterLevel3" x="116" y="-325"/>

> +<text text-anchor="middle" x="143" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;3</text>

> +</g>

> +<!-- q3&#45;&gt;a12 -->

> +

> +<g id="edge20" class="edge"><title>q3&#45;&gt;a12</title>

> +<path fill="none" stroke="green" d="M114.575,-386.939C117.614,-378.886

> 120.935,-370.094 124,-362 127.32,-353.233 130.976,-343.605

> 134.187,-335.158"/>

> +<polygon fill="green" stroke="green" points="137.547,-336.17

> 137.83,-325.578 131.004,-333.681 137.547,-336.17"/>

> +</g>

> +

> +<!-- q4 -->

> +<g id="node21" class="node"><title>q4</title>

> +<use xlink:href="#queue_symbol" x="137" y="-455"/>

> +<text text-anchor="middle" x="144" y="-460" font-family="Times,serif"

> font-size="10.00">q4</text>

> +</g>

> +<!-- q4&#45;&gt;a12 -->

> +

> +<g id="edge21" class="edge"><title>q4&#45;&gt;a12</title>

> +<path fill="none" stroke="green" d="M143.485,-361.991C143.397,-352.879

> 143.309,-343.829 143.233,-335.985"/>

> +<polygon fill="green" stroke="green" points="146.731,-335.783

> 143.134,-325.818 139.731,-335.851 146.731,-335.783"/>

> +</g>

> +

> +<!-- q5 -->

> +<g id="node22" class="node"><title>q5</title>

> +<use xlink:href="#queue_symbol" x="176" y="-455"/>

> +<text text-anchor="middle" x="184" y="-460" font-family="Times,serif"

> font-size="10.00">q5</text>

> +</g>

> +

> +<!-- a13 -->

> +<g id="node45" class="node"><title>a13</title>

> +<use xlink:href="#ArbiterLevel3" x="186" y="-325"/>

> +<text text-anchor="middle" x="213" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;4</text>

> +</g>

> +<!-- q5&#45;&gt;a13 -->

> +

> +<g id="edge22" class="edge"><title>q5&#45;&gt;a13</title>

> +<path fill="none" stroke="green" d="M194.552,-377.523C198.485,-363.554

> 202.837,-348.095 206.327,-335.702"/>

> +<polygon fill="green" stroke="green" points="209.797,-336.289

> 209.138,-325.715 203.059,-334.392 209.797,-336.289"/>

> +</g>

> +

> +<!-- q6 -->

> +<g id="node23" class="node"><title>q6</title>

> +<use xlink:href="#queue_symbol" x="219" y="-455"/>

> +<text text-anchor="middle" x="224" y="-460" font-family="Times,serif"

> font-size="10.00">q6</text>

> +</g>

> +<!-- q6&#45;&gt;a13 -->

> +

> +<g id="edge23" class="edge"><title>q6&#45;&gt;a13</title>

> +<path fill="none" stroke="green" d="M218.339,-361.991C217.366,-352.879

> 216.399,-343.829 215.561,-335.985"/>

> +<polygon fill="green" stroke="green" points="219.018,-335.389

> 214.476,-325.818 212.057,-336.133 219.018,-335.389"/>

> +</g>

> +

> +<!-- q7 -->

> +<g id="node24" class="node"><title>q7</title>

> +<use xlink:href="#queue_symbol" x="259" y="-455"/>

> +<text text-anchor="middle" x="264" y="-460" font-family="Times,serif"

> font-size="10.00">q7</text>

> +</g>

> +

> +<!-- a14 -->

> +<g id="node46" class="node"><title>a14</title>

> +<use xlink:href="#ArbiterLevel3" x="247" y="-325"/>

> +<text text-anchor="middle" x="274" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;5</text>

> +</g>

> +<!-- q7&#45;&gt;a14 -->

> +

> +<g id="edge24" class="edge"><title>q7&#45;&gt;a14</title>

> +<path fill="none" stroke="green" d="M269.146,-361.991C270.031,-352.879

> 270.91,-343.829 271.671,-335.985"/>

> +<polygon fill="green" stroke="green" points="275.176,-336.109

> 272.658,-325.818 268.208,-335.432 275.176,-336.109"/>

> +</g>

> +

> +<!-- q8 -->

> +<g id="node25" class="node"><title>q8</title>

> +<use xlink:href="#queue_symbol" x="295" y="-455"/>

> +<text text-anchor="middle" x="303" y="-460" font-family="Times,serif"

> font-size="10.00">q8</text>

> +</g>

> +<!-- q8&#45;&gt;a14 -->

> +

> +<g id="edge25" class="edge"><title>q8&#45;&gt;a14</title>

> +<path fill="none" stroke="green" d="M293.423,-378.686C289.232,-364.297

> 284.535,-348.171 280.81,-335.381"/>

> +<polygon fill="green" stroke="green" points="284.099,-334.156

> 277.942,-325.534 277.378,-336.114 284.099,-334.156"/>

> +</g>

> +

> +<!-- q9 -->

> +<g id="node26" class="node"><title>q9</title>

> +<use xlink:href="#queue_symbol" x="339" y="-455"/>

> +<text text-anchor="middle" x="344" y="-460" font-family="Times,serif"

> font-size="10.00">q9</text>

> +</g>

> +

> +<!-- a15 -->

> +<g id="node47" class="node"><title>a15</title>

> +<use xlink:href="#ArbiterLevel3" x="308" y="-325"/>

> +<text text-anchor="middle" x="335" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;6</text>

> +</g>

> +<!-- q9&#45;&gt;a15 -->

> +

> +<g id="edge26" class="edge"><title>q9&#45;&gt;a15</title>

> +<path fill="none" stroke="green" d="M339.368,-361.991C338.572,-352.879

> 337.781,-343.829 337.096,-335.985"/>

> +<polygon fill="green" stroke="green" points="340.565,-335.475

> 336.207,-325.818 333.591,-336.084 340.565,-335.475"/>

> +</g>

> +

> +<!-- q10 -->

> +<g id="node27" class="node"><title>q10</title>

> +<use xlink:href="#queue_symbol" x="389" y="-455"/>

> +<text text-anchor="middle" x="396" y="-460" font-family="Times,serif"

> font-size="10.00">q10</text>

> +</g>

> +

> +<!-- a16 -->

> +<g id="node48" class="node"><title>a16</title>

> +<use xlink:href="#ArbiterLevel3" x="369" y="-325"/>

> +<text text-anchor="middle" x="396" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;7</text>

> +</g>

> +<!-- q10&#45;&gt;a16 -->

> +

> +<g id="edge27" class="edge"><title>q10&#45;&gt;a16</title>

> +<path fill="none" stroke="green" d="M396,-361.991C396,-352.879

> 396,-343.829 396,-335.985"/>

> +<polygon fill="green" stroke="green" points="399.5,-335.817 396,-325.818

> 392.5,-335.818 399.5,-335.817"/>

> +</g>

> +

> +<!-- q11 -->

> +<g id="node28" class="node"><title>q11</title>

> +<use xlink:href="#queue_symbol" x="432" y="-455"/>

> +<text text-anchor="middle" x="437" y="-460" font-family="Times,serif"

> font-size="10.00">q11</text>

> +</g>

> +

> +<!-- a17 -->

> +<g id="node49" class="node"><title>a17</title>

> +<use xlink:href="#ArbiterLevel3" x="430" y="-325"/>

> +<text text-anchor="middle" x="457" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;8</text>

> +</g>

> +<!-- q11&#45;&gt;a17 -->

> +

> +<g id="edge28" class="edge"><title>q11&#45;&gt;a17</title>

> +<path fill="none" stroke="green" d="M447.293,-361.991C449.083,-352.774

> 450.86,-343.621 452.395,-335.715"/>

> +<polygon fill="green" stroke="green" points="455.847,-336.301

> 454.317,-325.818 448.975,-334.967 455.847,-336.301"/>

> +</g>

> +

> +<!-- q12 -->

> +<g id="node29" class="node"><title>q12</title>

> +<use xlink:href="#queue_symbol" x="468" y="-455"/>

> +<text text-anchor="middle" x="476" y="-460" font-family="Times,serif"

> font-size="10.00">q12</text>

> +</g>

> +<!-- q12&#45;&gt;a17 -->

> +

> +<g id="edge29" class="edge"><title>q12&#45;&gt;a17</title>

> +<path fill="none" stroke="green" d="M466.707,-361.991C464.917,-352.774

> 463.14,-343.621 461.605,-335.715"/>

> +<polygon fill="green" stroke="green" points="465.025,-334.967

> 459.683,-325.818 458.153,-336.301 465.025,-334.967"/>

> +</g>

> +

> +<!-- q13 -->

> +<g id="node30" class="node"><title>q13</title>

> +<use xlink:href="#queue_symbol" x="512" y="-455"/>

> +<text text-anchor="middle" x="517" y="-460" font-family="Times,serif"

> font-size="10.00">q13</text>

> +</g>

> +

> +<!-- a18 -->

> +<g id="node50" class="node"><title>a18</title>

> +<use xlink:href="#ArbiterLevel3" x="491" y="-325"/>

> +<text text-anchor="middle" x="518" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;9</text>

> +</g>

> +<!-- q13&#45;&gt;a18 -->

> +

> +<g id="edge30" class="edge"><title>q13&#45;&gt;a18</title>

> +<path fill="none" stroke="green" d="M517.515,-361.991C517.603,-352.879

> 517.691,-343.829 517.767,-335.985"/>

> +<polygon fill="green" stroke="green" points="521.269,-335.851

> 517.866,-325.818 514.269,-335.783 521.269,-335.851"/>

> +</g>

> +

> +<!-- q14 -->

> +<g id="node31" class="node"><title>q14</title>

> +<use xlink:href="#queue_symbol" x="552" y="-455"/>

> +<text text-anchor="middle" x="557" y="-460" font-family="Times,serif"

> font-size="10.00">q14</text>

> +</g>

> +

> +<!-- a19 -->

> +<g id="node51" class="node"><title>a19</title>

> +<use xlink:href="#ArbiterLevel3" x="552" y="-325"/>

> +<text text-anchor="middle" x="579" y="-308.5" font-family="Times,serif"

> font-size="10.00">User&#45;10</text>

> +</g>

> +<!-- q14&#45;&gt;a19 -->

> +

> +<g id="edge31" class="edge"><title>q14&#45;&gt;a19</title>

> +<path fill="none" stroke="green" d="M567.549,-365.612C569.775,-355.187

> 572.027,-344.648 573.937,-335.704"/>

> +<polygon fill="green" stroke="green" points="577.407,-336.213

> 576.073,-325.703 570.562,-334.751 577.407,-336.213"/>

> +</g>

> +

> +<!-- q15 -->

> +<g id="node32" class="node"><title>q15</title>

> +<use xlink:href="#queue_symbol" x="589" y="-455"/>

> +<text text-anchor="middle" x="597" y="-460" font-family="Times,serif"

> font-size="10.00">q15</text>

> +</g>

> +<!-- q15&#45;&gt;a19 -->

> +

> +<g id="edge32" class="edge"><title>q15&#45;&gt;a19</title>

> +<path fill="none" stroke="green" d="M587.736,-361.991C586.126,-352.774

> 584.526,-343.621 583.144,-335.715"/>

> +<polygon fill="green" stroke="green" points="586.584,-335.066

> 581.415,-325.818 579.689,-336.271 586.584,-335.066"/>

> +</g>

> +<!-- b1 -->

> +<g id="node52" class="node"><title>b1</title>

> +<use xlink:href="#ArbiterLevel2" x="1023" y="-260"/>

> +<text text-anchor="middle" x="1086" y="-238.9" font-family="Times,serif"

> font-size="12.00">Gold&#45;C3</text>

> +</g>

> +<!-- a1&#45;&gt;b1 -->

> +<g id="edge33" class="edge"><title>a1&#45;&gt;b1</title>

> +<path fill="none" stroke="black" d="M1142.63,-296.442C1133.7,-288.011

> 1121.96,-276.931 1111.48,-267.046"/>

> +<polygon fill="black" stroke="black" points="1113.81,-264.433

> 1104.14,-260.116 1109.01,-269.524 1113.81,-264.433"/>

> +</g>

> +<!-- a2&#45;&gt;b1 -->

> +<g id="edge34" class="edge"><title>a2&#45;&gt;b1</title>

> +<path fill="none" stroke="black" d="M1037.34,-296.442C1044.82,-288.235

> 1054.57,-277.518 1063.39,-267.837"/>

> +<polygon fill="black" stroke="black" points="1066.05,-270.114

> 1070.19,-260.363 1060.87,-265.401 1066.05,-270.114"/>

> +</g>

> +<!-- a3&#45;&gt;b1 -->

> +<g id="edge35" class="edge"><title>a3&#45;&gt;b1</title>

> +<path fill="none" stroke="black" d="M1086,-296.442C1086,-288.966

> 1086,-279.408 1086,-270.447"/>

> +<polygon fill="black" stroke="black" points="1089.5,-270.363

> 1086,-260.363 1082.5,-270.363 1089.5,-270.363"/>

> +</g>

> +

> +<!-- a4&#45;&gt;b1 -->

> +<g id="edge36" class="edge"><title>a4&#45;&gt;b1</title>

> +<path fill="none" stroke="black" d="M1237.26,-295.3 L 1138,-265"/>

> +<use transform="rotate(70, 1134,-265)" xlink:href="#DownArrowColor2"

> x="1128" y="-272"/>

> +</g>

> +

> +<!-- b2 -->

> +<g id="node53" class="node"><title>b2</title>

> +<use xlink:href="#ArbiterLevel2" x="675" y="-260"/>

> +<text text-anchor="middle" x="736" y="-238.9" font-family="Times,serif"

> font-size="12.00">Bronze&#45;C3</text>

> +</g>

> +<!-- a5&#45;&gt;b2 -->

> +<g id="edge37" class="edge"><title>a5&#45;&gt;b2</title>

> +<path fill="none" stroke="black" d="M687.344,-296.442C694.816,-288.235

> 704.573,-277.518 713.387,-267.837"/>

> +<polygon fill="black" stroke="black" points="716.048,-270.114

> 720.192,-260.363 710.872,-265.401 716.048,-270.114"/>

> +</g>

> +<!-- a6&#45;&gt;b2 -->

> +<g id="edge38" class="edge"><title>a6&#45;&gt;b2</title>

> +<path fill="none" stroke="black" d="M736,-296.442C736,-288.966

> 736,-279.408 736,-270.447"/>

> +<polygon fill="black" stroke="black" points="739.5,-270.363 736,-260.363

> 732.5,-270.363 739.5,-270.363"/>

> +</g>

> +<!-- a7&#45;&gt;b2 -->

> +<g id="edge39" class="edge"><title>a7&#45;&gt;b2</title>

> +<path fill="none" stroke="black" d="M784.656,-296.442C777.184,-288.235

> 767.427,-277.518 758.613,-267.837"/>

> +<polygon fill="black" stroke="black" points="761.128,-265.401

> 751.808,-260.363 755.952,-270.114 761.128,-265.401"/>

> +</g>

> +<!-- b3 -->

> +<g id="node54" class="node"><title>b3</title>

> +<use xlink:href="#ArbiterLevel2" x="807" y="-260"/>

> +<text text-anchor="middle" x="865" y="-238.9" font-family="Times,serif"

> font-size="12.00">Silver&#45;C3</text>

> +</g>

> +<!-- a8&#45;&gt;b3 -->

> +<g id="edge40" class="edge"><title>a8&#45;&gt;b3</title>

> +<path fill="none" stroke="black" d="M861.809,-296.442C862.256,-288.966

> 862.826,-279.408 863.361,-270.447"/>

> +<polygon fill="black" stroke="black" points="866.861,-270.554

> 863.963,-260.363 859.874,-270.137 866.861,-270.554"/>

> +</g>

> +

> +<!-- a9&#45;&gt;b3 -->

> +<g id="edge41" class="edge"><title>a9&#45;&gt;b3</title>

> +<path fill="none" stroke="black" d="M920,-297 L 909,-269"/>

> +<use transform="rotate(18, 908,-268)" xlink:href="#DownArrowColor2"

> x="901.5" y="-271"/>

> +</g>

> +

> +<!-- b4 -->

> +<g id="node55" class="node"><title>b4</title>

> +<use xlink:href="#ArbiterLevel2" x="57" y="-260"/>

> +<text text-anchor="middle" x="111" y="-238.9" font-family="Times,serif"

> font-size="12.00">Regular&#45;C1</text>

> +</g>

> +<!-- a10&#45;&gt;b4 -->

> +<g id="edge42" class="edge"><title>a10&#45;&gt;b4</title>

> +<path fill="none" stroke="black" d="M39.2128,-296.442C50.8676,-287.765

> 66.2915,-276.283 79.8547,-266.186"/>

> +<polygon fill="black" stroke="black" points="82.0776,-268.895

> 88.0089,-260.116 77.8976,-263.28 82.0776,-268.895"/>

> +</g>

> +<!-- a11&#45;&gt;b4 -->

> +<g id="edge43" class="edge"><title>a11&#45;&gt;b4</title>

> +<path fill="none" stroke="black" d="M87.8686,-296.442C91.2097,-288.722

> 95.5122,-278.782 99.4985,-269.572"/>

> +<polygon fill="black" stroke="black" points="102.724,-270.931

> 103.485,-260.363 96.3003,-268.15 102.724,-270.931"/>

> +</g>

> +<!-- a12&#45;&gt;b4 -->

> +<g id="edge44" class="edge"><title>a12&#45;&gt;b4</title>

> +<path fill="none" stroke="black" d="M136.524,-296.442C132.838,-288.722

> 128.09,-278.782 123.691,-269.572"/>

> +<polygon fill="black" stroke="black" points="126.761,-267.878

> 119.293,-260.363 120.444,-270.895 126.761,-267.878"/>

> +</g>

> +<!-- b5 -->

> +<g id="node56" class="node"><title>b5</title>

> +<use xlink:href="#ArbiterLevel2" x="217" y="-260"/>

> +<text text-anchor="middle" x="274" y="-238.9" font-family="Times,serif"

> font-size="12.00">Premium&#45;C1</text>

> +</g>

> +<!-- a13&#45;&gt;b5 -->

> +<g id="edge45" class="edge"><title>a13&#45;&gt;b5</title>

> +<path fill="none" stroke="black" d="M225.344,-296.442C232.816,-288.235

> 242.573,-277.518 251.387,-267.837"/>

> +<polygon fill="black" stroke="black" points="254.048,-270.114

> 258.192,-260.363 248.872,-265.401 254.048,-270.114"/>

> +</g>

> +<!-- a14&#45;&gt;b5 -->

> +<g id="edge46" class="edge"><title>a14&#45;&gt;b5</title>

> +<path fill="none" stroke="black" d="M274,-296.442C274,-288.966

> 274,-279.408 274,-270.447"/>

> +<polygon fill="black" stroke="black" points="277.5,-270.363 274,-260.363

> 270.5,-270.363 277.5,-270.363"/>

> +</g>

> +<!-- a15&#45;&gt;b5 -->

> +<g id="edge47" class="edge"><title>a15&#45;&gt;b5</title>

> +<path fill="none" stroke="black" d="M322.656,-296.442C315.184,-288.235

> 305.427,-277.518 296.613,-267.837"/>

> +<polygon fill="black" stroke="black" points="299.128,-265.401

> 289.808,-260.363 293.952,-270.114 299.128,-265.401"/>

> +</g>

> +<!-- b6 -->

> +<g id="node57" class="node"><title>b6</title>

> +<use xlink:href="#ArbiterLevel2" x="366" y="-260"/>

> +<text text-anchor="middle" x="427" y="-238.9" font-family="Times,serif"

> font-size="12.00">Normal&#45;C2</text>

> +</g>

> +<!-- a16&#45;&gt;b6 -->

> +<g id="edge48" class="edge"><title>a16&#45;&gt;b6</title>

> +<path fill="none" stroke="black" d="M402.273,-296.442C405.845,-288.722

> 410.444,-278.782 414.705,-269.572"/>

> +<polygon fill="black" stroke="black" points="417.944,-270.908

> 418.966,-260.363 411.591,-267.969 417.944,-270.908"/>

> +</g>

> +<!-- a17&#45;&gt;b6 -->

> +<g id="edge49" class="edge"><title>a17&#45;&gt;b6</title>

> +<path fill="none" stroke="black" d="M450.929,-296.442C447.473,-288.722

> 443.022,-278.782 438.898,-269.572"/>

> +<polygon fill="black" stroke="black" points="442.056,-268.06

> 434.775,-260.363 435.667,-270.92 442.056,-268.06"/>

> +</g>

> +<!-- b7 -->

> +<g id="node58" class="node"><title>b7</title>

> +<use xlink:href="#ArbiterLevel2" x="502" y="-260"/>

> +<text text-anchor="middle" x="559" y="-238.9" font-family="Times,serif"

> font-size="12.00">Turbo&#45;C2</text>

> +</g>

> +<!-- a18&#45;&gt;b7 -->

> +<g id="edge50" class="edge"><title>a18&#45;&gt;b7</title>

> +<path fill="none" stroke="black" d="M526.297,-296.442C531.12,-288.56

> 537.36,-278.363 543.095,-268.992"/>

> +<polygon fill="black" stroke="black" points="546.141,-270.72

> 548.375,-260.363 540.17,-267.066 546.141,-270.72"/>

> +</g>

> +<!-- a19&#45;&gt;b7 -->

> +<g id="edge51" class="edge"><title>a19&#45;&gt;b7</title>

> +<path fill="none" stroke="black" d="M574.953,-296.442C572.697,-288.885

> 569.806,-279.2 567.106,-270.155"/>

> +<polygon fill="black" stroke="black" points="570.397,-268.944

> 564.183,-260.363 563.69,-270.946 570.397,-268.944"/>

> +</g>

> +

> +<!-- c3 -->

> +<g id="node59" class="node"><title>c3</title>

> +<use xlink:href="#ArbiterLevel1" x="735" y="-179"/>

> +<text text-anchor="middle" x="785" y="-146" font-family="Times,serif"

> font-size="12.00">Company3</text>

> +</g>

> +

> +<!-- b1&#45;&gt;c3 -->

> +

> +<g id="edge52" class="edge"><title>b1&#45;&gt;c3</title>

> +<path fill="none" stroke="green" d="M1043,-227.072 L 845.759,-167.08"/>

> +<polygon fill="green" stroke="green" points="846.633,-163.687

> 836.046,-164.091 844.574,-170.377 846.633,-163.687"/>

> +</g>

> +

> +<!-- b2&#45;&gt;c3 -->

> +<g id="edge53" class="edge"><title>b2&#45;&gt;c3</title>

> +<path fill="none" stroke="green" d="M748.644,-223.614 L 754,-177"/>

> +<use transform="rotate(-10, 754,-177)" xlink:href="#DownArrowColor1"

> x="747" y="-181"/>

> +</g>

> +

> +<!-- b3&#45;&gt;c3 -->

> +<g id="edge54" class="edge"><title>b3&#45;&gt;c3</title>

> +<path fill="none" stroke="green" d="M852.158,-223.614 L  818,-177"/>

> +<use transform="rotate(30, 818,-177)" xlink:href="#DownArrowColor1"

> x="811" y="-181"/>

> +</g>

> +

> +<!-- c1 -->

> +<g id="node60" class="node"><title>c1</title>

> +<use xlink:href="#ArbiterLevel1" x="239" y="-179"/>

> +<text text-anchor="middle" x="289" y="-146" font-family="Times,serif"

> font-size="12.00">Company1</text>

> +</g>

> +

> +<!-- b4&#45;&gt;c1 -->

> +<g id="edge55" class="edge"><title>b4&#45;&gt;c1</title>

> +<path fill="none" stroke="green" d="M142.815,-223.824C168.036,-210.207

> 203.523,-191.049 231.23,-176.091"/>

> +<polygon fill="green" stroke="green" points="233.164,-179.024

> 240.301,-171.193 229.839,-172.864 233.164,-179.024"/>

> +</g>

> +<!-- b5&#45;&gt;c1 -->

> +<g id="edge56" class="edge"><title>b5&#45;&gt;c1</title>

> +<path fill="none" stroke="green" d="M274,-223.614 L 274,-180"/>

> +<use xlink:href="#DownArrowColor1" x="267" y="-180"/>

> +</g>

> +

> +<!-- c2 -->

> +<g id="node61" class="node"><title>c2</title>

> +<use xlink:href="#ArbiterLevel1" x="443" y="-179"/>

> +<text text-anchor="middle" x="493" y="-146" font-family="Times,serif"

> font-size="12.00">Company2</text>

> +</g>

> +

> +<!-- b6&#45;&gt;c2 -->

> +<g id="edge57" class="edge"><title>b6&#45;&gt;c2</title>

> +<path fill="none" stroke="green" d="M440.039,-223.614 L 478,-176"/>

> +<use transform="rotate(-40, 478,-176)" xlink:href="#DownArrowColor1"

> x="471" y="-180"/>

> +</g>

> +

> +<!-- b7&#45;&gt;c2 -->

> +<g id="edge58" class="edge"><title>b7&#45;&gt;c2</title>

> +<path fill="none" stroke="green" d="M545.961,-223.614 L 523,-178"/>

> +<use transform="rotate(30, 523,-176)" xlink:href="#DownArrowColor1"

> x="515" y="-180"/>

> +</g>

> +

> +<!-- o1 -->

> +<g id="node62" class="node"><title>o1</title>

> +<ellipse fill="#80c0f0" stroke="black" cx="493" cy="-40" rx="36" ry="36"/>

> +<ellipse fill="none" stroke="black" cx="493" cy="-40" rx="40" ry="40"/>

> +<text text-anchor="middle" x="493" y="-36.9" font-family="Times,serif"

> font-size="12.00">xgbe1</text>

> +</g>

> +

> +<!-- c3&#45;&gt;o1 -->

> +<g id="edge59" class="edge"><title>c3&#45;&gt;o1</title>

> +<path fill="none" stroke="black" d="M752.014,-133.24 L 540.051,-57.8586"/>

> +<polygon fill="black" stroke="black" points="541.222,-54.5604

> 530.627,-54.4821 538.861,-61.1502 541.222,-54.5604"/>

> +</g>

> +

> +<!-- c1&#45;&gt;o1 -->

> +<g id="edge60" class="edge"><title>c1&#45;&gt;o1</title>

> +<path fill="none" stroke="black" d="M319.91,-127.94C357.719,-108.949

> 411.009,-82.1826 448.443,-63.38"/>

> +<polygon fill="black" stroke="black" points="450.235,-66.397

> 457.6,-58.7808 447.093,-60.1417 450.235,-66.397"/>

> +</g>

> +

> +<!-- c3&#45;&gt;o1 -->

> +<g id="edge61" class="edge"><title>c3&#45;&gt;o1</title>

> +<path fill="none" stroke="black" d="M493,-125 L 493,-90.616"/>

> +<polygon fill="black" stroke="black" points="496.5,-90.3557 493,-80.3557

> 489.5,-90.3558 496.5,-90.3557"/>

> +</g>

> +

> +</g>

> +</svg>

> diff --git a/doc/images/tm_node.svg b/doc/images/tm_node.svg

> new file mode 100644

> index 0000000..58fe2bb

> --- /dev/null

> +++ b/doc/images/tm_node.svg

> @@ -0,0 +1,1178 @@

> +<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"

> +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"

> +   width="765"

> +   height="990"

> +   viewBox="320 155 425.98732 552.68812"

> +   id="svg3293"

> +   version="1.1"

> +   inkscape:version="0.48.2 r9819">

> +  <metadata

> +     id="metadata3599">

> +    <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></dc:title>

> +      </cc:Work>

> +    </rdf:RDF>

> +  </metadata>

> +  <defs

> +     id="defs3597">

> +    <font

> +       horiz-adv-x="1024"

> +       id="font46307"

> +       inkscape:label="font 1"

> +       horiz-origin-x="0"

> +       horiz-origin-y="0"

> +       vert-origin-x="45"

> +       vert-origin-y="90"

> +       vert-adv-y="90">

> +      <font-face

> +         units-per-em="1024"

> +         id="font-face46309"

> +         font-family="SVGFont 1" />

> +      <missing-glyph

> +         d="M0,0h1000v1024h-1000z"

> +         id="missing-glyph46311" />

> +    </font>

> +    <font

> +       horiz-adv-x="1024"

> +       id="font46313"

> +       inkscape:label="font 2"

> +       horiz-origin-x="0"

> +       horiz-origin-y="0"

> +       vert-origin-x="45"

> +       vert-origin-y="90"

> +       vert-adv-y="90">

> +      <font-face

> +         units-per-em="1024"

> +         id="font-face46315"

> +         font-family="SVGFont 2" />

> +      <missing-glyph

> +         d="M0,0h1000v1024h-1000z"

> +         id="missing-glyph46317" />

> +    </font>

> +  </defs>

> +  <sodipodi:namedview

> +     pagecolor="#ffffff"

> +     bordercolor="#666666"

> +     borderopacity="1"

> +     objecttolerance="10"

> +     gridtolerance="10"

> +     guidetolerance="10"

> +     inkscape:pageopacity="0"

> +     inkscape:pageshadow="2"

> +     inkscape:window-width="1178"

> +     inkscape:window-height="965"

> +     id="namedview3595"

> +     showgrid="false"

> +     fit-margin-top="1.6"

> +     fit-margin-left="1"

> +     fit-margin-right="1"

> +     fit-margin-bottom="1"

> +     units="in"

> +     showborder="true"

> +     inkscape:zoom="0.78398474"

> +     inkscape:cx="382.52479"

> +     inkscape:cy="496.87739"

> +     inkscape:window-x="210"

> +     inkscape:window-y="0"

> +     inkscape:window-maximized="0"

> +     inkscape:current-layer="svg3293"

> +     borderlayer="false" />

> +  <path

> +

>  style="fill:#f0e9ef;fill-opacity:1;stroke:#000000;stroke-width:1.7864666;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

> +     d="m 353.0075,287.90468 360,0 -40,349.6 -280,0 z"

> +     id="path46246"

> +     inkscape:connector-curvature="0"

> +     sodipodi:nodetypes="ccccc" />

> +  <g

> +     id="g3295"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="618.62598"

> +       y1="452.25"

> +       x2="618.62598"

> +       y2="452.25"

> +       id="line3297" />

> +    <polygon

> +       style="fill:#000000"

> +       points="608.626,457.25 611.126,452.25 608.626,447.25

> 618.626,452.25 "

> +       id="polygon3299" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="608.626,457.25 611.126,452.25 608.626,447.25

> 618.626,452.25 "

> +       id="polygon3301" />

> +  </g>

> +  <g

> +     id="g3303"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="618.62598"

> +       y1="452.25"

> +       x2="618.62598"

> +       y2="452.25"

> +       id="line3305" />

> +    <polygon

> +       style="fill:#000000"

> +       points="608.626,457.25 611.126,452.25 608.626,447.25

> 618.626,452.25 "

> +       id="polygon3307" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="608.626,457.25 611.126,452.25 608.626,447.25

> 618.626,452.25 "

> +       id="polygon3309" />

> +  </g>

> +  <g

> +     id="g3311"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="618.62598"

> +       y1="452.25"

> +       x2="618.62598"

> +       y2="452.25"

> +       id="line3313" />

> +    <polygon

> +       style="fill:#000000"

> +       points="608.626,457.25 611.126,452.25 608.626,447.25

> 618.626,452.25 "

> +       id="polygon3315" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="608.626,457.25 611.126,452.25 608.626,447.25

> 618.626,452.25 "

> +       id="polygon3317" />

> +  </g>

> +  <g

> +     id="g3319"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="618.62598"

> +       y1="452.25"

> +       x2="618.62598"

> +       y2="452.25"

> +       id="line3321" />

> +    <polygon

> +       style="fill:#000000"

> +       points="608.626,457.25 611.126,452.25 608.626,447.25

> 618.626,452.25 "

> +       id="polygon3323" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="608.626,457.25 611.126,452.25 608.626,447.25

> 618.626,452.25 "

> +       id="polygon3325" />

> +  </g>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3327">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3329" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3331">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3333" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3335">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3337" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3339">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3341" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3343">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3345" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3347">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3349" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3351">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3353" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3355">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3357" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="542.30371"

> +     y="478.4895"

> +     id="text3359">

> +    <tspan

> +       x="542.30371"

> +       y="478.4895"

> +       id="tspan3361" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="488.75369"

> +     y="461.9895"

> +     id="text3363">

> +    <tspan

> +       x="488.75369"

> +       y="461.9895"

> +       id="tspan3365" />

> +  </text>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

> +     x="577.55371"

> +     y="443.9895"

> +     id="text3367">

> +    <tspan

> +       x="577.55371"

> +       y="443.9895"

> +       id="tspan3369" />

> +  </text>

> +  <g

> +     id="g3391"

> +     transform="matrix(0.36822672,0,0,0.6,306.07498,207.13875)">

> +    <ellipse

> +       style="fill:#ffffff"

> +       cx="619.35498"

> +       cy="492.38599"

> +       rx="154.5"

> +       ry="46"

> +       id="ellipse3393"/>

> +

> +    <!-- <path

> +       d="m 773.85498,492.38599 c 0,25.40509 -69.17201,46 -154.5,46

> -85.32799,0 -154.5,-20.59491 -154.5,-46 0,-25.4051 69.17201,-46 154.5,-46

> 85.32799,0 154.5,20.5949 154.5,46 z" /> -->

> +

> +    <ellipse

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       cx="619.35498"

> +       cy="492.38599"

> +       rx="154.5"

> +       ry="46"

> +       id="ellipse3395" />

> +

> +    <!-- <path

> +       d="m 773.85498,492.38599 c 0,25.40509 -69.17201,46 -154.5,46

> -85.32799,0 -154.5,-20.59491 -154.5,-46 0,-25.4051 69.17201,-46 154.5,-46

> 85.32799,0 154.5,20.5949 154.5,46 z" /> -->

> +

> +  </g>

> +  <g

> +     id="g3397"

> +     transform="matrix(1.2836753,0,0,0.71637906,-268.40447,153.70656)">

> +    <path

> +       style="fill:#ffffff"

> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575 z"

> +       id="path3399"

> +       inkscape:connector-curvature="0" />

> +    <path

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575"

> +       id="path3401"

> +       inkscape:connector-curvature="0" />

> +    <path

> +       style="fill:none;stroke:#000000;stroke-width:0.2"

> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575"

> +       id="path3403"

> +       inkscape:connector-curvature="0" />

> +  </g>

> +  <g

> +     id="g3405"

> +     transform="matrix(0.6,0,0,0.33664343,158.3969,402.52795)"

> +     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">

> +    <line

> +

>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

> +       x1="624.31"

> +       y1="653.82501"

> +       x2="624.35199"

> +       y2="775.586"

> +       id="line3407" />

> +    <polygon

> +       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"

> +       points="624.355,783.086 619.351,773.088 624.352,775.586

> 629.351,773.084 "

> +       id="polygon3409" />

> +    <polygon

> +

>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

> +       points="624.355,783.086 619.351,773.088 624.352,775.586

> 629.351,773.084 "

> +       id="polygon3411" />

> +  </g>

> +  <g

> +     id="g3413"

> +     transform="matrix(0.6,0,0,1.0385789,160.4258,-29.14563)"

> +     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">

> +    <line

> +

>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

> +       x1="620.72998"

> +       y1="538.75"

> +       x2="620.99701"

> +       y2="562.79102"

> +       id="line3415" />

> +    <polygon

> +       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"

> +       points="621.08,570.291 615.97,560.347 620.997,562.791

> 625.969,560.236 "

> +       id="polygon3417" />

> +    <polygon

> +

>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

> +       points="621.08,570.291 615.97,560.347 620.997,562.791

> 625.969,560.236 "

> +       id="polygon3419" />

> +  </g>

> +  <text

> +     font-size="12.7998"

> +

>  style="font-size:10.71879959px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;font-family:Sans;-inkscape-font-specification:Sans"

> +     x="515.39581"

> +     y="505.40701"

> +     id="text3421"

> +     sodipodi:linespacing="125%">

> +    <tspan

> +       x="515.39581"

> +       y="505.40701"

> +       id="tspan3423"

> +

>  style="font-size:10.71879959px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans">Shaper</tspan>

> +  </text>

> +  <g

> +     id="g3435"

> +

>  transform="matrix(0.68275674,0,-0.0185135,0.47151591,121.83991,265.95426)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2.19180131"

> +       x1="612.85498"

> +       y1="399.51315"

> +       x2="613.99902"

> +       y2="437.06961"

> +       id="line3437" />

> +    <polygon

> +       style="fill:#000000"

> +       points="618.905,430.975 614.274,441.152 608.911,431.341

> 613.999,433.657 "

> +       id="polygon3439" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="618.905,430.975 614.274,441.152 608.911,431.341

> 613.999,433.657 "

> +       id="polygon3441" />

> +  </g>

> +  <g

> +     id="g3483"

> +     transform="matrix(0.46064658,0,0,0.67930938,233.06856,182.00415)">

> +    <path

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       d="m 428.855,330.386 c 34.5,37 112.5,60 151.924,52.759"

> +       id="path3485"

> +       inkscape:connector-curvature="0" />

> +    <polygon

> +       style="fill:#000000"

> +       points="580.779,383.145 577.417,378.679 588.156,381.79

> 579.224,388.514 "

> +       id="polygon3487" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="580.779,383.145 577.417,378.679 588.156,381.79

> 579.224,388.514 "

> +       id="polygon3489" />

> +  </g>

> +  <g

> +     id="g3491"

> +     transform="matrix(0.54809168,0,0,0.74784284,211.99528,158.68288)">

> +    <path

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       d="m 788.355,329.386 c -42,31 -103,54 -143.271,52.389"

> +       id="path3493"

> +       inkscape:connector-curvature="0" />

> +    <polygon

> +       style="fill:#000000"

> +       points="647.382,386.871 637.59,381.475 647.781,376.879

> 645.084,381.775 "

> +       id="polygon3495" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="647.382,386.871 637.59,381.475 647.781,376.879

> 645.084,381.775 "

> +       id="polygon3497" />

> +  </g>

> +  <g

> +     id="g3499"

> +     transform="matrix(0.41682002,0,0,0.63577084,271.70535,195.4459)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="545.85498"

> +       y1="329.38599"

> +       x2="589.07098"

> +       y2="360.811"

> +       id="line3501" />

> +    <polygon

> +       style="fill:#000000"

> +       points="595.137,365.222 584.109,363.385 589.071,360.811

> 589.99,355.297 "

> +       id="polygon3503" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="595.137,365.222 584.109,363.385 589.071,360.811

> 589.99,355.297 "

> +       id="polygon3505" />

> +  </g>

> +  <g

> +     id="g3507"

> +     transform="matrix(0.7502618,0,0,0.69104314,70.399378,177.15041)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="669.35498"

> +       y1="330.38599"

> +       x2="638.61102"

> +       y2="357.89401"

> +       id="line3509" />

> +    <polygon

> +       style="fill:#000000"

> +       points="638.611,357.894 643.808,359.953 633.022,362.895

> 637.14,352.501 "

> +       id="polygon3511" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="638.611,357.894 643.808,359.953 633.022,362.895

> 637.14,352.501 "

> +       id="polygon3513" />

> +  </g>

> +  <g

> +     id="g3523"

> +     transform="matrix(0.6,0,0,0.6,171.12812,208.92521)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="517.98901"

> +       y1="80"

> +       x2="520.242"

> +       y2="256.28699"

> +       id="line3525" />

> +    <polygon

> +       style="fill:#000000"

> +       points="525.177,253.661 520.432,263.784 515.18,253.915

> 520.242,256.287 "

> +       id="polygon3527" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="525.177,253.661 520.432,263.784 515.18,253.915

> 520.242,256.287 "

> +       id="polygon3529" />

> +  </g>

> +  <g

> +     id="g3531"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="549.48901"

> +       y1="80"

> +       x2="546.78497"

> +       y2="258.78799"

> +       id="line3533" />

> +    <polygon

> +       style="fill:#000000"

> +       points="541.864,256.137 546.785,258.788 551.859,256.442

> 546.557,266.285 "

> +       id="polygon3535" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="541.864,256.137 546.785,258.788 551.859,256.442

> 546.557,266.285 "

> +       id="polygon3537" />

> +  </g>

> +  <g

> +     id="g3539"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="571.98901"

> +       y1="80"

> +       x2="567.47998"

> +       y2="259.79599"

> +       id="line3541" />

> +    <polygon

> +       style="fill:#000000"

> +       points="562.613,257.047 567.48,259.796 572.6,257.552

> 567.102,267.287 "

> +       id="polygon3543" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="562.613,257.047 567.48,259.796 572.6,257.552

> 567.102,267.287 "

> +       id="polygon3545" />

> +  </g>

> +  <g

> +     id="g3547"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="646.48901"

> +       y1="80"

> +       x2="642.91699"

> +       y2="257.293"

> +       id="line3549" />

> +    <polygon

> +       style="fill:#000000"

> +       points="638.031,254.576 642.917,257.293 648.022,255.015

> 642.587,264.786 "

> +       id="polygon3551" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="638.031,254.576 642.917,257.293 648.022,255.015

> 642.587,264.786 "

> +       id="polygon3553" />

> +  </g>

> +  <g

> +     id="g3555"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="681.48901"

> +       y1="80"

> +       x2="674.79797"

> +       y2="256.81699"

> +       id="line3557" />

> +    <polygon

> +       style="fill:#000000"

> +       points="670.022,253.911 674.798,256.817 679.988,254.741

> 674.175,264.291 "

> +       id="polygon3559" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="670.022,253.911 674.798,256.817 679.988,254.741

> 674.175,264.291 "

> +       id="polygon3561" />

> +  </g>

> +  <g

> +     id="g3563"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="706.98901"

> +       y1="80"

> +       x2="698.99701"

> +       y2="257.836"

> +       id="line3565" />

> +    <polygon

> +       style="fill:#000000"

> +       points="694.282,254.832 698.997,257.836 704.228,255.867

> 698.22,265.296 "

> +       id="polygon3567" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="694.282,254.832 698.997,257.836 704.228,255.867

> 698.22,265.296 "

> +       id="polygon3569" />

> +  </g>

> +  <g

> +     id="g3571"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="754.98901"

> +       y1="80"

> +       x2="763.82397"

> +       y2="258.354"

> +       id="line3573" />

> +    <polygon

> +       style="fill:#000000"

> +       points="758.561,256.47 763.824,258.354 768.489,255.274

> 764.722,265.8 "

> +       id="polygon3575" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="758.561,256.47 763.824,258.354 768.489,255.274

> 764.722,265.8 "

> +       id="polygon3577" />

> +  </g>

> +  <g

> +     id="g3579"

> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="793.98901"

> +       y1="80"

> +       x2="785.16803"

> +       y2="259.85501"

> +       id="line3581" />

> +    <polygon

> +       style="fill:#000000"

> +       points="780.507,256.768 785.168,259.855 790.433,257.979

> 784.26,267.3 "

> +       id="polygon3583" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="780.507,256.768 785.168,259.855 790.433,257.979

> 784.26,267.3 "

> +       id="polygon3585" />

> +  </g>

> +  <g

> +     id="g3587"

> +     transform="matrix(0.6,0,0,0.64733675,171.12812,194.48507)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="817.48901"

> +       y1="90"

> +       x2="806.52002"

> +       y2="259.905"

> +       id="line3589" />

> +    <polygon

> +       style="fill:#000000"

> +       points="806.52,259.905 811.851,258.222 805.341,267.312

> 801.975,256.65 "

> +       id="polygon3591" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="806.52,259.905 811.851,258.222 805.341,267.312

> 801.975,256.65 "

> +       id="polygon3593" />

> +  </g>

> +  <path

> +

>  style="fill:#fcfffa;fill-opacity:1;stroke:#000000;stroke-width:0.8932333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

> +     d="m 499.51125,428.12127 66.9925,0 -11.16542,26.797 -44.66166,0 z"

> +     id="path46249"

> +     inkscape:connector-curvature="0"

> +     sodipodi:nodetypes="ccccc" />

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:8.93233299px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"

> +     x="516.63232"

> +     y="439.0816"

> +     id="text46251"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan46253"

> +       x="516.63232"

> +       y="439.0816">priority</tspan><tspan

> +       sodipodi:role="line"

> +       x="516.63232"

> +       y="450.24701"

> +       id="tspan46255">encoder</tspan></text>

> +  <g

> +     id="g3523-1"

> +     transform="matrix(0.60000001,0,0,0.60000001,130.12915,207.76531)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="517.98901"

> +       y1="80"

> +       x2="520.242"

> +       y2="256.28699"

> +       id="line3525-7" />

> +    <polygon

> +       style="fill:#000000"

> +       points="515.18,253.915 520.242,256.287 525.177,253.661

> 520.432,263.784 "

> +       id="polygon3527-4" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="515.18,253.915 520.242,256.287 525.177,253.661

> 520.432,263.784 "

> +       id="polygon3529-0" />

> +  </g>

> +  <g

> +     id="g3523-9"

> +     transform="matrix(0.60000001,0,0,0.60000001,100.34145,207.76531)">

> +    <line

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       x1="517.98901"

> +       y1="80"

> +       x2="520.242"

> +       y2="256.28699"

> +       id="line3525-4" />

> +    <polygon

> +       style="fill:#000000"

> +       points="515.18,253.915 520.242,256.287 525.177,253.661

> 520.432,263.784 "

> +       id="polygon3527-8" />

> +    <polygon

> +       style="fill:none;stroke:#000000;stroke-width:2"

> +       points="515.18,253.915 520.242,256.287 525.177,253.661

> 520.432,263.784 "

> +       id="polygon3529-8" />

> +  </g>

> +  <g

> +     id="g46325"

> +     transform="matrix(0.8,0,0,0.8,53.007498,95.104671)">

> +    <g

> +       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"

> +       id="g3443">

> +      <path

> +         inkscape:connector-curvature="0"

> +         id="path3445"

> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0

> -12.429,-30.5 12.429,-30.5 z"

> +         style="fill:#ffffff" />

> +      <path

> +         inkscape:connector-curvature="0"

> +         id="path3447"

> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0

> -12.429,-30.5 12.429,-30.5"

> +         style="fill:none;stroke:#000000;stroke-width:2" />

> +      <text

> +         id="text3449"

> +         y="304.88599"

> +         x="428.85501"

> +

>  style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"

> +         font-size="12.7998">

> +        <tspan

> +           id="tspan3451"

> +           y="304.88599"

> +           x="428.85501" />

> +      </text>

> +    </g>

> +    <text

> +       id="text3519"

> +       y="361.48743"

> +       x="457.09674"

> +

>  style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"

> +       font-size="12.7998">

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan3521"

> +         y="361.48743"

> +         x="457.09674">WFQ</tspan>

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan46297"

> +         y="361.48743"

> +         x="457.09674" />

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan46305"

> +         y="361.48743"

> +         x="457.09674" />

> +      <tspan

> +         id="tspan46319"

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         y="361.48743"

> +         x="457.09674" />

> +    </text>

> +    <text

> +       sodipodi:linespacing="125%"

> +       id="text46321"

> +       y="376.47391"

> +       x="447.76807"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +       xml:space="preserve"><tspan

> +         y="376.47391"

> +         x="447.76807"

> +         id="tspan46323"

> +         sodipodi:role="line">priority 0</tspan></text>

> +  </g>

> +  <g

> +     transform="matrix(0.8,0,0,0.8,124.22629,95.104671)"

> +     id="g46325-2">

> +    <g

> +       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"

> +       id="g3443-4">

> +      <path

> +         inkscape:connector-curvature="0"

> +         id="path3445-5"

> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0

> -12.429,-30.5 12.429,-30.5 z"

> +         style="fill:#ffffff" />

> +      <path

> +         inkscape:connector-curvature="0"

> +         id="path3447-5"

> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0

> -12.429,-30.5 12.429,-30.5"

> +         style="fill:none;stroke:#000000;stroke-width:2" />

> +      <text

> +         id="text3449-1"

> +         y="304.88599"

> +         x="428.85501"

> +

>  style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"

> +         font-size="12.7998">

> +        <tspan

> +           id="tspan3451-7"

> +           y="304.88599"

> +           x="428.85501" />

> +      </text>

> +    </g>

> +    <text

> +       id="text3519-1"

> +       y="361.48743"

> +       x="457.09674"

> +

>  style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"

> +       font-size="12.7998">

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan3521-1"

> +         y="361.48743"

> +         x="457.09674">WFQ</tspan>

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan46297-5"

> +         y="361.48743"

> +         x="457.09674" />

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan46305-2"

> +         y="361.48743"

> +         x="457.09674" />

> +      <tspan

> +         id="tspan46319-7"

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         y="361.48743"

> +         x="457.09674" />

> +    </text>

> +    <text

> +       sodipodi:linespacing="125%"

> +       id="text46321-6"

> +       y="376.47391"

> +       x="447.76807"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +       xml:space="preserve"><tspan

> +         y="376.47391"

> +         x="447.76807"

> +         id="tspan46323-1"

> +         sodipodi:role="line">priority 1</tspan></text>

> +  </g>

> +  <g

> +     transform="matrix(0.8,0,0,0.8,195.44508,95.104671)"

> +     id="g46325-4">

> +    <g

> +       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"

> +       id="g3443-2">

> +      <path

> +         inkscape:connector-curvature="0"

> +         id="path3445-3"

> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0

> -12.429,-30.5 12.429,-30.5 z"

> +         style="fill:#ffffff" />

> +      <path

> +         inkscape:connector-curvature="0"

> +         id="path3447-2"

> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0

> -12.429,-30.5 12.429,-30.5"

> +         style="fill:none;stroke:#000000;stroke-width:2" />

> +      <text

> +         id="text3449-2"

> +         y="304.88599"

> +         x="428.85501"

> +

>  style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"

> +         font-size="12.7998">

> +        <tspan

> +           id="tspan3451-1"

> +           y="304.88599"

> +           x="428.85501" />

> +      </text>

> +    </g>

> +    <text

> +       id="text3519-6"

> +       y="361.48743"

> +       x="457.09674"

> +

>  style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"

> +       font-size="12.7998">

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan3521-8"

> +         y="361.48743"

> +         x="457.09674">WFQ</tspan>

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan46297-57"

> +         y="361.48743"

> +         x="457.09674" />

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan46305-6"

> +         y="361.48743"

> +         x="457.09674" />

> +      <tspan

> +         id="tspan46319-1"

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         y="361.48743"

> +         x="457.09674" />

> +    </text>

> +    <text

> +       sodipodi:linespacing="125%"

> +       id="text46321-8"

> +       y="376.47391"

> +       x="447.76807"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +       xml:space="preserve"><tspan

> +         y="376.47391"

> +         x="447.76807"

> +         id="tspan46323-9"

> +         sodipodi:role="line">priority 2</tspan></text>

> +  </g>

> +  <g

> +     transform="matrix(0.8,0,0,0.8,266.66388,95.104671)"

> +     id="g46325-27">

> +    <g

> +       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"

> +       id="g3443-9">

> +      <path

> +         inkscape:connector-curvature="0"

> +         id="path3445-54"

> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0

> -12.429,-30.5 12.429,-30.5 z"

> +         style="fill:#ffffff" />

> +      <path

> +         inkscape:connector-curvature="0"

> +         id="path3447-3"

> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0

> -12.429,-30.5 12.429,-30.5"

> +         style="fill:none;stroke:#000000;stroke-width:2" />

> +      <text

> +         id="text3449-12"

> +         y="304.88599"

> +         x="428.85501"

> +

>  style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"

> +         font-size="12.7998">

> +        <tspan

> +           id="tspan3451-3"

> +           y="304.88599"

> +           x="428.85501" />

> +      </text>

> +    </g>

> +    <text

> +       id="text3519-3"

> +       y="361.48743"

> +       x="457.09674"

> +

>  style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"

> +       font-size="12.7998">

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan3521-4"

> +         y="361.48743"

> +         x="457.09674">WFQ</tspan>

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan46297-1"

> +         y="361.48743"

> +         x="457.09674" />

> +      <tspan

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         id="tspan46305-1"

> +         y="361.48743"

> +         x="457.09674" />

> +      <tspan

> +         id="tspan46319-3"

> +

>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

> +         y="361.48743"

> +         x="457.09674" />

> +    </text>

> +    <text

> +       sodipodi:linespacing="125%"

> +       id="text46321-87"

> +       y="376.47391"

> +       x="447.76807"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +       xml:space="preserve"><tspan

> +         y="376.47391"

> +         x="447.76807"

> +         id="tspan46323-4"

> +         sodipodi:role="line">priority 3</tspan></text>

> +  </g>

> +  <g

> +     id="g47752"

> +     transform="translate(-6.6992502,-25.680463)">

> +    <text

> +       sodipodi:linespacing="125%"

> +       id="text47149"

> +       y="596.4021"

> +       x="410.2587"

> +

>  style="font-size:22.33083344px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +       xml:space="preserve"><tspan

> +         y="596.4021"

> +         x="410.2587"

> +         id="tspan47151"

> +         sodipodi:role="line">Arbiter</tspan></text>

> +    <text

> +       sodipodi:linespacing="125%"

> +       id="text47153"

> +       y="568.61426"

> +       x="401.6915"

> +

>  style="font-size:22.33083344px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +       xml:space="preserve"><tspan

> +         y="568.61426"

> +         x="401.6915"

> +         id="tspan47155"

> +         sodipodi:role="line">Example</tspan></text>

> +  </g>

> +  <g

> +     id="g47678"

> +     transform="translate(7.8157919,34.612792)">

> +    <path

> +       sodipodi:nodetypes="cccc"

> +       inkscape:connector-curvature="0"

> +       id="path47161"

> +       d="m 619.50693,452.08839 0,31.11649 29.63476,-0.12548

> -0.12548,-30.77762"

> +

>  style="fill:#a6f7f6;fill-opacity:1;stroke:#000000;stroke-width:1.67481244;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

> />

> +    <path

> +       transform="matrix(0.5996485,0,0,0.58354585,296.78803,141.0335)"

> +       d="m 586.56837,534.1488 c 0,6.22986 -10.69475,11.28016

> -23.8874,11.28016 -13.19265,0 -23.8874,-5.0503 -23.8874,-11.28016

> 0,-6.22986 10.69475,-11.28016 23.8874,-11.28016 13.19265,0 23.8874,5.0503

> 23.8874,11.28016 z"

> +       sodipodi:ry="11.280161"

> +       sodipodi:rx="23.8874"

> +       sodipodi:cy="534.1488"

> +       sodipodi:cx="562.68097"

> +       id="path47159"

> +

>  style="fill:#d78379;fill-opacity:1;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

> +       sodipodi:type="arc" />

> +  </g>

> +  <rect

> +

>  style="fill:#d7f3d0;fill-opacity:1;stroke:#000000;stroke-width:1.95772398;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

> +     id="rect47750"

> +     width="172.22704"

> +     height="53.179165"

> +     x="448.71371"

> +     y="165.66377" />

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:13.39849949px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +     x="614.41779"

> +     y="538.091"

> +     id="text47672"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan47674"

> +       x="614.41779"

> +       y="538.091">pkt delay</tspan><tspan

> +       sodipodi:role="line"

> +       x="614.41779"

> +       y="554.83911"

> +       id="tspan47676"> storage</tspan></text>

> +  <path

> +

>  style="fill:none;stroke:#0000f7;stroke-width:1.63484418;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

> +     d="m 591.18645,501.73693 34.19353,0"

> +     id="path47682"

> +     inkscape:connector-curvature="0" />

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +     x="503.8782"

> +     y="590.54254"

> +     id="text47684"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan47686"

> +       x="503.8782"

> +       y="590.54254">propagation</tspan><tspan

> +       sodipodi:role="line"

> +       x="503.8782"

> +       y="604.49933"

> +       id="tspan47688">    table</tspan></text>

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +     x="404.19299"

> +     y="238.52974"

> +     id="text47690"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan47692"

> +       x="404.19299"

> +       y="238.52974">Priority 0</tspan><tspan

> +       sodipodi:role="line"

> +       x="404.19299"

> +       y="252.48651"

> +       id="tspan47694">  Fan-in</tspan></text>

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:10.04887486px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +     x="459.87775"

> +     y="183.29376"

> +     id="text47696"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan47698"

> +       x="459.87775"

> +       y="183.29376"> Note that the fan-in to each WFQ</tspan><tspan

> +       sodipodi:role="line"

> +       x="459.87775"

> +       y="195.85486"

> +       id="tspan47700">function could range from several</tspan><tspan

> +       sodipodi:role="line"

> +       x="459.87775"

> +       y="208.41595"

> +       id="tspan47702">    to more than ten thousand.</tspan></text>

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +     x="474.75385"

> +     y="238.52974"

> +     id="text47690-2"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan47692-7"

> +       x="474.75385"

> +       y="238.52974">Priority 1</tspan><tspan

> +       sodipodi:role="line"

> +       x="474.75385"

> +       y="252.48651"

> +       id="tspan47694-7">  Fan-in</tspan></text>

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +     x="553.58514"

> +     y="238.52974"

> +     id="text47690-9"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan47692-3"

> +       x="553.58514"

> +       y="238.52974">Priority 2</tspan><tspan

> +       sodipodi:role="line"

> +       x="553.58514"

> +       y="252.48651"

> +       id="tspan47694-1">  Fan-in</tspan></text>

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +     x="620.65051"

> +     y="238.52974"

> +     id="text47690-98"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan47692-6"

> +       x="620.65051"

> +       y="238.52974">Priority 3</tspan><tspan

> +       sodipodi:role="line"

> +       x="620.65051"

> +       y="252.48651"

> +       id="tspan47694-5">  Fan-in</tspan></text>

> +  <text

> +     xml:space="preserve"

> +

>  style="font-size:13.39849949px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

> +     x="473.90018"

> +     y="676.49622"

> +     id="text47758"

> +     sodipodi:linespacing="125%"><tspan

> +       sodipodi:role="line"

> +       id="tspan47760"

> +       x="473.90018"

> +       y="676.49622">Arbiter output to next</tspan><tspan

> +       sodipodi:role="line"

> +       x="473.90018"

> +       y="693.24432"

> +       id="tspan47762"> arbiter or TM output</tspan></text>

> +  <polygon

> +     transform="matrix(0.54809168,0,0,0.74784285,242.28683,216.46556)"

> +

>  style="fill:#0000f7;fill-opacity:1;stroke:#0000f7;stroke-width:2;stroke-opacity:1"

> +     points="647.382,386.871 637.59,381.475 647.781,376.879

> 645.084,381.775 "

> +     id="polygon3497-2"

> +     inkscape:transform-center-x="599.50146"

> +     inkscape:transform-center-y="-530.62257" />

> +  <polygon

> +     transform="matrix(-0.54809168,0,0,-0.74784285,975.33153,787.2)"

> +

>  style="fill:#0000f7;fill-opacity:1;stroke:#0000f7;stroke-width:2;stroke-opacity:1"

> +     points="647.781,376.879 645.084,381.775 647.382,386.871

> 637.59,381.475 "

> +     id="polygon3497-8"

> +     inkscape:transform-center-x="-625.01224"

> +     inkscape:transform-center-y="488.52994" />

> +</svg>

> --

> 2.5.0

>

> _______________________________________________

> lng-odp mailing list

> lng-odp@lists.linaro.org

> https://lists.linaro.org/mailman/listinfo/lng-odp

>
Mike Holmes Jan. 8, 2016, 1:32 p.m. UTC | #2
I dug around a little [1] and maybe we can drop using png and use svg
directly in the HTML these days.

For ubuntu 15.10 and its chrome and firefox this works fine [2]
Can I ask for some help trying svg directly in the browser on other
people's systems, just replace the path with your path to the svg image in
the ODP repository after apply the patch.

Thanks

[1]
http://support.sas.com/documentation/cdl/en/graphref/67881/HTML/default/viewer.htm#p0plhsju1chhnbn17gn45nsnsfmu.htm
[2] file:///home/mike/git/odp/doc/images/tm_hierarchy.svg

On 7 January 2016 at 10:27, Bill Fischofer <bill.fischofer@linaro.org>
wrote:

> This looks good, however the hierarchy.svg seems to format unreadably for

> me.  I think this diagram may need to be redrawn rather than converted.

>

> On Thu, Jan 7, 2016 at 8:30 AM, Mike Holmes <mike.holmes@linaro.org>

> wrote:

>

>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

>> ---

>>  doc/images/Makefile.am      |   12 +

>>  doc/images/tm_hierarchy.svg |  769 ++++++++++++++++++++++++++++

>>  doc/images/tm_node.svg      | 1178

>> +++++++++++++++++++++++++++++++++++++++++++

>>  3 files changed, 1959 insertions(+)

>>  create mode 100644 doc/images/tm_hierarchy.svg

>>  create mode 100644 doc/images/tm_node.svg

>>

>> diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am

>> index 5495b69..0a21b54 100644

>> --- a/doc/images/Makefile.am

>> +++ b/doc/images/Makefile.am

>> @@ -7,6 +7,8 @@ SVG_SRCS =  atomic_queue.svg \

>>         odp_traffic_manager.svg \

>>         overview.svg \

>>         release_git.svg \

>> +       tm_hierarchy.svg \

>> +       tm_node.svg \

>>         simple_release_git.svg

>>

>>  SVG_TARGETS = $(SVG_SRCS:svg=png)

>> @@ -80,5 +82,15 @@ simple_release_git.png: simple_release_git.svg

>>  simple_release_git.eps: simple_release_git.svg

>>         convert $< $@

>>

>> +tm_hierarchy.png: tm_hierarchy.svg

>> +       convert $< $@

>> +tm_hierarchy.eps: tm_hierarchy.svg

>> +       convert $< $@

>> +

>> +tm_node.png: tm_node.svg

>> +       convert $< $@

>> +tm_node.eps: tm_node.svg

>> +       convert $< $@

>> +

>>  resource_management.png: resource_management.msc

>>         mscgen -T png -i $< -o $@

>> diff --git a/doc/images/tm_hierarchy.svg b/doc/images/tm_hierarchy.svg

>> new file mode 100644

>> index 0000000..e832cdd

>> --- /dev/null

>> +++ b/doc/images/tm_hierarchy.svg

>> @@ -0,0 +1,769 @@

>> +<?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.36.0 (20140111.2315)

>> + -->

>> +<!-- Title: four_levels Pages: 1 -->

>> +<svg width="1362px" height="600px"

>> + viewBox="0 0 1362 600" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="

>> http://www.w3.org/1999/xlink">

>> +<defs>

>> +    <symbol id="queue_symbol" fill="#80f080" stroke="black"

>> +             stroke-width="5" stroke-linecap="square">

>> +      <g transform="scale(0.2 0.2)" >

>> +        <line x1="0"   y1="70" x2="0"   y2="120" />

>> +        <line x1="100" y1="70" x2="100" y2="120" />

>> +        <polyline points="0,120 0,170 100,170 100,120" />

>> +

>> +        <rect x="0" y="170" width="100" height="50"/>

>> +        <rect x="0" y="220" width="100" height="50"/>

>> +        <rect x="0" y="270" width="100" height="50"/>

>> +        <rect x="0" y="320" width="100" height="50"/>

>> +        <rect x="0" y="370" width="100" height="50"/>

>> +        <rect x="0" y="420" width="100" height="50"/>

>> +      </g>

>> +    </symbol>

>> +

>> +    <symbol id="ArbiterLevel3" > <!-- shift x left by 39 -->

>> +        <polygon fill="#F08080" stroke="black" points="54,0  0,0  12,29

>> 42,29  54,0"/>

>> +    </symbol>

>> +

>> +    <symbol id="ArbiterLevel2" > <!-- shift x left by 92 -->

>> +        <polygon fill="#F0F080" stroke="black" points="116,0  0,0

>> 24,36  92,36  116,0"/>

>> +    </symbol>

>> +

>> +    <symbol id="ArbiterLevel1" > <!-- shift x left by 79 -->

>> +        <polygon fill="#E080E0" stroke="black" points="101,9  0,9

>> 21,54  79,54  101,9"/>

>> +    </symbol>

>> +

>> +    <symbol id="DownArrowColor1" > <!-- shift x left by 7 and shift y by

>> 5 -->

>> +        <polygon fill="green" stroke="green" points="14,-10  0,-10

>> 7,10  14,-10"/>

>> +    </symbol>

>> +

>> +    <symbol id="DownArrowColor2" > <!-- shift x left by 7 and shift y by

>> 5 -->

>> +        <polygon fill="black" stroke="black" points="14,-10  0,-10

>> 7,10  14,-10"/>

>> +    </symbol>

>> +

>> +</defs>

>> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0)

>> translate(30 530)">

>> +<title>four_levels</title>

>> +<polygon fill="#E8E8E8" stroke="none" points="-20,40 -20,-520 1320,-520

>> 1320,40 -20,40"/>

>> +

>> +<!-- q28 -->

>> +<g id="node1" class="node"><title>q28</title>

>> +<use xlink:href="#queue_symbol" x="1107" y="-455"/>

>> +<text text-anchor="start" x="1115" y="-460" font-family="Times,serif"

>> font-size="10.00">q28</text>

>> +</g>

>> +

>> +<!-- a1 -->

>> +<g id="node33" class="node"><title>a1</title>

>> +<use xlink:href="#ArbiterLevel3" x="1130" y="-325"/>

>> +<text text-anchor="middle" x="1157" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;18</text>

>> +</g>

>> +

>> +<!-- q28&#45;&gt;a1 -->

>> +<g id="edge1" class="edge"><title>q28&#45;&gt;a1</title>

>> +<path fill="none" stroke="green" d="M1127.59,-386.63C1130.6,-378.651

>> 1133.9,-369.975 1137,-362 1140.46,-353.106 1144.34,-343.356

>> 1147.75,-334.847"/>

>> +<polygon fill="green" stroke="green" points="1151.01,-336.137

>> 1151.5,-325.553 1144.51,-333.521 1151.01,-336.137"/>

>> +</g>

>> +

>> +<!-- q29 -->

>> +<g id="node2" class="node"><title>q29</title>

>> +<use xlink:href="#queue_symbol" x="1146" y="-455"/>

>> +<text text-anchor="middle" x="1154" y="-460" font-family="Times,serif"

>> font-size="10.00">q29</text>

>> +</g>

>> +<!-- q29&#45;&gt;a1 -->

>> +

>> +<g id="edge2" class="edge"><title>q29&#45;&gt;a1</title>

>> +<path fill="none" stroke="green" d="M1157,-361.991C1157,-352.879 1157,-343.829

>> 1157,-335.985"/>

>> +<polygon fill="green" stroke="green" points="1160.5,-335.817

>> 1157,-325.818 1153.5,-335.818 1160.5,-335.817"/>

>> +</g>

>> +

>> +<!-- q30 -->

>> +<g id="node3" class="node"><title>q30</title>

>> +<use xlink:href="#queue_symbol" x="1186" y="-455"/>

>> +<text text-anchor="middle" x="1194" y="-460" font-family="Times,serif"

>> font-size="10.00">q30</text>

>> +</g>

>> +<!-- q30&#45;&gt;a1 -->

>> +

>> +<g id="edge3" class="edge"><title>q30&#45;&gt;a1</title>

>> +<path fill="none" stroke="green" d="M1186.49,-387.938C1180.11,-371.51

>> 1172.05,-350.762 1165.97,-335.107"/>

>> +<polygon fill="green" stroke="green" points="1169.18,-333.706

>> 1162.3,-325.651 1162.66,-336.24 1169.18,-333.706"/>

>> +</g>

>> +

>> +<!-- q31 -->

>> +<g id="node4" class="node"><title>q31</title>

>> +<use xlink:href="#queue_symbol" x="1226" y="-455"/>

>> +<text text-anchor="middle" x="1234" y="-460" font-family="Times,serif"

>> font-size="10.00">q31</text>

>> +</g>

>> +<!-- q31&#45;&gt;a1 -->

>> +

>> +<g id="edge4" class="edge"><title>q31&#45;&gt;a1</title>

>> +<path fill="none" stroke="green" d="M1226.49,-381.191C1223.63,-374.515

>> 1220.16,-367.789 1216,-362 1206.05,-348.132 1191.43,-335.706

>> 1179.23,-326.71"/>

>> +<polygon fill="green" stroke="green" points="1181.06,-323.719

>> 1170.88,-320.795 1177.02,-329.431 1181.06,-323.719"/>

>> +</g>

>> +

>> +<!-- q25 -->

>> +<g id="node5" class="node"><title>q25</title>

>> +<use xlink:href="#queue_symbol" x="988" y="-455"/>

>> +<text text-anchor="middle" x="996" y="-460" font-family="Times,serif"

>> font-size="10.00">q25</text>

>> +</g>

>> +

>> +<!-- a2 -->

>> +<g id="node34" class="node"><title>a2</title>

>> +<use xlink:href="#ArbiterLevel3" x="998" y="-325"/>

>> +<text text-anchor="middle" x="1025" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;16</text>

>> +</g>

>> +

>> +<!-- q25&#45;&gt;a2 -->

>> +<g id="edge5" class="edge"><title>q25&#45;&gt;a2</title>

>> +<path fill="none" stroke="green" d="M1007.51,-376.354C1011.25,-362.579

>> 1015.35,-347.493 1018.64,-335.392"/>

>> +<polygon fill="green" stroke="green" points="1022.05,-336.202

>> 1021.29,-325.634 1015.29,-334.366 1022.05,-336.202"/>

>> +</g>

>> +

>> +<!-- q26 -->

>> +<g id="node6" class="node"><title>q26</title>

>> +<use xlink:href="#queue_symbol" x="1030" y="-455"/>

>> +<text text-anchor="middle" x="1038" y="-460" font-family="Times,serif"

>> font-size="10.00">q26</text>

>> +</g>

>> +

>> +<!-- q26&#45;&gt;a2 -->

>> +<g id="edge6" class="edge"><title>q26&#45;&gt;a2</title>

>> +<path fill="none" stroke="green" d="M1030.82,-361.991C1029.76,-352.879

>> 1028.71,-343.829 1027.79,-335.985"/>

>> +<polygon fill="green" stroke="green" points="1031.24,-335.345

>> 1026.61,-325.818 1024.29,-336.155 1031.24,-335.345"/>

>> +</g>

>> +

>> +<!-- q27 -->

>> +<g id="node7" class="node"><title>q27</title>

>> +<use xlink:href="#queue_symbol" x="1071" y="-455"/>

>> +<text text-anchor="middle" x="1079" y="-460" font-family="Times,serif"

>> font-size="10.00">q27</text>

>> +</g>

>> +

>> +<!-- a3 -->

>> +<g id="node35" class="node"><title>a3</title>

>> +<use xlink:href="#ArbiterLevel3" x="1059" y="-325"/>

>> +<text text-anchor="middle" x="1086" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;17</text>

>> +</g>

>> +

>> +<!-- q27&#45;&gt;a3 -->

>> +<g id="edge7" class="edge"><title>q27&#45;&gt;a3</title>

>> +<path fill="none" stroke="green" d="M1081.63,-361.991C1082.43,-352.879

>> 1083.22,-343.829 1083.9,-335.985"/>

>> +<polygon fill="green" stroke="green" points="1087.41,-336.084

>> 1084.79,-325.818 1080.44,-335.475 1087.41,-336.084"/>

>> +</g>

>> +

>> +<!-- q32 -->

>> +<g id="node8" class="node"><title>q32</title>

>> +<use xlink:href="#queue_symbol" x="1267" y="-455"/>

>> +<text text-anchor="middle" x="1274" y="-460" font-family="Times,serif"

>> font-size="10.00">q32</text>

>> +</g>

>> +

>> +<!-- a4 -->

>> +<g id="node36" class="node"><title>a4</title>

>> +<use xlink:href="#ArbiterLevel3" x="1220" y="-325"/>

>> +<text text-anchor="middle" x="1247" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;19</text>

>> +</g>

>> +<!-- q32&#45;&gt;a4 -->

>> +

>> +<g id="edge8" class="edge"><title>q32&#45;&gt;a4</title>

>> +<path fill="none" stroke="green" d="M1266.42,-378.686C1262.23,-364.297

>> 1257.54,-348.171 1253.81,-335.381"/>

>> +<polygon fill="green" stroke="green" points="1257.1,-334.156

>> 1250.94,-325.534 1250.38,-336.114 1257.1,-334.156"/>

>> +</g>

>> +

>> +<!-- q16 -->

>> +<g id="node9" class="node"><title>q16</title>

>> +<use xlink:href="#queue_symbol" x="628" y="-455"/>

>> +<text text-anchor="middle" x="636" y="-460" font-family="Times,serif"

>> font-size="10.00">q16</text>

>> +</g>

>> +

>> +<!-- a5 -->

>> +<g id="node37" class="node"><title>a5</title>

>> +<use xlink:href="#ArbiterLevel3" x="648" y="-325"/>

>> +<text text-anchor="middle" x="675" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;11</text>

>> +</g>

>> +<!-- q16&#45;&gt;a5 -->

>> +

>> +<g id="edge9" class="edge"><title>q16&#45;&gt;a5</title>

>> +<path fill="none" stroke="green" d="M647.585,-386.309C653.509,-370.252

>> 660.801,-350.488 666.374,-335.38"/>

>> +<polygon fill="green" stroke="green" points="669.743,-336.361

>> 669.921,-325.767 663.176,-333.938 669.743,-336.361"/>

>> +</g>

>> +

>> +<!-- q17 -->

>> +<g id="node10" class="node"><title>q17</title>

>> +<use xlink:href="#queue_symbol" x="670" y="-455"/>

>> +<text text-anchor="middle" x="677" y="-460" font-family="Times,serif"

>> font-size="10.00">q17</text>

>> +</g>

>> +

>> +<!-- q17&#45;&gt;a5 -->

>> +<g id="edge10" class="edge"><title>q17&#45;&gt;a5</title>

>> +<path fill="none" stroke="green" d="M675.971,-361.991C675.794,-352.879

>> 675.618,-343.829 675.466,-335.985"/>

>> +<polygon fill="green" stroke="green" points="678.962,-335.748

>> 675.268,-325.818 671.963,-335.884 678.962,-335.748"/>

>> +</g>

>> +

>> +<!-- q18 -->

>> +<g id="node11" class="node"><title>q18</title>

>> +<use xlink:href="#queue_symbol" x="712" y="-455"/>

>> +<text text-anchor="middle" x="717" y="-460" font-family="Times,serif"

>> font-size="10.00">q18</text>

>> +</g>

>> +

>> +<!-- a6 -->

>> +<g id="node38" class="node"><title>a6</title>

>> +<use xlink:href="#ArbiterLevel3" x="709" y="-325"/>

>> +<text text-anchor="middle" x="736" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;12</text>

>> +</g>

>> +<!-- q18&#45;&gt;a6 -->

>> +

>> +<g id="edge11" class="edge"><title>q18&#45;&gt;a6</title>

>> +<path fill="none" stroke="green" d="M726.778,-361.991C728.479,-352.774

>> 730.167,-343.621 731.625,-335.715"/>

>> +<polygon fill="green" stroke="green" points="735.079,-336.287

>> 733.451,-325.818 728.195,-335.017 735.079,-336.287"/>

>> +</g>

>> +

>> +<!-- q19 -->

>> +<g id="node12" class="node"><title>q19</title>

>> +<use xlink:href="#queue_symbol" x="750" y="-455"/>

>> +<text text-anchor="middle" x="758" y="-460" font-family="Times,serif"

>> font-size="10.00">q19</text>

>> +</g>

>> +<!-- q19&#45;&gt;a6 -->

>> +

>> +<g id="edge12" class="edge"><title>q19&#45;&gt;a6</title>

>> +<path fill="none" stroke="green" d="M746.438,-363.198C744.478,-353.585

>> 742.521,-343.985 740.84,-335.739"/>

>> +<polygon fill="green" stroke="green" points="744.239,-334.892

>> 738.812,-325.793 737.38,-336.29 744.239,-334.892"/>

>> +</g>

>> +

>> +<!-- q20 -->

>> +<g id="node13" class="node"><title>q20</title>

>> +<use xlink:href="#queue_symbol" x="792" y="-455"/>

>> +<text text-anchor="middle" x="797" y="-460" font-family="Times,serif"

>> font-size="10.00">q20</text>

>> +</g>

>> +

>> +<!-- a7 -->

>> +<g id="node39" class="node"><title>a7</title>

>> +<use xlink:href="#ArbiterLevel3" x="770" y="-325"/>

>> +<text text-anchor="middle" x="797" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;13</text>

>> +</g>

>> +<!-- q20&#45;&gt;a7 -->

>> +

>> +<g id="edge13" class="edge"><title>q20&#45;&gt;a7</title>

>> +<path fill="none" stroke="green" d="M797,-361.991C797,-352.879

>> 797,-343.829 797,-335.985"/>

>> +<polygon fill="green" stroke="green" points="800.5,-335.817 797,-325.818

>> 793.5,-335.818 800.5,-335.817"/>

>> +</g>

>> +

>> +<!-- q21 -->

>> +<g id="node14" class="node"><title>q21</title>

>> +<use xlink:href="#queue_symbol" x="832" y="-455"/>

>> +<text text-anchor="middle" x="837" y="-460" font-family="Times,serif"

>> font-size="10.00">q21</text>

>> +</g>

>> +

>> +<!-- a8 -->

>> +<g id="node40" class="node"><title>a8</title>

>> +<use xlink:href="#ArbiterLevel3" x="834" y="-325"/>

>> +<text text-anchor="middle" x="861" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;14</text>

>> +</g>

>> +<!-- q21&#45;&gt;a8 -->

>> +

>> +<g id="edge14" class="edge"><title>q21&#45;&gt;a8</title>

>> +<path fill="none" stroke="green" d="M847.527,-369.823C850.294,-357.948

>> 853.167,-345.618 855.545,-335.41"/>

>> +<polygon fill="green" stroke="green" points="858.959,-336.181

>> 857.82,-325.648 852.142,-334.593 858.959,-336.181"/>

>> +</g>

>> +

>> +<!-- q22 -->

>> +<g id="node15" class="node"><title>q22</title>

>> +<use xlink:href="#queue_symbol" x="870" y="-455"/>

>> +<text text-anchor="middle" x="878" y="-460" font-family="Times,serif"

>> font-size="10.00">q22</text>

>> +</g>

>> +<!-- q22&#45;&gt;a8 -->

>> +

>> +<g id="edge15" class="edge"><title>q22&#45;&gt;a8</title>

>> +<path fill="none" stroke="green" d="M868.766,-361.991C867.334,-352.774

>> 865.912,-343.621 864.684,-335.715"/>

>> +<polygon fill="green" stroke="green" points="868.14,-335.162

>> 863.146,-325.818 861.223,-336.236 868.14,-335.162"/>

>> +</g>

>> +

>> +<!-- q23 -->

>> +<g id="node16" class="node"><title>q23</title>

>> +<use xlink:href="#queue_symbol" x="910" y="-455"/>

>> +<text text-anchor="middle" x="917" y="-460" font-family="Times,serif"

>> font-size="10.00">q23</text>

>> +</g>

>> +

>> +<!-- a9 -->

>> +<g id="node41" class="node"><title>a9</title>

>> +<use xlink:href="#ArbiterLevel3" x="895" y="-325"/>

>> +<text text-anchor="middle" x="922" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;15</text>

>> +</g>

>> +<!-- q23&#45;&gt;a9 -->

>> +

>> +<g id="edge16" class="edge"><title>q23&#45;&gt;a9</title>

>> +<path fill="none" stroke="green" d="M919.573,-361.991C920.016,-352.879

>> 920.455,-343.829 920.836,-335.985"/>

>> +<polygon fill="green" stroke="green" points="924.34,-335.976

>> 921.329,-325.818 917.348,-335.636 924.34,-335.976"/>

>> +</g>

>> +

>> +<!-- q24 -->

>> +<g id="node17" class="node"><title>q24</title>

>> +<use xlink:href="#queue_symbol" x="948" y="-455"/>

>> +<text text-anchor="middle" x="956" y="-460" font-family="Times,serif"

>> font-size="10.00">q24</text>

>> +</g>

>> +<!-- q24&#45;&gt;a9 -->

>> +

>> +<g id="edge17" class="edge"><title>q24&#45;&gt;a9</title>

>> +<path fill="none" stroke="green" d="M946.499,-384.097C941.184,-368.457

>> 934.839,-349.782 929.937,-335.358"/>

>> +<polygon fill="green" stroke="green" points="933.19,-334.053

>> 926.659,-325.711 926.563,-336.305 933.19,-334.053"/>

>> +</g>

>> +

>> +<!-- q1 -->

>> +<g id="node18" class="node"><title>q1</title>

>> +<use xlink:href="#queue_symbol" x="12" y="-455"/>

>> +<text text-anchor="middle" x="20" y="-460" font-family="Times,serif"

>> font-size="10.00">q1</text>

>> +</g>

>> +

>> +<!-- a10 -->

>> +<g id="node42" class="node"><title>a10</title>

>> +<use xlink:href="#ArbiterLevel3" x="-6" y="-325"/>

>> +<text text-anchor="middle" x="21" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;1</text>

>> +</g>

>> +<!-- q1&#45;&gt;a10 -->

>> +

>> +<g id="edge18" class="edge"><title>q1&#45;&gt;a10</title>

>> +<path fill="none" stroke="green" d="M21,-361.991C21,-352.879 21,-343.829

>> 21,-335.985"/>

>> +<polygon fill="green" stroke="green" points="24.5001,-335.817

>> 21,-325.818 17.5001,-335.818 24.5001,-335.817"/>

>> +</g>

>> +

>> +<!-- q2 -->

>> +<g id="node19" class="node"><title>q2</title>

>> +<use xlink:href="#queue_symbol" x="59" y="-455"/>

>> +<text text-anchor="middle" x="64" y="-460" font-family="Times,serif"

>> font-size="10.00">q2</text>

>> +</g>

>> +

>> +<!-- a11 -->

>> +<g id="node43" class="node"><title>a11</title>

>> +<use xlink:href="#ArbiterLevel3" x="55" y="-325"/>

>> +<text text-anchor="middle" x="82" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;2</text>

>> +</g>

>> +<!-- q2&#45;&gt;a11 -->

>> +

>> +<g id="edge19" class="edge"><title>q2&#45;&gt;a11</title>

>> +<path fill="none" stroke="green" d="M73.2636,-361.991C74.8745,-352.774

>> 76.474,-343.621 77.8557,-335.715"/>

>> +<polygon fill="green" stroke="green" points="81.3115,-336.271

>> 79.5853,-325.818 74.416,-335.066 81.3115,-336.271"/>

>> +</g>

>> +

>> +<!-- q3 -->

>> +<g id="node20" class="node"><title>q3</title>

>> +<use xlink:href="#queue_symbol" x="94" y="-455"/>

>> +<text text-anchor="start" x="99" y="-460" font-family="Times,serif"

>> font-size="10.00">q3</text>

>> +</g>

>> +

>> +<!-- a12-->

>> +<g id="node44" class="node"><title>a12</title>

>> +<use xlink:href="#ArbiterLevel3" x="116" y="-325"/>

>> +<text text-anchor="middle" x="143" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;3</text>

>> +</g>

>> +<!-- q3&#45;&gt;a12 -->

>> +

>> +<g id="edge20" class="edge"><title>q3&#45;&gt;a12</title>

>> +<path fill="none" stroke="green" d="M114.575,-386.939C117.614,-378.886

>> 120.935,-370.094 124,-362 127.32,-353.233 130.976,-343.605

>> 134.187,-335.158"/>

>> +<polygon fill="green" stroke="green" points="137.547,-336.17

>> 137.83,-325.578 131.004,-333.681 137.547,-336.17"/>

>> +</g>

>> +

>> +<!-- q4 -->

>> +<g id="node21" class="node"><title>q4</title>

>> +<use xlink:href="#queue_symbol" x="137" y="-455"/>

>> +<text text-anchor="middle" x="144" y="-460" font-family="Times,serif"

>> font-size="10.00">q4</text>

>> +</g>

>> +<!-- q4&#45;&gt;a12 -->

>> +

>> +<g id="edge21" class="edge"><title>q4&#45;&gt;a12</title>

>> +<path fill="none" stroke="green" d="M143.485,-361.991C143.397,-352.879

>> 143.309,-343.829 143.233,-335.985"/>

>> +<polygon fill="green" stroke="green" points="146.731,-335.783

>> 143.134,-325.818 139.731,-335.851 146.731,-335.783"/>

>> +</g>

>> +

>> +<!-- q5 -->

>> +<g id="node22" class="node"><title>q5</title>

>> +<use xlink:href="#queue_symbol" x="176" y="-455"/>

>> +<text text-anchor="middle" x="184" y="-460" font-family="Times,serif"

>> font-size="10.00">q5</text>

>> +</g>

>> +

>> +<!-- a13 -->

>> +<g id="node45" class="node"><title>a13</title>

>> +<use xlink:href="#ArbiterLevel3" x="186" y="-325"/>

>> +<text text-anchor="middle" x="213" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;4</text>

>> +</g>

>> +<!-- q5&#45;&gt;a13 -->

>> +

>> +<g id="edge22" class="edge"><title>q5&#45;&gt;a13</title>

>> +<path fill="none" stroke="green" d="M194.552,-377.523C198.485,-363.554

>> 202.837,-348.095 206.327,-335.702"/>

>> +<polygon fill="green" stroke="green" points="209.797,-336.289

>> 209.138,-325.715 203.059,-334.392 209.797,-336.289"/>

>> +</g>

>> +

>> +<!-- q6 -->

>> +<g id="node23" class="node"><title>q6</title>

>> +<use xlink:href="#queue_symbol" x="219" y="-455"/>

>> +<text text-anchor="middle" x="224" y="-460" font-family="Times,serif"

>> font-size="10.00">q6</text>

>> +</g>

>> +<!-- q6&#45;&gt;a13 -->

>> +

>> +<g id="edge23" class="edge"><title>q6&#45;&gt;a13</title>

>> +<path fill="none" stroke="green" d="M218.339,-361.991C217.366,-352.879

>> 216.399,-343.829 215.561,-335.985"/>

>> +<polygon fill="green" stroke="green" points="219.018,-335.389

>> 214.476,-325.818 212.057,-336.133 219.018,-335.389"/>

>> +</g>

>> +

>> +<!-- q7 -->

>> +<g id="node24" class="node"><title>q7</title>

>> +<use xlink:href="#queue_symbol" x="259" y="-455"/>

>> +<text text-anchor="middle" x="264" y="-460" font-family="Times,serif"

>> font-size="10.00">q7</text>

>> +</g>

>> +

>> +<!-- a14 -->

>> +<g id="node46" class="node"><title>a14</title>

>> +<use xlink:href="#ArbiterLevel3" x="247" y="-325"/>

>> +<text text-anchor="middle" x="274" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;5</text>

>> +</g>

>> +<!-- q7&#45;&gt;a14 -->

>> +

>> +<g id="edge24" class="edge"><title>q7&#45;&gt;a14</title>

>> +<path fill="none" stroke="green" d="M269.146,-361.991C270.031,-352.879

>> 270.91,-343.829 271.671,-335.985"/>

>> +<polygon fill="green" stroke="green" points="275.176,-336.109

>> 272.658,-325.818 268.208,-335.432 275.176,-336.109"/>

>> +</g>

>> +

>> +<!-- q8 -->

>> +<g id="node25" class="node"><title>q8</title>

>> +<use xlink:href="#queue_symbol" x="295" y="-455"/>

>> +<text text-anchor="middle" x="303" y="-460" font-family="Times,serif"

>> font-size="10.00">q8</text>

>> +</g>

>> +<!-- q8&#45;&gt;a14 -->

>> +

>> +<g id="edge25" class="edge"><title>q8&#45;&gt;a14</title>

>> +<path fill="none" stroke="green" d="M293.423,-378.686C289.232,-364.297

>> 284.535,-348.171 280.81,-335.381"/>

>> +<polygon fill="green" stroke="green" points="284.099,-334.156

>> 277.942,-325.534 277.378,-336.114 284.099,-334.156"/>

>> +</g>

>> +

>> +<!-- q9 -->

>> +<g id="node26" class="node"><title>q9</title>

>> +<use xlink:href="#queue_symbol" x="339" y="-455"/>

>> +<text text-anchor="middle" x="344" y="-460" font-family="Times,serif"

>> font-size="10.00">q9</text>

>> +</g>

>> +

>> +<!-- a15 -->

>> +<g id="node47" class="node"><title>a15</title>

>> +<use xlink:href="#ArbiterLevel3" x="308" y="-325"/>

>> +<text text-anchor="middle" x="335" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;6</text>

>> +</g>

>> +<!-- q9&#45;&gt;a15 -->

>> +

>> +<g id="edge26" class="edge"><title>q9&#45;&gt;a15</title>

>> +<path fill="none" stroke="green" d="M339.368,-361.991C338.572,-352.879

>> 337.781,-343.829 337.096,-335.985"/>

>> +<polygon fill="green" stroke="green" points="340.565,-335.475

>> 336.207,-325.818 333.591,-336.084 340.565,-335.475"/>

>> +</g>

>> +

>> +<!-- q10 -->

>> +<g id="node27" class="node"><title>q10</title>

>> +<use xlink:href="#queue_symbol" x="389" y="-455"/>

>> +<text text-anchor="middle" x="396" y="-460" font-family="Times,serif"

>> font-size="10.00">q10</text>

>> +</g>

>> +

>> +<!-- a16 -->

>> +<g id="node48" class="node"><title>a16</title>

>> +<use xlink:href="#ArbiterLevel3" x="369" y="-325"/>

>> +<text text-anchor="middle" x="396" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;7</text>

>> +</g>

>> +<!-- q10&#45;&gt;a16 -->

>> +

>> +<g id="edge27" class="edge"><title>q10&#45;&gt;a16</title>

>> +<path fill="none" stroke="green" d="M396,-361.991C396,-352.879

>> 396,-343.829 396,-335.985"/>

>> +<polygon fill="green" stroke="green" points="399.5,-335.817 396,-325.818

>> 392.5,-335.818 399.5,-335.817"/>

>> +</g>

>> +

>> +<!-- q11 -->

>> +<g id="node28" class="node"><title>q11</title>

>> +<use xlink:href="#queue_symbol" x="432" y="-455"/>

>> +<text text-anchor="middle" x="437" y="-460" font-family="Times,serif"

>> font-size="10.00">q11</text>

>> +</g>

>> +

>> +<!-- a17 -->

>> +<g id="node49" class="node"><title>a17</title>

>> +<use xlink:href="#ArbiterLevel3" x="430" y="-325"/>

>> +<text text-anchor="middle" x="457" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;8</text>

>> +</g>

>> +<!-- q11&#45;&gt;a17 -->

>> +

>> +<g id="edge28" class="edge"><title>q11&#45;&gt;a17</title>

>> +<path fill="none" stroke="green" d="M447.293,-361.991C449.083,-352.774

>> 450.86,-343.621 452.395,-335.715"/>

>> +<polygon fill="green" stroke="green" points="455.847,-336.301

>> 454.317,-325.818 448.975,-334.967 455.847,-336.301"/>

>> +</g>

>> +

>> +<!-- q12 -->

>> +<g id="node29" class="node"><title>q12</title>

>> +<use xlink:href="#queue_symbol" x="468" y="-455"/>

>> +<text text-anchor="middle" x="476" y="-460" font-family="Times,serif"

>> font-size="10.00">q12</text>

>> +</g>

>> +<!-- q12&#45;&gt;a17 -->

>> +

>> +<g id="edge29" class="edge"><title>q12&#45;&gt;a17</title>

>> +<path fill="none" stroke="green" d="M466.707,-361.991C464.917,-352.774

>> 463.14,-343.621 461.605,-335.715"/>

>> +<polygon fill="green" stroke="green" points="465.025,-334.967

>> 459.683,-325.818 458.153,-336.301 465.025,-334.967"/>

>> +</g>

>> +

>> +<!-- q13 -->

>> +<g id="node30" class="node"><title>q13</title>

>> +<use xlink:href="#queue_symbol" x="512" y="-455"/>

>> +<text text-anchor="middle" x="517" y="-460" font-family="Times,serif"

>> font-size="10.00">q13</text>

>> +</g>

>> +

>> +<!-- a18 -->

>> +<g id="node50" class="node"><title>a18</title>

>> +<use xlink:href="#ArbiterLevel3" x="491" y="-325"/>

>> +<text text-anchor="middle" x="518" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;9</text>

>> +</g>

>> +<!-- q13&#45;&gt;a18 -->

>> +

>> +<g id="edge30" class="edge"><title>q13&#45;&gt;a18</title>

>> +<path fill="none" stroke="green" d="M517.515,-361.991C517.603,-352.879

>> 517.691,-343.829 517.767,-335.985"/>

>> +<polygon fill="green" stroke="green" points="521.269,-335.851

>> 517.866,-325.818 514.269,-335.783 521.269,-335.851"/>

>> +</g>

>> +

>> +<!-- q14 -->

>> +<g id="node31" class="node"><title>q14</title>

>> +<use xlink:href="#queue_symbol" x="552" y="-455"/>

>> +<text text-anchor="middle" x="557" y="-460" font-family="Times,serif"

>> font-size="10.00">q14</text>

>> +</g>

>> +

>> +<!-- a19 -->

>> +<g id="node51" class="node"><title>a19</title>

>> +<use xlink:href="#ArbiterLevel3" x="552" y="-325"/>

>> +<text text-anchor="middle" x="579" y="-308.5" font-family="Times,serif"

>> font-size="10.00">User&#45;10</text>

>> +</g>

>> +<!-- q14&#45;&gt;a19 -->

>> +

>> +<g id="edge31" class="edge"><title>q14&#45;&gt;a19</title>

>> +<path fill="none" stroke="green" d="M567.549,-365.612C569.775,-355.187

>> 572.027,-344.648 573.937,-335.704"/>

>> +<polygon fill="green" stroke="green" points="577.407,-336.213

>> 576.073,-325.703 570.562,-334.751 577.407,-336.213"/>

>> +</g>

>> +

>> +<!-- q15 -->

>> +<g id="node32" class="node"><title>q15</title>

>> +<use xlink:href="#queue_symbol" x="589" y="-455"/>

>> +<text text-anchor="middle" x="597" y="-460" font-family="Times,serif"

>> font-size="10.00">q15</text>

>> +</g>

>> +<!-- q15&#45;&gt;a19 -->

>> +

>> +<g id="edge32" class="edge"><title>q15&#45;&gt;a19</title>

>> +<path fill="none" stroke="green" d="M587.736,-361.991C586.126,-352.774

>> 584.526,-343.621 583.144,-335.715"/>

>> +<polygon fill="green" stroke="green" points="586.584,-335.066

>> 581.415,-325.818 579.689,-336.271 586.584,-335.066"/>

>> +</g>

>> +<!-- b1 -->

>> +<g id="node52" class="node"><title>b1</title>

>> +<use xlink:href="#ArbiterLevel2" x="1023" y="-260"/>

>> +<text text-anchor="middle" x="1086" y="-238.9" font-family="Times,serif"

>> font-size="12.00">Gold&#45;C3</text>

>> +</g>

>> +<!-- a1&#45;&gt;b1 -->

>> +<g id="edge33" class="edge"><title>a1&#45;&gt;b1</title>

>> +<path fill="none" stroke="black" d="M1142.63,-296.442C1133.7,-288.011

>> 1121.96,-276.931 1111.48,-267.046"/>

>> +<polygon fill="black" stroke="black" points="1113.81,-264.433

>> 1104.14,-260.116 1109.01,-269.524 1113.81,-264.433"/>

>> +</g>

>> +<!-- a2&#45;&gt;b1 -->

>> +<g id="edge34" class="edge"><title>a2&#45;&gt;b1</title>

>> +<path fill="none" stroke="black" d="M1037.34,-296.442C1044.82,-288.235

>> 1054.57,-277.518 1063.39,-267.837"/>

>> +<polygon fill="black" stroke="black" points="1066.05,-270.114

>> 1070.19,-260.363 1060.87,-265.401 1066.05,-270.114"/>

>> +</g>

>> +<!-- a3&#45;&gt;b1 -->

>> +<g id="edge35" class="edge"><title>a3&#45;&gt;b1</title>

>> +<path fill="none" stroke="black" d="M1086,-296.442C1086,-288.966

>> 1086,-279.408 1086,-270.447"/>

>> +<polygon fill="black" stroke="black" points="1089.5,-270.363 1086,-260.363

>> 1082.5,-270.363 1089.5,-270.363"/>

>> +</g>

>> +

>> +<!-- a4&#45;&gt;b1 -->

>> +<g id="edge36" class="edge"><title>a4&#45;&gt;b1</title>

>> +<path fill="none" stroke="black" d="M1237.26,-295.3 L 1138,-265"/>

>> +<use transform="rotate(70, 1134,-265)" xlink:href="#DownArrowColor2"

>> x="1128" y="-272"/>

>> +</g>

>> +

>> +<!-- b2 -->

>> +<g id="node53" class="node"><title>b2</title>

>> +<use xlink:href="#ArbiterLevel2" x="675" y="-260"/>

>> +<text text-anchor="middle" x="736" y="-238.9" font-family="Times,serif"

>> font-size="12.00">Bronze&#45;C3</text>

>> +</g>

>> +<!-- a5&#45;&gt;b2 -->

>> +<g id="edge37" class="edge"><title>a5&#45;&gt;b2</title>

>> +<path fill="none" stroke="black" d="M687.344,-296.442C694.816,-288.235

>> 704.573,-277.518 713.387,-267.837"/>

>> +<polygon fill="black" stroke="black" points="716.048,-270.114

>> 720.192,-260.363 710.872,-265.401 716.048,-270.114"/>

>> +</g>

>> +<!-- a6&#45;&gt;b2 -->

>> +<g id="edge38" class="edge"><title>a6&#45;&gt;b2</title>

>> +<path fill="none" stroke="black" d="M736,-296.442C736,-288.966

>> 736,-279.408 736,-270.447"/>

>> +<polygon fill="black" stroke="black" points="739.5,-270.363 736,-260.363

>> 732.5,-270.363 739.5,-270.363"/>

>> +</g>

>> +<!-- a7&#45;&gt;b2 -->

>> +<g id="edge39" class="edge"><title>a7&#45;&gt;b2</title>

>> +<path fill="none" stroke="black" d="M784.656,-296.442C777.184,-288.235

>> 767.427,-277.518 758.613,-267.837"/>

>> +<polygon fill="black" stroke="black" points="761.128,-265.401

>> 751.808,-260.363 755.952,-270.114 761.128,-265.401"/>

>> +</g>

>> +<!-- b3 -->

>> +<g id="node54" class="node"><title>b3</title>

>> +<use xlink:href="#ArbiterLevel2" x="807" y="-260"/>

>> +<text text-anchor="middle" x="865" y="-238.9" font-family="Times,serif"

>> font-size="12.00">Silver&#45;C3</text>

>> +</g>

>> +<!-- a8&#45;&gt;b3 -->

>> +<g id="edge40" class="edge"><title>a8&#45;&gt;b3</title>

>> +<path fill="none" stroke="black" d="M861.809,-296.442C862.256,-288.966

>> 862.826,-279.408 863.361,-270.447"/>

>> +<polygon fill="black" stroke="black" points="866.861,-270.554

>> 863.963,-260.363 859.874,-270.137 866.861,-270.554"/>

>> +</g>

>> +

>> +<!-- a9&#45;&gt;b3 -->

>> +<g id="edge41" class="edge"><title>a9&#45;&gt;b3</title>

>> +<path fill="none" stroke="black" d="M920,-297 L 909,-269"/>

>> +<use transform="rotate(18, 908,-268)" xlink:href="#DownArrowColor2"

>> x="901.5" y="-271"/>

>> +</g>

>> +

>> +<!-- b4 -->

>> +<g id="node55" class="node"><title>b4</title>

>> +<use xlink:href="#ArbiterLevel2" x="57" y="-260"/>

>> +<text text-anchor="middle" x="111" y="-238.9" font-family="Times,serif"

>> font-size="12.00">Regular&#45;C1</text>

>> +</g>

>> +<!-- a10&#45;&gt;b4 -->

>> +<g id="edge42" class="edge"><title>a10&#45;&gt;b4</title>

>> +<path fill="none" stroke="black" d="M39.2128,-296.442C50.8676,-287.765

>> 66.2915,-276.283 79.8547,-266.186"/>

>> +<polygon fill="black" stroke="black" points="82.0776,-268.895

>> 88.0089,-260.116 77.8976,-263.28 82.0776,-268.895"/>

>> +</g>

>> +<!-- a11&#45;&gt;b4 -->

>> +<g id="edge43" class="edge"><title>a11&#45;&gt;b4</title>

>> +<path fill="none" stroke="black" d="M87.8686,-296.442C91.2097,-288.722

>> 95.5122,-278.782 99.4985,-269.572"/>

>> +<polygon fill="black" stroke="black" points="102.724,-270.931

>> 103.485,-260.363 96.3003,-268.15 102.724,-270.931"/>

>> +</g>

>> +<!-- a12&#45;&gt;b4 -->

>> +<g id="edge44" class="edge"><title>a12&#45;&gt;b4</title>

>> +<path fill="none" stroke="black" d="M136.524,-296.442C132.838,-288.722

>> 128.09,-278.782 123.691,-269.572"/>

>> +<polygon fill="black" stroke="black" points="126.761,-267.878

>> 119.293,-260.363 120.444,-270.895 126.761,-267.878"/>

>> +</g>

>> +<!-- b5 -->

>> +<g id="node56" class="node"><title>b5</title>

>> +<use xlink:href="#ArbiterLevel2" x="217" y="-260"/>

>> +<text text-anchor="middle" x="274" y="-238.9" font-family="Times,serif"

>> font-size="12.00">Premium&#45;C1</text>

>> +</g>

>> +<!-- a13&#45;&gt;b5 -->

>> +<g id="edge45" class="edge"><title>a13&#45;&gt;b5</title>

>> +<path fill="none" stroke="black" d="M225.344,-296.442C232.816,-288.235

>> 242.573,-277.518 251.387,-267.837"/>

>> +<polygon fill="black" stroke="black" points="254.048,-270.114

>> 258.192,-260.363 248.872,-265.401 254.048,-270.114"/>

>> +</g>

>> +<!-- a14&#45;&gt;b5 -->

>> +<g id="edge46" class="edge"><title>a14&#45;&gt;b5</title>

>> +<path fill="none" stroke="black" d="M274,-296.442C274,-288.966

>> 274,-279.408 274,-270.447"/>

>> +<polygon fill="black" stroke="black" points="277.5,-270.363 274,-260.363

>> 270.5,-270.363 277.5,-270.363"/>

>> +</g>

>> +<!-- a15&#45;&gt;b5 -->

>> +<g id="edge47" class="edge"><title>a15&#45;&gt;b5</title>

>> +<path fill="none" stroke="black" d="M322.656,-296.442C315.184,-288.235

>> 305.427,-277.518 296.613,-267.837"/>

>> +<polygon fill="black" stroke="black" points="299.128,-265.401

>> 289.808,-260.363 293.952,-270.114 299.128,-265.401"/>

>> +</g>

>> +<!-- b6 -->

>> +<g id="node57" class="node"><title>b6</title>

>> +<use xlink:href="#ArbiterLevel2" x="366" y="-260"/>

>> +<text text-anchor="middle" x="427" y="-238.9" font-family="Times,serif"

>> font-size="12.00">Normal&#45;C2</text>

>> +</g>

>> +<!-- a16&#45;&gt;b6 -->

>> +<g id="edge48" class="edge"><title>a16&#45;&gt;b6</title>

>> +<path fill="none" stroke="black" d="M402.273,-296.442C405.845,-288.722

>> 410.444,-278.782 414.705,-269.572"/>

>> +<polygon fill="black" stroke="black" points="417.944,-270.908

>> 418.966,-260.363 411.591,-267.969 417.944,-270.908"/>

>> +</g>

>> +<!-- a17&#45;&gt;b6 -->

>> +<g id="edge49" class="edge"><title>a17&#45;&gt;b6</title>

>> +<path fill="none" stroke="black" d="M450.929,-296.442C447.473,-288.722

>> 443.022,-278.782 438.898,-269.572"/>

>> +<polygon fill="black" stroke="black" points="442.056,-268.06

>> 434.775,-260.363 435.667,-270.92 442.056,-268.06"/>

>> +</g>

>> +<!-- b7 -->

>> +<g id="node58" class="node"><title>b7</title>

>> +<use xlink:href="#ArbiterLevel2" x="502" y="-260"/>

>> +<text text-anchor="middle" x="559" y="-238.9" font-family="Times,serif"

>> font-size="12.00">Turbo&#45;C2</text>

>> +</g>

>> +<!-- a18&#45;&gt;b7 -->

>> +<g id="edge50" class="edge"><title>a18&#45;&gt;b7</title>

>> +<path fill="none" stroke="black" d="M526.297,-296.442C531.12,-288.56

>> 537.36,-278.363 543.095,-268.992"/>

>> +<polygon fill="black" stroke="black" points="546.141,-270.72

>> 548.375,-260.363 540.17,-267.066 546.141,-270.72"/>

>> +</g>

>> +<!-- a19&#45;&gt;b7 -->

>> +<g id="edge51" class="edge"><title>a19&#45;&gt;b7</title>

>> +<path fill="none" stroke="black" d="M574.953,-296.442C572.697,-288.885

>> 569.806,-279.2 567.106,-270.155"/>

>> +<polygon fill="black" stroke="black" points="570.397,-268.944

>> 564.183,-260.363 563.69,-270.946 570.397,-268.944"/>

>> +</g>

>> +

>> +<!-- c3 -->

>> +<g id="node59" class="node"><title>c3</title>

>> +<use xlink:href="#ArbiterLevel1" x="735" y="-179"/>

>> +<text text-anchor="middle" x="785" y="-146" font-family="Times,serif"

>> font-size="12.00">Company3</text>

>> +</g>

>> +

>> +<!-- b1&#45;&gt;c3 -->

>> +

>> +<g id="edge52" class="edge"><title>b1&#45;&gt;c3</title>

>> +<path fill="none" stroke="green" d="M1043,-227.072 L 845.759,-167.08"/>

>> +<polygon fill="green" stroke="green" points="846.633,-163.687

>> 836.046,-164.091 844.574,-170.377 846.633,-163.687"/>

>> +</g>

>> +

>> +<!-- b2&#45;&gt;c3 -->

>> +<g id="edge53" class="edge"><title>b2&#45;&gt;c3</title>

>> +<path fill="none" stroke="green" d="M748.644,-223.614 L 754,-177"/>

>> +<use transform="rotate(-10, 754,-177)" xlink:href="#DownArrowColor1"

>> x="747" y="-181"/>

>> +</g>

>> +

>> +<!-- b3&#45;&gt;c3 -->

>> +<g id="edge54" class="edge"><title>b3&#45;&gt;c3</title>

>> +<path fill="none" stroke="green" d="M852.158,-223.614 L  818,-177"/>

>> +<use transform="rotate(30, 818,-177)" xlink:href="#DownArrowColor1"

>> x="811" y="-181"/>

>> +</g>

>> +

>> +<!-- c1 -->

>> +<g id="node60" class="node"><title>c1</title>

>> +<use xlink:href="#ArbiterLevel1" x="239" y="-179"/>

>> +<text text-anchor="middle" x="289" y="-146" font-family="Times,serif"

>> font-size="12.00">Company1</text>

>> +</g>

>> +

>> +<!-- b4&#45;&gt;c1 -->

>> +<g id="edge55" class="edge"><title>b4&#45;&gt;c1</title>

>> +<path fill="none" stroke="green" d="M142.815,-223.824C168.036,-210.207

>> 203.523,-191.049 231.23,-176.091"/>

>> +<polygon fill="green" stroke="green" points="233.164,-179.024

>> 240.301,-171.193 229.839,-172.864 233.164,-179.024"/>

>> +</g>

>> +<!-- b5&#45;&gt;c1 -->

>> +<g id="edge56" class="edge"><title>b5&#45;&gt;c1</title>

>> +<path fill="none" stroke="green" d="M274,-223.614 L 274,-180"/>

>> +<use xlink:href="#DownArrowColor1" x="267" y="-180"/>

>> +</g>

>> +

>> +<!-- c2 -->

>> +<g id="node61" class="node"><title>c2</title>

>> +<use xlink:href="#ArbiterLevel1" x="443" y="-179"/>

>> +<text text-anchor="middle" x="493" y="-146" font-family="Times,serif"

>> font-size="12.00">Company2</text>

>> +</g>

>> +

>> +<!-- b6&#45;&gt;c2 -->

>> +<g id="edge57" class="edge"><title>b6&#45;&gt;c2</title>

>> +<path fill="none" stroke="green" d="M440.039,-223.614 L 478,-176"/>

>> +<use transform="rotate(-40, 478,-176)" xlink:href="#DownArrowColor1"

>> x="471" y="-180"/>

>> +</g>

>> +

>> +<!-- b7&#45;&gt;c2 -->

>> +<g id="edge58" class="edge"><title>b7&#45;&gt;c2</title>

>> +<path fill="none" stroke="green" d="M545.961,-223.614 L 523,-178"/>

>> +<use transform="rotate(30, 523,-176)" xlink:href="#DownArrowColor1"

>> x="515" y="-180"/>

>> +</g>

>> +

>> +<!-- o1 -->

>> +<g id="node62" class="node"><title>o1</title>

>> +<ellipse fill="#80c0f0" stroke="black" cx="493" cy="-40" rx="36"

>> ry="36"/>

>> +<ellipse fill="none" stroke="black" cx="493" cy="-40" rx="40" ry="40"/>

>> +<text text-anchor="middle" x="493" y="-36.9" font-family="Times,serif"

>> font-size="12.00">xgbe1</text>

>> +</g>

>> +

>> +<!-- c3&#45;&gt;o1 -->

>> +<g id="edge59" class="edge"><title>c3&#45;&gt;o1</title>

>> +<path fill="none" stroke="black" d="M752.014,-133.24 L

>> 540.051,-57.8586"/>

>> +<polygon fill="black" stroke="black" points="541.222,-54.5604

>> 530.627,-54.4821 538.861,-61.1502 541.222,-54.5604"/>

>> +</g>

>> +

>> +<!-- c1&#45;&gt;o1 -->

>> +<g id="edge60" class="edge"><title>c1&#45;&gt;o1</title>

>> +<path fill="none" stroke="black" d="M319.91,-127.94C357.719,-108.949

>> 411.009,-82.1826 448.443,-63.38"/>

>> +<polygon fill="black" stroke="black" points="450.235,-66.397

>> 457.6,-58.7808 447.093,-60.1417 450.235,-66.397"/>

>> +</g>

>> +

>> +<!-- c3&#45;&gt;o1 -->

>> +<g id="edge61" class="edge"><title>c3&#45;&gt;o1</title>

>> +<path fill="none" stroke="black" d="M493,-125 L 493,-90.616"/>

>> +<polygon fill="black" stroke="black" points="496.5,-90.3557 493,-80.3557

>> 489.5,-90.3558 496.5,-90.3557"/>

>> +</g>

>> +

>> +</g>

>> +</svg>

>> diff --git a/doc/images/tm_node.svg b/doc/images/tm_node.svg

>> new file mode 100644

>> index 0000000..58fe2bb

>> --- /dev/null

>> +++ b/doc/images/tm_node.svg

>> @@ -0,0 +1,1178 @@

>> +<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"

>> +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"

>> +   width="765"

>> +   height="990"

>> +   viewBox="320 155 425.98732 552.68812"

>> +   id="svg3293"

>> +   version="1.1"

>> +   inkscape:version="0.48.2 r9819">

>> +  <metadata

>> +     id="metadata3599">

>> +    <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></dc:title>

>> +      </cc:Work>

>> +    </rdf:RDF>

>> +  </metadata>

>> +  <defs

>> +     id="defs3597">

>> +    <font

>> +       horiz-adv-x="1024"

>> +       id="font46307"

>> +       inkscape:label="font 1"

>> +       horiz-origin-x="0"

>> +       horiz-origin-y="0"

>> +       vert-origin-x="45"

>> +       vert-origin-y="90"

>> +       vert-adv-y="90">

>> +      <font-face

>> +         units-per-em="1024"

>> +         id="font-face46309"

>> +         font-family="SVGFont 1" />

>> +      <missing-glyph

>> +         d="M0,0h1000v1024h-1000z"

>> +         id="missing-glyph46311" />

>> +    </font>

>> +    <font

>> +       horiz-adv-x="1024"

>> +       id="font46313"

>> +       inkscape:label="font 2"

>> +       horiz-origin-x="0"

>> +       horiz-origin-y="0"

>> +       vert-origin-x="45"

>> +       vert-origin-y="90"

>> +       vert-adv-y="90">

>> +      <font-face

>> +         units-per-em="1024"

>> +         id="font-face46315"

>> +         font-family="SVGFont 2" />

>> +      <missing-glyph

>> +         d="M0,0h1000v1024h-1000z"

>> +         id="missing-glyph46317" />

>> +    </font>

>> +  </defs>

>> +  <sodipodi:namedview

>> +     pagecolor="#ffffff"

>> +     bordercolor="#666666"

>> +     borderopacity="1"

>> +     objecttolerance="10"

>> +     gridtolerance="10"

>> +     guidetolerance="10"

>> +     inkscape:pageopacity="0"

>> +     inkscape:pageshadow="2"

>> +     inkscape:window-width="1178"

>> +     inkscape:window-height="965"

>> +     id="namedview3595"

>> +     showgrid="false"

>> +     fit-margin-top="1.6"

>> +     fit-margin-left="1"

>> +     fit-margin-right="1"

>> +     fit-margin-bottom="1"

>> +     units="in"

>> +     showborder="true"

>> +     inkscape:zoom="0.78398474"

>> +     inkscape:cx="382.52479"

>> +     inkscape:cy="496.87739"

>> +     inkscape:window-x="210"

>> +     inkscape:window-y="0"

>> +     inkscape:window-maximized="0"

>> +     inkscape:current-layer="svg3293"

>> +     borderlayer="false" />

>> +  <path

>> +

>>  style="fill:#f0e9ef;fill-opacity:1;stroke:#000000;stroke-width:1.7864666;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

>> +     d="m 353.0075,287.90468 360,0 -40,349.6 -280,0 z"

>> +     id="path46246"

>> +     inkscape:connector-curvature="0"

>> +     sodipodi:nodetypes="ccccc" />

>> +  <g

>> +     id="g3295"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="618.62598"

>> +       y1="452.25"

>> +       x2="618.62598"

>> +       y2="452.25"

>> +       id="line3297" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>> 618.626,452.25 "

>> +       id="polygon3299" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>> 618.626,452.25 "

>> +       id="polygon3301" />

>> +  </g>

>> +  <g

>> +     id="g3303"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="618.62598"

>> +       y1="452.25"

>> +       x2="618.62598"

>> +       y2="452.25"

>> +       id="line3305" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>> 618.626,452.25 "

>> +       id="polygon3307" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>> 618.626,452.25 "

>> +       id="polygon3309" />

>> +  </g>

>> +  <g

>> +     id="g3311"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="618.62598"

>> +       y1="452.25"

>> +       x2="618.62598"

>> +       y2="452.25"

>> +       id="line3313" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>> 618.626,452.25 "

>> +       id="polygon3315" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>> 618.626,452.25 "

>> +       id="polygon3317" />

>> +  </g>

>> +  <g

>> +     id="g3319"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="618.62598"

>> +       y1="452.25"

>> +       x2="618.62598"

>> +       y2="452.25"

>> +       id="line3321" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>> 618.626,452.25 "

>> +       id="polygon3323" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>> 618.626,452.25 "

>> +       id="polygon3325" />

>> +  </g>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3327">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3329" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3331">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3333" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3335">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3337" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3339">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3341" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3343">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3345" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3347">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3349" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3351">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3353" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3355">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3357" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="542.30371"

>> +     y="478.4895"

>> +     id="text3359">

>> +    <tspan

>> +       x="542.30371"

>> +       y="478.4895"

>> +       id="tspan3361" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="488.75369"

>> +     y="461.9895"

>> +     id="text3363">

>> +    <tspan

>> +       x="488.75369"

>> +       y="461.9895"

>> +       id="tspan3365" />

>> +  </text>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>> +     x="577.55371"

>> +     y="443.9895"

>> +     id="text3367">

>> +    <tspan

>> +       x="577.55371"

>> +       y="443.9895"

>> +       id="tspan3369" />

>> +  </text>

>> +  <g

>> +     id="g3391"

>> +     transform="matrix(0.36822672,0,0,0.6,306.07498,207.13875)">

>> +    <ellipse

>> +       style="fill:#ffffff"

>> +       cx="619.35498"

>> +       cy="492.38599"

>> +       rx="154.5"

>> +       ry="46"

>> +       id="ellipse3393"/>

>> +

>> +    <!-- <path

>> +       d="m 773.85498,492.38599 c 0,25.40509 -69.17201,46 -154.5,46

>> -85.32799,0 -154.5,-20.59491 -154.5,-46 0,-25.4051 69.17201,-46 154.5,-46

>> 85.32799,0 154.5,20.5949 154.5,46 z" /> -->

>> +

>> +    <ellipse

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       cx="619.35498"

>> +       cy="492.38599"

>> +       rx="154.5"

>> +       ry="46"

>> +       id="ellipse3395" />

>> +

>> +    <!-- <path

>> +       d="m 773.85498,492.38599 c 0,25.40509 -69.17201,46 -154.5,46

>> -85.32799,0 -154.5,-20.59491 -154.5,-46 0,-25.4051 69.17201,-46 154.5,-46

>> 85.32799,0 154.5,20.5949 154.5,46 z" /> -->

>> +

>> +  </g>

>> +  <g

>> +     id="g3397"

>> +     transform="matrix(1.2836753,0,0,0.71637906,-268.40447,153.70656)">

>> +    <path

>> +       style="fill:#ffffff"

>> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

>> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575 z"

>> +       id="path3399"

>> +       inkscape:connector-curvature="0" />

>> +    <path

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

>> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575"

>> +       id="path3401"

>> +       inkscape:connector-curvature="0" />

>> +    <path

>> +       style="fill:none;stroke:#000000;stroke-width:0.2"

>> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

>> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575"

>> +       id="path3403"

>> +       inkscape:connector-curvature="0" />

>> +  </g>

>> +  <g

>> +     id="g3405"

>> +     transform="matrix(0.6,0,0,0.33664343,158.3969,402.52795)"

>> +     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">

>> +    <line

>> +

>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

>> +       x1="624.31"

>> +       y1="653.82501"

>> +       x2="624.35199"

>> +       y2="775.586"

>> +       id="line3407" />

>> +    <polygon

>> +

>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"

>> +       points="624.355,783.086 619.351,773.088 624.352,775.586

>> 629.351,773.084 "

>> +       id="polygon3409" />

>> +    <polygon

>> +

>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

>> +       points="624.355,783.086 619.351,773.088 624.352,775.586

>> 629.351,773.084 "

>> +       id="polygon3411" />

>> +  </g>

>> +  <g

>> +     id="g3413"

>> +     transform="matrix(0.6,0,0,1.0385789,160.4258,-29.14563)"

>> +     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">

>> +    <line

>> +

>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

>> +       x1="620.72998"

>> +       y1="538.75"

>> +       x2="620.99701"

>> +       y2="562.79102"

>> +       id="line3415" />

>> +    <polygon

>> +

>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"

>> +       points="621.08,570.291 615.97,560.347 620.997,562.791

>> 625.969,560.236 "

>> +       id="polygon3417" />

>> +    <polygon

>> +

>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

>> +       points="621.08,570.291 615.97,560.347 620.997,562.791

>> 625.969,560.236 "

>> +       id="polygon3419" />

>> +  </g>

>> +  <text

>> +     font-size="12.7998"

>> +

>>  style="font-size:10.71879959px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;font-family:Sans;-inkscape-font-specification:Sans"

>> +     x="515.39581"

>> +     y="505.40701"

>> +     id="text3421"

>> +     sodipodi:linespacing="125%">

>> +    <tspan

>> +       x="515.39581"

>> +       y="505.40701"

>> +       id="tspan3423"

>> +

>>  style="font-size:10.71879959px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans">Shaper</tspan>

>> +  </text>

>> +  <g

>> +     id="g3435"

>> +

>>  transform="matrix(0.68275674,0,-0.0185135,0.47151591,121.83991,265.95426)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2.19180131"

>> +       x1="612.85498"

>> +       y1="399.51315"

>> +       x2="613.99902"

>> +       y2="437.06961"

>> +       id="line3437" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="618.905,430.975 614.274,441.152 608.911,431.341

>> 613.999,433.657 "

>> +       id="polygon3439" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="618.905,430.975 614.274,441.152 608.911,431.341

>> 613.999,433.657 "

>> +       id="polygon3441" />

>> +  </g>

>> +  <g

>> +     id="g3483"

>> +     transform="matrix(0.46064658,0,0,0.67930938,233.06856,182.00415)">

>> +    <path

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       d="m 428.855,330.386 c 34.5,37 112.5,60 151.924,52.759"

>> +       id="path3485"

>> +       inkscape:connector-curvature="0" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="580.779,383.145 577.417,378.679 588.156,381.79

>> 579.224,388.514 "

>> +       id="polygon3487" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="580.779,383.145 577.417,378.679 588.156,381.79

>> 579.224,388.514 "

>> +       id="polygon3489" />

>> +  </g>

>> +  <g

>> +     id="g3491"

>> +     transform="matrix(0.54809168,0,0,0.74784284,211.99528,158.68288)">

>> +    <path

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       d="m 788.355,329.386 c -42,31 -103,54 -143.271,52.389"

>> +       id="path3493"

>> +       inkscape:connector-curvature="0" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="647.382,386.871 637.59,381.475 647.781,376.879

>> 645.084,381.775 "

>> +       id="polygon3495" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="647.382,386.871 637.59,381.475 647.781,376.879

>> 645.084,381.775 "

>> +       id="polygon3497" />

>> +  </g>

>> +  <g

>> +     id="g3499"

>> +     transform="matrix(0.41682002,0,0,0.63577084,271.70535,195.4459)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="545.85498"

>> +       y1="329.38599"

>> +       x2="589.07098"

>> +       y2="360.811"

>> +       id="line3501" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="595.137,365.222 584.109,363.385 589.071,360.811

>> 589.99,355.297 "

>> +       id="polygon3503" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="595.137,365.222 584.109,363.385 589.071,360.811

>> 589.99,355.297 "

>> +       id="polygon3505" />

>> +  </g>

>> +  <g

>> +     id="g3507"

>> +     transform="matrix(0.7502618,0,0,0.69104314,70.399378,177.15041)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="669.35498"

>> +       y1="330.38599"

>> +       x2="638.61102"

>> +       y2="357.89401"

>> +       id="line3509" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="638.611,357.894 643.808,359.953 633.022,362.895

>> 637.14,352.501 "

>> +       id="polygon3511" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="638.611,357.894 643.808,359.953 633.022,362.895

>> 637.14,352.501 "

>> +       id="polygon3513" />

>> +  </g>

>> +  <g

>> +     id="g3523"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,208.92521)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="517.98901"

>> +       y1="80"

>> +       x2="520.242"

>> +       y2="256.28699"

>> +       id="line3525" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="525.177,253.661 520.432,263.784 515.18,253.915

>> 520.242,256.287 "

>> +       id="polygon3527" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="525.177,253.661 520.432,263.784 515.18,253.915

>> 520.242,256.287 "

>> +       id="polygon3529" />

>> +  </g>

>> +  <g

>> +     id="g3531"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="549.48901"

>> +       y1="80"

>> +       x2="546.78497"

>> +       y2="258.78799"

>> +       id="line3533" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="541.864,256.137 546.785,258.788 551.859,256.442

>> 546.557,266.285 "

>> +       id="polygon3535" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="541.864,256.137 546.785,258.788 551.859,256.442

>> 546.557,266.285 "

>> +       id="polygon3537" />

>> +  </g>

>> +  <g

>> +     id="g3539"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="571.98901"

>> +       y1="80"

>> +       x2="567.47998"

>> +       y2="259.79599"

>> +       id="line3541" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="562.613,257.047 567.48,259.796 572.6,257.552

>> 567.102,267.287 "

>> +       id="polygon3543" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="562.613,257.047 567.48,259.796 572.6,257.552

>> 567.102,267.287 "

>> +       id="polygon3545" />

>> +  </g>

>> +  <g

>> +     id="g3547"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="646.48901"

>> +       y1="80"

>> +       x2="642.91699"

>> +       y2="257.293"

>> +       id="line3549" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="638.031,254.576 642.917,257.293 648.022,255.015

>> 642.587,264.786 "

>> +       id="polygon3551" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="638.031,254.576 642.917,257.293 648.022,255.015

>> 642.587,264.786 "

>> +       id="polygon3553" />

>> +  </g>

>> +  <g

>> +     id="g3555"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="681.48901"

>> +       y1="80"

>> +       x2="674.79797"

>> +       y2="256.81699"

>> +       id="line3557" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="670.022,253.911 674.798,256.817 679.988,254.741

>> 674.175,264.291 "

>> +       id="polygon3559" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="670.022,253.911 674.798,256.817 679.988,254.741

>> 674.175,264.291 "

>> +       id="polygon3561" />

>> +  </g>

>> +  <g

>> +     id="g3563"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="706.98901"

>> +       y1="80"

>> +       x2="698.99701"

>> +       y2="257.836"

>> +       id="line3565" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="694.282,254.832 698.997,257.836 704.228,255.867

>> 698.22,265.296 "

>> +       id="polygon3567" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="694.282,254.832 698.997,257.836 704.228,255.867

>> 698.22,265.296 "

>> +       id="polygon3569" />

>> +  </g>

>> +  <g

>> +     id="g3571"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="754.98901"

>> +       y1="80"

>> +       x2="763.82397"

>> +       y2="258.354"

>> +       id="line3573" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="758.561,256.47 763.824,258.354 768.489,255.274

>> 764.722,265.8 "

>> +       id="polygon3575" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="758.561,256.47 763.824,258.354 768.489,255.274

>> 764.722,265.8 "

>> +       id="polygon3577" />

>> +  </g>

>> +  <g

>> +     id="g3579"

>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="793.98901"

>> +       y1="80"

>> +       x2="785.16803"

>> +       y2="259.85501"

>> +       id="line3581" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="780.507,256.768 785.168,259.855 790.433,257.979

>> 784.26,267.3 "

>> +       id="polygon3583" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="780.507,256.768 785.168,259.855 790.433,257.979

>> 784.26,267.3 "

>> +       id="polygon3585" />

>> +  </g>

>> +  <g

>> +     id="g3587"

>> +     transform="matrix(0.6,0,0,0.64733675,171.12812,194.48507)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="817.48901"

>> +       y1="90"

>> +       x2="806.52002"

>> +       y2="259.905"

>> +       id="line3589" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="806.52,259.905 811.851,258.222 805.341,267.312

>> 801.975,256.65 "

>> +       id="polygon3591" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="806.52,259.905 811.851,258.222 805.341,267.312

>> 801.975,256.65 "

>> +       id="polygon3593" />

>> +  </g>

>> +  <path

>> +

>>  style="fill:#fcfffa;fill-opacity:1;stroke:#000000;stroke-width:0.8932333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

>> +     d="m 499.51125,428.12127 66.9925,0 -11.16542,26.797 -44.66166,0 z"

>> +     id="path46249"

>> +     inkscape:connector-curvature="0"

>> +     sodipodi:nodetypes="ccccc" />

>> +  <text

>> +     xml:space="preserve"

>> +

>>  style="font-size:8.93233299px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"

>> +     x="516.63232"

>> +     y="439.0816"

>> +     id="text46251"

>> +     sodipodi:linespacing="125%"><tspan

>> +       sodipodi:role="line"

>> +       id="tspan46253"

>> +       x="516.63232"

>> +       y="439.0816">priority</tspan><tspan

>> +       sodipodi:role="line"

>> +       x="516.63232"

>> +       y="450.24701"

>> +       id="tspan46255">encoder</tspan></text>

>> +  <g

>> +     id="g3523-1"

>> +     transform="matrix(0.60000001,0,0,0.60000001,130.12915,207.76531)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="517.98901"

>> +       y1="80"

>> +       x2="520.242"

>> +       y2="256.28699"

>> +       id="line3525-7" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="515.18,253.915 520.242,256.287 525.177,253.661

>> 520.432,263.784 "

>> +       id="polygon3527-4" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="515.18,253.915 520.242,256.287 525.177,253.661

>> 520.432,263.784 "

>> +       id="polygon3529-0" />

>> +  </g>

>> +  <g

>> +     id="g3523-9"

>> +     transform="matrix(0.60000001,0,0,0.60000001,100.34145,207.76531)">

>> +    <line

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       x1="517.98901"

>> +       y1="80"

>> +       x2="520.242"

>> +       y2="256.28699"

>> +       id="line3525-4" />

>> +    <polygon

>> +       style="fill:#000000"

>> +       points="515.18,253.915 520.242,256.287 525.177,253.661

>> 520.432,263.784 "

>> +       id="polygon3527-8" />

>> +    <polygon

>> +       style="fill:none;stroke:#000000;stroke-width:2"

>> +       points="515.18,253.915 520.242,256.287 525.177,253.661

>> 520.432,263.784 "

>> +       id="polygon3529-8" />

>> +  </g>

>> +  <g

>> +     id="g46325"

>> +     transform="matrix(0.8,0,0,0.8,53.007498,95.104671)">

>> +    <g

>> +       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"

>> +       id="g3443">

>> +      <path

>> +         inkscape:connector-curvature="0"

>> +         id="path3445"

>> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5

>> -62.143,0 -12.429,-30.5 12.429,-30.5 z"

>> +         style="fill:#ffffff" />

>> +      <path

>> +         inkscape:connector-curvature="0"

>> +         id="path3447"

>> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5

>> -62.143,0 -12.429,-30.5 12.429,-30.5"

>> +         style="fill:none;stroke:#000000;stroke-width:2" />

>> +      <text

>> +         id="text3449"

>> +         y="304.88599"

>> +         x="428.85501"

>> +

>>  style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"

>> +         font-size="12.7998">

>> +        <tspan

>> +           id="tspan3451"

>> +           y="304.88599"

>> +           x="428.85501" />

>> +      </text>

>> +    </g>

>> +    <text

>> +       id="text3519"

>> +       y="361.48743"

>> +       x="457.09674"

>> +

>>  style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"

>> +       font-size="12.7998">

>> +      <tspan

>> +

>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>> +         id="tspan3521"

>> +         y="361.48743"

>> +         x="457.09674">WFQ</tspan>

>> +      <tspan

>> +

>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>> +         id="tspan46297"

>> +         y="361.48743"

>> +         x="457.09674" />

>> +      <tspan

>> +

>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>> +         id="tspan46305"

>> +         y="361.48743"

>> +         x="457.09674" />

>> +      <tspan

>> +         id="tspan46319"

>> +

>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>> +         y="361.48743"

>> +         x="457.09674" />

>> +    </text>

>> +    <text

>> +       sodipodi:linespacing="125%"

>> +       id="text46321"

>> +       y="376.47391"

>> +       x="447.76807"

>> +

>>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

>> +       xml:space="preserve"><tspan

>> +         y="376.47391"

>> +         x="447.76807"

>> +         id="tspan46323"

>> +         sodipodi:role="line">priority 0</tspan></text>

>> +  </g>

>> +  <g

>> +     transform="matrix(0.8,0,0,0.8,124.22629,95.104671)"

>> +     id="g46325-2">

>> +    <g

>> +       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"

>> +       id="g3443-4">

>> +      <path

>> +         inkscape:connector-curvature="0"

>> +         id="path3445-5"

>> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5

>> -62.143,0 -12.429,-30.5 12.429,-30.5 z"

>> +         style="fill:#ffffff" />

>> +      <path

>> +         inkscape:connector-curvature="0"

>> +         id="path3447-5"

>> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5

>> -62.143,0 -12.429,-30.5 12.429,-30.5"

>> +         style="fill:none;stroke:#000000;stroke-width:2" />

>> +      <text

>> +         id="text3449-1"

>> +         y="304.88599"

>> +         x="428.85501"

>> +

>>  style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"

>> +         font-size="12.7998">

>> +        <tspan

>> +           id="tspan3451-7"

>> +           y="304.88599"

>> +           x="428.85501" />

>> +      </text>

>> +    </g>

>> +    <text

>> +       id="text3519-1"

>> +       y="361.48743"

>> +       x="457.09674"

>> +

>>  style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"

>> +       font-size="12.7998">

>> +      <tspan

>> +

>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>> +         id="tspan3521-1"

>> +         y="361.48743"

>> +         x="457.09674">WFQ</tspan>

>> +      <tspan

>> +

>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-str

>

> ...

>

> [Message clipped]





-- 
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
Mike Holmes Jan. 11, 2016, 11:42 p.m. UTC | #3
Direct to svg appears to be working fine for all v2 on the way

On 8 January 2016 at 08:32, Mike Holmes <mike.holmes@linaro.org> wrote:

> I dug around a little [1] and maybe we can drop using png and use svg

> directly in the HTML these days.

>

> For ubuntu 15.10 and its chrome and firefox this works fine [2]

> Can I ask for some help trying svg directly in the browser on other

> people's systems, just replace the path with your path to the svg image in

> the ODP repository after apply the patch.

>

> Thanks

>

> [1]

> http://support.sas.com/documentation/cdl/en/graphref/67881/HTML/default/viewer.htm#p0plhsju1chhnbn17gn45nsnsfmu.htm

> [2] file:///home/mike/git/odp/doc/images/tm_hierarchy.svg

>

> On 7 January 2016 at 10:27, Bill Fischofer <bill.fischofer@linaro.org>

> wrote:

>

>> This looks good, however the hierarchy.svg seems to format unreadably for

>> me.  I think this diagram may need to be redrawn rather than converted.

>>

>> On Thu, Jan 7, 2016 at 8:30 AM, Mike Holmes <mike.holmes@linaro.org>

>> wrote:

>>

>>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

>>> ---

>>>  doc/images/Makefile.am      |   12 +

>>>  doc/images/tm_hierarchy.svg |  769 ++++++++++++++++++++++++++++

>>>  doc/images/tm_node.svg      | 1178

>>> +++++++++++++++++++++++++++++++++++++++++++

>>>  3 files changed, 1959 insertions(+)

>>>  create mode 100644 doc/images/tm_hierarchy.svg

>>>  create mode 100644 doc/images/tm_node.svg

>>>

>>> diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am

>>> index 5495b69..0a21b54 100644

>>> --- a/doc/images/Makefile.am

>>> +++ b/doc/images/Makefile.am

>>> @@ -7,6 +7,8 @@ SVG_SRCS =  atomic_queue.svg \

>>>         odp_traffic_manager.svg \

>>>         overview.svg \

>>>         release_git.svg \

>>> +       tm_hierarchy.svg \

>>> +       tm_node.svg \

>>>         simple_release_git.svg

>>>

>>>  SVG_TARGETS = $(SVG_SRCS:svg=png)

>>> @@ -80,5 +82,15 @@ simple_release_git.png: simple_release_git.svg

>>>  simple_release_git.eps: simple_release_git.svg

>>>         convert $< $@

>>>

>>> +tm_hierarchy.png: tm_hierarchy.svg

>>> +       convert $< $@

>>> +tm_hierarchy.eps: tm_hierarchy.svg

>>> +       convert $< $@

>>> +

>>> +tm_node.png: tm_node.svg

>>> +       convert $< $@

>>> +tm_node.eps: tm_node.svg

>>> +       convert $< $@

>>> +

>>>  resource_management.png: resource_management.msc

>>>         mscgen -T png -i $< -o $@

>>> diff --git a/doc/images/tm_hierarchy.svg b/doc/images/tm_hierarchy.svg

>>> new file mode 100644

>>> index 0000000..e832cdd

>>> --- /dev/null

>>> +++ b/doc/images/tm_hierarchy.svg

>>> @@ -0,0 +1,769 @@

>>> +<?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.36.0 (20140111.2315)

>>> + -->

>>> +<!-- Title: four_levels Pages: 1 -->

>>> +<svg width="1362px" height="600px"

>>> + viewBox="0 0 1362 600" xmlns="http://www.w3.org/2000/svg"

>>> xmlns:xlink="http://www.w3.org/1999/xlink">

>>> +<defs>

>>> +    <symbol id="queue_symbol" fill="#80f080" stroke="black"

>>> +             stroke-width="5" stroke-linecap="square">

>>> +      <g transform="scale(0.2 0.2)" >

>>> +        <line x1="0"   y1="70" x2="0"   y2="120" />

>>> +        <line x1="100" y1="70" x2="100" y2="120" />

>>> +        <polyline points="0,120 0,170 100,170 100,120" />

>>> +

>>> +        <rect x="0" y="170" width="100" height="50"/>

>>> +        <rect x="0" y="220" width="100" height="50"/>

>>> +        <rect x="0" y="270" width="100" height="50"/>

>>> +        <rect x="0" y="320" width="100" height="50"/>

>>> +        <rect x="0" y="370" width="100" height="50"/>

>>> +        <rect x="0" y="420" width="100" height="50"/>

>>> +      </g>

>>> +    </symbol>

>>> +

>>> +    <symbol id="ArbiterLevel3" > <!-- shift x left by 39 -->

>>> +        <polygon fill="#F08080" stroke="black" points="54,0  0,0

>>> 12,29  42,29  54,0"/>

>>> +    </symbol>

>>> +

>>> +    <symbol id="ArbiterLevel2" > <!-- shift x left by 92 -->

>>> +        <polygon fill="#F0F080" stroke="black" points="116,0  0,0

>>> 24,36  92,36  116,0"/>

>>> +    </symbol>

>>> +

>>> +    <symbol id="ArbiterLevel1" > <!-- shift x left by 79 -->

>>> +        <polygon fill="#E080E0" stroke="black" points="101,9  0,9

>>> 21,54  79,54  101,9"/>

>>> +    </symbol>

>>> +

>>> +    <symbol id="DownArrowColor1" > <!-- shift x left by 7 and shift y

>>> by 5 -->

>>> +        <polygon fill="green" stroke="green" points="14,-10  0,-10

>>> 7,10  14,-10"/>

>>> +    </symbol>

>>> +

>>> +    <symbol id="DownArrowColor2" > <!-- shift x left by 7 and shift y

>>> by 5 -->

>>> +        <polygon fill="black" stroke="black" points="14,-10  0,-10

>>> 7,10  14,-10"/>

>>> +    </symbol>

>>> +

>>> +</defs>

>>> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0)

>>> translate(30 530)">

>>> +<title>four_levels</title>

>>> +<polygon fill="#E8E8E8" stroke="none" points="-20,40 -20,-520 1320,-520

>>> 1320,40 -20,40"/>

>>> +

>>> +<!-- q28 -->

>>> +<g id="node1" class="node"><title>q28</title>

>>> +<use xlink:href="#queue_symbol" x="1107" y="-455"/>

>>> +<text text-anchor="start" x="1115" y="-460" font-family="Times,serif"

>>> font-size="10.00">q28</text>

>>> +</g>

>>> +

>>> +<!-- a1 -->

>>> +<g id="node33" class="node"><title>a1</title>

>>> +<use xlink:href="#ArbiterLevel3" x="1130" y="-325"/>

>>> +<text text-anchor="middle" x="1157" y="-308.5"

>>> font-family="Times,serif" font-size="10.00">User&#45;18</text>

>>> +</g>

>>> +

>>> +<!-- q28&#45;&gt;a1 -->

>>> +<g id="edge1" class="edge"><title>q28&#45;&gt;a1</title>

>>> +<path fill="none" stroke="green" d="M1127.59,-386.63C1130.6,-378.651

>>> 1133.9,-369.975 1137,-362 1140.46,-353.106 1144.34,-343.356

>>> 1147.75,-334.847"/>

>>> +<polygon fill="green" stroke="green" points="1151.01,-336.137

>>> 1151.5,-325.553 1144.51,-333.521 1151.01,-336.137"/>

>>> +</g>

>>> +

>>> +<!-- q29 -->

>>> +<g id="node2" class="node"><title>q29</title>

>>> +<use xlink:href="#queue_symbol" x="1146" y="-455"/>

>>> +<text text-anchor="middle" x="1154" y="-460" font-family="Times,serif"

>>> font-size="10.00">q29</text>

>>> +</g>

>>> +<!-- q29&#45;&gt;a1 -->

>>> +

>>> +<g id="edge2" class="edge"><title>q29&#45;&gt;a1</title>

>>> +<path fill="none" stroke="green" d="M1157,-361.991C1157,-352.879 1157,-343.829

>>> 1157,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="1160.5,-335.817

>>> 1157,-325.818 1153.5,-335.818 1160.5,-335.817"/>

>>> +</g>

>>> +

>>> +<!-- q30 -->

>>> +<g id="node3" class="node"><title>q30</title>

>>> +<use xlink:href="#queue_symbol" x="1186" y="-455"/>

>>> +<text text-anchor="middle" x="1194" y="-460" font-family="Times,serif"

>>> font-size="10.00">q30</text>

>>> +</g>

>>> +<!-- q30&#45;&gt;a1 -->

>>> +

>>> +<g id="edge3" class="edge"><title>q30&#45;&gt;a1</title>

>>> +<path fill="none" stroke="green" d="M1186.49,-387.938C1180.11,-371.51

>>> 1172.05,-350.762 1165.97,-335.107"/>

>>> +<polygon fill="green" stroke="green" points="1169.18,-333.706

>>> 1162.3,-325.651 1162.66,-336.24 1169.18,-333.706"/>

>>> +</g>

>>> +

>>> +<!-- q31 -->

>>> +<g id="node4" class="node"><title>q31</title>

>>> +<use xlink:href="#queue_symbol" x="1226" y="-455"/>

>>> +<text text-anchor="middle" x="1234" y="-460" font-family="Times,serif"

>>> font-size="10.00">q31</text>

>>> +</g>

>>> +<!-- q31&#45;&gt;a1 -->

>>> +

>>> +<g id="edge4" class="edge"><title>q31&#45;&gt;a1</title>

>>> +<path fill="none" stroke="green" d="M1226.49,-381.191C1223.63,-374.515

>>> 1220.16,-367.789 1216,-362 1206.05,-348.132 1191.43,-335.706

>>> 1179.23,-326.71"/>

>>> +<polygon fill="green" stroke="green" points="1181.06,-323.719

>>> 1170.88,-320.795 1177.02,-329.431 1181.06,-323.719"/>

>>> +</g>

>>> +

>>> +<!-- q25 -->

>>> +<g id="node5" class="node"><title>q25</title>

>>> +<use xlink:href="#queue_symbol" x="988" y="-455"/>

>>> +<text text-anchor="middle" x="996" y="-460" font-family="Times,serif"

>>> font-size="10.00">q25</text>

>>> +</g>

>>> +

>>> +<!-- a2 -->

>>> +<g id="node34" class="node"><title>a2</title>

>>> +<use xlink:href="#ArbiterLevel3" x="998" y="-325"/>

>>> +<text text-anchor="middle" x="1025" y="-308.5"

>>> font-family="Times,serif" font-size="10.00">User&#45;16</text>

>>> +</g>

>>> +

>>> +<!-- q25&#45;&gt;a2 -->

>>> +<g id="edge5" class="edge"><title>q25&#45;&gt;a2</title>

>>> +<path fill="none" stroke="green" d="M1007.51,-376.354C1011.25,-362.579

>>> 1015.35,-347.493 1018.64,-335.392"/>

>>> +<polygon fill="green" stroke="green" points="1022.05,-336.202

>>> 1021.29,-325.634 1015.29,-334.366 1022.05,-336.202"/>

>>> +</g>

>>> +

>>> +<!-- q26 -->

>>> +<g id="node6" class="node"><title>q26</title>

>>> +<use xlink:href="#queue_symbol" x="1030" y="-455"/>

>>> +<text text-anchor="middle" x="1038" y="-460" font-family="Times,serif"

>>> font-size="10.00">q26</text>

>>> +</g>

>>> +

>>> +<!-- q26&#45;&gt;a2 -->

>>> +<g id="edge6" class="edge"><title>q26&#45;&gt;a2</title>

>>> +<path fill="none" stroke="green" d="M1030.82,-361.991C1029.76,-352.879

>>> 1028.71,-343.829 1027.79,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="1031.24,-335.345

>>> 1026.61,-325.818 1024.29,-336.155 1031.24,-335.345"/>

>>> +</g>

>>> +

>>> +<!-- q27 -->

>>> +<g id="node7" class="node"><title>q27</title>

>>> +<use xlink:href="#queue_symbol" x="1071" y="-455"/>

>>> +<text text-anchor="middle" x="1079" y="-460" font-family="Times,serif"

>>> font-size="10.00">q27</text>

>>> +</g>

>>> +

>>> +<!-- a3 -->

>>> +<g id="node35" class="node"><title>a3</title>

>>> +<use xlink:href="#ArbiterLevel3" x="1059" y="-325"/>

>>> +<text text-anchor="middle" x="1086" y="-308.5"

>>> font-family="Times,serif" font-size="10.00">User&#45;17</text>

>>> +</g>

>>> +

>>> +<!-- q27&#45;&gt;a3 -->

>>> +<g id="edge7" class="edge"><title>q27&#45;&gt;a3</title>

>>> +<path fill="none" stroke="green" d="M1081.63,-361.991C1082.43,-352.879

>>> 1083.22,-343.829 1083.9,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="1087.41,-336.084

>>> 1084.79,-325.818 1080.44,-335.475 1087.41,-336.084"/>

>>> +</g>

>>> +

>>> +<!-- q32 -->

>>> +<g id="node8" class="node"><title>q32</title>

>>> +<use xlink:href="#queue_symbol" x="1267" y="-455"/>

>>> +<text text-anchor="middle" x="1274" y="-460" font-family="Times,serif"

>>> font-size="10.00">q32</text>

>>> +</g>

>>> +

>>> +<!-- a4 -->

>>> +<g id="node36" class="node"><title>a4</title>

>>> +<use xlink:href="#ArbiterLevel3" x="1220" y="-325"/>

>>> +<text text-anchor="middle" x="1247" y="-308.5"

>>> font-family="Times,serif" font-size="10.00">User&#45;19</text>

>>> +</g>

>>> +<!-- q32&#45;&gt;a4 -->

>>> +

>>> +<g id="edge8" class="edge"><title>q32&#45;&gt;a4</title>

>>> +<path fill="none" stroke="green" d="M1266.42,-378.686C1262.23,-364.297

>>> 1257.54,-348.171 1253.81,-335.381"/>

>>> +<polygon fill="green" stroke="green" points="1257.1,-334.156

>>> 1250.94,-325.534 1250.38,-336.114 1257.1,-334.156"/>

>>> +</g>

>>> +

>>> +<!-- q16 -->

>>> +<g id="node9" class="node"><title>q16</title>

>>> +<use xlink:href="#queue_symbol" x="628" y="-455"/>

>>> +<text text-anchor="middle" x="636" y="-460" font-family="Times,serif"

>>> font-size="10.00">q16</text>

>>> +</g>

>>> +

>>> +<!-- a5 -->

>>> +<g id="node37" class="node"><title>a5</title>

>>> +<use xlink:href="#ArbiterLevel3" x="648" y="-325"/>

>>> +<text text-anchor="middle" x="675" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;11</text>

>>> +</g>

>>> +<!-- q16&#45;&gt;a5 -->

>>> +

>>> +<g id="edge9" class="edge"><title>q16&#45;&gt;a5</title>

>>> +<path fill="none" stroke="green" d="M647.585,-386.309C653.509,-370.252

>>> 660.801,-350.488 666.374,-335.38"/>

>>> +<polygon fill="green" stroke="green" points="669.743,-336.361

>>> 669.921,-325.767 663.176,-333.938 669.743,-336.361"/>

>>> +</g>

>>> +

>>> +<!-- q17 -->

>>> +<g id="node10" class="node"><title>q17</title>

>>> +<use xlink:href="#queue_symbol" x="670" y="-455"/>

>>> +<text text-anchor="middle" x="677" y="-460" font-family="Times,serif"

>>> font-size="10.00">q17</text>

>>> +</g>

>>> +

>>> +<!-- q17&#45;&gt;a5 -->

>>> +<g id="edge10" class="edge"><title>q17&#45;&gt;a5</title>

>>> +<path fill="none" stroke="green" d="M675.971,-361.991C675.794,-352.879

>>> 675.618,-343.829 675.466,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="678.962,-335.748

>>> 675.268,-325.818 671.963,-335.884 678.962,-335.748"/>

>>> +</g>

>>> +

>>> +<!-- q18 -->

>>> +<g id="node11" class="node"><title>q18</title>

>>> +<use xlink:href="#queue_symbol" x="712" y="-455"/>

>>> +<text text-anchor="middle" x="717" y="-460" font-family="Times,serif"

>>> font-size="10.00">q18</text>

>>> +</g>

>>> +

>>> +<!-- a6 -->

>>> +<g id="node38" class="node"><title>a6</title>

>>> +<use xlink:href="#ArbiterLevel3" x="709" y="-325"/>

>>> +<text text-anchor="middle" x="736" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;12</text>

>>> +</g>

>>> +<!-- q18&#45;&gt;a6 -->

>>> +

>>> +<g id="edge11" class="edge"><title>q18&#45;&gt;a6</title>

>>> +<path fill="none" stroke="green" d="M726.778,-361.991C728.479,-352.774

>>> 730.167,-343.621 731.625,-335.715"/>

>>> +<polygon fill="green" stroke="green" points="735.079,-336.287

>>> 733.451,-325.818 728.195,-335.017 735.079,-336.287"/>

>>> +</g>

>>> +

>>> +<!-- q19 -->

>>> +<g id="node12" class="node"><title>q19</title>

>>> +<use xlink:href="#queue_symbol" x="750" y="-455"/>

>>> +<text text-anchor="middle" x="758" y="-460" font-family="Times,serif"

>>> font-size="10.00">q19</text>

>>> +</g>

>>> +<!-- q19&#45;&gt;a6 -->

>>> +

>>> +<g id="edge12" class="edge"><title>q19&#45;&gt;a6</title>

>>> +<path fill="none" stroke="green" d="M746.438,-363.198C744.478,-353.585

>>> 742.521,-343.985 740.84,-335.739"/>

>>> +<polygon fill="green" stroke="green" points="744.239,-334.892

>>> 738.812,-325.793 737.38,-336.29 744.239,-334.892"/>

>>> +</g>

>>> +

>>> +<!-- q20 -->

>>> +<g id="node13" class="node"><title>q20</title>

>>> +<use xlink:href="#queue_symbol" x="792" y="-455"/>

>>> +<text text-anchor="middle" x="797" y="-460" font-family="Times,serif"

>>> font-size="10.00">q20</text>

>>> +</g>

>>> +

>>> +<!-- a7 -->

>>> +<g id="node39" class="node"><title>a7</title>

>>> +<use xlink:href="#ArbiterLevel3" x="770" y="-325"/>

>>> +<text text-anchor="middle" x="797" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;13</text>

>>> +</g>

>>> +<!-- q20&#45;&gt;a7 -->

>>> +

>>> +<g id="edge13" class="edge"><title>q20&#45;&gt;a7</title>

>>> +<path fill="none" stroke="green" d="M797,-361.991C797,-352.879

>>> 797,-343.829 797,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="800.5,-335.817

>>> 797,-325.818 793.5,-335.818 800.5,-335.817"/>

>>> +</g>

>>> +

>>> +<!-- q21 -->

>>> +<g id="node14" class="node"><title>q21</title>

>>> +<use xlink:href="#queue_symbol" x="832" y="-455"/>

>>> +<text text-anchor="middle" x="837" y="-460" font-family="Times,serif"

>>> font-size="10.00">q21</text>

>>> +</g>

>>> +

>>> +<!-- a8 -->

>>> +<g id="node40" class="node"><title>a8</title>

>>> +<use xlink:href="#ArbiterLevel3" x="834" y="-325"/>

>>> +<text text-anchor="middle" x="861" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;14</text>

>>> +</g>

>>> +<!-- q21&#45;&gt;a8 -->

>>> +

>>> +<g id="edge14" class="edge"><title>q21&#45;&gt;a8</title>

>>> +<path fill="none" stroke="green" d="M847.527,-369.823C850.294,-357.948

>>> 853.167,-345.618 855.545,-335.41"/>

>>> +<polygon fill="green" stroke="green" points="858.959,-336.181

>>> 857.82,-325.648 852.142,-334.593 858.959,-336.181"/>

>>> +</g>

>>> +

>>> +<!-- q22 -->

>>> +<g id="node15" class="node"><title>q22</title>

>>> +<use xlink:href="#queue_symbol" x="870" y="-455"/>

>>> +<text text-anchor="middle" x="878" y="-460" font-family="Times,serif"

>>> font-size="10.00">q22</text>

>>> +</g>

>>> +<!-- q22&#45;&gt;a8 -->

>>> +

>>> +<g id="edge15" class="edge"><title>q22&#45;&gt;a8</title>

>>> +<path fill="none" stroke="green" d="M868.766,-361.991C867.334,-352.774

>>> 865.912,-343.621 864.684,-335.715"/>

>>> +<polygon fill="green" stroke="green" points="868.14,-335.162

>>> 863.146,-325.818 861.223,-336.236 868.14,-335.162"/>

>>> +</g>

>>> +

>>> +<!-- q23 -->

>>> +<g id="node16" class="node"><title>q23</title>

>>> +<use xlink:href="#queue_symbol" x="910" y="-455"/>

>>> +<text text-anchor="middle" x="917" y="-460" font-family="Times,serif"

>>> font-size="10.00">q23</text>

>>> +</g>

>>> +

>>> +<!-- a9 -->

>>> +<g id="node41" class="node"><title>a9</title>

>>> +<use xlink:href="#ArbiterLevel3" x="895" y="-325"/>

>>> +<text text-anchor="middle" x="922" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;15</text>

>>> +</g>

>>> +<!-- q23&#45;&gt;a9 -->

>>> +

>>> +<g id="edge16" class="edge"><title>q23&#45;&gt;a9</title>

>>> +<path fill="none" stroke="green" d="M919.573,-361.991C920.016,-352.879

>>> 920.455,-343.829 920.836,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="924.34,-335.976

>>> 921.329,-325.818 917.348,-335.636 924.34,-335.976"/>

>>> +</g>

>>> +

>>> +<!-- q24 -->

>>> +<g id="node17" class="node"><title>q24</title>

>>> +<use xlink:href="#queue_symbol" x="948" y="-455"/>

>>> +<text text-anchor="middle" x="956" y="-460" font-family="Times,serif"

>>> font-size="10.00">q24</text>

>>> +</g>

>>> +<!-- q24&#45;&gt;a9 -->

>>> +

>>> +<g id="edge17" class="edge"><title>q24&#45;&gt;a9</title>

>>> +<path fill="none" stroke="green" d="M946.499,-384.097C941.184,-368.457

>>> 934.839,-349.782 929.937,-335.358"/>

>>> +<polygon fill="green" stroke="green" points="933.19,-334.053

>>> 926.659,-325.711 926.563,-336.305 933.19,-334.053"/>

>>> +</g>

>>> +

>>> +<!-- q1 -->

>>> +<g id="node18" class="node"><title>q1</title>

>>> +<use xlink:href="#queue_symbol" x="12" y="-455"/>

>>> +<text text-anchor="middle" x="20" y="-460" font-family="Times,serif"

>>> font-size="10.00">q1</text>

>>> +</g>

>>> +

>>> +<!-- a10 -->

>>> +<g id="node42" class="node"><title>a10</title>

>>> +<use xlink:href="#ArbiterLevel3" x="-6" y="-325"/>

>>> +<text text-anchor="middle" x="21" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;1</text>

>>> +</g>

>>> +<!-- q1&#45;&gt;a10 -->

>>> +

>>> +<g id="edge18" class="edge"><title>q1&#45;&gt;a10</title>

>>> +<path fill="none" stroke="green" d="M21,-361.991C21,-352.879

>>> 21,-343.829 21,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="24.5001,-335.817

>>> 21,-325.818 17.5001,-335.818 24.5001,-335.817"/>

>>> +</g>

>>> +

>>> +<!-- q2 -->

>>> +<g id="node19" class="node"><title>q2</title>

>>> +<use xlink:href="#queue_symbol" x="59" y="-455"/>

>>> +<text text-anchor="middle" x="64" y="-460" font-family="Times,serif"

>>> font-size="10.00">q2</text>

>>> +</g>

>>> +

>>> +<!-- a11 -->

>>> +<g id="node43" class="node"><title>a11</title>

>>> +<use xlink:href="#ArbiterLevel3" x="55" y="-325"/>

>>> +<text text-anchor="middle" x="82" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;2</text>

>>> +</g>

>>> +<!-- q2&#45;&gt;a11 -->

>>> +

>>> +<g id="edge19" class="edge"><title>q2&#45;&gt;a11</title>

>>> +<path fill="none" stroke="green" d="M73.2636,-361.991C74.8745,-352.774

>>> 76.474,-343.621 77.8557,-335.715"/>

>>> +<polygon fill="green" stroke="green" points="81.3115,-336.271

>>> 79.5853,-325.818 74.416,-335.066 81.3115,-336.271"/>

>>> +</g>

>>> +

>>> +<!-- q3 -->

>>> +<g id="node20" class="node"><title>q3</title>

>>> +<use xlink:href="#queue_symbol" x="94" y="-455"/>

>>> +<text text-anchor="start" x="99" y="-460" font-family="Times,serif"

>>> font-size="10.00">q3</text>

>>> +</g>

>>> +

>>> +<!-- a12-->

>>> +<g id="node44" class="node"><title>a12</title>

>>> +<use xlink:href="#ArbiterLevel3" x="116" y="-325"/>

>>> +<text text-anchor="middle" x="143" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;3</text>

>>> +</g>

>>> +<!-- q3&#45;&gt;a12 -->

>>> +

>>> +<g id="edge20" class="edge"><title>q3&#45;&gt;a12</title>

>>> +<path fill="none" stroke="green" d="M114.575,-386.939C117.614,-378.886

>>> 120.935,-370.094 124,-362 127.32,-353.233 130.976,-343.605

>>> 134.187,-335.158"/>

>>> +<polygon fill="green" stroke="green" points="137.547,-336.17

>>> 137.83,-325.578 131.004,-333.681 137.547,-336.17"/>

>>> +</g>

>>> +

>>> +<!-- q4 -->

>>> +<g id="node21" class="node"><title>q4</title>

>>> +<use xlink:href="#queue_symbol" x="137" y="-455"/>

>>> +<text text-anchor="middle" x="144" y="-460" font-family="Times,serif"

>>> font-size="10.00">q4</text>

>>> +</g>

>>> +<!-- q4&#45;&gt;a12 -->

>>> +

>>> +<g id="edge21" class="edge"><title>q4&#45;&gt;a12</title>

>>> +<path fill="none" stroke="green" d="M143.485,-361.991C143.397,-352.879

>>> 143.309,-343.829 143.233,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="146.731,-335.783

>>> 143.134,-325.818 139.731,-335.851 146.731,-335.783"/>

>>> +</g>

>>> +

>>> +<!-- q5 -->

>>> +<g id="node22" class="node"><title>q5</title>

>>> +<use xlink:href="#queue_symbol" x="176" y="-455"/>

>>> +<text text-anchor="middle" x="184" y="-460" font-family="Times,serif"

>>> font-size="10.00">q5</text>

>>> +</g>

>>> +

>>> +<!-- a13 -->

>>> +<g id="node45" class="node"><title>a13</title>

>>> +<use xlink:href="#ArbiterLevel3" x="186" y="-325"/>

>>> +<text text-anchor="middle" x="213" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;4</text>

>>> +</g>

>>> +<!-- q5&#45;&gt;a13 -->

>>> +

>>> +<g id="edge22" class="edge"><title>q5&#45;&gt;a13</title>

>>> +<path fill="none" stroke="green" d="M194.552,-377.523C198.485,-363.554

>>> 202.837,-348.095 206.327,-335.702"/>

>>> +<polygon fill="green" stroke="green" points="209.797,-336.289

>>> 209.138,-325.715 203.059,-334.392 209.797,-336.289"/>

>>> +</g>

>>> +

>>> +<!-- q6 -->

>>> +<g id="node23" class="node"><title>q6</title>

>>> +<use xlink:href="#queue_symbol" x="219" y="-455"/>

>>> +<text text-anchor="middle" x="224" y="-460" font-family="Times,serif"

>>> font-size="10.00">q6</text>

>>> +</g>

>>> +<!-- q6&#45;&gt;a13 -->

>>> +

>>> +<g id="edge23" class="edge"><title>q6&#45;&gt;a13</title>

>>> +<path fill="none" stroke="green" d="M218.339,-361.991C217.366,-352.879

>>> 216.399,-343.829 215.561,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="219.018,-335.389

>>> 214.476,-325.818 212.057,-336.133 219.018,-335.389"/>

>>> +</g>

>>> +

>>> +<!-- q7 -->

>>> +<g id="node24" class="node"><title>q7</title>

>>> +<use xlink:href="#queue_symbol" x="259" y="-455"/>

>>> +<text text-anchor="middle" x="264" y="-460" font-family="Times,serif"

>>> font-size="10.00">q7</text>

>>> +</g>

>>> +

>>> +<!-- a14 -->

>>> +<g id="node46" class="node"><title>a14</title>

>>> +<use xlink:href="#ArbiterLevel3" x="247" y="-325"/>

>>> +<text text-anchor="middle" x="274" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;5</text>

>>> +</g>

>>> +<!-- q7&#45;&gt;a14 -->

>>> +

>>> +<g id="edge24" class="edge"><title>q7&#45;&gt;a14</title>

>>> +<path fill="none" stroke="green" d="M269.146,-361.991C270.031,-352.879

>>> 270.91,-343.829 271.671,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="275.176,-336.109

>>> 272.658,-325.818 268.208,-335.432 275.176,-336.109"/>

>>> +</g>

>>> +

>>> +<!-- q8 -->

>>> +<g id="node25" class="node"><title>q8</title>

>>> +<use xlink:href="#queue_symbol" x="295" y="-455"/>

>>> +<text text-anchor="middle" x="303" y="-460" font-family="Times,serif"

>>> font-size="10.00">q8</text>

>>> +</g>

>>> +<!-- q8&#45;&gt;a14 -->

>>> +

>>> +<g id="edge25" class="edge"><title>q8&#45;&gt;a14</title>

>>> +<path fill="none" stroke="green" d="M293.423,-378.686C289.232,-364.297

>>> 284.535,-348.171 280.81,-335.381"/>

>>> +<polygon fill="green" stroke="green" points="284.099,-334.156

>>> 277.942,-325.534 277.378,-336.114 284.099,-334.156"/>

>>> +</g>

>>> +

>>> +<!-- q9 -->

>>> +<g id="node26" class="node"><title>q9</title>

>>> +<use xlink:href="#queue_symbol" x="339" y="-455"/>

>>> +<text text-anchor="middle" x="344" y="-460" font-family="Times,serif"

>>> font-size="10.00">q9</text>

>>> +</g>

>>> +

>>> +<!-- a15 -->

>>> +<g id="node47" class="node"><title>a15</title>

>>> +<use xlink:href="#ArbiterLevel3" x="308" y="-325"/>

>>> +<text text-anchor="middle" x="335" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;6</text>

>>> +</g>

>>> +<!-- q9&#45;&gt;a15 -->

>>> +

>>> +<g id="edge26" class="edge"><title>q9&#45;&gt;a15</title>

>>> +<path fill="none" stroke="green" d="M339.368,-361.991C338.572,-352.879

>>> 337.781,-343.829 337.096,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="340.565,-335.475

>>> 336.207,-325.818 333.591,-336.084 340.565,-335.475"/>

>>> +</g>

>>> +

>>> +<!-- q10 -->

>>> +<g id="node27" class="node"><title>q10</title>

>>> +<use xlink:href="#queue_symbol" x="389" y="-455"/>

>>> +<text text-anchor="middle" x="396" y="-460" font-family="Times,serif"

>>> font-size="10.00">q10</text>

>>> +</g>

>>> +

>>> +<!-- a16 -->

>>> +<g id="node48" class="node"><title>a16</title>

>>> +<use xlink:href="#ArbiterLevel3" x="369" y="-325"/>

>>> +<text text-anchor="middle" x="396" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;7</text>

>>> +</g>

>>> +<!-- q10&#45;&gt;a16 -->

>>> +

>>> +<g id="edge27" class="edge"><title>q10&#45;&gt;a16</title>

>>> +<path fill="none" stroke="green" d="M396,-361.991C396,-352.879

>>> 396,-343.829 396,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="399.5,-335.817

>>> 396,-325.818 392.5,-335.818 399.5,-335.817"/>

>>> +</g>

>>> +

>>> +<!-- q11 -->

>>> +<g id="node28" class="node"><title>q11</title>

>>> +<use xlink:href="#queue_symbol" x="432" y="-455"/>

>>> +<text text-anchor="middle" x="437" y="-460" font-family="Times,serif"

>>> font-size="10.00">q11</text>

>>> +</g>

>>> +

>>> +<!-- a17 -->

>>> +<g id="node49" class="node"><title>a17</title>

>>> +<use xlink:href="#ArbiterLevel3" x="430" y="-325"/>

>>> +<text text-anchor="middle" x="457" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;8</text>

>>> +</g>

>>> +<!-- q11&#45;&gt;a17 -->

>>> +

>>> +<g id="edge28" class="edge"><title>q11&#45;&gt;a17</title>

>>> +<path fill="none" stroke="green" d="M447.293,-361.991C449.083,-352.774

>>> 450.86,-343.621 452.395,-335.715"/>

>>> +<polygon fill="green" stroke="green" points="455.847,-336.301

>>> 454.317,-325.818 448.975,-334.967 455.847,-336.301"/>

>>> +</g>

>>> +

>>> +<!-- q12 -->

>>> +<g id="node29" class="node"><title>q12</title>

>>> +<use xlink:href="#queue_symbol" x="468" y="-455"/>

>>> +<text text-anchor="middle" x="476" y="-460" font-family="Times,serif"

>>> font-size="10.00">q12</text>

>>> +</g>

>>> +<!-- q12&#45;&gt;a17 -->

>>> +

>>> +<g id="edge29" class="edge"><title>q12&#45;&gt;a17</title>

>>> +<path fill="none" stroke="green" d="M466.707,-361.991C464.917,-352.774

>>> 463.14,-343.621 461.605,-335.715"/>

>>> +<polygon fill="green" stroke="green" points="465.025,-334.967

>>> 459.683,-325.818 458.153,-336.301 465.025,-334.967"/>

>>> +</g>

>>> +

>>> +<!-- q13 -->

>>> +<g id="node30" class="node"><title>q13</title>

>>> +<use xlink:href="#queue_symbol" x="512" y="-455"/>

>>> +<text text-anchor="middle" x="517" y="-460" font-family="Times,serif"

>>> font-size="10.00">q13</text>

>>> +</g>

>>> +

>>> +<!-- a18 -->

>>> +<g id="node50" class="node"><title>a18</title>

>>> +<use xlink:href="#ArbiterLevel3" x="491" y="-325"/>

>>> +<text text-anchor="middle" x="518" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;9</text>

>>> +</g>

>>> +<!-- q13&#45;&gt;a18 -->

>>> +

>>> +<g id="edge30" class="edge"><title>q13&#45;&gt;a18</title>

>>> +<path fill="none" stroke="green" d="M517.515,-361.991C517.603,-352.879

>>> 517.691,-343.829 517.767,-335.985"/>

>>> +<polygon fill="green" stroke="green" points="521.269,-335.851

>>> 517.866,-325.818 514.269,-335.783 521.269,-335.851"/>

>>> +</g>

>>> +

>>> +<!-- q14 -->

>>> +<g id="node31" class="node"><title>q14</title>

>>> +<use xlink:href="#queue_symbol" x="552" y="-455"/>

>>> +<text text-anchor="middle" x="557" y="-460" font-family="Times,serif"

>>> font-size="10.00">q14</text>

>>> +</g>

>>> +

>>> +<!-- a19 -->

>>> +<g id="node51" class="node"><title>a19</title>

>>> +<use xlink:href="#ArbiterLevel3" x="552" y="-325"/>

>>> +<text text-anchor="middle" x="579" y="-308.5" font-family="Times,serif"

>>> font-size="10.00">User&#45;10</text>

>>> +</g>

>>> +<!-- q14&#45;&gt;a19 -->

>>> +

>>> +<g id="edge31" class="edge"><title>q14&#45;&gt;a19</title>

>>> +<path fill="none" stroke="green" d="M567.549,-365.612C569.775,-355.187

>>> 572.027,-344.648 573.937,-335.704"/>

>>> +<polygon fill="green" stroke="green" points="577.407,-336.213

>>> 576.073,-325.703 570.562,-334.751 577.407,-336.213"/>

>>> +</g>

>>> +

>>> +<!-- q15 -->

>>> +<g id="node32" class="node"><title>q15</title>

>>> +<use xlink:href="#queue_symbol" x="589" y="-455"/>

>>> +<text text-anchor="middle" x="597" y="-460" font-family="Times,serif"

>>> font-size="10.00">q15</text>

>>> +</g>

>>> +<!-- q15&#45;&gt;a19 -->

>>> +

>>> +<g id="edge32" class="edge"><title>q15&#45;&gt;a19</title>

>>> +<path fill="none" stroke="green" d="M587.736,-361.991C586.126,-352.774

>>> 584.526,-343.621 583.144,-335.715"/>

>>> +<polygon fill="green" stroke="green" points="586.584,-335.066

>>> 581.415,-325.818 579.689,-336.271 586.584,-335.066"/>

>>> +</g>

>>> +<!-- b1 -->

>>> +<g id="node52" class="node"><title>b1</title>

>>> +<use xlink:href="#ArbiterLevel2" x="1023" y="-260"/>

>>> +<text text-anchor="middle" x="1086" y="-238.9"

>>> font-family="Times,serif" font-size="12.00">Gold&#45;C3</text>

>>> +</g>

>>> +<!-- a1&#45;&gt;b1 -->

>>> +<g id="edge33" class="edge"><title>a1&#45;&gt;b1</title>

>>> +<path fill="none" stroke="black" d="M1142.63,-296.442C1133.7,-288.011

>>> 1121.96,-276.931 1111.48,-267.046"/>

>>> +<polygon fill="black" stroke="black" points="1113.81,-264.433

>>> 1104.14,-260.116 1109.01,-269.524 1113.81,-264.433"/>

>>> +</g>

>>> +<!-- a2&#45;&gt;b1 -->

>>> +<g id="edge34" class="edge"><title>a2&#45;&gt;b1</title>

>>> +<path fill="none" stroke="black" d="M1037.34,-296.442C1044.82,-288.235

>>> 1054.57,-277.518 1063.39,-267.837"/>

>>> +<polygon fill="black" stroke="black" points="1066.05,-270.114

>>> 1070.19,-260.363 1060.87,-265.401 1066.05,-270.114"/>

>>> +</g>

>>> +<!-- a3&#45;&gt;b1 -->

>>> +<g id="edge35" class="edge"><title>a3&#45;&gt;b1</title>

>>> +<path fill="none" stroke="black" d="M1086,-296.442C1086,-288.966

>>> 1086,-279.408 1086,-270.447"/>

>>> +<polygon fill="black" stroke="black" points="1089.5,-270.363 1086,-260.363

>>> 1082.5,-270.363 1089.5,-270.363"/>

>>> +</g>

>>> +

>>> +<!-- a4&#45;&gt;b1 -->

>>> +<g id="edge36" class="edge"><title>a4&#45;&gt;b1</title>

>>> +<path fill="none" stroke="black" d="M1237.26,-295.3 L 1138,-265"/>

>>> +<use transform="rotate(70, 1134,-265)" xlink:href="#DownArrowColor2"

>>> x="1128" y="-272"/>

>>> +</g>

>>> +

>>> +<!-- b2 -->

>>> +<g id="node53" class="node"><title>b2</title>

>>> +<use xlink:href="#ArbiterLevel2" x="675" y="-260"/>

>>> +<text text-anchor="middle" x="736" y="-238.9" font-family="Times,serif"

>>> font-size="12.00">Bronze&#45;C3</text>

>>> +</g>

>>> +<!-- a5&#45;&gt;b2 -->

>>> +<g id="edge37" class="edge"><title>a5&#45;&gt;b2</title>

>>> +<path fill="none" stroke="black" d="M687.344,-296.442C694.816,-288.235

>>> 704.573,-277.518 713.387,-267.837"/>

>>> +<polygon fill="black" stroke="black" points="716.048,-270.114

>>> 720.192,-260.363 710.872,-265.401 716.048,-270.114"/>

>>> +</g>

>>> +<!-- a6&#45;&gt;b2 -->

>>> +<g id="edge38" class="edge"><title>a6&#45;&gt;b2</title>

>>> +<path fill="none" stroke="black" d="M736,-296.442C736,-288.966

>>> 736,-279.408 736,-270.447"/>

>>> +<polygon fill="black" stroke="black" points="739.5,-270.363

>>> 736,-260.363 732.5,-270.363 739.5,-270.363"/>

>>> +</g>

>>> +<!-- a7&#45;&gt;b2 -->

>>> +<g id="edge39" class="edge"><title>a7&#45;&gt;b2</title>

>>> +<path fill="none" stroke="black" d="M784.656,-296.442C777.184,-288.235

>>> 767.427,-277.518 758.613,-267.837"/>

>>> +<polygon fill="black" stroke="black" points="761.128,-265.401

>>> 751.808,-260.363 755.952,-270.114 761.128,-265.401"/>

>>> +</g>

>>> +<!-- b3 -->

>>> +<g id="node54" class="node"><title>b3</title>

>>> +<use xlink:href="#ArbiterLevel2" x="807" y="-260"/>

>>> +<text text-anchor="middle" x="865" y="-238.9" font-family="Times,serif"

>>> font-size="12.00">Silver&#45;C3</text>

>>> +</g>

>>> +<!-- a8&#45;&gt;b3 -->

>>> +<g id="edge40" class="edge"><title>a8&#45;&gt;b3</title>

>>> +<path fill="none" stroke="black" d="M861.809,-296.442C862.256,-288.966

>>> 862.826,-279.408 863.361,-270.447"/>

>>> +<polygon fill="black" stroke="black" points="866.861,-270.554

>>> 863.963,-260.363 859.874,-270.137 866.861,-270.554"/>

>>> +</g>

>>> +

>>> +<!-- a9&#45;&gt;b3 -->

>>> +<g id="edge41" class="edge"><title>a9&#45;&gt;b3</title>

>>> +<path fill="none" stroke="black" d="M920,-297 L 909,-269"/>

>>> +<use transform="rotate(18, 908,-268)" xlink:href="#DownArrowColor2"

>>> x="901.5" y="-271"/>

>>> +</g>

>>> +

>>> +<!-- b4 -->

>>> +<g id="node55" class="node"><title>b4</title>

>>> +<use xlink:href="#ArbiterLevel2" x="57" y="-260"/>

>>> +<text text-anchor="middle" x="111" y="-238.9" font-family="Times,serif"

>>> font-size="12.00">Regular&#45;C1</text>

>>> +</g>

>>> +<!-- a10&#45;&gt;b4 -->

>>> +<g id="edge42" class="edge"><title>a10&#45;&gt;b4</title>

>>> +<path fill="none" stroke="black" d="M39.2128,-296.442C50.8676,-287.765

>>> 66.2915,-276.283 79.8547,-266.186"/>

>>> +<polygon fill="black" stroke="black" points="82.0776,-268.895

>>> 88.0089,-260.116 77.8976,-263.28 82.0776,-268.895"/>

>>> +</g>

>>> +<!-- a11&#45;&gt;b4 -->

>>> +<g id="edge43" class="edge"><title>a11&#45;&gt;b4</title>

>>> +<path fill="none" stroke="black" d="M87.8686,-296.442C91.2097,-288.722

>>> 95.5122,-278.782 99.4985,-269.572"/>

>>> +<polygon fill="black" stroke="black" points="102.724,-270.931

>>> 103.485,-260.363 96.3003,-268.15 102.724,-270.931"/>

>>> +</g>

>>> +<!-- a12&#45;&gt;b4 -->

>>> +<g id="edge44" class="edge"><title>a12&#45;&gt;b4</title>

>>> +<path fill="none" stroke="black" d="M136.524,-296.442C132.838,-288.722

>>> 128.09,-278.782 123.691,-269.572"/>

>>> +<polygon fill="black" stroke="black" points="126.761,-267.878

>>> 119.293,-260.363 120.444,-270.895 126.761,-267.878"/>

>>> +</g>

>>> +<!-- b5 -->

>>> +<g id="node56" class="node"><title>b5</title>

>>> +<use xlink:href="#ArbiterLevel2" x="217" y="-260"/>

>>> +<text text-anchor="middle" x="274" y="-238.9" font-family="Times,serif"

>>> font-size="12.00">Premium&#45;C1</text>

>>> +</g>

>>> +<!-- a13&#45;&gt;b5 -->

>>> +<g id="edge45" class="edge"><title>a13&#45;&gt;b5</title>

>>> +<path fill="none" stroke="black" d="M225.344,-296.442C232.816,-288.235

>>> 242.573,-277.518 251.387,-267.837"/>

>>> +<polygon fill="black" stroke="black" points="254.048,-270.114

>>> 258.192,-260.363 248.872,-265.401 254.048,-270.114"/>

>>> +</g>

>>> +<!-- a14&#45;&gt;b5 -->

>>> +<g id="edge46" class="edge"><title>a14&#45;&gt;b5</title>

>>> +<path fill="none" stroke="black" d="M274,-296.442C274,-288.966

>>> 274,-279.408 274,-270.447"/>

>>> +<polygon fill="black" stroke="black" points="277.5,-270.363

>>> 274,-260.363 270.5,-270.363 277.5,-270.363"/>

>>> +</g>

>>> +<!-- a15&#45;&gt;b5 -->

>>> +<g id="edge47" class="edge"><title>a15&#45;&gt;b5</title>

>>> +<path fill="none" stroke="black" d="M322.656,-296.442C315.184,-288.235

>>> 305.427,-277.518 296.613,-267.837"/>

>>> +<polygon fill="black" stroke="black" points="299.128,-265.401

>>> 289.808,-260.363 293.952,-270.114 299.128,-265.401"/>

>>> +</g>

>>> +<!-- b6 -->

>>> +<g id="node57" class="node"><title>b6</title>

>>> +<use xlink:href="#ArbiterLevel2" x="366" y="-260"/>

>>> +<text text-anchor="middle" x="427" y="-238.9" font-family="Times,serif"

>>> font-size="12.00">Normal&#45;C2</text>

>>> +</g>

>>> +<!-- a16&#45;&gt;b6 -->

>>> +<g id="edge48" class="edge"><title>a16&#45;&gt;b6</title>

>>> +<path fill="none" stroke="black" d="M402.273,-296.442C405.845,-288.722

>>> 410.444,-278.782 414.705,-269.572"/>

>>> +<polygon fill="black" stroke="black" points="417.944,-270.908

>>> 418.966,-260.363 411.591,-267.969 417.944,-270.908"/>

>>> +</g>

>>> +<!-- a17&#45;&gt;b6 -->

>>> +<g id="edge49" class="edge"><title>a17&#45;&gt;b6</title>

>>> +<path fill="none" stroke="black" d="M450.929,-296.442C447.473,-288.722

>>> 443.022,-278.782 438.898,-269.572"/>

>>> +<polygon fill="black" stroke="black" points="442.056,-268.06

>>> 434.775,-260.363 435.667,-270.92 442.056,-268.06"/>

>>> +</g>

>>> +<!-- b7 -->

>>> +<g id="node58" class="node"><title>b7</title>

>>> +<use xlink:href="#ArbiterLevel2" x="502" y="-260"/>

>>> +<text text-anchor="middle" x="559" y="-238.9" font-family="Times,serif"

>>> font-size="12.00">Turbo&#45;C2</text>

>>> +</g>

>>> +<!-- a18&#45;&gt;b7 -->

>>> +<g id="edge50" class="edge"><title>a18&#45;&gt;b7</title>

>>> +<path fill="none" stroke="black" d="M526.297,-296.442C531.12,-288.56

>>> 537.36,-278.363 543.095,-268.992"/>

>>> +<polygon fill="black" stroke="black" points="546.141,-270.72

>>> 548.375,-260.363 540.17,-267.066 546.141,-270.72"/>

>>> +</g>

>>> +<!-- a19&#45;&gt;b7 -->

>>> +<g id="edge51" class="edge"><title>a19&#45;&gt;b7</title>

>>> +<path fill="none" stroke="black" d="M574.953,-296.442C572.697,-288.885

>>> 569.806,-279.2 567.106,-270.155"/>

>>> +<polygon fill="black" stroke="black" points="570.397,-268.944

>>> 564.183,-260.363 563.69,-270.946 570.397,-268.944"/>

>>> +</g>

>>> +

>>> +<!-- c3 -->

>>> +<g id="node59" class="node"><title>c3</title>

>>> +<use xlink:href="#ArbiterLevel1" x="735" y="-179"/>

>>> +<text text-anchor="middle" x="785" y="-146" font-family="Times,serif"

>>> font-size="12.00">Company3</text>

>>> +</g>

>>> +

>>> +<!-- b1&#45;&gt;c3 -->

>>> +

>>> +<g id="edge52" class="edge"><title>b1&#45;&gt;c3</title>

>>> +<path fill="none" stroke="green" d="M1043,-227.072 L 845.759,-167.08"/>

>>> +<polygon fill="green" stroke="green" points="846.633,-163.687

>>> 836.046,-164.091 844.574,-170.377 846.633,-163.687"/>

>>> +</g>

>>> +

>>> +<!-- b2&#45;&gt;c3 -->

>>> +<g id="edge53" class="edge"><title>b2&#45;&gt;c3</title>

>>> +<path fill="none" stroke="green" d="M748.644,-223.614 L 754,-177"/>

>>> +<use transform="rotate(-10, 754,-177)" xlink:href="#DownArrowColor1"

>>> x="747" y="-181"/>

>>> +</g>

>>> +

>>> +<!-- b3&#45;&gt;c3 -->

>>> +<g id="edge54" class="edge"><title>b3&#45;&gt;c3</title>

>>> +<path fill="none" stroke="green" d="M852.158,-223.614 L  818,-177"/>

>>> +<use transform="rotate(30, 818,-177)" xlink:href="#DownArrowColor1"

>>> x="811" y="-181"/>

>>> +</g>

>>> +

>>> +<!-- c1 -->

>>> +<g id="node60" class="node"><title>c1</title>

>>> +<use xlink:href="#ArbiterLevel1" x="239" y="-179"/>

>>> +<text text-anchor="middle" x="289" y="-146" font-family="Times,serif"

>>> font-size="12.00">Company1</text>

>>> +</g>

>>> +

>>> +<!-- b4&#45;&gt;c1 -->

>>> +<g id="edge55" class="edge"><title>b4&#45;&gt;c1</title>

>>> +<path fill="none" stroke="green" d="M142.815,-223.824C168.036,-210.207

>>> 203.523,-191.049 231.23,-176.091"/>

>>> +<polygon fill="green" stroke="green" points="233.164,-179.024

>>> 240.301,-171.193 229.839,-172.864 233.164,-179.024"/>

>>> +</g>

>>> +<!-- b5&#45;&gt;c1 -->

>>> +<g id="edge56" class="edge"><title>b5&#45;&gt;c1</title>

>>> +<path fill="none" stroke="green" d="M274,-223.614 L 274,-180"/>

>>> +<use xlink:href="#DownArrowColor1" x="267" y="-180"/>

>>> +</g>

>>> +

>>> +<!-- c2 -->

>>> +<g id="node61" class="node"><title>c2</title>

>>> +<use xlink:href="#ArbiterLevel1" x="443" y="-179"/>

>>> +<text text-anchor="middle" x="493" y="-146" font-family="Times,serif"

>>> font-size="12.00">Company2</text>

>>> +</g>

>>> +

>>> +<!-- b6&#45;&gt;c2 -->

>>> +<g id="edge57" class="edge"><title>b6&#45;&gt;c2</title>

>>> +<path fill="none" stroke="green" d="M440.039,-223.614 L 478,-176"/>

>>> +<use transform="rotate(-40, 478,-176)" xlink:href="#DownArrowColor1"

>>> x="471" y="-180"/>

>>> +</g>

>>> +

>>> +<!-- b7&#45;&gt;c2 -->

>>> +<g id="edge58" class="edge"><title>b7&#45;&gt;c2</title>

>>> +<path fill="none" stroke="green" d="M545.961,-223.614 L 523,-178"/>

>>> +<use transform="rotate(30, 523,-176)" xlink:href="#DownArrowColor1"

>>> x="515" y="-180"/>

>>> +</g>

>>> +

>>> +<!-- o1 -->

>>> +<g id="node62" class="node"><title>o1</title>

>>> +<ellipse fill="#80c0f0" stroke="black" cx="493" cy="-40" rx="36"

>>> ry="36"/>

>>> +<ellipse fill="none" stroke="black" cx="493" cy="-40" rx="40" ry="40"/>

>>> +<text text-anchor="middle" x="493" y="-36.9" font-family="Times,serif"

>>> font-size="12.00">xgbe1</text>

>>> +</g>

>>> +

>>> +<!-- c3&#45;&gt;o1 -->

>>> +<g id="edge59" class="edge"><title>c3&#45;&gt;o1</title>

>>> +<path fill="none" stroke="black" d="M752.014,-133.24 L

>>> 540.051,-57.8586"/>

>>> +<polygon fill="black" stroke="black" points="541.222,-54.5604

>>> 530.627,-54.4821 538.861,-61.1502 541.222,-54.5604"/>

>>> +</g>

>>> +

>>> +<!-- c1&#45;&gt;o1 -->

>>> +<g id="edge60" class="edge"><title>c1&#45;&gt;o1</title>

>>> +<path fill="none" stroke="black" d="M319.91,-127.94C357.719,-108.949

>>> 411.009,-82.1826 448.443,-63.38"/>

>>> +<polygon fill="black" stroke="black" points="450.235,-66.397

>>> 457.6,-58.7808 447.093,-60.1417 450.235,-66.397"/>

>>> +</g>

>>> +

>>> +<!-- c3&#45;&gt;o1 -->

>>> +<g id="edge61" class="edge"><title>c3&#45;&gt;o1</title>

>>> +<path fill="none" stroke="black" d="M493,-125 L 493,-90.616"/>

>>> +<polygon fill="black" stroke="black" points="496.5,-90.3557

>>> 493,-80.3557 489.5,-90.3558 496.5,-90.3557"/>

>>> +</g>

>>> +

>>> +</g>

>>> +</svg>

>>> diff --git a/doc/images/tm_node.svg b/doc/images/tm_node.svg

>>> new file mode 100644

>>> index 0000000..58fe2bb

>>> --- /dev/null

>>> +++ b/doc/images/tm_node.svg

>>> @@ -0,0 +1,1178 @@

>>> +<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"

>>> +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"

>>> +   width="765"

>>> +   height="990"

>>> +   viewBox="320 155 425.98732 552.68812"

>>> +   id="svg3293"

>>> +   version="1.1"

>>> +   inkscape:version="0.48.2 r9819">

>>> +  <metadata

>>> +     id="metadata3599">

>>> +    <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></dc:title>

>>> +      </cc:Work>

>>> +    </rdf:RDF>

>>> +  </metadata>

>>> +  <defs

>>> +     id="defs3597">

>>> +    <font

>>> +       horiz-adv-x="1024"

>>> +       id="font46307"

>>> +       inkscape:label="font 1"

>>> +       horiz-origin-x="0"

>>> +       horiz-origin-y="0"

>>> +       vert-origin-x="45"

>>> +       vert-origin-y="90"

>>> +       vert-adv-y="90">

>>> +      <font-face

>>> +         units-per-em="1024"

>>> +         id="font-face46309"

>>> +         font-family="SVGFont 1" />

>>> +      <missing-glyph

>>> +         d="M0,0h1000v1024h-1000z"

>>> +         id="missing-glyph46311" />

>>> +    </font>

>>> +    <font

>>> +       horiz-adv-x="1024"

>>> +       id="font46313"

>>> +       inkscape:label="font 2"

>>> +       horiz-origin-x="0"

>>> +       horiz-origin-y="0"

>>> +       vert-origin-x="45"

>>> +       vert-origin-y="90"

>>> +       vert-adv-y="90">

>>> +      <font-face

>>> +         units-per-em="1024"

>>> +         id="font-face46315"

>>> +         font-family="SVGFont 2" />

>>> +      <missing-glyph

>>> +         d="M0,0h1000v1024h-1000z"

>>> +         id="missing-glyph46317" />

>>> +    </font>

>>> +  </defs>

>>> +  <sodipodi:namedview

>>> +     pagecolor="#ffffff"

>>> +     bordercolor="#666666"

>>> +     borderopacity="1"

>>> +     objecttolerance="10"

>>> +     gridtolerance="10"

>>> +     guidetolerance="10"

>>> +     inkscape:pageopacity="0"

>>> +     inkscape:pageshadow="2"

>>> +     inkscape:window-width="1178"

>>> +     inkscape:window-height="965"

>>> +     id="namedview3595"

>>> +     showgrid="false"

>>> +     fit-margin-top="1.6"

>>> +     fit-margin-left="1"

>>> +     fit-margin-right="1"

>>> +     fit-margin-bottom="1"

>>> +     units="in"

>>> +     showborder="true"

>>> +     inkscape:zoom="0.78398474"

>>> +     inkscape:cx="382.52479"

>>> +     inkscape:cy="496.87739"

>>> +     inkscape:window-x="210"

>>> +     inkscape:window-y="0"

>>> +     inkscape:window-maximized="0"

>>> +     inkscape:current-layer="svg3293"

>>> +     borderlayer="false" />

>>> +  <path

>>> +

>>>  style="fill:#f0e9ef;fill-opacity:1;stroke:#000000;stroke-width:1.7864666;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

>>> +     d="m 353.0075,287.90468 360,0 -40,349.6 -280,0 z"

>>> +     id="path46246"

>>> +     inkscape:connector-curvature="0"

>>> +     sodipodi:nodetypes="ccccc" />

>>> +  <g

>>> +     id="g3295"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="618.62598"

>>> +       y1="452.25"

>>> +       x2="618.62598"

>>> +       y2="452.25"

>>> +       id="line3297" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>>> 618.626,452.25 "

>>> +       id="polygon3299" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>>> 618.626,452.25 "

>>> +       id="polygon3301" />

>>> +  </g>

>>> +  <g

>>> +     id="g3303"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="618.62598"

>>> +       y1="452.25"

>>> +       x2="618.62598"

>>> +       y2="452.25"

>>> +       id="line3305" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>>> 618.626,452.25 "

>>> +       id="polygon3307" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>>> 618.626,452.25 "

>>> +       id="polygon3309" />

>>> +  </g>

>>> +  <g

>>> +     id="g3311"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="618.62598"

>>> +       y1="452.25"

>>> +       x2="618.62598"

>>> +       y2="452.25"

>>> +       id="line3313" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>>> 618.626,452.25 "

>>> +       id="polygon3315" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>>> 618.626,452.25 "

>>> +       id="polygon3317" />

>>> +  </g>

>>> +  <g

>>> +     id="g3319"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="618.62598"

>>> +       y1="452.25"

>>> +       x2="618.62598"

>>> +       y2="452.25"

>>> +       id="line3321" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>>> 618.626,452.25 "

>>> +       id="polygon3323" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="608.626,457.25 611.126,452.25 608.626,447.25

>>> 618.626,452.25 "

>>> +       id="polygon3325" />

>>> +  </g>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3327">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3329" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3331">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3333" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3335">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3337" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3339">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3341" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3343">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3345" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3347">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3349" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3351">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3353" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3355">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3357" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="542.30371"

>>> +     y="478.4895"

>>> +     id="text3359">

>>> +    <tspan

>>> +       x="542.30371"

>>> +       y="478.4895"

>>> +       id="tspan3361" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="488.75369"

>>> +     y="461.9895"

>>> +     id="text3363">

>>> +    <tspan

>>> +       x="488.75369"

>>> +       y="461.9895"

>>> +       id="tspan3365" />

>>> +  </text>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"

>>> +     x="577.55371"

>>> +     y="443.9895"

>>> +     id="text3367">

>>> +    <tspan

>>> +       x="577.55371"

>>> +       y="443.9895"

>>> +       id="tspan3369" />

>>> +  </text>

>>> +  <g

>>> +     id="g3391"

>>> +     transform="matrix(0.36822672,0,0,0.6,306.07498,207.13875)">

>>> +    <ellipse

>>> +       style="fill:#ffffff"

>>> +       cx="619.35498"

>>> +       cy="492.38599"

>>> +       rx="154.5"

>>> +       ry="46"

>>> +       id="ellipse3393"/>

>>> +

>>> +    <!-- <path

>>> +       d="m 773.85498,492.38599 c 0,25.40509 -69.17201,46 -154.5,46

>>> -85.32799,0 -154.5,-20.59491 -154.5,-46 0,-25.4051 69.17201,-46 154.5,-46

>>> 85.32799,0 154.5,20.5949 154.5,46 z" /> -->

>>> +

>>> +    <ellipse

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       cx="619.35498"

>>> +       cy="492.38599"

>>> +       rx="154.5"

>>> +       ry="46"

>>> +       id="ellipse3395" />

>>> +

>>> +    <!-- <path

>>> +       d="m 773.85498,492.38599 c 0,25.40509 -69.17201,46 -154.5,46

>>> -85.32799,0 -154.5,-20.59491 -154.5,-46 0,-25.4051 69.17201,-46 154.5,-46

>>> 85.32799,0 154.5,20.5949 154.5,46 z" /> -->

>>> +

>>> +  </g>

>>> +  <g

>>> +     id="g3397"

>>> +     transform="matrix(1.2836753,0,0,0.71637906,-268.40447,153.70656)">

>>> +    <path

>>> +       style="fill:#ffffff"

>>> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

>>> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575 z"

>>> +       id="path3399"

>>> +       inkscape:connector-curvature="0" />

>>> +    <path

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

>>> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575"

>>> +       id="path3401"

>>> +       inkscape:connector-curvature="0" />

>>> +    <path

>>> +       style="fill:none;stroke:#000000;stroke-width:0.2"

>>> +       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575

>>> -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575"

>>> +       id="path3403"

>>> +       inkscape:connector-curvature="0" />

>>> +  </g>

>>> +  <g

>>> +     id="g3405"

>>> +     transform="matrix(0.6,0,0,0.33664343,158.3969,402.52795)"

>>> +

>>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">

>>> +    <line

>>> +

>>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

>>> +       x1="624.31"

>>> +       y1="653.82501"

>>> +       x2="624.35199"

>>> +       y2="775.586"

>>> +       id="line3407" />

>>> +    <polygon

>>> +

>>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"

>>> +       points="624.355,783.086 619.351,773.088 624.352,775.586

>>> 629.351,773.084 "

>>> +       id="polygon3409" />

>>> +    <polygon

>>> +

>>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

>>> +       points="624.355,783.086 619.351,773.088 624.352,775.586

>>> 629.351,773.084 "

>>> +       id="polygon3411" />

>>> +  </g>

>>> +  <g

>>> +     id="g3413"

>>> +     transform="matrix(0.6,0,0,1.0385789,160.4258,-29.14563)"

>>> +

>>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">

>>> +    <line

>>> +

>>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

>>> +       x1="620.72998"

>>> +       y1="538.75"

>>> +       x2="620.99701"

>>> +       y2="562.79102"

>>> +       id="line3415" />

>>> +    <polygon

>>> +

>>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"

>>> +       points="621.08,570.291 615.97,560.347 620.997,562.791

>>> 625.969,560.236 "

>>> +       id="polygon3417" />

>>> +    <polygon

>>> +

>>>  style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"

>>> +       points="621.08,570.291 615.97,560.347 620.997,562.791

>>> 625.969,560.236 "

>>> +       id="polygon3419" />

>>> +  </g>

>>> +  <text

>>> +     font-size="12.7998"

>>> +

>>>  style="font-size:10.71879959px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;font-family:Sans;-inkscape-font-specification:Sans"

>>> +     x="515.39581"

>>> +     y="505.40701"

>>> +     id="text3421"

>>> +     sodipodi:linespacing="125%">

>>> +    <tspan

>>> +       x="515.39581"

>>> +       y="505.40701"

>>> +       id="tspan3423"

>>> +

>>>  style="font-size:10.71879959px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans">Shaper</tspan>

>>> +  </text>

>>> +  <g

>>> +     id="g3435"

>>> +

>>>  transform="matrix(0.68275674,0,-0.0185135,0.47151591,121.83991,265.95426)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2.19180131"

>>> +       x1="612.85498"

>>> +       y1="399.51315"

>>> +       x2="613.99902"

>>> +       y2="437.06961"

>>> +       id="line3437" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="618.905,430.975 614.274,441.152 608.911,431.341

>>> 613.999,433.657 "

>>> +       id="polygon3439" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="618.905,430.975 614.274,441.152 608.911,431.341

>>> 613.999,433.657 "

>>> +       id="polygon3441" />

>>> +  </g>

>>> +  <g

>>> +     id="g3483"

>>> +     transform="matrix(0.46064658,0,0,0.67930938,233.06856,182.00415)">

>>> +    <path

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       d="m 428.855,330.386 c 34.5,37 112.5,60 151.924,52.759"

>>> +       id="path3485"

>>> +       inkscape:connector-curvature="0" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="580.779,383.145 577.417,378.679 588.156,381.79

>>> 579.224,388.514 "

>>> +       id="polygon3487" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="580.779,383.145 577.417,378.679 588.156,381.79

>>> 579.224,388.514 "

>>> +       id="polygon3489" />

>>> +  </g>

>>> +  <g

>>> +     id="g3491"

>>> +     transform="matrix(0.54809168,0,0,0.74784284,211.99528,158.68288)">

>>> +    <path

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       d="m 788.355,329.386 c -42,31 -103,54 -143.271,52.389"

>>> +       id="path3493"

>>> +       inkscape:connector-curvature="0" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="647.382,386.871 637.59,381.475 647.781,376.879

>>> 645.084,381.775 "

>>> +       id="polygon3495" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="647.382,386.871 637.59,381.475 647.781,376.879

>>> 645.084,381.775 "

>>> +       id="polygon3497" />

>>> +  </g>

>>> +  <g

>>> +     id="g3499"

>>> +     transform="matrix(0.41682002,0,0,0.63577084,271.70535,195.4459)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="545.85498"

>>> +       y1="329.38599"

>>> +       x2="589.07098"

>>> +       y2="360.811"

>>> +       id="line3501" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="595.137,365.222 584.109,363.385 589.071,360.811

>>> 589.99,355.297 "

>>> +       id="polygon3503" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="595.137,365.222 584.109,363.385 589.071,360.811

>>> 589.99,355.297 "

>>> +       id="polygon3505" />

>>> +  </g>

>>> +  <g

>>> +     id="g3507"

>>> +     transform="matrix(0.7502618,0,0,0.69104314,70.399378,177.15041)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="669.35498"

>>> +       y1="330.38599"

>>> +       x2="638.61102"

>>> +       y2="357.89401"

>>> +       id="line3509" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="638.611,357.894 643.808,359.953 633.022,362.895

>>> 637.14,352.501 "

>>> +       id="polygon3511" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="638.611,357.894 643.808,359.953 633.022,362.895

>>> 637.14,352.501 "

>>> +       id="polygon3513" />

>>> +  </g>

>>> +  <g

>>> +     id="g3523"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,208.92521)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="517.98901"

>>> +       y1="80"

>>> +       x2="520.242"

>>> +       y2="256.28699"

>>> +       id="line3525" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="525.177,253.661 520.432,263.784 515.18,253.915

>>> 520.242,256.287 "

>>> +       id="polygon3527" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="525.177,253.661 520.432,263.784 515.18,253.915

>>> 520.242,256.287 "

>>> +       id="polygon3529" />

>>> +  </g>

>>> +  <g

>>> +     id="g3531"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="549.48901"

>>> +       y1="80"

>>> +       x2="546.78497"

>>> +       y2="258.78799"

>>> +       id="line3533" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="541.864,256.137 546.785,258.788 551.859,256.442

>>> 546.557,266.285 "

>>> +       id="polygon3535" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="541.864,256.137 546.785,258.788 551.859,256.442

>>> 546.557,266.285 "

>>> +       id="polygon3537" />

>>> +  </g>

>>> +  <g

>>> +     id="g3539"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="571.98901"

>>> +       y1="80"

>>> +       x2="567.47998"

>>> +       y2="259.79599"

>>> +       id="line3541" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="562.613,257.047 567.48,259.796 572.6,257.552

>>> 567.102,267.287 "

>>> +       id="polygon3543" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="562.613,257.047 567.48,259.796 572.6,257.552

>>> 567.102,267.287 "

>>> +       id="polygon3545" />

>>> +  </g>

>>> +  <g

>>> +     id="g3547"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="646.48901"

>>> +       y1="80"

>>> +       x2="642.91699"

>>> +       y2="257.293"

>>> +       id="line3549" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="638.031,254.576 642.917,257.293 648.022,255.015

>>> 642.587,264.786 "

>>> +       id="polygon3551" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="638.031,254.576 642.917,257.293 648.022,255.015

>>> 642.587,264.786 "

>>> +       id="polygon3553" />

>>> +  </g>

>>> +  <g

>>> +     id="g3555"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="681.48901"

>>> +       y1="80"

>>> +       x2="674.79797"

>>> +       y2="256.81699"

>>> +       id="line3557" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="670.022,253.911 674.798,256.817 679.988,254.741

>>> 674.175,264.291 "

>>> +       id="polygon3559" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="670.022,253.911 674.798,256.817 679.988,254.741

>>> 674.175,264.291 "

>>> +       id="polygon3561" />

>>> +  </g>

>>> +  <g

>>> +     id="g3563"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="706.98901"

>>> +       y1="80"

>>> +       x2="698.99701"

>>> +       y2="257.836"

>>> +       id="line3565" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="694.282,254.832 698.997,257.836 704.228,255.867

>>> 698.22,265.296 "

>>> +       id="polygon3567" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="694.282,254.832 698.997,257.836 704.228,255.867

>>> 698.22,265.296 "

>>> +       id="polygon3569" />

>>> +  </g>

>>> +  <g

>>> +     id="g3571"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="754.98901"

>>> +       y1="80"

>>> +       x2="763.82397"

>>> +       y2="258.354"

>>> +       id="line3573" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="758.561,256.47 763.824,258.354 768.489,255.274

>>> 764.722,265.8 "

>>> +       id="polygon3575" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="758.561,256.47 763.824,258.354 768.489,255.274

>>> 764.722,265.8 "

>>> +       id="polygon3577" />

>>> +  </g>

>>> +  <g

>>> +     id="g3579"

>>> +     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="793.98901"

>>> +       y1="80"

>>> +       x2="785.16803"

>>> +       y2="259.85501"

>>> +       id="line3581" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="780.507,256.768 785.168,259.855 790.433,257.979

>>> 784.26,267.3 "

>>> +       id="polygon3583" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="780.507,256.768 785.168,259.855 790.433,257.979

>>> 784.26,267.3 "

>>> +       id="polygon3585" />

>>> +  </g>

>>> +  <g

>>> +     id="g3587"

>>> +     transform="matrix(0.6,0,0,0.64733675,171.12812,194.48507)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="817.48901"

>>> +       y1="90"

>>> +       x2="806.52002"

>>> +       y2="259.905"

>>> +       id="line3589" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="806.52,259.905 811.851,258.222 805.341,267.312

>>> 801.975,256.65 "

>>> +       id="polygon3591" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="806.52,259.905 811.851,258.222 805.341,267.312

>>> 801.975,256.65 "

>>> +       id="polygon3593" />

>>> +  </g>

>>> +  <path

>>> +

>>>  style="fill:#fcfffa;fill-opacity:1;stroke:#000000;stroke-width:0.8932333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"

>>> +     d="m 499.51125,428.12127 66.9925,0 -11.16542,26.797 -44.66166,0 z"

>>> +     id="path46249"

>>> +     inkscape:connector-curvature="0"

>>> +     sodipodi:nodetypes="ccccc" />

>>> +  <text

>>> +     xml:space="preserve"

>>> +

>>>  style="font-size:8.93233299px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"

>>> +     x="516.63232"

>>> +     y="439.0816"

>>> +     id="text46251"

>>> +     sodipodi:linespacing="125%"><tspan

>>> +       sodipodi:role="line"

>>> +       id="tspan46253"

>>> +       x="516.63232"

>>> +       y="439.0816">priority</tspan><tspan

>>> +       sodipodi:role="line"

>>> +       x="516.63232"

>>> +       y="450.24701"

>>> +       id="tspan46255">encoder</tspan></text>

>>> +  <g

>>> +     id="g3523-1"

>>> +     transform="matrix(0.60000001,0,0,0.60000001,130.12915,207.76531)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="517.98901"

>>> +       y1="80"

>>> +       x2="520.242"

>>> +       y2="256.28699"

>>> +       id="line3525-7" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="515.18,253.915 520.242,256.287 525.177,253.661

>>> 520.432,263.784 "

>>> +       id="polygon3527-4" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="515.18,253.915 520.242,256.287 525.177,253.661

>>> 520.432,263.784 "

>>> +       id="polygon3529-0" />

>>> +  </g>

>>> +  <g

>>> +     id="g3523-9"

>>> +     transform="matrix(0.60000001,0,0,0.60000001,100.34145,207.76531)">

>>> +    <line

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       x1="517.98901"

>>> +       y1="80"

>>> +       x2="520.242"

>>> +       y2="256.28699"

>>> +       id="line3525-4" />

>>> +    <polygon

>>> +       style="fill:#000000"

>>> +       points="515.18,253.915 520.242,256.287 525.177,253.661

>>> 520.432,263.784 "

>>> +       id="polygon3527-8" />

>>> +    <polygon

>>> +       style="fill:none;stroke:#000000;stroke-width:2"

>>> +       points="515.18,253.915 520.242,256.287 525.177,253.661

>>> 520.432,263.784 "

>>> +       id="polygon3529-8" />

>>> +  </g>

>>> +  <g

>>> +     id="g46325"

>>> +     transform="matrix(0.8,0,0,0.8,53.007498,95.104671)">

>>> +    <g

>>> +       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"

>>> +       id="g3443">

>>> +      <path

>>> +         inkscape:connector-curvature="0"

>>> +         id="path3445"

>>> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5

>>> -62.143,0 -12.429,-30.5 12.429,-30.5 z"

>>> +         style="fill:#ffffff" />

>>> +      <path

>>> +         inkscape:connector-curvature="0"

>>> +         id="path3447"

>>> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5

>>> -62.143,0 -12.429,-30.5 12.429,-30.5"

>>> +         style="fill:none;stroke:#000000;stroke-width:2" />

>>> +      <text

>>> +         id="text3449"

>>> +         y="304.88599"

>>> +         x="428.85501"

>>> +

>>>  style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"

>>> +         font-size="12.7998">

>>> +        <tspan

>>> +           id="tspan3451"

>>> +           y="304.88599"

>>> +           x="428.85501" />

>>> +      </text>

>>> +    </g>

>>> +    <text

>>> +       id="text3519"

>>> +       y="361.48743"

>>> +       x="457.09674"

>>> +

>>>  style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"

>>> +       font-size="12.7998">

>>> +      <tspan

>>> +

>>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>>> +         id="tspan3521"

>>> +         y="361.48743"

>>> +         x="457.09674">WFQ</tspan>

>>> +      <tspan

>>> +

>>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>>> +         id="tspan46297"

>>> +         y="361.48743"

>>> +         x="457.09674" />

>>> +      <tspan

>>> +

>>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>>> +         id="tspan46305"

>>> +         y="361.48743"

>>> +         x="457.09674" />

>>> +      <tspan

>>> +         id="tspan46319"

>>> +

>>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>>> +         y="361.48743"

>>> +         x="457.09674" />

>>> +    </text>

>>> +    <text

>>> +       sodipodi:linespacing="125%"

>>> +       id="text46321"

>>> +       y="376.47391"

>>> +       x="447.76807"

>>> +

>>>  style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"

>>> +       xml:space="preserve"><tspan

>>> +         y="376.47391"

>>> +         x="447.76807"

>>> +         id="tspan46323"

>>> +         sodipodi:role="line">priority 0</tspan></text>

>>> +  </g>

>>> +  <g

>>> +     transform="matrix(0.8,0,0,0.8,124.22629,95.104671)"

>>> +     id="g46325-2">

>>> +    <g

>>> +       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"

>>> +       id="g3443-4">

>>> +      <path

>>> +         inkscape:connector-curvature="0"

>>> +         id="path3445-5"

>>> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5

>>> -62.143,0 -12.429,-30.5 12.429,-30.5 z"

>>> +         style="fill:#ffffff" />

>>> +      <path

>>> +         inkscape:connector-curvature="0"

>>> +         id="path3447-5"

>>> +         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5

>>> -62.143,0 -12.429,-30.5 12.429,-30.5"

>>> +         style="fill:none;stroke:#000000;stroke-width:2" />

>>> +      <text

>>> +         id="text3449-1"

>>> +         y="304.88599"

>>> +         x="428.85501"

>>> +

>>>  style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"

>>> +         font-size="12.7998">

>>> +        <tspan

>>> +           id="tspan3451-7"

>>> +           y="304.88599"

>>> +           x="428.85501" />

>>> +      </text>

>>> +    </g>

>>> +    <text

>>> +       id="text3519-1"

>>> +       y="361.48743"

>>> +       x="457.09674"

>>> +

>>>  style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"

>>> +       font-size="12.7998">

>>> +      <tspan

>>> +

>>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"

>>> +         id="tspan3521-1"

>>> +         y="361.48743"

>>> +         x="457.09674">WFQ</tspan>

>>> +      <tspan

>>> +

>>>  style="font-style:normal;font-variant:normal;font-weight:normal;font-str

>>

>> ...

>>

>> [Message clipped]

>

>

>

>

> --

> Mike Holmes

> Technical Manager - Linaro Networking Group

> Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs

>

>

>



-- 
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
diff mbox

Patch

diff --git a/doc/images/Makefile.am b/doc/images/Makefile.am
index 5495b69..0a21b54 100644
--- a/doc/images/Makefile.am
+++ b/doc/images/Makefile.am
@@ -7,6 +7,8 @@  SVG_SRCS =  atomic_queue.svg \
 	odp_traffic_manager.svg \
 	overview.svg \
 	release_git.svg \
+	tm_hierarchy.svg \
+	tm_node.svg \
 	simple_release_git.svg
 
 SVG_TARGETS = $(SVG_SRCS:svg=png)
@@ -80,5 +82,15 @@  simple_release_git.png: simple_release_git.svg
 simple_release_git.eps: simple_release_git.svg
 	convert $< $@
 
+tm_hierarchy.png: tm_hierarchy.svg
+	convert $< $@
+tm_hierarchy.eps: tm_hierarchy.svg
+	convert $< $@
+
+tm_node.png: tm_node.svg
+	convert $< $@
+tm_node.eps: tm_node.svg
+	convert $< $@
+
 resource_management.png: resource_management.msc
 	mscgen -T png -i $< -o $@
diff --git a/doc/images/tm_hierarchy.svg b/doc/images/tm_hierarchy.svg
new file mode 100644
index 0000000..e832cdd
--- /dev/null
+++ b/doc/images/tm_hierarchy.svg
@@ -0,0 +1,769 @@ 
+<?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.36.0 (20140111.2315)
+ -->
+<!-- Title: four_levels Pages: 1 -->
+<svg width="1362px" height="600px"
+ viewBox="0 0 1362 600" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<defs>
+    <symbol id="queue_symbol" fill="#80f080" stroke="black"
+             stroke-width="5" stroke-linecap="square">
+      <g transform="scale(0.2 0.2)" >
+        <line x1="0"   y1="70" x2="0"   y2="120" />
+        <line x1="100" y1="70" x2="100" y2="120" />
+        <polyline points="0,120 0,170 100,170 100,120" />
+
+        <rect x="0" y="170" width="100" height="50"/>
+        <rect x="0" y="220" width="100" height="50"/>
+        <rect x="0" y="270" width="100" height="50"/>
+        <rect x="0" y="320" width="100" height="50"/>
+        <rect x="0" y="370" width="100" height="50"/>
+        <rect x="0" y="420" width="100" height="50"/>
+      </g>
+    </symbol>
+
+    <symbol id="ArbiterLevel3" > <!-- shift x left by 39 -->
+        <polygon fill="#F08080" stroke="black" points="54,0  0,0  12,29  42,29  54,0"/>
+    </symbol>
+
+    <symbol id="ArbiterLevel2" > <!-- shift x left by 92 -->
+        <polygon fill="#F0F080" stroke="black" points="116,0  0,0  24,36  92,36  116,0"/>
+    </symbol>
+
+    <symbol id="ArbiterLevel1" > <!-- shift x left by 79 -->
+        <polygon fill="#E080E0" stroke="black" points="101,9  0,9  21,54  79,54  101,9"/>
+    </symbol>
+
+    <symbol id="DownArrowColor1" > <!-- shift x left by 7 and shift y by 5 -->
+        <polygon fill="green" stroke="green" points="14,-10  0,-10  7,10  14,-10"/>
+    </symbol>
+
+    <symbol id="DownArrowColor2" > <!-- shift x left by 7 and shift y by 5 -->
+        <polygon fill="black" stroke="black" points="14,-10  0,-10  7,10  14,-10"/>
+    </symbol>
+
+</defs>
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(30 530)">
+<title>four_levels</title>
+<polygon fill="#E8E8E8" stroke="none" points="-20,40 -20,-520 1320,-520 1320,40 -20,40"/>
+
+<!-- q28 -->
+<g id="node1" class="node"><title>q28</title>
+<use xlink:href="#queue_symbol" x="1107" y="-455"/>
+<text text-anchor="start" x="1115" y="-460" font-family="Times,serif" font-size="10.00">q28</text>
+</g>
+
+<!-- a1 -->
+<g id="node33" class="node"><title>a1</title>
+<use xlink:href="#ArbiterLevel3" x="1130" y="-325"/>
+<text text-anchor="middle" x="1157" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;18</text>
+</g>
+
+<!-- q28&#45;&gt;a1 -->
+<g id="edge1" class="edge"><title>q28&#45;&gt;a1</title>
+<path fill="none" stroke="green" d="M1127.59,-386.63C1130.6,-378.651 1133.9,-369.975 1137,-362 1140.46,-353.106 1144.34,-343.356 1147.75,-334.847"/>
+<polygon fill="green" stroke="green" points="1151.01,-336.137 1151.5,-325.553 1144.51,-333.521 1151.01,-336.137"/>
+</g>
+
+<!-- q29 -->
+<g id="node2" class="node"><title>q29</title>
+<use xlink:href="#queue_symbol" x="1146" y="-455"/>
+<text text-anchor="middle" x="1154" y="-460" font-family="Times,serif" font-size="10.00">q29</text>
+</g>
+<!-- q29&#45;&gt;a1 -->
+
+<g id="edge2" class="edge"><title>q29&#45;&gt;a1</title>
+<path fill="none" stroke="green" d="M1157,-361.991C1157,-352.879 1157,-343.829 1157,-335.985"/>
+<polygon fill="green" stroke="green" points="1160.5,-335.817 1157,-325.818 1153.5,-335.818 1160.5,-335.817"/>
+</g>
+
+<!-- q30 -->
+<g id="node3" class="node"><title>q30</title>
+<use xlink:href="#queue_symbol" x="1186" y="-455"/>
+<text text-anchor="middle" x="1194" y="-460" font-family="Times,serif" font-size="10.00">q30</text>
+</g>
+<!-- q30&#45;&gt;a1 -->
+
+<g id="edge3" class="edge"><title>q30&#45;&gt;a1</title>
+<path fill="none" stroke="green" d="M1186.49,-387.938C1180.11,-371.51 1172.05,-350.762 1165.97,-335.107"/>
+<polygon fill="green" stroke="green" points="1169.18,-333.706 1162.3,-325.651 1162.66,-336.24 1169.18,-333.706"/>
+</g>
+
+<!-- q31 -->
+<g id="node4" class="node"><title>q31</title>
+<use xlink:href="#queue_symbol" x="1226" y="-455"/>
+<text text-anchor="middle" x="1234" y="-460" font-family="Times,serif" font-size="10.00">q31</text>
+</g>
+<!-- q31&#45;&gt;a1 -->
+
+<g id="edge4" class="edge"><title>q31&#45;&gt;a1</title>
+<path fill="none" stroke="green" d="M1226.49,-381.191C1223.63,-374.515 1220.16,-367.789 1216,-362 1206.05,-348.132 1191.43,-335.706 1179.23,-326.71"/>
+<polygon fill="green" stroke="green" points="1181.06,-323.719 1170.88,-320.795 1177.02,-329.431 1181.06,-323.719"/>
+</g>
+
+<!-- q25 -->
+<g id="node5" class="node"><title>q25</title>
+<use xlink:href="#queue_symbol" x="988" y="-455"/>
+<text text-anchor="middle" x="996" y="-460" font-family="Times,serif" font-size="10.00">q25</text>
+</g>
+
+<!-- a2 -->
+<g id="node34" class="node"><title>a2</title>
+<use xlink:href="#ArbiterLevel3" x="998" y="-325"/>
+<text text-anchor="middle" x="1025" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;16</text>
+</g>
+
+<!-- q25&#45;&gt;a2 -->
+<g id="edge5" class="edge"><title>q25&#45;&gt;a2</title>
+<path fill="none" stroke="green" d="M1007.51,-376.354C1011.25,-362.579 1015.35,-347.493 1018.64,-335.392"/>
+<polygon fill="green" stroke="green" points="1022.05,-336.202 1021.29,-325.634 1015.29,-334.366 1022.05,-336.202"/>
+</g>
+
+<!-- q26 -->
+<g id="node6" class="node"><title>q26</title>
+<use xlink:href="#queue_symbol" x="1030" y="-455"/>
+<text text-anchor="middle" x="1038" y="-460" font-family="Times,serif" font-size="10.00">q26</text>
+</g>
+
+<!-- q26&#45;&gt;a2 -->
+<g id="edge6" class="edge"><title>q26&#45;&gt;a2</title>
+<path fill="none" stroke="green" d="M1030.82,-361.991C1029.76,-352.879 1028.71,-343.829 1027.79,-335.985"/>
+<polygon fill="green" stroke="green" points="1031.24,-335.345 1026.61,-325.818 1024.29,-336.155 1031.24,-335.345"/>
+</g>
+
+<!-- q27 -->
+<g id="node7" class="node"><title>q27</title>
+<use xlink:href="#queue_symbol" x="1071" y="-455"/>
+<text text-anchor="middle" x="1079" y="-460" font-family="Times,serif" font-size="10.00">q27</text>
+</g>
+
+<!-- a3 -->
+<g id="node35" class="node"><title>a3</title>
+<use xlink:href="#ArbiterLevel3" x="1059" y="-325"/>
+<text text-anchor="middle" x="1086" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;17</text>
+</g>
+
+<!-- q27&#45;&gt;a3 -->
+<g id="edge7" class="edge"><title>q27&#45;&gt;a3</title>
+<path fill="none" stroke="green" d="M1081.63,-361.991C1082.43,-352.879 1083.22,-343.829 1083.9,-335.985"/>
+<polygon fill="green" stroke="green" points="1087.41,-336.084 1084.79,-325.818 1080.44,-335.475 1087.41,-336.084"/>
+</g>
+
+<!-- q32 -->
+<g id="node8" class="node"><title>q32</title>
+<use xlink:href="#queue_symbol" x="1267" y="-455"/>
+<text text-anchor="middle" x="1274" y="-460" font-family="Times,serif" font-size="10.00">q32</text>
+</g>
+
+<!-- a4 -->
+<g id="node36" class="node"><title>a4</title>
+<use xlink:href="#ArbiterLevel3" x="1220" y="-325"/>
+<text text-anchor="middle" x="1247" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;19</text>
+</g>
+<!-- q32&#45;&gt;a4 -->
+
+<g id="edge8" class="edge"><title>q32&#45;&gt;a4</title>
+<path fill="none" stroke="green" d="M1266.42,-378.686C1262.23,-364.297 1257.54,-348.171 1253.81,-335.381"/>
+<polygon fill="green" stroke="green" points="1257.1,-334.156 1250.94,-325.534 1250.38,-336.114 1257.1,-334.156"/>
+</g>
+
+<!-- q16 -->
+<g id="node9" class="node"><title>q16</title>
+<use xlink:href="#queue_symbol" x="628" y="-455"/>
+<text text-anchor="middle" x="636" y="-460" font-family="Times,serif" font-size="10.00">q16</text>
+</g>
+
+<!-- a5 -->
+<g id="node37" class="node"><title>a5</title>
+<use xlink:href="#ArbiterLevel3" x="648" y="-325"/>
+<text text-anchor="middle" x="675" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;11</text>
+</g>
+<!-- q16&#45;&gt;a5 -->
+
+<g id="edge9" class="edge"><title>q16&#45;&gt;a5</title>
+<path fill="none" stroke="green" d="M647.585,-386.309C653.509,-370.252 660.801,-350.488 666.374,-335.38"/>
+<polygon fill="green" stroke="green" points="669.743,-336.361 669.921,-325.767 663.176,-333.938 669.743,-336.361"/>
+</g>
+
+<!-- q17 -->
+<g id="node10" class="node"><title>q17</title>
+<use xlink:href="#queue_symbol" x="670" y="-455"/>
+<text text-anchor="middle" x="677" y="-460" font-family="Times,serif" font-size="10.00">q17</text>
+</g>
+
+<!-- q17&#45;&gt;a5 -->
+<g id="edge10" class="edge"><title>q17&#45;&gt;a5</title>
+<path fill="none" stroke="green" d="M675.971,-361.991C675.794,-352.879 675.618,-343.829 675.466,-335.985"/>
+<polygon fill="green" stroke="green" points="678.962,-335.748 675.268,-325.818 671.963,-335.884 678.962,-335.748"/>
+</g>
+
+<!-- q18 -->
+<g id="node11" class="node"><title>q18</title>
+<use xlink:href="#queue_symbol" x="712" y="-455"/>
+<text text-anchor="middle" x="717" y="-460" font-family="Times,serif" font-size="10.00">q18</text>
+</g>
+
+<!-- a6 -->
+<g id="node38" class="node"><title>a6</title>
+<use xlink:href="#ArbiterLevel3" x="709" y="-325"/>
+<text text-anchor="middle" x="736" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;12</text>
+</g>
+<!-- q18&#45;&gt;a6 -->
+
+<g id="edge11" class="edge"><title>q18&#45;&gt;a6</title>
+<path fill="none" stroke="green" d="M726.778,-361.991C728.479,-352.774 730.167,-343.621 731.625,-335.715"/>
+<polygon fill="green" stroke="green" points="735.079,-336.287 733.451,-325.818 728.195,-335.017 735.079,-336.287"/>
+</g>
+
+<!-- q19 -->
+<g id="node12" class="node"><title>q19</title>
+<use xlink:href="#queue_symbol" x="750" y="-455"/>
+<text text-anchor="middle" x="758" y="-460" font-family="Times,serif" font-size="10.00">q19</text>
+</g>
+<!-- q19&#45;&gt;a6 -->
+
+<g id="edge12" class="edge"><title>q19&#45;&gt;a6</title>
+<path fill="none" stroke="green" d="M746.438,-363.198C744.478,-353.585 742.521,-343.985 740.84,-335.739"/>
+<polygon fill="green" stroke="green" points="744.239,-334.892 738.812,-325.793 737.38,-336.29 744.239,-334.892"/>
+</g>
+
+<!-- q20 -->
+<g id="node13" class="node"><title>q20</title>
+<use xlink:href="#queue_symbol" x="792" y="-455"/>
+<text text-anchor="middle" x="797" y="-460" font-family="Times,serif" font-size="10.00">q20</text>
+</g>
+
+<!-- a7 -->
+<g id="node39" class="node"><title>a7</title>
+<use xlink:href="#ArbiterLevel3" x="770" y="-325"/>
+<text text-anchor="middle" x="797" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;13</text>
+</g>
+<!-- q20&#45;&gt;a7 -->
+
+<g id="edge13" class="edge"><title>q20&#45;&gt;a7</title>
+<path fill="none" stroke="green" d="M797,-361.991C797,-352.879 797,-343.829 797,-335.985"/>
+<polygon fill="green" stroke="green" points="800.5,-335.817 797,-325.818 793.5,-335.818 800.5,-335.817"/>
+</g>
+
+<!-- q21 -->
+<g id="node14" class="node"><title>q21</title>
+<use xlink:href="#queue_symbol" x="832" y="-455"/>
+<text text-anchor="middle" x="837" y="-460" font-family="Times,serif" font-size="10.00">q21</text>
+</g>
+
+<!-- a8 -->
+<g id="node40" class="node"><title>a8</title>
+<use xlink:href="#ArbiterLevel3" x="834" y="-325"/>
+<text text-anchor="middle" x="861" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;14</text>
+</g>
+<!-- q21&#45;&gt;a8 -->
+
+<g id="edge14" class="edge"><title>q21&#45;&gt;a8</title>
+<path fill="none" stroke="green" d="M847.527,-369.823C850.294,-357.948 853.167,-345.618 855.545,-335.41"/>
+<polygon fill="green" stroke="green" points="858.959,-336.181 857.82,-325.648 852.142,-334.593 858.959,-336.181"/>
+</g>
+
+<!-- q22 -->
+<g id="node15" class="node"><title>q22</title>
+<use xlink:href="#queue_symbol" x="870" y="-455"/>
+<text text-anchor="middle" x="878" y="-460" font-family="Times,serif" font-size="10.00">q22</text>
+</g>
+<!-- q22&#45;&gt;a8 -->
+
+<g id="edge15" class="edge"><title>q22&#45;&gt;a8</title>
+<path fill="none" stroke="green" d="M868.766,-361.991C867.334,-352.774 865.912,-343.621 864.684,-335.715"/>
+<polygon fill="green" stroke="green" points="868.14,-335.162 863.146,-325.818 861.223,-336.236 868.14,-335.162"/>
+</g>
+
+<!-- q23 -->
+<g id="node16" class="node"><title>q23</title>
+<use xlink:href="#queue_symbol" x="910" y="-455"/>
+<text text-anchor="middle" x="917" y="-460" font-family="Times,serif" font-size="10.00">q23</text>
+</g>
+
+<!-- a9 -->
+<g id="node41" class="node"><title>a9</title>
+<use xlink:href="#ArbiterLevel3" x="895" y="-325"/>
+<text text-anchor="middle" x="922" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;15</text>
+</g>
+<!-- q23&#45;&gt;a9 -->
+
+<g id="edge16" class="edge"><title>q23&#45;&gt;a9</title>
+<path fill="none" stroke="green" d="M919.573,-361.991C920.016,-352.879 920.455,-343.829 920.836,-335.985"/>
+<polygon fill="green" stroke="green" points="924.34,-335.976 921.329,-325.818 917.348,-335.636 924.34,-335.976"/>
+</g>
+
+<!-- q24 -->
+<g id="node17" class="node"><title>q24</title>
+<use xlink:href="#queue_symbol" x="948" y="-455"/>
+<text text-anchor="middle" x="956" y="-460" font-family="Times,serif" font-size="10.00">q24</text>
+</g>
+<!-- q24&#45;&gt;a9 -->
+
+<g id="edge17" class="edge"><title>q24&#45;&gt;a9</title>
+<path fill="none" stroke="green" d="M946.499,-384.097C941.184,-368.457 934.839,-349.782 929.937,-335.358"/>
+<polygon fill="green" stroke="green" points="933.19,-334.053 926.659,-325.711 926.563,-336.305 933.19,-334.053"/>
+</g>
+
+<!-- q1 -->
+<g id="node18" class="node"><title>q1</title>
+<use xlink:href="#queue_symbol" x="12" y="-455"/>
+<text text-anchor="middle" x="20" y="-460" font-family="Times,serif" font-size="10.00">q1</text>
+</g>
+
+<!-- a10 -->
+<g id="node42" class="node"><title>a10</title>
+<use xlink:href="#ArbiterLevel3" x="-6" y="-325"/>
+<text text-anchor="middle" x="21" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;1</text>
+</g>
+<!-- q1&#45;&gt;a10 -->
+
+<g id="edge18" class="edge"><title>q1&#45;&gt;a10</title>
+<path fill="none" stroke="green" d="M21,-361.991C21,-352.879 21,-343.829 21,-335.985"/>
+<polygon fill="green" stroke="green" points="24.5001,-335.817 21,-325.818 17.5001,-335.818 24.5001,-335.817"/>
+</g>
+
+<!-- q2 -->
+<g id="node19" class="node"><title>q2</title>
+<use xlink:href="#queue_symbol" x="59" y="-455"/>
+<text text-anchor="middle" x="64" y="-460" font-family="Times,serif" font-size="10.00">q2</text>
+</g>
+
+<!-- a11 -->
+<g id="node43" class="node"><title>a11</title>
+<use xlink:href="#ArbiterLevel3" x="55" y="-325"/>
+<text text-anchor="middle" x="82" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;2</text>
+</g>
+<!-- q2&#45;&gt;a11 -->
+
+<g id="edge19" class="edge"><title>q2&#45;&gt;a11</title>
+<path fill="none" stroke="green" d="M73.2636,-361.991C74.8745,-352.774 76.474,-343.621 77.8557,-335.715"/>
+<polygon fill="green" stroke="green" points="81.3115,-336.271 79.5853,-325.818 74.416,-335.066 81.3115,-336.271"/>
+</g>
+
+<!-- q3 -->
+<g id="node20" class="node"><title>q3</title>
+<use xlink:href="#queue_symbol" x="94" y="-455"/>
+<text text-anchor="start" x="99" y="-460" font-family="Times,serif" font-size="10.00">q3</text>
+</g>
+
+<!-- a12-->
+<g id="node44" class="node"><title>a12</title>
+<use xlink:href="#ArbiterLevel3" x="116" y="-325"/>
+<text text-anchor="middle" x="143" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;3</text>
+</g>
+<!-- q3&#45;&gt;a12 -->
+
+<g id="edge20" class="edge"><title>q3&#45;&gt;a12</title>
+<path fill="none" stroke="green" d="M114.575,-386.939C117.614,-378.886 120.935,-370.094 124,-362 127.32,-353.233 130.976,-343.605 134.187,-335.158"/>
+<polygon fill="green" stroke="green" points="137.547,-336.17 137.83,-325.578 131.004,-333.681 137.547,-336.17"/>
+</g>
+
+<!-- q4 -->
+<g id="node21" class="node"><title>q4</title>
+<use xlink:href="#queue_symbol" x="137" y="-455"/>
+<text text-anchor="middle" x="144" y="-460" font-family="Times,serif" font-size="10.00">q4</text>
+</g>
+<!-- q4&#45;&gt;a12 -->
+
+<g id="edge21" class="edge"><title>q4&#45;&gt;a12</title>
+<path fill="none" stroke="green" d="M143.485,-361.991C143.397,-352.879 143.309,-343.829 143.233,-335.985"/>
+<polygon fill="green" stroke="green" points="146.731,-335.783 143.134,-325.818 139.731,-335.851 146.731,-335.783"/>
+</g>
+
+<!-- q5 -->
+<g id="node22" class="node"><title>q5</title>
+<use xlink:href="#queue_symbol" x="176" y="-455"/>
+<text text-anchor="middle" x="184" y="-460" font-family="Times,serif" font-size="10.00">q5</text>
+</g>
+
+<!-- a13 -->
+<g id="node45" class="node"><title>a13</title>
+<use xlink:href="#ArbiterLevel3" x="186" y="-325"/>
+<text text-anchor="middle" x="213" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;4</text>
+</g>
+<!-- q5&#45;&gt;a13 -->
+
+<g id="edge22" class="edge"><title>q5&#45;&gt;a13</title>
+<path fill="none" stroke="green" d="M194.552,-377.523C198.485,-363.554 202.837,-348.095 206.327,-335.702"/>
+<polygon fill="green" stroke="green" points="209.797,-336.289 209.138,-325.715 203.059,-334.392 209.797,-336.289"/>
+</g>
+
+<!-- q6 -->
+<g id="node23" class="node"><title>q6</title>
+<use xlink:href="#queue_symbol" x="219" y="-455"/>
+<text text-anchor="middle" x="224" y="-460" font-family="Times,serif" font-size="10.00">q6</text>
+</g>
+<!-- q6&#45;&gt;a13 -->
+
+<g id="edge23" class="edge"><title>q6&#45;&gt;a13</title>
+<path fill="none" stroke="green" d="M218.339,-361.991C217.366,-352.879 216.399,-343.829 215.561,-335.985"/>
+<polygon fill="green" stroke="green" points="219.018,-335.389 214.476,-325.818 212.057,-336.133 219.018,-335.389"/>
+</g>
+
+<!-- q7 -->
+<g id="node24" class="node"><title>q7</title>
+<use xlink:href="#queue_symbol" x="259" y="-455"/>
+<text text-anchor="middle" x="264" y="-460" font-family="Times,serif" font-size="10.00">q7</text>
+</g>
+
+<!-- a14 -->
+<g id="node46" class="node"><title>a14</title>
+<use xlink:href="#ArbiterLevel3" x="247" y="-325"/>
+<text text-anchor="middle" x="274" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;5</text>
+</g>
+<!-- q7&#45;&gt;a14 -->
+
+<g id="edge24" class="edge"><title>q7&#45;&gt;a14</title>
+<path fill="none" stroke="green" d="M269.146,-361.991C270.031,-352.879 270.91,-343.829 271.671,-335.985"/>
+<polygon fill="green" stroke="green" points="275.176,-336.109 272.658,-325.818 268.208,-335.432 275.176,-336.109"/>
+</g>
+
+<!-- q8 -->
+<g id="node25" class="node"><title>q8</title>
+<use xlink:href="#queue_symbol" x="295" y="-455"/>
+<text text-anchor="middle" x="303" y="-460" font-family="Times,serif" font-size="10.00">q8</text>
+</g>
+<!-- q8&#45;&gt;a14 -->
+
+<g id="edge25" class="edge"><title>q8&#45;&gt;a14</title>
+<path fill="none" stroke="green" d="M293.423,-378.686C289.232,-364.297 284.535,-348.171 280.81,-335.381"/>
+<polygon fill="green" stroke="green" points="284.099,-334.156 277.942,-325.534 277.378,-336.114 284.099,-334.156"/>
+</g>
+
+<!-- q9 -->
+<g id="node26" class="node"><title>q9</title>
+<use xlink:href="#queue_symbol" x="339" y="-455"/>
+<text text-anchor="middle" x="344" y="-460" font-family="Times,serif" font-size="10.00">q9</text>
+</g>
+
+<!-- a15 -->
+<g id="node47" class="node"><title>a15</title>
+<use xlink:href="#ArbiterLevel3" x="308" y="-325"/>
+<text text-anchor="middle" x="335" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;6</text>
+</g>
+<!-- q9&#45;&gt;a15 -->
+
+<g id="edge26" class="edge"><title>q9&#45;&gt;a15</title>
+<path fill="none" stroke="green" d="M339.368,-361.991C338.572,-352.879 337.781,-343.829 337.096,-335.985"/>
+<polygon fill="green" stroke="green" points="340.565,-335.475 336.207,-325.818 333.591,-336.084 340.565,-335.475"/>
+</g>
+
+<!-- q10 -->
+<g id="node27" class="node"><title>q10</title>
+<use xlink:href="#queue_symbol" x="389" y="-455"/>
+<text text-anchor="middle" x="396" y="-460" font-family="Times,serif" font-size="10.00">q10</text>
+</g>
+
+<!-- a16 -->
+<g id="node48" class="node"><title>a16</title>
+<use xlink:href="#ArbiterLevel3" x="369" y="-325"/>
+<text text-anchor="middle" x="396" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;7</text>
+</g>
+<!-- q10&#45;&gt;a16 -->
+
+<g id="edge27" class="edge"><title>q10&#45;&gt;a16</title>
+<path fill="none" stroke="green" d="M396,-361.991C396,-352.879 396,-343.829 396,-335.985"/>
+<polygon fill="green" stroke="green" points="399.5,-335.817 396,-325.818 392.5,-335.818 399.5,-335.817"/>
+</g>
+
+<!-- q11 -->
+<g id="node28" class="node"><title>q11</title>
+<use xlink:href="#queue_symbol" x="432" y="-455"/>
+<text text-anchor="middle" x="437" y="-460" font-family="Times,serif" font-size="10.00">q11</text>
+</g>
+
+<!-- a17 -->
+<g id="node49" class="node"><title>a17</title>
+<use xlink:href="#ArbiterLevel3" x="430" y="-325"/>
+<text text-anchor="middle" x="457" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;8</text>
+</g>
+<!-- q11&#45;&gt;a17 -->
+
+<g id="edge28" class="edge"><title>q11&#45;&gt;a17</title>
+<path fill="none" stroke="green" d="M447.293,-361.991C449.083,-352.774 450.86,-343.621 452.395,-335.715"/>
+<polygon fill="green" stroke="green" points="455.847,-336.301 454.317,-325.818 448.975,-334.967 455.847,-336.301"/>
+</g>
+
+<!-- q12 -->
+<g id="node29" class="node"><title>q12</title>
+<use xlink:href="#queue_symbol" x="468" y="-455"/>
+<text text-anchor="middle" x="476" y="-460" font-family="Times,serif" font-size="10.00">q12</text>
+</g>
+<!-- q12&#45;&gt;a17 -->
+
+<g id="edge29" class="edge"><title>q12&#45;&gt;a17</title>
+<path fill="none" stroke="green" d="M466.707,-361.991C464.917,-352.774 463.14,-343.621 461.605,-335.715"/>
+<polygon fill="green" stroke="green" points="465.025,-334.967 459.683,-325.818 458.153,-336.301 465.025,-334.967"/>
+</g>
+
+<!-- q13 -->
+<g id="node30" class="node"><title>q13</title>
+<use xlink:href="#queue_symbol" x="512" y="-455"/>
+<text text-anchor="middle" x="517" y="-460" font-family="Times,serif" font-size="10.00">q13</text>
+</g>
+
+<!-- a18 -->
+<g id="node50" class="node"><title>a18</title>
+<use xlink:href="#ArbiterLevel3" x="491" y="-325"/>
+<text text-anchor="middle" x="518" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;9</text>
+</g>
+<!-- q13&#45;&gt;a18 -->
+
+<g id="edge30" class="edge"><title>q13&#45;&gt;a18</title>
+<path fill="none" stroke="green" d="M517.515,-361.991C517.603,-352.879 517.691,-343.829 517.767,-335.985"/>
+<polygon fill="green" stroke="green" points="521.269,-335.851 517.866,-325.818 514.269,-335.783 521.269,-335.851"/>
+</g>
+
+<!-- q14 -->
+<g id="node31" class="node"><title>q14</title>
+<use xlink:href="#queue_symbol" x="552" y="-455"/>
+<text text-anchor="middle" x="557" y="-460" font-family="Times,serif" font-size="10.00">q14</text>
+</g>
+
+<!-- a19 -->
+<g id="node51" class="node"><title>a19</title>
+<use xlink:href="#ArbiterLevel3" x="552" y="-325"/>
+<text text-anchor="middle" x="579" y="-308.5" font-family="Times,serif" font-size="10.00">User&#45;10</text>
+</g>
+<!-- q14&#45;&gt;a19 -->
+
+<g id="edge31" class="edge"><title>q14&#45;&gt;a19</title>
+<path fill="none" stroke="green" d="M567.549,-365.612C569.775,-355.187 572.027,-344.648 573.937,-335.704"/>
+<polygon fill="green" stroke="green" points="577.407,-336.213 576.073,-325.703 570.562,-334.751 577.407,-336.213"/>
+</g>
+
+<!-- q15 -->
+<g id="node32" class="node"><title>q15</title>
+<use xlink:href="#queue_symbol" x="589" y="-455"/>
+<text text-anchor="middle" x="597" y="-460" font-family="Times,serif" font-size="10.00">q15</text>
+</g>
+<!-- q15&#45;&gt;a19 -->
+
+<g id="edge32" class="edge"><title>q15&#45;&gt;a19</title>
+<path fill="none" stroke="green" d="M587.736,-361.991C586.126,-352.774 584.526,-343.621 583.144,-335.715"/>
+<polygon fill="green" stroke="green" points="586.584,-335.066 581.415,-325.818 579.689,-336.271 586.584,-335.066"/>
+</g>
+<!-- b1 -->
+<g id="node52" class="node"><title>b1</title>
+<use xlink:href="#ArbiterLevel2" x="1023" y="-260"/>
+<text text-anchor="middle" x="1086" y="-238.9" font-family="Times,serif" font-size="12.00">Gold&#45;C3</text>
+</g>
+<!-- a1&#45;&gt;b1 -->
+<g id="edge33" class="edge"><title>a1&#45;&gt;b1</title>
+<path fill="none" stroke="black" d="M1142.63,-296.442C1133.7,-288.011 1121.96,-276.931 1111.48,-267.046"/>
+<polygon fill="black" stroke="black" points="1113.81,-264.433 1104.14,-260.116 1109.01,-269.524 1113.81,-264.433"/>
+</g>
+<!-- a2&#45;&gt;b1 -->
+<g id="edge34" class="edge"><title>a2&#45;&gt;b1</title>
+<path fill="none" stroke="black" d="M1037.34,-296.442C1044.82,-288.235 1054.57,-277.518 1063.39,-267.837"/>
+<polygon fill="black" stroke="black" points="1066.05,-270.114 1070.19,-260.363 1060.87,-265.401 1066.05,-270.114"/>
+</g>
+<!-- a3&#45;&gt;b1 -->
+<g id="edge35" class="edge"><title>a3&#45;&gt;b1</title>
+<path fill="none" stroke="black" d="M1086,-296.442C1086,-288.966 1086,-279.408 1086,-270.447"/>
+<polygon fill="black" stroke="black" points="1089.5,-270.363 1086,-260.363 1082.5,-270.363 1089.5,-270.363"/>
+</g>
+
+<!-- a4&#45;&gt;b1 -->
+<g id="edge36" class="edge"><title>a4&#45;&gt;b1</title>
+<path fill="none" stroke="black" d="M1237.26,-295.3 L 1138,-265"/>
+<use transform="rotate(70, 1134,-265)" xlink:href="#DownArrowColor2" x="1128" y="-272"/>
+</g>
+
+<!-- b2 -->
+<g id="node53" class="node"><title>b2</title>
+<use xlink:href="#ArbiterLevel2" x="675" y="-260"/>
+<text text-anchor="middle" x="736" y="-238.9" font-family="Times,serif" font-size="12.00">Bronze&#45;C3</text>
+</g>
+<!-- a5&#45;&gt;b2 -->
+<g id="edge37" class="edge"><title>a5&#45;&gt;b2</title>
+<path fill="none" stroke="black" d="M687.344,-296.442C694.816,-288.235 704.573,-277.518 713.387,-267.837"/>
+<polygon fill="black" stroke="black" points="716.048,-270.114 720.192,-260.363 710.872,-265.401 716.048,-270.114"/>
+</g>
+<!-- a6&#45;&gt;b2 -->
+<g id="edge38" class="edge"><title>a6&#45;&gt;b2</title>
+<path fill="none" stroke="black" d="M736,-296.442C736,-288.966 736,-279.408 736,-270.447"/>
+<polygon fill="black" stroke="black" points="739.5,-270.363 736,-260.363 732.5,-270.363 739.5,-270.363"/>
+</g>
+<!-- a7&#45;&gt;b2 -->
+<g id="edge39" class="edge"><title>a7&#45;&gt;b2</title>
+<path fill="none" stroke="black" d="M784.656,-296.442C777.184,-288.235 767.427,-277.518 758.613,-267.837"/>
+<polygon fill="black" stroke="black" points="761.128,-265.401 751.808,-260.363 755.952,-270.114 761.128,-265.401"/>
+</g>
+<!-- b3 -->
+<g id="node54" class="node"><title>b3</title>
+<use xlink:href="#ArbiterLevel2" x="807" y="-260"/>
+<text text-anchor="middle" x="865" y="-238.9" font-family="Times,serif" font-size="12.00">Silver&#45;C3</text>
+</g>
+<!-- a8&#45;&gt;b3 -->
+<g id="edge40" class="edge"><title>a8&#45;&gt;b3</title>
+<path fill="none" stroke="black" d="M861.809,-296.442C862.256,-288.966 862.826,-279.408 863.361,-270.447"/>
+<polygon fill="black" stroke="black" points="866.861,-270.554 863.963,-260.363 859.874,-270.137 866.861,-270.554"/>
+</g>
+
+<!-- a9&#45;&gt;b3 -->
+<g id="edge41" class="edge"><title>a9&#45;&gt;b3</title>
+<path fill="none" stroke="black" d="M920,-297 L 909,-269"/>
+<use transform="rotate(18, 908,-268)" xlink:href="#DownArrowColor2" x="901.5" y="-271"/>
+</g>
+
+<!-- b4 -->
+<g id="node55" class="node"><title>b4</title>
+<use xlink:href="#ArbiterLevel2" x="57" y="-260"/>
+<text text-anchor="middle" x="111" y="-238.9" font-family="Times,serif" font-size="12.00">Regular&#45;C1</text>
+</g>
+<!-- a10&#45;&gt;b4 -->
+<g id="edge42" class="edge"><title>a10&#45;&gt;b4</title>
+<path fill="none" stroke="black" d="M39.2128,-296.442C50.8676,-287.765 66.2915,-276.283 79.8547,-266.186"/>
+<polygon fill="black" stroke="black" points="82.0776,-268.895 88.0089,-260.116 77.8976,-263.28 82.0776,-268.895"/>
+</g>
+<!-- a11&#45;&gt;b4 -->
+<g id="edge43" class="edge"><title>a11&#45;&gt;b4</title>
+<path fill="none" stroke="black" d="M87.8686,-296.442C91.2097,-288.722 95.5122,-278.782 99.4985,-269.572"/>
+<polygon fill="black" stroke="black" points="102.724,-270.931 103.485,-260.363 96.3003,-268.15 102.724,-270.931"/>
+</g>
+<!-- a12&#45;&gt;b4 -->
+<g id="edge44" class="edge"><title>a12&#45;&gt;b4</title>
+<path fill="none" stroke="black" d="M136.524,-296.442C132.838,-288.722 128.09,-278.782 123.691,-269.572"/>
+<polygon fill="black" stroke="black" points="126.761,-267.878 119.293,-260.363 120.444,-270.895 126.761,-267.878"/>
+</g>
+<!-- b5 -->
+<g id="node56" class="node"><title>b5</title>
+<use xlink:href="#ArbiterLevel2" x="217" y="-260"/>
+<text text-anchor="middle" x="274" y="-238.9" font-family="Times,serif" font-size="12.00">Premium&#45;C1</text>
+</g>
+<!-- a13&#45;&gt;b5 -->
+<g id="edge45" class="edge"><title>a13&#45;&gt;b5</title>
+<path fill="none" stroke="black" d="M225.344,-296.442C232.816,-288.235 242.573,-277.518 251.387,-267.837"/>
+<polygon fill="black" stroke="black" points="254.048,-270.114 258.192,-260.363 248.872,-265.401 254.048,-270.114"/>
+</g>
+<!-- a14&#45;&gt;b5 -->
+<g id="edge46" class="edge"><title>a14&#45;&gt;b5</title>
+<path fill="none" stroke="black" d="M274,-296.442C274,-288.966 274,-279.408 274,-270.447"/>
+<polygon fill="black" stroke="black" points="277.5,-270.363 274,-260.363 270.5,-270.363 277.5,-270.363"/>
+</g>
+<!-- a15&#45;&gt;b5 -->
+<g id="edge47" class="edge"><title>a15&#45;&gt;b5</title>
+<path fill="none" stroke="black" d="M322.656,-296.442C315.184,-288.235 305.427,-277.518 296.613,-267.837"/>
+<polygon fill="black" stroke="black" points="299.128,-265.401 289.808,-260.363 293.952,-270.114 299.128,-265.401"/>
+</g>
+<!-- b6 -->
+<g id="node57" class="node"><title>b6</title>
+<use xlink:href="#ArbiterLevel2" x="366" y="-260"/>
+<text text-anchor="middle" x="427" y="-238.9" font-family="Times,serif" font-size="12.00">Normal&#45;C2</text>
+</g>
+<!-- a16&#45;&gt;b6 -->
+<g id="edge48" class="edge"><title>a16&#45;&gt;b6</title>
+<path fill="none" stroke="black" d="M402.273,-296.442C405.845,-288.722 410.444,-278.782 414.705,-269.572"/>
+<polygon fill="black" stroke="black" points="417.944,-270.908 418.966,-260.363 411.591,-267.969 417.944,-270.908"/>
+</g>
+<!-- a17&#45;&gt;b6 -->
+<g id="edge49" class="edge"><title>a17&#45;&gt;b6</title>
+<path fill="none" stroke="black" d="M450.929,-296.442C447.473,-288.722 443.022,-278.782 438.898,-269.572"/>
+<polygon fill="black" stroke="black" points="442.056,-268.06 434.775,-260.363 435.667,-270.92 442.056,-268.06"/>
+</g>
+<!-- b7 -->
+<g id="node58" class="node"><title>b7</title>
+<use xlink:href="#ArbiterLevel2" x="502" y="-260"/>
+<text text-anchor="middle" x="559" y="-238.9" font-family="Times,serif" font-size="12.00">Turbo&#45;C2</text>
+</g>
+<!-- a18&#45;&gt;b7 -->
+<g id="edge50" class="edge"><title>a18&#45;&gt;b7</title>
+<path fill="none" stroke="black" d="M526.297,-296.442C531.12,-288.56 537.36,-278.363 543.095,-268.992"/>
+<polygon fill="black" stroke="black" points="546.141,-270.72 548.375,-260.363 540.17,-267.066 546.141,-270.72"/>
+</g>
+<!-- a19&#45;&gt;b7 -->
+<g id="edge51" class="edge"><title>a19&#45;&gt;b7</title>
+<path fill="none" stroke="black" d="M574.953,-296.442C572.697,-288.885 569.806,-279.2 567.106,-270.155"/>
+<polygon fill="black" stroke="black" points="570.397,-268.944 564.183,-260.363 563.69,-270.946 570.397,-268.944"/>
+</g>
+
+<!-- c3 -->
+<g id="node59" class="node"><title>c3</title>
+<use xlink:href="#ArbiterLevel1" x="735" y="-179"/>
+<text text-anchor="middle" x="785" y="-146" font-family="Times,serif" font-size="12.00">Company3</text>
+</g>
+
+<!-- b1&#45;&gt;c3 -->
+
+<g id="edge52" class="edge"><title>b1&#45;&gt;c3</title>
+<path fill="none" stroke="green" d="M1043,-227.072 L 845.759,-167.08"/>
+<polygon fill="green" stroke="green" points="846.633,-163.687 836.046,-164.091 844.574,-170.377 846.633,-163.687"/>
+</g>
+
+<!-- b2&#45;&gt;c3 -->
+<g id="edge53" class="edge"><title>b2&#45;&gt;c3</title>
+<path fill="none" stroke="green" d="M748.644,-223.614 L 754,-177"/>
+<use transform="rotate(-10, 754,-177)" xlink:href="#DownArrowColor1" x="747" y="-181"/>
+</g>
+
+<!-- b3&#45;&gt;c3 -->
+<g id="edge54" class="edge"><title>b3&#45;&gt;c3</title>
+<path fill="none" stroke="green" d="M852.158,-223.614 L  818,-177"/>
+<use transform="rotate(30, 818,-177)" xlink:href="#DownArrowColor1" x="811" y="-181"/>
+</g>
+
+<!-- c1 -->
+<g id="node60" class="node"><title>c1</title>
+<use xlink:href="#ArbiterLevel1" x="239" y="-179"/>
+<text text-anchor="middle" x="289" y="-146" font-family="Times,serif" font-size="12.00">Company1</text>
+</g>
+
+<!-- b4&#45;&gt;c1 -->
+<g id="edge55" class="edge"><title>b4&#45;&gt;c1</title>
+<path fill="none" stroke="green" d="M142.815,-223.824C168.036,-210.207 203.523,-191.049 231.23,-176.091"/>
+<polygon fill="green" stroke="green" points="233.164,-179.024 240.301,-171.193 229.839,-172.864 233.164,-179.024"/>
+</g>
+<!-- b5&#45;&gt;c1 -->
+<g id="edge56" class="edge"><title>b5&#45;&gt;c1</title>
+<path fill="none" stroke="green" d="M274,-223.614 L 274,-180"/>
+<use xlink:href="#DownArrowColor1" x="267" y="-180"/>
+</g>
+
+<!-- c2 -->
+<g id="node61" class="node"><title>c2</title>
+<use xlink:href="#ArbiterLevel1" x="443" y="-179"/>
+<text text-anchor="middle" x="493" y="-146" font-family="Times,serif" font-size="12.00">Company2</text>
+</g>
+
+<!-- b6&#45;&gt;c2 -->
+<g id="edge57" class="edge"><title>b6&#45;&gt;c2</title>
+<path fill="none" stroke="green" d="M440.039,-223.614 L 478,-176"/>
+<use transform="rotate(-40, 478,-176)" xlink:href="#DownArrowColor1" x="471" y="-180"/>
+</g>
+
+<!-- b7&#45;&gt;c2 -->
+<g id="edge58" class="edge"><title>b7&#45;&gt;c2</title>
+<path fill="none" stroke="green" d="M545.961,-223.614 L 523,-178"/>
+<use transform="rotate(30, 523,-176)" xlink:href="#DownArrowColor1" x="515" y="-180"/>
+</g>
+
+<!-- o1 -->
+<g id="node62" class="node"><title>o1</title>
+<ellipse fill="#80c0f0" stroke="black" cx="493" cy="-40" rx="36" ry="36"/>
+<ellipse fill="none" stroke="black" cx="493" cy="-40" rx="40" ry="40"/>
+<text text-anchor="middle" x="493" y="-36.9" font-family="Times,serif" font-size="12.00">xgbe1</text>
+</g>
+
+<!-- c3&#45;&gt;o1 -->
+<g id="edge59" class="edge"><title>c3&#45;&gt;o1</title>
+<path fill="none" stroke="black" d="M752.014,-133.24 L 540.051,-57.8586"/>
+<polygon fill="black" stroke="black" points="541.222,-54.5604 530.627,-54.4821 538.861,-61.1502 541.222,-54.5604"/>
+</g>
+
+<!-- c1&#45;&gt;o1 -->
+<g id="edge60" class="edge"><title>c1&#45;&gt;o1</title>
+<path fill="none" stroke="black" d="M319.91,-127.94C357.719,-108.949 411.009,-82.1826 448.443,-63.38"/>
+<polygon fill="black" stroke="black" points="450.235,-66.397 457.6,-58.7808 447.093,-60.1417 450.235,-66.397"/>
+</g>
+
+<!-- c3&#45;&gt;o1 -->
+<g id="edge61" class="edge"><title>c3&#45;&gt;o1</title>
+<path fill="none" stroke="black" d="M493,-125 L 493,-90.616"/>
+<polygon fill="black" stroke="black" points="496.5,-90.3557 493,-80.3557 489.5,-90.3558 496.5,-90.3557"/>
+</g>
+
+</g>
+</svg>
diff --git a/doc/images/tm_node.svg b/doc/images/tm_node.svg
new file mode 100644
index 0000000..58fe2bb
--- /dev/null
+++ b/doc/images/tm_node.svg
@@ -0,0 +1,1178 @@ 
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="765"
+   height="990"
+   viewBox="320 155 425.98732 552.68812"
+   id="svg3293"
+   version="1.1"
+   inkscape:version="0.48.2 r9819">
+  <metadata
+     id="metadata3599">
+    <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs3597">
+    <font
+       horiz-adv-x="1024"
+       id="font46307"
+       inkscape:label="font 1"
+       horiz-origin-x="0"
+       horiz-origin-y="0"
+       vert-origin-x="45"
+       vert-origin-y="90"
+       vert-adv-y="90">
+      <font-face
+         units-per-em="1024"
+         id="font-face46309"
+         font-family="SVGFont 1" />
+      <missing-glyph
+         d="M0,0h1000v1024h-1000z"
+         id="missing-glyph46311" />
+    </font>
+    <font
+       horiz-adv-x="1024"
+       id="font46313"
+       inkscape:label="font 2"
+       horiz-origin-x="0"
+       horiz-origin-y="0"
+       vert-origin-x="45"
+       vert-origin-y="90"
+       vert-adv-y="90">
+      <font-face
+         units-per-em="1024"
+         id="font-face46315"
+         font-family="SVGFont 2" />
+      <missing-glyph
+         d="M0,0h1000v1024h-1000z"
+         id="missing-glyph46317" />
+    </font>
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1178"
+     inkscape:window-height="965"
+     id="namedview3595"
+     showgrid="false"
+     fit-margin-top="1.6"
+     fit-margin-left="1"
+     fit-margin-right="1"
+     fit-margin-bottom="1"
+     units="in"
+     showborder="true"
+     inkscape:zoom="0.78398474"
+     inkscape:cx="382.52479"
+     inkscape:cy="496.87739"
+     inkscape:window-x="210"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg3293"
+     borderlayer="false" />
+  <path
+     style="fill:#f0e9ef;fill-opacity:1;stroke:#000000;stroke-width:1.7864666;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 353.0075,287.90468 360,0 -40,349.6 -280,0 z"
+     id="path46246"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccccc" />
+  <g
+     id="g3295"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="618.62598"
+       y1="452.25"
+       x2="618.62598"
+       y2="452.25"
+       id="line3297" />
+    <polygon
+       style="fill:#000000"
+       points="608.626,457.25 611.126,452.25 608.626,447.25 618.626,452.25 "
+       id="polygon3299" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="608.626,457.25 611.126,452.25 608.626,447.25 618.626,452.25 "
+       id="polygon3301" />
+  </g>
+  <g
+     id="g3303"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="618.62598"
+       y1="452.25"
+       x2="618.62598"
+       y2="452.25"
+       id="line3305" />
+    <polygon
+       style="fill:#000000"
+       points="608.626,457.25 611.126,452.25 608.626,447.25 618.626,452.25 "
+       id="polygon3307" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="608.626,457.25 611.126,452.25 608.626,447.25 618.626,452.25 "
+       id="polygon3309" />
+  </g>
+  <g
+     id="g3311"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="618.62598"
+       y1="452.25"
+       x2="618.62598"
+       y2="452.25"
+       id="line3313" />
+    <polygon
+       style="fill:#000000"
+       points="608.626,457.25 611.126,452.25 608.626,447.25 618.626,452.25 "
+       id="polygon3315" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="608.626,457.25 611.126,452.25 608.626,447.25 618.626,452.25 "
+       id="polygon3317" />
+  </g>
+  <g
+     id="g3319"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="618.62598"
+       y1="452.25"
+       x2="618.62598"
+       y2="452.25"
+       id="line3321" />
+    <polygon
+       style="fill:#000000"
+       points="608.626,457.25 611.126,452.25 608.626,447.25 618.626,452.25 "
+       id="polygon3323" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="608.626,457.25 611.126,452.25 608.626,447.25 618.626,452.25 "
+       id="polygon3325" />
+  </g>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3327">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3329" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3331">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3333" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3335">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3337" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3339">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3341" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3343">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3345" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3347">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3349" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3351">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3353" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3355">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3357" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="542.30371"
+     y="478.4895"
+     id="text3359">
+    <tspan
+       x="542.30371"
+       y="478.4895"
+       id="tspan3361" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="488.75369"
+     y="461.9895"
+     id="text3363">
+    <tspan
+       x="488.75369"
+       y="461.9895"
+       id="tspan3365" />
+  </text>
+  <text
+     font-size="12.7998"
+     style="font-size:7.67987967px;font-style:normal;font-weight:normal;text-anchor:start;fill:#000000;font-family:sans-serif"
+     x="577.55371"
+     y="443.9895"
+     id="text3367">
+    <tspan
+       x="577.55371"
+       y="443.9895"
+       id="tspan3369" />
+  </text>
+  <g
+     id="g3391"
+     transform="matrix(0.36822672,0,0,0.6,306.07498,207.13875)">
+    <ellipse
+       style="fill:#ffffff"
+       cx="619.35498"
+       cy="492.38599"
+       rx="154.5"
+       ry="46"
+       id="ellipse3393"/>
+
+    <!-- <path
+       d="m 773.85498,492.38599 c 0,25.40509 -69.17201,46 -154.5,46 -85.32799,0 -154.5,-20.59491 -154.5,-46 0,-25.4051 69.17201,-46 154.5,-46 85.32799,0 154.5,20.5949 154.5,46 z" /> -->
+
+    <ellipse
+       style="fill:none;stroke:#000000;stroke-width:2"
+       cx="619.35498"
+       cy="492.38599"
+       rx="154.5"
+       ry="46"
+       id="ellipse3395" />
+
+    <!-- <path
+       d="m 773.85498,492.38599 c 0,25.40509 -69.17201,46 -154.5,46 -85.32799,0 -154.5,-20.59491 -154.5,-46 0,-25.4051 69.17201,-46 154.5,-46 85.32799,0 154.5,20.5949 154.5,46 z" /> -->
+
+  </g>
+  <g
+     id="g3397"
+     transform="matrix(1.2836753,0,0,0.71637906,-268.40447,153.70656)">
+    <path
+       style="fill:#ffffff"
+       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575 -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575 z"
+       id="path3399"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2"
+       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575 -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575"
+       id="path3401"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.2"
+       d="m 624.31,653.825 c 31.831,0 31.831,-47.745 31.831,-79.575 -15.915,0 -47.746,0 -63.661,0 0,31.83 0,79.575 31.83,79.575"
+       id="path3403"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     id="g3405"
+     transform="matrix(0.6,0,0,0.33664343,158.3969,402.52795)"
+     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">
+    <line
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
+       x1="624.31"
+       y1="653.82501"
+       x2="624.35199"
+       y2="775.586"
+       id="line3407" />
+    <polygon
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       points="624.355,783.086 619.351,773.088 624.352,775.586 629.351,773.084 "
+       id="polygon3409" />
+    <polygon
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
+       points="624.355,783.086 619.351,773.088 624.352,775.586 629.351,773.084 "
+       id="polygon3411" />
+  </g>
+  <g
+     id="g3413"
+     transform="matrix(0.6,0,0,1.0385789,160.4258,-29.14563)"
+     style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1">
+    <line
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
+       x1="620.72998"
+       y1="538.75"
+       x2="620.99701"
+       y2="562.79102"
+       id="line3415" />
+    <polygon
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"
+       points="621.08,570.291 615.97,560.347 620.997,562.791 625.969,560.236 "
+       id="polygon3417" />
+    <polygon
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
+       points="621.08,570.291 615.97,560.347 620.997,562.791 625.969,560.236 "
+       id="polygon3419" />
+  </g>
+  <text
+     font-size="12.7998"
+     style="font-size:10.71879959px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;font-family:Sans;-inkscape-font-specification:Sans"
+     x="515.39581"
+     y="505.40701"
+     id="text3421"
+     sodipodi:linespacing="125%">
+    <tspan
+       x="515.39581"
+       y="505.40701"
+       id="tspan3423"
+       style="font-size:10.71879959px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans">Shaper</tspan>
+  </text>
+  <g
+     id="g3435"
+     transform="matrix(0.68275674,0,-0.0185135,0.47151591,121.83991,265.95426)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2.19180131"
+       x1="612.85498"
+       y1="399.51315"
+       x2="613.99902"
+       y2="437.06961"
+       id="line3437" />
+    <polygon
+       style="fill:#000000"
+       points="618.905,430.975 614.274,441.152 608.911,431.341 613.999,433.657 "
+       id="polygon3439" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="618.905,430.975 614.274,441.152 608.911,431.341 613.999,433.657 "
+       id="polygon3441" />
+  </g>
+  <g
+     id="g3483"
+     transform="matrix(0.46064658,0,0,0.67930938,233.06856,182.00415)">
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2"
+       d="m 428.855,330.386 c 34.5,37 112.5,60 151.924,52.759"
+       id="path3485"
+       inkscape:connector-curvature="0" />
+    <polygon
+       style="fill:#000000"
+       points="580.779,383.145 577.417,378.679 588.156,381.79 579.224,388.514 "
+       id="polygon3487" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="580.779,383.145 577.417,378.679 588.156,381.79 579.224,388.514 "
+       id="polygon3489" />
+  </g>
+  <g
+     id="g3491"
+     transform="matrix(0.54809168,0,0,0.74784284,211.99528,158.68288)">
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2"
+       d="m 788.355,329.386 c -42,31 -103,54 -143.271,52.389"
+       id="path3493"
+       inkscape:connector-curvature="0" />
+    <polygon
+       style="fill:#000000"
+       points="647.382,386.871 637.59,381.475 647.781,376.879 645.084,381.775 "
+       id="polygon3495" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="647.382,386.871 637.59,381.475 647.781,376.879 645.084,381.775 "
+       id="polygon3497" />
+  </g>
+  <g
+     id="g3499"
+     transform="matrix(0.41682002,0,0,0.63577084,271.70535,195.4459)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="545.85498"
+       y1="329.38599"
+       x2="589.07098"
+       y2="360.811"
+       id="line3501" />
+    <polygon
+       style="fill:#000000"
+       points="595.137,365.222 584.109,363.385 589.071,360.811 589.99,355.297 "
+       id="polygon3503" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="595.137,365.222 584.109,363.385 589.071,360.811 589.99,355.297 "
+       id="polygon3505" />
+  </g>
+  <g
+     id="g3507"
+     transform="matrix(0.7502618,0,0,0.69104314,70.399378,177.15041)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="669.35498"
+       y1="330.38599"
+       x2="638.61102"
+       y2="357.89401"
+       id="line3509" />
+    <polygon
+       style="fill:#000000"
+       points="638.611,357.894 643.808,359.953 633.022,362.895 637.14,352.501 "
+       id="polygon3511" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="638.611,357.894 643.808,359.953 633.022,362.895 637.14,352.501 "
+       id="polygon3513" />
+  </g>
+  <g
+     id="g3523"
+     transform="matrix(0.6,0,0,0.6,171.12812,208.92521)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="517.98901"
+       y1="80"
+       x2="520.242"
+       y2="256.28699"
+       id="line3525" />
+    <polygon
+       style="fill:#000000"
+       points="525.177,253.661 520.432,263.784 515.18,253.915 520.242,256.287 "
+       id="polygon3527" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="525.177,253.661 520.432,263.784 515.18,253.915 520.242,256.287 "
+       id="polygon3529" />
+  </g>
+  <g
+     id="g3531"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="549.48901"
+       y1="80"
+       x2="546.78497"
+       y2="258.78799"
+       id="line3533" />
+    <polygon
+       style="fill:#000000"
+       points="541.864,256.137 546.785,258.788 551.859,256.442 546.557,266.285 "
+       id="polygon3535" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="541.864,256.137 546.785,258.788 551.859,256.442 546.557,266.285 "
+       id="polygon3537" />
+  </g>
+  <g
+     id="g3539"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="571.98901"
+       y1="80"
+       x2="567.47998"
+       y2="259.79599"
+       id="line3541" />
+    <polygon
+       style="fill:#000000"
+       points="562.613,257.047 567.48,259.796 572.6,257.552 567.102,267.287 "
+       id="polygon3543" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="562.613,257.047 567.48,259.796 572.6,257.552 567.102,267.287 "
+       id="polygon3545" />
+  </g>
+  <g
+     id="g3547"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="646.48901"
+       y1="80"
+       x2="642.91699"
+       y2="257.293"
+       id="line3549" />
+    <polygon
+       style="fill:#000000"
+       points="638.031,254.576 642.917,257.293 648.022,255.015 642.587,264.786 "
+       id="polygon3551" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="638.031,254.576 642.917,257.293 648.022,255.015 642.587,264.786 "
+       id="polygon3553" />
+  </g>
+  <g
+     id="g3555"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="681.48901"
+       y1="80"
+       x2="674.79797"
+       y2="256.81699"
+       id="line3557" />
+    <polygon
+       style="fill:#000000"
+       points="670.022,253.911 674.798,256.817 679.988,254.741 674.175,264.291 "
+       id="polygon3559" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="670.022,253.911 674.798,256.817 679.988,254.741 674.175,264.291 "
+       id="polygon3561" />
+  </g>
+  <g
+     id="g3563"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="706.98901"
+       y1="80"
+       x2="698.99701"
+       y2="257.836"
+       id="line3565" />
+    <polygon
+       style="fill:#000000"
+       points="694.282,254.832 698.997,257.836 704.228,255.867 698.22,265.296 "
+       id="polygon3567" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="694.282,254.832 698.997,257.836 704.228,255.867 698.22,265.296 "
+       id="polygon3569" />
+  </g>
+  <g
+     id="g3571"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="754.98901"
+       y1="80"
+       x2="763.82397"
+       y2="258.354"
+       id="line3573" />
+    <polygon
+       style="fill:#000000"
+       points="758.561,256.47 763.824,258.354 768.489,255.274 764.722,265.8 "
+       id="polygon3575" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="758.561,256.47 763.824,258.354 768.489,255.274 764.722,265.8 "
+       id="polygon3577" />
+  </g>
+  <g
+     id="g3579"
+     transform="matrix(0.6,0,0,0.6,171.12812,207.13875)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="793.98901"
+       y1="80"
+       x2="785.16803"
+       y2="259.85501"
+       id="line3581" />
+    <polygon
+       style="fill:#000000"
+       points="780.507,256.768 785.168,259.855 790.433,257.979 784.26,267.3 "
+       id="polygon3583" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="780.507,256.768 785.168,259.855 790.433,257.979 784.26,267.3 "
+       id="polygon3585" />
+  </g>
+  <g
+     id="g3587"
+     transform="matrix(0.6,0,0,0.64733675,171.12812,194.48507)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="817.48901"
+       y1="90"
+       x2="806.52002"
+       y2="259.905"
+       id="line3589" />
+    <polygon
+       style="fill:#000000"
+       points="806.52,259.905 811.851,258.222 805.341,267.312 801.975,256.65 "
+       id="polygon3591" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="806.52,259.905 811.851,258.222 805.341,267.312 801.975,256.65 "
+       id="polygon3593" />
+  </g>
+  <path
+     style="fill:#fcfffa;fill-opacity:1;stroke:#000000;stroke-width:0.8932333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 499.51125,428.12127 66.9925,0 -11.16542,26.797 -44.66166,0 z"
+     id="path46249"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ccccc" />
+  <text
+     xml:space="preserve"
+     style="font-size:8.93233299px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+     x="516.63232"
+     y="439.0816"
+     id="text46251"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan46253"
+       x="516.63232"
+       y="439.0816">priority</tspan><tspan
+       sodipodi:role="line"
+       x="516.63232"
+       y="450.24701"
+       id="tspan46255">encoder</tspan></text>
+  <g
+     id="g3523-1"
+     transform="matrix(0.60000001,0,0,0.60000001,130.12915,207.76531)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="517.98901"
+       y1="80"
+       x2="520.242"
+       y2="256.28699"
+       id="line3525-7" />
+    <polygon
+       style="fill:#000000"
+       points="515.18,253.915 520.242,256.287 525.177,253.661 520.432,263.784 "
+       id="polygon3527-4" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="515.18,253.915 520.242,256.287 525.177,253.661 520.432,263.784 "
+       id="polygon3529-0" />
+  </g>
+  <g
+     id="g3523-9"
+     transform="matrix(0.60000001,0,0,0.60000001,100.34145,207.76531)">
+    <line
+       style="fill:none;stroke:#000000;stroke-width:2"
+       x1="517.98901"
+       y1="80"
+       x2="520.242"
+       y2="256.28699"
+       id="line3525-4" />
+    <polygon
+       style="fill:#000000"
+       points="515.18,253.915 520.242,256.287 525.177,253.661 520.432,263.784 "
+       id="polygon3527-8" />
+    <polygon
+       style="fill:none;stroke:#000000;stroke-width:2"
+       points="515.18,253.915 520.242,256.287 525.177,253.661 520.432,263.784 "
+       id="polygon3529-8" />
+  </g>
+  <g
+     id="g46325"
+     transform="matrix(0.8,0,0,0.8,53.007498,95.104671)">
+    <g
+       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"
+       id="g3443">
+      <path
+         inkscape:connector-curvature="0"
+         id="path3445"
+         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0 -12.429,-30.5 12.429,-30.5 z"
+         style="fill:#ffffff" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3447"
+         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0 -12.429,-30.5 12.429,-30.5"
+         style="fill:none;stroke:#000000;stroke-width:2" />
+      <text
+         id="text3449"
+         y="304.88599"
+         x="428.85501"
+         style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"
+         font-size="12.7998">
+        <tspan
+           id="tspan3451"
+           y="304.88599"
+           x="428.85501" />
+      </text>
+    </g>
+    <text
+       id="text3519"
+       y="361.48743"
+       x="457.09674"
+       style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"
+       font-size="12.7998">
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan3521"
+         y="361.48743"
+         x="457.09674">WFQ</tspan>
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan46297"
+         y="361.48743"
+         x="457.09674" />
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan46305"
+         y="361.48743"
+         x="457.09674" />
+      <tspan
+         id="tspan46319"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         y="361.48743"
+         x="457.09674" />
+    </text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text46321"
+       y="376.47391"
+       x="447.76807"
+       style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="376.47391"
+         x="447.76807"
+         id="tspan46323"
+         sodipodi:role="line">priority 0</tspan></text>
+  </g>
+  <g
+     transform="matrix(0.8,0,0,0.8,124.22629,95.104671)"
+     id="g46325-2">
+    <g
+       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"
+       id="g3443-4">
+      <path
+         inkscape:connector-curvature="0"
+         id="path3445-5"
+         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0 -12.429,-30.5 12.429,-30.5 z"
+         style="fill:#ffffff" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3447-5"
+         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0 -12.429,-30.5 12.429,-30.5"
+         style="fill:none;stroke:#000000;stroke-width:2" />
+      <text
+         id="text3449-1"
+         y="304.88599"
+         x="428.85501"
+         style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"
+         font-size="12.7998">
+        <tspan
+           id="tspan3451-7"
+           y="304.88599"
+           x="428.85501" />
+      </text>
+    </g>
+    <text
+       id="text3519-1"
+       y="361.48743"
+       x="457.09674"
+       style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"
+       font-size="12.7998">
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan3521-1"
+         y="361.48743"
+         x="457.09674">WFQ</tspan>
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan46297-5"
+         y="361.48743"
+         x="457.09674" />
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan46305-2"
+         y="361.48743"
+         x="457.09674" />
+      <tspan
+         id="tspan46319-7"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         y="361.48743"
+         x="457.09674" />
+    </text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text46321-6"
+       y="376.47391"
+       x="447.76807"
+       style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="376.47391"
+         x="447.76807"
+         id="tspan46323-1"
+         sodipodi:role="line">priority 1</tspan></text>
+  </g>
+  <g
+     transform="matrix(0.8,0,0,0.8,195.44508,95.104671)"
+     id="g46325-4">
+    <g
+       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"
+       id="g3443-2">
+      <path
+         inkscape:connector-curvature="0"
+         id="path3445-3"
+         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0 -12.429,-30.5 12.429,-30.5 z"
+         style="fill:#ffffff" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3447-2"
+         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0 -12.429,-30.5 12.429,-30.5"
+         style="fill:none;stroke:#000000;stroke-width:2" />
+      <text
+         id="text3449-2"
+         y="304.88599"
+         x="428.85501"
+         style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"
+         font-size="12.7998">
+        <tspan
+           id="tspan3451-1"
+           y="304.88599"
+           x="428.85501" />
+      </text>
+    </g>
+    <text
+       id="text3519-6"
+       y="361.48743"
+       x="457.09674"
+       style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"
+       font-size="12.7998">
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan3521-8"
+         y="361.48743"
+         x="457.09674">WFQ</tspan>
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan46297-57"
+         y="361.48743"
+         x="457.09674" />
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan46305-6"
+         y="361.48743"
+         x="457.09674" />
+      <tspan
+         id="tspan46319-1"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         y="361.48743"
+         x="457.09674" />
+    </text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text46321-8"
+       y="376.47391"
+       x="447.76807"
+       style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="376.47391"
+         x="447.76807"
+         id="tspan46323-9"
+         sodipodi:role="line">priority 2</tspan></text>
+  </g>
+  <g
+     transform="matrix(0.8,0,0,0.8,266.66388,95.104671)"
+     id="g46325-27">
+    <g
+       transform="matrix(0.75,0,0,0.75,147.65078,140.04258)"
+       id="g3443-9">
+      <path
+         inkscape:connector-curvature="0"
+         id="path3445-54"
+         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0 -12.429,-30.5 12.429,-30.5 z"
+         style="fill:#ffffff" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3447-3"
+         d="m 397.784,269.386 62.143,0 12.428,30.5 -12.428,30.5 -62.143,0 -12.429,-30.5 12.429,-30.5"
+         style="fill:none;stroke:#000000;stroke-width:2" />
+      <text
+         id="text3449-12"
+         y="304.88599"
+         x="428.85501"
+         style="font-size:12.79979992px;font-style:normal;font-weight:normal;text-anchor:middle;fill:#000000;font-family:sans-serif"
+         font-size="12.7998">
+        <tspan
+           id="tspan3451-3"
+           y="304.88599"
+           x="428.85501" />
+      </text>
+    </g>
+    <text
+       id="text3519-3"
+       y="361.48743"
+       x="457.09674"
+       style="font-size:9.5998497px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-anchor:start;fill:#000000;font-family:Arial;-inkscape-font-specification:Arial"
+       font-size="12.7998">
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan3521-4"
+         y="361.48743"
+         x="457.09674">WFQ</tspan>
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan46297-1"
+         y="361.48743"
+         x="457.09674" />
+      <tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         id="tspan46305-1"
+         y="361.48743"
+         x="457.09674" />
+      <tspan
+         id="tspan46319-3"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
+         y="361.48743"
+         x="457.09674" />
+    </text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text46321-87"
+       y="376.47391"
+       x="447.76807"
+       style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="376.47391"
+         x="447.76807"
+         id="tspan46323-4"
+         sodipodi:role="line">priority 3</tspan></text>
+  </g>
+  <g
+     id="g47752"
+     transform="translate(-6.6992502,-25.680463)">
+    <text
+       sodipodi:linespacing="125%"
+       id="text47149"
+       y="596.4021"
+       x="410.2587"
+       style="font-size:22.33083344px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="596.4021"
+         x="410.2587"
+         id="tspan47151"
+         sodipodi:role="line">Arbiter</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text47153"
+       y="568.61426"
+       x="401.6915"
+       style="font-size:22.33083344px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="568.61426"
+         x="401.6915"
+         id="tspan47155"
+         sodipodi:role="line">Example</tspan></text>
+  </g>
+  <g
+     id="g47678"
+     transform="translate(7.8157919,34.612792)">
+    <path
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path47161"
+       d="m 619.50693,452.08839 0,31.11649 29.63476,-0.12548 -0.12548,-30.77762"
+       style="fill:#a6f7f6;fill-opacity:1;stroke:#000000;stroke-width:1.67481244;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       transform="matrix(0.5996485,0,0,0.58354585,296.78803,141.0335)"
+       d="m 586.56837,534.1488 c 0,6.22986 -10.69475,11.28016 -23.8874,11.28016 -13.19265,0 -23.8874,-5.0503 -23.8874,-11.28016 0,-6.22986 10.69475,-11.28016 23.8874,-11.28016 13.19265,0 23.8874,5.0503 23.8874,11.28016 z"
+       sodipodi:ry="11.280161"
+       sodipodi:rx="23.8874"
+       sodipodi:cy="534.1488"
+       sodipodi:cx="562.68097"
+       id="path47159"
+       style="fill:#d78379;fill-opacity:1;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       sodipodi:type="arc" />
+  </g>
+  <rect
+     style="fill:#d7f3d0;fill-opacity:1;stroke:#000000;stroke-width:1.95772398;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     id="rect47750"
+     width="172.22704"
+     height="53.179165"
+     x="448.71371"
+     y="165.66377" />
+  <text
+     xml:space="preserve"
+     style="font-size:13.39849949px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="614.41779"
+     y="538.091"
+     id="text47672"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan47674"
+       x="614.41779"
+       y="538.091">pkt delay</tspan><tspan
+       sodipodi:role="line"
+       x="614.41779"
+       y="554.83911"
+       id="tspan47676"> storage</tspan></text>
+  <path
+     style="fill:none;stroke:#0000f7;stroke-width:1.63484418;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+     d="m 591.18645,501.73693 34.19353,0"
+     id="path47682"
+     inkscape:connector-curvature="0" />
+  <text
+     xml:space="preserve"
+     style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="503.8782"
+     y="590.54254"
+     id="text47684"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan47686"
+       x="503.8782"
+       y="590.54254">propagation</tspan><tspan
+       sodipodi:role="line"
+       x="503.8782"
+       y="604.49933"
+       id="tspan47688">    table</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="404.19299"
+     y="238.52974"
+     id="text47690"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan47692"
+       x="404.19299"
+       y="238.52974">Priority 0</tspan><tspan
+       sodipodi:role="line"
+       x="404.19299"
+       y="252.48651"
+       id="tspan47694">  Fan-in</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:10.04887486px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="459.87775"
+     y="183.29376"
+     id="text47696"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan47698"
+       x="459.87775"
+       y="183.29376"> Note that the fan-in to each WFQ</tspan><tspan
+       sodipodi:role="line"
+       x="459.87775"
+       y="195.85486"
+       id="tspan47700">function could range from several</tspan><tspan
+       sodipodi:role="line"
+       x="459.87775"
+       y="208.41595"
+       id="tspan47702">    to more than ten thousand.</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="474.75385"
+     y="238.52974"
+     id="text47690-2"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan47692-7"
+       x="474.75385"
+       y="238.52974">Priority 1</tspan><tspan
+       sodipodi:role="line"
+       x="474.75385"
+       y="252.48651"
+       id="tspan47694-7">  Fan-in</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="553.58514"
+     y="238.52974"
+     id="text47690-9"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan47692-3"
+       x="553.58514"
+       y="238.52974">Priority 2</tspan><tspan
+       sodipodi:role="line"
+       x="553.58514"
+       y="252.48651"
+       id="tspan47694-1">  Fan-in</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:11.16541672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="620.65051"
+     y="238.52974"
+     id="text47690-98"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan47692-6"
+       x="620.65051"
+       y="238.52974">Priority 3</tspan><tspan
+       sodipodi:role="line"
+       x="620.65051"
+       y="252.48651"
+       id="tspan47694-5">  Fan-in</tspan></text>
+  <text
+     xml:space="preserve"
+     style="font-size:13.39849949px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="473.90018"
+     y="676.49622"
+     id="text47758"
+     sodipodi:linespacing="125%"><tspan
+       sodipodi:role="line"
+       id="tspan47760"
+       x="473.90018"
+       y="676.49622">Arbiter output to next</tspan><tspan
+       sodipodi:role="line"
+       x="473.90018"
+       y="693.24432"
+       id="tspan47762"> arbiter or TM output</tspan></text>
+  <polygon
+     transform="matrix(0.54809168,0,0,0.74784285,242.28683,216.46556)"
+     style="fill:#0000f7;fill-opacity:1;stroke:#0000f7;stroke-width:2;stroke-opacity:1"
+     points="647.382,386.871 637.59,381.475 647.781,376.879 645.084,381.775 "
+     id="polygon3497-2"
+     inkscape:transform-center-x="599.50146"
+     inkscape:transform-center-y="-530.62257" />
+  <polygon
+     transform="matrix(-0.54809168,0,0,-0.74784285,975.33153,787.2)"
+     style="fill:#0000f7;fill-opacity:1;stroke:#0000f7;stroke-width:2;stroke-opacity:1"
+     points="647.781,376.879 645.084,381.775 647.382,386.871 637.59,381.475 "
+     id="polygon3497-8"
+     inkscape:transform-center-x="-625.01224"
+     inkscape:transform-center-y="488.52994" />
+</svg>