summaryrefslogtreecommitdiffstats
path: root/src/seastar/dpdk/doc/guides/prog_guide/img
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 18:24:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 18:24:20 +0000
commit483eb2f56657e8e7f419ab1a4fab8dce9ade8609 (patch)
treee5d88d25d870d5dedacb6bbdbe2a966086a0a5cf /src/seastar/dpdk/doc/guides/prog_guide/img
parentInitial commit. (diff)
downloadceph-upstream.tar.xz
ceph-upstream.zip
Adding upstream version 14.2.21.upstream/14.2.21upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/seastar/dpdk/doc/guides/prog_guide/img')
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/architecture-overview.svg1011
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/blk_diag_dropper.pngbin0 -> 55303 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-0.svg672
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-1.svg758
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-2.svg736
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-3.svg736
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-4.svg818
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-5.svg676
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/bond-overview.svg155
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/crypto_op.svg75
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/crypto_xform_chain.svg145
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/cryptodev_sym_sess.svg66
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/data_struct_per_port.pngbin0 -> 58769 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_eq3.pngbin0 -> 3205 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_eq4.pngbin0 -> 2737 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_graph.pngbin0 -> 62349 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i1.svg130
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i10.svg384
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i11.svg319
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i12.svg1008
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i2.svg280
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i3.svg634
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i4.svg203
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i5.svg183
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i6.svg1254
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i7.svg790
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i8.svg182
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/efd_i9.svg390
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/eq2_expression.pngbin0 -> 1614 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/eq2_factor.pngbin0 -> 995 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ewma_filter_eq_1.pngbin0 -> 840 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ewma_filter_eq_2.pngbin0 -> 1462 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ex_data_flow_tru_dropper.pngbin0 -> 32578 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/figure32.pngbin0 -> 11603 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/figure33.pngbin0 -> 65216 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/figure34.pngbin0 -> 11581 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/figure35.pngbin0 -> 75012 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/figure37.pngbin0 -> 6934 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/figure38.pngbin0 -> 7372 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/figure39.pngbin0 -> 55986 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/flow_tru_droppper.pngbin0 -> 30870 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/hier_sched_blk.pngbin0 -> 36328 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/kernel_nic_intf.pngbin0 -> 185839 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/kni_traffic_flow.pngbin0 -> 366308 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/linuxapp_launch.svg762
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/m_definition.pngbin0 -> 1261 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/malloc_heap.svg1052
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/mbuf1.svg582
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/mbuf2.svg1262
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/memory-management.svg2164
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/memory-management2.svg2301
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/mempool.svg2434
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/multi_process_memory.svg525
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/packet_distributor1.pngbin0 -> 99482 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/packet_distributor2.pngbin0 -> 102867 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/pipe_prefetch_sm.pngbin0 -> 71898 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/pkt_drop_probability.pngbin0 -> 46368 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/pkt_flow_kni.pngbin0 -> 51088 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/pkt_proc_pipeline_qos.pngbin0 -> 93198 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/prefetch_pipeline.pngbin0 -> 56358 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue1.svg690
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue2.svg653
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue3.svg648
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue1.svg599
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue2.svg643
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue3.svg638
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-modulo1.svg807
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-modulo2.svg851
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue1.svg738
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue2.svg779
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue3.svg816
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue4.svg816
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue5.svg724
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/ring1.svg386
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/sched_hier_per_port.pngbin0 -> 58973 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/tbl24_tbl8.pngbin0 -> 95193 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/tbl24_tbl8_tbl8.pngbin0 -> 114003 bytes
-rw-r--r--src/seastar/dpdk/doc/guides/prog_guide/img/vhost_net_arch.pngbin0 -> 251431 bytes
78 files changed, 32475 insertions, 0 deletions
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/architecture-overview.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/architecture-overview.svg
new file mode 100644
index 00000000..c0f85bf2
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/architecture-overview.svg
@@ -0,0 +1,1011 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="635.30798"
+ height="570.86243"
+ id="svg14043"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="architecture-overview.svg"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/architecture.png"
+ inkscape:export-xdpi="176.10001"
+ inkscape:export-ydpi="176.10001">
+ <defs
+ id="defs14045">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4058"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path4437"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path14797"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective14051" />
+ <inkscape:perspective
+ id="perspective14061"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective14096"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective14096-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective14096-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective14096-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective14096-26"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective14176"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective14204"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15450"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15488"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15547"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15591"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15666"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15741"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15811"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15833"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15833-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15833-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15833-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15833-09"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective15833-80"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3331"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3353"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3147"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-4"
+ style="overflow:visible">
+ <path
+ id="path14797-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3147-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-5"
+ style="overflow:visible">
+ <path
+ id="path14797-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3147-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-0"
+ style="overflow:visible">
+ <path
+ id="path14797-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4712"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-5"
+ style="overflow:visible">
+ <path
+ id="path4437-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4768"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-9"
+ style="overflow:visible">
+ <path
+ id="path4437-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3098"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3123"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3148"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="350.05313"
+ inkscape:cy="253.33451"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1116"
+ inkscape:window-height="1059"
+ inkscape:window-x="502"
+ inkscape:window-y="5"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata14048">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-13.525282,-9.9128498)">
+ <rect
+ style="fill:#000000;fill-opacity:0.10041839;stroke:none"
+ id="rect15785-3"
+ width="206.63405"
+ height="186.88545"
+ x="13.625282"
+ y="355.8284"
+ rx="25.958084"
+ ry="32.630138"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504" />
+ <rect
+ style="fill:#000000;fill-opacity:0.10041839;stroke:none"
+ id="rect15785"
+ width="190.11443"
+ height="227.2632"
+ x="242.76669"
+ y="353.41208"
+ rx="25.958084"
+ ry="32.630138"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504" />
+ <rect
+ style="fill:#000000;fill-opacity:0.10041839;stroke:none"
+ id="rect15785-1"
+ width="188.80969"
+ height="271.01321"
+ x="243.41907"
+ y="76.721405"
+ rx="25.958084"
+ ry="32.630138"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504" />
+ <rect
+ style="fill:#000000;fill-opacity:0.10041839;stroke:none"
+ id="rect15785-1-3"
+ width="186.89807"
+ height="171.30821"
+ x="23.493267"
+ y="152.36273"
+ rx="25.958084"
+ ry="32.630138"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504" />
+ <rect
+ style="fill:#000000;fill-opacity:0.10041839;stroke:none"
+ id="rect15785-1-4"
+ width="194.58926"
+ height="169.67664"
+ x="454.14401"
+ y="10.01285"
+ rx="25.958084"
+ ry="32.630138"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504" />
+ <rect
+ style="fill:#000000;fill-opacity:0.10041839;stroke:none"
+ id="rect15785-1-5"
+ width="193.38757"
+ height="203.93829"
+ x="454.74484"
+ y="199.21135"
+ rx="25.958084"
+ ry="32.630138"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504" />
+ <rect
+ style="fill:#000000;fill-opacity:0.10041839;stroke:none"
+ id="rect15785-1-2-0"
+ width="185.60017"
+ height="137.04657"
+ x="458.63852"
+ y="432.4848"
+ rx="25.958084"
+ ry="32.630138"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504" />
+ <g
+ id="g14229"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="matrix(1.2848591,0,0,1.6151089,-288.29741,-857.02037)">
+ <rect
+ ry="7.0710678"
+ rx="8.586297"
+ y="756.77777"
+ x="252.9953"
+ height="44.501003"
+ width="124.80181"
+ id="rect2837-4-06-5"
+ style="fill:#c3c4ff;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <text
+ id="text14084"
+ y="781.64789"
+ x="285.35715"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="781.64789"
+ x="285.35715"
+ id="tspan14086"
+ sodipodi:role="line">rte_malloc</tspan></text>
+ </g>
+ <g
+ id="g14234"
+ transform="matrix(1.2848591,0,0,1.6151089,-66.98918,-730.50352)"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504">
+ <rect
+ ry="7.0710678"
+ rx="8.586297"
+ y="678.20636"
+ x="252.66327"
+ height="44.501003"
+ width="124.80181"
+ id="rect2837-4-06-5-3"
+ style="fill:#c3c4ff;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <text
+ id="text14084-0"
+ y="703.07648"
+ x="283.86636"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="703.07648"
+ x="283.86636"
+ id="tspan14086-7"
+ sodipodi:role="line">rte_eal + libc</tspan></text>
+ </g>
+ <g
+ id="g14239"
+ transform="matrix(1.2848591,0,0,1.6151089,165.66317,-754.1564)"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504">
+ <rect
+ ry="7.0710678"
+ rx="8.586297"
+ y="600.34924"
+ x="237.84637"
+ height="44.501003"
+ width="124.80181"
+ id="rect2837-4-06-5-6"
+ style="fill:#c3c4ff;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <text
+ id="text14084-8"
+ y="625.21936"
+ x="275.35715"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="625.21936"
+ x="275.35715"
+ id="tspan14086-8"
+ sodipodi:role="line">rte_ring</tspan></text>
+ </g>
+ <g
+ id="g14254"
+ transform="matrix(1.2848591,0,0,1.6151089,-388.59024,-722.81247)"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504">
+ <rect
+ ry="7.0710678"
+ rx="8.586297"
+ y="588.20636"
+ x="502.9639"
+ height="44.501003"
+ width="124.80181"
+ id="rect2837-4-06-5-31"
+ style="fill:#c3c4ff;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <text
+ id="text14084-4"
+ y="613.07648"
+ x="526.78571"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="613.07648"
+ x="526.78571"
+ id="tspan14086-9"
+ sodipodi:role="line">rte_mempool</tspan></text>
+ </g>
+ <g
+ id="g14244"
+ transform="matrix(1.2848591,0,0,1.6151089,160.86376,-719.73612)"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504">
+ <rect
+ ry="7.0710678"
+ rx="8.586297"
+ y="501.06354"
+ x="241.58173"
+ height="44.501003"
+ width="124.80181"
+ id="rect2837-4-06-5-0"
+ style="fill:#c3c4ff;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <text
+ id="text14084-6"
+ y="525.93365"
+ x="275.35715"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="525.93365"
+ x="275.35715"
+ id="tspan14086-89"
+ sodipodi:role="line">rte_mbuf</tspan></text>
+ </g>
+ <g
+ id="g15423"
+ transform="matrix(1.2848591,0,0,1.6151089,-52.842661,-589.8906)"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504">
+ <rect
+ ry="7.0710678"
+ rx="8.586297"
+ y="510.82596"
+ x="69.741951"
+ height="44.501003"
+ width="124.80181"
+ id="rect2837-4-06-5-0-0-7"
+ style="fill:#c3c4ff;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <text
+ id="text14084-6-4-1"
+ y="535.69611"
+ x="103.23904"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="535.69611"
+ x="103.23904"
+ id="tspan14086-89-8-7"
+ sodipodi:role="line">rte_timer</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.44055104px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:none"
+ d="m 257.64752,400.95017 -60.52887,0.10538"
+ id="path14259"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g14234"
+ inkscape:connection-end="#g14229"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.44055104px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="M 500.0555,287.34697 389.20701,364.87361"
+ id="path14261"
+ inkscape:connector-type="polyline"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ inkscape:connection-end="#g14234"
+ inkscape:connection-start="#g14239"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.44024909;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart-9);marker-end:none"
+ d="M 469.93838,257.33479 418.9627,257.1672"
+ id="path14263"
+ inkscape:connector-type="polyline"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.44024909;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart-9);marker-end:url(#Arrow1Mend)"
+ d="m 337.82388,299.07882 1e-5,65.79479"
+ id="path14265"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g14254"
+ inkscape:connection-end="#g14234"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.44055104px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 51.331468,66.475997 58.736412,0"
+ id="path15233"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="62.267147"
+ y="84.593857"
+ id="text15419"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ id="tspan15421"
+ x="62.267147"
+ y="84.593857">X uses Y</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="56.602165"
+ y="417.21744"
+ id="text15436"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ id="tspan15438"
+ x="56.602165"
+ y="417.21744">Allocation of named</tspan><tspan
+ sodipodi:role="line"
+ x="56.602165"
+ y="435.22433"
+ id="tspan15440">memory zones using</tspan><tspan
+ sodipodi:role="line"
+ x="56.602165"
+ y="453.2312"
+ id="tspan3464">libc's malloc()</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="278.89865"
+ y="419.93082"
+ id="text15436-2"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ x="278.89865"
+ y="419.93082"
+ id="tspan3092">Environment abstraction</tspan><tspan
+ sodipodi:role="line"
+ x="278.89865"
+ y="437.93771"
+ id="tspan3129">layer: RTE loading, memory</tspan><tspan
+ sodipodi:role="line"
+ x="278.89865"
+ y="455.94458"
+ id="tspan3096">allocation, time reference,</tspan><tspan
+ sodipodi:role="line"
+ x="278.89865"
+ y="473.95148"
+ id="tspan3102">PCI access, logging</tspan><tspan
+ sodipodi:role="line"
+ x="278.89865"
+ y="491.95837"
+ id="tspan3104" /></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="49.941029"
+ y="158.51849"
+ id="text15436-2-2"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ x="49.941029"
+ y="158.51849"
+ id="tspan15537">Timer facilities. Based</tspan><tspan
+ sodipodi:role="line"
+ x="49.941029"
+ y="176.52538"
+ id="tspan3238">on HPET interface that</tspan><tspan
+ sodipodi:role="line"
+ x="49.941029"
+ y="194.53227"
+ id="tspan3240">is provided by EAL.</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="288.36832"
+ y="101.2496"
+ id="text15436-2-2-5"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ x="288.36832"
+ y="101.2496"
+ id="tspan15537-9">Handle a pool of objects</tspan><tspan
+ sodipodi:role="line"
+ x="288.36832"
+ y="119.25649"
+ id="tspan15575">using a ring to store</tspan><tspan
+ sodipodi:role="line"
+ x="288.36832"
+ y="137.26338"
+ id="tspan15581">them. Allow bulk</tspan><tspan
+ sodipodi:role="line"
+ x="288.36832"
+ y="155.27026"
+ id="tspan15775">enqueue/dequeue and</tspan><tspan
+ sodipodi:role="line"
+ x="288.36832"
+ y="173.27716"
+ id="tspan15781">per-CPU cache.</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="534.00629"
+ y="297.33395"
+ id="text15436-2-2-5-0"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ x="534.00629"
+ y="297.33395"
+ id="tspan15581-1">Fixed-size lockless </tspan><tspan
+ sodipodi:role="line"
+ x="534.00629"
+ y="315.34085"
+ id="tspan15634">FIFO for storing objects</tspan><tspan
+ sodipodi:role="line"
+ x="534.00629"
+ y="333.34772"
+ id="tspan15656">in a table.</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="529.16345"
+ y="33.516106"
+ id="text15436-2-2-5-0-1"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ x="529.16345"
+ y="33.516106"
+ id="tspan15719">Manipulation of packet</tspan><tspan
+ sodipodi:role="line"
+ x="529.16345"
+ y="51.522995"
+ id="tspan15727">buffers carrying network</tspan><tspan
+ sodipodi:role="line"
+ x="529.16345"
+ y="69.529877"
+ id="tspan3246">data.</tspan></text>
+ <rect
+ style="fill:#c3c4ff;fill-opacity:1;stroke:#000000;stroke-width:1.44055104;stroke-opacity:1"
+ id="rect2837-4-06-5-0-0-9"
+ width="160.35275"
+ height="71.873962"
+ x="471.26224"
+ y="445.24567"
+ rx="11.032183"
+ ry="11.420545"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504" />
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="581.71051"
+ y="432.95102"
+ id="text14084-6-4-4"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ id="tspan14086-89-8-78"
+ x="581.71051"
+ y="432.95102">rte_debug</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="533.41541"
+ y="480.62653"
+ id="text15432-4"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ id="tspan15434-5"
+ x="533.41541"
+ y="480.62653">Provides debug helpers</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.44055104px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend);display:inline"
+ d="M 472.46111,451.46754 416.80139,430.5257"
+ id="path14261-1"
+ inkscape:connector-type="polyline"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ inkscape:connection-start="#rect2837-4-06-5-0-0-9"
+ inkscape:connection-end="#g14234"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot3225"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ transform="matrix(1.066935,0,0,1.3411713,-43.506194,-197.99784)"><flowRegion
+ id="flowRegion3227"><rect
+ id="rect3229"
+ width="7.1428571"
+ height="12.857142"
+ x="157.14285"
+ y="171.6479" /></flowRegion><flowPara
+ id="flowPara3231" /></flowRoot> <path
+ style="fill:none;stroke:#000000;stroke-width:1.44055104px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:none;display:inline"
+ d="M 276.63415,364.87361 178.13203,307.02292"
+ id="path14259-4"
+ inkscape:connector-type="polyline"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ inkscape:connection-end="#g15423"
+ inkscape:connection-start="#g14234"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.44055104px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:none;display:inline"
+ d="m 393.58574,227.20486 102.091,-65.79483"
+ id="path14259-4-7"
+ inkscape:connector-type="polyline"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ inkscape:connection-end="#g14244"
+ inkscape:connection-start="#g14254"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="41.768562"
+ y="63.652237"
+ id="text15419-1"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ id="tspan15421-7"
+ x="41.768562"
+ y="63.652237">X</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14.40550995px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="134.9883"
+ y="62.797791"
+ id="text15419-9"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture.png"
+ inkscape:export-xdpi="300.7504"
+ inkscape:export-ydpi="300.7504"
+ transform="scale(0.89192198,1.1211743)"><tspan
+ sodipodi:role="line"
+ id="tspan15421-4"
+ x="134.9883"
+ y="62.797791">Y</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/blk_diag_dropper.png b/src/seastar/dpdk/doc/guides/prog_guide/img/blk_diag_dropper.png
new file mode 100644
index 00000000..d2ef8fe6
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/blk_diag_dropper.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-0.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-0.svg
new file mode 100644
index 00000000..e9742c77
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-0.svg
@@ -0,0 +1,672 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+# BSD LICENSE
+#
+# Copyright(c) 2014 Intel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!-- Generated by Microsoft Visio, SVG Export link bonding - mode 0.svg Page-4 -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="332.15576"
+ height="334.46951"
+ viewBox="0 0 265.725 267.57566"
+ xml:space="preserve"
+ color-interpolation-filters="sRGB"
+ class="st16"
+ id="svg3406"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="bond-mode-0.svg"
+ style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"><metadata
+ id="metadata3652"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1056"
+ id="namedview3650"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="1.1907084"
+ inkscape:cx="509.87351"
+ inkscape:cy="57.377583"
+ inkscape:window-x="0"
+ inkscape:window-y="29"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg3406" /><style
+ type="text/css"
+ id="style3408">
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st3 {fill:#4f87bb;stroke:#40709c;stroke-width:0.75}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75}
+ .st6 {fill:#4f87bb;font-family:Calibri;font-size:0.833336em}
+ .st7 {fill:#759fcc;fill-opacity:0.25;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.25}
+ .st8 {fill:#668bb3;stroke:#547395;stroke-width:0.75}
+ .st9 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st10 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st11 {fill:#759fcc;fill-opacity:0.22;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.22}
+ .st12 {fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25}
+ .st13 {fill:url(#grad0-40);stroke:#a6b6cd;stroke-width:0.75}
+ .st14 {fill:#70ad47;fill-opacity:0.25;filter:url(#filter_2);stroke:#70ad47;stroke-opacity:0.25}
+ .st15 {fill:#61973d;stroke:#507e31;stroke-width:0.75}
+ .st16 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ </style><defs
+ id="Patterns_And_Gradients"><linearGradient
+ id="grad0-11"
+ x1="-0.24584444"
+ y1="740.8343"
+ x2="167.49742"
+ y2="740.8343"
+ gradientTransform="scale(1.5253548,0.65558519)"
+ gradientUnits="userSpaceOnUse"><stop
+ offset="0"
+ stop-color="#e9eff7"
+ stop-opacity="1"
+ id="stop3412" /><stop
+ offset="0.24"
+ stop-color="#f4f7fb"
+ stop-opacity="1"
+ id="stop3414" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop3416" /></linearGradient><linearGradient
+ id="grad0-40"
+ x1="0"
+ y1="0"
+ x2="1"
+ y2="0"
+ gradientTransform="matrix(0.5,0.8660254,-0.8660254,0.5,0.6830127,-0.1830127)"><stop
+ offset="0"
+ stop-color="#f3f6fa"
+ stop-opacity="1"
+ id="stop3419" /><stop
+ offset="0.24"
+ stop-color="#f9fafc"
+ stop-opacity="1"
+ id="stop3421" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop3423" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient3654"
+ gradientTransform="scale(2.9084098,0.3438305)"
+ x1="-0.12893644"
+ y1="1717.1688"
+ x2="28.140807"
+ y2="1717.1688"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient3656"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient3658"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient3660"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient3662"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /></defs><defs
+ id="Filters"><filter
+ id="filter_2"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ stdDeviation="2"
+ id="feGaussianBlur3427" /></filter></defs><g
+ id="g3429"
+ transform="translate(-13.045598,-14.663414)"><title
+ id="title3431">Page-4</title><g
+ id="shape1-1"
+ transform="translate(18,-516.416)"><title
+ id="title3434">Rectangle.7</title><desc
+ id="desc3436">User Application</desc><g
+ id="shadow1-2"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st2"
+ id="rect3439"
+ style="fill:#5b9bd5;fill-opacity:0.25;stroke:#5b9bd5;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st3"
+ id="rect3441"
+ style="fill:#4f87bb;stroke:#40709c;stroke-width:0.75" /><text
+ x="94"
+ y="567.84998"
+ class="st4"
+ id="text3443"
+ style="fill:#feffff;font-family:Calibri">User Application</text>
+</g><g
+ id="group2-7"
+ transform="translate(18,-355.662)"><title
+ id="title3446">Sheet.2</title><g
+ id="shape3-8"><title
+ id="title3449">Rectangle.38</title><desc
+ id="desc3451">DPDK</desc><rect
+ x="0"
+ y="486.05499"
+ width="255.118"
+ height="109.22"
+ class="st5"
+ id="rect3453"
+ style="fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75" /><text
+ x="228.45"
+ y="499.06"
+ class="st6"
+ id="text3455"
+ style="fill:#4f87bb;font-family:Calibri">DPDK</text>
+</g><g
+ id="shape4-13"
+ transform="translate(6.87402,-7.17304)"><title
+ id="title3458">Rectangle.16</title><desc
+ id="desc3460">bonded ethdev</desc><g
+ id="shadow4-14"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st7"
+ id="rect3463"
+ style="fill:#759fcc;fill-opacity:0.25;stroke:#759fcc;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st8"
+ id="rect3465"
+ style="fill:#668bb3;stroke:#547395;stroke-width:0.75" /><text
+ x="89.650002"
+ y="536.16998"
+ class="st4"
+ id="text3467"
+ style="fill:#feffff;font-family:Calibri">bonded ethdev</text>
+</g><g
+ id="shape5-19"
+ transform="translate(13.9606,-14.1732)"><title
+ id="title3470">Rectangle.11</title><desc
+ id="desc3472">ethdev port</desc><g
+ id="shadow5-20"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st9"
+ id="rect3475"
+ style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st10"
+ id="rect3477"
+ style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text3479"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape6-25"
+ transform="translate(91.9134,-14.1732)"><title
+ id="title3482">Rectangle.14</title><desc
+ id="desc3484">ethdev port</desc><g
+ id="shadow6-26"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect3487"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect3489"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text3491"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape7-31"
+ transform="translate(169.866,-14.1732)"><title
+ id="title3494">Rectangle.15</title><desc
+ id="desc3496">ethdev port</desc><g
+ id="shadow7-32"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect3499"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect3501"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text3503"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g></g><g
+ id="shape8-37"
+ transform="matrix(0.00130551,-0.99999915,0.99999915,0.00130551,-449.822,159.557)"><title
+ id="title3506">Simple Double Arrow.14</title><path
+ d="m 0,595.28 11.34,-4.49 0,2.24 58.8,0 0,-2.24 11.33,4.49 -11.33,4.48 0,-2.24 -58.8,0 0,2.24 L 0,595.28 z"
+ class="st13"
+ id="path3508"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3654);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape9-41"
+ transform="matrix(0.01125714,-0.99993664,0.99993664,0.01125714,-532.876,272.07)"><title
+ id="title3511">Simple Arrow</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path3513"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3656);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape10-44"
+ transform="matrix(-0.01125714,0.99993664,-0.99993664,-0.01125714,670.114,232.099)"><title
+ id="title3516">Simple Arrow.37</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path3518"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3658);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape11-47"
+ transform="matrix(0.01448398,-0.9998951,0.9998951,0.01448398,-450.646,270.634)"><title
+ id="title3521">Simple Arrow.38</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path3523"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3660);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape12-50"
+ transform="matrix(-0.01185051,-0.99992978,0.99992978,-0.01185051,-371.297,286.31)"><title
+ id="title3526">Simple Arrow.39</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path3528"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3662);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape13-53"
+ transform="translate(124.724,-436.365)"><title
+ id="title3531">Square.114</title><desc
+ id="desc3533">1</desc><g
+ id="shadow13-54"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3536"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3538"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3540"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape14-59"
+ transform="translate(124.724,-455.698)"><title
+ id="title3543">Square.115</title><desc
+ id="desc3545">2</desc><g
+ id="shadow14-60"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3548"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3550"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3552"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape15-65"
+ transform="translate(124.724,-474.406)"><title
+ id="title3555">Square.116</title><desc
+ id="desc3557">3</desc><g
+ id="shadow15-66"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3560"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3562"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3564"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g><g
+ id="shape16-71"
+ transform="translate(124.724,-493.739)"><title
+ id="title3567">Square.117</title><desc
+ id="desc3569">4</desc><g
+ id="shadow16-72"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3572"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3574"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3576"
+ style="fill:#feffff;font-family:Calibri">4</text>
+</g><g
+ id="shape17-77"
+ transform="translate(124.724,-513.071)"><title
+ id="title3579">Square.118</title><desc
+ id="desc3581">5</desc><g
+ id="shadow17-78"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3584"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3586"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3588"
+ style="fill:#feffff;font-family:Calibri">5</text>
+</g><g
+ id="shape18-83"
+ transform="translate(39.685,-320.315)"><title
+ id="title3591">Square.120</title><desc
+ id="desc3593">1</desc><g
+ id="shadow18-84"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3596"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3598"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3600"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape19-89"
+ transform="translate(119.055,-320.315)"><title
+ id="title3603">Square.121</title><desc
+ id="desc3605">2</desc><g
+ id="shadow19-90"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3608"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3610"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3612"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape20-95"
+ transform="translate(198.425,-320.315)"><title
+ id="title3615">Square.122</title><desc
+ id="desc3617">3</desc><g
+ id="shadow20-96"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3620"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3622"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3624"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g><g
+ id="shape21-101"
+ transform="translate(39.685,-338.74)"><title
+ id="title3627">Square.123</title><desc
+ id="desc3629">4</desc><g
+ id="shadow21-102"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3632"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3634"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3636"
+ style="fill:#feffff;font-family:Calibri">4</text>
+</g><g
+ id="shape22-107"
+ transform="translate(119.055,-338.74)"><title
+ id="title3639">Square.124</title><desc
+ id="desc3641">5</desc><g
+ id="shadow22-108"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect3644"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect3646"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text3648"
+ style="fill:#feffff;font-family:Calibri">5</text>
+</g></g></svg> \ No newline at end of file
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-1.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-1.svg
new file mode 100644
index 00000000..58e9eddc
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-1.svg
@@ -0,0 +1,758 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+# BSD LICENSE
+#
+# Copyright(c) 2014 Intel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!-- Generated by Microsoft Visio, SVG Export link bonding - mode 1.svg Page-4 -->
+
+<svg
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="332.147"
+ height="304.04852"
+ viewBox="0 0 265.71799 243.23887"
+ xml:space="preserve"
+ color-interpolation-filters="sRGB"
+ class="st16"
+ id="svg4008"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="bond-mode-1.svg"
+ style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"><metadata
+ id="metadata4196"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="480"
+ id="namedview4194"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="0.29932695"
+ inkscape:cx="509.87351"
+ inkscape:cy="-49.657453"
+ inkscape:window-x="0"
+ inkscape:window-y="29"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg4008" /><v:documentProperties
+ v:langID="1033"
+ v:metric="true"
+ v:viewMarkup="false"><v:userDefs><v:ud
+ v:nameU="msvSubprocessMaster"
+ v:prompt=""
+ v:val="VT4(Rectangle)" /><v:ud
+ v:nameU="msvNoAutoConnect"
+ v:val="VT0(1):26" /></v:userDefs></v:documentProperties><style
+ type="text/css"
+ id="style4010">
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st3 {fill:#4f87bb;stroke:#40709c;stroke-width:0.75}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75}
+ .st6 {fill:#4f87bb;font-family:Calibri;font-size:0.833336em}
+ .st7 {fill:#759fcc;fill-opacity:0.25;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.25}
+ .st8 {fill:#668bb3;stroke:#547395;stroke-width:0.75}
+ .st9 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st10 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st11 {fill:#bdd0e9;fill-opacity:0.22;filter:url(#filter_2);stroke:#bdd0e9;stroke-opacity:0.22}
+ .st12 {fill:#bdd0e9;stroke:#c7c8c8;stroke-width:0.25}
+ .st13 {fill:url(#grad0-40);stroke:#a6b6cd;stroke-width:0.75}
+ .st14 {fill:#70ad47;fill-opacity:0.25;filter:url(#filter_2);stroke:#70ad47;stroke-opacity:0.25}
+ .st15 {fill:#61973d;stroke:#507e31;stroke-width:0.75}
+ .st16 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ </style><defs
+ id="Patterns_And_Gradients"><linearGradient
+ id="grad0-11"
+ x1="-0.24584444"
+ y1="740.8343"
+ x2="167.49742"
+ y2="740.8343"
+ gradientTransform="scale(1.5253548,0.65558519)"
+ gradientUnits="userSpaceOnUse"><stop
+ offset="0"
+ stop-color="#e9eff7"
+ stop-opacity="1"
+ id="stop4014" /><stop
+ offset="0.24"
+ stop-color="#f4f7fb"
+ stop-opacity="1"
+ id="stop4016" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop4018" /></linearGradient><linearGradient
+ id="grad0-40"
+ x1="0"
+ y1="0"
+ x2="1"
+ y2="0"
+ gradientTransform="matrix(0.5,0.8660254,-0.8660254,0.5,0.6830127,-0.1830127)"><stop
+ offset="0"
+ stop-color="#f3f6fa"
+ stop-opacity="1"
+ id="stop4021" /><stop
+ offset="0.24"
+ stop-color="#f9fafc"
+ stop-opacity="1"
+ id="stop4023" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop4025" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient4198"
+ gradientTransform="scale(2.2585002,0.44277172)"
+ x1="-0.16603939"
+ y1="1333.4524"
+ x2="21.786582"
+ y2="1333.4524"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient4200"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient4202"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /></defs><defs
+ id="Filters"><filter
+ id="filter_2"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ stdDeviation="2"
+ id="feGaussianBlur4029" /></filter></defs><g
+ v:mID="6"
+ v:index="4"
+ v:groupContext="foregroundPage"
+ id="g4031"
+ transform="translate(-13.045598,-14.67318)"><v:userDefs><v:ud
+ v:nameU="msvThemeOrder"
+ v:val="VT0(0):26" /></v:userDefs><title
+ id="title4033">Page-4</title><v:pageProperties
+ v:drawingScale="0.0393701"
+ v:pageScale="0.0393701"
+ v:drawingUnits="24"
+ v:shadowOffsetX="8.50394"
+ v:shadowOffsetY="-8.50394" /><g
+ id="shape39-1"
+ v:mID="39"
+ v:groupContext="shape"
+ transform="translate(18,-516.416)"><title
+ id="title4036">Rectangle.40</title><desc
+ id="desc4038">User Application</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="127.559"
+ cy="564.846"
+ width="255.12"
+ height="60.8598" /><g
+ id="shadow39-2"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st2"
+ id="rect4041"
+ style="fill:#5b9bd5;fill-opacity:0.25;stroke:#5b9bd5;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st3"
+ id="rect4043"
+ style="fill:#4f87bb;stroke:#40709c;stroke-width:0.75" /><text
+ x="94"
+ y="567.84998"
+ class="st4"
+ v:langID="2057"
+ id="text4045"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />User Application</text>
+</g><g
+ id="group40-7"
+ transform="translate(18,-388.303)"
+ v:mID="40"
+ v:groupContext="group"><title
+ id="title4048">Sheet.40</title><g
+ id="shape41-8"
+ v:mID="41"
+ v:groupContext="shape"><title
+ id="title4051">Rectangle.38</title><desc
+ id="desc4053">DPDK</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197"
+ v:verticalAlign="0" /><v:textRect
+ cx="127.559"
+ cy="540.665"
+ width="255.12"
+ height="109.22" /><rect
+ x="0"
+ y="486.05499"
+ width="255.118"
+ height="109.22"
+ class="st5"
+ id="rect4055"
+ style="fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75" /><text
+ x="228.45"
+ y="499.06"
+ class="st6"
+ v:langID="2057"
+ id="text4057"
+ style="fill:#4f87bb;font-family:Calibri"><v:paragraph
+ v:horizAlign="2" /><v:tabList />DPDK</text>
+</g><g
+ id="shape42-13"
+ v:mID="42"
+ v:groupContext="shape"
+ transform="translate(6.87402,-7.17304)"><title
+ id="title4060">Rectangle.16</title><desc
+ id="desc4062">bonded ethdev</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197"
+ v:verticalAlign="0" /><v:textRect
+ cx="120.579"
+ cy="559.222"
+ width="241.16"
+ height="72.1072" /><g
+ id="shadow42-14"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st7"
+ id="rect4065"
+ style="fill:#759fcc;fill-opacity:0.25;stroke:#759fcc;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st8"
+ id="rect4067"
+ style="fill:#668bb3;stroke:#547395;stroke-width:0.75" /><text
+ x="89.650002"
+ y="536.16998"
+ class="st4"
+ v:langID="2057"
+ id="text4069"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />bonded ethdev</text>
+</g><g
+ id="shape43-19"
+ v:mID="43"
+ v:groupContext="shape"
+ transform="translate(13.9606,-14.1732)"><title
+ id="title4072">Rectangle.11</title><desc
+ id="desc4074">ethdev port</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="35.4331"
+ cy="577.516"
+ width="70.87"
+ height="35.5195" /><g
+ id="shadow43-20"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st9"
+ id="rect4077"
+ style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st10"
+ id="rect4079"
+ style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ v:langID="2057"
+ id="text4081"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />ethdev port</text>
+</g><g
+ id="shape44-25"
+ v:mID="44"
+ v:groupContext="shape"
+ transform="translate(91.9134,-14.1732)"><title
+ id="title4084">Rectangle.14</title><desc
+ id="desc4086">ethdev port</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="35.4331"
+ cy="577.516"
+ width="70.87"
+ height="35.5195" /><g
+ id="shadow44-26"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect4089"
+ style="fill:#bdd0e9;fill-opacity:0.22000002;stroke:#bdd0e9;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect4091"
+ style="fill:#bdd0e9;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ v:langID="2057"
+ id="text4093"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />ethdev port</text>
+</g><g
+ id="shape45-31"
+ v:mID="45"
+ v:groupContext="shape"
+ transform="translate(169.866,-14.1732)"><title
+ id="title4096">Rectangle.15</title><desc
+ id="desc4098">ethdev port</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="35.4331"
+ cy="577.516"
+ width="70.87"
+ height="35.5195" /><g
+ id="shadow45-32"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect4101"
+ style="fill:#bdd0e9;fill-opacity:0.22000002;stroke:#bdd0e9;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect4103"
+ style="fill:#bdd0e9;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ v:langID="2057"
+ id="text4105"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />ethdev port</text>
+</g></g><g
+ id="shape46-37"
+ v:mID="46"
+ v:groupContext="shape"
+ transform="matrix(0.00217642,-0.99999763,0.99999763,0.00217642,-449.821,126.396)"><title
+ id="title4108">Simple Double Arrow.47</title><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /><v:ud
+ v:nameU="ArrowType"
+ v:prompt=""
+ v:val="VT0(3):26" /></v:userDefs><path
+ d="m 0,595.28 11.34,-4.49 0,2.24 26.15,0 0,-2.24 11.34,4.49 -11.34,4.48 0,-2.24 -26.15,0 0,2.24 L 0,595.28 z"
+ class="st13"
+ id="path4110"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient4198);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape47-41"
+ v:mID="47"
+ v:groupContext="shape"
+ transform="matrix(0.01125714,-0.99993664,0.99993664,0.01125714,-532.876,239.429)"><title
+ id="title4113">Simple Arrow.47</title><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /><v:ud
+ v:nameU="ArrowType"
+ v:prompt=""
+ v:val="VT0(2):26" /></v:userDefs><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path4115"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient4200);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape48-44"
+ v:mID="48"
+ v:groupContext="shape"
+ transform="matrix(-0.01125714,0.99993664,-0.99993664,-0.01125714,670.114,199.457)"><title
+ id="title4118">Simple Arrow.49</title><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /><v:ud
+ v:nameU="ArrowType"
+ v:prompt=""
+ v:val="VT0(2):26" /></v:userDefs><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path4120"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient4202);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape49-47"
+ v:mID="49"
+ v:groupContext="shape"
+ transform="translate(156.898,-472.791)"><title
+ id="title4123">Square.108</title><desc
+ id="desc4125">1</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="7.08661"
+ cy="588.189"
+ width="14.18"
+ height="14.1732" /><g
+ id="shadow49-48"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect4128"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect4130"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ v:langID="2057"
+ id="text4132"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />1</text>
+</g><g
+ id="shape50-53"
+ v:mID="50"
+ v:groupContext="shape"
+ transform="translate(156.898,-492.123)"><title
+ id="title4135">Square.109</title><desc
+ id="desc4137">2</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="7.08661"
+ cy="588.189"
+ width="14.18"
+ height="14.1732" /><g
+ id="shadow50-54"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect4140"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect4142"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ v:langID="2057"
+ id="text4144"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />2</text>
+</g><g
+ id="shape51-59"
+ v:mID="51"
+ v:groupContext="shape"
+ transform="translate(156.898,-510.831)"><title
+ id="title4147">Square.110</title><desc
+ id="desc4149">3</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="7.08661"
+ cy="588.189"
+ width="14.18"
+ height="14.1732" /><g
+ id="shadow51-60"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect4152"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect4154"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ v:langID="2057"
+ id="text4156"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />3</text>
+</g><g
+ id="shape52-65"
+ v:mID="52"
+ v:groupContext="shape"
+ transform="translate(39.2598,-344.636)"><title
+ id="title4159">Square.111</title><desc
+ id="desc4161">1</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="7.08661"
+ cy="588.189"
+ width="14.18"
+ height="14.1732" /><g
+ id="shadow52-66"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect4164"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect4166"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ v:langID="2057"
+ id="text4168"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />1</text>
+</g><g
+ id="shape53-71"
+ v:mID="53"
+ v:groupContext="shape"
+ transform="translate(39.2598,-363.969)"><title
+ id="title4171">Square.112</title><desc
+ id="desc4173">2</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="7.08661"
+ cy="588.189"
+ width="14.18"
+ height="14.1732" /><g
+ id="shadow53-72"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect4176"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect4178"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ v:langID="2057"
+ id="text4180"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />2</text>
+</g><g
+ id="shape54-77"
+ v:mID="54"
+ v:groupContext="shape"
+ transform="translate(39.2598,-382.677)"><title
+ id="title4183">Square.113</title><desc
+ id="desc4185">3</desc><v:userDefs><v:ud
+ v:nameU="visVersion"
+ v:val="VT0(15):26" /></v:userDefs><v:textBlock
+ v:margins="rect(4,4,4,4)"
+ v:tabSpace="42.5197" /><v:textRect
+ cx="7.08661"
+ cy="588.189"
+ width="14.18"
+ height="14.1732" /><g
+ id="shadow54-78"
+ v:groupContext="shadow"
+ v:shadowOffsetX="0.345598"
+ v:shadowOffsetY="-1.97279"
+ v:shadowType="1"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect4188"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect4190"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ v:langID="2057"
+ id="text4192"
+ style="fill:#feffff;font-family:Calibri"><v:paragraph
+ v:horizAlign="1" /><v:tabList />3</text>
+</g></g></svg> \ No newline at end of file
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-2.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-2.svg
new file mode 100644
index 00000000..5b9eed69
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-2.svg
@@ -0,0 +1,736 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+# BSD LICENSE
+#
+# Copyright(c) 2014 Intel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!-- Generated by Microsoft Visio, SVG Export link bonding - mode 2.svg Page-4 -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="332.147"
+ height="358.22595"
+ viewBox="0 0 265.71799 286.58082"
+ xml:space="preserve"
+ color-interpolation-filters="sRGB"
+ class="st20"
+ id="svg5449"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="bond-mode-2.svg"
+ style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"><metadata
+ id="metadata5725"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="480"
+ id="namedview5723"
+ showgrid="false"
+ inkscape:zoom="0.29932695"
+ inkscape:cx="509.87351"
+ inkscape:cy="4.5199676"
+ inkscape:window-x="0"
+ inkscape:window-y="29"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg5449"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0" /><style
+ type="text/css"
+ id="style5451">
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st3 {fill:#4f87bb;stroke:#40709c;stroke-width:0.75}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75}
+ .st6 {fill:#4f87bb;font-family:Calibri;font-size:0.833336em}
+ .st7 {fill:#759fcc;fill-opacity:0.25;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.25}
+ .st8 {fill:#668bb3;stroke:#547395;stroke-width:0.75}
+ .st9 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st10 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st11 {fill:#759fcc;fill-opacity:0.22;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.22}
+ .st12 {fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25}
+ .st13 {fill:url(#grad0-40);stroke:#a6b6cd;stroke-width:0.75}
+ .st14 {fill:#70ad47;fill-opacity:0.25;filter:url(#filter_2);stroke:#70ad47;stroke-opacity:0.25}
+ .st15 {fill:#61973d;stroke:#507e31;stroke-width:0.75}
+ .st16 {fill:#fec000;fill-opacity:0.25;filter:url(#filter_2);stroke:#fec000;stroke-opacity:0.25}
+ .st17 {fill:#dfa800;stroke:#ba8c00;stroke-width:0.75}
+ .st18 {fill:#ed7d31;fill-opacity:0.25;filter:url(#filter_2);stroke:#ed7d31;stroke-opacity:0.25}
+ .st19 {fill:#d06d29;stroke:#ae5a21;stroke-width:0.75}
+ .st20 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ </style><defs
+ id="Patterns_And_Gradients"><linearGradient
+ id="grad0-11"
+ x1="-0.24584444"
+ y1="740.8343"
+ x2="167.49742"
+ y2="740.8343"
+ gradientTransform="scale(1.5253548,0.65558519)"
+ gradientUnits="userSpaceOnUse"><stop
+ offset="0"
+ stop-color="#e9eff7"
+ stop-opacity="1"
+ id="stop5455" /><stop
+ offset="0.24"
+ stop-color="#f4f7fb"
+ stop-opacity="1"
+ id="stop5457" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop5459" /></linearGradient><linearGradient
+ id="grad0-40"
+ x1="0"
+ y1="0"
+ x2="1"
+ y2="0"
+ gradientTransform="matrix(0.5,0.8660254,-0.8660254,0.5,0.6830127,-0.1830127)"><stop
+ offset="0"
+ stop-color="#f3f6fa"
+ stop-opacity="1"
+ id="stop5462" /><stop
+ offset="0.24"
+ stop-color="#f9fafc"
+ stop-opacity="1"
+ id="stop5464" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop5466" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6619"
+ gradientTransform="scale(3.1025013,0.32232057)"
+ x1="-0.12087021"
+ y1="1831.7633"
+ x2="30.035443"
+ y2="1831.7633"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6621"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6623"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6625"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6627"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /></defs><defs
+ id="Filters"><filter
+ id="filter_2"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ stdDeviation="2"
+ id="feGaussianBlur5470" /></filter></defs><g
+ id="g5472"
+ transform="translate(-13.045598,-14.67318)"><title
+ id="title5474">Page-4</title><g
+ id="shape55-1"
+ transform="translate(18,-516.416)"><title
+ id="title5477">Rectangle.151</title><desc
+ id="desc5479">User Application</desc><g
+ id="shadow55-2"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st2"
+ id="rect5482"
+ style="fill:#5b9bd5;fill-opacity:0.25;stroke:#5b9bd5;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st3"
+ id="rect5484"
+ style="fill:#4f87bb;stroke:#40709c;stroke-width:0.75" /><text
+ x="94"
+ y="567.84998"
+ class="st4"
+ id="text5486"
+ style="fill:#feffff;font-family:Calibri">User Application</text>
+</g><g
+ id="group56-7"
+ transform="translate(18,-344.323)"><title
+ id="title5489">Sheet.56</title><g
+ id="shape57-8"><title
+ id="title5492">Rectangle.38</title><desc
+ id="desc5494">DPDK</desc><rect
+ x="0"
+ y="486.05499"
+ width="255.118"
+ height="109.22"
+ class="st5"
+ id="rect5496"
+ style="fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75" /><text
+ x="228.45"
+ y="499.06"
+ class="st6"
+ id="text5498"
+ style="fill:#4f87bb;font-family:Calibri">DPDK</text>
+</g><g
+ id="shape58-13"
+ transform="translate(6.87402,-7.17304)"><title
+ id="title5501">Rectangle.16</title><desc
+ id="desc5503">bonded ethdev</desc><g
+ id="shadow58-14"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st7"
+ id="rect5506"
+ style="fill:#759fcc;fill-opacity:0.25;stroke:#759fcc;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st8"
+ id="rect5508"
+ style="fill:#668bb3;stroke:#547395;stroke-width:0.75" /><text
+ x="89.650002"
+ y="536.16998"
+ class="st4"
+ id="text5510"
+ style="fill:#feffff;font-family:Calibri">bonded ethdev</text>
+</g><g
+ id="shape59-19"
+ transform="translate(13.9606,-14.1732)"><title
+ id="title5513">Rectangle.11</title><desc
+ id="desc5515">ethdev port</desc><g
+ id="shadow59-20"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st9"
+ id="rect5518"
+ style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st10"
+ id="rect5520"
+ style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text5522"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape60-25"
+ transform="translate(91.9134,-14.1732)"><title
+ id="title5525">Rectangle.14</title><desc
+ id="desc5527">ethdev port</desc><g
+ id="shadow60-26"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect5530"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect5532"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text5534"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape61-31"
+ transform="translate(169.866,-14.1732)"><title
+ id="title5537">Rectangle.15</title><desc
+ id="desc5539">ethdev port</desc><g
+ id="shadow61-32"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect5542"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect5544"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text5546"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g></g><g
+ id="shape62-37"
+ transform="matrix(0.00114494,-0.99999934,0.99999934,0.00114494,-449.822,170.991)"><title
+ id="title5549">Simple Double Arrow.158</title><path
+ d="m 0,595.28 11.34,-4.49 0,2.24 70.13,0 0,-2.24 11.34,4.49 -11.34,4.48 0,-2.24 -70.13,0 0,2.24 L 0,595.28 z"
+ class="st13"
+ id="path5551"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6619);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape63-41"
+ transform="matrix(0.01125714,-0.99993664,0.99993664,0.01125714,-532.876,283.409)"><title
+ id="title5554">Simple Arrow.159</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path5556"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6621);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape64-44"
+ transform="matrix(-0.01125714,0.99993664,-0.99993664,-0.01125714,670.114,243.437)"><title
+ id="title5559">Simple Arrow.160</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path5561"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6623);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape65-47"
+ transform="matrix(0.01448398,-0.9998951,0.9998951,0.01448398,-450.646,281.973)"><title
+ id="title5564">Simple Arrow.161</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path5566"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6625);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape66-50"
+ transform="matrix(-0.01185051,-0.99992978,0.99992978,-0.01185051,-371.297,297.649)"><title
+ id="title5569">Simple Arrow.162</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path5571"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6627);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape67-53"
+ transform="translate(121.039,-421.115)"><title
+ id="title5574">Square.163</title><desc
+ id="desc5576">1</desc><g
+ id="shadow67-54"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5579"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5581"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5583"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape68-59"
+ transform="translate(121.039,-440.447)"><title
+ id="title5586">Square.164</title><desc
+ id="desc5588">2</desc><g
+ id="shadow68-60"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st16"
+ id="rect5591"
+ style="fill:#fec000;fill-opacity:0.25;stroke:#fec000;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st17"
+ id="rect5593"
+ style="fill:#dfa800;stroke:#ba8c00;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5595"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape69-65"
+ transform="translate(121.039,-459.156)"><title
+ id="title5598">Square.165</title><desc
+ id="desc5600">3</desc><g
+ id="shadow69-66"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5603"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5605"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5607"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g><g
+ id="shape70-71"
+ transform="translate(121.039,-478.488)"><title
+ id="title5610">Square.166</title><desc
+ id="desc5612">4</desc><g
+ id="shadow70-72"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st16"
+ id="rect5615"
+ style="fill:#fec000;fill-opacity:0.25;stroke:#fec000;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st17"
+ id="rect5617"
+ style="fill:#dfa800;stroke:#ba8c00;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5619"
+ style="fill:#feffff;font-family:Calibri">4</text>
+</g><g
+ id="shape71-77"
+ transform="translate(121.039,-497.82)"><title
+ id="title5622">Square.167</title><desc
+ id="desc5624">5</desc><g
+ id="shadow71-78"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5627"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5629"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5631"
+ style="fill:#feffff;font-family:Calibri">5</text>
+</g><g
+ id="shape72-83"
+ transform="translate(121.039,-517.153)"><title
+ id="title5634">Square.168</title><desc
+ id="desc5636">6</desc><g
+ id="shadow72-84"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st18"
+ id="rect5639"
+ style="fill:#ed7d31;fill-opacity:0.25;stroke:#ed7d31;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st19"
+ id="rect5641"
+ style="fill:#d06d29;stroke:#ae5a21;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5643"
+ style="fill:#feffff;font-family:Calibri">6</text>
+</g><g
+ id="group73-89"
+ transform="translate(116.787,-301.294)"><title
+ id="title5646">Sheet.73</title><g
+ id="shape74-90"><title
+ id="title5649">Square.172</title><desc
+ id="desc5651">2</desc><g
+ id="shadow74-91"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st16"
+ id="rect5654"
+ style="fill:#fec000;fill-opacity:0.25;stroke:#fec000;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st17"
+ id="rect5656"
+ style="fill:#dfa800;stroke:#ba8c00;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5658"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape75-96"
+ transform="translate(0,-19.0205)"><title
+ id="title5661">Square.173</title><desc
+ id="desc5663">4</desc><g
+ id="shadow75-97"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st16"
+ id="rect5666"
+ style="fill:#fec000;fill-opacity:0.25;stroke:#fec000;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st17"
+ id="rect5668"
+ style="fill:#dfa800;stroke:#ba8c00;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5670"
+ style="fill:#feffff;font-family:Calibri">4</text>
+</g></g><g
+ id="shape76-102"
+ transform="translate(194.74,-301.294)"><title
+ id="title5673">Square.175</title><desc
+ id="desc5675">6</desc><g
+ id="shadow76-103"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st18"
+ id="rect5678"
+ style="fill:#ed7d31;fill-opacity:0.25;stroke:#ed7d31;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st19"
+ id="rect5680"
+ style="fill:#d06d29;stroke:#ae5a21;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5682"
+ style="fill:#feffff;font-family:Calibri">6</text>
+</g><g
+ id="group77-108"
+ transform="translate(38.8346,-301.294)"><title
+ id="title5685">Sheet.77</title><g
+ id="shape78-109"><title
+ id="title5688">Square.169</title><desc
+ id="desc5690">1</desc><g
+ id="shadow78-110"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5693"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5695"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5697"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape79-115"
+ transform="translate(0,-19.0205)"><title
+ id="title5700">Square.170</title><desc
+ id="desc5702">3</desc><g
+ id="shadow79-116"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5705"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5707"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5709"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g><g
+ id="shape80-121"
+ transform="translate(0,-38.1813)"><title
+ id="title5712">Square.171</title><desc
+ id="desc5714">5</desc><g
+ id="shadow80-122"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5717"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5719"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5721"
+ style="fill:#feffff;font-family:Calibri">5</text>
+</g></g></g></svg> \ No newline at end of file
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-3.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-3.svg
new file mode 100644
index 00000000..b2288a46
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-3.svg
@@ -0,0 +1,736 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+# BSD LICENSE
+#
+# Copyright(c) 2014 Intel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!-- Generated by Microsoft Visio, SVG Export link bonding - mode 3.svg Page-4 -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="332.147"
+ height="300.50479"
+ viewBox="0 0 265.71799 240.40388"
+ xml:space="preserve"
+ color-interpolation-filters="sRGB"
+ class="st16"
+ id="svg5727"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="bond-mode-3.svg"
+ style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"><metadata
+ id="metadata6009"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="480"
+ id="namedview6007"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="0.29932695"
+ inkscape:cx="509.87351"
+ inkscape:cy="-53.201198"
+ inkscape:window-x="0"
+ inkscape:window-y="29"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg5727" /><style
+ type="text/css"
+ id="style5729">
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st3 {fill:#4f87bb;stroke:#40709c;stroke-width:0.75}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75}
+ .st6 {fill:#4f87bb;font-family:Calibri;font-size:0.833336em}
+ .st7 {fill:#759fcc;fill-opacity:0.25;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.25}
+ .st8 {fill:#668bb3;stroke:#547395;stroke-width:0.75}
+ .st9 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st10 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st11 {fill:#759fcc;fill-opacity:0.22;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.22}
+ .st12 {fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25}
+ .st13 {fill:url(#grad0-40);stroke:#a6b6cd;stroke-width:0.75}
+ .st14 {fill:#70ad47;fill-opacity:0.25;filter:url(#filter_2);stroke:#70ad47;stroke-opacity:0.25}
+ .st15 {fill:#61973d;stroke:#507e31;stroke-width:0.75}
+ .st16 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ </style><defs
+ id="Patterns_And_Gradients"><linearGradient
+ id="grad0-11"
+ x1="-0.24584444"
+ y1="740.8343"
+ x2="167.49742"
+ y2="740.8343"
+ gradientTransform="scale(1.5253548,0.65558519)"
+ gradientUnits="userSpaceOnUse"><stop
+ offset="0"
+ stop-color="#e9eff7"
+ stop-opacity="1"
+ id="stop5733" /><stop
+ offset="0.24"
+ stop-color="#f4f7fb"
+ stop-opacity="1"
+ id="stop5735" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop5737" /></linearGradient><linearGradient
+ id="grad0-40"
+ x1="0"
+ y1="0"
+ x2="1"
+ y2="0"
+ gradientTransform="matrix(0.5,0.8660254,-0.8660254,0.5,0.6830127,-0.1830127)"><stop
+ offset="0"
+ stop-color="#f3f6fa"
+ stop-opacity="1"
+ id="stop5740" /><stop
+ offset="0.24"
+ stop-color="#f9fafc"
+ stop-opacity="1"
+ id="stop5742" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop5744" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6590"
+ gradientTransform="scale(2.2585002,0.44277172)"
+ x1="-0.16603939"
+ y1="1333.4524"
+ x2="21.786582"
+ y2="1333.4524"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6592"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6594"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6596"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6598"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /></defs><defs
+ id="Filters"><filter
+ id="filter_2"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ stdDeviation="2"
+ id="feGaussianBlur5748" /></filter></defs><g
+ id="g5750"
+ transform="translate(-13.045598,-14.67318)"><title
+ id="title5752">Page-4</title><g
+ id="shape81-1"
+ transform="translate(18,-516.416)"><title
+ id="title5755">Rectangle.74</title><desc
+ id="desc5757">User Application</desc><g
+ id="shadow81-2"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st2"
+ id="rect5760"
+ style="fill:#5b9bd5;fill-opacity:0.25;stroke:#5b9bd5;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st3"
+ id="rect5762"
+ style="fill:#4f87bb;stroke:#40709c;stroke-width:0.75" /><text
+ x="94"
+ y="567.84998"
+ class="st4"
+ id="text5764"
+ style="fill:#feffff;font-family:Calibri">User Application</text>
+</g><g
+ id="group82-7"
+ transform="translate(18,-388.303)"><title
+ id="title5767">Sheet.82</title><g
+ id="shape83-8"><title
+ id="title5770">Rectangle.38</title><desc
+ id="desc5772">DPDK</desc><rect
+ x="0"
+ y="486.05499"
+ width="255.118"
+ height="109.22"
+ class="st5"
+ id="rect5774"
+ style="fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75" /><text
+ x="228.45"
+ y="499.06"
+ class="st6"
+ id="text5776"
+ style="fill:#4f87bb;font-family:Calibri">DPDK</text>
+</g><g
+ id="shape84-13"
+ transform="translate(6.87402,-7.17304)"><title
+ id="title5779">Rectangle.16</title><desc
+ id="desc5781">bonded ethdev</desc><g
+ id="shadow84-14"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st7"
+ id="rect5784"
+ style="fill:#759fcc;fill-opacity:0.25;stroke:#759fcc;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st8"
+ id="rect5786"
+ style="fill:#668bb3;stroke:#547395;stroke-width:0.75" /><text
+ x="89.650002"
+ y="536.16998"
+ class="st4"
+ id="text5788"
+ style="fill:#feffff;font-family:Calibri">bonded ethdev</text>
+</g><g
+ id="shape85-19"
+ transform="translate(13.9606,-14.1732)"><title
+ id="title5791">Rectangle.11</title><desc
+ id="desc5793">ethdev port</desc><g
+ id="shadow85-20"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st9"
+ id="rect5796"
+ style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st10"
+ id="rect5798"
+ style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text5800"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape86-25"
+ transform="translate(91.9134,-14.1732)"><title
+ id="title5803">Rectangle.14</title><desc
+ id="desc5805">ethdev port</desc><g
+ id="shadow86-26"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect5808"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect5810"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text5812"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape87-31"
+ transform="translate(169.866,-14.1732)"><title
+ id="title5815">Rectangle.15</title><desc
+ id="desc5817">ethdev port</desc><g
+ id="shadow87-32"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect5820"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect5822"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text5824"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g></g><g
+ id="shape88-37"
+ transform="matrix(0.00217642,-0.99999763,0.99999763,0.00217642,-449.821,126.396)"><title
+ id="title5827">Simple Double Arrow.81</title><path
+ d="m 0,595.28 11.34,-4.49 0,2.24 26.15,0 0,-2.24 11.34,4.49 -11.34,4.48 0,-2.24 -26.15,0 0,2.24 L 0,595.28 z"
+ class="st13"
+ id="path5829"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6590);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape89-41"
+ transform="matrix(0.01125714,-0.99993664,0.99993664,0.01125714,-532.876,239.429)"><title
+ id="title5832">Simple Arrow.82</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path5834"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6592);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape90-44"
+ transform="matrix(-0.01125714,0.99993664,-0.99993664,-0.01125714,670.114,199.457)"><title
+ id="title5837">Simple Arrow.83</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path5839"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6594);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape91-47"
+ transform="matrix(0.01448398,-0.9998951,0.9998951,0.01448398,-450.646,237.992)"><title
+ id="title5842">Simple Arrow.84</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path5844"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6596);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape92-50"
+ transform="matrix(-0.01185051,-0.99992978,0.99992978,-0.01185051,-371.297,253.669)"><title
+ id="title5847">Simple Arrow.85</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path5849"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6598);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="group93-53"
+ transform="translate(37.8425,-347.471)"><title
+ id="title5852">Sheet.93</title><g
+ id="shape94-54"><title
+ id="title5855">Square.125</title><desc
+ id="desc5857">1</desc><g
+ id="shadow94-55"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5860"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5862"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5864"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape95-60"
+ transform="translate(0,-19.3323)"><title
+ id="title5867">Square.126</title><desc
+ id="desc5869">2</desc><g
+ id="shadow95-61"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5872"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5874"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5876"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape96-66"
+ transform="translate(0,-38.0409)"><title
+ id="title5879">Square.127</title><desc
+ id="desc5881">3</desc><g
+ id="shadow96-67"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5884"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5886"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5888"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g></g><g
+ id="group97-72"
+ transform="translate(119.055,-347.471)"><title
+ id="title5891">Sheet.97</title><g
+ id="shape98-73"><title
+ id="title5894">Square.125</title><desc
+ id="desc5896">1</desc><g
+ id="shadow98-74"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5899"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5901"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5903"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape99-79"
+ transform="translate(0,-19.3323)"><title
+ id="title5906">Square.126</title><desc
+ id="desc5908">2</desc><g
+ id="shadow99-80"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5911"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5913"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5915"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape100-85"
+ transform="translate(0,-38.0409)"><title
+ id="title5918">Square.127</title><desc
+ id="desc5920">3</desc><g
+ id="shadow100-86"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5923"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5925"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5927"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g></g><g
+ id="group101-91"
+ transform="translate(200.268,-347.471)"><title
+ id="title5930">Sheet.101</title><g
+ id="shape102-92"><title
+ id="title5933">Square.125</title><desc
+ id="desc5935">1</desc><g
+ id="shadow102-93"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5938"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5940"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5942"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape103-98"
+ transform="translate(0,-19.3323)"><title
+ id="title5945">Square.126</title><desc
+ id="desc5947">2</desc><g
+ id="shadow103-99"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5950"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5952"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5954"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape104-104"
+ transform="translate(0,-38.0409)"><title
+ id="title5957">Square.127</title><desc
+ id="desc5959">3</desc><g
+ id="shadow104-105"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5962"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5964"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5966"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g></g><g
+ id="group105-110"
+ transform="translate(122.882,-473.386)"><title
+ id="title5969">Sheet.105</title><g
+ id="shape106-111"><title
+ id="title5972">Square.125</title><desc
+ id="desc5974">1</desc><g
+ id="shadow106-112"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5977"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5979"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5981"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape107-117"
+ transform="translate(0,-19.3323)"><title
+ id="title5984">Square.126</title><desc
+ id="desc5986">2</desc><g
+ id="shadow107-118"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect5989"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect5991"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text5993"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape108-123"
+ transform="translate(0,-38.0409)"><title
+ id="title5996">Square.127</title><desc
+ id="desc5998">3</desc><g
+ id="shadow108-124"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect6001"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect6003"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6005"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g></g></g></svg> \ No newline at end of file
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-4.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-4.svg
new file mode 100644
index 00000000..2016d435
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-4.svg
@@ -0,0 +1,818 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+# BSD LICENSE
+#
+# Copyright(c) 2014 Intel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!-- Generated by Microsoft Visio, SVG Export link bonding - mode 4.svg Page-4 -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="332.147"
+ height="380.51215"
+ viewBox="0 0 265.71799 304.40978"
+ xml:space="preserve"
+ color-interpolation-filters="sRGB"
+ class="st22"
+ id="svg6011"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="bond-mode-4.svg"
+ style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"><metadata
+ id="metadata6317"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="480"
+ id="namedview6315"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="0.29932695"
+ inkscape:cx="509.87351"
+ inkscape:cy="26.806185"
+ inkscape:window-x="0"
+ inkscape:window-y="29"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg6011" /><style
+ type="text/css"
+ id="style6013">
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st3 {fill:#4f87bb;stroke:#40709c;stroke-width:0.75}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75}
+ .st6 {fill:#4f87bb;font-family:Calibri;font-size:0.833336em}
+ .st7 {fill:#759fcc;fill-opacity:0.25;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.25}
+ .st8 {fill:#668bb3;stroke:#547395;stroke-width:0.75}
+ .st9 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st10 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st11 {fill:#759fcc;fill-opacity:0.22;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.22}
+ .st12 {fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25}
+ .st13 {fill:url(#grad0-40);stroke:#a6b6cd;stroke-width:0.75}
+ .st14 {fill:#70ad47;fill-opacity:0.25;filter:url(#filter_2);stroke:#70ad47;stroke-opacity:0.25}
+ .st15 {fill:#61973d;stroke:#507e31;stroke-width:0.75}
+ .st16 {fill:#fec000;fill-opacity:0.25;filter:url(#filter_2);stroke:#fec000;stroke-opacity:0.25}
+ .st17 {fill:#dfa800;stroke:#ba8c00;stroke-width:0.75}
+ .st18 {fill:#ed7d31;fill-opacity:0.25;filter:url(#filter_2);stroke:#ed7d31;stroke-opacity:0.25}
+ .st19 {fill:#d06d29;stroke:#ae5a21;stroke-width:0.75}
+ .st20 {fill:#bdd0e9;fill-opacity:0.25;filter:url(#filter_2);stroke:#bdd0e9;stroke-opacity:0.25}
+ .st21 {fill:#a6b6cd;stroke:#8a98ab;stroke-width:0.75}
+ .st22 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ </style><defs
+ id="Patterns_And_Gradients"><linearGradient
+ id="grad0-11"
+ x1="-0.24584444"
+ y1="740.8343"
+ x2="167.49742"
+ y2="740.8343"
+ gradientTransform="scale(1.5253548,0.65558519)"
+ gradientUnits="userSpaceOnUse"><stop
+ offset="0"
+ stop-color="#e9eff7"
+ stop-opacity="1"
+ id="stop6017" /><stop
+ offset="0.24"
+ stop-color="#f4f7fb"
+ stop-opacity="1"
+ id="stop6019" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop6021" /></linearGradient><linearGradient
+ id="grad0-40"
+ x1="0"
+ y1="0"
+ x2="1"
+ y2="0"
+ gradientTransform="matrix(0.5,0.8660254,-0.8660254,0.5,0.6830127,-0.1830127)"><stop
+ offset="0"
+ stop-color="#f3f6fa"
+ stop-opacity="1"
+ id="stop6024" /><stop
+ offset="0.24"
+ stop-color="#f9fafc"
+ stop-opacity="1"
+ id="stop6026" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop6028" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6580"
+ gradientTransform="scale(3.1025013,0.32232057)"
+ x1="-0.12087021"
+ y1="1831.7633"
+ x2="30.035443"
+ y2="1831.7633"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6582"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6584"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6586"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6588"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /></defs><defs
+ id="Filters"><filter
+ id="filter_2"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ stdDeviation="2"
+ id="feGaussianBlur6032" /></filter></defs><g
+ id="g6034"
+ transform="translate(-13.045598,-14.67318)"><title
+ id="title6036">Page-4</title><g
+ id="shape109-1"
+ transform="translate(18,-516.416)"><title
+ id="title6039">Rectangle.177</title><desc
+ id="desc6041">User Application</desc><g
+ id="shadow109-2"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st2"
+ id="rect6044"
+ style="fill:#5b9bd5;fill-opacity:0.25;stroke:#5b9bd5;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st3"
+ id="rect6046"
+ style="fill:#4f87bb;stroke:#40709c;stroke-width:0.75" /><text
+ x="94"
+ y="567.84998"
+ class="st4"
+ id="text6048"
+ style="fill:#feffff;font-family:Calibri">User Application</text>
+</g><g
+ id="group110-7"
+ transform="translate(18,-344.323)"><title
+ id="title6051">Sheet.110</title><g
+ id="shape111-8"><title
+ id="title6054">Rectangle.38</title><desc
+ id="desc6056">DPDK</desc><rect
+ x="0"
+ y="486.05499"
+ width="255.118"
+ height="109.22"
+ class="st5"
+ id="rect6058"
+ style="fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75" /><text
+ x="228.45"
+ y="499.06"
+ class="st6"
+ id="text6060"
+ style="fill:#4f87bb;font-family:Calibri">DPDK</text>
+</g><g
+ id="shape112-13"
+ transform="translate(6.87402,-7.17304)"><title
+ id="title6063">Rectangle.16</title><desc
+ id="desc6065">bonded ethdev</desc><g
+ id="shadow112-14"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st7"
+ id="rect6068"
+ style="fill:#759fcc;fill-opacity:0.25;stroke:#759fcc;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st8"
+ id="rect6070"
+ style="fill:#668bb3;stroke:#547395;stroke-width:0.75" /><text
+ x="89.650002"
+ y="536.16998"
+ class="st4"
+ id="text6072"
+ style="fill:#feffff;font-family:Calibri">bonded ethdev</text>
+</g><g
+ id="shape113-19"
+ transform="translate(13.9606,-14.1732)"><title
+ id="title6075">Rectangle.11</title><desc
+ id="desc6077">ethdev port</desc><g
+ id="shadow113-20"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st9"
+ id="rect6080"
+ style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st10"
+ id="rect6082"
+ style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text6084"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape114-25"
+ transform="translate(91.9134,-14.1732)"><title
+ id="title6087">Rectangle.14</title><desc
+ id="desc6089">ethdev port</desc><g
+ id="shadow114-26"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect6092"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect6094"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text6096"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape115-31"
+ transform="translate(169.866,-14.1732)"><title
+ id="title6099">Rectangle.15</title><desc
+ id="desc6101">ethdev port</desc><g
+ id="shadow115-32"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect6104"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect6106"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text6108"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g></g><g
+ id="shape116-37"
+ transform="matrix(0.00114494,-0.99999934,0.99999934,0.00114494,-449.822,170.991)"><title
+ id="title6111">Simple Double Arrow.184</title><path
+ d="m 0,595.28 11.34,-4.49 0,2.24 70.13,0 0,-2.24 11.34,4.49 -11.34,4.48 0,-2.24 -70.13,0 0,2.24 L 0,595.28 z"
+ class="st13"
+ id="path6113"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6580);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape117-41"
+ transform="matrix(0.01125714,-0.99993664,0.99993664,0.01125714,-532.876,283.409)"><title
+ id="title6116">Simple Arrow.185</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path6118"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6582);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape118-44"
+ transform="matrix(-0.01125714,0.99993664,-0.99993664,-0.01125714,670.114,243.437)"><title
+ id="title6121">Simple Arrow.186</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path6123"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6584);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape119-47"
+ transform="matrix(0.01448398,-0.9998951,0.9998951,0.01448398,-450.646,281.973)"><title
+ id="title6126">Simple Arrow.187</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path6128"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6586);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape120-50"
+ transform="matrix(-0.01185051,-0.99992978,0.99992978,-0.01185051,-371.297,297.649)"><title
+ id="title6131">Simple Arrow.188</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path6133"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6588);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape121-53"
+ transform="translate(121.039,-421.115)"><title
+ id="title6136">Square.189</title><desc
+ id="desc6138">1</desc><g
+ id="shadow121-54"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect6141"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect6143"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6145"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape122-59"
+ transform="translate(121.039,-440.447)"><title
+ id="title6148">Square.190</title><desc
+ id="desc6150">2</desc><g
+ id="shadow122-60"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st16"
+ id="rect6153"
+ style="fill:#fec000;fill-opacity:0.25;stroke:#fec000;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st17"
+ id="rect6155"
+ style="fill:#dfa800;stroke:#ba8c00;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6157"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape123-65"
+ transform="translate(121.039,-459.156)"><title
+ id="title6160">Square.191</title><desc
+ id="desc6162">3</desc><g
+ id="shadow123-66"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect6165"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect6167"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6169"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g><g
+ id="shape124-71"
+ transform="translate(121.039,-478.488)"><title
+ id="title6172">Square.192</title><desc
+ id="desc6174">4</desc><g
+ id="shadow124-72"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st16"
+ id="rect6177"
+ style="fill:#fec000;fill-opacity:0.25;stroke:#fec000;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st17"
+ id="rect6179"
+ style="fill:#dfa800;stroke:#ba8c00;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6181"
+ style="fill:#feffff;font-family:Calibri">4</text>
+</g><g
+ id="shape125-77"
+ transform="translate(121.039,-497.82)"><title
+ id="title6184">Square.193</title><desc
+ id="desc6186">5</desc><g
+ id="shadow125-78"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect6189"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect6191"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6193"
+ style="fill:#feffff;font-family:Calibri">5</text>
+</g><g
+ id="shape126-83"
+ transform="translate(121.039,-517.153)"><title
+ id="title6196">Square.194</title><desc
+ id="desc6198">6</desc><g
+ id="shadow126-84"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st18"
+ id="rect6201"
+ style="fill:#ed7d31;fill-opacity:0.25;stroke:#ed7d31;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st19"
+ id="rect6203"
+ style="fill:#d06d29;stroke:#ae5a21;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6205"
+ style="fill:#feffff;font-family:Calibri">6</text>
+</g><g
+ id="shape127-89"
+ transform="translate(117.213,-283.465)"><title
+ id="title6208">Square.172</title><desc
+ id="desc6210">2</desc><g
+ id="shadow127-90"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st16"
+ id="rect6213"
+ style="fill:#fec000;fill-opacity:0.25;stroke:#fec000;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st17"
+ id="rect6215"
+ style="fill:#dfa800;stroke:#ba8c00;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6217"
+ style="fill:#feffff;font-family:Calibri">2</text>
+</g><g
+ id="shape128-95"
+ transform="translate(117.213,-301.493)"><title
+ id="title6220">Square.173</title><desc
+ id="desc6222">4</desc><g
+ id="shadow128-96"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st16"
+ id="rect6225"
+ style="fill:#fec000;fill-opacity:0.25;stroke:#fec000;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st17"
+ id="rect6227"
+ style="fill:#dfa800;stroke:#ba8c00;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6229"
+ style="fill:#feffff;font-family:Calibri">4</text>
+</g><g
+ id="shape129-101"
+ transform="translate(196.583,-301.493)"><title
+ id="title6232">Square.198</title><desc
+ id="desc6234">6</desc><g
+ id="shadow129-102"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st18"
+ id="rect6237"
+ style="fill:#ed7d31;fill-opacity:0.25;stroke:#ed7d31;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st19"
+ id="rect6239"
+ style="fill:#d06d29;stroke:#ae5a21;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6241"
+ style="fill:#feffff;font-family:Calibri">6</text>
+</g><g
+ id="shape130-107"
+ transform="translate(38.8346,-283.465)"><title
+ id="title6244">Square.169</title><desc
+ id="desc6246">1</desc><g
+ id="shadow130-108"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect6249"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect6251"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6253"
+ style="fill:#feffff;font-family:Calibri">1</text>
+</g><g
+ id="shape131-113"
+ transform="translate(38.8346,-320.315)"><title
+ id="title6256">Square.170</title><desc
+ id="desc6258">3</desc><g
+ id="shadow131-114"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect6261"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect6263"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6265"
+ style="fill:#feffff;font-family:Calibri">3</text>
+</g><g
+ id="shape132-119"
+ transform="translate(38.8346,-339.476)"><title
+ id="title6268">Square.171</title><desc
+ id="desc6270">5</desc><g
+ id="shadow132-120"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st14"
+ id="rect6273"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st15"
+ id="rect6275"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.5500002"
+ y="591.19"
+ class="st4"
+ id="text6277"
+ style="fill:#feffff;font-family:Calibri">5</text>
+</g><g
+ id="shape133-125"
+ transform="translate(38.8346,-301.154)"><title
+ id="title6280">Square.203</title><desc
+ id="desc6282">O</desc><g
+ id="shadow133-126"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st20"
+ id="rect6285"
+ style="fill:#bdd0e9;fill-opacity:0.25;stroke:#bdd0e9;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st21"
+ id="rect6287"
+ style="fill:#a6b6cd;stroke:#8a98ab;stroke-width:0.75" /><text
+ x="4"
+ y="591.19"
+ class="st4"
+ id="text6289"
+ style="fill:#feffff;font-family:Calibri">O</text>
+</g><g
+ id="shape134-131"
+ transform="translate(117.213,-320.315)"><title
+ id="title6292">Square.204</title><desc
+ id="desc6294">O</desc><g
+ id="shadow134-132"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st20"
+ id="rect6297"
+ style="fill:#bdd0e9;fill-opacity:0.25;stroke:#bdd0e9;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st21"
+ id="rect6299"
+ style="fill:#a6b6cd;stroke:#8a98ab;stroke-width:0.75" /><text
+ x="4"
+ y="591.19"
+ class="st4"
+ id="text6301"
+ style="fill:#feffff;font-family:Calibri">O</text>
+</g><g
+ id="shape135-137"
+ transform="translate(196.583,-283.465)"><title
+ id="title6304">Square.205</title><desc
+ id="desc6306">O</desc><g
+ id="shadow135-138"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st20"
+ id="rect6309"
+ style="fill:#bdd0e9;fill-opacity:0.25;stroke:#bdd0e9;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="14.1732"
+ height="14.1732"
+ class="st21"
+ id="rect6311"
+ style="fill:#a6b6cd;stroke:#8a98ab;stroke-width:0.75" /><text
+ x="4"
+ y="591.19"
+ class="st4"
+ id="text6313"
+ style="fill:#feffff;font-family:Calibri">O</text>
+</g></g></svg> \ No newline at end of file
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-5.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-5.svg
new file mode 100644
index 00000000..cadffbb2
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-mode-5.svg
@@ -0,0 +1,676 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+# BSD LICENSE
+#
+# Copyright(c) 2014 Intel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!-- Generated by Microsoft Visio, SVG Export link bonding - mode 5.svg Page-4 -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="332.147"
+ height="392.50714"
+ viewBox="0 0 265.71799 314.00578"
+ xml:space="preserve"
+ color-interpolation-filters="sRGB"
+ class="st17"
+ id="svg6319"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="bond-mode-5.svg"
+ style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"><metadata
+ id="metadata6568"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="640"
+ inkscape:window-height="480"
+ id="namedview6566"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="0.29932695"
+ inkscape:cx="509.87351"
+ inkscape:cy="38.801168"
+ inkscape:window-x="0"
+ inkscape:window-y="29"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg6319" /><style
+ type="text/css"
+ id="style6321">
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st3 {fill:#4f87bb;stroke:#40709c;stroke-width:0.75}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75}
+ .st6 {fill:#4f87bb;font-family:Calibri;font-size:0.833336em}
+ .st7 {fill:#759fcc;fill-opacity:0.25;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.25}
+ .st8 {fill:#668bb3;stroke:#547395;stroke-width:0.75}
+ .st9 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st10 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st11 {fill:#759fcc;fill-opacity:0.22;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.22}
+ .st12 {fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25}
+ .st13 {fill:url(#grad0-40);stroke:#a6b6cd;stroke-width:0.75}
+ .st14 {fill:#70ad47;fill-opacity:0.25;filter:url(#filter_2);stroke:#70ad47;stroke-opacity:0.25}
+ .st15 {fill:#61973d;stroke:#507e31;stroke-width:0.75}
+ .st16 {fill:#feffff;font-family:Calibri;font-size:0.666664em}
+ .st17 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ </style><defs
+ id="Patterns_And_Gradients"><linearGradient
+ id="grad0-11"
+ x1="-0.24584444"
+ y1="740.8343"
+ x2="167.49742"
+ y2="740.8343"
+ gradientTransform="scale(1.5253548,0.65558519)"
+ gradientUnits="userSpaceOnUse"><stop
+ offset="0"
+ stop-color="#e9eff7"
+ stop-opacity="1"
+ id="stop6325" /><stop
+ offset="0.24"
+ stop-color="#f4f7fb"
+ stop-opacity="1"
+ id="stop6327" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop6329" /></linearGradient><linearGradient
+ id="grad0-40"
+ x1="0"
+ y1="0"
+ x2="1"
+ y2="0"
+ gradientTransform="matrix(0.5,0.8660254,-0.8660254,0.5,0.6830127,-0.1830127)"><stop
+ offset="0"
+ stop-color="#f3f6fa"
+ stop-opacity="1"
+ id="stop6332" /><stop
+ offset="0.24"
+ stop-color="#f9fafc"
+ stop-opacity="1"
+ id="stop6334" /><stop
+ offset="0.54"
+ stop-color="#feffff"
+ stop-opacity="1"
+ id="stop6336" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6570"
+ gradientTransform="scale(3.5585925,0.28100998)"
+ x1="-0.10537874"
+ y1="2101.0464"
+ x2="34.48414"
+ y2="2101.0464"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6572"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6574"
+ gradientTransform="scale(2.093628,0.47763977)"
+ x1="-0.17911492"
+ y1="1233.6389"
+ x2="25.111911"
+ y2="1233.6389"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6576"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#grad0-40"
+ id="linearGradient6578"
+ gradientTransform="scale(2.1254139,0.4704966)"
+ x1="-0.17643623"
+ y1="1252.3682"
+ x2="25.498563"
+ y2="1252.3682"
+ gradientUnits="userSpaceOnUse" /></defs><defs
+ id="Filters"><filter
+ id="filter_2"
+ color-interpolation-filters="sRGB"><feGaussianBlur
+ stdDeviation="2"
+ id="feGaussianBlur6340" /></filter></defs><g
+ id="g6342"
+ transform="translate(-13.045598,-14.67318)"><title
+ id="title6344">Page-4</title><g
+ id="shape136-1"
+ transform="translate(18,-516.416)"><title
+ id="title6347">Rectangle.209</title><desc
+ id="desc6349">User Application</desc><g
+ id="shadow136-2"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st2"
+ id="rect6352"
+ style="fill:#5b9bd5;fill-opacity:0.25;stroke:#5b9bd5;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="534.41602"
+ width="255.118"
+ height="60.859798"
+ class="st3"
+ id="rect6354"
+ style="fill:#4f87bb;stroke:#40709c;stroke-width:0.75" /><text
+ x="94"
+ y="567.84998"
+ class="st4"
+ id="text6356"
+ style="fill:#feffff;font-family:Calibri">User Application</text>
+</g><g
+ id="group137-7"
+ transform="translate(18,-314.793)"><title
+ id="title6359">Sheet.137</title><g
+ id="shape138-8"><title
+ id="title6362">Rectangle.38</title><desc
+ id="desc6364">DPDK</desc><rect
+ x="0"
+ y="486.05499"
+ width="255.118"
+ height="109.22"
+ class="st5"
+ id="rect6366"
+ style="fill:url(#grad0-11);stroke:#4f87bb;stroke-width:0.75" /><text
+ x="228.45"
+ y="499.06"
+ class="st6"
+ id="text6368"
+ style="fill:#4f87bb;font-family:Calibri">DPDK</text>
+</g><g
+ id="shape139-13"
+ transform="translate(6.87402,-7.17304)"><title
+ id="title6371">Rectangle.16</title><desc
+ id="desc6373">bonded ethdev</desc><g
+ id="shadow139-14"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st7"
+ id="rect6376"
+ style="fill:#759fcc;fill-opacity:0.25;stroke:#759fcc;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="523.16803"
+ width="241.157"
+ height="72.107201"
+ class="st8"
+ id="rect6378"
+ style="fill:#668bb3;stroke:#547395;stroke-width:0.75" /><text
+ x="89.650002"
+ y="536.16998"
+ class="st4"
+ id="text6380"
+ style="fill:#feffff;font-family:Calibri">bonded ethdev</text>
+</g><g
+ id="shape140-19"
+ transform="translate(13.9606,-14.1732)"><title
+ id="title6383">Rectangle.11</title><desc
+ id="desc6385">ethdev port</desc><g
+ id="shadow140-20"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st9"
+ id="rect6388"
+ style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st10"
+ id="rect6390"
+ style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text6392"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape141-25"
+ transform="translate(91.9134,-14.1732)"><title
+ id="title6395">Rectangle.14</title><desc
+ id="desc6397">ethdev port</desc><g
+ id="shadow141-26"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect6400"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect6402"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text6404"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g><g
+ id="shape142-31"
+ transform="translate(169.866,-14.1732)"><title
+ id="title6407">Rectangle.15</title><desc
+ id="desc6409">ethdev port</desc><g
+ id="shadow142-32"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st11"
+ id="rect6412"
+ style="fill:#759fcc;fill-opacity:0.22000002;stroke:#759fcc;stroke-opacity:0.22000002;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="559.75598"
+ width="70.866096"
+ height="35.519501"
+ class="st12"
+ id="rect6414"
+ style="fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25" /><text
+ x="11.46"
+ y="580.52002"
+ class="st4"
+ id="text6416"
+ style="fill:#feffff;font-family:Calibri">ethdev port</text>
+</g></g><g
+ id="shape143-37"
+ transform="matrix(8.6917386e-4,-0.99999962,0.99999962,8.6917386e-4,-449.823,200.685)"><title
+ id="title6419">Simple Double Arrow.216</title><path
+ d="m 0,595.28 11.34,-4.49 0,2.24 99.66,0 0,-2.24 11.34,4.49 -11.34,4.48 0,-2.24 -99.66,0 0,2.24 L 0,595.28 z"
+ class="st13"
+ id="path6421"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6570);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape144-41"
+ transform="matrix(0.01125714,-0.99993664,0.99993664,0.01125714,-532.876,312.939)"><title
+ id="title6424">Simple Arrow.217</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path6426"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6572);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape145-44"
+ transform="matrix(-0.01125714,0.99993664,-0.99993664,-0.01125714,670.114,272.967)"><title
+ id="title6429">Simple Arrow.218</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 40.86,0 0,2.84 0,2.83 -40.86,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path6431"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6574);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape146-47"
+ transform="matrix(0.01448398,-0.9998951,0.9998951,0.01448398,-450.646,311.502)"><title
+ id="title6434">Simple Arrow.219</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path6436"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6576);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="shape147-50"
+ transform="matrix(-0.01185051,-0.99992978,0.99992978,-0.01185051,-371.297,327.178)"><title
+ id="title6439">Simple Arrow.220</title><path
+ d="m 0,595.28 11.34,-5.67 0,2.83 42.48,0 0,2.84 0,2.83 -42.48,0 0,2.83 L 0,595.28 z"
+ class="st13"
+ id="path6441"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient6578);stroke:#a6b6cd;stroke-width:0.75" /></g><g
+ id="group148-53"
+ transform="translate(37.8425,-273.961)"><title
+ id="title6444">Sheet.148</title></g><g
+ id="shape149-54"
+ transform="translate(108.709,-473.712)"><title
+ id="title6447">Rectangle</title><desc
+ id="desc6449">5006</desc><g
+ id="shadow149-55"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6452"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6454"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="6.0599999"
+ y="590.59003"
+ class="st16"
+ id="text6456"
+ style="fill:#feffff;font-family:Calibri">5006</text>
+</g><g
+ id="shape150-60"
+ transform="translate(108.709,-453.869)"><title
+ id="title6459">Rectangle.242</title><desc
+ id="desc6461">5005</desc><g
+ id="shadow150-61"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6464"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6466"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="6.0599999"
+ y="590.59003"
+ class="st16"
+ id="text6468"
+ style="fill:#feffff;font-family:Calibri">5005</text>
+</g><g
+ id="shape151-66"
+ transform="translate(108.85,-405.893)"><title
+ id="title6471">Rectangle.243</title><desc
+ id="desc6473">0001</desc><g
+ id="shadow151-67"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6476"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6478"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="6.0599999"
+ y="590.59003"
+ class="st16"
+ id="text6480"
+ style="fill:#feffff;font-family:Calibri">0001</text>
+</g><g
+ id="shape152-72"
+ transform="translate(108.85,-425.523)"><title
+ id="title6483">Rectangle.244</title><desc
+ id="desc6485">0002</desc><g
+ id="shadow152-73"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6488"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6490"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="6.0599999"
+ y="590.59003"
+ class="st16"
+ id="text6492"
+ style="fill:#feffff;font-family:Calibri">0002</text>
+</g><g
+ id="shape153-78"
+ transform="translate(108.709,-503.476)"><title
+ id="title6495">Rectangle.246</title><desc
+ id="desc6497">12003</desc><g
+ id="shadow153-79"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6500"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6502"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.04"
+ y="590.59003"
+ class="st16"
+ id="text6504"
+ style="fill:#feffff;font-family:Calibri">12003</text>
+</g><g
+ id="shape154-84"
+ transform="translate(24.2437,-273.976)"><title
+ id="title6507">Rectangle.247</title><desc
+ id="desc6509">0001</desc><g
+ id="shadow154-85"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6512"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6514"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="6.0599999"
+ y="590.59003"
+ class="st16"
+ id="text6516"
+ style="fill:#feffff;font-family:Calibri">0001</text>
+</g><g
+ id="shape155-90"
+ transform="translate(24.2437,-293.606)"><title
+ id="title6519">Rectangle.248</title><desc
+ id="desc6521">0002</desc><g
+ id="shadow155-91"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6524"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6526"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="6.0599999"
+ y="590.59003"
+ class="st16"
+ id="text6528"
+ style="fill:#feffff;font-family:Calibri">0002</text>
+</g><g
+ id="shape156-96"
+ transform="translate(108.537,-293.712)"><title
+ id="title6531">Rectangle.249</title><desc
+ id="desc6533">5006</desc><g
+ id="shadow156-97"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6536"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6538"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="6.0599999"
+ y="590.59003"
+ class="st16"
+ id="text6540"
+ style="fill:#feffff;font-family:Calibri">5006</text>
+</g><g
+ id="shape157-102"
+ transform="translate(108.537,-273.869)"><title
+ id="title6543">Rectangle.250</title><desc
+ id="desc6545">5005</desc><g
+ id="shadow157-103"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6548"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6550"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="6.0599999"
+ y="590.59003"
+ class="st16"
+ id="text6552"
+ style="fill:#feffff;font-family:Calibri">5005</text>
+</g><g
+ id="shape158-108"
+ transform="translate(187.236,-273.869)"><title
+ id="title6555">Rectangle.251</title><desc
+ id="desc6557">12003</desc><g
+ id="shadow158-109"
+ transform="translate(0.345598,1.97279)"
+ class="st1"
+ style="visibility:visible"><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st14"
+ id="rect6560"
+ style="fill:#70ad47;fill-opacity:0.25;stroke:#70ad47;stroke-opacity:0.25;filter:url(#filter_2)" /></g><rect
+ x="0"
+ y="581.10199"
+ width="28.3465"
+ height="14.1732"
+ class="st15"
+ id="rect6562"
+ style="fill:#61973d;stroke:#507e31;stroke-width:0.75" /><text
+ x="4.04"
+ y="590.59003"
+ class="st16"
+ id="text6564"
+ style="fill:#feffff;font-family:Calibri">12003</text>
+</g></g></svg> \ No newline at end of file
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/bond-overview.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-overview.svg
new file mode 100644
index 00000000..27259f08
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/bond-overview.svg
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+# BSD LICENSE
+#
+# Copyright(c) 2014 Intel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export Link Bonding Modes.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ width="4.42446in" height="2.20365in" viewBox="0 0 318.561 158.663" xml:space="preserve" color-interpolation-filters="sRGB"
+ class="st13">
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:url(#grad0-4);stroke:#4f87bb;stroke-width:0.75}
+ .st2 {fill:#4f87bb;font-family:Calibri;font-size:0.833336em}
+ .st3 {visibility:visible}
+ .st4 {fill:#759fcc;fill-opacity:0.25;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.25}
+ .st5 {fill:#668bb3;stroke:#547395;stroke-width:0.75}
+ .st6 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st7 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st8 {fill:#4f87bb;stroke:#40709c;stroke-width:0.75}
+ .st9 {fill:#759fcc;fill-opacity:0.22;filter:url(#filter_2);stroke:#759fcc;stroke-opacity:0.22}
+ .st10 {fill:#759fcc;stroke:#c7c8c8;stroke-width:0.25}
+ .st11 {font-size:1em}
+ .st12 {fill:url(#grad0-56);stroke:#a6b6cd;stroke-width:0.75}
+ .st13 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Patterns_And_Gradients">
+ <linearGradient id="grad0-4" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(60 0.5 0.5)">
+ <stop offset="0" stop-color="#e9eff7" stop-opacity="1"/>
+ <stop offset="0.24" stop-color="#f4f7fb" stop-opacity="1"/>
+ <stop offset="0.54" stop-color="#feffff" stop-opacity="1"/>
+ </linearGradient>
+ <linearGradient id="grad0-56" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(60 0.5 0.5)">
+ <stop offset="0" stop-color="#f3f6fa" stop-opacity="1"/>
+ <stop offset="0.24" stop-color="#f9fafc" stop-opacity="1"/>
+ <stop offset="0.54" stop-color="#feffff" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g>
+ <title>Page-1</title>
+ <g id="shape38-1" transform="translate(3.0294,-0.75)">
+ <title>Rectangle.38</title>
+ <desc>DPDK</desc>
+ <rect x="0" y="70.7886" width="311.811" height="87.874" class="st1"/>
+ <text x="285.14" y="83.79" class="st2">DPDK</text> </g>
+ <g id="shape8-6" transform="translate(12.5358,-7.83661)">
+ <title>Rectangle.8</title>
+ <desc>bonded ethdev</desc>
+ <g id="shadow8-7" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
+ <rect x="0" y="87.7965" width="171.911" height="70.8661" class="st4"/>
+ </g>
+ <rect x="0" y="87.7965" width="171.911" height="70.8661" class="st5"/>
+ <text x="55.03" y="100.8" class="st6">bonded ethdev</text> </g>
+ <g id="shape3-12" transform="translate(3.0294,-121.309)">
+ <title>Rectangle</title>
+ <desc>User Application</desc>
+ <g id="shadow3-13" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
+ <rect x="0" y="122.711" width="311.811" height="35.9516" class="st7"/>
+ </g>
+ <rect x="0" y="122.711" width="311.811" height="35.9516" class="st8"/>
+ <text x="122.34" y="143.69" class="st6">User Application</text> </g>
+ <g id="shape5-18" transform="translate(17.2026,-14.9232)">
+ <title>Rectangle.5</title>
+ <desc>ethdev port</desc>
+ <g id="shadow5-19" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st9"/>
+ </g>
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st10"/>
+ <text x="9.52" y="137.9" class="st6">ethdev <tspan x="15" dy="1.2em" class="st11">port</tspan></text> </g>
+ <g id="shape6-25" transform="translate(73.8955,-14.9232)">
+ <title>Rectangle.6</title>
+ <desc>ethdev port</desc>
+ <g id="shadow6-26" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st9"/>
+ </g>
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st10"/>
+ <text x="9.52" y="137.9" class="st6">ethdev <tspan x="15" dy="1.2em" class="st11">port</tspan></text> </g>
+ <g id="shape7-32" transform="translate(130.588,-14.9232)">
+ <title>Rectangle.7</title>
+ <desc>ethdev port</desc>
+ <g id="shadow7-33" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st9"/>
+ </g>
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st10"/>
+ <text x="9.52" y="137.9" class="st6">ethdev <tspan x="15" dy="1.2em" class="st11">port</tspan></text> </g>
+ <g id="shape9-39" transform="translate(199.035,-14.8368)">
+ <title>Rectangle.9</title>
+ <desc>ethdev port</desc>
+ <g id="shadow9-40" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st9"/>
+ </g>
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st10"/>
+ <text x="9.52" y="137.9" class="st6">ethdev <tspan x="15" dy="1.2em" class="st11">port</tspan></text> </g>
+ <g id="shape10-46" transform="translate(255.728,-14.8368)">
+ <title>Rectangle.10</title>
+ <desc>ethdev port</desc>
+ <g id="shadow10-47" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st9"/>
+ </g>
+ <rect x="0" y="123.143" width="47.3593" height="35.5195" class="st10"/>
+ <text x="9.52" y="137.9" class="st6">ethdev <tspan x="15" dy="1.2em" class="st11">port</tspan></text> </g>
+ <g id="shape28-53" transform="translate(-60.1711,80.2563) rotate(-90.107)">
+ <title>Simple Double Arrow</title>
+ <path d="M0 158.66 L11.34 154.18 L11.34 156.42 L29.38 156.42 L29.38 154.18 L40.72 158.66 L29.38 163.15 L29.38 160.9 L11.34
+ 160.9 L11.34 163.15 L0 158.66 Z" class="st12"/>
+ </g>
+ <g id="shape30-57" transform="translate(120.746,108.97) rotate(-90.2397)">
+ <title>Simple Double Arrow.30</title>
+ <path d="M0 158.66 L11.34 154.18 L11.34 156.42 L56.41 156.42 L56.41 154.18 L67.75 158.66 L56.41 163.15 L56.41 160.9 L11.34
+ 160.9 L11.34 163.15 L0 158.66 Z" class="st12"/>
+ </g>
+ <g id="shape42-60" transform="translate(64.0521,108.636) rotate(-90.1191)">
+ <title>Simple Double Arrow.42</title>
+ <path d="M0 158.66 L11.34 154.18 L11.34 156.42 L56.87 156.42 L56.87 154.18 L68.21 158.66 L56.87 163.15 L56.87 160.9 L11.34
+ 160.9 L11.34 163.15 L0 158.66 Z" class="st12"/>
+ </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/crypto_op.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/crypto_op.svg
new file mode 100644
index 00000000..96e3affa
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/crypto_op.svg
@@ -0,0 +1,75 @@
+<?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 Microsoft Visio, SVG Export crypto_op.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ width="2.17241in" height="2.8102in" viewBox="0 0 156.413 202.335" xml:space="preserve" color-interpolation-filters="sRGB"
+ class="st10">
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:url(#grad0-4);stroke:#386288;stroke-width:0.75}
+ .st2 {fill:#386288;font-family:Calibri;font-size:0.833336em}
+ .st3 {fill:#ffffff;stroke:#41719c;stroke-width:0.75}
+ .st4 {fill:#41719c;font-family:Calibri;font-size:0.833336em}
+ .st5 {font-size:0.799995em}
+ .st6 {font-size:0.799995em;font-weight:bold}
+ .st7 {visibility:visible}
+ .st8 {fill:#bdd0e9;fill-opacity:0.25;filter:url(#filter_2);stroke:#bdd0e9;stroke-opacity:0.25}
+ .st9 {fill:#a6b6cd;stroke:#41719c;stroke-width:0.75}
+ .st10 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Patterns_And_Gradients">
+ <linearGradient id="grad0-4" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(60 0.5 0.5)">
+ <stop offset="0" stop-color="#e8ebef" stop-opacity="1"/>
+ <stop offset="0.24" stop-color="#f4f5f7" stop-opacity="1"/>
+ <stop offset="0.54" stop-color="#feffff" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g>
+ <title>Page-1</title>
+ <g id="shape1-1" transform="translate(0.749889,-0.75)">
+ <title>Rounded Rectangle.24</title>
+ <desc>Crypto Operation</desc>
+ <path d="M6.78 202.33 L148.14 202.33 A6.77735 6.77735 -180 0 0 154.91 195.56 L154.91 8.28 A6.77735 6.77735 -180 0 0 148.14
+ 1.5 L6.78 1.5 A6.77735 6.77735 -180 0 0 -0 8.28 L0 195.56 A6.77735 6.77735 -180 0 0 6.78 202.33 Z"
+ class="st1"/>
+ <text x="42.07" y="14.5" class="st2">Crypto Operation</text> </g>
+ <g id="shape2-6" transform="translate(10.6711,-66.2303)">
+ <title>Rounded Rectangle.7</title>
+ <desc>Operation Specific Data (struct rte_crypto_sym_op)</desc>
+ <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 160.06 A5.90925 5.90925 -180 0 0
+ 129.16 154.15 L5.91 154.15 A5.90925 5.90925 -180 0 0 -0 160.06 L0 196.43 A5.90925 5.90925 -180 0 0 5.91
+ 202.33 Z" class="st3"/>
+ <text x="19.62" y="175.24" class="st4">Operation Specific Data <tspan x="22.66" dy="1.5em" class="st5">(</tspan><tspan
+ class="st6">struct </tspan><tspan class="st5">rte</tspan><tspan class="st5">_</tspan><tspan class="st5">crypto</tspan><tspan
+ class="st5">_</tspan><tspan class="st5">sym</tspan><tspan class="st5">_</tspan><tspan class="st5">op</tspan><tspan
+ class="st5">)</tspan></text> </g>
+ <g id="shape3-19" transform="translate(10.6711,-9.5374)">
+ <title>Rounded Rectangle.8</title>
+ <desc>private data</desc>
+ <g id="shadow3-20" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st7">
+ <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 160.06 A5.90925 5.90925 -180
+ 0 0 129.16 154.15 L5.91 154.15 A5.90925 5.90925 -180 0 0 -0 160.06 L0 196.43 A5.90925 5.90925 -180 0
+ 0 5.91 202.33 Z" class="st8"/>
+ </g>
+ <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 160.06 A5.90925 5.90925 -180 0 0
+ 129.16 154.15 L5.91 154.15 A5.90925 5.90925 -180 0 0 -0 160.06 L0 196.43 A5.90925 5.90925 -180 0 0 5.91
+ 202.33 Z" class="st9"/>
+ <text x="42.98" y="181.24" class="st4">private data</text> </g>
+ <g id="shape4-25" transform="translate(10.6711,-122.923)">
+ <title>Rounded Rectangle.9</title>
+ <desc>General Operation Data (struct rte_crypto_op)</desc>
+ <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 160.06 A5.90925 5.90925 -180 0 0
+ 129.16 154.15 L5.91 154.15 A5.90925 5.90925 -180 0 0 -0 160.06 L0 196.43 A5.90925 5.90925 -180 0 0 5.91
+ 202.33 Z" class="st3"/>
+ <text x="19.04" y="175.24" class="st4">General Operation Data <tspan x="31.23" dy="1.5em" class="st5">(</tspan><tspan
+ class="st6">struct </tspan><tspan class="st5">rte</tspan><tspan class="st5">_</tspan><tspan class="st5">crypto</tspan><tspan
+ class="st5">_</tspan><tspan class="st5">op</tspan><tspan class="st5">)</tspan></text> </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/crypto_xform_chain.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/crypto_xform_chain.svg
new file mode 100644
index 00000000..4670a07e
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/crypto_xform_chain.svg
@@ -0,0 +1,145 @@
+<?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 Microsoft Visio, SVG Export crypto_xform_chain.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ width="4.9352in" height="4.2584in" viewBox="0 0 355.334 306.605" xml:space="preserve" color-interpolation-filters="sRGB"
+ class="st12">
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:url(#grad0-4);stroke:#386288;stroke-width:0.75}
+ .st2 {fill:#386288;font-family:Calibri;font-size:0.833336em}
+ .st3 {font-size:0.799995em}
+ .st4 {font-size:0.799995em;font-weight:bold}
+ .st5 {visibility:visible}
+ .st6 {fill:#bdd0e9;fill-opacity:0.25;filter:url(#filter_2);stroke:#bdd0e9;stroke-opacity:0.25}
+ .st7 {fill:#a6b6cd;stroke:#41719c;stroke-width:0.75}
+ .st8 {fill:#41719c;font-family:Calibri;font-size:0.833336em}
+ .st9 {fill:#ffffff;stroke:#41719c;stroke-width:0.75}
+ .st10 {marker-end:url(#mrkr4-135);stroke:#41719c;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st11 {fill:#41719c;fill-opacity:1;stroke:#41719c;stroke-opacity:1;stroke-width:0.28409090909091}
+ .st12 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Patterns_And_Gradients">
+ <linearGradient id="grad0-4" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(60 0.5 0.5)">
+ <stop offset="0" stop-color="#e8ebef" stop-opacity="1"/>
+ <stop offset="0.24" stop-color="#f4f5f7" stop-opacity="1"/>
+ <stop offset="0.54" stop-color="#feffff" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <defs id="Markers">
+ <g id="lend4">
+ <path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr4-135" class="st11" refX="-7.04" orient="auto" markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend4" transform="scale(-3.52,-3.52) "/>
+ </marker>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g>
+ <title>Page-1</title>
+ <g id="shape9-1" transform="translate(0.749889,-75.0177)">
+ <title>Rounded Rectangle.24</title>
+ <desc>Symmetric Transform (struct rte_crypto_sym_xform)</desc>
+ <path d="M6.78 306.6 L148.14 306.6 A6.77735 6.77735 -180 0 0 154.91 299.83 L154.91 82.55 A6.77735 6.77735 -180 0 0 148.14
+ 75.77 L6.78 75.77 A6.77735 6.77735 -180 0 0 -0 82.55 L0 299.83 A6.77735 6.77735 -180 0 0 6.78 306.6 Z"
+ class="st1"/>
+ <text x="33.55" y="88.77" class="st2">Symmetric Transform <tspan x="27.14" dy="1.5em" class="st3">(</tspan><tspan
+ class="st4">struct </tspan><tspan class="st3">rte</tspan><tspan class="st3">_</tspan><tspan class="st3">crypto</tspan><tspan
+ class="st3">_</tspan><tspan class="st3">sym</tspan><tspan class="st3">_</tspan><tspan class="st3">xform</tspan><tspan
+ class="st3">)</tspan></text> </g>
+ <g id="shape10-16" transform="translate(10.6711,-83.0965)">
+ <title>Rounded Rectangle.25</title>
+ <desc>Transform Parameters struct rte_crypto_auth_xform struct rte_...</desc>
+ <g id="shadow10-17" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5">
+ <path d="M5.91 306.6 L129.16 306.6 A5.90925 5.90925 -180 0 0 135.07 300.7 L135.07 207.92 A5.90925 5.90925 -180 0
+ 0 129.16 202.01 L5.91 202.01 A5.90925 5.90925 -180 0 0 -0 207.92 L0 300.7 A5.90925 5.90925 -180 0 0
+ 5.91 306.6 Z" class="st6"/>
+ </g>
+ <path d="M5.91 306.6 L129.16 306.6 A5.90925 5.90925 -180 0 0 135.07 300.7 L135.07 207.92 A5.90925 5.90925 -180 0 0 129.16
+ 202.01 L5.91 202.01 A5.90925 5.90925 -180 0 0 -0 207.92 L0 300.7 A5.90925 5.90925 -180 0 0 5.91 306.6 Z"
+ class="st7"/>
+ <text x="21.89" y="241.71" class="st8">Transform Parameters <tspan x="18.76" dy="2.475em" class="st4">struct </tspan><tspan
+ class="st3">rte</tspan><tspan class="st3">_</tspan><tspan class="st3">crypto</tspan><tspan class="st3">_</tspan><tspan
+ class="st3">auth</tspan><tspan class="st3">_</tspan><tspan class="st3">xform </tspan><tspan x="16.02"
+ dy="1.425em" class="st4">struct </tspan><tspan class="st3">rte</tspan><tspan class="st3">_</tspan><tspan
+ class="st3">crypto</tspan><tspan class="st3">_</tspan><tspan class="st3">cipher</tspan><tspan class="st3">_</tspan><tspan
+ class="st3">xform</tspan></text> </g>
+ <g id="shape11-38" transform="translate(10.6711,-238.133)">
+ <title>Rounded Rectangle.26</title>
+ <desc>next transform (struct rte_crypto_sym_xform *)</desc>
+ <path d="M5.91 306.6 L129.16 306.6 A5.90925 5.90925 -180 0 0 135.07 300.7 L135.07 283.84 A5.90925 5.90925 -180 0 0 129.16
+ 277.93 L5.91 277.93 A5.90925 5.90925 -180 0 0 0 283.84 L0 300.7 A5.90925 5.90925 -180 0 0 5.91 306.6 Z"
+ class="st9"/>
+ <text x="37.15" y="289.27" class="st8">next transform <tspan x="14.33" dy="1.5em" class="st3">(</tspan><tspan
+ class="st4">struct </tspan><tspan class="st3">rte</tspan><tspan class="st3">_</tspan><tspan class="st3">crypto</tspan><tspan
+ class="st3">_</tspan><tspan class="st3">sym</tspan><tspan class="st3">_</tspan><tspan class="st3">xform </tspan><tspan
+ class="st3">*)</tspan></text> </g>
+ <g id="shape12-51" transform="translate(10.6711,-199.175)">
+ <title>Rounded Rectangle.29</title>
+ <desc>transform type (enum rte_crypto_sym_xform_type)</desc>
+ <path d="M5.91 306.6 L129.16 306.6 A5.90925 5.90925 -180 0 0 135.07 300.7 L135.07 283.84 A5.90925 5.90925 -180 0 0 129.16
+ 277.93 L5.91 277.93 A5.90925 5.90925 -180 0 0 0 283.84 L0 300.7 A5.90925 5.90925 -180 0 0 5.91 306.6 Z"
+ class="st9"/>
+ <text x="37.06" y="289.27" class="st8">transform type <tspan x="8.04" dy="1.5em" class="st3">(</tspan><tspan
+ class="st4">enum </tspan><tspan class="st3">rte</tspan><tspan class="st3">_</tspan><tspan class="st3">crypto</tspan><tspan
+ class="st3">_</tspan><tspan class="st3">sym</tspan><tspan class="st3">_</tspan><tspan class="st3">xform</tspan><tspan
+ class="st3">_</tspan><tspan class="st3">type</tspan><tspan class="st3">)</tspan></text> </g>
+ <g id="shape13-66" transform="translate(199.671,-0.75)">
+ <title>Rounded Rectangle.30</title>
+ <desc>Symmetric Transform (struct rte_crypto_sym_xform)</desc>
+ <path d="M6.78 306.6 L148.14 306.6 A6.77735 6.77735 -180 0 0 154.91 299.83 L154.91 82.55 A6.77735 6.77735 -180 0 0 148.14
+ 75.77 L6.78 75.77 A6.77735 6.77735 -180 0 0 -0 82.55 L0 299.83 A6.77735 6.77735 -180 0 0 6.78 306.6 Z"
+ class="st1"/>
+ <text x="33.55" y="88.77" class="st2">Symmetric Transform <tspan x="27.14" dy="1.5em" class="st3">(</tspan><tspan
+ class="st4">struct </tspan><tspan class="st3">rte</tspan><tspan class="st3">_</tspan><tspan class="st3">crypto</tspan><tspan
+ class="st3">_</tspan><tspan class="st3">sym</tspan><tspan class="st3">_</tspan><tspan class="st3">xform</tspan><tspan
+ class="st3">)</tspan></text> </g>
+ <g id="shape14-80" transform="translate(209.592,-8.82874)">
+ <title>Rounded Rectangle.31</title>
+ <desc>Transform Parameters struct rte_crypto_auth_xform struct rte_...</desc>
+ <g id="shadow14-81" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5">
+ <path d="M5.91 306.6 L129.16 306.6 A5.90925 5.90925 -180 0 0 135.07 300.7 L135.07 207.92 A5.90925 5.90925 -180 0
+ 0 129.16 202.01 L5.91 202.01 A5.90925 5.90925 -180 0 0 -0 207.92 L0 300.7 A5.90925 5.90925 -180 0 0
+ 5.91 306.6 Z" class="st6"/>
+ </g>
+ <path d="M5.91 306.6 L129.16 306.6 A5.90925 5.90925 -180 0 0 135.07 300.7 L135.07 207.92 A5.90925 5.90925 -180 0 0 129.16
+ 202.01 L5.91 202.01 A5.90925 5.90925 -180 0 0 -0 207.92 L0 300.7 A5.90925 5.90925 -180 0 0 5.91 306.6 Z"
+ class="st7"/>
+ <text x="21.89" y="241.71" class="st8">Transform Parameters <tspan x="18.76" dy="2.475em" class="st4">struct </tspan><tspan
+ class="st3">rte</tspan><tspan class="st3">_</tspan><tspan class="st3">crypto</tspan><tspan class="st3">_</tspan><tspan
+ class="st3">auth</tspan><tspan class="st3">_</tspan><tspan class="st3">xform </tspan><tspan x="16.02"
+ dy="1.425em" class="st4">struct </tspan><tspan class="st3">rte</tspan><tspan class="st3">_</tspan><tspan
+ class="st3">crypto</tspan><tspan class="st3">_</tspan><tspan class="st3">cipher</tspan><tspan class="st3">_</tspan><tspan
+ class="st3">xform</tspan></text> </g>
+ <g id="shape15-102" transform="translate(209.592,-163.865)">
+ <title>Rounded Rectangle.32</title>
+ <desc>next transform (struct rte_crypto_sym_xform *)</desc>
+ <path d="M5.91 306.6 L129.16 306.6 A5.90925 5.90925 -180 0 0 135.07 300.7 L135.07 283.84 A5.90925 5.90925 -180 0 0 129.16
+ 277.93 L5.91 277.93 A5.90925 5.90925 -180 0 0 0 283.84 L0 300.7 A5.90925 5.90925 -180 0 0 5.91 306.6 Z"
+ class="st9"/>
+ <text x="37.15" y="289.27" class="st8">next transform <tspan x="14.33" dy="1.5em" class="st3">(</tspan><tspan
+ class="st4">struct </tspan><tspan class="st3">rte</tspan><tspan class="st3">_</tspan><tspan class="st3">crypto</tspan><tspan
+ class="st3">_</tspan><tspan class="st3">sym</tspan><tspan class="st3">_</tspan><tspan class="st3">xform </tspan><tspan
+ class="st3">*)</tspan></text> </g>
+ <g id="shape16-115" transform="translate(209.592,-124.907)">
+ <title>Rounded Rectangle.33</title>
+ <desc>transform type (enum rte_crypto_sym_xform_type)</desc>
+ <path d="M5.91 306.6 L129.16 306.6 A5.90925 5.90925 -180 0 0 135.07 300.7 L135.07 283.84 A5.90925 5.90925 -180 0 0 129.16
+ 277.93 L5.91 277.93 A5.90925 5.90925 -180 0 0 0 283.84 L0 300.7 A5.90925 5.90925 -180 0 0 5.91 306.6 Z"
+ class="st9"/>
+ <text x="37.06" y="289.27" class="st8">transform type <tspan x="8.04" dy="1.5em" class="st3">(</tspan><tspan
+ class="st4">enum </tspan><tspan class="st3">rte</tspan><tspan class="st3">_</tspan><tspan class="st3">crypto</tspan><tspan
+ class="st3">_</tspan><tspan class="st3">sym</tspan><tspan class="st3">_</tspan><tspan class="st3">xform</tspan><tspan
+ class="st3">_</tspan><tspan class="st3">type</tspan><tspan class="st3">)</tspan></text> </g>
+ <g id="shape17-130" transform="translate(145.742,-252.47)">
+ <title>Dynamic connector</title>
+ <path d="M0 306.6 L131.39 306.6 L131.39 320.45" class="st10"/>
+ </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/cryptodev_sym_sess.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/cryptodev_sym_sess.svg
new file mode 100644
index 00000000..e5f41ec5
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/cryptodev_sym_sess.svg
@@ -0,0 +1,66 @@
+<?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 Microsoft Visio, SVG Export cryptodev_sym_sess.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ width="2.17241in" height="2.8102in" viewBox="0 0 156.413 202.335" xml:space="preserve" color-interpolation-filters="sRGB"
+ class="st10">
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:url(#grad0-4);stroke:#386288;stroke-width:0.75}
+ .st2 {fill:#386288;font-family:Calibri;font-size:0.833336em}
+ .st3 {visibility:visible}
+ .st4 {fill:#bdd0e9;fill-opacity:0.25;filter:url(#filter_2);stroke:#bdd0e9;stroke-opacity:0.25}
+ .st5 {fill:#a6b6cd;stroke:#41719c;stroke-width:0.75}
+ .st6 {fill:#41719c;font-family:Calibri;font-size:0.833336em}
+ .st7 {fill:#ffffff;stroke:#41719c;stroke-width:0.75}
+ .st8 {font-size:0.799995em}
+ .st9 {font-size:0.799995em;font-weight:bold}
+ .st10 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Patterns_And_Gradients">
+ <linearGradient id="grad0-4" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(60 0.5 0.5)">
+ <stop offset="0" stop-color="#e8ebef" stop-opacity="1"/>
+ <stop offset="0.24" stop-color="#f4f5f7" stop-opacity="1"/>
+ <stop offset="0.54" stop-color="#feffff" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g>
+ <title>Page-1</title>
+ <g id="shape18-1" transform="translate(0.749889,-0.75)">
+ <title>Rounded Rectangle.12</title>
+ <desc>Crypto Symmetric Session</desc>
+ <path d="M6.78 202.33 L148.14 202.33 A6.77735 6.77735 -180 0 0 154.91 195.56 L154.91 8.28 A6.77735 6.77735 -180 0 0 148.14
+ 1.5 L6.78 1.5 A6.77735 6.77735 -180 0 0 -0 8.28 L0 195.56 A6.77735 6.77735 -180 0 0 6.78 202.33 Z"
+ class="st1"/>
+ <text x="24.76" y="14.5" class="st2">Crypto Symmetric Session</text> </g>
+ <g id="shape19-6" transform="translate(10.6711,-9.82087)">
+ <title>Rounded Rectangle.13</title>
+ <desc>Private Session Data</desc>
+ <g id="shadow19-7" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st3">
+ <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 103.65 A5.90925 5.90925 -180
+ 0 0 129.16 97.74 L5.91 97.74 A5.90925 5.90925 -180 0 0 -0 103.65 L0 196.43 A5.90925 5.90925 -180 0 0
+ 5.91 202.33 Z" class="st4"/>
+ </g>
+ <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 103.65 A5.90925 5.90925 -180 0 0
+ 129.16 97.74 L5.91 97.74 A5.90925 5.90925 -180 0 0 -0 103.65 L0 196.43 A5.90925 5.90925 -180 0 0 5.91 202.33
+ Z" class="st5"/>
+ <text x="26.34" y="153.04" class="st6">Private Session Data</text> </g>
+ <g id="shape20-12" transform="translate(10.6711,-122.923)">
+ <title>Rounded Rectangle.15</title>
+ <desc>General Session Data (struct rte_cryptodev_sym_session)</desc>
+ <path d="M5.91 202.33 L129.16 202.33 A5.90925 5.90925 -180 0 0 135.07 196.43 L135.07 160.06 A5.90925 5.90925 -180 0 0
+ 129.16 154.15 L5.91 154.15 A5.90925 5.90925 -180 0 0 -0 160.06 L0 196.43 A5.90925 5.90925 -180 0 0 5.91
+ 202.33 Z" class="st7"/>
+ <text x="24.58" y="175.24" class="st6">General Session Data <tspan x="9.16" dy="1.5em" class="st8">(</tspan><tspan
+ class="st9">struct </tspan><tspan class="st8">rte</tspan><tspan class="st8">_</tspan><tspan class="st8">cryptodev</tspan><tspan
+ class="st8">_</tspan><tspan class="st8">sym</tspan><tspan class="st8">_</tspan><tspan class="st8">session</tspan><tspan
+ class="st8">)</tspan></text> </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/data_struct_per_port.png b/src/seastar/dpdk/doc/guides/prog_guide/img/data_struct_per_port.png
new file mode 100644
index 00000000..ab80052f
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/data_struct_per_port.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_eq3.png b/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_eq3.png
new file mode 100644
index 00000000..790f0a3f
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_eq3.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_eq4.png b/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_eq4.png
new file mode 100644
index 00000000..ef8e765e
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_eq4.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_graph.png b/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_graph.png
new file mode 100644
index 00000000..e6e18985
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/drop_probability_graph.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i1.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i1.svg
new file mode 100644
index 00000000..7f8fcb3b
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i1.svg
@@ -0,0 +1,130 @@
+<?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 Microsoft Visio, SVG Export efd_i1.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.25609in" height="3.375in"
+ viewBox="0 0 234.439 243" xml:space="preserve" color-interpolation-filters="sRGB" class="st10">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st3 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {marker-end:url(#mrkr5-12);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:6}
+ .st6 {fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-opacity:1;stroke-width:0.70422535211268}
+ .st7 {stroke:#5b9bd5;stroke-dasharray:2.25,4.5;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.25}
+ .st8 {marker-end:url(#mrkr5-39);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st9 {fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-opacity:1;stroke-width:0.37313432835821}
+ .st10 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend5">
+ <path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr5-12" class="st6" v:arrowType="5" v:arrowSize="2" v:setback="2.485" refX="-2.485" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-1.42,-1.42) "/>
+ </marker>
+ <marker id="mrkr5-39" class="st9" v:arrowType="5" v:arrowSize="2" v:setback="4.69" refX="-4.69" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-2.68,-2.68) "/>
+ </marker>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape2-1" v:mID="2" v:groupContext="shape" transform="translate(77.718,-113.348)">
+ <title>Square</title>
+ <desc>LB</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="18" cy="225" width="36" height="36"/>
+ <g id="shadow2-2" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="207" width="36" height="36" class="st2"/>
+ </g>
+ <rect x="0" y="207" width="36" height="36" class="st3"/>
+ <text x="13.18" y="228" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>LB</text> </g>
+ <g id="shape3-7" v:mID="3" v:groupContext="shape" transform="translate(37.0513,-131.348)">
+ <title>Sheet.3</title>
+ <path d="M0 243 L25.76 243" class="st5"/>
+ </g>
+ <g id="shape4-13" v:mID="4" v:groupContext="shape" transform="translate(167.718,-178.598)">
+ <title>Square.4</title>
+ <desc>Target 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="220.5" width="45" height="45"/>
+ <g id="shadow4-14" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="198" width="45" height="45" class="st2"/>
+ </g>
+ <rect x="0" y="198" width="45" height="45" class="st3"/>
+ <text x="5.74" y="223.5" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Target 1</text> </g>
+ <g id="shape5-19" v:mID="5" v:groupContext="shape" transform="translate(167.718,-121.005)">
+ <title>Square.5</title>
+ <desc>Target 2</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="220.5" width="45" height="45"/>
+ <g id="shadow5-20" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="198" width="45" height="45" class="st2"/>
+ </g>
+ <rect x="0" y="198" width="45" height="45" class="st3"/>
+ <text x="5.74" y="223.5" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Target 2</text> </g>
+ <g id="shape7-25" v:mID="7" v:groupContext="shape" transform="translate(167.718,-23.3478)">
+ <title>Square.7</title>
+ <desc>Target N</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="220.5" width="45" height="45"/>
+ <g id="shadow7-26" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="198" width="45" height="45" class="st2"/>
+ </g>
+ <rect x="0" y="198" width="45" height="45" class="st3"/>
+ <text x="5.05" y="223.5" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Target N</text> </g>
+ <g id="shape8-31" v:mID="8" v:groupContext="shape" transform="translate(433.218,132.402) rotate(90)">
+ <title>Sheet.8</title>
+ <path d="M0 243 L34.59 243" class="st7"/>
+ </g>
+ <g id="shape9-34" v:mID="9" v:groupContext="shape" transform="translate(-78.4279,-37.1059) rotate(-52.2532)">
+ <title>Sheet.9</title>
+ <path d="M0 243 L81.18 243" class="st8"/>
+ </g>
+ <g id="shape11-40" v:mID="11" v:groupContext="shape" transform="translate(60.3469,-125.414) rotate(-12.6875)">
+ <title>Sheet.11</title>
+ <path d="M0 243 L48.32 243" class="st8"/>
+ </g>
+ <g id="shape12-45" v:mID="12" v:groupContext="shape" transform="translate(319.172,-18.1081) rotate(57.7244)">
+ <title>Sheet.12</title>
+ <path d="M0 243 L94.09 243" class="st8"/>
+ </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i10.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i10.svg
new file mode 100644
index 00000000..d26ec61e
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i10.svg
@@ -0,0 +1,384 @@
+<?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 Microsoft Visio, SVG Export efd_i11.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="9.76715in" height="2.82917in"
+ viewBox="0 0 703.234 203.701" xml:space="preserve" color-interpolation-filters="sRGB" class="st15">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st2 {fill:none;stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st3 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st4 {fill:#000000;font-family:Arial;font-size:0.998566em}
+ .st5 {fill:#0071c5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st6 {fill:#000000;font-family:Arial;font-size:0.918686em;font-style:italic}
+ .st7 {fill:#000000;font-family:Arial;font-size:0.918686em}
+ .st8 {fill:#7e8d96;font-family:Arial;font-size:0.998566em;font-weight:bold}
+ .st9 {fill:#00b050;font-family:Arial;font-size:0.998566em;font-weight:bold}
+ .st10 {fill:#ff0000;font-family:Arial;font-size:0.998566em;font-weight:bold}
+ .st11 {fill:#004280;stroke:#004280;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0299855}
+ .st12 {fill:#ffffff;font-family:Arial;font-size:1.49785em}
+ .st13 {stroke:#004280;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st14 {fill:#004280;stroke:#004280;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0149927}
+ .st15 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape3-1" v:mID="3" v:groupContext="shape" transform="translate(19.0195,-93.4328)">
+ <title>Sheet.3</title>
+ <path d="M0 182.93 C0 180.64 1.87 178.78 4.16 178.78 L109.18 178.78 C111.47 178.78 113.33 180.64 113.33 182.93 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.16 203.7 C1.87 203.7 0 201.84 0 199.55 L0 182.93 Z"
+ class="st1"/>
+ </g>
+ <g id="shape4-3" v:mID="4" v:groupContext="shape" transform="translate(19.0195,-93.4328)">
+ <title>Sheet.4</title>
+ <path d="M0 182.93 C0 180.64 1.87 178.78 4.16 178.78 L109.18 178.78 C111.47 178.78 113.33 180.64 113.33 182.93 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.16 203.7 C1.87 203.7 0 201.84 0 199.55 L0 182.93 Z"
+ class="st2"/>
+ </g>
+ <g id="shape5-5" v:mID="5" v:groupContext="shape" transform="translate(19.0195,-96.9057)">
+ <title>Sheet.5</title>
+ <desc>Key1: Value = 0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="58.0575" cy="196.509" width="116.12" height="14.3829"/>
+ <path d="M116.11 189.32 L0 189.32 L0 203.7 L116.11 203.7 L116.11 189.32" class="st3"/>
+ <text x="15.59" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key1: Value = 0</text> </g>
+ <g id="shape6-9" v:mID="6" v:groupContext="shape" transform="translate(19.0195,-68.6284)">
+ <title>Sheet.6</title>
+ <path d="M0 182.93 C0 180.64 1.87 178.78 4.16 178.78 L109.18 178.78 C111.47 178.78 113.33 180.64 113.33 182.93 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.16 203.7 C1.87 203.7 0 201.84 0 199.55 L0 182.93 Z"
+ class="st1"/>
+ </g>
+ <g id="shape7-11" v:mID="7" v:groupContext="shape" transform="translate(19.0195,-68.6284)">
+ <title>Sheet.7</title>
+ <path d="M0 182.93 C0 180.64 1.87 178.78 4.16 178.78 L109.18 178.78 C111.47 178.78 113.33 180.64 113.33 182.93 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.16 203.7 C1.87 203.7 0 201.84 0 199.55 L0 182.93 Z"
+ class="st2"/>
+ </g>
+ <g id="shape8-13" v:mID="8" v:groupContext="shape" transform="translate(19.0195,-72.0832)">
+ <title>Sheet.8</title>
+ <desc>Key3: Value = 1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="58.0575" cy="196.509" width="116.12" height="14.3829"/>
+ <path d="M116.11 189.32 L0 189.32 L0 203.7 L116.11 203.7 L116.11 189.32" class="st3"/>
+ <text x="15.59" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key3: Value = 1</text> </g>
+ <g id="shape9-17" v:mID="9" v:groupContext="shape" transform="translate(19.0195,-43.5843)">
+ <title>Sheet.9</title>
+ <path d="M0 182.84 C-0 180.53 1.88 178.66 4.19 178.66 L109.15 178.66 C111.46 178.66 113.33 180.53 113.33 182.84 L113.33
+ 199.53 C113.33 201.84 111.46 203.7 109.15 203.7 L4.19 203.7 C1.88 203.7 0 201.84 0 199.53 L0 182.84 Z"
+ class="st1"/>
+ </g>
+ <g id="shape10-19" v:mID="10" v:groupContext="shape" transform="translate(19.0195,-43.5843)">
+ <title>Sheet.10</title>
+ <path d="M0 182.84 C-0 180.53 1.88 178.66 4.19 178.66 L109.15 178.66 C111.46 178.66 113.33 180.53 113.33 182.84 L113.33
+ 199.53 C113.33 201.84 111.46 203.7 109.15 203.7 L4.19 203.7 C1.88 203.7 0 201.84 0 199.53 L0 182.84 Z"
+ class="st2"/>
+ </g>
+ <g id="shape11-21" v:mID="11" v:groupContext="shape" transform="translate(19.0195,-47.1109)">
+ <title>Sheet.11</title>
+ <desc>Key4: Value = 0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="58.0575" cy="196.509" width="116.12" height="14.3829"/>
+ <path d="M116.11 189.32 L0 189.32 L0 203.7 L116.11 203.7 L116.11 189.32" class="st3"/>
+ <text x="15.59" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key4: Value = 0</text> </g>
+ <g id="shape12-25" v:mID="12" v:groupContext="shape" transform="translate(19.0195,-19.0195)">
+ <title>Sheet.12</title>
+ <path d="M0 182.84 C-0 180.53 1.88 178.66 4.19 178.66 L109.15 178.66 C111.46 178.66 113.33 180.53 113.33 182.84 L113.33
+ 199.53 C113.33 201.84 111.46 203.7 109.15 203.7 L4.19 203.7 C1.88 203.7 0 201.84 0 199.53 L0 182.84 Z"
+ class="st1"/>
+ </g>
+ <g id="shape13-27" v:mID="13" v:groupContext="shape" transform="translate(19.0195,-19.0195)">
+ <title>Sheet.13</title>
+ <path d="M0 182.84 C-0 180.53 1.88 178.66 4.19 178.66 L109.15 178.66 C111.46 178.66 113.33 180.53 113.33 182.84 L113.33
+ 199.53 C113.33 201.84 111.46 203.7 109.15 203.7 L4.19 203.7 C1.88 203.7 0 201.84 0 199.53 L0 182.84 Z"
+ class="st2"/>
+ </g>
+ <g id="shape14-29" v:mID="14" v:groupContext="shape" transform="translate(19.0195,-22.5475)">
+ <title>Sheet.14</title>
+ <desc>Key7: Value = 1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="58.0575" cy="196.509" width="116.12" height="14.3829"/>
+ <path d="M116.11 189.32 L0 189.32 L0 203.7 L116.11 203.7 L116.11 189.32" class="st3"/>
+ <text x="15.59" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key7: Value = 1</text> </g>
+ <g id="shape15-33" v:mID="15" v:groupContext="shape" transform="translate(141.656,-45.5615)">
+ <title>Sheet.15</title>
+ <path d="M0 169.01 L22.75 169.01 L22.75 157.45 L45.5 180.57 L22.75 203.7 L22.75 192.14 L0 192.14 L0 169.01 Z"
+ class="st5"/>
+ </g>
+ <g id="shape16-35" v:mID="16" v:groupContext="shape" transform="translate(193.22,-56.0464)">
+ <title>Sheet.16</title>
+ <path d="M0 182.84 C0 180.53 1.88 178.66 4.19 178.66 L96.55 178.66 C98.87 178.66 100.73 180.53 100.73 182.84 L100.73
+ 199.54 C100.73 201.84 98.87 203.7 96.55 203.7 L4.19 203.7 C1.88 203.7 0 201.84 0 199.54 L0 182.84 Z"
+ class="st1"/>
+ </g>
+ <g id="shape17-37" v:mID="17" v:groupContext="shape" transform="translate(193.22,-56.0464)">
+ <title>Sheet.17</title>
+ <path d="M0 182.84 C0 180.53 1.88 178.66 4.19 178.66 L96.55 178.66 C98.87 178.66 100.73 180.53 100.73 182.84 L100.73
+ 199.54 C100.73 201.84 98.87 203.7 96.55 203.7 L4.19 203.7 C1.88 203.7 0 201.84 0 199.54 L0 182.84 Z"
+ class="st2"/>
+ </g>
+ <g id="shape18-39" v:mID="18" v:groupContext="shape" transform="translate(228.157,-66.9545)">
+ <title>Sheet.18</title>
+ <desc>F</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="5.63538" cy="197.084" width="11.28" height="13.2327"/>
+ <path d="M11.27 190.47 L0 190.47 L0 203.7 L11.27 203.7 L11.27 190.47" class="st3"/>
+ <text x="2.27" y="200.39" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>F</text> </g>
+ <g id="shape19-43" v:mID="19" v:groupContext="shape" transform="translate(234.88,-66.9545)">
+ <title>Sheet.19</title>
+ <desc>(key,</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="17.261" cy="197.084" width="34.53" height="13.2327"/>
+ <path d="M34.52 190.47 L0 190.47 L0 203.7 L34.52 203.7 L34.52 190.47" class="st3"/>
+ <text x="5.32" y="200.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(key, </text> </g>
+ <g id="shape20-47" v:mID="20" v:groupContext="shape" transform="translate(198.215,-53.7734)">
+ <title>Sheet.20</title>
+ <desc>hash_index =</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="41.4128" cy="197.084" width="82.83" height="13.2327"/>
+ <path d="M82.83 190.47 L0 190.47 L0 203.7 L82.83 203.7 L82.83 190.47" class="st3"/>
+ <text x="8.47" y="200.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash_index = </text> </g>
+ <g id="shape21-51" v:mID="21" v:groupContext="shape" transform="translate(274.858,-53.7734)">
+ <title>Sheet.21</title>
+ <desc>i)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="5.28241" cy="197.084" width="10.57" height="13.2327"/>
+ <path d="M10.56 190.47 L0 190.47 L0 203.7 L10.56 203.7 L10.56 190.47" class="st3"/>
+ <text x="2.22" y="200.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>i)</text> </g>
+ <g id="shape22-55" v:mID="22" v:groupContext="shape" transform="translate(351.453,-93.7923)">
+ <title>Sheet.22</title>
+ <path d="M0 182.84 C0 180.53 1.88 178.66 4.19 178.66 L109.16 178.66 C111.47 178.66 113.33 180.53 113.33 182.84 L113.33
+ 199.54 C113.33 201.84 111.47 203.7 109.16 203.7 L4.19 203.7 C1.88 203.7 0 201.84 0 199.54 L0 182.84 Z"
+ class="st1"/>
+ </g>
+ <g id="shape23-57" v:mID="23" v:groupContext="shape" transform="translate(351.453,-93.7923)">
+ <title>Sheet.23</title>
+ <path d="M0 182.84 C0 180.53 1.88 178.66 4.19 178.66 L109.16 178.66 C111.47 178.66 113.33 180.53 113.33 182.84 L113.33
+ 199.54 C113.33 201.84 111.47 203.7 109.16 203.7 L4.19 203.7 C1.88 203.7 0 201.84 0 199.54 L0 182.84 Z"
+ class="st2"/>
+ </g>
+ <g id="shape24-59" v:mID="24" v:groupContext="shape" transform="translate(355.798,-97.3147)">
+ <title>Sheet.24</title>
+ <desc>Key1: Position 4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="51.7083" cy="196.509" width="103.42" height="14.3829"/>
+ <path d="M103.42 189.32 L0 189.32 L0 203.7 L103.42 203.7 L103.42 189.32" class="st3"/>
+ <text x="8.41" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key1: Position 4</text> </g>
+ <g id="shape25-63" v:mID="25" v:groupContext="shape" transform="translate(351.453,-68.9879)">
+ <title>Sheet.25</title>
+ <path d="M0 182.94 C0 180.65 1.88 178.78 4.17 178.78 L109.18 178.78 C111.47 178.78 113.33 180.65 113.33 182.94 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.17 203.7 C1.88 203.7 0 201.84 0 199.55 L0 182.94 Z"
+ class="st1"/>
+ </g>
+ <g id="shape26-65" v:mID="26" v:groupContext="shape" transform="translate(351.453,-68.9879)">
+ <title>Sheet.26</title>
+ <path d="M0 182.94 C0 180.65 1.88 178.78 4.17 178.78 L109.18 178.78 C111.47 178.78 113.33 180.65 113.33 182.94 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.17 203.7 C1.88 203.7 0 201.84 0 199.55 L0 182.94 Z"
+ class="st2"/>
+ </g>
+ <g id="shape27-67" v:mID="27" v:groupContext="shape" transform="translate(355.798,-72.4921)">
+ <title>Sheet.27</title>
+ <desc>Key3: Position 6</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="51.7083" cy="196.509" width="103.42" height="14.3829"/>
+ <path d="M103.42 189.32 L0 189.32 L0 203.7 L103.42 203.7 L103.42 189.32" class="st3"/>
+ <text x="8.41" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key3: Position 6</text> </g>
+ <g id="shape28-71" v:mID="28" v:groupContext="shape" transform="translate(351.453,-44.0636)">
+ <title>Sheet.28</title>
+ <path d="M0 182.94 C0 180.65 1.88 178.78 4.17 178.78 L109.18 178.78 C111.47 178.78 113.33 180.65 113.33 182.94 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.17 203.7 C1.88 203.7 0 201.84 0 199.55 L0 182.94 Z"
+ class="st1"/>
+ </g>
+ <g id="shape29-73" v:mID="29" v:groupContext="shape" transform="translate(351.453,-44.0636)">
+ <title>Sheet.29</title>
+ <path d="M0 182.94 C0 180.65 1.88 178.78 4.17 178.78 L109.18 178.78 C111.47 178.78 113.33 180.65 113.33 182.94 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.17 203.7 C1.88 203.7 0 201.84 0 199.55 L0 182.94 Z"
+ class="st2"/>
+ </g>
+ <g id="shape30-75" v:mID="30" v:groupContext="shape" transform="translate(351.215,-47.5198)">
+ <title>Sheet.30</title>
+ <desc>Key4: Position 14</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="55.5403" cy="196.509" width="111.09" height="14.3829"/>
+ <path d="M111.08 189.32 L0 189.32 L0 203.7 L111.08 203.7 L111.08 189.32" class="st3"/>
+ <text x="8.91" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key4: Position 14</text> </g>
+ <g id="shape31-79" v:mID="31" v:groupContext="shape" transform="translate(351.453,-19.4988)">
+ <title>Sheet.31</title>
+ <path d="M0 182.94 C0 180.65 1.88 178.78 4.17 178.78 L109.18 178.78 C111.47 178.78 113.33 180.65 113.33 182.94 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.17 203.7 C1.88 203.7 0 201.84 0 199.55 L0 182.94 Z"
+ class="st1"/>
+ </g>
+ <g id="shape32-81" v:mID="32" v:groupContext="shape" transform="translate(351.453,-19.4988)">
+ <title>Sheet.32</title>
+ <path d="M0 182.94 C0 180.65 1.88 178.78 4.17 178.78 L109.18 178.78 C111.47 178.78 113.33 180.65 113.33 182.94 L113.33
+ 199.55 C113.33 201.84 111.47 203.7 109.18 203.7 L4.17 203.7 C1.88 203.7 0 201.84 0 199.55 L0 182.94 Z"
+ class="st2"/>
+ </g>
+ <g id="shape33-83" v:mID="33" v:groupContext="shape" transform="translate(351.215,-22.9565)">
+ <title>Sheet.33</title>
+ <desc>Key7: Position 14</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="55.5403" cy="196.509" width="111.09" height="14.3829"/>
+ <path d="M111.08 189.32 L0 189.32 L0 203.7 L111.08 203.7 L111.08 189.32" class="st3"/>
+ <text x="8.91" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key7: Position 14</text> </g>
+ <g id="shape34-87" v:mID="34" v:groupContext="shape" transform="translate(299.89,-46.0408)">
+ <title>Sheet.34</title>
+ <path d="M0 169.01 L22.75 169.01 L22.75 157.45 L45.5 180.57 L22.75 203.7 L22.75 192.14 L0 192.14 L0 169.01 Z"
+ class="st5"/>
+ </g>
+ <g id="shape35-89" v:mID="35" v:groupContext="shape" transform="translate(528.896,-117.518)">
+ <title>Sheet.35</title>
+ <path d="M0 182.94 C0 180.66 1.89 178.78 4.17 178.78 L137.64 178.78 C139.92 178.78 141.79 180.66 141.79 182.94 L141.79
+ 199.57 C141.79 201.84 139.92 203.7 137.64 203.7 L4.17 203.7 C1.89 203.7 0 201.84 0 199.57 L0 182.94 Z"
+ class="st1"/>
+ </g>
+ <g id="shape36-91" v:mID="36" v:groupContext="shape" transform="translate(528.896,-117.518)">
+ <title>Sheet.36</title>
+ <path d="M0 182.94 C0 180.66 1.89 178.78 4.17 178.78 L137.64 178.78 C139.92 178.78 141.79 180.66 141.79 182.94 L141.79
+ 199.57 C141.79 201.84 139.92 203.7 137.64 203.7 L4.17 203.7 C1.89 203.7 0 201.84 0 199.57 L0 182.94 Z"
+ class="st2"/>
+ </g>
+ <g id="shape37-93" v:mID="37" v:groupContext="shape" transform="translate(530.056,-121.017)">
+ <title>Sheet.37</title>
+ <desc>0000</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="19.1585" cy="196.509" width="38.32" height="14.3829"/>
+ <path d="M38.32 189.32 L0 189.32 L0 203.7 L38.32 203.7 L38.32 189.32" class="st3"/>
+ <text x="5.83" y="200.1" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0000 </text> </g>
+ <g id="shape38-97" v:mID="38" v:groupContext="shape" transform="translate(567.215,-121.017)">
+ <title>Sheet.38</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="5.7483" cy="196.509" width="11.5" height="14.3829"/>
+ <path d="M11.5 189.32 L0 189.32 L0 203.7 L11.5 203.7 L11.5 189.32" class="st3"/>
+ <text x="2.42" y="200.1" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape39-101" v:mID="39" v:groupContext="shape" transform="translate(576.215,-121.017)">
+ <title>Sheet.39</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="5.7483" cy="196.509" width="11.5" height="14.3829"/>
+ <path d="M11.5 189.32 L0 189.32 L0 203.7 L11.5 203.7 L11.5 189.32" class="st3"/>
+ <text x="2.42" y="200.1" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape40-105" v:mID="40" v:groupContext="shape" transform="translate(584.486,-121.017)">
+ <title>Sheet.40</title>
+ <desc>1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="5.7483" cy="196.509" width="11.5" height="14.3829"/>
+ <path d="M11.5 189.32 L0 189.32 L0 203.7 L11.5 203.7 L11.5 189.32" class="st3"/>
+ <text x="2.42" y="200.1" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
+ <g id="shape41-109" v:mID="41" v:groupContext="shape" transform="translate(588.646,-121.017)">
+ <title>Sheet.41</title>
+ <desc>0 0000 00</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="32.5687" cy="196.509" width="65.14" height="14.3829"/>
+ <path d="M65.14 189.32 L0 189.32 L0 203.7 L65.14 203.7 L65.14 189.32" class="st3"/>
+ <text x="5.91" y="200.1" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0 0000 00</text> </g>
+ <g id="shape42-113" v:mID="42" v:groupContext="shape" transform="translate(644.965,-121.017)">
+ <title>Sheet.42</title>
+ <desc>?</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="6.12511" cy="196.509" width="12.26" height="14.3829"/>
+ <path d="M12.25 189.32 L0 189.32 L0 203.7 L12.25 203.7 L12.25 189.32" class="st3"/>
+ <text x="2.47" y="200.1" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>?</text> </g>
+ <g id="shape43-117" v:mID="43" v:groupContext="shape" transform="translate(654.718,-121.017)">
+ <title>Sheet.43</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="5.7483" cy="196.509" width="11.5" height="14.3829"/>
+ <path d="M11.5 189.32 L0 189.32 L0 203.7 L11.5 203.7 L11.5 189.32" class="st3"/>
+ <text x="2.42" y="200.1" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape44-121" v:mID="44" v:groupContext="shape" transform="translate(464.786,-105.296)">
+ <title>Sheet.44</title>
+ <path d="M0 203.7 L108.29 203.7 C108.86 203.7 109.31 203.22 109.31 202.68 L109.31 189.5 L107.27 189.5 L107.27 202.68
+ L108.29 201.66 L0 201.66 L0 203.7 ZM111.35 190.52 L108.29 184.41 L105.23 190.55 L111.35 190.52 Z"
+ class="st11"/>
+ </g>
+ <g id="shape45-123" v:mID="45" v:groupContext="shape" transform="translate(464.786,-80.4315)">
+ <title>Sheet.45</title>
+ <path d="M0 203.7 L123.63 203.7 C124.2 203.7 124.65 203.25 124.65 202.68 L124.65 164.28 L122.61 164.28 L122.61 202.68
+ L123.63 201.66 L0 201.66 L0 203.7 ZM126.69 165.3 L123.6 159.18 L120.57 165.33 L126.69 165.3 Z"
+ class="st11"/>
+ </g>
+ <g id="shape46-125" v:mID="46" v:groupContext="shape" transform="translate(464.786,-55.4772)">
+ <title>Sheet.46</title>
+ <path d="M0 203.7 L186.48 203.7 C186.75 203.7 186.99 203.61 187.2 203.4 C187.38 203.22 187.5 202.95 187.5 202.68 L187.41
+ 139.32 L185.37 139.32 L185.46 202.68 L186.48 201.66 L0 201.66 L0 203.7 ZM189.51 140.07 L185.94 134.23 L183.41
+ 140.61 L189.51 140.07 Z" class="st11"/>
+ </g>
+ <g id="shape47-127" v:mID="47" v:groupContext="shape" transform="translate(464.786,-30.9125)">
+ <title>Sheet.47</title>
+ <path d="M0 203.7 L186.48 203.7 C186.75 203.7 186.99 203.61 187.2 203.4 C187.38 203.22 187.5 202.95 187.5 202.68 L187.41
+ 114.76 L185.37 114.76 L185.46 202.68 L186.48 201.66 L0 201.66 L0 203.7 ZM189.51 115.51 L185.94 109.67 L183.41
+ 116.05 L189.51 115.51 Z" class="st11"/>
+ </g>
+ <g id="shape48-129" v:mID="48" v:groupContext="shape" transform="translate(442.996,-151.106)">
+ <title>Sheet.48</title>
+ <path d="M0 179.56 C0 176.89 2.19 174.7 4.86 174.7 L70.8 174.7 C73.47 174.7 75.64 176.89 75.64 179.56 L75.64 198.88 C75.64
+ 201.54 73.47 203.7 70.8 203.7 L4.86 203.7 C2.19 203.7 0 201.54 0 198.88 L0 179.56 Z" class="st5"/>
+ </g>
+ <g id="shape49-131" v:mID="49" v:groupContext="shape" transform="translate(443.529,-155.018)">
+ <title>Sheet.49</title>
+ <desc>Values</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="37.8175" cy="192.914" width="75.64" height="21.5726"/>
+ <path d="M75.64 182.13 L0 182.13 L0 203.7 L75.64 203.7 L75.64 182.13" class="st3"/>
+ <text x="10.34" y="198.31" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Values</text> </g>
+ <g id="shape50-135" v:mID="50" v:groupContext="shape" transform="translate(102.458,-122.192)">
+ <title>Sheet.50</title>
+ <path d="M0 203.7 C-0 199.21 0.62 195.55 1.37 195.55 L11.67 195.55 C12.42 195.55 13.03 191.9 13.03 187.4 C13.03 191.9
+ 13.64 195.55 14.39 195.55 L24.69 195.55 C25.44 195.55 26.05 199.21 26.05 203.7" class="st13"/>
+ </g>
+ <g id="shape51-138" v:mID="51" v:groupContext="shape" transform="translate(115.454,-137.5)">
+ <title>Sheet.51</title>
+ <path d="M0.2 203.7 L322.66 174.12 L322.48 172.1 L0 201.68 L0.2 203.7 L0.2 203.7 ZM321.84 176.24 L327.66 172.64 L321.28
+ 170.16 L321.84 176.24 L321.84 176.24 Z" class="st14"/>
+ </g>
+ <g id="shape52-140" v:mID="52" v:groupContext="shape" transform="translate(518.211,-142.473)">
+ <title>Sheet.52</title>
+ <path d="M0.99 176.74 L44.78 200.38 L43.82 202.17 L0 178.51 L0.99 176.74 L0.99 176.74 ZM44.87 198.1 L48.8 203.7 L41.96
+ 203.46 L44.87 198.1 L44.87 198.1 Z" class="st11"/>
+ </g>
+ <g id="shape53-142" v:mID="53" v:groupContext="shape" transform="translate(518.331,-141.963)">
+ <title>Sheet.53</title>
+ <path d="M0.75 176.17 L60.09 200.32 L59.34 202.2 L0 178.06 L0.75 176.17 L0.75 176.17 ZM59.91 198.04 L64.44 203.19 L57.6
+ 203.7 L59.91 198.04 L59.91 198.04 Z" class="st11"/>
+ </g>
+ <g id="shape54-144" v:mID="54" v:groupContext="shape" transform="translate(576.558,-153.706)">
+ <title>Sheet.54</title>
+ <path d="M0 177.04 C0 174.1 2.4 171.71 5.34 171.71 L101.51 171.71 C104.48 171.71 106.85 174.1 106.85 177.04 L106.85 198.37
+ C106.85 201.33 104.48 203.7 101.51 203.7 L5.34 203.7 C2.4 203.7 0 201.33 0 198.37 L0 177.04 Z" class="st1"/>
+ </g>
+ <g id="shape55-146" v:mID="55" v:groupContext="shape" transform="translate(577.365,-151.611)">
+ <title>Sheet.55</title>
+ <path d="M0 177.04 C0 174.1 2.4 171.71 5.34 171.71 L101.51 171.71 C104.48 171.71 106.85 174.1 106.85 177.04 L106.85 198.37
+ C106.85 201.33 104.48 203.7 101.51 203.7 L5.34 203.7 C2.4 203.7 0 201.33 0 198.37 L0 177.04 Z" class="st2"/>
+ </g>
+ <g id="shape56-148" v:mID="56" v:groupContext="shape" transform="translate(593.952,-167.894)">
+ <title>Sheet.56</title>
+ <desc>Lookup_table</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.2942" cy="196.509" width="86.59" height="14.3829"/>
+ <path d="M86.59 189.32 L0 189.32 L0 203.7 L86.59 203.7 L86.59 189.32" class="st3"/>
+ <text x="7.31" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Lookup_table</text> </g>
+ <g id="shape57-152" v:mID="57" v:groupContext="shape" transform="translate(608.239,-153.515)">
+ <title>Sheet.57</title>
+ <desc>(16 bits)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="26.8054" cy="196.509" width="53.62" height="14.3829"/>
+ <path d="M53.61 189.32 L0 189.32 L0 203.7 L53.61 203.7 L53.61 189.32" class="st3"/>
+ <text x="5.16" y="200.1" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(16 bits)</text> </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i11.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i11.svg
new file mode 100644
index 00000000..f2cc656b
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i11.svg
@@ -0,0 +1,319 @@
+<?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 Microsoft Visio, SVG Export efd_i12.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="10.2783in" height="4.28958in"
+ viewBox="0 0 740.039 308.85" xml:space="preserve" color-interpolation-filters="sRGB" class="st21">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st2 {fill:none;stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st3 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st4 {fill:#000000;font-family:Arial;font-size:0.998566em}
+ .st5 {fill:#0071c5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st6 {stroke:#00b050;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st7 {stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st8 {fill:#000000;font-family:Arial;font-size:0.918686em;font-weight:bold}
+ .st9 {fill:#00b050;font-size:1em}
+ .st10 {fill:#c00000;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st11 {fill:#004280;stroke:#004280;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.00749637}
+ .st12 {fill:#ffffff;font-family:Arial;font-size:1.16833em}
+ .st13 {fill:#2e75b5;stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st14 {fill:#ffffff;font-family:Arial;font-size:1.16666em}
+ .st15 {font-size:1em}
+ .st16 {fill:none;stroke:none;stroke-width:0.25}
+ .st17 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+ .st18 {marker-end:url(#mrkr5-121);stroke:#5b9bd5;stroke-dasharray:1.5,3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st19 {fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-opacity:1;stroke-width:0.37313432835821}
+ .st20 {fill:#000000;font-family:Calibri;font-size:1.16666em}
+ .st21 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend5">
+ <path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr5-121" class="st19" v:arrowType="5" v:arrowSize="2" v:setback="4.69" refX="-4.69" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-2.68,-2.68) "/>
+ </marker>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape5-1" v:mID="5" v:groupContext="shape" transform="translate(36.0674,-256.878)">
+ <title>Sheet.5</title>
+ <path d="M0 291.88 C0 290 1.52 288.48 3.41 288.48 L68.51 288.48 C70.4 288.48 71.91 290 71.91 291.88 L71.91 305.46 C71.91
+ 307.33 70.4 308.85 68.51 308.85 L3.41 308.85 C1.52 308.85 0 307.33 0 305.46 L0 291.88 Z" class="st1"/>
+ </g>
+ <g id="shape6-3" v:mID="6" v:groupContext="shape" transform="translate(36.0674,-256.878)">
+ <title>Sheet.6</title>
+ <path d="M0 291.88 C0 290 1.52 288.48 3.41 288.48 L68.51 288.48 C70.4 288.48 71.91 290 71.91 291.88 L71.91 305.46 C71.91
+ 307.33 70.4 308.85 68.51 308.85 L3.41 308.85 C1.52 308.85 0 307.33 0 305.46 L0 291.88 Z" class="st2"/>
+ </g>
+ <g id="shape7-5" v:mID="7" v:groupContext="shape" transform="translate(61.6502,-258.089)">
+ <title>Sheet.7</title>
+ <desc>Key</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="13.7891" cy="301.658" width="27.58" height="14.3829"/>
+ <path d="M27.58 294.47 L0 294.47 L0 308.85 L27.58 308.85 L27.58 294.47" class="st3"/>
+ <text x="3.46" y="305.25" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key</text> </g>
+ <g id="shape8-9" v:mID="8" v:groupContext="shape" transform="translate(51.9748,-236.328)">
+ <title>Sheet.8</title>
+ <path d="M0 298.54 L9.81 298.54 L9.81 288.24 L29.44 288.24 L29.44 298.54 L39.26 298.54 L19.63 308.85 L0 298.54 Z"
+ class="st5"/>
+ </g>
+ <g id="shape9-11" v:mID="9" v:groupContext="shape" transform="translate(36.0674,-215.298)">
+ <title>Sheet.9</title>
+ <path d="M0 291.77 C0 289.89 1.54 288.36 3.42 288.36 L68.49 288.36 C70.38 288.36 71.91 289.89 71.91 291.77 L71.91 305.43
+ C71.91 307.32 70.38 308.85 68.49 308.85 L3.42 308.85 C1.54 308.85 0 307.32 0 305.43 L0 291.77 Z"
+ class="st1"/>
+ </g>
+ <g id="shape10-13" v:mID="10" v:groupContext="shape" transform="translate(36.0674,-215.298)">
+ <title>Sheet.10</title>
+ <path d="M0 291.77 C0 289.89 1.54 288.36 3.42 288.36 L68.49 288.36 C70.38 288.36 71.91 289.89 71.91 291.77 L71.91 305.43
+ C71.91 307.32 70.38 308.85 68.49 308.85 L3.42 308.85 C1.54 308.85 0 307.32 0 305.43 L0 291.77 Z"
+ class="st2"/>
+ </g>
+ <g id="shape11-15" v:mID="11" v:groupContext="shape" transform="translate(58.8889,-216.57)">
+ <title>Sheet.11</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.8573" cy="301.658" width="33.72" height="14.3829"/>
+ <path d="M33.71 294.47 L0 294.47 L0 308.85 L33.71 308.85 L33.71 294.47" class="st3"/>
+ <text x="3.86" y="305.25" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape12-19" v:mID="12" v:groupContext="shape" transform="translate(27.3033,-174.437)">
+ <title>Sheet.12</title>
+ <path d="M0 292.58 C0 290.78 1.46 289.32 3.26 289.32 L87.15 289.32 C88.95 289.32 90.4 290.78 90.4 292.58 L90.4 305.6
+ C90.4 307.4 88.95 308.85 87.15 308.85 L3.26 308.85 C1.46 308.85 0 307.4 0 305.6 L0 292.58 Z" class="st1"/>
+ </g>
+ <g id="shape13-21" v:mID="13" v:groupContext="shape" transform="translate(27.3033,-174.437)">
+ <title>Sheet.13</title>
+ <path d="M0 292.58 C0 290.78 1.46 289.32 3.26 289.32 L87.15 289.32 C88.95 289.32 90.4 290.78 90.4 292.58 L90.4 305.6
+ C90.4 307.4 88.95 308.85 87.15 308.85 L3.26 308.85 C1.46 308.85 0 307.4 0 305.6 L0 292.58 Z" class="st2"/>
+ </g>
+ <g id="shape14-23" v:mID="14" v:groupContext="shape" transform="translate(36.0515,-175.256)">
+ <title>Sheet.14</title>
+ <desc>0x0102ABCD</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.6644" cy="301.658" width="87.33" height="14.3829"/>
+ <path d="M87.33 294.47 L0 294.47 L0 308.85 L87.33 308.85 L87.33 294.47" class="st3"/>
+ <text x="7.36" y="305.25" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0102ABCD</text> </g>
+ <g id="shape15-27" v:mID="15" v:groupContext="shape" transform="translate(51.9748,-194.029)">
+ <title>Sheet.15</title>
+ <path d="M0 298.48 L9.81 298.48 L9.81 288.12 L29.44 288.12 L29.44 298.48 L39.26 298.48 L19.63 308.85 L0 298.48 Z"
+ class="st5"/>
+ </g>
+ <g id="shape16-29" v:mID="16" v:groupContext="shape" transform="translate(48.9133,-159.818)">
+ <title>Sheet.16</title>
+ <path d="M26.41 296.87 C26.41 300.18 25.97 302.86 25.41 302.86 L14.21 302.86 C13.66 302.86 13.21 305.55 13.21 308.85
+ C13.21 305.55 12.76 302.86 12.21 302.86 L1.01 302.86 C0.45 302.86 0 300.18 0 296.87" class="st6"/>
+ </g>
+ <g id="shape17-32" v:mID="17" v:groupContext="shape" transform="translate(19.0195,-19.0195)">
+ <title>Sheet.17</title>
+ <path d="M0 196.93 L0 308.85 L145.15 308.85 L145.15 196.93 L0 196.93 L0 196.93 Z" class="st1"/>
+ </g>
+ <g id="shape18-34" v:mID="18" v:groupContext="shape" transform="translate(19.0195,-19.0195)">
+ <title>Sheet.18</title>
+ <path d="M0 196.93 L145.15 196.93 L145.15 308.85 L0 308.85 L0 196.93" class="st7"/>
+ </g>
+ <g id="shape19-37" v:mID="19" v:groupContext="shape" transform="translate(28.2638,-70.6655)">
+ <title>Sheet.19</title>
+ <path d="M0 280.69 C0 277.58 2.53 275.06 5.64 275.06 L124.14 275.06 C127.26 275.06 129.78 277.58 129.78 280.69 L129.78
+ 303.22 C129.78 306.33 127.26 308.85 124.14 308.85 L5.64 308.85 C2.53 308.85 0 306.33 0 303.22 L0 280.69
+ Z" class="st1"/>
+ </g>
+ <g id="shape20-39" v:mID="20" v:groupContext="shape" transform="translate(28.2638,-70.6655)">
+ <title>Sheet.20</title>
+ <path d="M0 280.69 C0 277.58 2.53 275.06 5.64 275.06 L124.14 275.06 C127.26 275.06 129.78 277.58 129.78 280.69 L129.78
+ 303.22 C129.78 306.33 127.26 308.85 124.14 308.85 L5.64 308.85 C2.53 308.85 0 306.33 0 303.22 L0 280.69
+ Z" class="st2"/>
+ </g>
+ <g id="shape21-41" v:mID="21" v:groupContext="shape" transform="translate(57.4514,-85.7513)">
+ <title>Sheet.21</title>
+ <desc>hash_index =</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="45.0133" cy="301.658" width="90.03" height="14.3829"/>
+ <path d="M90.03 294.47 L0 294.47 L0 308.85 L90.03 308.85 L90.03 294.47" class="st3"/>
+ <text x="9.2" y="305.25" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash_index = </text> </g>
+ <g id="shape22-45" v:mID="22" v:groupContext="shape" transform="translate(76.3001,-71.3719)">
+ <title>Sheet.22</title>
+ <desc>38123</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="21.0762" cy="301.658" width="42.16" height="14.3829"/>
+ <path d="M42.15 294.47 L0 294.47 L0 308.85 L42.15 308.85 L42.15 294.47" class="st3"/>
+ <text x="4.42" y="305.25" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>38123</text> </g>
+ <g id="shape23-49" v:mID="23" v:groupContext="shape" transform="translate(28.2638,-27.048)">
+ <title>Sheet.23</title>
+ <path d="M0 280.69 C0 277.59 2.54 275.06 5.64 275.06 L124.14 275.06 C127.26 275.06 129.78 277.59 129.78 280.69 L129.78
+ 303.22 C129.78 306.33 127.26 308.85 124.14 308.85 L5.64 308.85 C2.54 308.85 0 306.33 0 303.22 L0 280.69
+ Z" class="st1"/>
+ </g>
+ <g id="shape24-51" v:mID="24" v:groupContext="shape" transform="translate(28.2638,-27.048)">
+ <title>Sheet.24</title>
+ <path d="M0 280.69 C0 277.59 2.54 275.06 5.64 275.06 L124.14 275.06 C127.26 275.06 129.78 277.59 129.78 280.69 L129.78
+ 303.22 C129.78 306.33 127.26 308.85 124.14 308.85 L5.64 308.85 C2.54 308.85 0 306.33 0 303.22 L0 280.69
+ Z" class="st2"/>
+ </g>
+ <g id="shape25-53" v:mID="25" v:groupContext="shape" transform="translate(54.0924,-41.564)">
+ <title>Sheet.25</title>
+ <desc>lookup_table =</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="46.931" cy="301.658" width="93.87" height="14.3829"/>
+ <path d="M93.86 294.47 L0 294.47 L0 308.85 L93.86 308.85 L93.86 294.47" class="st3"/>
+ <text x="7.79" y="305.25" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>lookup_table =</text> </g>
+ <g id="shape26-57" v:mID="26" v:groupContext="shape" transform="translate(28.0195,-28.5506)">
+ <title>Sheet.26</title>
+ <desc>0110 1100 0101 1101</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="64.89" cy="302.233" width="129.79" height="13.2327"/>
+ <path d="M129.78 295.62 L0 295.62 L0 308.85 L129.78 308.85 L129.78 295.62" class="st3"/>
+ <text x="11.25" y="305.54" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0110 11<tspan
+ class="st9">0</tspan>0 0101 1101</text> </g>
+ <g id="shape27-62" v:mID="27" v:groupContext="shape" transform="translate(26.2461,-113.863)">
+ <title>Sheet.27</title>
+ <desc>Group ID: 0x0102</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="48.6286" cy="302.881" width="97.26" height="11.9384"/>
+ <path d="M97.26 296.91 L0 296.91 L0 308.85 L97.26 308.85 L97.26 296.91" class="st3"/>
+ <text x="7.73" y="305.86" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Group ID: 0x0102</text> </g>
+ <g id="shape28-66" v:mID="28" v:groupContext="shape" transform="translate(42.3703,-135.313)">
+ <title>Sheet.28</title>
+ <path d="M0 298.48 L9.84 298.48 L9.84 288.12 L29.53 288.12 L29.53 298.48 L39.38 298.48 L19.69 308.85 L0 298.48 Z"
+ class="st5"/>
+ </g>
+ <g id="shape29-68" v:mID="29" v:groupContext="shape" transform="translate(117.645,-244.476)">
+ <title>Sheet.29</title>
+ <path d="M0 274.07 L22.75 274.07 L22.75 262.48 L45.5 285.66 L22.75 308.85 L22.75 297.26 L0 297.26 L0 274.07 Z"
+ class="st5"/>
+ </g>
+ <g id="shape30-70" v:mID="30" v:groupContext="shape" transform="translate(169.209,-251.966)">
+ <title>Sheet.30</title>
+ <path d="M0 283.69 C0 280.91 2.27 278.65 5.04 278.65 L111.77 278.65 C114.56 278.65 116.81 280.91 116.81 283.69 L116.81
+ 303.82 C116.81 306.6 114.56 308.85 111.77 308.85 L5.04 308.85 C2.27 308.85 0 306.6 0 303.82 L0 283.69 Z"
+ class="st1"/>
+ </g>
+ <g id="shape31-72" v:mID="31" v:groupContext="shape" transform="translate(169.209,-251.966)">
+ <title>Sheet.31</title>
+ <path d="M0 283.69 C0 280.91 2.27 278.65 5.04 278.65 L111.77 278.65 C114.56 278.65 116.81 280.91 116.81 283.69 L116.81
+ 303.82 C116.81 306.6 114.56 308.85 111.77 308.85 L5.04 308.85 C2.27 308.85 0 306.6 0 303.82 L0 283.69 Z"
+ class="st2"/>
+ </g>
+ <g id="shape35-74" v:mID="35" v:groupContext="shape" transform="translate(291.966,-244.476)">
+ <title>Sheet.35</title>
+ <path d="M0 274.07 L22.69 274.07 L22.69 262.48 L45.38 285.66 L22.69 308.85 L22.69 297.26 L0 297.26 L0 274.07 Z"
+ class="st5"/>
+ </g>
+ <g id="shape36-76" v:mID="36" v:groupContext="shape" transform="translate(343.17,-254.482)">
+ <title>Sheet.36</title>
+ <path d="M0 288.09 C0 285.8 1.88 283.93 4.17 283.93 L109.18 283.93 C111.47 283.93 113.33 285.8 113.33 288.09 L113.33
+ 304.7 C113.33 306.99 111.47 308.85 109.18 308.85 L4.17 308.85 C1.88 308.85 0 306.99 0 304.7 L0 288.09 Z"
+ class="st1"/>
+ </g>
+ <g id="shape37-78" v:mID="37" v:groupContext="shape" transform="translate(343.17,-254.482)">
+ <title>Sheet.37</title>
+ <path d="M0 288.09 C0 285.8 1.88 283.93 4.17 283.93 L109.18 283.93 C111.47 283.93 113.33 285.8 113.33 288.09 L113.33
+ 304.7 C113.33 306.99 111.47 308.85 109.18 308.85 L4.17 308.85 C1.88 308.85 0 306.99 0 304.7 L0 288.09 Z"
+ class="st2"/>
+ </g>
+ <g id="shape38-80" v:mID="38" v:groupContext="shape" transform="translate(368.337,-257.958)">
+ <title>Sheet.38</title>
+ <desc>Position = 6</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="38.1131" cy="301.658" width="76.23" height="14.3829"/>
+ <path d="M76.23 294.47 L0 294.47 L0 308.85 L76.23 308.85 L76.23 294.47" class="st3"/>
+ <text x="6.64" y="305.25" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Position = 6</text> </g>
+ <g id="shape39-84" v:mID="39" v:groupContext="shape" transform="translate(158.044,-86.5202)">
+ <title>Sheet.39</title>
+ <path d="M0 308.85 L69.59 308.85 C70.16 308.85 70.62 308.39 70.62 307.83 L70.62 148.5 L68.57 148.5 L68.57 307.83 L69.59
+ 306.81 L0 306.81 L0 308.85 ZM72.66 149.52 L69.59 143.4 L66.53 149.52 L72.66 149.52 Z" class="st11"/>
+ </g>
+ <g id="shape41-86" v:mID="41" v:groupContext="shape" transform="translate(335.112,-199.647)">
+ <title>Sheet.41</title>
+ <desc>Apply the equation</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="71.2648" cy="300.436" width="142.53" height="16.8275"/>
+ <path d="M142.53 292.02 L0 292.02 L0 308.85 L142.53 308.85 L142.53 292.02" class="st3"/>
+ <text x="13.19" y="304.64" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Apply the equation </text> </g>
+ <g id="shape42-90" v:mID="42" v:groupContext="shape" transform="translate(341.115,-182.871)">
+ <title>Sheet.42</title>
+ <desc>to retrieve the bit</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="64.5256" cy="300.436" width="129.06" height="16.8275"/>
+ <path d="M129.05 292.02 L0 292.02 L0 308.85 L129.05 308.85 L129.05 292.02" class="st3"/>
+ <text x="12.31" y="304.64" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>to retrieve the bit </text> </g>
+ <g id="shape43-94" v:mID="43" v:groupContext="shape" transform="translate(349.999,-166.095)">
+ <title>Sheet.43</title>
+ <desc>position in the</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="54.2285" cy="300.436" width="108.46" height="16.8275"/>
+ <path d="M108.46 292.02 L0 292.02 L0 308.85 L108.46 308.85 L108.46 292.02" class="st3"/>
+ <text x="10.97" y="304.64" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>position in the </text> </g>
+ <g id="shape44-98" v:mID="44" v:groupContext="shape" transform="translate(353.361,-149.319)">
+ <title>Sheet.44</title>
+ <desc>lookup_table</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="47.9619" cy="300.436" width="95.93" height="16.8275"/>
+ <path d="M95.92 292.02 L0 292.02 L0 308.85 L95.92 308.85 L95.92 292.02" class="st3"/>
+ <text x="8.21" y="304.64" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>lookup_table</text> </g>
+ <g id="shape47-102" v:mID="47" v:groupContext="shape" transform="translate(115.17,255.2) rotate(-90)">
+ <title>1-D word balloon</title>
+ <desc>Retrieve the value “0&#39; from the specified location in the loo...</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="29.2016" cy="218.85" width="180" height="58.4032" transform="rotate(90)"/>
+ <path d="M0 308.85 L58.4 308.85 L58.4 128.85 L0 128.85 L0 204.67 L-11.87 38.85 L-7.09 233.03 L0 233.03 L0 308.85 Z"
+ class="st13"/>
+ <text x="136.98" y="-41.8" transform="rotate(90)" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Retrieve the value “0&#39; from <tspan
+ x="134.41" dy="1.2em" class="st15">the specified location in the </tspan><tspan x="181.1" dy="1.2em"
+ class="st15">lookup table</tspan></text> </g>
+ <g id="shape48-107" v:mID="48" v:groupContext="shape" transform="translate(169.209,-251.966)">
+ <title>Sheet.48</title>
+ <desc>F(Key, hash_index = 38123</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54.2285" cy="295.35" width="108.46" height="27"/>
+ <rect x="0" y="281.85" width="108.457" height="27" class="st16"/>
+ <text x="5.86" y="291.75" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>F(Key, hash_index = <tspan
+ x="39.02" dy="1.2em" class="st15">38123</tspan></text> </g>
+ <g id="shape49-111" v:mID="49" v:groupContext="shape" transform="translate(553.962,99) rotate(90)">
+ <title>1-D word balloon.49</title>
+ <desc>Apply the equation to retrieve the bit position in the lookup...</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="29.2016" cy="218.85" width="180" height="58.4032" transform="rotate(-90)"/>
+ <path d="M0 308.85 L58.4 308.85 L58.4 128.85 L0 128.85 L0 204.67 L-51.13 299.85 L0 233.03 L0 308.85 Z" class="st13"/>
+ <text x="-284.62" y="16.6" transform="rotate(-90)" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Apply the equation to <tspan
+ x="-296.67" dy="1.2em" class="st15">retrieve the bit position in </tspan><tspan x="-270.22" dy="1.2em"
+ class="st15">the lookup</tspan>_table</text> </g>
+ <g id="shape50-116" v:mID="50" v:groupContext="shape" transform="translate(640.132,-104.709) rotate(44.1224)">
+ <title>Sheet.50</title>
+ <path d="M0 308.85 L54.13 308.85" class="st18"/>
+ </g>
+ <g id="shape51-122" v:mID="51" v:groupContext="shape" transform="translate(433.02,-122.267)">
+ <title>Sheet.51</title>
+ <desc>(Hash(key,seed1)+38123*hash(key,seed2))%16</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="144" cy="295.35" width="288" height="27"/>
+ <rect x="0" y="281.85" width="288" height="27" class="st2"/>
+ <text x="9.86" y="299.55" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(Hash(key,seed1)+38123*hash(key,seed2))%16</text> </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i12.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i12.svg
new file mode 100644
index 00000000..a309d582
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i12.svg
@@ -0,0 +1,1008 @@
+<?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 Microsoft Visio, SVG Export efd_i13.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="10.2932in" height="5.27505in"
+ viewBox="0 0 741.108 379.804" xml:space="preserve" color-interpolation-filters="sRGB" class="st30">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {stroke:#004280;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st2 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st3 {fill:#004280;font-family:Arial;font-size:0.828804em}
+ .st4 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st5 {stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st6 {fill:#7030a0;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st7 {fill:#d0d6d9;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st8 {fill:#006fc5;stroke:#006fc5;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.00749637}
+ .st9 {fill:#006fc5;stroke:#006fc5;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0149927}
+ .st10 {fill:#d0d6d9;stroke:#d0d6d9;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0299855}
+ .st11 {fill:#d0d6d9;stroke:#d0d6d9;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0149927}
+ .st12 {fill:#004280;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st13 {fill:#00b050;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st14 {fill:#ff0000;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st15 {fill:#00b050;stroke:#00b050;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0299855}
+ .st16 {fill:#c00000;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st17 {fill:#000000;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st18 {fill:#7f6d00;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st19 {fill:#ff0000;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st20 {fill:#7e8d96;font-family:Arial;font-size:0.828804em;font-weight:bold}
+ .st21 {fill:none;stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st22 {fill:#000000;font-family:Arial;font-size:0.998566em}
+ .st23 {fill:#0071c5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st24 {stroke:#ff0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st25 {fill:#ffffff;font-family:Arial;font-size:0.998566em}
+ .st26 {fill:#ff6600;stroke:#ff6600;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.00749637}
+ .st27 {fill:#004280;stroke:#004280;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0299855}
+ .st28 {fill:#ff0000;stroke:#ff0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0299855}
+ .st29 {fill:#ffffff;font-family:Arial;font-size:1.49785em}
+ .st30 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape3-1" v:mID="3" v:groupContext="shape" transform="translate(304.703,-329.32)">
+ <title>Sheet.3</title>
+ <path d="M0 379.8 C-0 375.37 0.6 371.78 1.35 371.78 L205.05 371.78 C205.78 371.78 206.38 368.18 206.38 363.75 C206.38
+ 368.18 206.98 371.78 207.73 371.78 L411.43 371.78 C412.15 371.78 412.75 375.37 412.75 379.8" class="st1"/>
+ </g>
+ <g id="shape4-4" v:mID="4" v:groupContext="shape" transform="translate(219.943,-329.32)">
+ <title>Sheet.4</title>
+ <path d="M0 379.8 C0 375.64 0.57 372.25 1.26 372.25 L29.77 372.25 C30.48 372.25 31.03 368.88 31.03 364.71 C31.03 368.88
+ 31.6 372.25 32.29 372.25 L60.81 372.25 C61.51 372.25 62.07 375.64 62.07 379.8" class="st1"/>
+ </g>
+ <g id="shape5-7" v:mID="5" v:groupContext="shape" transform="translate(241.175,-343.9)">
+ <title>Sheet.5</title>
+ <desc>Bins</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="12.7158" cy="373.835" width="25.44" height="11.9384"/>
+ <path d="M25.43 367.87 L0 367.87 L0 379.8 L25.43 379.8 L25.43 367.87" class="st2"/>
+ <text x="3.04" y="376.82" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Bins</text> </g>
+ <g id="shape6-11" v:mID="6" v:groupContext="shape" transform="translate(496.212,-344.504)">
+ <title>Sheet.6</title>
+ <desc>Groups</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="20.3447" cy="373.835" width="40.69" height="11.9384"/>
+ <path d="M40.69 367.87 L0 367.87 L0 379.8 L40.69 379.8 L40.69 367.87" class="st2"/>
+ <text x="4.04" y="376.82" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Groups</text> </g>
+ <g id="shape7-15" v:mID="7" v:groupContext="shape" transform="translate(131.823,-260.299)">
+ <title>Sheet.7</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st4"/>
+ </g>
+ <g id="shape8-17" v:mID="8" v:groupContext="shape" transform="translate(131.823,-260.299)">
+ <title>Sheet.8</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape9-20" v:mID="9" v:groupContext="shape" transform="translate(134.706,-310.738)">
+ <title>Sheet.9</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape10-24" v:mID="10" v:groupContext="shape" transform="translate(122.218,-329.32)">
+ <title>Sheet.10</title>
+ <path d="M0 379.8 C-0 375.64 0.57 372.25 1.26 372.25 L29.77 372.25 C30.47 372.25 31.03 368.88 31.03 364.71 C31.03 368.88
+ 31.6 372.25 32.29 372.25 L60.81 372.25 C61.51 372.25 62.07 375.64 62.07 379.8" class="st1"/>
+ </g>
+ <g id="shape11-27" v:mID="11" v:groupContext="shape" transform="translate(137.598,-343.9)">
+ <title>Sheet.11</title>
+ <desc>Chunks</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="20.9813" cy="373.835" width="41.97" height="11.9384"/>
+ <path d="M41.96 367.87 L0 367.87 L0 379.8 L41.96 379.8 L41.96 367.87" class="st2"/>
+ <text x="4.12" y="376.82" class="st3" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Chunks</text> </g>
+ <g id="shape12-31" v:mID="12" v:groupContext="shape" transform="translate(131.823,-195.232)">
+ <title>Sheet.12</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st4"/>
+ </g>
+ <g id="shape13-33" v:mID="13" v:groupContext="shape" transform="translate(131.823,-195.232)">
+ <title>Sheet.13</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape14-36" v:mID="14" v:groupContext="shape" transform="translate(134.706,-245.682)">
+ <title>Sheet.14</title>
+ <desc>1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
+ <g id="shape15-40" v:mID="15" v:groupContext="shape" transform="translate(131.823,-130.525)">
+ <title>Sheet.15</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st7"/>
+ </g>
+ <g id="shape16-42" v:mID="16" v:groupContext="shape" transform="translate(131.823,-130.525)">
+ <title>Sheet.16</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape17-45" v:mID="17" v:groupContext="shape" transform="translate(134.706,-180.952)">
+ <title>Sheet.17</title>
+ <desc>…</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.30974" cy="373.835" width="14.62" height="11.9384"/>
+ <path d="M14.62 367.87 L0 367.87 L0 379.8 L14.62 379.8 L14.62 367.87" class="st2"/>
+ <text x="2.34" y="376.82" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>…</text> </g>
+ <g id="shape18-49" v:mID="18" v:groupContext="shape" transform="translate(131.823,-65.4584)">
+ <title>Sheet.18</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st4"/>
+ </g>
+ <g id="shape19-51" v:mID="19" v:groupContext="shape" transform="translate(131.823,-65.4584)">
+ <title>Sheet.19</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape20-54" v:mID="20" v:groupContext="shape" transform="translate(130.403,-115.896)">
+ <title>Sheet.20</title>
+ <desc>variable</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="24.7986" cy="373.835" width="49.6" height="11.9384"/>
+ <path d="M49.6 367.87 L0 367.87 L0 379.8 L49.6 379.8 L49.6 367.87" class="st2"/>
+ <text x="6" y="376.82" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>variable </text> </g>
+ <g id="shape21-58" v:mID="21" v:groupContext="shape" transform="translate(130.403,-103.913)">
+ <title>Sheet.21</title>
+ <desc># of</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="13.347" cy="373.835" width="26.7" height="11.9384"/>
+ <path d="M26.69 367.87 L0 367.87 L0 379.8 L26.69 379.8 L26.69 367.87" class="st2"/>
+ <text x="4.51" y="376.82" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/># of </text> </g>
+ <g id="shape22-62" v:mID="22" v:groupContext="shape" transform="translate(130.403,-91.93)">
+ <title>Sheet.22</title>
+ <desc>chunks</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="21.6122" cy="373.835" width="43.23" height="11.9384"/>
+ <path d="M43.22 367.87 L0 367.87 L0 379.8 L43.22 379.8 L43.22 367.87" class="st2"/>
+ <text x="4.2" y="376.82" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>chunks</text> </g>
+ <g id="shape23-66" v:mID="23" v:groupContext="shape" transform="translate(130.403,-79.9472)">
+ <title>Sheet.23</title>
+ <desc>(power</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="21.9251" cy="373.835" width="43.86" height="11.9384"/>
+ <path d="M43.85 367.87 L0 367.87 L0 379.8 L43.85 379.8 L43.85 367.87" class="st2"/>
+ <text x="5.62" y="376.82" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(power </text> </g>
+ <g id="shape24-70" v:mID="24" v:groupContext="shape" transform="translate(130.403,-67.9643)">
+ <title>Sheet.24</title>
+ <desc>of 2)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="13.6626" cy="373.835" width="27.33" height="11.9384"/>
+ <path d="M27.33 367.87 L0 367.87 L0 379.8 L27.33 379.8 L27.33 367.87" class="st2"/>
+ <text x="3.17" y="376.82" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>of 2)</text> </g>
+ <g id="shape25-74" v:mID="25" v:groupContext="shape" transform="translate(172.289,-260.838)">
+ <title>Sheet.25</title>
+ <path d="M1.43 379.8 L3.29 375.51 L1.85 374.9 L0 379.19 L1.43 379.8 L1.43 379.8 ZM3.9 374.08 L5.76 369.79 L4.32 369.18
+ L2.47 373.47 L3.9 374.08 L3.9 374.08 ZM6.37 368.36 L8.22 364.07 L6.79 363.45 L4.94 367.75 L6.37 368.36 L6.37
+ 368.36 ZM8.84 362.64 L10.69 358.35 L9.26 357.73 L7.41 362.02 L8.84 362.64 L8.84 362.64 ZM11.31 356.92 L13.16
+ 352.62 L11.73 352 L9.87 356.3 L11.31 356.92 L11.31 356.92 ZM13.78 351.19 L15.63 346.9 L14.2 346.28 L12.34
+ 350.57 L13.78 351.19 L13.78 351.19 ZM16.25 345.47 L18.1 341.17 L16.67 340.56 L14.81 344.85 L16.25 345.47
+ L16.25 345.47 ZM18.71 339.74 L20.57 335.45 L19.13 334.84 L17.28 339.13 L18.71 339.74 L18.71 339.74 ZM21.18
+ 334.02 L23.04 329.73 L21.6 329.12 L19.75 333.41 L21.18 334.02 L21.18 334.02 ZM23.65 328.3 L25.5 324.01 L24.07
+ 323.39 L22.22 327.68 L23.65 328.3 L23.65 328.3 ZM26.12 322.58 L27.97 318.28 L26.54 317.67 L24.69 321.96
+ L26.12 322.58 L26.12 322.58 ZM28.59 316.85 L29.44 314.87 L28.01 314.25 L27.16 316.24 L28.59 316.85 L28.59
+ 316.85 Z" class="st8"/>
+ </g>
+ <g id="shape26-76" v:mID="26" v:groupContext="shape" transform="translate(172.476,-20.463)">
+ <title>Sheet.26</title>
+ <path d="M1.55 203.84 L2.28 208.45 L0.74 208.7 L0 204.09 L1.55 203.84 L1.55 203.84 ZM2.52 209.99 L3.27 214.61 L1.73 214.86
+ L0.99 210.23 L2.52 209.99 L2.52 209.99 ZM3.51 216.15 L4.25 220.76 L2.7 221 L1.97 216.39 L3.51 216.15 L3.51
+ 216.15 ZM4.49 222.3 L5.24 226.92 L3.69 227.16 L2.96 222.54 L4.49 222.3 L4.49 222.3 ZM5.48 228.45 L6.21 233.07
+ L4.67 233.31 L3.93 228.7 L5.48 228.45 L5.48 228.45 ZM6.47 234.6 L7.2 239.22 L5.66 239.47 L4.92 234.86 L6.47
+ 234.6 L6.47 234.6 ZM7.44 240.76 L8.18 245.37 L6.65 245.63 L5.9 241 L7.44 240.76 L7.44 240.76 ZM8.43 246.91
+ L9.17 251.53 L7.62 251.77 L6.89 247.15 L8.43 246.91 L8.43 246.91 ZM9.41 253.07 L10.14 257.68 L8.61 257.92
+ L7.88 253.31 L9.41 253.07 L9.41 253.07 ZM10.4 259.21 L11.14 263.84 L9.59 264.08 L8.85 259.47 L10.4 259.21
+ L10.4 259.21 ZM11.38 265.37 L12.13 269.98 L10.58 270.24 L9.84 265.62 L11.38 265.37 L11.38 265.37 ZM12.37
+ 271.52 L13.1 276.14 L11.56 276.39 L10.82 271.76 L12.37 271.52 L12.37 271.52 ZM13.34 277.68 L14.09 282.29
+ L12.55 282.53 L11.81 277.92 L13.34 277.68 L13.34 277.68 ZM14.33 283.84 L15.07 288.45 L13.52 288.69 L12.79
+ 284.08 L14.33 283.84 L14.33 283.84 ZM15.32 289.99 L16.06 294.61 L14.51 294.85 L13.78 290.23 L15.32 289.99
+ L15.32 289.99 ZM16.3 296.13 L17.03 300.75 L15.5 301 L14.75 296.39 L16.3 296.13 L16.3 296.13 ZM17.29 302.29
+ L18.02 306.9 L16.48 307.16 L15.74 302.53 L17.29 302.29 L17.29 302.29 ZM18.26 308.45 L19 313.06 L17.47 313.3
+ L16.73 308.69 L18.26 308.45 L18.26 308.45 ZM19.25 314.6 L19.99 319.22 L18.44 319.46 L17.71 314.84 L19.25
+ 314.6 L19.25 314.6 ZM20.23 320.76 L20.96 325.37 L19.43 325.61 L18.7 321 L20.23 320.76 L20.23 320.76 ZM21.22
+ 326.9 L21.96 331.51 L20.41 331.77 L19.67 327.15 L21.22 326.9 L21.22 326.9 ZM22.2 333.06 L22.95 337.67 L21.4
+ 337.92 L20.66 333.31 L22.2 333.06 L22.2 333.06 ZM23.19 339.21 L23.92 343.83 L22.38 344.07 L21.64 339.45
+ L23.19 339.21 L23.19 339.21 ZM24.18 345.37 L24.91 349.98 L23.37 350.22 L22.63 345.61 L24.18 345.37 L24.18
+ 345.37 ZM25.15 351.52 L25.89 356.14 L24.36 356.38 L23.61 351.76 L25.15 351.52 L25.15 351.52 ZM26.14 357.67
+ L26.88 362.28 L25.33 362.53 L24.6 357.92 L26.14 357.67 L26.14 357.67 ZM27.12 363.82 L27.85 368.44 L26.32
+ 368.69 L25.59 364.08 L27.12 363.82 L27.12 363.82 ZM28.11 369.98 L28.84 374.59 L27.3 374.83 L26.56 370.22
+ L28.11 369.98 L28.11 369.98 ZM29.08 376.13 L29.64 379.55 L28.09 379.8 L27.55 376.37 L29.08 376.13 L29.08
+ 376.13 Z" class="st9"/>
+ </g>
+ <g id="shape27-78" v:mID="27" v:groupContext="shape" transform="translate(276.159,-233.368)">
+ <title>Sheet.27</title>
+ <path d="M0.45 294.85 L354.04 376.06 L353.59 378.04 L0 296.85 L0.45 294.85 L0.45 294.85 ZM353.5 373.84 L358.79 378.19
+ L352.12 379.8 L353.5 373.84 L353.5 373.84 Z" class="st10"/>
+ </g>
+ <g id="shape28-80" v:mID="28" v:groupContext="shape" transform="translate(275.859,-178.726)">
+ <title>Sheet.28</title>
+ <path d="M1.05 240.32 L231.44 376.33 L230.39 378.1 L0 242.09 L1.05 240.32 L1.05 240.32 ZM231.59 374.05 L235.31 379.8
+ L228.47 379.32 L231.59 374.05 L231.59 374.05 Z" class="st10"/>
+ </g>
+ <g id="shape29-82" v:mID="29" v:groupContext="shape" transform="translate(275.379,-87.6866)">
+ <title>Sheet.29</title>
+ <path d="M2 149.94 L50.05 374.61 L48.05 375.04 L0 150.38 L2 149.94 L2 149.94 ZM51.83 373.18 L50.12 379.8 L45.85 374.47
+ L51.83 373.18 L51.83 373.18 Z" class="st11"/>
+ </g>
+ <g id="shape30-84" v:mID="30" v:groupContext="shape" transform="translate(276.279,-177.108)">
+ <title>Sheet.30</title>
+ <path d="M0.21 353.74 L229.55 375.85 L229.34 377.89 L0 355.75 L0.21 353.74 L0.21 353.74 ZM228.71 373.72 L234.53 377.35
+ L228.14 379.8 L228.71 373.72 L228.71 373.72 Z" class="st10"/>
+ </g>
+ <g id="shape31-86" v:mID="31" v:groupContext="shape" transform="translate(275.919,-213.926)">
+ <title>Sheet.31</title>
+ <path d="M0.45 308.72 L312.65 376.06 L312.2 378.04 L0 310.72 L0.45 308.72 L0.45 308.72 ZM312.08 373.84 L317.43 378.13
+ L310.79 379.8 L312.08 373.84 L312.08 373.84 Z" class="st10"/>
+ </g>
+ <g id="shape32-88" v:mID="32" v:groupContext="shape" transform="translate(275.439,-143.377)">
+ <title>Sheet.32</title>
+ <path d="M1.4 238.41 L150.34 375.59 L148.96 377.09 L0 239.9 L1.4 238.41 L1.4 238.41 ZM150.98 373.41 L153.4 379.8 L146.83
+ 377.9 L150.98 373.41 L150.98 373.41 Z" class="st11"/>
+ </g>
+ <g id="shape33-90" v:mID="33" v:groupContext="shape" transform="translate(275.274,-108.821)">
+ <title>Sheet.33</title>
+ <path d="M1.73 236.53 L90.79 374.97 L89.08 376.07 L0 237.63 L1.73 236.53 L1.73 236.53 ZM91.96 373 L92.7 379.8 L86.82
+ 376.31 L91.96 373 L91.96 373 Z" class="st11"/>
+ </g>
+ <g id="shape34-92" v:mID="34" v:groupContext="shape" transform="translate(275.364,-124.069)">
+ <title>Sheet.34</title>
+ <path d="M1.55 251.66 L108.22 375.28 L106.67 376.61 L0 253 L1.55 251.66 L1.55 251.66 ZM109.1 373.18 L110.78 379.8 L104.46
+ 377.17 L109.1 373.18 L109.1 373.18 Z" class="st11"/>
+ </g>
+ <g id="shape35-94" v:mID="35" v:groupContext="shape" transform="translate(275.154,-87.7165)">
+ <title>Sheet.35</title>
+ <path d="M1.97 215.68 L49.85 374.64 L47.9 375.22 L0 216.27 L1.97 215.68 L1.97 215.68 ZM51.52 373.08 L50.35 379.8 L45.65
+ 374.83 L51.52 373.08 L51.52 373.08 Z" class="st11"/>
+ </g>
+ <g id="shape36-96" v:mID="36" v:groupContext="shape" transform="translate(276.009,-143.736)">
+ <title>Sheet.36</title>
+ <path d="M0.74 320.41 L147.92 376.36 L147.2 378.26 L0 322.32 L0.74 320.41 L0.74 320.41 ZM147.7 374.08 L152.34 379.11
+ L145.52 379.8 L147.7 374.08 L147.7 374.08 Z" class="st11"/>
+ </g>
+ <g id="shape37-98" v:mID="37" v:groupContext="shape" transform="translate(275.649,-108.821)">
+ <title>Sheet.37</title>
+ <path d="M1.46 285.74 L89.46 375.45 L88 376.87 L0 287.16 L1.46 285.74 L1.46 285.74 ZM90.21 373.29 L92.29 379.8 L85.82
+ 377.57 L90.21 373.29 L90.21 373.29 Z" class="st11"/>
+ </g>
+ <g id="shape38-100" v:mID="38" v:groupContext="shape" transform="translate(275.934,-108.686)">
+ <title>Sheet.38</title>
+ <path d="M0.89 335.24 L87.85 376.57 L86.97 378.41 L0 337.09 L0.89 335.24 L0.89 335.24 ZM87.81 374.29 L92.01 379.67 L85.16
+ 379.8 L87.81 374.29 L87.81 374.29 Z" class="st11"/>
+ </g>
+ <g id="shape39-102" v:mID="39" v:groupContext="shape" transform="translate(275.574,-89.454)">
+ <title>Sheet.39</title>
+ <path d="M1.61 316.29 L48.49 375.18 L46.88 376.45 L0 317.57 L1.61 316.29 L1.61 316.29 ZM49.45 373.11 L50.86 379.8 L44.65
+ 376.91 L49.45 373.11 L49.45 373.11 Z" class="st11"/>
+ </g>
+ <g id="shape40-104" v:mID="40" v:groupContext="shape" transform="translate(276.324,-141.744)">
+ <title>Sheet.40</title>
+ <path d="M0.11 368.21 L146.74 375.79 L146.62 377.83 L0 370.23 L0.11 368.21 L0.11 368.21 ZM145.82 373.71 L151.78 377.08
+ L145.51 379.8 L145.82 373.71 L145.82 373.71 Z" class="st11"/>
+ </g>
+ <g id="shape41-106" v:mID="41" v:groupContext="shape" transform="translate(230.508,-309.069)">
+ <title>Sheet.41</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st4"/>
+ </g>
+ <g id="shape42-108" v:mID="42" v:groupContext="shape" transform="translate(230.508,-309.069)">
+ <title>Sheet.42</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape43-111" v:mID="43" v:groupContext="shape" transform="translate(233.39,-309.868)">
+ <title>Sheet.43</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape44-115" v:mID="44" v:groupContext="shape" transform="translate(263.764,-309.869)">
+ <title>Sheet.44</title>
+ <desc>4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g>
+ <g id="shape45-119" v:mID="45" v:groupContext="shape" transform="translate(230.508,-292.413)">
+ <title>Sheet.45</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape46-121" v:mID="46" v:groupContext="shape" transform="translate(230.508,-292.413)">
+ <title>Sheet.46</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape47-124" v:mID="47" v:groupContext="shape" transform="translate(233.39,-293.221)">
+ <title>Sheet.47</title>
+ <desc>1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
+ <g id="shape48-128" v:mID="48" v:groupContext="shape" transform="translate(230.508,-275.757)">
+ <title>Sheet.48</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st4"/>
+ </g>
+ <g id="shape49-130" v:mID="49" v:groupContext="shape" transform="translate(230.508,-275.757)">
+ <title>Sheet.49</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape50-133" v:mID="50" v:groupContext="shape" transform="translate(233.39,-276.574)">
+ <title>Sheet.50</title>
+ <desc>2</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
+ <g id="shape51-137" v:mID="51" v:groupContext="shape" transform="translate(252.478,-276.574)">
+ <title>Sheet.51</title>
+ <desc>3</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>3</text> </g>
+ <g id="shape52-141" v:mID="52" v:groupContext="shape" transform="translate(258.001,-276.574)">
+ <title>Sheet.52</title>
+ <desc>+1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="8.11122" cy="373.835" width="16.23" height="11.9384"/>
+ <path d="M16.22 367.87 L0 367.87 L0 379.8 L16.22 379.8 L16.22 367.87" class="st2"/>
+ <text x="2.44" y="376.82" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>+1</text> </g>
+ <g id="shape53-145" v:mID="53" v:groupContext="shape" transform="translate(230.508,-259.7)">
+ <title>Sheet.53</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape54-147" v:mID="54" v:groupContext="shape" transform="translate(230.508,-259.7)">
+ <title>Sheet.54</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape55-150" v:mID="55" v:groupContext="shape" transform="translate(233.39,-260.497)">
+ <title>Sheet.55</title>
+ <desc>3</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>3</text> </g>
+ <g id="shape56-154" v:mID="56" v:groupContext="shape" transform="translate(230.508,-243.164)">
+ <title>Sheet.56</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st4"/>
+ </g>
+ <g id="shape57-156" v:mID="57" v:groupContext="shape" transform="translate(230.508,-243.164)">
+ <title>Sheet.57</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape58-159" v:mID="58" v:groupContext="shape" transform="translate(233.39,-244.053)">
+ <title>Sheet.58</title>
+ <desc>4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g>
+ <g id="shape59-163" v:mID="59" v:groupContext="shape" transform="translate(263.764,-244.053)">
+ <title>Sheet.59</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape60-167" v:mID="60" v:groupContext="shape" transform="translate(230.508,-227.107)">
+ <title>Sheet.60</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape61-169" v:mID="61" v:groupContext="shape" transform="translate(230.508,-227.107)">
+ <title>Sheet.61</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape62-172" v:mID="62" v:groupContext="shape" transform="translate(233.39,-227.976)">
+ <title>Sheet.62</title>
+ <desc>5</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>5</text> </g>
+ <g id="shape63-176" v:mID="63" v:groupContext="shape" transform="translate(230.508,-210.211)">
+ <title>Sheet.63</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape64-178" v:mID="64" v:groupContext="shape" transform="translate(230.508,-210.211)">
+ <title>Sheet.64</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape65-181" v:mID="65" v:groupContext="shape" transform="translate(233.39,-211.085)">
+ <title>Sheet.65</title>
+ <desc>6</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>6</text> </g>
+ <g id="shape66-185" v:mID="66" v:groupContext="shape" transform="translate(230.508,-193.794)">
+ <title>Sheet.66</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st4"/>
+ </g>
+ <g id="shape67-187" v:mID="67" v:groupContext="shape" transform="translate(230.508,-193.794)">
+ <title>Sheet.67</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape68-190" v:mID="68" v:groupContext="shape" transform="translate(233.39,-194.681)">
+ <title>Sheet.68</title>
+ <desc>7</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>7</text> </g>
+ <g id="shape69-194" v:mID="69" v:groupContext="shape" transform="translate(263.764,-194.681)">
+ <title>Sheet.69</title>
+ <desc>2</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
+ <g id="shape70-198" v:mID="70" v:groupContext="shape" transform="translate(230.508,-177.258)">
+ <title>Sheet.70</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape71-200" v:mID="71" v:groupContext="shape" transform="translate(230.508,-177.258)">
+ <title>Sheet.71</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape72-203" v:mID="72" v:groupContext="shape" transform="translate(233.39,-178.117)">
+ <title>Sheet.72</title>
+ <desc>8</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>8</text> </g>
+ <g id="shape73-207" v:mID="73" v:groupContext="shape" transform="translate(230.508,-160.602)">
+ <title>Sheet.73</title>
+ <path d="M0 363.15 L0 379.8 L41.18 379.8 L41.18 363.15 L0 363.15 L0 363.15 Z" class="st7"/>
+ </g>
+ <g id="shape74-209" v:mID="74" v:groupContext="shape" transform="translate(230.508,-160.602)">
+ <title>Sheet.74</title>
+ <path d="M0 363.15 L41.18 363.15 L41.18 379.8 L0 379.8 L0 363.15" class="st5"/>
+ </g>
+ <g id="shape75-212" v:mID="75" v:groupContext="shape" transform="translate(233.39,-161.505)">
+ <title>Sheet.75</title>
+ <desc>9</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>9</text> </g>
+ <g id="shape76-216" v:mID="76" v:groupContext="shape" transform="translate(230.508,-143.946)">
+ <title>Sheet.76</title>
+ <path d="M0 363.15 L0 379.8 L41.18 379.8 L41.18 363.15 L0 363.15 L0 363.15 Z" class="st4"/>
+ </g>
+ <g id="shape77-218" v:mID="77" v:groupContext="shape" transform="translate(230.508,-143.946)">
+ <title>Sheet.77</title>
+ <path d="M0 363.15 L41.18 363.15 L41.18 379.8 L0 379.8 L0 363.15" class="st5"/>
+ </g>
+ <g id="shape78-221" v:mID="78" v:groupContext="shape" transform="translate(233.39,-144.841)">
+ <title>Sheet.78</title>
+ <desc>10</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>10</text> </g>
+ <g id="shape79-225" v:mID="79" v:groupContext="shape" transform="translate(263.764,-144.841)">
+ <title>Sheet.79</title>
+ <desc>1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
+ <g id="shape80-229" v:mID="80" v:groupContext="shape" transform="translate(230.508,-127.529)">
+ <title>Sheet.80</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape81-231" v:mID="81" v:groupContext="shape" transform="translate(230.508,-127.529)">
+ <title>Sheet.81</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape82-234" v:mID="82" v:groupContext="shape" transform="translate(233.39,-128.329)">
+ <title>Sheet.82</title>
+ <desc>11</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>11</text> </g>
+ <g id="shape83-238" v:mID="83" v:groupContext="shape" transform="translate(230.508,-110.754)">
+ <title>Sheet.83</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape84-240" v:mID="84" v:groupContext="shape" transform="translate(230.508,-110.754)">
+ <title>Sheet.84</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape85-243" v:mID="85" v:groupContext="shape" transform="translate(233.39,-111.64)">
+ <title>Sheet.85</title>
+ <desc>12</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>12</text> </g>
+ <g id="shape86-247" v:mID="86" v:groupContext="shape" transform="translate(230.508,-94.9362)">
+ <title>Sheet.86</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape87-249" v:mID="87" v:groupContext="shape" transform="translate(230.508,-94.9362)">
+ <title>Sheet.87</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape88-252" v:mID="88" v:groupContext="shape" transform="translate(233.39,-95.7375)">
+ <title>Sheet.88</title>
+ <desc>…</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.30974" cy="373.835" width="14.62" height="11.9384"/>
+ <path d="M14.62 367.87 L0 367.87 L0 379.8 L14.62 379.8 L14.62 367.87" class="st2"/>
+ <text x="2.34" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>…</text> </g>
+ <g id="shape89-256" v:mID="89" v:groupContext="shape" transform="translate(230.508,-78.999)">
+ <title>Sheet.89</title>
+ <path d="M0 363.27 L0 379.8 L41.18 379.8 L41.18 363.27 L0 363.27 L0 363.27 Z" class="st7"/>
+ </g>
+ <g id="shape90-258" v:mID="90" v:groupContext="shape" transform="translate(230.508,-78.999)">
+ <title>Sheet.90</title>
+ <path d="M0 363.27 L41.18 363.27 L41.18 379.8 L0 379.8 L0 363.27" class="st5"/>
+ </g>
+ <g id="shape91-261" v:mID="91" v:groupContext="shape" transform="translate(233.39,-79.8525)">
+ <title>Sheet.91</title>
+ <desc>255</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="11.1326" cy="373.835" width="22.27" height="11.9384"/>
+ <path d="M22.27 367.87 L0 367.87 L0 379.8 L22.27 379.8 L22.27 367.87" class="st2"/>
+ <text x="2.84" y="376.82" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>255</text> </g>
+ <g id="shape92-265" v:mID="92" v:groupContext="shape" transform="translate(276.219,-250.503)">
+ <title>Sheet.92</title>
+ <path d="M0.33 311.98 L396.81 375.94 L396.48 377.95 L0 313.99 L0.33 311.98 L0.33 311.98 ZM396.12 373.75 L401.68 377.74
+ L395.16 379.8 L396.12 373.75 L396.12 373.75 Z" class="st15"/>
+ </g>
+ <g id="shape93-267" v:mID="93" v:groupContext="shape" transform="translate(275.859,-178.426)">
+ <title>Sheet.93</title>
+ <path d="M0.57 305.72 L230.93 376.21 L230.33 378.16 L0 307.67 L0.57 305.72 L0.57 305.72 ZM230.57 373.96 L235.52 378.67
+ L228.77 379.8 L230.57 373.96 L230.57 373.96 Z" class="st15"/>
+ </g>
+ <g id="shape94-269" v:mID="94" v:groupContext="shape" transform="translate(276.279,-151.285)">
+ <title>Sheet.94</title>
+ <path d="M0.21 379.8 L230.12 353.17 L229.88 351.14 L0 377.8 L0.21 379.8 L0.21 379.8 ZM229.34 355.3 L235.07 351.55 L228.65
+ 349.25 L229.34 355.3 L229.34 355.3 Z" class="st15"/>
+ </g>
+ <g id="shape95-271" v:mID="95" v:groupContext="shape" transform="translate(276.009,-232.679)">
+ <title>Sheet.95</title>
+ <path d="M0.27 327.47 L354.22 375.91 L353.95 377.92 L0 329.48 L0.27 327.47 L0.27 327.47 ZM353.5 373.75 L359.15 377.62
+ L352.66 379.8 L353.5 373.75 L353.5 373.75 Z" class="st10"/>
+ </g>
+ <g id="shape96-273" v:mID="96" v:groupContext="shape" transform="translate(276.279,-201.134)">
+ <title>Sheet.96</title>
+ <path d="M0.21 379.8 L353.86 348.14 L353.68 346.1 L0 377.77 L0.21 379.8 L0.21 379.8 ZM353.05 350.24 L358.88 346.64 L352.48
+ 344.16 L353.05 350.24 L353.05 350.24 Z" class="st15"/>
+ </g>
+ <g id="shape97-275" v:mID="97" v:groupContext="shape" transform="translate(346.482,-41.2531)">
+ <title>Sheet.97</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st7"/>
+ </g>
+ <g id="shape98-277" v:mID="98" v:groupContext="shape" transform="translate(346.482,-41.2531)">
+ <title>Sheet.98</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape99-280" v:mID="99" v:groupContext="shape" transform="translate(349.371,-91.6514)">
+ <title>Sheet.99</title>
+ <desc>…</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.30974" cy="373.835" width="14.62" height="11.9384"/>
+ <path d="M14.62 367.87 L0 367.87 L0 379.8 L14.62 379.8 L14.62 367.87" class="st2"/>
+ <text x="2.34" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>…</text> </g>
+ <g id="shape100-284" v:mID="100" v:groupContext="shape" transform="translate(470.019,-94.337)">
+ <title>Sheet.100</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st7"/>
+ </g>
+ <g id="shape101-286" v:mID="101" v:groupContext="shape" transform="translate(470.019,-94.337)">
+ <title>Sheet.101</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape102-289" v:mID="102" v:groupContext="shape" transform="translate(472.925,-144.778)">
+ <title>Sheet.102</title>
+ <desc>5</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>5</text> </g>
+ <g id="shape103-293" v:mID="103" v:groupContext="shape" transform="translate(511.558,-113.749)">
+ <title>Sheet.103</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st4"/>
+ </g>
+ <g id="shape104-295" v:mID="104" v:groupContext="shape" transform="translate(511.558,-113.749)">
+ <title>Sheet.104</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape105-298" v:mID="105" v:groupContext="shape" transform="translate(514.441,-164.138)">
+ <title>Sheet.105</title>
+ <desc>4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g>
+ <g id="shape106-302" v:mID="106" v:groupContext="shape" transform="translate(542.148,-164.138)">
+ <title>Sheet.106</title>
+ <desc>2</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
+ <g id="shape107-306" v:mID="107" v:groupContext="shape" transform="translate(542.148,-152.155)">
+ <title>Sheet.107</title>
+ <desc>4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g>
+ <g id="shape108-310" v:mID="108" v:groupContext="shape" transform="translate(536.626,-140.172)">
+ <title>Sheet.108</title>
+ <desc>10</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>10</text> </g>
+ <g id="shape109-314" v:mID="109" v:groupContext="shape" transform="translate(514.201,-114.441)">
+ <title>Sheet.109</title>
+ <desc>1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
+ <g id="shape110-318" v:mID="110" v:groupContext="shape" transform="translate(519.723,-114.441)">
+ <title>Sheet.110</title>
+ <desc>+4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="8.11122" cy="373.835" width="16.23" height="11.9384"/>
+ <path d="M16.22 367.87 L0 367.87 L0 379.8 L16.22 379.8 L16.22 367.87" class="st2"/>
+ <text x="2.44" y="376.82" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>+4</text> </g>
+ <g id="shape111-322" v:mID="111" v:groupContext="shape" transform="translate(552.257,-130.525)">
+ <title>Sheet.111</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st7"/>
+ </g>
+ <g id="shape112-324" v:mID="112" v:groupContext="shape" transform="translate(552.257,-130.525)">
+ <title>Sheet.112</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape113-327" v:mID="113" v:groupContext="shape" transform="translate(555.203,-180.952)">
+ <title>Sheet.113</title>
+ <desc>3</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>3</text> </g>
+ <g id="shape114-331" v:mID="114" v:groupContext="shape" transform="translate(634.615,-169.11)">
+ <title>Sheet.114</title>
+ <path d="M0 313.9 L0 379.8 L41.18 379.8 L41.18 313.9 L0 313.9 L0 313.9 Z" class="st4"/>
+ </g>
+ <g id="shape115-333" v:mID="115" v:groupContext="shape" transform="translate(634.615,-169.11)">
+ <title>Sheet.115</title>
+ <path d="M0 313.9 L41.18 313.9 L41.18 379.8 L0 379.8 L0 313.9" class="st5"/>
+ </g>
+ <g id="shape116-336" v:mID="116" v:groupContext="shape" transform="translate(637.526,-219.595)">
+ <title>Sheet.116</title>
+ <desc>1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
+ <g id="shape117-340" v:mID="117" v:groupContext="shape" transform="translate(665.234,-219.595)">
+ <title>Sheet.117</title>
+ <desc>2</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
+ <g id="shape118-344" v:mID="118" v:groupContext="shape" transform="translate(665.2,-225.489)">
+ <title>Sheet.118</title>
+ <path d="M0 379.32 L0 379.8 L5.52 379.8 L5.52 379.32 L0 379.32 L0 379.32 Z" class="st19"/>
+ </g>
+ <g id="shape119-346" v:mID="119" v:groupContext="shape" transform="translate(665.234,-207.612)">
+ <title>Sheet.119</title>
+ <desc>7</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>7</text> </g>
+ <g id="shape120-350" v:mID="120" v:groupContext="shape" transform="translate(637.286,-169.898)">
+ <title>Sheet.120</title>
+ <desc>5</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>5</text> </g>
+ <g id="shape121-354" v:mID="121" v:groupContext="shape" transform="translate(642.809,-169.898)">
+ <title>Sheet.121</title>
+ <desc>-</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="3.49545" cy="373.835" width="7" height="11.9384"/>
+ <path d="M6.99 367.87 L0 367.87 L0 379.8 L6.99 379.8 L6.99 367.87" class="st2"/>
+ <text x="1.84" y="376.82" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>-</text> </g>
+ <g id="shape122-358" v:mID="122" v:groupContext="shape" transform="translate(646.17,-169.898)">
+ <title>Sheet.122</title>
+ <desc>3</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>3</text> </g>
+ <g id="shape123-362" v:mID="123" v:groupContext="shape" transform="translate(676.275,-186.725)">
+ <title>Sheet.123</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st4"/>
+ </g>
+ <g id="shape124-364" v:mID="124" v:groupContext="shape" transform="translate(676.275,-186.725)">
+ <title>Sheet.124</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape125-367" v:mID="125" v:groupContext="shape" transform="translate(679.141,-237.17)">
+ <title>Sheet.125</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape126-371" v:mID="126" v:groupContext="shape" transform="translate(706.849,-237.17)">
+ <title>Sheet.126</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape127-375" v:mID="127" v:groupContext="shape" transform="translate(678.901,-187.474)">
+ <title>Sheet.127</title>
+ <desc>4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g>
+ <g id="shape128-379" v:mID="128" v:groupContext="shape" transform="translate(304.943,-21.841)">
+ <title>Sheet.128</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st4"/>
+ </g>
+ <g id="shape129-381" v:mID="129" v:groupContext="shape" transform="translate(304.943,-21.841)">
+ <title>Sheet.129</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape130-384" v:mID="130" v:groupContext="shape" transform="translate(307.855,-72.2917)">
+ <title>Sheet.130</title>
+ <desc>64</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>64</text> </g>
+ <g id="shape131-388" v:mID="131" v:groupContext="shape" transform="translate(330.041,-72.2917)">
+ <title>Sheet.131</title>
+ <desc>96</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>96</text> </g>
+ <g id="shape132-392" v:mID="132" v:groupContext="shape" transform="translate(307.616,-22.5952)">
+ <title>Sheet.132</title>
+ <desc>7</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>7</text> </g>
+ <g id="shape133-396" v:mID="133" v:groupContext="shape" transform="translate(428.72,-77.4413)">
+ <title>Sheet.133</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st4"/>
+ </g>
+ <g id="shape134-398" v:mID="134" v:groupContext="shape" transform="translate(428.72,-77.4413)">
+ <title>Sheet.134</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape135-401" v:mID="135" v:groupContext="shape" transform="translate(431.648,-127.825)">
+ <title>Sheet.135</title>
+ <desc>6</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>6</text> </g>
+ <g id="shape136-405" v:mID="136" v:groupContext="shape" transform="translate(453.834,-127.825)">
+ <title>Sheet.136</title>
+ <desc>98</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>98</text> </g>
+ <g id="shape137-409" v:mID="137" v:groupContext="shape" transform="translate(431.409,-78.1289)">
+ <title>Sheet.137</title>
+ <desc>5</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>5</text> </g>
+ <g id="shape138-413" v:mID="138" v:groupContext="shape" transform="translate(593.796,-149.818)">
+ <title>Sheet.138</title>
+ <path d="M0 313.9 L0 379.8 L41.18 379.8 L41.18 313.9 L0 313.9 L0 313.9 Z" class="st4"/>
+ </g>
+ <g id="shape139-415" v:mID="139" v:groupContext="shape" transform="translate(593.796,-149.818)">
+ <title>Sheet.139</title>
+ <path d="M0 313.9 L41.18 313.9 L41.18 379.8 L0 379.8 L0 313.9" class="st5"/>
+ </g>
+ <g id="shape140-418" v:mID="140" v:groupContext="shape" transform="translate(596.718,-200.312)">
+ <title>Sheet.140</title>
+ <desc>2</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
+ <g id="shape141-422" v:mID="141" v:groupContext="shape" transform="translate(618.904,-200.312)">
+ <title>Sheet.141</title>
+ <desc>99</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>99</text> </g>
+ <g id="shape142-426" v:mID="142" v:groupContext="shape" transform="translate(596.478,-150.615)">
+ <title>Sheet.142</title>
+ <desc>9</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>9</text> </g>
+ <g id="shape143-430" v:mID="143" v:groupContext="shape" transform="translate(387.181,-58.0291)">
+ <title>Sheet.143</title>
+ <path d="M0 314.02 L0 379.8 L41.18 379.8 L41.18 314.02 L0 314.02 L0 314.02 Z" class="st4"/>
+ </g>
+ <g id="shape144-432" v:mID="144" v:groupContext="shape" transform="translate(387.181,-58.0291)">
+ <title>Sheet.144</title>
+ <path d="M0 314.02 L41.18 314.02 L41.18 379.8 L0 379.8 L0 314.02" class="st5"/>
+ </g>
+ <g id="shape145-435" v:mID="145" v:groupContext="shape" transform="translate(390.133,-108.466)">
+ <title>Sheet.145</title>
+ <desc>7</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>7</text> </g>
+ <g id="shape146-439" v:mID="146" v:groupContext="shape" transform="translate(412.318,-108.466)">
+ <title>Sheet.146</title>
+ <desc>97</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="7.95203" cy="373.835" width="15.91" height="11.9384"/>
+ <path d="M15.9 367.87 L0 367.87 L0 379.8 L15.9 379.8 L15.9 367.87" class="st2"/>
+ <text x="2.42" y="376.82" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>97</text> </g>
+ <g id="shape147-443" v:mID="147" v:groupContext="shape" transform="translate(389.893,-58.7692)">
+ <title>Sheet.147</title>
+ <desc>6</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.77151" cy="373.835" width="9.55" height="11.9384"/>
+ <path d="M9.54 367.87 L0 367.87 L0 379.8 L9.54 379.8 L9.54 367.87" class="st2"/>
+ <text x="2.01" y="376.82" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>6</text> </g>
+ <g id="shape148-447" v:mID="148" v:groupContext="shape" transform="translate(31.8163,-277.674)">
+ <title>Sheet.148</title>
+ <path d="M0 362.83 C0 360.95 1.52 359.43 3.41 359.43 L68.51 359.43 C70.4 359.43 71.91 360.95 71.91 362.83 L71.91 376.41
+ C71.91 378.28 70.4 379.8 68.51 379.8 L3.41 379.8 C1.52 379.8 0 378.28 0 376.41 L0 362.83 Z" class="st4"/>
+ </g>
+ <g id="shape149-449" v:mID="149" v:groupContext="shape" transform="translate(31.8163,-277.674)">
+ <title>Sheet.149</title>
+ <path d="M0 362.83 C0 360.95 1.52 359.43 3.41 359.43 L68.51 359.43 C70.4 359.43 71.91 360.95 71.91 362.83 L71.91 376.41
+ C71.91 378.28 70.4 379.8 68.51 379.8 L3.41 379.8 C1.52 379.8 0 378.28 0 376.41 L0 362.83 Z" class="st21"/>
+ </g>
+ <g id="shape150-451" v:mID="150" v:groupContext="shape" transform="translate(36,-278.851)">
+ <title>Sheet.150</title>
+ <desc>Insert key</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="35.613" cy="372.612" width="71.23" height="14.3829"/>
+ <path d="M71.23 365.42 L0 365.42 L0 379.8 L71.23 379.8 L71.23 365.42" class="st2"/>
+ <text x="9.64" y="376.21" class="st22" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Insert key </text> </g>
+ <g id="shape151-455" v:mID="151" v:groupContext="shape" transform="translate(47.7236,-257.004)">
+ <title>Sheet.151</title>
+ <path d="M0 369.44 L9.81 369.44 L9.81 359.07 L29.44 359.07 L29.44 369.44 L39.26 369.44 L19.63 379.8 L0 369.44 Z"
+ class="st23"/>
+ </g>
+ <g id="shape152-457" v:mID="152" v:groupContext="shape" transform="translate(31.8163,-236.094)">
+ <title>Sheet.152</title>
+ <path d="M0 362.73 C0 360.85 1.54 359.31 3.42 359.31 L68.49 359.31 C70.38 359.31 71.91 360.85 71.91 362.73 L71.91 376.39
+ C71.91 378.28 70.38 379.8 68.49 379.8 L3.42 379.8 C1.54 379.8 0 378.28 0 376.39 L0 362.73 Z" class="st4"/>
+ </g>
+ <g id="shape153-459" v:mID="153" v:groupContext="shape" transform="translate(31.8163,-236.094)">
+ <title>Sheet.153</title>
+ <path d="M0 362.73 C0 360.85 1.54 359.31 3.42 359.31 L68.49 359.31 C70.38 359.31 71.91 360.85 71.91 362.73 L71.91 376.39
+ C71.91 378.28 70.38 379.8 68.49 379.8 L3.42 379.8 C1.54 379.8 0 378.28 0 376.39 L0 362.73 Z" class="st21"/>
+ </g>
+ <g id="shape154-461" v:mID="154" v:groupContext="shape" transform="translate(54.6845,-237.332)">
+ <title>Sheet.154</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.8573" cy="372.612" width="33.72" height="14.3829"/>
+ <path d="M33.71 365.42 L0 365.42 L0 379.8 L33.71 379.8 L33.71 365.42" class="st2"/>
+ <text x="3.86" y="376.21" class="st22" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape155-465" v:mID="155" v:groupContext="shape" transform="translate(23.0522,-195.232)">
+ <title>Sheet.155</title>
+ <path d="M0 363.53 C0 361.73 1.46 360.27 3.26 360.27 L87.15 360.27 C88.95 360.27 90.4 361.73 90.4 363.53 L90.4 376.55
+ C90.4 378.35 88.95 379.8 87.15 379.8 L3.26 379.8 C1.46 379.8 0 378.35 0 376.55 L0 363.53 Z" class="st4"/>
+ </g>
+ <g id="shape156-467" v:mID="156" v:groupContext="shape" transform="translate(23.0522,-195.232)">
+ <title>Sheet.156</title>
+ <path d="M0 363.53 C0 361.73 1.46 360.27 3.26 360.27 L87.15 360.27 C88.95 360.27 90.4 361.73 90.4 363.53 L90.4 376.55
+ C90.4 378.35 88.95 379.8 87.15 379.8 L3.26 379.8 C1.46 379.8 0 378.35 0 376.55 L0 363.53 Z" class="st21"/>
+ </g>
+ <g id="shape157-469" v:mID="157" v:groupContext="shape" transform="translate(27,-196.017)">
+ <title>Sheet.157</title>
+ <desc>0x0102ABCD</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.6644" cy="372.612" width="87.33" height="14.3829"/>
+ <path d="M87.33 365.42 L0 365.42 L0 379.8 L87.33 379.8 L87.33 365.42" class="st2"/>
+ <text x="7.36" y="376.21" class="st22" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0102ABCD</text> </g>
+ <g id="shape158-473" v:mID="158" v:groupContext="shape" transform="translate(47.7236,-214.824)">
+ <title>Sheet.158</title>
+ <path d="M0 369.5 L9.81 369.5 L9.81 359.19 L29.44 359.19 L29.44 369.5 L39.26 369.5 L19.63 379.8 L0 369.5 Z"
+ class="st23"/>
+ </g>
+ <g id="shape159-475" v:mID="159" v:groupContext="shape" transform="translate(49.8539,-181.212)">
+ <title>Sheet.159</title>
+ <path d="M11.89 368.42 C11.89 371.57 11.47 374.11 10.94 374.11 L6.9 374.11 C6.37 374.11 5.94 376.67 5.94 379.8 C5.94
+ 376.67 5.52 374.11 5 374.11 L0.95 374.11 C0.43 374.11 0 371.57 0 368.42" class="st24"/>
+ </g>
+ <g id="shape160-478" v:mID="160" v:groupContext="shape" transform="translate(64.2606,-180.973)">
+ <title>Sheet.160</title>
+ <path d="M9.54 368.54 C9.54 371.66 9.21 374.17 8.79 374.17 L5.53 374.17 C5.11 374.17 4.77 376.7 4.77 379.8 C4.77 376.7
+ 4.43 374.17 4.02 374.17 L0.76 374.17 C0.34 374.17 0 371.66 0 368.54" class="st24"/>
+ </g>
+ <g id="shape161-481" v:mID="161" v:groupContext="shape" transform="translate(18.19,-60.9649)">
+ <title>Sheet.161</title>
+ <path d="M0 354.74 C0 351.97 2.25 349.73 5.03 349.73 L10.77 349.73 L30.27 267.14 L26.92 349.73 L59.58 349.73 C62.35 349.73
+ 64.59 351.97 64.59 354.74 L64.59 354.74 L64.59 362.26 L64.59 374.8 C64.59 377.57 62.35 379.8 59.58 379.8
+ L26.92 379.8 L10.77 379.8 L10.77 379.8 L5.03 379.8 C2.25 379.8 0 377.57 0 374.8 L0 362.26 L0 354.74 L0 354.74
+ Z" class="st23"/>
+ </g>
+ <g id="shape162-483" v:mID="162" v:groupContext="shape" transform="translate(28.141,-66.9569)">
+ <title>Sheet.162</title>
+ <desc>chunk id</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="27.5794" cy="372.612" width="55.16" height="14.3829"/>
+ <path d="M55.16 365.42 L0 365.42 L0 379.8 L55.16 379.8 L55.16 365.42" class="st2"/>
+ <text x="5.26" y="376.21" class="st25" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>chunk id</text> </g>
+ <g id="shape163-487" v:mID="163" v:groupContext="shape" transform="translate(50.8451,-112.132)">
+ <title>Sheet.163</title>
+ <path d="M0 354.64 C0 351.87 2.27 349.61 5.04 349.61 L10.74 349.61 L16.27 313.66 L26.86 349.61 L59.43 349.61 C62.22 349.61
+ 64.47 351.87 64.47 354.64 L64.47 354.64 L64.47 362.19 L64.47 374.77 C64.47 377.56 62.22 379.8 59.43 379.8
+ L26.86 379.8 L10.74 379.8 L10.74 379.8 L5.04 379.8 C2.27 379.8 0 377.56 0 374.77 L0 362.19 L0 354.64 L0
+ 354.64 Z" class="st23"/>
+ </g>
+ <g id="shape164-489" v:mID="164" v:groupContext="shape" transform="translate(68.8168,-118.181)">
+ <title>Sheet.164</title>
+ <desc>bin id</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="18.3881" cy="372.612" width="36.78" height="14.3829"/>
+ <path d="M36.78 365.42 L0 365.42 L0 379.8 L36.78 379.8 L36.78 365.42" class="st2"/>
+ <text x="4.06" y="376.21" class="st25" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>bin id</text> </g>
+ <g id="shape165-493" v:mID="165" v:groupContext="shape" transform="translate(113.454,-225.085)">
+ <title>Sheet.165</title>
+ <path d="M0.01 375.68 L13.23 375.73 L13.22 377.77 L0 377.72 L0.01 375.68 L0.01 375.68 ZM12.22 373.69 L18.33 376.76 L12.2
+ 379.8 L12.22 373.69 L12.22 373.69 Z" class="st26"/>
+ </g>
+ <g id="shape166-495" v:mID="166" v:groupContext="shape" transform="translate(200.975,-280.969)">
+ <title>Sheet.166</title>
+ <path d="M0 375.73 L20.11 375.73 L20.11 377.77 L0 377.77 L0 375.73 L0 375.73 ZM19.09 373.69 L25.21 376.75 L19.09 379.8
+ L19.09 373.69 L19.09 373.69 Z" class="st26"/>
+ </g>
+ <g id="shape167-497" v:mID="167" v:groupContext="shape" transform="translate(275.739,-179.745)">
+ <title>Sheet.167</title>
+ <path d="M0.81 274.59 L231.38 376.48 L230.54 378.37 L0 276.48 L0.81 274.59 L0.81 274.59 ZM231.26 374.2 L235.64 379.47
+ L228.8 379.8 L231.26 374.2 L231.26 374.2 Z" class="st27"/>
+ </g>
+ <g id="shape168-499" v:mID="168" v:groupContext="shape" transform="translate(521.823,-96.8834)">
+ <title>Sheet.168</title>
+ <path d="M127.17 309.02 L127.17 378.79 C127.17 379.35 126.72 379.8 126.15 379.8 L3.06 379.8 C2.52 379.8 2.04 379.35 2.04
+ 378.79 L2.04 369.59 L4.08 369.59 L4.08 378.79 L3.06 377.77 L126.15 377.77 L125.13 378.79 L125.13 309.02
+ L127.17 309.02 ZM0 370.61 L3.06 364.5 L6.12 370.61 L0 370.61 Z" class="st28"/>
+ </g>
+ <g id="shape169-501" v:mID="169" v:groupContext="shape" transform="translate(478.603,-39.7553)">
+ <title>Sheet.169</title>
+ <path d="M0 347.57 C0 344.01 2.91 341.1 6.48 341.1 L237.86 341.1 C241.43 341.1 244.31 344.01 244.31 347.57 L244.31 373.36
+ C244.31 376.93 241.43 379.8 237.86 379.8 L6.48 379.8 C2.91 379.8 0 376.93 0 373.36 L0 347.57 Z"
+ class="st23"/>
+ </g>
+ <g id="shape170-503" v:mID="170" v:groupContext="shape" transform="translate(487.717,-45.5378)">
+ <title>Sheet.170</title>
+ <desc>Move bin from group 1 to 4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="126.387" cy="369.018" width="252.78" height="21.5726"/>
+ <path d="M252.77 358.23 L0 358.23 L0 379.8 L252.77 379.8 L252.77 358.23" class="st2"/>
+ <text x="18.98" y="374.41" class="st29" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Move bin from group 1 to 4</text> </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i2.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i2.svg
new file mode 100644
index 00000000..a5f43f94
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i2.svg
@@ -0,0 +1,280 @@
+<?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 Microsoft Visio, SVG Export efd_i2.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.85156in" height="2.98777in"
+ viewBox="0 0 205.313 215.12" xml:space="preserve" color-interpolation-filters="sRGB" class="st18">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st3 {fill:#deebf6;stroke:#c7c8c8;stroke-width:0.25}
+ .st4 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st5 {fill:#ff0000;stroke:#c7c8c8;stroke-width:0.25}
+ .st6 {fill:none;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st7 {fill:none;stroke:#0070c0;stroke-width:1.5}
+ .st8 {marker-end:url(#mrkr5-91);stroke:#0070c0;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st9 {fill:#0070c0;fill-opacity:1;stroke:#0070c0;stroke-opacity:1;stroke-width:0.37313432835821}
+ .st10 {fill:none;stroke:none;stroke-width:0.25}
+ .st11 {fill:#ff0000;font-family:Calibri;font-size:1.00001em;font-weight:bold}
+ .st12 {font-size:1em}
+ .st13 {marker-end:url(#mrkr5-101);stroke:#ff0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st14 {fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-opacity:1;stroke-width:0.28409090909091}
+ .st15 {fill:#5b9bd5;font-family:Calibri;font-size:1.00001em;font-weight:bold}
+ .st16 {marker-end:url(#mrkr5-110);stroke:#41719c;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st17 {fill:#41719c;fill-opacity:1;stroke:#41719c;stroke-opacity:1;stroke-width:0.28409090909091}
+ .st18 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend5">
+ <path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr5-91" class="st9" v:arrowType="5" v:arrowSize="2" v:setback="4.45" refX="-4.45" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-2.68,-2.68) "/>
+ </marker>
+ <marker id="mrkr5-101" class="st14" v:arrowType="5" v:arrowSize="2" v:setback="6.16" refX="-6.16" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-3.52,-3.52) "/>
+ </marker>
+ <marker id="mrkr5-110" class="st17" v:arrowType="5" v:arrowSize="2" v:setback="6.16" refX="-6.16" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-3.52,-3.52) "/>
+ </marker>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape2-1" v:mID="2" v:groupContext="shape" transform="translate(24.4044,-42.7174)">
+ <title>Circle</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow2-2" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 138.62 A76.5 76.5 0 0 1 153 138.62 A76.5 76.5 0 1 1 0 138.62 Z" class="st2"/>
+ </g>
+ <path d="M0 138.62 A76.5 76.5 0 0 1 153 138.62 A76.5 76.5 0 1 1 0 138.62 Z" class="st3"/>
+ </g>
+ <g id="shape3-6" v:mID="3" v:groupContext="shape" transform="translate(24.4044,-144.53)">
+ <title>Circle.3</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow3-7" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape4-11" v:mID="4" v:groupContext="shape" transform="translate(21.0294,-102.342)">
+ <title>Circle.4</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow4-12" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape5-16" v:mID="5" v:groupContext="shape" transform="translate(69.4044,-183.342)">
+ <title>Circle.5</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow5-17" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape6-21" v:mID="6" v:groupContext="shape" transform="translate(117.217,-183.342)">
+ <title>Circle.6</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow6-22" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st5"/>
+ </g>
+ <g id="shape7-26" v:mID="7" v:groupContext="shape" transform="translate(171.217,-104.03)">
+ <title>Circle.7</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow7-27" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st5"/>
+ </g>
+ <g id="shape8-31" v:mID="8" v:groupContext="shape" transform="translate(109.904,-38.2174)">
+ <title>Circle.8</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow8-32" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st5"/>
+ </g>
+ <g id="shape9-36" v:mID="9" v:groupContext="shape" transform="translate(21.0294,-124.842)">
+ <title>Circle.9</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow9-37" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st5"/>
+ </g>
+ <g id="shape10-41" v:mID="10" v:groupContext="shape" transform="translate(147.029,-168.717)">
+ <title>Circle.10</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow10-42" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape11-46" v:mID="11" v:groupContext="shape" transform="translate(138.029,-48.3424)">
+ <title>Circle.11</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow11-47" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape12-51" v:mID="12" v:groupContext="shape" transform="translate(160.529,-74.2174)">
+ <title>Circle.12</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow12-52" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape13-56" v:mID="13" v:groupContext="shape" transform="translate(40.7169,-57.3424)">
+ <title>Circle.13</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow13-57" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape14-61" v:mID="14" v:groupContext="shape" transform="translate(42.4044,-168.717)">
+ <title>Circle.14</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow14-62" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape15-66" v:mID="15" v:groupContext="shape" transform="translate(66.0294,-42.7174)">
+ <title>Circle.15</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow15-67" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape16-71" v:mID="16" v:groupContext="shape" transform="translate(25.5294,-79.8424)">
+ <title>Circle.16</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow16-72" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape17-76" v:mID="17" v:groupContext="shape" transform="translate(165.029,-143.405)">
+ <title>Circle.17</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow17-77" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st2"/>
+ </g>
+ <path d="M0 208.93 A6.1875 6.1875 0 1 1 12.37 208.93 A6.1875 6.1875 0 0 1 0 208.93 Z" class="st4"/>
+ </g>
+ <g id="shape18-81" v:mID="18" v:groupContext="shape" transform="translate(276.618,4.50201) rotate(45)">
+ <title>Ellipse</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow18-82" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.63935,1.1506)" class="st1">
+ <path d="M0 187.01 A14.7383 28.1086 0 1 1 29.48 187.01 A14.7383 28.1086 0 1 1 0 187.01 Z" class="st6"/>
+ </g>
+ <path d="M0 187.01 A14.7383 28.1086 0 1 1 29.48 187.01 A14.7383 28.1086 0 1 1 0 187.01 Z" class="st7"/>
+ </g>
+ <g id="shape19-86" v:mID="19" v:groupContext="shape" transform="translate(251.273,355.436) rotate(156.038)">
+ <title>Sheet.19</title>
+ <path d="M-0 215.12 A73.4538 31.2572 85.43 0 1 40.92 208.96 L41.1 209.27" class="st8"/>
+ </g>
+ <g id="shape20-92" v:mID="20" v:groupContext="shape" transform="translate(62.705,-78.7174)">
+ <title>Sheet.20</title>
+ <desc>Target Hashed Value</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="42.6994" cy="203.87" width="85.4" height="22.5"/>
+ <rect x="0" y="192.62" width="85.3987" height="22.5" class="st10"/>
+ <text x="6.73" y="200.27" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Target Hashed <tspan
+ x="28.48" dy="1.2em" class="st12">Value</tspan></text> </g>
+ <g id="shape21-96" v:mID="21" v:groupContext="shape" transform="translate(314.101,88.728) rotate(75.9638)">
+ <title>Sheet.21</title>
+ <path d="M0 215.12 L16.92 215.12" class="st13"/>
+ </g>
+ <g id="shape23-102" v:mID="23" v:groupContext="shape" transform="translate(60.4044,-138.342)">
+ <title>Sheet.23</title>
+ <desc>Keys</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="24.75" cy="203.87" width="49.5" height="22.5"/>
+ <rect x="0" y="192.62" width="49.5" height="22.5" class="st10"/>
+ <text x="13.21" y="207.47" class="st15" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Keys</text> </g>
+ <g id="shape24-105" v:mID="24" v:groupContext="shape" transform="translate(-125.293,114.034) rotate(-104.574)">
+ <title>Sheet.24</title>
+ <path d="M0 215.12 L22.9 215.12" class="st16"/>
+ </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i3.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i3.svg
new file mode 100644
index 00000000..ae229037
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i3.svg
@@ -0,0 +1,634 @@
+<?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 Microsoft Visio, SVG Export efd_i3.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="6.56036in" height="5.44284in"
+ viewBox="0 0 472.346 391.884" xml:space="preserve" color-interpolation-filters="sRGB" class="st22">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false"/>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st3 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {marker-end:url(#mrkr5-24);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st6 {fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-opacity:1;stroke-width:0.28409090909091}
+ .st7 {fill:none;stroke:#2e75b5;stroke-width:1}
+ .st8 {fill:#5b9bd5;font-family:Calibri;font-size:1.00001em}
+ .st9 {font-size:1em}
+ .st10 {fill:none;stroke:none;stroke-width:1}
+ .st11 {fill:#feffff;font-family:Calibri;font-size:1.00001em;font-weight:bold}
+ .st12 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st13 {fill:#4f87bb;stroke:#40709c;stroke-width:0.75}
+ .st14 {fill:#feffff;font-family:Calibri;font-size:0.75em}
+ .st15 {fill:none;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st16 {fill:none;stroke:#2e75b5;stroke-width:2.25}
+ .st17 {stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st18 {fill:#305497;stroke:#2e75b5;stroke-width:1}
+ .st19 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:none}
+ .st20 {fill:#92d050;fill-opacity:0.3;stroke:none;stroke-width:0.25}
+ .st21 {fill:#feffff;font-family:Calibri;font-size:1.16666em}
+ .st22 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend5">
+ <path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr5-24" class="st6" v:arrowType="5" v:arrowSize="2" v:setback="6.16" refX="-6.16" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-3.52,-3.52) "/>
+ </marker>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <v:layer v:name="Connector" v:index="0"/>
+ <g id="shape2-1" v:mID="2" v:groupContext="shape" transform="translate(111.25,-354.482)">
+ <title>Rectangle</title>
+ <desc>Packet Header</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="42.75" cy="382.884" width="85.5" height="18"/>
+ <g id="shadow2-2" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="85.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="85.5" height="18" class="st3"/>
+ <text x="13.24" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Packet Header</text> </g>
+ <g id="shape3-7" v:mID="3" v:groupContext="shape" transform="translate(192.25,-354.482)">
+ <title>Rectangle.3</title>
+ <desc>Payload</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="382.884" width="108" height="18"/>
+ <g id="shadow3-8" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="108" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="108" height="18" class="st3"/>
+ <text x="37.95" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload</text> </g>
+ <g id="shape4-13" v:mID="4" v:groupContext="shape" transform="translate(136,-311.232)">
+ <title>Rectangle.4</title>
+ <desc>Flow Key</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="27" cy="382.884" width="54" height="18"/>
+ <g id="shadow4-14" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="54" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="54" height="18" class="st3"/>
+ <text x="8.87" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Flow Key</text> </g>
+ <g id="shape5-19" v:mID="5" v:groupContext="shape" transform="translate(465.501,-160.057) rotate(59.7436)">
+ <title>Sheet.5</title>
+ <path d="M0 391.88 L25.1 391.88" class="st5"/>
+ </g>
+ <g id="shape8-25" v:mID="8" v:groupContext="shape" transform="translate(219.25,-320.169)">
+ <title>Sheet.8</title>
+ <desc>Fields of the packet are used to form a flow Key</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="67.5" cy="377.822" width="135" height="28.125"/>
+ <rect x="0" y="363.759" width="135" height="28.125" class="st7"/>
+ <text x="10.7" y="374.22" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Fields of the packet are <tspan
+ x="9.67" dy="1.2em" class="st9">used to form a flow Key</tspan></text> </g>
+ <g id="group13-29" transform="translate(120.25,-266.897)" v:mID="13" v:groupContext="group">
+ <title>Sheet.13</title>
+ <g id="shape11-30" v:mID="11" v:groupContext="shape" transform="translate(85.5,751.143) rotate(180)">
+ <title>Trapezoid</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow11-31" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,-0.345598,-1.97279)" class="st1">
+ <path d="M0 391.88 L85.5 391.88 L60.19 359.26 L25.31 359.26 L0 391.88 Z" class="st2"/>
+ </g>
+ <path d="M0 391.88 L85.5 391.88 L60.19 359.26 L25.31 359.26 L0 391.88 Z" class="st3"/>
+ </g>
+ <g id="shape12-35" v:mID="12" v:groupContext="shape" transform="translate(13.5,-6.525)">
+ <title>Sheet.12</title>
+ <desc>H(..)</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="27" cy="381.689" width="54" height="20.3906"/>
+ <rect x="0" y="371.494" width="54" height="20.3906" class="st10"/>
+ <text x="16.27" y="385.29" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>H(..)</text> </g>
+ </g>
+ <g id="shape14-38" v:mID="14" v:groupContext="shape" transform="translate(-229.872,96.3648) rotate(-90.0429)">
+ <title>Simple Arrow</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ <v:ud v:nameU="ArrowType" v:prompt="" v:val="VT0(2):26"/>
+ </v:userDefs>
+ <g id="shadow14-39" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,-1.97305,0.344122)" class="st1">
+ <path d="M0 391.88 L10.18 387.38 L10.18 389.63 L16.71 389.63 L16.71 391.88 L16.71 394.13 L10.18 394.13 L10.18 396.38
+ L0 391.88 Z" class="st12"/>
+ </g>
+ <path d="M0 391.88 L10.18 387.38 L10.18 389.63 L16.71 389.63 L16.71 391.88 L16.71 394.13 L10.18 394.13 L10.18 396.38
+ L0 391.88 Z" class="st13"/>
+ </g>
+ <g id="shape15-43" v:mID="15" v:groupContext="shape" transform="translate(212.5,-271.46)">
+ <title>Sheet.15</title>
+ <desc>Hash function is used to create a flow table index</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="67.5" cy="377.822" width="135" height="28.125"/>
+ <rect x="0" y="363.759" width="135" height="28.125" class="st7"/>
+ <text x="9.05" y="374.22" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Hash function is used to <tspan
+ x="7.39" dy="1.2em" class="st9">create a flow table index</tspan></text> </g>
+ <g id="shape58-47" v:mID="58" v:groupContext="shape" transform="translate(199,-221.397)">
+ <title>Rectangle.58</title>
+ <desc>Key 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow58-48" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="4.74" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key 1</text> </g>
+ <g id="shape59-53" v:mID="59" v:groupContext="shape" transform="translate(232.75,-221.397)">
+ <title>Rectangle.59</title>
+ <desc>Action 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="382.884" width="42.75" height="18"/>
+ <g id="shadow59-54" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ <text x="4.62" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action 1</text> </g>
+ <g id="shape60-59" v:mID="60" v:groupContext="shape" transform="translate(280,-221.397)">
+ <title>Rectangle.60</title>
+ <desc>Key 2</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow60-60" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="4.74" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key 2</text> </g>
+ <g id="shape61-65" v:mID="61" v:groupContext="shape" transform="translate(313.75,-221.397)">
+ <title>Rectangle.61</title>
+ <desc>Action 2</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="382.884" width="42.75" height="18"/>
+ <g id="shadow61-66" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ <text x="4.62" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action 2</text> </g>
+ <g id="shape62-71" v:mID="62" v:groupContext="shape" transform="translate(361,-221.397)">
+ <title>Rectangle.62</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow62-72" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape63-76" v:mID="63" v:groupContext="shape" transform="translate(394.75,-221.397)">
+ <title>Rectangle.63</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow63-77" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape64-81" v:mID="64" v:groupContext="shape" transform="translate(199,-198.897)">
+ <title>Rectangle.64</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow64-82" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape65-86" v:mID="65" v:groupContext="shape" transform="translate(232.75,-198.897)">
+ <title>Rectangle.65</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow65-87" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape66-91" v:mID="66" v:groupContext="shape" transform="translate(280,-198.897)">
+ <title>Rectangle.66</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow66-92" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape67-96" v:mID="67" v:groupContext="shape" transform="translate(313.75,-198.897)">
+ <title>Rectangle.67</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow67-97" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape68-101" v:mID="68" v:groupContext="shape" transform="translate(361,-198.897)">
+ <title>Rectangle.68</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow68-102" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape69-106" v:mID="69" v:groupContext="shape" transform="translate(394.75,-198.897)">
+ <title>Rectangle.69</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow69-107" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape70-111" v:mID="70" v:groupContext="shape" transform="translate(199,-162.897)">
+ <title>Rectangle.70</title>
+ <desc>Key x</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow70-112" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="5.11" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key x</text> </g>
+ <g id="shape71-117" v:mID="71" v:groupContext="shape" transform="translate(232.75,-162.897)">
+ <title>Rectangle.71</title>
+ <desc>Action x</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="382.884" width="42.75" height="18"/>
+ <g id="shadow71-118" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ <text x="4.99" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action x</text> </g>
+ <g id="shape72-123" v:mID="72" v:groupContext="shape" transform="translate(280,-162.897)">
+ <title>Rectangle.72</title>
+ <desc>Key y</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow72-124" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="5.01" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key y</text> </g>
+ <g id="shape73-129" v:mID="73" v:groupContext="shape" transform="translate(313.75,-162.897)">
+ <title>Rectangle.73</title>
+ <desc>Action y</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="382.884" width="42.75" height="18"/>
+ <g id="shadow73-130" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ <text x="4.89" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action y</text> </g>
+ <g id="shape74-135" v:mID="74" v:groupContext="shape" transform="translate(361,-162.897)">
+ <title>Rectangle.74</title>
+ <desc>Key z</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow74-136" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="5.3" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key z</text> </g>
+ <g id="shape75-141" v:mID="75" v:groupContext="shape" transform="translate(394.75,-162.897)">
+ <title>Rectangle.75</title>
+ <desc>Action z</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="382.884" width="42.75" height="18"/>
+ <g id="shadow75-142" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ <text x="5.18" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action z</text> </g>
+ <g id="shape76-147" v:mID="76" v:groupContext="shape" transform="translate(199,-126.397)">
+ <title>Rectangle.76</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow76-148" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape77-152" v:mID="77" v:groupContext="shape" transform="translate(232.75,-126.397)">
+ <title>Rectangle.77</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow77-153" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape78-157" v:mID="78" v:groupContext="shape" transform="translate(280,-126.397)">
+ <title>Rectangle.78</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow78-158" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape79-162" v:mID="79" v:groupContext="shape" transform="translate(313.75,-126.397)">
+ <title>Rectangle.79</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow79-163" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape80-167" v:mID="80" v:groupContext="shape" transform="translate(361,-126.397)">
+ <title>Rectangle.80</title>
+ <desc>Key N</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow80-168" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="5.21" y="385.58" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key N</text> </g>
+ <g id="shape81-173" v:mID="81" v:groupContext="shape" transform="translate(394.75,-126.397)">
+ <title>Rectangle.81</title>
+ <desc>Action N</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="382.884" width="42.75" height="18"/>
+ <g id="shadow81-174" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="42.75" height="18" class="st3"/>
+ <text x="5.67" y="385.58" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action N</text> </g>
+ <g id="shape82-179" v:mID="82" v:groupContext="shape" transform="translate(196.75,-117.397)">
+ <title>Rectangle.82</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow82-180" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="256.384" width="245.25" height="135.5" class="st15"/>
+ </g>
+ <rect x="0" y="256.384" width="245.25" height="135.5" class="st16"/>
+ </g>
+ <g id="shape83-184" v:mID="83" v:groupContext="shape" transform="translate(554.884,123.862) rotate(90)">
+ <title>Sheet.83</title>
+ <path d="M0 391.88 L99 391.88" class="st17"/>
+ </g>
+ <g id="shape84-187" v:mID="84" v:groupContext="shape" transform="translate(208,-248.397)">
+ <title>Sheet.84</title>
+ <desc>Load Balancing Flow Table</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="91.75" cy="386.259" width="183.5" height="11.25"/>
+ <rect x="0" y="380.634" width="183.5" height="11.25" class="st18"/>
+ <text x="26.14" y="389.86" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Load Balancing Flow Table</text> </g>
+ <g id="shape85-190" v:mID="85" v:groupContext="shape" transform="translate(190,-157.835)">
+ <title>Rectangle.85</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow85-191" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="363.759" width="261" height="28.125" class="st19"/>
+ </g>
+ <rect x="0" y="363.759" width="261" height="28.125" class="st20"/>
+ </g>
+ <g id="shape86-195" v:mID="86" v:groupContext="shape" transform="translate(163,-169.022)">
+ <title>Sheet.86</title>
+ <path d="M0 391.88 L18.76 391.88" class="st5"/>
+ </g>
+ <g id="shape87-200" v:mID="87" v:groupContext="shape" transform="translate(19,-198.107)">
+ <title>Sheet.87</title>
+ <desc>Hash value used to index Flow table</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="67.5" cy="377.822" width="135" height="28.125"/>
+ <rect x="0" y="363.759" width="135" height="28.125" class="st7"/>
+ <text x="6.79" y="374.22" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Hash value used to index <tspan
+ x="42.16" dy="1.2em" class="st9">Flow table</tspan></text> </g>
+ <g id="shape88-204" v:mID="88" v:groupContext="shape" transform="translate(551.381,21.2928) rotate(87.9001)">
+ <title>Sheet.88</title>
+ <path d="M0 391.88 L20.86 391.88" class="st5"/>
+ </g>
+ <g id="shape89-209" v:mID="89" v:groupContext="shape" transform="translate(494.785,297.309) rotate(131.987)">
+ <title>Sheet.89</title>
+ <path d="M0 391.88 L30.84 391.88" class="st5"/>
+ </g>
+ <g id="shape90-214" v:mID="90" v:groupContext="shape" transform="translate(228.25,-92.5847)">
+ <title>Rectangle.90</title>
+ <desc>Key x</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow90-215" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="5.11" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key x</text> </g>
+ <g id="shape91-220" v:mID="91" v:groupContext="shape" transform="translate(340.75,-92.5847)">
+ <title>Rectangle.91</title>
+ <desc>Key z</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow91-221" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="5.3" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key z</text> </g>
+ <g id="group96-226" transform="translate(253,-51.4597)" v:mID="96" v:groupContext="group">
+ <title>Sheet.96</title>
+ <g id="shape97-227" v:mID="97" v:groupContext="shape" transform="translate(85.5,751.143) rotate(180)">
+ <title>Trapezoid</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow97-228" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,-0.345598,-1.97279)" class="st1">
+ <path d="M0 391.88 L85.5 391.88 L60.19 359.26 L25.31 359.26 L0 391.88 Z" class="st2"/>
+ </g>
+ <path d="M0 391.88 L85.5 391.88 L60.19 359.26 L25.31 359.26 L0 391.88 Z" class="st3"/>
+ </g>
+ <g id="shape98-232" v:mID="98" v:groupContext="shape" transform="translate(13.5,-6.525)">
+ <title>Sheet.98</title>
+ <desc>Match</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="27" cy="381.689" width="54" height="20.3906"/>
+ <rect x="0" y="371.494" width="54" height="20.3906" class="st10"/>
+ <text x="10.98" y="385.29" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Match</text> </g>
+ </g>
+ <g id="shape99-235" v:mID="99" v:groupContext="shape" transform="translate(532.137,0.00916548) rotate(54.6508)">
+ <title>Sheet.99</title>
+ <path d="M0 391.88 L93.23 391.88" class="st5"/>
+ </g>
+ <g id="shape100-240" v:mID="100" v:groupContext="shape" transform="translate(683.134,224.487) rotate(90)">
+ <title>Sheet.100</title>
+ <path d="M0 391.88 L77.15 391.88" class="st5"/>
+ </g>
+ <g id="shape101-245" v:mID="101" v:groupContext="shape" transform="translate(692.213,476.024) rotate(129.078)">
+ <title>Sheet.101</title>
+ <path d="M0 391.88 L95.37 391.88" class="st5"/>
+ </g>
+ <g id="shape102-250" v:mID="102" v:groupContext="shape" transform="translate(293.5,-97.0847)">
+ <title>Rectangle.102</title>
+ <desc>Key y</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="382.884" width="31.5" height="18"/>
+ <g id="shadow102-251" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="31.5" height="18" class="st3"/>
+ <text x="5.01" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key y</text> </g>
+ <g id="shape103-256" v:mID="103" v:groupContext="shape" transform="translate(169.75,-55.9597)">
+ <title>Rectangle.103</title>
+ <desc>Flow Key</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="27" cy="382.884" width="54" height="18"/>
+ <g id="shadow103-257" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="54" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="54" height="18" class="st3"/>
+ <text x="8.87" y="385.88" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Flow Key</text> </g>
+ <g id="shape104-262" v:mID="104" v:groupContext="shape" transform="translate(226,-64.9597)">
+ <title>Sheet.104</title>
+ <path d="M0 391.88 L34.34 391.88" class="st5"/>
+ </g>
+ <g id="shape105-267" v:mID="105" v:groupContext="shape" transform="translate(54,-82.4597)">
+ <title>Sheet.105</title>
+ <desc>Retrieved keys are matched with input key</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="67.5" cy="377.822" width="135" height="28.125"/>
+ <rect x="0" y="363.759" width="135" height="28.125" class="st7"/>
+ <text x="22.51" y="374.22" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Retrieved keys are <tspan
+ x="9.83" dy="1.2em" class="st9">matched with input key</tspan></text> </g>
+ <g id="shape106-271" v:mID="106" v:groupContext="shape" transform="translate(271,-23.9597)">
+ <title>Rectangle.106</title>
+ <desc>Action</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="27" cy="382.884" width="54" height="18"/>
+ <g id="shadow106-272" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="373.884" width="54" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="373.884" width="54" height="18" class="st3"/>
+ <text x="8.67" y="387.08" class="st21" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action</text> </g>
+ <g id="shape111-277" v:mID="111" v:groupContext="shape" transform="translate(-94.8716,350.902) rotate(-90.0429)">
+ <title>Simple Arrow.111</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ <v:ud v:nameU="ArrowType" v:prompt="" v:val="VT0(2):26"/>
+ </v:userDefs>
+ <g id="shadow111-278" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,-1.97305,0.344122)" class="st1">
+ <path d="M0 391.88 L10.18 387.38 L10.18 389.63 L16.71 389.63 L16.71 391.88 L16.71 394.13 L10.18 394.13 L10.18 396.38
+ L0 391.88 Z" class="st12"/>
+ </g>
+ <path d="M0 391.88 L10.18 387.38 L10.18 389.63 L16.71 389.63 L16.71 391.88 L16.71 394.13 L10.18 394.13 L10.18 396.38
+ L0 391.88 Z" class="st13"/>
+ </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i4.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i4.svg
new file mode 100644
index 00000000..5be5ccd7
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i4.svg
@@ -0,0 +1,203 @@
+<?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 Microsoft Visio, SVG Export efd_i4.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="2.78993in" height="1.78151in"
+ viewBox="0 0 200.875 128.269" xml:space="preserve" color-interpolation-filters="sRGB" class="st19">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:none;stroke:none;stroke-width:0.25}
+ .st2 {fill:#5b9bd5;font-family:Calibri;font-size:0.75em}
+ .st3 {font-size:1em}
+ .st4 {fill:#5b9bd5;font-family:Calibri;font-size:0.75em;font-weight:bold}
+ .st5 {fill:#deebf6;stroke:none;stroke-width:0.25}
+ .st6 {stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st7 {stroke:#5b9bd5;stroke-dasharray:0.75,1.5;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st8 {fill:#ff0000;font-size:1em}
+ .st9 {baseline-shift:-28.8834%;font-size:0.577667em}
+ .st10 {fill:#ff0000;font-family:Calibri;font-size:0.75em}
+ .st11 {fill:#5b9bd5;font-size:1em}
+ .st12 {visibility:visible}
+ .st13 {fill:#5b9bd5;fill-opacity:0.25;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.25}
+ .st14 {fill:url(#grad0-73);stroke:#40709c;stroke-width:0.75}
+ .st15 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st16 {fill:#00fefe;font-size:1em}
+ .st17 {fill:#00b050}
+ .st18 {stroke:#ff0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st19 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Patterns_And_Gradients">
+ <linearGradient id="grad0-73" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(250 0.5 0.5)">
+ <stop offset="0" stop-color="#4f87bb" stop-opacity="1"/>
+ <stop offset="0.48" stop-color="#4f87bb" stop-opacity="1"/>
+ <stop offset="0.82" stop-color="#5b9bd5" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape2-1" v:mID="2" v:groupContext="shape" transform="translate(18.25,-59.3478)">
+ <title>Sheet.2</title>
+ <desc>Key 1 Key 2 ... Key 28</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="18" cy="121.519" width="36" height="13.5"/>
+ <rect x="0" y="114.769" width="36" height="13.5" class="st1"/>
+ <text x="8.09" y="108.02" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key 1<v:newlineChar/><tspan
+ x="8.09" dy="1.2em" class="st3">Key </tspan>2<v:newlineChar/><tspan x="14.59" dy="1.2em" class="st3">...<v:newlineChar/></tspan><tspan
+ x="5.81" dy="1.2em" class="st3">Key </tspan>28</text> </g>
+ <g id="shape9-7" v:mID="9" v:groupContext="shape" transform="translate(52,-91.9728)">
+ <title>Sheet.9</title>
+ <desc>Target Value</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="17.4375" cy="122.644" width="34.88" height="11.25"/>
+ <rect x="0" y="117.019" width="34.875" height="11.25" class="st1"/>
+ <text x="5.43" y="119.94" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Target <tspan x="6.77"
+ dy="1.2em" class="st3">Value</tspan></text> </g>
+ <g id="shape11-11" v:mID="11" v:groupContext="shape" transform="translate(52,-42.4728)">
+ <title>Sheet.11</title>
+ <desc>0 1 0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="17.4375" cy="105.769" width="34.88" height="45"/>
+ <rect x="0" y="83.2689" width="34.875" height="45" class="st5"/>
+ <text x="15.16" y="92.27" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0<v:newlineChar/><tspan
+ x="15.16" dy="1.2em" class="st3">1<v:newlineChar/><v:newlineChar/></tspan><tspan x="15.16" dy="2.4em"
+ class="st3">0</tspan></text> </g>
+ <g id="shape8-16" v:mID="8" v:groupContext="shape" transform="translate(180.269,21.6711) rotate(90)">
+ <title>Sheet.8</title>
+ <path d="M0 128.27 L69.75 128.27" class="st6"/>
+ </g>
+ <g id="shape10-19" v:mID="10" v:groupContext="shape" transform="translate(215.144,21.6711) rotate(90)">
+ <title>Sheet.10</title>
+ <path d="M0 128.27 L69.75 128.27" class="st6"/>
+ </g>
+ <g id="shape4-22" v:mID="4" v:groupContext="shape" transform="translate(22.75,-77.3478)">
+ <title>Sheet.4</title>
+ <path d="M0 128.27 L157.5 128.27" class="st7"/>
+ </g>
+ <g id="shape5-25" v:mID="5" v:groupContext="shape" transform="translate(23.875,-66.0978)">
+ <title>Sheet.5</title>
+ <path d="M0 128.27 L158.62 128.27" class="st7"/>
+ </g>
+ <g id="shape6-28" v:mID="6" v:groupContext="shape" transform="translate(22.75,-54.8478)">
+ <title>Sheet.6</title>
+ <path d="M0 128.27 L159.75 128.27" class="st7"/>
+ </g>
+ <g id="shape7-31" v:mID="7" v:groupContext="shape" transform="translate(22.75,-87.4728)">
+ <title>Sheet.7</title>
+ <path d="M0 128.27 L155.25 128.27" class="st6"/>
+ </g>
+ <g id="shape12-34" v:mID="12" v:groupContext="shape" transform="translate(91.9375,-42.4728)">
+ <title>Sheet.12</title>
+ <desc>0 0 0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="8.4375" cy="105.769" width="16.88" height="45"/>
+ <rect x="0" y="83.2689" width="16.875" height="45" class="st1"/>
+ <text x="6.16" y="92.27" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0<v:newlineChar/><tspan
+ x="6.16" dy="1.2em" class="st8">0<v:newlineChar/><v:newlineChar/></tspan><tspan x="6.16" dy="2.4em"
+ class="st3">0</tspan></text> </g>
+ <g id="shape26-39" v:mID="26" v:groupContext="shape" transform="translate(86.875,-88.5978)">
+ <title>Sheet.26</title>
+ <desc>H1(x)</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="14.0625" cy="122.644" width="28.13" height="11.25"/>
+ <rect x="0" y="117.019" width="28.125" height="11.25" class="st1"/>
+ <text x="5.03" y="125.34" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>H<tspan dy="-0.284em"
+ class="st9" v:baseFontSize="8">1</tspan><tspan dy="0.164em" class="st3">(</tspan>x)</text> </g>
+ <g id="shape27-44" v:mID="27" v:groupContext="shape" transform="translate(115,-42.4728)">
+ <title>Sheet.27</title>
+ <desc>1 1 0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="8.4375" cy="105.769" width="16.88" height="45"/>
+ <rect x="0" y="83.2689" width="16.875" height="45" class="st1"/>
+ <text x="6.16" y="92.27" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1<v:newlineChar/><tspan
+ x="6.16" dy="1.2em" class="st11">1<v:newlineChar/><v:newlineChar/></tspan><tspan x="6.16" dy="2.4em"
+ class="st11">0</tspan></text> </g>
+ <g id="shape28-49" v:mID="28" v:groupContext="shape" transform="translate(109.938,-88.5978)">
+ <title>Sheet.28</title>
+ <desc>H2(x)</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="14.0625" cy="122.644" width="28.13" height="11.25"/>
+ <rect x="0" y="117.019" width="28.125" height="11.25" class="st1"/>
+ <text x="5.03" y="125.34" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>H<tspan dy="-0.284em"
+ class="st9" v:baseFontSize="8">2</tspan><tspan dy="0.164em" class="st3">(</tspan>x)</text> </g>
+ <g id="shape29-54" v:mID="29" v:groupContext="shape" transform="translate(155.5,-42.4728)">
+ <title>Sheet.29</title>
+ <desc>0 1 0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="8.4375" cy="105.769" width="16.88" height="45"/>
+ <rect x="0" y="83.2689" width="16.875" height="45" class="st1"/>
+ <text x="6.16" y="92.27" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0<v:newlineChar/><tspan
+ x="6.16" dy="1.2em" class="st3">1<v:newlineChar/><v:newlineChar/></tspan><tspan x="6.16" dy="2.4em"
+ class="st3">0</tspan></text> </g>
+ <g id="shape30-59" v:mID="30" v:groupContext="shape" transform="translate(150.438,-88.5978)">
+ <title>Sheet.30</title>
+ <desc>Hm(x)</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="14.0625" cy="122.644" width="28.13" height="11.25"/>
+ <rect x="0" y="117.019" width="28.125" height="11.25" class="st1"/>
+ <text x="4.24" y="125.34" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>H<tspan dy="-0.284em"
+ class="st9" v:baseFontSize="8">m</tspan><tspan dy="0.164em" class="st3">(</tspan>x)</text> </g>
+ <g id="shape31-64" v:mID="31" v:groupContext="shape" transform="translate(130.188,-89.7228)">
+ <title>Sheet.31</title>
+ <desc>…..</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="14.0625" cy="122.644" width="28.13" height="11.25"/>
+ <rect x="0" y="117.019" width="28.125" height="11.25" class="st1"/>
+ <text x="8.46" y="125.34" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>…..</text> </g>
+ <g id="shape32-67" v:mID="32" v:groupContext="shape" transform="translate(34,-23.3478)">
+ <title>Sheet.32</title>
+ <desc>Store m for this group of keys</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="66.375" cy="122.644" width="132.75" height="11.25"/>
+ <g id="shadow32-68" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st12">
+ <rect x="0" y="117.019" width="132.75" height="11.25" class="st13"/>
+ </g>
+ <rect x="0" y="117.019" width="132.75" height="11.25" class="st14"/>
+ <text x="6.32" y="125.64" class="st15" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Store <tspan
+ class="st16">m</tspan> for this group of keys</text> </g>
+ <g id="shape36-76" v:mID="36" v:groupContext="shape" transform="translate(159.381,-100.964)">
+ <title>Sheet.36</title>
+ <path d="M3.45 125.81 L6.87 119.34 L7.99 120.16 L3.87 128.27 L0 124.35 L0.86 123.13 L3.45 125.81 Z" class="st17"/>
+ </g>
+ <g id="group44-79" transform="translate(97.5625,-100.086)" v:mID="44" v:groupContext="group">
+ <title>Sheet.44</title>
+ <g id="shape42-80" v:mID="42" v:groupContext="shape" transform="translate(85.4972,28.6255) rotate(41.8011)">
+ <title>Sheet.42</title>
+ <path d="M0 128.27 L6.04 128.27" class="st18"/>
+ </g>
+ <g id="shape43-83" v:mID="43" v:groupContext="shape" transform="translate(-87.9035,34.8564) rotate(-43.2597)">
+ <title>Sheet.43</title>
+ <path d="M0 128.27 L5.87 128.27" class="st18"/>
+ </g>
+ </g>
+ <g id="group45-86" transform="translate(120.625,-100.086)" v:mID="45" v:groupContext="group">
+ <title>Sheet.45</title>
+ <g id="shape46-87" v:mID="46" v:groupContext="shape" transform="translate(85.4972,28.6255) rotate(41.8011)">
+ <title>Sheet.46</title>
+ <path d="M0 128.27 L6.04 128.27" class="st18"/>
+ </g>
+ <g id="shape47-90" v:mID="47" v:groupContext="shape" transform="translate(-87.9035,34.8564) rotate(-43.2597)">
+ <title>Sheet.47</title>
+ <path d="M0 128.27 L5.87 128.27" class="st18"/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i5.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i5.svg
new file mode 100644
index 00000000..b6540ba4
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i5.svg
@@ -0,0 +1,183 @@
+<?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 Microsoft Visio, SVG Export efd_i5.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="8.34375in" height="2.86443in"
+ viewBox="0 0 600.75 206.239" xml:space="preserve" color-interpolation-filters="sRGB" class="st14">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st3 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:1.5em}
+ .st5 {fill:#feffff;font-family:Calibri;font-size:1.16666em}
+ .st6 {marker-end:url(#mrkr5-36);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st7 {fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-opacity:1;stroke-width:0.37313432835821}
+ .st8 {stroke:#5b9bd5;stroke-dasharray:1.5,3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st9 {fill:none;stroke:none;stroke-width:0.25}
+ .st10 {fill:#5b9bd5;font-family:Calibri;font-size:1.5em;font-weight:bold}
+ .st11 {baseline-shift:-32.4951%;font-size:0.649902em}
+ .st12 {fill:#deebf6;stroke:#0070c0;stroke-width:1}
+ .st13 {fill:#5b9bd5;font-family:Calibri;font-size:1.5em}
+ .st14 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend5">
+ <path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr5-36" class="st7" v:arrowType="5" v:arrowSize="2" v:setback="4.69" refX="-4.69" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-2.68,-2.68) "/>
+ </marker>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape2-1" v:mID="2" v:groupContext="shape" transform="translate(93.0294,-158.5)">
+ <title>Rectangle</title>
+ <desc>All Keys</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="216" cy="192.739" width="432" height="27"/>
+ <g id="shadow2-2" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="179.239" width="432" height="27" class="st2"/>
+ </g>
+ <rect x="0" y="179.239" width="432" height="27" class="st3"/>
+ <text x="187.88" y="198.14" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>All Keys</text> </g>
+ <g id="shape3-7" v:mID="3" v:groupContext="shape" transform="translate(21.0294,-77.5)">
+ <title>Rectangle.3</title>
+ <desc>Group 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="188.239" width="108" height="36"/>
+ <g id="shadow3-8" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="170.239" width="108" height="36" class="st2"/>
+ </g>
+ <rect x="0" y="170.239" width="108" height="36" class="st3"/>
+ <text x="30.97" y="192.44" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Group 1</text> </g>
+ <g id="shape4-13" v:mID="4" v:groupContext="shape" transform="translate(156.029,-77.5)">
+ <title>Rectangle.4</title>
+ <desc>Group 2</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="188.239" width="108" height="36"/>
+ <g id="shadow4-14" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="170.239" width="108" height="36" class="st2"/>
+ </g>
+ <rect x="0" y="170.239" width="108" height="36" class="st3"/>
+ <text x="30.97" y="192.44" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Group 2</text> </g>
+ <g id="shape5-19" v:mID="5" v:groupContext="shape" transform="translate(291.029,-77.5)">
+ <title>Rectangle.5</title>
+ <desc>Group 3</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="188.239" width="108" height="36"/>
+ <g id="shadow5-20" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="170.239" width="108" height="36" class="st2"/>
+ </g>
+ <rect x="0" y="170.239" width="108" height="36" class="st3"/>
+ <text x="30.97" y="192.44" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Group 3</text> </g>
+ <g id="shape6-25" v:mID="6" v:groupContext="shape" transform="translate(471.029,-77.5)">
+ <title>Rectangle.6</title>
+ <desc>Group X</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="188.239" width="108" height="36"/>
+ <g id="shadow6-26" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="170.239" width="108" height="36" class="st2"/>
+ </g>
+ <rect x="0" y="170.239" width="108" height="36" class="st3"/>
+ <text x="30.88" y="192.44" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Group X</text> </g>
+ <g id="shape7-31" v:mID="7" v:groupContext="shape" transform="translate(359.05,247.819) rotate(165.964)">
+ <title>Sheet.7</title>
+ <path d="M0 206.24 L178.5 206.24" class="st6"/>
+ </g>
+ <g id="shape8-37" v:mID="8" v:groupContext="shape" transform="translate(428.903,215.562) rotate(144.462)">
+ <title>Sheet.8</title>
+ <path d="M0 206.24 L70.39 206.24" class="st6"/>
+ </g>
+ <g id="shape9-42" v:mID="9" v:groupContext="shape" transform="translate(470.075,-81.0976) rotate(51.3402)">
+ <title>Sheet.9</title>
+ <path d="M0 206.24 L50.59 206.24" class="st6"/>
+ </g>
+ <g id="shape10-47" v:mID="10" v:groupContext="shape" transform="translate(364.228,-150.976) rotate(15.5241)">
+ <title>Sheet.10</title>
+ <path d="M0 206.24 L161.1 206.24" class="st6"/>
+ </g>
+ <g id="shape11-52" v:mID="11" v:groupContext="shape" transform="translate(408.029,-95.5)">
+ <title>Sheet.11</title>
+ <path d="M0 206.24 L45 206.24" class="st8"/>
+ </g>
+ <g id="shape12-55" v:mID="12" v:groupContext="shape" transform="translate(48.0294,-50.5)">
+ <title>Sheet.12</title>
+ <desc>H7</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="192.739" width="45" height="27"/>
+ <rect x="0" y="179.239" width="45" height="27" class="st9"/>
+ <text x="13.86" y="198.14" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>H<tspan
+ dy="-0.284em" class="st11" v:baseFontSize="18">7</tspan></text> </g>
+ <g id="shape13-59" v:mID="13" v:groupContext="shape" transform="translate(192.029,-50.5)">
+ <title>Sheet.13</title>
+ <desc>H267</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="192.739" width="45" height="27"/>
+ <rect x="0" y="179.239" width="45" height="27" class="st9"/>
+ <text x="7.93" y="198.14" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>H<tspan dy="-0.284em"
+ class="st11" v:baseFontSize="18">267</tspan></text> </g>
+ <g id="shape14-63" v:mID="14" v:groupContext="shape" transform="translate(318.029,-50.5)">
+ <title>Sheet.14</title>
+ <desc>H46</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="192.739" width="45" height="27"/>
+ <rect x="0" y="179.239" width="45" height="27" class="st9"/>
+ <text x="10.89" y="198.14" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>H<tspan
+ dy="-0.284em" class="st11" v:baseFontSize="18">46</tspan></text> </g>
+ <g id="shape15-67" v:mID="15" v:groupContext="shape" transform="translate(502.529,-50.5)">
+ <title>Sheet.15</title>
+ <desc>H132</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="192.739" width="45" height="27"/>
+ <rect x="0" y="179.239" width="45" height="27" class="st9"/>
+ <text x="7.93" y="198.14" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>H<tspan dy="-0.284em"
+ class="st11" v:baseFontSize="18">132</tspan></text> </g>
+ <g id="shape16-71" v:mID="16" v:groupContext="shape" transform="translate(111.029,-19)">
+ <title>Sheet.16</title>
+ <desc>Store hash function index for each group of keys</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="189" cy="192.739" width="378" height="27"/>
+ <rect x="0" y="179.239" width="378" height="27" class="st12"/>
+ <text x="12.27" y="198.14" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Store hash function index for each group of keys</text> </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i6.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i6.svg
new file mode 100644
index 00000000..9aee30bc
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i6.svg
@@ -0,0 +1,1254 @@
+<?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 Microsoft Visio, SVG Export efd_i6.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="8.2496in" height="5.89673in"
+ viewBox="0 0 593.971 424.565" xml:space="preserve" color-interpolation-filters="sRGB" class="st27">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {visibility:visible}
+ .st2 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st3 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+ .st5 {fill:#feffff;font-family:Calibri;font-size:0.75em}
+ .st6 {fill:none;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st7 {fill:none;stroke:#2e75b5;stroke-width:2.25}
+ .st8 {fill:#305497;stroke:#2e75b5;stroke-width:1}
+ .st9 {fill:#feffff;font-family:Calibri;font-size:0.833336em;font-weight:bold}
+ .st10 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2)}
+ .st11 {fill:#5b9bd5}
+ .st12 {stroke:#c7c8c8;stroke-width:0.25}
+ .st13 {fill:#acccea;stroke:#c7c8c8;stroke-width:0.25}
+ .st14 {fill:#feffff;font-family:Calibri;font-size:1.00001em;font-weight:bold}
+ .st15 {fill:#ed7d31;stroke:#c7c8c8;stroke-width:0.25}
+ .st16 {fill:#deebf6;stroke:#c7c8c8;stroke-width:0.25}
+ .st17 {marker-end:url(#mrkr5-212);stroke:#ff0000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st18 {fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-opacity:1;stroke-width:0.28409090909091}
+ .st19 {fill:none;stroke:#2e75b5;stroke-width:1}
+ .st20 {fill:#5b9bd5;font-family:Calibri;font-size:1.00001em}
+ .st21 {fill:none;stroke:none;stroke-width:0.25}
+ .st22 {font-size:1em}
+ .st23 {fill:#ffffff}
+ .st24 {stroke:#5b9bd5;stroke-dasharray:1.5,3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st25 {marker-end:url(#mrkr5-444);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st26 {fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-opacity:1;stroke-width:0.37313432835821}
+ .st27 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend5">
+ <path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr5-212" class="st18" v:arrowType="5" v:arrowSize="2" v:setback="5.8" refX="-5.8" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-3.52,-3.52) "/>
+ </marker>
+ <marker id="mrkr5-444" class="st26" v:arrowType="5" v:arrowSize="2" v:setback="4.69" refX="-4.69" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend5" transform="scale(-2.68,-2.68) "/>
+ </marker>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape3-1" v:mID="3" v:groupContext="shape" transform="translate(319.501,-335.688)">
+ <title>Rectangle.58</title>
+ <desc>Key 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow3-2" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="4.74" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key 1</text> </g>
+ <g id="shape4-7" v:mID="4" v:groupContext="shape" transform="translate(353.251,-335.688)">
+ <title>Rectangle.59</title>
+ <desc>Action 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow4-8" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="4.62" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action 1</text> </g>
+ <g id="shape5-13" v:mID="5" v:groupContext="shape" transform="translate(400.501,-335.688)">
+ <title>Rectangle.60</title>
+ <desc>Key 2</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow5-14" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="4.74" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key 2</text> </g>
+ <g id="shape6-19" v:mID="6" v:groupContext="shape" transform="translate(434.251,-335.688)">
+ <title>Rectangle.61</title>
+ <desc>Action 2</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow6-20" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="4.62" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action 2</text> </g>
+ <g id="shape7-25" v:mID="7" v:groupContext="shape" transform="translate(481.501,-335.688)">
+ <title>Rectangle.62</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow7-26" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape8-30" v:mID="8" v:groupContext="shape" transform="translate(515.251,-335.688)">
+ <title>Rectangle.63</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow8-31" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape9-35" v:mID="9" v:groupContext="shape" transform="translate(319.501,-313.188)">
+ <title>Rectangle.64</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow9-36" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape10-40" v:mID="10" v:groupContext="shape" transform="translate(353.251,-313.188)">
+ <title>Rectangle.65</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow10-41" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape11-45" v:mID="11" v:groupContext="shape" transform="translate(400.501,-313.188)">
+ <title>Rectangle.66</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow11-46" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape12-50" v:mID="12" v:groupContext="shape" transform="translate(434.251,-313.188)">
+ <title>Rectangle.67</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow12-51" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape13-55" v:mID="13" v:groupContext="shape" transform="translate(481.501,-313.188)">
+ <title>Rectangle.68</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow13-56" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape14-60" v:mID="14" v:groupContext="shape" transform="translate(515.251,-313.188)">
+ <title>Rectangle.69</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow14-61" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape15-65" v:mID="15" v:groupContext="shape" transform="translate(319.501,-277.188)">
+ <title>Rectangle.70</title>
+ <desc>Key x</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow15-66" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="5.11" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key x</text> </g>
+ <g id="shape16-71" v:mID="16" v:groupContext="shape" transform="translate(353.251,-277.188)">
+ <title>Rectangle.71</title>
+ <desc>Action x</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow16-72" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="4.99" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action x</text> </g>
+ <g id="shape17-77" v:mID="17" v:groupContext="shape" transform="translate(400.501,-277.188)">
+ <title>Rectangle.72</title>
+ <desc>Key y</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow17-78" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="5.01" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key y</text> </g>
+ <g id="shape18-83" v:mID="18" v:groupContext="shape" transform="translate(434.251,-277.188)">
+ <title>Rectangle.73</title>
+ <desc>Action y</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow18-84" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="4.89" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action y</text> </g>
+ <g id="shape19-89" v:mID="19" v:groupContext="shape" transform="translate(481.501,-277.188)">
+ <title>Rectangle.74</title>
+ <desc>Key z</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow19-90" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="5.3" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key z</text> </g>
+ <g id="shape20-95" v:mID="20" v:groupContext="shape" transform="translate(515.251,-277.188)">
+ <title>Rectangle.75</title>
+ <desc>Action z</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow20-96" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="5.18" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action z</text> </g>
+ <g id="shape21-101" v:mID="21" v:groupContext="shape" transform="translate(319.501,-240.687)">
+ <title>Rectangle.76</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow21-102" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape22-106" v:mID="22" v:groupContext="shape" transform="translate(353.251,-240.687)">
+ <title>Rectangle.77</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow22-107" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape23-111" v:mID="23" v:groupContext="shape" transform="translate(400.501,-240.687)">
+ <title>Rectangle.78</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow23-112" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape24-116" v:mID="24" v:groupContext="shape" transform="translate(434.251,-240.687)">
+ <title>Rectangle.79</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow24-117" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape25-121" v:mID="25" v:groupContext="shape" transform="translate(481.501,-240.687)">
+ <title>Rectangle.80</title>
+ <desc>Key N</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow25-122" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="5.21" y="418.26" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key N</text> </g>
+ <g id="shape26-127" v:mID="26" v:groupContext="shape" transform="translate(515.251,-240.687)">
+ <title>Rectangle.81</title>
+ <desc>Action N</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow26-128" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="5.67" y="418.26" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action N</text> </g>
+ <g id="shape27-133" v:mID="27" v:groupContext="shape" transform="translate(317.251,-231.687)">
+ <title>Rectangle.82</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow27-134" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="289.065" width="245.25" height="135.5" class="st6"/>
+ </g>
+ <rect x="0" y="289.065" width="245.25" height="135.5" class="st7"/>
+ </g>
+ <g id="shape28-138" v:mID="28" v:groupContext="shape" transform="translate(328.501,-362.688)">
+ <title>Sheet.28</title>
+ <desc>Local Table for N Specific Flows Serviced at Node 1</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="110.423" cy="418.94" width="220.85" height="11.25"/>
+ <rect x="0" y="413.315" width="220.846" height="11.25" class="st8"/>
+ <text x="5.77" y="421.94" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Local Table for N Specific Flows Serviced at Node 1</text> </g>
+ <g id="group34-141" transform="translate(66.0294,-165.569)" v:mID="34" v:groupContext="group">
+ <v:custProps>
+ <v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:prompt="" v:type="0" v:format="" v:sortKey="Asset"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:prompt="" v:type="0" v:format="" v:sortKey="Asset"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Location" v:lbl="Location" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Building" v:lbl="Building" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Room" v:lbl="Room" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="PartNumber" v:lbl="Part Number" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Equipment" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NetworkName" v:lbl="Network Name" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="IPAddress" v:lbl="IP Address" v:prompt="" v:type="0" v:format="" v:sortKey="Network" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="SubnetMask" v:lbl="Subnet Mask" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="AdminInterface" v:lbl="Administrative Interface" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Network" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NumberofPorts" v:lbl="Number of Ports" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="CommunityString" v:lbl="Community String" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NetworkDescription" v:lbl="Network Description" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Network" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="MACAddress" v:lbl="MAC Address" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ShapeClass" v:lbl="ShapeClass" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Equipment)"/>
+ <v:cp v:nameU="ShapeType" v:lbl="ShapeType" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Device)"/>
+ <v:cp v:nameU="SubShapeType" v:lbl="SubShapeType" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Load balancer)"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="ShapeClass" v:prompt="" v:val="VT0(5):26"/>
+ <v:ud v:nameU="SolSH" v:prompt="" v:val="VT15({BF0433D9-CD73-4EB5-8390-8653BE590246}):41"/>
+ <v:ud v:nameU="visLegendShape" v:prompt="" v:val="VT0(2):26"/>
+ </v:userDefs>
+ <title>Load balancer</title>
+ <g id="shape35-142" v:mID="35" v:groupContext="shape" transform="translate(0,-7.33146)">
+ <title>Sheet.35</title>
+ <g id="shadow35-143" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M54 367.23 L18 367.23 L0 377.86 L0 424.56 L72 424.56 L72 377.86 L54 367.23 Z" class="st10"/>
+ <path d="M0 377.86 L72 377.86" class="st6"/>
+ <path d="M54 367.23 L18 367.23 L0 377.86 L0 424.56 L72 424.56 L72 377.86 L54 367.23" class="st6"/>
+ </g>
+ <path d="M54 367.23 L18 367.23 L0 377.86 L0 424.56 L72 424.56 L72 377.86 L54 367.23 Z" class="st11"/>
+ <path d="M0 377.86 L72 377.86" class="st12"/>
+ <path d="M54 367.23 L18 367.23 L0 377.86 L0 424.56 L72 424.56 L72 377.86 L54 367.23" class="st12"/>
+ </g>
+ <g id="shape36-152" v:mID="36" v:groupContext="shape" transform="translate(8.03054,-12.9324)">
+ <title>Sheet.36</title>
+ <g id="shadow36-153" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M45.34 421.81 L41.2 422.66 L44.12 424.56 L49.68 423.16 L48.75 417.51 L45.8 415.59 L46.69 419.68 L36.97
+ 413.34 L35.6 415.45 L45.34 421.81 ZM50.83 405.36 L39.2 405.36 L39.2 407.88 L50.8 407.88 L47.82 410.83
+ L51.34 410.83 L55.21 406.61 L51.32 402.39 L47.83 402.39 L50.83 405.36 ZM46.49 392.01 L36.75 398.37
+ L38.13 400.48 L47.84 394.14 L46.96 398.23 L49.91 396.31 L50.84 390.66 L45.28 389.26 L42.36 391.16
+ L46.49 392.01 ZM27.71 397.16 C22.66 397.16 18.58 401.25 18.58 406.29 C18.58 411.33 22.66 415.42
+ 27.71 415.42 C32.75 415.42 36.84 411.33 36.84 406.29 C36.84 401.25 32.75 397.16 27.71 397.16 ZM27.71
+ 400.04 C31.15 400.04 33.96 402.84 33.96 406.29 C33.96 409.74 31.15 412.54 27.71 412.54 C24.26 412.54
+ 21.46 409.74 21.46 406.29 C21.46 402.84 24.26 400.04 27.71 400.04 ZM11.64 405.04 L0 405.04 L0 407.56
+ L11.6 407.56 L8.62 410.51 L12.14 410.51 L16.01 406.29 L12.12 402.07 L8.64 402.07 L11.64 405.04 Z"
+ class="st2"/>
+ </g>
+ <path d="M45.34 421.81 L41.2 422.66 L44.12 424.56 L49.68 423.16 L48.75 417.51 L45.8 415.59 L46.69 419.68 L36.97 413.34
+ L35.6 415.45 L45.34 421.81 ZM50.83 405.36 L39.2 405.36 L39.2 407.88 L50.8 407.88 L47.82 410.83 L51.34
+ 410.83 L55.21 406.61 L51.32 402.39 L47.83 402.39 L50.83 405.36 ZM46.49 392.01 L36.75 398.37 L38.13 400.48
+ L47.84 394.14 L46.96 398.23 L49.91 396.31 L50.84 390.66 L45.28 389.26 L42.36 391.16 L46.49 392.01 ZM27.71
+ 397.16 C22.66 397.16 18.58 401.25 18.58 406.29 C18.58 411.33 22.66 415.42 27.71 415.42 C32.75 415.42
+ 36.84 411.33 36.84 406.29 C36.84 401.25 32.75 397.16 27.71 397.16 ZM27.71 400.04 C31.15 400.04 33.96
+ 402.84 33.96 406.29 C33.96 409.74 31.15 412.54 27.71 412.54 C24.26 412.54 21.46 409.74 21.46 406.29
+ C21.46 402.84 24.26 400.04 27.71 400.04 ZM11.64 405.04 L0 405.04 L0 407.56 L11.6 407.56 L8.62 410.51
+ L12.14 410.51 L16.01 406.29 L12.12 402.07 L8.64 402.07 L11.64 405.04 Z" class="st13"/>
+ </g>
+ </g>
+ <g id="shape37-157" v:mID="37" v:groupContext="shape" transform="translate(21.0294,-45.4375)">
+ <title>Rectangle</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow37-158" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="336.433" width="135" height="88.1315" class="st2"/>
+ </g>
+ <rect x="0" y="336.433" width="135" height="88.1315" class="st3"/>
+ </g>
+ <g id="shape38-162" v:mID="38" v:groupContext="shape" transform="translate(34.693,-126.438)">
+ <title>Sheet.38</title>
+ <desc>EFD Table</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="49.3364" cy="415.565" width="98.68" height="18"/>
+ <rect x="0" y="406.565" width="98.6728" height="18" class="st8"/>
+ <text x="24.87" y="419.17" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>EFD Table</text> </g>
+ <g id="shape39-165" v:mID="39" v:groupContext="shape" transform="translate(30.0294,-99.4375)">
+ <title>Rectangle.39</title>
+ <desc>Group_id</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="26.9182" cy="415.565" width="53.84" height="18"/>
+ <g id="shadow39-166" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="53.8364" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="53.8364" height="18" class="st15"/>
+ <text x="7.87" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Group_id</text> </g>
+ <g id="shape40-171" v:mID="40" v:groupContext="shape" transform="translate(93.193,-99.4375)">
+ <title>Rectangle.40</title>
+ <desc>Hash index</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="26.9182" cy="415.565" width="53.84" height="18"/>
+ <g id="shadow40-172" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="53.8364" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="53.8364" height="18" class="st15"/>
+ <text x="4.64" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Hash index</text> </g>
+ <g id="shape41-177" v:mID="41" v:groupContext="shape" transform="translate(30.193,-82.4275)">
+ <title>Rectangle.41</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow41-178" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st2"/>
+ </g>
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st16"/>
+ </g>
+ <g id="shape42-182" v:mID="42" v:groupContext="shape" transform="translate(30.193,-66.8125)">
+ <title>Rectangle.42</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow42-183" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st2"/>
+ </g>
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st16"/>
+ </g>
+ <g id="shape43-187" v:mID="43" v:groupContext="shape" transform="translate(30.1112,-52.1875)">
+ <title>Rectangle.43</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow43-188" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st2"/>
+ </g>
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st16"/>
+ </g>
+ <g id="shape44-192" v:mID="44" v:groupContext="shape" transform="translate(93.0294,-81.4375)">
+ <title>Rectangle.44</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow44-193" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st2"/>
+ </g>
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st16"/>
+ </g>
+ <g id="shape45-197" v:mID="45" v:groupContext="shape" transform="translate(93.193,-66.8125)">
+ <title>Rectangle.45</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow45-198" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st2"/>
+ </g>
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st16"/>
+ </g>
+ <g id="shape46-202" v:mID="46" v:groupContext="shape" transform="translate(93.193,-52.1875)">
+ <title>Rectangle.46</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow46-203" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st2"/>
+ </g>
+ <rect x="0" y="413.315" width="53.8364" height="11.25" class="st16"/>
+ </g>
+ <g id="shape47-207" v:mID="47" v:groupContext="shape" transform="translate(374.924,544.022) rotate(135)">
+ <title>Sheet.47</title>
+ <path d="M-0 417.75 A40.674 18.0151 -156.2 0 0 40.24 422.15 L40.49 421.89" class="st17"/>
+ </g>
+ <g id="shape48-213" v:mID="48" v:groupContext="shape" transform="translate(21.0294,-19)">
+ <title>Sheet.48</title>
+ <desc>Supports X*N Flows</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="67.5" cy="415.565" width="135" height="18"/>
+ <rect x="0" y="406.565" width="135" height="18" class="st19"/>
+ <text x="19.05" y="419.17" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Supports X*N Flows</text> </g>
+ <g id="shape49-216" v:mID="49" v:groupContext="shape" transform="translate(48.0294,-229.938)">
+ <title>Sheet.49</title>
+ <desc>Frontend Server or Load Balancer</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="400.94" width="108" height="47.25"/>
+ <rect x="0" y="377.315" width="108" height="47.25" class="st21"/>
+ <text x="14.56" y="397.34" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Frontend Server<v:newlineChar/><tspan
+ x="13.16" dy="1.2em" class="st22">or Load Balancer </tspan> </text> </g>
+ <g id="group51-220" transform="translate(223.876,-310.938)" v:mID="51" v:groupContext="group">
+ <v:custProps>
+ <v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:prompt="" v:type="0" v:format="" v:sortKey="Asset"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:prompt="" v:type="0" v:format="" v:sortKey="Asset"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Location" v:lbl="Location" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Building" v:lbl="Building" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Room" v:lbl="Room" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="PartNumber" v:lbl="Part Number" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Equipment" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NetworkName" v:lbl="Network Name" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="IPAddress" v:lbl="IP Address" v:prompt="" v:type="0" v:format="" v:sortKey="Network" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="SubnetMask" v:lbl="Subnet Mask" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="AdminInterface" v:lbl="Administrative Interface" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Network" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NumberofPorts" v:lbl="Number of Ports" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="CommunityString" v:lbl="Community String" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NetworkDescription" v:lbl="Network Description" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Network" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="MACAddress" v:lbl="MAC Address" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="CPU" v:lbl="CPU" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Memory" v:lbl="Memory" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="OperatingSystem" v:lbl="Operating System" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="HardDriveSize" v:lbl="Hard Drive Capacity" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Workstation" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Department" v:lbl="Department" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ShapeClass" v:lbl="ShapeClass" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Equipment)"/>
+ <v:cp v:nameU="ShapeType" v:lbl="ShapeType" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Server)"/>
+ <v:cp v:nameU="BelongsTo" v:lbl="Belongs To" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="ShapeClass" v:prompt="" v:val="VT0(5):26"/>
+ <v:ud v:nameU="SolSH" v:prompt="" v:val="VT15({BF0433D9-CD73-4EB5-8390-8653BE590246}):41"/>
+ <v:ud v:nameU="visLegendShape" v:prompt="" v:val="VT0(2):26"/>
+ </v:userDefs>
+ <title>Server</title>
+ <g id="shape52-221" v:mID="52" v:groupContext="shape" transform="translate(13.0183,0)">
+ <title>Sheet.52</title>
+ <g id="shadow52-222" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="352.565" width="45.9634" height="72" class="st2"/>
+ </g>
+ <rect x="0" y="352.565" width="45.9634" height="72" class="st3"/>
+ </g>
+ <g id="shape53-226" v:mID="53" v:groupContext="shape" transform="translate(47.371,-30.7354)">
+ <title>Sheet.53</title>
+ <g id="shadow53-227" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <ellipse cx="2.77848" cy="421.786" rx="2.77848" ry="2.77848" class="st2"/>
+ </g>
+ <ellipse cx="2.77848" cy="421.786" rx="2.77848" ry="2.77848" class="st13"/>
+ </g>
+ <g id="shape54-231" v:mID="54" v:groupContext="shape" transform="translate(30.51,-11.8022)">
+ <title>Sheet.54</title>
+ <v:userDefs>
+ <v:ud v:nameU="SurroundingRegionColor" v:prompt="" v:val="VT5(1)"/>
+ <v:ud v:nameU="SurroundingRegionColor" v:prompt="" v:val="VT5(#5b9bd5)"/>
+ </v:userDefs>
+ <g id="shadow54-232" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M-0 424.56 L22.42 424.56 L22.42 422.76 L-0 422.76 L-0 424.56 ZM-0 419.11 L22.42 419.11 L22.42 417.31
+ L-0 417.31 L-0 419.11 ZM-0 413.65 L22.42 413.65 L22.42 411.84 L-0 411.84 L-0 413.65 Z"
+ class="st10"/>
+ </g>
+ <path d="M-0 424.56 L22.42 424.56 L22.42 422.76 L-0 422.76 L-0 424.56 ZM-0 419.11 L22.42 419.11 L22.42 417.31 L-0
+ 417.31 L-0 419.11 ZM-0 413.65 L22.42 413.65 L22.42 411.84 L-0 411.84 L-0 413.65 Z" class="st23"/>
+ </g>
+ </g>
+ <g id="shape59-239" v:mID="59" v:groupContext="shape" transform="translate(277.876,-373.938)">
+ <title>Sheet.59</title>
+ <path d="M-0 424.56 A111.108 53.2538 42.31 0 1 93.83 421.21 L94.14 421.41" class="st17"/>
+ </g>
+ <g id="shape60-244" v:mID="60" v:groupContext="shape" transform="translate(205.876,-283.938)">
+ <title>Sheet.60</title>
+ <desc>Backend Server 1</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="408.124" width="108" height="32.8815"/>
+ <rect x="0" y="391.683" width="108" height="32.8815" class="st21"/>
+ <text x="11.93" y="411.72" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Backend Server 1</text> </g>
+ <g id="group61-247" transform="translate(223.876,-207.438)" v:mID="61" v:groupContext="group">
+ <v:custProps>
+ <v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:prompt="" v:type="0" v:format="" v:sortKey="Asset"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:prompt="" v:type="0" v:format="" v:sortKey="Asset"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Location" v:lbl="Location" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Building" v:lbl="Building" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Room" v:lbl="Room" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="PartNumber" v:lbl="Part Number" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Equipment" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NetworkName" v:lbl="Network Name" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="IPAddress" v:lbl="IP Address" v:prompt="" v:type="0" v:format="" v:sortKey="Network" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="SubnetMask" v:lbl="Subnet Mask" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="AdminInterface" v:lbl="Administrative Interface" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Network" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NumberofPorts" v:lbl="Number of Ports" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="CommunityString" v:lbl="Community String" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NetworkDescription" v:lbl="Network Description" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Network" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="MACAddress" v:lbl="MAC Address" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="CPU" v:lbl="CPU" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Memory" v:lbl="Memory" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="OperatingSystem" v:lbl="Operating System" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="HardDriveSize" v:lbl="Hard Drive Capacity" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Workstation" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Department" v:lbl="Department" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ShapeClass" v:lbl="ShapeClass" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Equipment)"/>
+ <v:cp v:nameU="ShapeType" v:lbl="ShapeType" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Server)"/>
+ <v:cp v:nameU="BelongsTo" v:lbl="Belongs To" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="ShapeClass" v:prompt="" v:val="VT0(5):26"/>
+ <v:ud v:nameU="SolSH" v:prompt="" v:val="VT15({BF0433D9-CD73-4EB5-8390-8653BE590246}):41"/>
+ <v:ud v:nameU="visLegendShape" v:prompt="" v:val="VT0(2):26"/>
+ </v:userDefs>
+ <title>Server.61</title>
+ <g id="shape62-248" v:mID="62" v:groupContext="shape" transform="translate(13.0183,0)">
+ <title>Sheet.62</title>
+ <g id="shadow62-249" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="352.565" width="45.9634" height="72" class="st2"/>
+ </g>
+ <rect x="0" y="352.565" width="45.9634" height="72" class="st3"/>
+ </g>
+ <g id="shape63-253" v:mID="63" v:groupContext="shape" transform="translate(47.371,-30.7354)">
+ <title>Sheet.63</title>
+ <g id="shadow63-254" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <ellipse cx="2.77848" cy="421.786" rx="2.77848" ry="2.77848" class="st2"/>
+ </g>
+ <ellipse cx="2.77848" cy="421.786" rx="2.77848" ry="2.77848" class="st13"/>
+ </g>
+ <g id="shape64-258" v:mID="64" v:groupContext="shape" transform="translate(30.51,-11.8022)">
+ <title>Sheet.64</title>
+ <v:userDefs>
+ <v:ud v:nameU="SurroundingRegionColor" v:prompt="" v:val="VT5(1)"/>
+ <v:ud v:nameU="SurroundingRegionColor" v:prompt="" v:val="VT5(#5b9bd5)"/>
+ </v:userDefs>
+ <g id="shadow64-259" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M-0 424.56 L22.42 424.56 L22.42 422.76 L-0 422.76 L-0 424.56 ZM-0 419.11 L22.42 419.11 L22.42 417.31
+ L-0 417.31 L-0 419.11 ZM-0 413.65 L22.42 413.65 L22.42 411.84 L-0 411.84 L-0 413.65 Z"
+ class="st10"/>
+ </g>
+ <path d="M-0 424.56 L22.42 424.56 L22.42 422.76 L-0 422.76 L-0 424.56 ZM-0 419.11 L22.42 419.11 L22.42 417.31 L-0
+ 417.31 L-0 419.11 ZM-0 413.65 L22.42 413.65 L22.42 411.84 L-0 411.84 L-0 413.65 Z" class="st23"/>
+ </g>
+ </g>
+ <g id="shape65-266" v:mID="65" v:groupContext="shape" transform="translate(205.876,-180.437)">
+ <title>Sheet.65</title>
+ <desc>Backend Server 2</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="408.124" width="108" height="32.8815"/>
+ <rect x="0" y="391.683" width="108" height="32.8815" class="st21"/>
+ <text x="11.93" y="411.72" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Backend Server 2</text> </g>
+ <g id="group66-269" transform="translate(219.029,-58.9375)" v:mID="66" v:groupContext="group">
+ <v:custProps>
+ <v:cp v:nameU="AssetNumber" v:lbl="Asset Number" v:prompt="" v:type="0" v:format="" v:sortKey="Asset"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="SerialNumber" v:lbl="Serial Number" v:prompt="" v:type="0" v:format="" v:sortKey="Asset"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Location" v:lbl="Location" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Building" v:lbl="Building" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Room" v:lbl="Room" v:prompt="" v:type="0" v:format="" v:sortKey="Asset" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Manufacturer" v:lbl="Manufacturer" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ProductNumber" v:lbl="Product Number" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="PartNumber" v:lbl="Part Number" v:prompt="" v:type="0" v:format="" v:sortKey="Equipment"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ProductDescription" v:lbl="Product Description" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Equipment" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NetworkName" v:lbl="Network Name" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="IPAddress" v:lbl="IP Address" v:prompt="" v:type="0" v:format="" v:sortKey="Network" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="SubnetMask" v:lbl="Subnet Mask" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="AdminInterface" v:lbl="Administrative Interface" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Network" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NumberofPorts" v:lbl="Number of Ports" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="CommunityString" v:lbl="Community String" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="NetworkDescription" v:lbl="Network Description" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Network" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="MACAddress" v:lbl="MAC Address" v:prompt="" v:type="0" v:format="" v:sortKey="Network"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="CPU" v:lbl="CPU" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Memory" v:lbl="Memory" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="OperatingSystem" v:lbl="Operating System" v:prompt="" v:type="0" v:format="" v:sortKey="Workstation"
+ v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="HardDriveSize" v:lbl="Hard Drive Capacity" v:prompt="" v:type="0" v:format=""
+ v:sortKey="Workstation" v:invis="false" v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="Department" v:lbl="Department" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="false"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ <v:cp v:nameU="ShapeClass" v:lbl="ShapeClass" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Equipment)"/>
+ <v:cp v:nameU="ShapeType" v:lbl="ShapeType" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0" v:val="VT4(Server)"/>
+ <v:cp v:nameU="BelongsTo" v:lbl="Belongs To" v:prompt="" v:type="0" v:format="" v:sortKey="" v:invis="true"
+ v:ask="false" v:langID="1033" v:cal="0"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="ShapeClass" v:prompt="" v:val="VT0(5):26"/>
+ <v:ud v:nameU="SolSH" v:prompt="" v:val="VT15({BF0433D9-CD73-4EB5-8390-8653BE590246}):41"/>
+ <v:ud v:nameU="visLegendShape" v:prompt="" v:val="VT0(2):26"/>
+ </v:userDefs>
+ <title>Server.66</title>
+ <g id="shape67-270" v:mID="67" v:groupContext="shape" transform="translate(13.0183,0)">
+ <title>Sheet.67</title>
+ <g id="shadow67-271" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="352.565" width="45.9634" height="72" class="st2"/>
+ </g>
+ <rect x="0" y="352.565" width="45.9634" height="72" class="st3"/>
+ </g>
+ <g id="shape68-275" v:mID="68" v:groupContext="shape" transform="translate(47.371,-30.7354)">
+ <title>Sheet.68</title>
+ <g id="shadow68-276" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <ellipse cx="2.77848" cy="421.786" rx="2.77848" ry="2.77848" class="st2"/>
+ </g>
+ <ellipse cx="2.77848" cy="421.786" rx="2.77848" ry="2.77848" class="st13"/>
+ </g>
+ <g id="shape69-280" v:mID="69" v:groupContext="shape" transform="translate(30.51,-11.8022)">
+ <title>Sheet.69</title>
+ <v:userDefs>
+ <v:ud v:nameU="SurroundingRegionColor" v:prompt="" v:val="VT5(1)"/>
+ <v:ud v:nameU="SurroundingRegionColor" v:prompt="" v:val="VT5(#5b9bd5)"/>
+ </v:userDefs>
+ <g id="shadow69-281" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <path d="M-0 424.56 L22.42 424.56 L22.42 422.76 L-0 422.76 L-0 424.56 ZM-0 419.11 L22.42 419.11 L22.42 417.31
+ L-0 417.31 L-0 419.11 ZM-0 413.65 L22.42 413.65 L22.42 411.84 L-0 411.84 L-0 413.65 Z"
+ class="st10"/>
+ </g>
+ <path d="M-0 424.56 L22.42 424.56 L22.42 422.76 L-0 422.76 L-0 424.56 ZM-0 419.11 L22.42 419.11 L22.42 417.31 L-0
+ 417.31 L-0 419.11 ZM-0 413.65 L22.42 413.65 L22.42 411.84 L-0 411.84 L-0 413.65 Z" class="st23"/>
+ </g>
+ </g>
+ <g id="shape70-288" v:mID="70" v:groupContext="shape" transform="translate(201.029,-26.056)">
+ <title>Sheet.70</title>
+ <desc>Backend Server X</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="408.124" width="108" height="32.8815"/>
+ <rect x="0" y="391.683" width="108" height="32.8815" class="st21"/>
+ <text x="11.86" y="411.72" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Backend Server X</text> </g>
+ <g id="shape71-291" v:mID="71" v:groupContext="shape" transform="translate(684.44,239.627) rotate(90)">
+ <title>Sheet.71</title>
+ <path d="M0 424.56 L45 424.56" class="st24"/>
+ </g>
+ <g id="shape72-294" v:mID="72" v:groupContext="shape" transform="translate(6.85967,-22.443) rotate(-38.1076)">
+ <title>Sheet.72</title>
+ <path d="M-0 424.56 A96.1331 44.4001 55.03 0 1 68.24 420.56 L68.51 420.79" class="st17"/>
+ </g>
+ <g id="shape73-299" v:mID="73" v:groupContext="shape" transform="translate(328.501,-135.937)">
+ <title>Rectangle.73</title>
+ <desc>Key 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow73-300" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="4.74" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key 1</text> </g>
+ <g id="shape74-305" v:mID="74" v:groupContext="shape" transform="translate(362.251,-135.937)">
+ <title>Rectangle.74</title>
+ <desc>Action 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow74-306" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="4.62" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action 1</text> </g>
+ <g id="shape75-311" v:mID="75" v:groupContext="shape" transform="translate(409.501,-135.937)">
+ <title>Rectangle.75</title>
+ <desc>Key 2</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow75-312" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="4.74" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key 2</text> </g>
+ <g id="shape76-317" v:mID="76" v:groupContext="shape" transform="translate(443.251,-135.937)">
+ <title>Rectangle.76</title>
+ <desc>Action 2</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow76-318" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="4.62" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action 2</text> </g>
+ <g id="shape77-323" v:mID="77" v:groupContext="shape" transform="translate(490.501,-135.937)">
+ <title>Rectangle.77</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow77-324" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape78-328" v:mID="78" v:groupContext="shape" transform="translate(524.251,-135.937)">
+ <title>Rectangle.78</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow78-329" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape79-333" v:mID="79" v:groupContext="shape" transform="translate(328.501,-113.437)">
+ <title>Rectangle.79</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow79-334" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape80-338" v:mID="80" v:groupContext="shape" transform="translate(362.251,-113.437)">
+ <title>Rectangle.80</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow80-339" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape81-343" v:mID="81" v:groupContext="shape" transform="translate(409.501,-113.437)">
+ <title>Rectangle.81</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow81-344" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape82-348" v:mID="82" v:groupContext="shape" transform="translate(443.251,-113.437)">
+ <title>Rectangle.82</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow82-349" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape83-353" v:mID="83" v:groupContext="shape" transform="translate(490.501,-113.437)">
+ <title>Rectangle.83</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow83-354" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape84-358" v:mID="84" v:groupContext="shape" transform="translate(524.251,-113.437)">
+ <title>Rectangle.84</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow84-359" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape85-363" v:mID="85" v:groupContext="shape" transform="translate(328.501,-77.4375)">
+ <title>Rectangle.85</title>
+ <desc>Key x</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow85-364" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="5.11" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key x</text> </g>
+ <g id="shape86-369" v:mID="86" v:groupContext="shape" transform="translate(362.251,-77.4375)">
+ <title>Rectangle.86</title>
+ <desc>Action x</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow86-370" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="4.99" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action x</text> </g>
+ <g id="shape87-375" v:mID="87" v:groupContext="shape" transform="translate(409.501,-77.4375)">
+ <title>Rectangle.87</title>
+ <desc>Key y</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow87-376" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="5.01" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key y</text> </g>
+ <g id="shape88-381" v:mID="88" v:groupContext="shape" transform="translate(443.251,-77.4375)">
+ <title>Rectangle.88</title>
+ <desc>Action y</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow88-382" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="4.89" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action y</text> </g>
+ <g id="shape89-387" v:mID="89" v:groupContext="shape" transform="translate(490.501,-77.4375)">
+ <title>Rectangle.89</title>
+ <desc>Key z</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow89-388" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="5.3" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key z</text> </g>
+ <g id="shape90-393" v:mID="90" v:groupContext="shape" transform="translate(524.251,-77.4375)">
+ <title>Rectangle.90</title>
+ <desc>Action z</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow90-394" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="5.18" y="418.56" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action z</text> </g>
+ <g id="shape91-399" v:mID="91" v:groupContext="shape" transform="translate(328.501,-40.9375)">
+ <title>Rectangle.91</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow91-400" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape92-404" v:mID="92" v:groupContext="shape" transform="translate(362.251,-40.9375)">
+ <title>Rectangle.92</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow92-405" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape93-409" v:mID="93" v:groupContext="shape" transform="translate(409.501,-40.9375)">
+ <title>Rectangle.93</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow93-410" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ </g>
+ <g id="shape94-414" v:mID="94" v:groupContext="shape" transform="translate(443.251,-40.9375)">
+ <title>Rectangle.94</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow94-415" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ </g>
+ <g id="shape95-419" v:mID="95" v:groupContext="shape" transform="translate(490.501,-40.9375)">
+ <title>Rectangle.95</title>
+ <desc>Key N</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="15.75" cy="415.565" width="31.5" height="18"/>
+ <g id="shadow95-420" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="31.5" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="31.5" height="18" class="st3"/>
+ <text x="5.21" y="418.26" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key N</text> </g>
+ <g id="shape96-425" v:mID="96" v:groupContext="shape" transform="translate(524.251,-40.9375)">
+ <title>Rectangle.96</title>
+ <desc>Action N</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="415.565" width="42.75" height="18"/>
+ <g id="shadow96-426" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="406.565" width="42.75" height="18" class="st2"/>
+ </g>
+ <rect x="0" y="406.565" width="42.75" height="18" class="st3"/>
+ <text x="5.67" y="418.26" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Action N</text> </g>
+ <g id="shape97-431" v:mID="97" v:groupContext="shape" transform="translate(326.251,-31.9375)">
+ <title>Rectangle.97</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <g id="shadow97-432" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="289.065" width="245.25" height="135.5" class="st6"/>
+ </g>
+ <rect x="0" y="289.065" width="245.25" height="135.5" class="st7"/>
+ </g>
+ <g id="shape98-436" v:mID="98" v:groupContext="shape" transform="translate(337.501,-162.938)">
+ <title>Sheet.98</title>
+ <desc>Local Table for N Specific Flows Serviced at Node X</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="110.423" cy="418.94" width="220.85" height="11.25"/>
+ <rect x="0" y="413.315" width="220.846" height="11.25" class="st8"/>
+ <text x="5.55" y="421.94" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Local Table for N Specific Flows Serviced at Node X</text> </g>
+ <g id="shape99-439" v:mID="99" v:groupContext="shape" transform="translate(-204.342,-29.4449) rotate(-53.7462)">
+ <title>Sheet.99</title>
+ <path d="M0 424.56 L160.37 424.56" class="st25"/>
+ </g>
+ <g id="shape100-445" v:mID="100" v:groupContext="shape" transform="translate(-37.6568,-164.882) rotate(-24.444)">
+ <title>Sheet.100</title>
+ <path d="M0 424.56 L101.71 424.56" class="st25"/>
+ </g>
+ <g id="shape101-450" v:mID="101" v:groupContext="shape" transform="translate(464.049,-50.8578) rotate(50.099)">
+ <title>Sheet.101</title>
+ <path d="M0 424.56 L139.8 424.56" class="st25"/>
+ </g>
+ <g id="shape102-455" v:mID="102" v:groupContext="shape" transform="translate(372.376,-207.438)">
+ <title>Sheet.102</title>
+ <desc>Supports N Flows</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="67.5" cy="415.565" width="135" height="18"/>
+ <rect x="0" y="406.565" width="135" height="18" class="st19"/>
+ <text x="25.15" y="419.17" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Supports N Flows</text> </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i7.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i7.svg
new file mode 100644
index 00000000..98f80005
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i7.svg
@@ -0,0 +1,790 @@
+<?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 Microsoft Visio, SVG Export efd_i8.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="10.6168in" height="4.81965in"
+ viewBox="0 0 764.409 347.015" xml:space="preserve" color-interpolation-filters="sRGB" class="st27">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st2 {fill:none;stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st3 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st4 {fill:#000000;font-family:Intel Clear;font-size:0.998566em}
+ .st5 {fill:#0071c5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st6 {stroke:#00b050;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st7 {stroke:#004280;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st8 {stroke:#ca8f02;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st9 {stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st10 {fill:#c00000;font-family:Intel Clear;font-size:0.828804em;font-weight:bold}
+ .st11 {fill:#7f6d00;font-family:Intel Clear;font-size:0.828804em;font-weight:bold}
+ .st12 {fill:#00b050;stroke:#00b050;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0149927}
+ .st13 {fill:#004280;stroke:#004280;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0149927}
+ .st14 {fill:#00b050;stroke:#00b050;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0299855}
+ .st15 {fill:#ca8f02;stroke:#ca8f02;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0299855}
+ .st16 {fill:#004280;font-family:Intel Clear;font-size:0.828804em}
+ .st17 {fill:#ffffff;font-family:Intel Clear;font-size:0.998566em}
+ .st18 {fill:#ffffff;font-family:Intel Clear;font-size:1.49785em}
+ .st19 {visibility:visible}
+ .st20 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st21 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
+ .st22 {fill:#feffff;font-family:Symbol;font-size:1.16666em}
+ .st23 {font-size:1em}
+ .st24 {font-family:Calibri;font-size:1em}
+ .st25 {fill:none;stroke:none;stroke-width:0.25}
+ .st26 {fill:#ffffff;font-family:Calibri;font-size:1.00001em}
+ .st27 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape3-1" v:mID="3" v:groupContext="shape" transform="translate(27.7836,-307.505)">
+ <title>Sheet.3</title>
+ <path d="M0 329.94 C-0 328.06 1.54 326.52 3.42 326.52 L68.49 326.52 C70.38 326.52 71.91 328.06 71.91 329.94 L71.91 343.6
+ C71.91 345.49 70.38 347.02 68.49 347.02 L3.42 347.02 C1.54 347.02 0 345.49 0 343.6 L0 329.94 Z"
+ class="st1"/>
+ </g>
+ <g id="shape4-3" v:mID="4" v:groupContext="shape" transform="translate(27.7836,-307.505)">
+ <title>Sheet.4</title>
+ <path d="M0 329.94 C-0 328.06 1.54 326.52 3.42 326.52 L68.49 326.52 C70.38 326.52 71.91 328.06 71.91 329.94 L71.91 343.6
+ C71.91 345.49 70.38 347.02 68.49 347.02 L3.42 347.02 C1.54 347.02 0 345.49 0 343.6 L0 329.94 Z"
+ class="st2"/>
+ </g>
+ <g id="shape5-5" v:mID="5" v:groupContext="shape" transform="translate(50.1544,-309.121)">
+ <title>Sheet.5</title>
+ <desc>Key1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="17.3237" cy="339.824" width="34.65" height="14.3829"/>
+ <path d="M34.65 332.63 L0 332.63 L0 347.02 L34.65 347.02 L34.65 332.63" class="st3"/>
+ <text x="3.72" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key1</text> </g>
+ <g id="shape6-9" v:mID="6" v:groupContext="shape" transform="translate(43.6909,-286.954)">
+ <title>Sheet.6</title>
+ <path d="M0 336.65 L9.81 336.65 L9.81 326.28 L29.44 326.28 L29.44 336.65 L39.26 336.65 L19.63 347.02 L0 336.65 Z"
+ class="st5"/>
+ </g>
+ <g id="shape7-11" v:mID="7" v:groupContext="shape" transform="translate(27.7836,-266.044)">
+ <title>Sheet.7</title>
+ <path d="M0 330.04 C0 328.16 1.52 326.64 3.41 326.64 L68.51 326.64 C70.4 326.64 71.91 328.16 71.91 330.04 L71.91 343.62
+ C71.91 345.49 70.4 347.02 68.51 347.02 L3.41 347.02 C1.52 347.02 0 345.49 0 343.62 L0 330.04 Z"
+ class="st1"/>
+ </g>
+ <g id="shape8-13" v:mID="8" v:groupContext="shape" transform="translate(27.7836,-266.044)">
+ <title>Sheet.8</title>
+ <path d="M0 330.04 C0 328.16 1.52 326.64 3.41 326.64 L68.51 326.64 C70.4 326.64 71.91 328.16 71.91 330.04 L71.91 343.62
+ C71.91 345.49 70.4 347.02 68.51 347.02 L3.41 347.02 C1.52 347.02 0 345.49 0 343.62 L0 330.04 Z"
+ class="st2"/>
+ </g>
+ <g id="shape9-15" v:mID="9" v:groupContext="shape" transform="translate(50.7572,-267.602)">
+ <title>Sheet.9</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.5866" cy="339.824" width="33.18" height="14.3829"/>
+ <path d="M33.17 332.63 L0 332.63 L0 347.02 L33.17 347.02 L33.17 332.63" class="st3"/>
+ <text x="3.63" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape10-19" v:mID="10" v:groupContext="shape" transform="translate(19.0195,-225.183)">
+ <title>Sheet.10</title>
+ <path d="M0 330.74 C0 328.94 1.46 327.48 3.26 327.48 L87.15 327.48 C88.95 327.48 90.4 328.94 90.4 330.74 L90.4 343.76
+ C90.4 345.56 88.95 347.02 87.15 347.02 L3.26 347.02 C1.46 347.02 0 345.56 0 343.76 L0 330.74 Z"
+ class="st1"/>
+ </g>
+ <g id="shape11-21" v:mID="11" v:groupContext="shape" transform="translate(19.0195,-225.183)">
+ <title>Sheet.11</title>
+ <path d="M0 330.74 C0 328.94 1.46 327.48 3.26 327.48 L87.15 327.48 C88.95 327.48 90.4 328.94 90.4 330.74 L90.4 343.76
+ C90.4 345.56 88.95 347.02 87.15 347.02 L3.26 347.02 C1.46 347.02 0 345.56 0 343.76 L0 330.74 Z"
+ class="st2"/>
+ </g>
+ <g id="shape12-23" v:mID="12" v:groupContext="shape" transform="translate(28.0373,-226.287)">
+ <title>Sheet.12</title>
+ <desc>0x0102ABCD</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.3615" cy="339.824" width="86.73" height="14.3829"/>
+ <path d="M86.72 332.63 L0 332.63 L0 347.02 L86.72 347.02 L86.72 332.63" class="st3"/>
+ <text x="7.12" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0102ABCD</text> </g>
+ <g id="shape13-27" v:mID="13" v:groupContext="shape" transform="translate(43.6909,-244.775)">
+ <title>Sheet.13</title>
+ <path d="M0 336.71 L9.81 336.71 L9.81 326.4 L29.44 326.4 L29.44 336.71 L39.26 336.71 L19.63 347.02 L0 336.71 Z"
+ class="st5"/>
+ </g>
+ <g id="shape14-29" v:mID="14" v:groupContext="shape" transform="translate(40.7496,-210.444)">
+ <title>Sheet.14</title>
+ <path d="M26.29 334.91 C26.29 338.26 25.84 340.96 25.29 340.96 L14.16 340.96 C13.6 340.96 13.15 343.67 13.15 347.02 C13.15
+ 343.67 12.7 340.96 12.14 340.96 L1.01 340.96 C0.46 340.96 0 338.26 0 334.91" class="st6"/>
+ </g>
+ <g id="shape15-32" v:mID="15" v:groupContext="shape" transform="translate(125.629,-307.625)">
+ <title>Sheet.15</title>
+ <path d="M0 330.04 C0 328.16 1.52 326.64 3.41 326.64 L68.63 326.64 C70.51 326.64 72.03 328.16 72.03 330.04 L72.03 343.62
+ C72.03 345.49 70.51 347.02 68.63 347.02 L3.41 347.02 C1.52 347.02 0 345.49 0 343.62 L0 330.04 Z"
+ class="st1"/>
+ </g>
+ <g id="shape16-34" v:mID="16" v:groupContext="shape" transform="translate(125.629,-307.625)">
+ <title>Sheet.16</title>
+ <path d="M0 330.04 C0 328.16 1.52 326.64 3.41 326.64 L68.63 326.64 C70.51 326.64 72.03 328.16 72.03 330.04 L72.03 343.62
+ C72.03 345.49 70.51 347.02 68.63 347.02 L3.41 347.02 C1.52 347.02 0 345.49 0 343.62 L0 330.04 Z"
+ class="st2"/>
+ </g>
+ <g id="shape17-36" v:mID="17" v:groupContext="shape" transform="translate(148.034,-309.155)">
+ <title>Sheet.17</title>
+ <desc>Key2</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="17.3237" cy="339.824" width="34.65" height="14.3829"/>
+ <path d="M34.65 332.63 L0 332.63 L0 347.02 L34.65 347.02 L34.65 332.63" class="st3"/>
+ <text x="3.72" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key2</text> </g>
+ <g id="shape18-40" v:mID="18" v:groupContext="shape" transform="translate(141.536,-286.954)">
+ <title>Sheet.18</title>
+ <path d="M0 336.65 L9.81 336.65 L9.81 326.28 L29.44 326.28 L29.44 336.65 L39.26 336.65 L19.63 347.02 L0 336.65 Z"
+ class="st5"/>
+ </g>
+ <g id="shape19-42" v:mID="19" v:groupContext="shape" transform="translate(125.629,-266.044)">
+ <title>Sheet.19</title>
+ <path d="M0 329.94 C0 328.06 1.54 326.52 3.42 326.52 L68.61 326.52 C70.5 326.52 72.03 328.06 72.03 329.94 L72.03 343.6
+ C72.03 345.49 70.5 347.02 68.61 347.02 L3.42 347.02 C1.54 347.02 0 345.49 0 343.6 L0 329.94 Z" class="st1"/>
+ </g>
+ <g id="shape20-44" v:mID="20" v:groupContext="shape" transform="translate(125.629,-266.044)">
+ <title>Sheet.20</title>
+ <path d="M0 329.94 C0 328.06 1.54 326.52 3.42 326.52 L68.61 326.52 C70.5 326.52 72.03 328.06 72.03 329.94 L72.03 343.6
+ C72.03 345.49 70.5 347.02 68.61 347.02 L3.42 347.02 C1.54 347.02 0 345.49 0 343.6 L0 329.94 Z" class="st2"/>
+ </g>
+ <g id="shape21-46" v:mID="21" v:groupContext="shape" transform="translate(148.636,-267.636)">
+ <title>Sheet.21</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.5866" cy="339.824" width="33.18" height="14.3829"/>
+ <path d="M33.17 332.63 L0 332.63 L0 347.02 L33.17 347.02 L33.17 332.63" class="st3"/>
+ <text x="3.63" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape22-50" v:mID="22" v:groupContext="shape" transform="translate(116.865,-225.183)">
+ <title>Sheet.22</title>
+ <path d="M0 330.74 C0 328.94 1.46 327.48 3.26 327.48 L87.15 327.48 C88.95 327.48 90.4 328.94 90.4 330.74 L90.4 343.76
+ C90.4 345.56 88.95 347.02 87.15 347.02 L3.26 347.02 C1.46 347.02 0 345.56 0 343.76 L0 330.74 Z"
+ class="st1"/>
+ </g>
+ <g id="shape23-52" v:mID="23" v:groupContext="shape" transform="translate(116.865,-225.183)">
+ <title>Sheet.23</title>
+ <path d="M0 330.74 C0 328.94 1.46 327.48 3.26 327.48 L87.15 327.48 C88.95 327.48 90.4 328.94 90.4 330.74 L90.4 343.76
+ C90.4 345.56 88.95 347.02 87.15 347.02 L3.26 347.02 C1.46 347.02 0 345.56 0 343.76 L0 330.74 Z"
+ class="st2"/>
+ </g>
+ <g id="shape24-54" v:mID="24" v:groupContext="shape" transform="translate(125.917,-226.322)">
+ <title>Sheet.24</title>
+ <desc>0x0103CDAB</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.3615" cy="339.824" width="86.73" height="14.3829"/>
+ <path d="M86.72 332.63 L0 332.63 L0 347.02 L86.72 347.02 L86.72 332.63" class="st3"/>
+ <text x="7.12" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0103CDAB</text> </g>
+ <g id="shape25-58" v:mID="25" v:groupContext="shape" transform="translate(141.536,-244.775)">
+ <title>Sheet.25</title>
+ <path d="M0 336.71 L9.81 336.71 L9.81 326.4 L29.44 326.4 L29.44 336.71 L39.26 336.71 L19.63 347.02 L0 336.71 Z"
+ class="st5"/>
+ </g>
+ <g id="shape26-60" v:mID="26" v:groupContext="shape" transform="translate(138.595,-210.444)">
+ <title>Sheet.26</title>
+ <path d="M26.29 334.91 C26.29 338.26 25.84 340.96 25.29 340.96 L14.16 340.96 C13.6 340.96 13.15 343.67 13.15 347.02 C13.15
+ 343.67 12.7 340.96 12.14 340.96 L1.01 340.96 C0.46 340.96 0 338.26 0 334.91" class="st7"/>
+ </g>
+ <g id="shape27-63" v:mID="27" v:groupContext="shape" transform="translate(221.793,-307.625)">
+ <title>Sheet.27</title>
+ <path d="M0 330.04 C0 328.17 1.53 326.64 3.41 326.64 L68.64 326.64 C70.52 326.64 72.03 328.17 72.03 330.04 L72.03 343.63
+ C72.03 345.5 70.52 347.02 68.64 347.02 L3.41 347.02 C1.53 347.02 0 345.5 0 343.63 L0 330.04 Z" class="st1"/>
+ </g>
+ <g id="shape28-65" v:mID="28" v:groupContext="shape" transform="translate(221.793,-307.625)">
+ <title>Sheet.28</title>
+ <path d="M0 330.04 C0 328.17 1.53 326.64 3.41 326.64 L68.64 326.64 C70.52 326.64 72.03 328.17 72.03 330.04 L72.03 343.63
+ C72.03 345.5 70.52 347.02 68.64 347.02 L3.41 347.02 C1.53 347.02 0 345.5 0 343.63 L0 330.04 Z" class="st2"/>
+ </g>
+ <g id="shape29-67" v:mID="29" v:groupContext="shape" transform="translate(244.237,-309.155)">
+ <title>Sheet.29</title>
+ <desc>Key3</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="17.3237" cy="339.824" width="34.65" height="14.3829"/>
+ <path d="M34.65 332.63 L0 332.63 L0 347.02 L34.65 347.02 L34.65 332.63" class="st3"/>
+ <text x="3.72" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key3</text> </g>
+ <g id="shape30-71" v:mID="30" v:groupContext="shape" transform="translate(237.701,-286.954)">
+ <title>Sheet.30</title>
+ <path d="M0 336.65 L9.84 336.65 L9.84 326.28 L29.53 326.28 L29.53 336.65 L39.38 336.65 L19.69 347.02 L0 336.65 Z"
+ class="st5"/>
+ </g>
+ <g id="shape31-73" v:mID="31" v:groupContext="shape" transform="translate(221.793,-266.044)">
+ <title>Sheet.31</title>
+ <path d="M0 329.94 C-0 328.07 1.55 326.52 3.42 326.52 L68.61 326.52 C70.5 326.52 72.03 328.07 72.03 329.94 L72.03 343.6
+ C72.03 345.49 70.5 347.02 68.61 347.02 L3.42 347.02 C1.55 347.02 0 345.49 0 343.6 L0 329.94 Z" class="st1"/>
+ </g>
+ <g id="shape32-75" v:mID="32" v:groupContext="shape" transform="translate(221.793,-266.044)">
+ <title>Sheet.32</title>
+ <path d="M0 329.94 C-0 328.07 1.55 326.52 3.42 326.52 L68.61 326.52 C70.5 326.52 72.03 328.07 72.03 329.94 L72.03 343.6
+ C72.03 345.49 70.5 347.02 68.61 347.02 L3.42 347.02 C1.55 347.02 0 345.49 0 343.6 L0 329.94 Z" class="st2"/>
+ </g>
+ <g id="shape33-77" v:mID="33" v:groupContext="shape" transform="translate(244.84,-267.636)">
+ <title>Sheet.33</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.5866" cy="339.824" width="33.18" height="14.3829"/>
+ <path d="M33.17 332.63 L0 332.63 L0 347.02 L33.17 347.02 L33.17 332.63" class="st3"/>
+ <text x="3.63" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape34-81" v:mID="34" v:groupContext="shape" transform="translate(213.029,-225.183)">
+ <title>Sheet.34</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.27 327.48 C89.07 327.48 90.52 328.95 90.52 330.75 L90.52 343.76
+ C90.52 345.56 89.07 347.02 87.27 347.02 L3.27 347.02 C1.47 347.02 0 345.56 0 343.76 L0 330.75 Z"
+ class="st1"/>
+ </g>
+ <g id="shape35-83" v:mID="35" v:groupContext="shape" transform="translate(213.029,-225.183)">
+ <title>Sheet.35</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.27 327.48 C89.07 327.48 90.52 328.95 90.52 330.75 L90.52 343.76
+ C90.52 345.56 89.07 347.02 87.27 347.02 L3.27 347.02 C1.47 347.02 0 345.56 0 343.76 L0 330.75 Z"
+ class="st2"/>
+ </g>
+ <g id="shape36-85" v:mID="36" v:groupContext="shape" transform="translate(222.002,-226.322)">
+ <title>Sheet.36</title>
+ <desc>0x0102BAAD</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.4787" cy="339.824" width="86.96" height="14.3829"/>
+ <path d="M86.96 332.63 L0 332.63 L0 347.02 L86.96 347.02 L86.96 332.63" class="st3"/>
+ <text x="7.13" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0102BAAD</text> </g>
+ <g id="shape37-89" v:mID="37" v:groupContext="shape" transform="translate(237.701,-244.775)">
+ <title>Sheet.37</title>
+ <path d="M0 336.71 L9.84 336.71 L9.84 326.4 L29.53 326.4 L29.53 336.71 L39.38 336.71 L19.69 347.02 L0 336.71 Z"
+ class="st5"/>
+ </g>
+ <g id="shape38-91" v:mID="38" v:groupContext="shape" transform="translate(234.759,-210.444)">
+ <title>Sheet.38</title>
+ <path d="M26.41 334.91 C26.41 338.26 25.96 340.96 25.41 340.96 L14.22 340.96 C13.66 340.96 13.21 343.67 13.21 347.02
+ C13.21 343.67 12.76 340.96 12.2 340.96 L1.01 340.96 C0.46 340.96 0 338.26 0 334.91" class="st6"/>
+ </g>
+ <g id="shape39-94" v:mID="39" v:groupContext="shape" transform="translate(319.759,-307.625)">
+ <title>Sheet.39</title>
+ <path d="M0 330.04 C0 328.17 1.53 326.64 3.41 326.64 L68.52 326.64 C70.4 326.64 71.91 328.17 71.91 330.04 L71.91 343.63
+ C71.91 345.5 70.4 347.02 68.52 347.02 L3.41 347.02 C1.53 347.02 0 345.5 0 343.63 L0 330.04 Z" class="st1"/>
+ </g>
+ <g id="shape40-96" v:mID="40" v:groupContext="shape" transform="translate(319.759,-307.625)">
+ <title>Sheet.40</title>
+ <path d="M0 330.04 C0 328.17 1.53 326.64 3.41 326.64 L68.52 326.64 C70.4 326.64 71.91 328.17 71.91 330.04 L71.91 343.63
+ C71.91 345.5 70.4 347.02 68.52 347.02 L3.41 347.02 C1.53 347.02 0 345.5 0 343.63 L0 330.04 Z" class="st2"/>
+ </g>
+ <g id="shape41-98" v:mID="41" v:groupContext="shape" transform="translate(342.125,-309.155)">
+ <title>Sheet.41</title>
+ <desc>Key4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="17.3237" cy="339.824" width="34.65" height="14.3829"/>
+ <path d="M34.65 332.63 L0 332.63 L0 347.02 L34.65 347.02 L34.65 332.63" class="st3"/>
+ <text x="3.72" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key4</text> </g>
+ <g id="shape42-102" v:mID="42" v:groupContext="shape" transform="translate(335.666,-286.954)">
+ <title>Sheet.42</title>
+ <path d="M0 336.65 L9.81 336.65 L9.81 326.28 L29.44 326.28 L29.44 336.65 L39.26 336.65 L19.63 347.02 L0 336.65 Z"
+ class="st5"/>
+ </g>
+ <g id="shape43-104" v:mID="43" v:groupContext="shape" transform="translate(319.759,-266.044)">
+ <title>Sheet.43</title>
+ <path d="M0 329.94 C0 328.07 1.55 326.52 3.42 326.52 L68.49 326.52 C70.38 326.52 71.91 328.07 71.91 329.94 L71.91 343.6
+ C71.91 345.49 70.38 347.02 68.49 347.02 L3.42 347.02 C1.55 347.02 0 345.49 0 343.6 L0 329.94 Z"
+ class="st1"/>
+ </g>
+ <g id="shape44-106" v:mID="44" v:groupContext="shape" transform="translate(319.759,-266.044)">
+ <title>Sheet.44</title>
+ <path d="M0 329.94 C0 328.07 1.55 326.52 3.42 326.52 L68.49 326.52 C70.38 326.52 71.91 328.07 71.91 329.94 L71.91 343.6
+ C71.91 345.49 70.38 347.02 68.49 347.02 L3.42 347.02 C1.55 347.02 0 345.49 0 343.6 L0 329.94 Z"
+ class="st2"/>
+ </g>
+ <g id="shape45-108" v:mID="45" v:groupContext="shape" transform="translate(342.728,-267.636)">
+ <title>Sheet.45</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.5866" cy="339.824" width="33.18" height="14.3829"/>
+ <path d="M33.17 332.63 L0 332.63 L0 347.02 L33.17 347.02 L33.17 332.63" class="st3"/>
+ <text x="3.63" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape46-112" v:mID="46" v:groupContext="shape" transform="translate(310.995,-225.183)">
+ <title>Sheet.46</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.15 327.48 C88.95 327.48 90.4 328.95 90.4 330.75 L90.4 343.76
+ C90.4 345.56 88.95 347.02 87.15 347.02 L3.27 347.02 C1.47 347.02 0 345.56 0 343.76 L0 330.75 Z"
+ class="st1"/>
+ </g>
+ <g id="shape47-114" v:mID="47" v:groupContext="shape" transform="translate(310.995,-225.183)">
+ <title>Sheet.47</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.15 327.48 C88.95 327.48 90.4 328.95 90.4 330.75 L90.4 343.76
+ C90.4 345.56 88.95 347.02 87.15 347.02 L3.27 347.02 C1.47 347.02 0 345.56 0 343.76 L0 330.75 Z"
+ class="st2"/>
+ </g>
+ <g id="shape48-116" v:mID="48" v:groupContext="shape" transform="translate(321.689,-226.322)">
+ <title>Sheet.48</title>
+ <desc>0x0104BEEF</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="41.4183" cy="339.824" width="82.84" height="14.3829"/>
+ <path d="M82.84 332.63 L0 332.63 L0 347.02 L82.84 347.02 L82.84 332.63" class="st3"/>
+ <text x="6.87" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0104BEEF</text> </g>
+ <g id="shape49-120" v:mID="49" v:groupContext="shape" transform="translate(335.666,-244.775)">
+ <title>Sheet.49</title>
+ <path d="M0 336.71 L9.81 336.71 L9.81 326.4 L29.44 326.4 L29.44 336.71 L39.26 336.71 L19.63 347.02 L0 336.71 Z"
+ class="st5"/>
+ </g>
+ <g id="shape50-122" v:mID="50" v:groupContext="shape" transform="translate(332.725,-210.444)">
+ <title>Sheet.50</title>
+ <path d="M26.29 334.91 C26.29 338.27 25.84 340.96 25.29 340.96 L14.17 340.96 C13.61 340.96 13.15 343.67 13.15 347.02
+ C13.15 343.67 12.7 340.96 12.14 340.96 L1.02 340.96 C0.47 340.96 0 338.27 0 334.91" class="st6"/>
+ </g>
+ <g id="shape51-125" v:mID="51" v:groupContext="shape" transform="translate(416.884,-307.625)">
+ <title>Sheet.51</title>
+ <path d="M0 330.04 C0 328.17 1.53 326.64 3.41 326.64 L68.52 326.64 C70.4 326.64 71.91 328.17 71.91 330.04 L71.91 343.63
+ C71.91 345.5 70.4 347.02 68.52 347.02 L3.41 347.02 C1.53 347.02 0 345.5 0 343.63 L0 330.04 Z" class="st1"/>
+ </g>
+ <g id="shape52-127" v:mID="52" v:groupContext="shape" transform="translate(416.884,-307.625)">
+ <title>Sheet.52</title>
+ <path d="M0 330.04 C0 328.17 1.53 326.64 3.41 326.64 L68.52 326.64 C70.4 326.64 71.91 328.17 71.91 330.04 L71.91 343.63
+ C71.91 345.5 70.4 347.02 68.52 347.02 L3.41 347.02 C1.53 347.02 0 345.5 0 343.63 L0 330.04 Z" class="st2"/>
+ </g>
+ <g id="shape53-129" v:mID="53" v:groupContext="shape" transform="translate(439.255,-309.155)">
+ <title>Sheet.53</title>
+ <desc>Key5</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="17.3237" cy="339.824" width="34.65" height="14.3829"/>
+ <path d="M34.65 332.63 L0 332.63 L0 347.02 L34.65 347.02 L34.65 332.63" class="st3"/>
+ <text x="3.72" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key5</text> </g>
+ <g id="shape54-133" v:mID="54" v:groupContext="shape" transform="translate(432.791,-286.954)">
+ <title>Sheet.54</title>
+ <path d="M0 336.65 L9.81 336.65 L9.81 326.28 L29.44 326.28 L29.44 336.65 L39.26 336.65 L19.63 347.02 L0 336.65 Z"
+ class="st5"/>
+ </g>
+ <g id="shape55-135" v:mID="55" v:groupContext="shape" transform="translate(416.884,-266.044)">
+ <title>Sheet.55</title>
+ <path d="M0 329.94 C0 328.07 1.55 326.52 3.42 326.52 L68.49 326.52 C70.38 326.52 71.91 328.07 71.91 329.94 L71.91 343.6
+ C71.91 345.49 70.38 347.02 68.49 347.02 L3.42 347.02 C1.55 347.02 0 345.49 0 343.6 L0 329.94 Z"
+ class="st1"/>
+ </g>
+ <g id="shape56-137" v:mID="56" v:groupContext="shape" transform="translate(416.884,-266.044)">
+ <title>Sheet.56</title>
+ <path d="M0 329.94 C0 328.07 1.55 326.52 3.42 326.52 L68.49 326.52 C70.38 326.52 71.91 328.07 71.91 329.94 L71.91 343.6
+ C71.91 345.49 70.38 347.02 68.49 347.02 L3.42 347.02 C1.55 347.02 0 345.49 0 343.6 L0 329.94 Z"
+ class="st2"/>
+ </g>
+ <g id="shape57-139" v:mID="57" v:groupContext="shape" transform="translate(439.858,-267.636)">
+ <title>Sheet.57</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.5866" cy="339.824" width="33.18" height="14.3829"/>
+ <path d="M33.17 332.63 L0 332.63 L0 347.02 L33.17 347.02 L33.17 332.63" class="st3"/>
+ <text x="3.63" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape58-143" v:mID="58" v:groupContext="shape" transform="translate(408.12,-225.183)">
+ <title>Sheet.58</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.15 327.48 C88.95 327.48 90.4 328.95 90.4 330.75 L90.4 343.76
+ C90.4 345.56 88.95 347.02 87.15 347.02 L3.27 347.02 C1.47 347.02 0 345.56 0 343.76 L0 330.75 Z"
+ class="st1"/>
+ </g>
+ <g id="shape59-145" v:mID="59" v:groupContext="shape" transform="translate(408.12,-225.183)">
+ <title>Sheet.59</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.15 327.48 C88.95 327.48 90.4 328.95 90.4 330.75 L90.4 343.76
+ C90.4 345.56 88.95 347.02 87.15 347.02 L3.27 347.02 C1.47 347.02 0 345.56 0 343.76 L0 330.75 Z"
+ class="st2"/>
+ </g>
+ <g id="shape60-147" v:mID="60" v:groupContext="shape" transform="translate(416.778,-226.322)">
+ <title>Sheet.60</title>
+ <desc>0x0103DABD</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.7817" cy="339.824" width="87.57" height="14.3829"/>
+ <path d="M87.56 332.63 L0 332.63 L0 347.02 L87.56 347.02 L87.56 332.63" class="st3"/>
+ <text x="7.17" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0103DABD</text> </g>
+ <g id="shape61-151" v:mID="61" v:groupContext="shape" transform="translate(432.791,-244.775)">
+ <title>Sheet.61</title>
+ <path d="M0 336.71 L9.81 336.71 L9.81 326.4 L29.44 326.4 L29.44 336.71 L39.26 336.71 L19.63 347.02 L0 336.71 Z"
+ class="st5"/>
+ </g>
+ <g id="shape62-153" v:mID="62" v:groupContext="shape" transform="translate(429.85,-210.444)">
+ <title>Sheet.62</title>
+ <path d="M26.29 334.91 C26.29 338.27 25.84 340.96 25.29 340.96 L14.17 340.96 C13.61 340.96 13.15 343.67 13.15 347.02
+ C13.15 343.67 12.7 340.96 12.14 340.96 L1.02 340.96 C0.47 340.96 0 338.27 0 334.91" class="st7"/>
+ </g>
+ <g id="shape63-156" v:mID="63" v:groupContext="shape" transform="translate(514.489,-307.625)">
+ <title>Sheet.63</title>
+ <path d="M0 330.06 C-0 328.17 1.53 326.64 3.42 326.64 L68.64 326.64 C70.53 326.64 72.03 328.17 72.03 330.06 L72.03 343.63
+ C72.03 345.52 70.53 347.02 68.64 347.02 L3.42 347.02 C1.53 347.02 0 345.52 0 343.63 L0 330.06 Z"
+ class="st1"/>
+ </g>
+ <g id="shape64-158" v:mID="64" v:groupContext="shape" transform="translate(514.489,-307.625)">
+ <title>Sheet.64</title>
+ <path d="M0 330.06 C-0 328.17 1.53 326.64 3.42 326.64 L68.64 326.64 C70.53 326.64 72.03 328.17 72.03 330.06 L72.03 343.63
+ C72.03 345.52 70.53 347.02 68.64 347.02 L3.42 347.02 C1.53 347.02 0 345.52 0 343.63 L0 330.06 Z"
+ class="st2"/>
+ </g>
+ <g id="shape65-160" v:mID="65" v:groupContext="shape" transform="translate(536.883,-309.19)">
+ <title>Sheet.65</title>
+ <desc>Key6</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="17.3237" cy="339.824" width="34.65" height="14.3829"/>
+ <path d="M34.65 332.63 L0 332.63 L0 347.02 L34.65 347.02 L34.65 332.63" class="st3"/>
+ <text x="3.72" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key6</text> </g>
+ <g id="shape66-164" v:mID="66" v:groupContext="shape" transform="translate(530.396,-287.074)">
+ <title>Sheet.66</title>
+ <path d="M0 336.71 L9.81 336.71 L9.81 326.4 L29.44 326.4 L29.44 336.71 L39.26 336.71 L19.63 347.02 L0 336.71 Z"
+ class="st5"/>
+ </g>
+ <g id="shape67-166" v:mID="67" v:groupContext="shape" transform="translate(514.489,-266.044)">
+ <title>Sheet.67</title>
+ <path d="M0 329.94 C0 328.08 1.56 326.52 3.42 326.52 L68.61 326.52 C70.5 326.52 72.03 328.08 72.03 329.94 L72.03 343.6
+ C72.03 345.49 70.5 347.02 68.61 347.02 L3.42 347.02 C1.56 347.02 0 345.49 0 343.6 L0 329.94 Z" class="st1"/>
+ </g>
+ <g id="shape68-168" v:mID="68" v:groupContext="shape" transform="translate(514.489,-266.044)">
+ <title>Sheet.68</title>
+ <path d="M0 329.94 C0 328.08 1.56 326.52 3.42 326.52 L68.61 326.52 C70.5 326.52 72.03 328.08 72.03 329.94 L72.03 343.6
+ C72.03 345.49 70.5 347.02 68.61 347.02 L3.42 347.02 C1.56 347.02 0 345.49 0 343.6 L0 329.94 Z" class="st2"/>
+ </g>
+ <g id="shape69-170" v:mID="69" v:groupContext="shape" transform="translate(537.486,-267.671)">
+ <title>Sheet.69</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.5866" cy="339.824" width="33.18" height="14.3829"/>
+ <path d="M33.17 332.63 L0 332.63 L0 347.02 L33.17 347.02 L33.17 332.63" class="st3"/>
+ <text x="3.63" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape70-174" v:mID="70" v:groupContext="shape" transform="translate(505.725,-225.183)">
+ <title>Sheet.70</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.16 327.48 C88.96 327.48 90.4 328.95 90.4 330.75 L90.4 343.78
+ C90.4 345.58 88.96 347.02 87.16 347.02 L3.27 347.02 C1.47 347.02 0 345.58 0 343.78 L0 330.75 Z"
+ class="st1"/>
+ </g>
+ <g id="shape71-176" v:mID="71" v:groupContext="shape" transform="translate(505.725,-225.183)">
+ <title>Sheet.71</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.16 327.48 C88.96 327.48 90.4 328.95 90.4 330.75 L90.4 343.78
+ C90.4 345.58 88.96 347.02 87.16 347.02 L3.27 347.02 C1.47 347.02 0 345.58 0 343.78 L0 330.75 Z"
+ class="st2"/>
+ </g>
+ <g id="shape72-178" v:mID="72" v:groupContext="shape" transform="translate(514.766,-226.356)">
+ <title>Sheet.72</title>
+ <desc>0x0102ADCB</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.3615" cy="339.824" width="86.73" height="14.3829"/>
+ <path d="M86.72 332.63 L0 332.63 L0 347.02 L86.72 347.02 L86.72 332.63" class="st3"/>
+ <text x="7.12" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0102ADCB</text> </g>
+ <g id="shape73-182" v:mID="73" v:groupContext="shape" transform="translate(530.396,-244.775)">
+ <title>Sheet.73</title>
+ <path d="M0 336.65 L9.81 336.65 L9.81 326.28 L29.44 326.28 L29.44 336.65 L39.26 336.65 L19.63 347.02 L0 336.65 Z"
+ class="st5"/>
+ </g>
+ <g id="shape74-184" v:mID="74" v:groupContext="shape" transform="translate(527.455,-210.564)">
+ <title>Sheet.74</title>
+ <path d="M26.29 335.03 C26.29 338.36 25.87 341.02 25.3 341.02 L14.17 341.02 C13.6 341.02 13.15 343.72 13.15 347.02 C13.15
+ 343.72 12.73 341.02 12.16 341.02 L1.02 341.02 C0.45 341.02 0 338.36 0 335.03" class="st6"/>
+ </g>
+ <g id="shape75-187" v:mID="75" v:groupContext="shape" transform="translate(610.653,-307.505)">
+ <title>Sheet.75</title>
+ <path d="M0 329.94 C0 328.08 1.56 326.52 3.42 326.52 L68.61 326.52 C70.5 326.52 72.03 328.08 72.03 329.94 L72.03 343.6
+ C72.03 345.49 70.5 347.02 68.61 347.02 L3.42 347.02 C1.56 347.02 0 345.49 0 343.6 L0 329.94 Z" class="st1"/>
+ </g>
+ <g id="shape76-189" v:mID="76" v:groupContext="shape" transform="translate(610.653,-307.505)">
+ <title>Sheet.76</title>
+ <path d="M0 329.94 C0 328.08 1.56 326.52 3.42 326.52 L68.61 326.52 C70.5 326.52 72.03 328.08 72.03 329.94 L72.03 343.6
+ C72.03 345.49 70.5 347.02 68.61 347.02 L3.42 347.02 C1.56 347.02 0 345.49 0 343.6 L0 329.94 Z" class="st2"/>
+ </g>
+ <g id="shape77-191" v:mID="77" v:groupContext="shape" transform="translate(633.086,-309.121)">
+ <title>Sheet.77</title>
+ <desc>Key7</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="17.3237" cy="339.824" width="34.65" height="14.3829"/>
+ <path d="M34.65 332.63 L0 332.63 L0 347.02 L34.65 347.02 L34.65 332.63" class="st3"/>
+ <text x="3.72" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key7</text> </g>
+ <g id="shape78-195" v:mID="78" v:groupContext="shape" transform="translate(626.561,-286.954)">
+ <title>Sheet.78</title>
+ <path d="M0 336.65 L9.84 336.65 L9.84 326.28 L29.53 326.28 L29.53 336.65 L39.38 336.65 L19.69 347.02 L0 336.65 Z"
+ class="st5"/>
+ </g>
+ <g id="shape79-197" v:mID="79" v:groupContext="shape" transform="translate(610.653,-266.044)">
+ <title>Sheet.79</title>
+ <path d="M0 330.06 C-0 328.17 1.53 326.64 3.42 326.64 L68.64 326.64 C70.53 326.64 72.03 328.17 72.03 330.06 L72.03 343.63
+ C72.03 345.52 70.53 347.02 68.64 347.02 L3.42 347.02 C1.53 347.02 0 345.52 0 343.63 L0 330.06 Z"
+ class="st1"/>
+ </g>
+ <g id="shape80-199" v:mID="80" v:groupContext="shape" transform="translate(610.653,-266.044)">
+ <title>Sheet.80</title>
+ <path d="M0 330.06 C-0 328.17 1.53 326.64 3.42 326.64 L68.64 326.64 C70.53 326.64 72.03 328.17 72.03 330.06 L72.03 343.63
+ C72.03 345.52 70.53 347.02 68.64 347.02 L3.42 347.02 C1.53 347.02 0 345.52 0 343.63 L0 330.06 Z"
+ class="st2"/>
+ </g>
+ <g id="shape81-201" v:mID="81" v:groupContext="shape" transform="translate(633.689,-267.602)">
+ <title>Sheet.81</title>
+ <desc>hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="16.5866" cy="339.824" width="33.18" height="14.3829"/>
+ <path d="M33.17 332.63 L0 332.63 L0 347.02 L33.17 347.02 L33.17 332.63" class="st3"/>
+ <text x="3.63" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash</text> </g>
+ <g id="shape82-205" v:mID="82" v:groupContext="shape" transform="translate(601.889,-225.183)">
+ <title>Sheet.82</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.28 327.48 C89.08 327.48 90.52 328.95 90.52 330.75 L90.52 343.78
+ C90.52 345.58 89.08 347.02 87.28 347.02 L3.27 347.02 C1.47 347.02 0 345.58 0 343.78 L0 330.75 Z"
+ class="st1"/>
+ </g>
+ <g id="shape83-207" v:mID="83" v:groupContext="shape" transform="translate(601.889,-225.183)">
+ <title>Sheet.83</title>
+ <path d="M0 330.75 C0 328.95 1.47 327.48 3.27 327.48 L87.28 327.48 C89.08 327.48 90.52 328.95 90.52 330.75 L90.52 343.78
+ C90.52 345.58 89.08 347.02 87.28 347.02 L3.27 347.02 C1.47 347.02 0 345.58 0 343.78 L0 330.75 Z"
+ class="st2"/>
+ </g>
+ <g id="shape84-209" v:mID="84" v:groupContext="shape" transform="translate(610.969,-226.287)">
+ <title>Sheet.84</title>
+ <desc>0x0104DBCA</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="43.3615" cy="339.824" width="86.73" height="14.3829"/>
+ <path d="M86.72 332.63 L0 332.63 L0 347.02 L86.72 347.02 L86.72 332.63" class="st3"/>
+ <text x="7.12" y="343.42" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0104DBCA</text> </g>
+ <g id="shape85-213" v:mID="85" v:groupContext="shape" transform="translate(626.561,-244.775)">
+ <title>Sheet.85</title>
+ <path d="M0 336.71 L9.84 336.71 L9.84 326.4 L29.53 326.4 L29.53 336.71 L39.38 336.71 L19.69 347.02 L0 336.71 Z"
+ class="st5"/>
+ </g>
+ <g id="shape86-215" v:mID="86" v:groupContext="shape" transform="translate(623.619,-210.444)">
+ <title>Sheet.86</title>
+ <path d="M26.41 334.91 C26.41 338.27 25.96 340.96 25.42 340.96 L14.23 340.96 C13.69 340.96 13.21 343.69 13.21 347.02
+ C13.21 343.69 12.76 340.96 12.22 340.96 L1.02 340.96 C0.48 340.96 0 338.27 0 334.91" class="st8"/>
+ </g>
+ <g id="shape87-218" v:mID="87" v:groupContext="shape" transform="translate(242.323,-81.6288)">
+ <title>Sheet.87</title>
+ <path d="M0 281.23 L0 347.02 L41.18 347.02 L41.18 281.23 L0 281.23 L0 281.23 Z" class="st1"/>
+ </g>
+ <g id="shape88-220" v:mID="88" v:groupContext="shape" transform="translate(247.009,-81.6288)">
+ <title>Sheet.88</title>
+ <path d="M0 281.23 L41.18 281.23 L41.18 347.02 L0 347.02 L0 281.23" class="st9"/>
+ </g>
+ <g id="shape89-223" v:mID="89" v:groupContext="shape" transform="translate(245.254,-132.398)">
+ <title>Sheet.89</title>
+ <desc>0x0102</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="21.3211" cy="341.046" width="42.65" height="11.9384"/>
+ <path d="M42.64 335.08 L0 335.08 L0 347.02 L42.64 347.02 L42.64 335.08" class="st3"/>
+ <text x="4" y="344.03" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0102</text> </g>
+ <g id="shape90-227" v:mID="90" v:groupContext="shape" transform="translate(245.015,-82.7016)">
+ <title>Sheet.90</title>
+ <desc>4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.79425" cy="341.046" width="9.59" height="11.9384"/>
+ <path d="M9.59 335.08 L0 335.08 L0 347.02 L9.59 347.02 L9.59 335.08" class="st3"/>
+ <text x="1.84" y="344.03" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g>
+ <g id="shape91-231" v:mID="91" v:groupContext="shape" transform="translate(336.326,-81.6288)">
+ <title>Sheet.91</title>
+ <path d="M0 281.23 L0 347.02 L41.18 347.02 L41.18 281.23 L0 281.23 L0 281.23 Z" class="st1"/>
+ </g>
+ <g id="shape92-233" v:mID="92" v:groupContext="shape" transform="translate(339.598,-81.6288)">
+ <title>Sheet.92</title>
+ <path d="M0 281.23 L41.18 281.23 L41.18 347.02 L0 347.02 L0 281.23" class="st9"/>
+ </g>
+ <g id="shape93-236" v:mID="93" v:groupContext="shape" transform="translate(339.264,-132.398)">
+ <title>Sheet.93</title>
+ <desc>0x0103</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="21.3211" cy="341.046" width="42.65" height="11.9384"/>
+ <path d="M42.64 335.08 L0 335.08 L0 347.02 L42.64 347.02 L42.64 335.08" class="st3"/>
+ <text x="4" y="344.03" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0103</text> </g>
+ <g id="shape94-240" v:mID="94" v:groupContext="shape" transform="translate(339.024,-82.7016)">
+ <title>Sheet.94</title>
+ <desc>2</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.79425" cy="341.046" width="9.59" height="11.9384"/>
+ <path d="M9.59 335.08 L0 335.08 L0 347.02 L9.59 347.02 L9.59 335.08" class="st3"/>
+ <text x="1.84" y="344.03" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
+ <g id="shape95-244" v:mID="95" v:groupContext="shape" transform="translate(438.598,-81.5089)">
+ <title>Sheet.95</title>
+ <path d="M0 281.23 L0 347.02 L41.18 347.02 L41.18 281.23 L0 281.23 L0 281.23 Z" class="st1"/>
+ </g>
+ <g id="shape96-246" v:mID="96" v:groupContext="shape" transform="translate(438.598,-81.5089)">
+ <title>Sheet.96</title>
+ <path d="M0 281.23 L41.18 281.23 L41.18 347.02 L0 347.02 L0 281.23" class="st9"/>
+ </g>
+ <g id="shape97-249" v:mID="97" v:groupContext="shape" transform="translate(437.81,-132.27)">
+ <title>Sheet.97</title>
+ <desc>0x0104</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="21.3211" cy="341.046" width="42.65" height="11.9384"/>
+ <path d="M42.64 335.08 L0 335.08 L0 347.02 L42.64 347.02 L42.64 335.08" class="st3"/>
+ <text x="4" y="344.03" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0x0104</text> </g>
+ <g id="shape98-253" v:mID="98" v:groupContext="shape" transform="translate(437.57,-82.5735)">
+ <title>Sheet.98</title>
+ <desc>1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="4.79425" cy="341.046" width="9.59" height="11.9384"/>
+ <path d="M9.59 335.08 L0 335.08 L0 347.02 L9.59 347.02 L9.59 335.08" class="st3"/>
+ <text x="1.84" y="344.03" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
+ <g id="shape99-257" v:mID="99" v:groupContext="shape" transform="translate(53.5505,-147.924)">
+ <title>Sheet.99</title>
+ <path d="M0.59 283.52 L206.27 343.39 L205.7 345.34 L0 285.48 L0.59 283.52 L0.59 283.52 ZM205.85 341.14 L210.88 345.79
+ L204.14 347.02 L205.85 341.14 L205.85 341.14 Z" class="st12"/>
+ </g>
+ <g id="shape100-259" v:mID="100" v:groupContext="shape" transform="translate(151.516,-147.924)">
+ <title>Sheet.100</title>
+ <path d="M0.59 283.52 L202.41 343.41 L201.83 345.35 L0 285.48 L0.59 283.52 L0.59 283.52 ZM202.01 341.16 L207.01 345.83
+ L200.27 347.02 L202.01 341.16 L202.01 341.16 Z" class="st13"/>
+ </g>
+ <g id="shape101-261" v:mID="101" v:groupContext="shape" transform="translate(246.975,-147.37)">
+ <title>Sheet.101</title>
+ <path d="M2 283.72 L15.77 341.83 L13.79 342.3 L0 284.18 L2 283.72 L2 283.72 ZM17.53 340.36 L15.97 347.02 L11.57 341.77
+ L17.53 340.36 L17.53 340.36 Z" class="st12"/>
+ </g>
+ <g id="shape102-263" v:mID="102" v:groupContext="shape" transform="translate(262.972,-147.37)">
+ <title>Sheet.102</title>
+ <path d="M82.31 283.13 L3.45 343.12 L4.68 344.74 L83.54 284.76 L82.31 283.13 L82.31 283.13 ZM3.02 340.89 L0 347.02 L6.74
+ 345.74 L3.02 340.89 L3.02 340.89 Z" class="st12"/>
+ </g>
+ <g id="shape103-265" v:mID="103" v:groupContext="shape" transform="translate(358.537,-149.107)">
+ <title>Sheet.103</title>
+ <path d="M83.92 284.85 L3.53 343.2 L4.73 344.84 L85.12 286.5 L83.92 284.85 L83.92 284.85 ZM3.15 340.95 L0 347.02 L6.75
+ 345.89 L3.15 340.95 L3.15 340.95 Z" class="st13"/>
+ </g>
+ <g id="shape104-267" v:mID="104" v:groupContext="shape" transform="translate(264.413,-147.534)">
+ <title>Sheet.104</title>
+ <path d="M275.95 283 L4.77 343.27 L5.22 345.25 L276.37 285 L275.95 283 L275.95 283 ZM5.31 341.05 L0 345.37 L6.66 347.02
+ L5.31 341.05 L5.31 341.05 Z" class="st14"/>
+ </g>
+ <g id="shape105-269" v:mID="105" v:groupContext="shape" transform="translate(456.982,-148.103)">
+ <title>Sheet.105</title>
+ <path d="M179.48 283.72 L4.5 343.48 L5.16 345.43 L180.14 285.66 L179.48 283.72 L179.48 283.72 ZM4.8 341.23 L0 346.12
+ L6.81 347.02 L4.8 341.23 L4.8 341.23 Z" class="st15"/>
+ </g>
+ <g id="shape106-271" v:mID="106" v:groupContext="shape" transform="translate(335.628,-18)">
+ <title>Sheet.106</title>
+ <path d="M0 309.64 C0 305.52 2.99 302.16 6.65 302.16 L14.2 302.16 L8.01 284.85 L35.48 302.16 L78.47 302.16 C82.15 302.16
+ 85.12 305.52 85.12 309.64 L85.12 309.64 L85.12 320.85 L85.12 339.54 C85.12 343.68 82.15 347.02 78.47 347.02
+ L35.48 347.02 L14.2 347.02 L14.2 347.02 L6.65 347.02 C2.99 347.02 0 343.68 0 339.54 L0 320.85 L0 309.64
+ L0 309.64 Z" class="st5"/>
+ </g>
+ <g id="shape109-273" v:mID="109" v:groupContext="shape" transform="translate(157.564,-62.4234)">
+ <title>Sheet.109</title>
+ <path d="M16.21 347.02 C11.74 347.02 8.1 346.42 8.1 345.67 L8.1 303.49 C8.1 302.75 4.49 302.14 0 302.14 C4.49 302.14
+ 8.1 301.54 8.1 300.79 L8.1 258.61 C8.1 257.88 11.74 257.26 16.21 257.26" class="st7"/>
+ </g>
+ <g id="shape110-276" v:mID="110" v:groupContext="shape" transform="translate(113.844,-100.157)">
+ <title>Sheet.110</title>
+ <desc>Groups</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="20.2175" cy="341.046" width="40.44" height="11.9384"/>
+ <path d="M40.44 335.08 L0 335.08 L0 347.02 L40.44 347.02 L40.44 335.08" class="st3"/>
+ <text x="3.85" y="344.03" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Groups</text> </g>
+ <g id="shape111-280" v:mID="111" v:groupContext="shape" transform="translate(196.718,-76.2186)">
+ <title>Sheet.111</title>
+ <path d="M0 331.97 C0 330.32 2.27 328.96 5.04 328.96 L37.61 328.96 L60.43 284.85 L53.72 328.96 L59.43 328.96 C62.22 328.96
+ 64.47 330.32 64.47 331.97 L64.47 331.97 L64.47 336.48 L64.47 344.01 C64.47 345.67 62.22 347.02 59.43 347.02
+ L53.72 347.02 L37.61 347.02 L37.61 347.02 L5.04 347.02 C2.27 347.02 0 345.67 0 344.01 L0 336.48 L0 331.97
+ L0 331.97 Z" class="st5"/>
+ </g>
+ <g id="shape112-282" v:mID="112" v:groupContext="shape" transform="translate(196.65,-80.2991)">
+ <title>Sheet.112</title>
+ <desc>group id</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="27.7691" cy="339.824" width="55.54" height="14.3829"/>
+ <path d="M55.54 332.63 L0 332.63 L0 347.02 L55.54 347.02 L55.54 332.63" class="st3"/>
+ <text x="5.09" y="343.42" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>group id</text> </g>
+ <g id="shape114-286" v:mID="114" v:groupContext="shape" transform="translate(506.433,-128.007)">
+ <title>Sheet.114</title>
+ <desc>-</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="6.63728" cy="336.229" width="13.28" height="21.5726"/>
+ <path d="M13.27 325.44 L0 325.44 L0 347.02 L13.27 347.02 L13.27 325.44" class="st3"/>
+ <text x="3.06" y="341.62" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>-</text> </g>
+ <g id="shape115-290" v:mID="115" v:groupContext="shape" transform="translate(529.004,-128.007)">
+ <title>Sheet.115</title>
+ <desc>Keys separated into</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="97.1729" cy="336.229" width="194.35" height="21.5726"/>
+ <path d="M194.35 325.44 L0 325.44 L0 347.02 L194.35 347.02 L194.35 325.44" class="st3"/>
+ <text x="17.06" y="341.62" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Keys separated into </text> </g>
+ <g id="shape116-294" v:mID="116" v:groupContext="shape" transform="translate(529.004,-106.438)">
+ <title>Sheet.116</title>
+ <desc>groups based on</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="83.1587" cy="336.229" width="166.32" height="21.5726"/>
+ <path d="M166.32 325.44 L0 325.44 L0 347.02 L166.32 347.02 L166.32 325.44" class="st3"/>
+ <text x="15.23" y="341.62" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>groups based on </text> </g>
+ <g id="shape117-298" v:mID="117" v:groupContext="shape" transform="translate(529.004,-84.869)">
+ <title>Sheet.117</title>
+ <desc>some bits from hash</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="97.731" cy="336.229" width="195.47" height="21.5726"/>
+ <path d="M195.46 325.44 L0 325.44 L0 347.02 L195.46 347.02 L195.46 325.44" class="st3"/>
+ <text x="14.94" y="341.62" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>some bits from hash</text> </g>
+ <g id="shape118-302" v:mID="118" v:groupContext="shape" transform="translate(506.433,-63.2999)">
+ <title>Sheet.118</title>
+ <desc>-</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="6.63728" cy="336.229" width="13.28" height="21.5726"/>
+ <path d="M13.27 325.44 L0 325.44 L0 347.02 L13.27 347.02 L13.27 325.44" class="st3"/>
+ <text x="3.06" y="341.62" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>-</text> </g>
+ <g id="shape119-306" v:mID="119" v:groupContext="shape" transform="translate(529.004,-63.2999)">
+ <title>Sheet.119</title>
+ <desc>Groups contain a</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="84.2539" cy="336.229" width="168.51" height="21.5726"/>
+ <path d="M168.51 325.44 L0 325.44 L0 347.02 L168.51 347.02 L168.51 325.44" class="st3"/>
+ <text x="15.38" y="341.62" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Groups contain a </text> </g>
+ <g id="shape120-310" v:mID="120" v:groupContext="shape" transform="translate(529.004,-41.7308)">
+ <title>Sheet.120</title>
+ <desc>small number of</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="81.4635" cy="336.229" width="162.93" height="21.5726"/>
+ <path d="M162.93 325.44 L0 325.44 L0 347.02 L162.93 347.02 L162.93 325.44" class="st3"/>
+ <text x="15.01" y="341.62" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>small number of </text> </g>
+ <g id="shape121-314" v:mID="121" v:groupContext="shape" transform="translate(529.004,-20.1617)">
+ <title>Sheet.121</title>
+ <desc>keys (&#60;28)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="50.4481" cy="336.229" width="100.9" height="21.5726"/>
+ <path d="M100.9 325.44 L0 325.44 L0 347.02 L100.9 347.02 L100.9 325.44" class="st3"/>
+ <text x="8.77" y="341.62" class="st18" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>keys (&#60;28)</text> </g>
+ <g id="shape122-318" v:mID="122" v:groupContext="shape" transform="translate(19.1996,-146.276)">
+ <title>Sheet.122</title>
+ <path d="M0 310.17 C-0 306.1 3.62 302.8 8.07 302.8 L14.46 302.8 L29.68 282.28 L36.14 302.8 L78.65 302.8 C83.11 302.8
+ 86.72 306.1 86.72 310.17 L86.72 310.17 L86.72 321.22 L86.72 339.65 C86.72 343.72 83.11 347.02 78.65 347.02
+ L36.14 347.02 L14.46 347.02 L14.46 347.02 L8.07 347.02 C3.62 347.02 0 343.72 0 339.65 L0 321.22 L0 310.17
+ L0 310.17 Z" class="st5"/>
+ </g>
+ <g id="shape123-320" v:mID="123" v:groupContext="shape" transform="translate(41.9777,-174.053)">
+ <title>Sheet.123</title>
+ <desc>Group</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="22.8289" cy="339.824" width="45.66" height="14.3829"/>
+ <path d="M45.66 332.63 L0 332.63 L0 347.02 L45.66 347.02 L45.66 332.63" class="st3"/>
+ <text x="5.9" y="343.42" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Group </text> </g>
+ <g id="shape124-324" v:mID="124" v:groupContext="shape" transform="translate(34.4142,-159.674)">
+ <title>Sheet.124</title>
+ <desc>Identifier</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="31.5173" cy="339.824" width="63.04" height="14.3829"/>
+ <path d="M63.03 332.63 L0 332.63 L0 347.02 L63.03 347.02 L63.03 332.63" class="st3"/>
+ <text x="7.04" y="343.42" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Identifier </text> </g>
+ <g id="shape125-328" v:mID="125" v:groupContext="shape" transform="translate(28.7716,-145.295)">
+ <title>Sheet.125</title>
+ <desc>(simplified)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="36.2165" cy="339.824" width="72.44" height="14.3829"/>
+ <path d="M72.43 332.63 L0 332.63 L0 347.02 L72.43 347.02 L72.43 332.63" class="st3"/>
+ <text x="6.19" y="343.42" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(simplified)</text> </g>
+ <g id="shape127-332" v:mID="127" v:groupContext="shape" transform="translate(517.688,-71.2991)">
+ <title>Sheet.127</title>
+ <desc>Keys separated into groups based on some bits from hash. Grou...</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="112.5" cy="302.139" width="225" height="89.7513"/>
+ <g id="shadow127-333" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st19">
+ <rect x="0" y="257.264" width="225" height="89.7513" class="st20"/>
+ </g>
+ <rect x="0" y="257.264" width="225" height="89.7513" class="st21"/>
+ <text x="4" y="281.09" class="st22" v:langID="1033"><v:paragraph v:indentFirst="-18" v:indentLeft="18" v:bullet="1"/><v:tabList/><tspan
+ class="st23" v:isBullet="true">·</tspan> <tspan class="st24">Keys separated into groups based </tspan><tspan
+ x="22" dy="1.204em" class="st24">on some bits from hash</tspan><tspan class="st24">.<v:newlineChar/></tspan><tspan
+ x="4" dy="1.211em" class="st23" v:isBullet="true">·</tspan> <tspan class="st24">Groups contain a small number of </tspan><tspan
+ x="22" dy="1.204em" class="st24">keys </tspan><tspan class="st24">(</tspan><tspan class="st24">&#60;</tspan><tspan
+ class="st24">28</tspan><tspan class="st24">)</tspan></text> </g>
+ <g id="shape129-349" v:mID="129" v:groupContext="shape" transform="translate(336.326,-26.2991)">
+ <title>Sheet.129</title>
+ <desc>Total # of keys in group so far</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="39.6784" cy="333.515" width="79.36" height="27"/>
+ <rect x="0" y="320.015" width="79.3567" height="27" class="st25"/>
+ <text x="4.5" y="329.92" class="st26" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Total # of keys <tspan
+ x="4.39" dy="1.2em" class="st23">in group so far</tspan></text> </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i8.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i8.svg
new file mode 100644
index 00000000..d0fd463a
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i8.svg
@@ -0,0 +1,182 @@
+<?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 Microsoft Visio, SVG Export efd_i9.svg Page-2 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="4.98372in" height="2.08442in"
+ viewBox="0 0 358.828 150.078" xml:space="preserve" color-interpolation-filters="sRGB" class="st8">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st2 {stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st3 {fill:none;stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st4 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st5 {fill:#000000;font-family:Intel Clear;font-size:0.998566em}
+ .st6 {fill:#c00000;font-family:Intel Clear;font-size:0.828804em;font-weight:bold}
+ .st7 {fill:#0071c5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st8 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <g v:mID="4" v:index="2" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-2</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape4-1" v:mID="4" v:groupContext="shape" transform="translate(206.306,-19.0195)">
+ <title>Sheet.4</title>
+ <path d="M0 38.04 L0 150.08 L133.5 150.08 L133.5 38.04 L0 38.04 L0 38.04 Z" class="st1"/>
+ </g>
+ <g id="shape5-3" v:mID="5" v:groupContext="shape" transform="translate(206.306,-19.0195)">
+ <title>Sheet.5</title>
+ <path d="M0 38.04 L133.5 38.04 L133.5 150.08 L0 150.08 L0 38.04" class="st2"/>
+ </g>
+ <g id="shape6-6" v:mID="6" v:groupContext="shape" transform="translate(215.55,-70.7853)">
+ <title>Sheet.6</title>
+ <path d="M0 121.92 C0 118.82 2.54 116.29 5.64 116.29 L110.69 116.29 C113.81 116.29 116.33 118.82 116.33 121.92 L116.33
+ 144.45 C116.33 147.56 113.81 150.08 110.69 150.08 L5.64 150.08 C2.54 150.08 0 147.56 0 144.45 L0 121.92
+ Z" class="st1"/>
+ </g>
+ <g id="shape7-8" v:mID="7" v:groupContext="shape" transform="translate(215.55,-70.7853)">
+ <title>Sheet.7</title>
+ <path d="M0 121.92 C0 118.82 2.54 116.29 5.64 116.29 L110.69 116.29 C113.81 116.29 116.33 118.82 116.33 121.92 L116.33
+ 144.45 C116.33 147.56 113.81 150.08 110.69 150.08 L5.64 150.08 C2.54 150.08 0 147.56 0 144.45 L0 121.92
+ Z" class="st3"/>
+ </g>
+ <g id="shape8-10" v:mID="8" v:groupContext="shape" transform="translate(242.756,-86.1914)">
+ <title>Sheet.8</title>
+ <desc>hash_index</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="36.9951" cy="142.887" width="74" height="14.3829"/>
+ <path d="M73.99 135.7 L0 135.7 L0 150.08 L73.99 150.08 L73.99 135.7" class="st4"/>
+ <text x="6.29" y="146.48" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash_index</text> </g>
+ <g id="shape9-14" v:mID="9" v:groupContext="shape" transform="translate(229.67,-71.812)">
+ <title>Sheet.9</title>
+ <desc>(integer, 16 bits)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="52.0635" cy="142.887" width="104.13" height="14.3829"/>
+ <path d="M104.13 135.7 L0 135.7 L0 150.08 L104.13 150.08 L104.13 135.7" class="st4"/>
+ <text x="8.25" y="146.48" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(integer, 16 bits)</text> </g>
+ <g id="shape10-18" v:mID="10" v:groupContext="shape" transform="translate(215.55,-27.1678)">
+ <title>Sheet.10</title>
+ <path d="M0 121.92 C0 118.82 2.54 116.29 5.64 116.29 L110.69 116.29 C113.81 116.29 116.33 118.82 116.33 121.92 L116.33
+ 144.45 C116.33 147.56 113.81 150.08 110.69 150.08 L5.64 150.08 C2.54 150.08 0 147.56 0 144.45 L0 121.92
+ Z" class="st1"/>
+ </g>
+ <g id="shape11-20" v:mID="11" v:groupContext="shape" transform="translate(215.55,-27.1678)">
+ <title>Sheet.11</title>
+ <path d="M0 121.92 C0 118.82 2.54 116.29 5.64 116.29 L110.69 116.29 C113.81 116.29 116.33 118.82 116.33 121.92 L116.33
+ 144.45 C116.33 147.56 113.81 150.08 110.69 150.08 L5.64 150.08 C2.54 150.08 0 147.56 0 144.45 L0 121.92
+ Z" class="st3"/>
+ </g>
+ <g id="shape12-22" v:mID="12" v:groupContext="shape" transform="translate(237.836,-42.6033)">
+ <title>Sheet.12</title>
+ <desc>lookup_table</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="42.693" cy="142.887" width="85.39" height="14.3829"/>
+ <path d="M85.39 135.7 L0 135.7 L0 150.08 L85.39 150.08 L85.39 135.7" class="st4"/>
+ <text x="7.03" y="146.48" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>lookup_table</text> </g>
+ <g id="shape13-26" v:mID="13" v:groupContext="shape" transform="translate(251.643,-28.2239)">
+ <title>Sheet.13</title>
+ <desc>(16 bits)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="26.9562" cy="142.887" width="53.92" height="14.3829"/>
+ <path d="M53.91 135.7 L0 135.7 L0 150.08 L53.91 150.08 L53.91 135.7" class="st4"/>
+ <text x="4.98" y="146.48" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(16 bits)</text> </g>
+ <g id="shape14-30" v:mID="14" v:groupContext="shape" transform="translate(213.473,-114.303)">
+ <title>Sheet.14</title>
+ <desc>Group ID: 0x0102</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="47.976" cy="144.109" width="95.96" height="11.9384"/>
+ <path d="M95.95 138.14 L0 138.14 L0 150.08 L95.95 150.08 L95.95 138.14" class="st4"/>
+ <text x="7.47" y="147.09" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Group ID: 0x0102</text> </g>
+ <g id="shape15-34" v:mID="15" v:groupContext="shape" transform="translate(19.0195,-99.4242)">
+ <title>Sheet.15</title>
+ <path d="M0 129.31 C0 127.02 1.87 125.15 4.16 125.15 L109.18 125.15 C111.47 125.15 113.33 127.02 113.33 129.31 L113.33
+ 145.93 C113.33 148.22 111.47 150.08 109.18 150.08 L4.16 150.08 C1.87 150.08 0 148.22 0 145.93 L0 129.31
+ Z" class="st1"/>
+ </g>
+ <g id="shape16-36" v:mID="16" v:groupContext="shape" transform="translate(19.0195,-99.4242)">
+ <title>Sheet.16</title>
+ <path d="M0 129.31 C0 127.02 1.87 125.15 4.16 125.15 L109.18 125.15 C111.47 125.15 113.33 127.02 113.33 129.31 L113.33
+ 145.93 C113.33 148.22 111.47 150.08 109.18 150.08 L4.16 150.08 C1.87 150.08 0 148.22 0 145.93 L0 129.31
+ Z" class="st3"/>
+ </g>
+ <g id="shape17-38" v:mID="17" v:groupContext="shape" transform="translate(33.9485,-103.285)">
+ <title>Sheet.17</title>
+ <desc>Key1: Value = 0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="49.6862" cy="142.887" width="99.38" height="14.3829"/>
+ <path d="M99.37 135.7 L0 135.7 L0 150.08 L99.37 150.08 L99.37 135.7" class="st4"/>
+ <text x="7.94" y="146.48" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key1: Value = 0</text> </g>
+ <g id="shape18-42" v:mID="18" v:groupContext="shape" transform="translate(19.0195,-74.6198)">
+ <title>Sheet.18</title>
+ <path d="M0 129.31 C0 127.02 1.87 125.15 4.16 125.15 L109.18 125.15 C111.47 125.15 113.33 127.02 113.33 129.31 L113.33
+ 145.93 C113.33 148.22 111.47 150.08 109.18 150.08 L4.16 150.08 C1.87 150.08 0 148.22 0 145.93 L0 129.31
+ Z" class="st1"/>
+ </g>
+ <g id="shape19-44" v:mID="19" v:groupContext="shape" transform="translate(19.0195,-74.6198)">
+ <title>Sheet.19</title>
+ <path d="M0 129.31 C0 127.02 1.87 125.15 4.16 125.15 L109.18 125.15 C111.47 125.15 113.33 127.02 113.33 129.31 L113.33
+ 145.93 C113.33 148.22 111.47 150.08 109.18 150.08 L4.16 150.08 C1.87 150.08 0 148.22 0 145.93 L0 129.31
+ Z" class="st3"/>
+ </g>
+ <g id="shape20-46" v:mID="20" v:groupContext="shape" transform="translate(33.9485,-78.4626)">
+ <title>Sheet.20</title>
+ <desc>Key3: Value = 1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="49.6862" cy="142.887" width="99.38" height="14.3829"/>
+ <path d="M99.37 135.7 L0 135.7 L0 150.08 L99.37 150.08 L99.37 135.7" class="st4"/>
+ <text x="7.94" y="146.48" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key3: Value = 1</text> </g>
+ <g id="shape21-50" v:mID="21" v:groupContext="shape" transform="translate(19.0195,-49.5757)">
+ <title>Sheet.21</title>
+ <path d="M0 129.21 C0 126.91 1.88 125.03 4.19 125.03 L109.15 125.03 C111.46 125.03 113.33 126.91 113.33 129.21 L113.33
+ 145.91 C113.33 148.21 111.46 150.08 109.15 150.08 L4.19 150.08 C1.88 150.08 0 148.21 0 145.91 L0 129.21
+ Z" class="st1"/>
+ </g>
+ <g id="shape22-52" v:mID="22" v:groupContext="shape" transform="translate(19.0195,-49.5757)">
+ <title>Sheet.22</title>
+ <path d="M0 129.21 C0 126.91 1.88 125.03 4.19 125.03 L109.15 125.03 C111.46 125.03 113.33 126.91 113.33 129.21 L113.33
+ 145.91 C113.33 148.21 111.46 150.08 109.15 150.08 L4.19 150.08 C1.88 150.08 0 148.21 0 145.91 L0 129.21
+ Z" class="st3"/>
+ </g>
+ <g id="shape23-54" v:mID="23" v:groupContext="shape" transform="translate(33.9485,-53.4903)">
+ <title>Sheet.23</title>
+ <desc>Key4: Value = 0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="49.6862" cy="142.887" width="99.38" height="14.3829"/>
+ <path d="M99.37 135.7 L0 135.7 L0 150.08 L99.37 150.08 L99.37 135.7" class="st4"/>
+ <text x="7.94" y="146.48" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key4: Value = 0</text> </g>
+ <g id="shape24-58" v:mID="24" v:groupContext="shape" transform="translate(19.0195,-25.0109)">
+ <title>Sheet.24</title>
+ <path d="M0 129.21 C0 126.91 1.88 125.03 4.19 125.03 L109.15 125.03 C111.46 125.03 113.33 126.91 113.33 129.21 L113.33
+ 145.91 C113.33 148.21 111.46 150.08 109.15 150.08 L4.19 150.08 C1.88 150.08 0 148.21 0 145.91 L0 129.21
+ Z" class="st1"/>
+ </g>
+ <g id="shape25-60" v:mID="25" v:groupContext="shape" transform="translate(19.0195,-25.0109)">
+ <title>Sheet.25</title>
+ <path d="M0 129.21 C0 126.91 1.88 125.03 4.19 125.03 L109.15 125.03 C111.46 125.03 113.33 126.91 113.33 129.21 L113.33
+ 145.91 C113.33 148.21 111.46 150.08 109.15 150.08 L4.19 150.08 C1.88 150.08 0 148.21 0 145.91 L0 129.21
+ Z" class="st3"/>
+ </g>
+ <g id="shape26-62" v:mID="26" v:groupContext="shape" transform="translate(33.9485,-28.927)">
+ <title>Sheet.26</title>
+ <desc>Key7: Value = 1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="49.6862" cy="142.887" width="99.38" height="14.3829"/>
+ <path d="M99.37 135.7 L0 135.7 L0 150.08 L99.37 150.08 L99.37 135.7" class="st4"/>
+ <text x="7.94" y="146.48" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key7: Value = 1</text> </g>
+ <g id="shape27-66" v:mID="27" v:groupContext="shape" transform="translate(141.536,-51.5529)">
+ <title>Sheet.27</title>
+ <path d="M0 115.39 L22.75 115.39 L22.75 103.82 L45.5 126.95 L22.75 150.08 L22.75 138.51 L0 138.51 L0 115.39 Z"
+ class="st7"/>
+ </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i9.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i9.svg
new file mode 100644
index 00000000..b2e385d1
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/efd_i9.svg
@@ -0,0 +1,390 @@
+<?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 Microsoft Visio, SVG Export efd_i10.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="9.8125in" height="3.76365in"
+ viewBox="0 0 706.5 270.983" xml:space="preserve" color-interpolation-filters="sRGB" class="st9">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st2 {fill:none;stroke:#00aeef;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.03901}
+ .st3 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st4 {fill:#000000;font-family:Arial;font-size:0.998566em}
+ .st5 {fill:#000000;font-family:Arial;font-size:0.918686em}
+ .st6 {fill:#0071c5;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st7 {fill:#ffffff;font-family:Arial;font-size:0.998566em}
+ .st8 {fill:#ffffff;font-family:Arial;font-size:1.49785em}
+ .st9 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <g id="shape68-1" v:mID="68" v:groupContext="shape" transform="translate(196.523,-158.978)">
+ <title>Sheet.68</title>
+ <path d="M0 250.22 C0 247.95 1.89 246.06 4.17 246.06 L317.25 246.06 C319.53 246.06 321.39 247.95 321.39 250.22 L321.39
+ 266.85 C321.39 269.13 319.53 270.98 317.25 270.98 L4.17 270.98 C1.89 270.98 0 269.13 0 266.85 L0 250.22
+ Z" class="st1"/>
+ </g>
+ <g id="shape69-3" v:mID="69" v:groupContext="shape" transform="translate(196.523,-158.978)">
+ <title>Sheet.69</title>
+ <path d="M0 250.22 C0 247.95 1.89 246.06 4.17 246.06 L317.25 246.06 C319.53 246.06 321.39 247.95 321.39 250.22 L321.39
+ 266.85 C321.39 269.13 319.53 270.98 317.25 270.98 L4.17 270.98 C1.89 270.98 0 269.13 0 266.85 L0 250.22
+ Z" class="st2"/>
+ </g>
+ <g id="shape70-5" v:mID="70" v:groupContext="shape" transform="translate(186.139,-162.437)">
+ <title>Sheet.70</title>
+ <desc>(hash(key, seed1) + hash_index *</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="106.671" cy="263.792" width="213.35" height="14.3829"/>
+ <path d="M213.34 256.6 L0 256.6 L0 270.98 L213.34 270.98 L213.34 256.6" class="st3"/>
+ <text x="17.24" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(hash(key, seed1) + hash_index * </text> </g>
+ <g id="shape71-9" v:mID="71" v:groupContext="shape" transform="translate(381.48,-162.845)">
+ <title>Sheet.71</title>
+ <desc>hash(key</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="27.4843" cy="264.367" width="54.97" height="13.2327"/>
+ <path d="M54.97 257.75 L0 257.75 L0 270.98 L54.97 270.98 L54.97 257.75" class="st3"/>
+ <text x="5.12" y="267.67" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash(key</text> </g>
+ <g id="shape72-13" v:mID="72" v:groupContext="shape" transform="translate(424.755,-162.437)">
+ <title>Sheet.72</title>
+ <desc>, seed2)) % 16</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="46.7254" cy="263.792" width="93.46" height="14.3829"/>
+ <path d="M93.45 256.6 L0 256.6 L0 270.98 L93.45 270.98 L93.45 256.6" class="st3"/>
+ <text x="7.76" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>, seed2)) % 16</text> </g>
+ <g id="shape73-17" v:mID="73" v:groupContext="shape" transform="translate(524.094,-148.373)">
+ <title>Sheet.73</title>
+ <path d="M0 236.29 L22.75 236.29 L22.75 224.73 L45.5 247.86 L22.75 270.98 L22.75 259.42 L0 259.42 L0 236.29 Z"
+ class="st6"/>
+ </g>
+ <g id="shape74-19" v:mID="74" v:groupContext="shape" transform="translate(574.148,-217.574)">
+ <title>Sheet.74</title>
+ <path d="M0 244.83 C-0 241.95 2.37 239.59 5.25 239.59 L108.11 239.59 C110.99 239.59 113.33 241.95 113.33 244.83 L113.33
+ 265.77 C113.33 268.65 110.99 270.98 108.11 270.98 L5.25 270.98 C2.37 270.98 0 268.65 0 265.77 L0 244.83
+ Z" class="st1"/>
+ </g>
+ <g id="shape75-21" v:mID="75" v:groupContext="shape" transform="translate(574.148,-217.574)">
+ <title>Sheet.75</title>
+ <path d="M0 244.83 C-0 241.95 2.37 239.59 5.25 239.59 L108.11 239.59 C110.99 239.59 113.33 241.95 113.33 244.83 L113.33
+ 265.77 C113.33 268.65 110.99 270.98 108.11 270.98 L5.25 270.98 C2.37 270.98 0 268.65 0 265.77 L0 244.83
+ Z" class="st2"/>
+ </g>
+ <g id="shape76-23" v:mID="76" v:groupContext="shape" transform="translate(584.296,-231.499)">
+ <title>Sheet.76</title>
+ <desc>lookup_table</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="40.993" cy="263.792" width="81.99" height="14.3829"/>
+ <path d="M81.99 256.6 L0 256.6 L0 270.98 L81.99 270.98 L81.99 256.6" class="st3"/>
+ <text x="7.01" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>lookup_table</text> </g>
+ <g id="shape77-27" v:mID="77" v:groupContext="shape" transform="translate(655.369,-231.499)">
+ <title>Sheet.77</title>
+ <desc>bit</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="11.1076" cy="263.792" width="22.22" height="14.3829"/>
+ <path d="M22.22 256.6 L0 256.6 L0 270.98 L22.22 270.98 L22.22 256.6" class="st3"/>
+ <text x="4.78" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>bit </text> </g>
+ <g id="shape78-31" v:mID="78" v:groupContext="shape" transform="translate(588.858,-217.12)">
+ <title>Sheet.78</title>
+ <desc>index for key1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="44.8113" cy="263.792" width="89.63" height="14.3829"/>
+ <path d="M89.62 256.6 L0 256.6 L0 270.98 L89.62 270.98 L89.62 256.6" class="st3"/>
+ <text x="7.51" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>index for key1</text> </g>
+ <g id="shape79-35" v:mID="79" v:groupContext="shape" transform="translate(573.548,-178.869)">
+ <title>Sheet.79</title>
+ <path d="M0 244.83 C-0 241.95 2.37 239.59 5.25 239.59 L108.11 239.59 C110.99 239.59 113.33 241.95 113.33 244.83 L113.33
+ 265.77 C113.33 268.65 110.99 270.98 108.11 270.98 L5.25 270.98 C2.37 270.98 0 268.65 0 265.77 L0 244.83
+ Z" class="st1"/>
+ </g>
+ <g id="shape80-37" v:mID="80" v:groupContext="shape" transform="translate(573.548,-178.869)">
+ <title>Sheet.80</title>
+ <path d="M0 244.83 C-0 241.95 2.37 239.59 5.25 239.59 L108.11 239.59 C110.99 239.59 113.33 241.95 113.33 244.83 L113.33
+ 265.77 C113.33 268.65 110.99 270.98 108.11 270.98 L5.25 270.98 C2.37 270.98 0 268.65 0 265.77 L0 244.83
+ Z" class="st2"/>
+ </g>
+ <g id="shape81-39" v:mID="81" v:groupContext="shape" transform="translate(584.296,-192.768)">
+ <title>Sheet.81</title>
+ <desc>lookup_table</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="40.993" cy="263.792" width="81.99" height="14.3829"/>
+ <path d="M81.99 256.6 L0 256.6 L0 270.98 L81.99 270.98 L81.99 256.6" class="st3"/>
+ <text x="7.01" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>lookup_table</text> </g>
+ <g id="shape82-43" v:mID="82" v:groupContext="shape" transform="translate(655.369,-192.768)">
+ <title>Sheet.82</title>
+ <desc>bit</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="11.1076" cy="263.792" width="22.22" height="14.3829"/>
+ <path d="M22.22 256.6 L0 256.6 L0 270.98 L22.22 270.98 L22.22 256.6" class="st3"/>
+ <text x="4.78" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>bit </text> </g>
+ <g id="shape83-47" v:mID="83" v:groupContext="shape" transform="translate(588.858,-178.388)">
+ <title>Sheet.83</title>
+ <desc>index for key3</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="44.8113" cy="263.792" width="89.63" height="14.3829"/>
+ <path d="M89.62 256.6 L0 256.6 L0 270.98 L89.62 270.98 L89.62 256.6" class="st3"/>
+ <text x="7.51" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>index for key3</text> </g>
+ <g id="shape84-51" v:mID="84" v:groupContext="shape" transform="translate(574.148,-139.326)">
+ <title>Sheet.84</title>
+ <path d="M0 244.83 C-0 241.95 2.37 239.59 5.25 239.59 L108.11 239.59 C110.99 239.59 113.33 241.95 113.33 244.83 L113.33
+ 265.77 C113.33 268.65 110.99 270.98 108.11 270.98 L5.25 270.98 C2.37 270.98 0 268.65 0 265.77 L0 244.83
+ Z" class="st1"/>
+ </g>
+ <g id="shape85-53" v:mID="85" v:groupContext="shape" transform="translate(574.148,-139.326)">
+ <title>Sheet.85</title>
+ <path d="M0 244.83 C-0 241.95 2.37 239.59 5.25 239.59 L108.11 239.59 C110.99 239.59 113.33 241.95 113.33 244.83 L113.33
+ 265.77 C113.33 268.65 110.99 270.98 108.11 270.98 L5.25 270.98 C2.37 270.98 0 268.65 0 265.77 L0 244.83
+ Z" class="st2"/>
+ </g>
+ <g id="shape86-55" v:mID="86" v:groupContext="shape" transform="translate(584.296,-153.227)">
+ <title>Sheet.86</title>
+ <desc>lookup_table</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="40.993" cy="263.792" width="81.99" height="14.3829"/>
+ <path d="M81.99 256.6 L0 256.6 L0 270.98 L81.99 270.98 L81.99 256.6" class="st3"/>
+ <text x="7.01" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>lookup_table</text> </g>
+ <g id="shape87-59" v:mID="87" v:groupContext="shape" transform="translate(655.369,-153.227)">
+ <title>Sheet.87</title>
+ <desc>bit</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="11.1076" cy="263.792" width="22.22" height="14.3829"/>
+ <path d="M22.22 256.6 L0 256.6 L0 270.98 L22.22 270.98 L22.22 256.6" class="st3"/>
+ <text x="4.78" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>bit </text> </g>
+ <g id="shape88-63" v:mID="88" v:groupContext="shape" transform="translate(588.858,-138.848)">
+ <title>Sheet.88</title>
+ <desc>index for key4</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="44.8113" cy="263.792" width="89.63" height="14.3829"/>
+ <path d="M89.62 256.6 L0 256.6 L0 270.98 L89.62 270.98 L89.62 256.6" class="st3"/>
+ <text x="7.51" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>index for key4</text> </g>
+ <g id="shape89-67" v:mID="89" v:groupContext="shape" transform="translate(574.148,-100.622)">
+ <title>Sheet.89</title>
+ <path d="M0 244.83 C-0 241.95 2.37 239.59 5.25 239.59 L108.11 239.59 C110.99 239.59 113.33 241.95 113.33 244.83 L113.33
+ 265.77 C113.33 268.65 110.99 270.98 108.11 270.98 L5.25 270.98 C2.37 270.98 0 268.65 0 265.77 L0 244.83
+ Z" class="st1"/>
+ </g>
+ <g id="shape90-69" v:mID="90" v:groupContext="shape" transform="translate(574.148,-100.622)">
+ <title>Sheet.90</title>
+ <path d="M0 244.83 C-0 241.95 2.37 239.59 5.25 239.59 L108.11 239.59 C110.99 239.59 113.33 241.95 113.33 244.83 L113.33
+ 265.77 C113.33 268.65 110.99 270.98 108.11 270.98 L5.25 270.98 C2.37 270.98 0 268.65 0 265.77 L0 244.83
+ Z" class="st2"/>
+ </g>
+ <g id="shape91-71" v:mID="91" v:groupContext="shape" transform="translate(584.296,-114.496)">
+ <title>Sheet.91</title>
+ <desc>lookup_table</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="40.993" cy="263.792" width="81.99" height="14.3829"/>
+ <path d="M81.99 256.6 L0 256.6 L0 270.98 L81.99 270.98 L81.99 256.6" class="st3"/>
+ <text x="7.01" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>lookup_table</text> </g>
+ <g id="shape92-75" v:mID="92" v:groupContext="shape" transform="translate(655.369,-114.496)">
+ <title>Sheet.92</title>
+ <desc>bit</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="11.1076" cy="263.792" width="22.22" height="14.3829"/>
+ <path d="M22.22 256.6 L0 256.6 L0 270.98 L22.22 270.98 L22.22 256.6" class="st3"/>
+ <text x="4.78" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>bit </text> </g>
+ <g id="shape93-79" v:mID="93" v:groupContext="shape" transform="translate(588.858,-100.117)">
+ <title>Sheet.93</title>
+ <desc>index for key7</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="44.8113" cy="263.792" width="89.63" height="14.3829"/>
+ <path d="M89.62 256.6 L0 256.6 L0 270.98 L89.62 270.98 L89.62 256.6" class="st3"/>
+ <text x="7.51" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>index for key7</text> </g>
+ <g id="shape94-83" v:mID="94" v:groupContext="shape" transform="translate(205.227,-191.137)">
+ <title>Sheet.94</title>
+ <path d="M0 217.76 C0 213 3.87 209.14 8.64 209.14 L14.53 209.14 L14.53 209.14 L36.32 209.14 L78.52 209.14 C83.3 209.14
+ 87.16 213 87.16 217.76 L87.16 239.33 L87.16 239.33 L87.16 252.27 L87.16 252.27 C87.16 257.05 83.3 260.9
+ 78.52 260.9 L36.32 260.9 L18.46 270.98 L14.53 260.9 L8.64 260.9 C3.87 260.9 0 257.05 0 252.27 L0 239.33
+ L0 239.33 L0 217.76 Z" class="st6"/>
+ </g>
+ <g id="shape95-85" v:mID="95" v:groupContext="shape" transform="translate(214.98,-225.215)">
+ <title>Sheet.95</title>
+ <desc>CRC32 (32</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="38.2947" cy="263.792" width="76.59" height="14.3829"/>
+ <path d="M76.59 256.6 L0 256.6 L0 270.98 L76.59 270.98 L76.59 256.6" class="st3"/>
+ <text x="8.33" y="267.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>CRC32 (32 </text> </g>
+ <g id="shape96-89" v:mID="96" v:groupContext="shape" transform="translate(222.123,-210.835)">
+ <title>Sheet.96</title>
+ <desc>bit output)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="32.5584" cy="263.792" width="65.12" height="14.3829"/>
+ <path d="M65.12 256.6 L0 256.6 L0 270.98 L65.12 270.98 L65.12 256.6" class="st3"/>
+ <text x="5.91" y="267.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>bit output)</text> </g>
+ <g id="shape97-93" v:mID="97" v:groupContext="shape" transform="translate(305.473,-188.366)">
+ <title>Sheet.97</title>
+ <path d="M0 226.84 C0 223.28 2.9 220.39 6.47 220.39 L21.37 220.39 L21.37 220.39 L53.42 220.39 L121.77 220.39 C125.34
+ 220.39 128.22 223.28 128.22 226.84 L128.22 242.97 L128.22 242.97 L128.22 252.65 L128.22 252.65 C128.22 256.21
+ 125.34 259.09 121.77 259.09 L53.42 259.09 L38.73 270.98 L21.37 259.09 L6.47 259.09 C2.9 259.09 0 256.21
+ 0 252.65 L0 242.97 L0 242.97 L0 226.84 Z" class="st6"/>
+ </g>
+ <g id="shape98-95" v:mID="98" v:groupContext="shape" transform="translate(318.48,-217.733)">
+ <title>Sheet.98</title>
+ <desc>Goal: Find a valid</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="57.4478" cy="263.792" width="114.9" height="14.3829"/>
+ <path d="M114.9 256.6 L0 256.6 L0 270.98 L114.9 270.98 L114.9 256.6" class="st3"/>
+ <text x="10.82" y="267.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Goal: Find a valid </text> </g>
+ <g id="shape99-99" v:mID="99" v:groupContext="shape" transform="translate(339.077,-203.354)">
+ <title>Sheet.99</title>
+ <desc>hash_index</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="37.1611" cy="263.792" width="74.33" height="14.3829"/>
+ <path d="M74.32 256.6 L0 256.6 L0 270.98 L74.32 270.98 L74.32 256.6" class="st3"/>
+ <text x="6.51" y="267.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>hash_index</text> </g>
+ <g id="shape100-103" v:mID="100" v:groupContext="shape" transform="translate(438.135,-185.939)">
+ <title>Sheet.100</title>
+ <path d="M0 217.36 C0 213.8 2.91 210.89 6.48 210.89 L21.37 210.89 L21.37 210.89 L53.42 210.89 L121.77 210.89 C125.34
+ 210.89 128.22 213.8 128.22 217.36 L128.22 233.48 L128.22 233.48 L128.22 243.15 L128.22 243.15 C128.22 246.72
+ 125.34 249.59 121.77 249.59 L53.42 249.59 L54.75 270.98 L21.37 249.59 L6.48 249.59 C2.91 249.59 0 246.72
+ 0 243.15 L0 233.48 L0 233.48 L0 217.36 Z" class="st6"/>
+ </g>
+ <g id="shape101-105" v:mID="101" v:groupContext="shape" transform="translate(448.763,-224.802)">
+ <title>Sheet.101</title>
+ <desc>Lookup Table has</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="58.6085" cy="263.792" width="117.22" height="14.3829"/>
+ <path d="M117.22 256.6 L0 256.6 L0 270.98 L117.22 270.98 L117.22 256.6" class="st3"/>
+ <text x="10.98" y="267.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Lookup Table has </text> </g>
+ <g id="shape102-109" v:mID="102" v:groupContext="shape" transform="translate(484.549,-210.423)">
+ <title>Sheet.102</title>
+ <desc>16 bits</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="22.2166" cy="263.792" width="44.44" height="14.3829"/>
+ <path d="M44.43 256.6 L0 256.6 L0 270.98 L44.43 270.98 L44.43 256.6" class="st3"/>
+ <text x="4.56" y="267.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>16 bits</text> </g>
+ <g id="shape103-113" v:mID="103" v:groupContext="shape" transform="translate(369.583,-90.8555)">
+ <title>Sheet.103</title>
+ <path d="M0 227.76 C0 222.98 3.89 219.1 8.67 219.1 L14.53 219.1 L34.47 205.09 L36.32 219.1 L78.5 219.1 C83.29 219.1 87.16
+ 222.98 87.16 227.76 L87.16 227.76 L87.16 240.73 L87.16 262.34 C87.16 267.12 83.29 270.98 78.5 270.98 L36.32
+ 270.98 L14.53 270.98 L14.53 270.98 L8.67 270.98 C3.89 270.98 0 267.12 0 262.34 L0 240.73 L0 227.76 L0 227.76
+ Z" class="st6"/>
+ </g>
+ <g id="shape104-115" v:mID="104" v:groupContext="shape" transform="translate(383.264,-114.932)">
+ <title>Sheet.104</title>
+ <desc>CRC32 (32</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="38.2947" cy="263.792" width="76.59" height="14.3829"/>
+ <path d="M76.59 256.6 L0 256.6 L0 270.98 L76.59 270.98 L76.59 256.6" class="st3"/>
+ <text x="8.33" y="267.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>CRC32 (32 </text> </g>
+ <g id="shape105-119" v:mID="105" v:groupContext="shape" transform="translate(386.505,-100.553)">
+ <title>Sheet.105</title>
+ <desc>bit output)</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="32.5584" cy="263.792" width="65.12" height="14.3829"/>
+ <path d="M65.12 256.6 L0 256.6 L0 270.98 L65.12 270.98 L65.12 256.6" class="st3"/>
+ <text x="5.91" y="267.39" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>bit output)</text> </g>
+ <g id="shape106-123" v:mID="106" v:groupContext="shape" transform="translate(313.397,-18)">
+ <title>Sheet.106</title>
+ <path d="M0 226.35 C0 221.43 4.02 217.42 8.94 217.42 L347.02 217.42 C351.97 217.42 355.96 221.43 355.96 226.35 L355.96
+ 262.06 C355.96 267 351.97 270.98 347.02 270.98 L8.94 270.98 C4.02 270.98 0 267 0 262.06 L0 226.35 Z"
+ class="st6"/>
+ </g>
+ <g id="shape107-125" v:mID="107" v:groupContext="shape" transform="translate(313.98,-41.963)">
+ <title>Sheet.107</title>
+ <desc>Goal is to find a hash_index that produces</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="177.75" cy="260.197" width="355.5" height="21.5726"/>
+ <path d="M355.5 249.41 L0 249.41 L0 270.98 L355.5 270.98 L355.5 249.41" class="st3"/>
+ <text x="9.88" y="265.59" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Goal is to find a hash_index that produces </text> </g>
+ <g id="shape108-129" v:mID="108" v:groupContext="shape" transform="translate(318.48,-20.3939)">
+ <title>Sheet.108</title>
+ <desc>a lookup_table with no contradictions</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="175.5" cy="260.197" width="351" height="21.5726"/>
+ <path d="M351 249.41 L0 249.41 L0 270.98 L351 270.98 L351 249.41" class="st3"/>
+ <text x="28.12" y="265.59" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>a lookup_table with no contradictions</text> </g>
+ <g id="shape109-133" v:mID="109" v:groupContext="shape" transform="translate(18,-196.244)">
+ <title>Sheet.109</title>
+ <path d="M0 250.22 C0 247.92 1.87 246.06 4.16 246.06 L109.18 246.06 C111.47 246.06 113.33 247.92 113.33 250.22 L113.33
+ 266.83 C113.33 269.13 111.47 270.98 109.18 270.98 L4.16 270.98 C1.87 270.98 0 269.13 0 266.83 L0 250.22
+ Z" class="st1"/>
+ </g>
+ <g id="shape110-135" v:mID="110" v:groupContext="shape" transform="translate(29.8201,-196.244)">
+ <title>Sheet.110</title>
+ <path d="M0 250.22 C-0 247.92 1.67 246.06 3.73 246.06 L97.79 246.06 C99.85 246.06 101.51 247.92 101.51 250.22 L101.51
+ 266.83 C101.51 269.13 99.85 270.98 97.79 270.98 L3.73 270.98 C1.67 270.98 0 269.13 0 266.83 L0 250.22 Z"
+ class="st2"/>
+ </g>
+ <g id="shape111-137" v:mID="111" v:groupContext="shape" transform="translate(32.5663,-199.746)">
+ <title>Sheet.111</title>
+ <desc>Key1: Value = 0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="50.7562" cy="263.792" width="101.52" height="14.3829"/>
+ <path d="M101.51 256.6 L0 256.6 L0 270.98 L101.51 270.98 L101.51 256.6" class="st3"/>
+ <text x="8.29" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key1: Value = 0</text> </g>
+ <g id="shape112-141" v:mID="112" v:groupContext="shape" transform="translate(18,-171.44)">
+ <title>Sheet.112</title>
+ <path d="M0 250.22 C0 247.92 1.87 246.06 4.16 246.06 L109.18 246.06 C111.47 246.06 113.33 247.92 113.33 250.22 L113.33
+ 266.83 C113.33 269.13 111.47 270.98 109.18 270.98 L4.16 270.98 C1.87 270.98 0 269.13 0 266.83 L0 250.22
+ Z" class="st1"/>
+ </g>
+ <g id="shape113-143" v:mID="113" v:groupContext="shape" transform="translate(29.8201,-171.44)">
+ <title>Sheet.113</title>
+ <path d="M0 250.22 C0 247.92 1.67 246.06 3.73 246.06 L97.79 246.06 C99.85 246.06 101.51 247.92 101.51 250.22 L101.51
+ 266.83 C101.51 269.13 99.85 270.98 97.79 270.98 L3.73 270.98 C1.67 270.98 0 269.13 0 266.83 L0 250.22 Z"
+ class="st2"/>
+ </g>
+ <g id="shape114-145" v:mID="114" v:groupContext="shape" transform="translate(32.5663,-174.923)">
+ <title>Sheet.114</title>
+ <desc>Key3: Value = 1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="50.7562" cy="263.792" width="101.52" height="14.3829"/>
+ <path d="M101.51 256.6 L0 256.6 L0 270.98 L101.51 270.98 L101.51 256.6" class="st3"/>
+ <text x="8.29" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key3: Value = 1</text> </g>
+ <g id="shape115-149" v:mID="115" v:groupContext="shape" transform="translate(18,-146.396)">
+ <title>Sheet.115</title>
+ <path d="M0 250.12 C0 247.81 1.88 245.94 4.19 245.94 L109.15 245.94 C111.46 245.94 113.33 247.81 113.33 250.12 L113.33
+ 266.81 C113.33 269.12 111.46 270.98 109.15 270.98 L4.19 270.98 C1.88 270.98 0 269.12 0 266.81 L0 250.12
+ Z" class="st1"/>
+ </g>
+ <g id="shape116-151" v:mID="116" v:groupContext="shape" transform="translate(29.8201,-146.396)">
+ <title>Sheet.116</title>
+ <path d="M0 250.12 C0 247.81 1.68 245.94 3.75 245.94 L97.77 245.94 C99.84 245.94 101.51 247.81 101.51 250.12 L101.51
+ 266.81 C101.51 269.12 99.84 270.98 97.77 270.98 L3.75 270.98 C1.68 270.98 0 269.12 0 266.81 L0 250.12 Z"
+ class="st2"/>
+ </g>
+ <g id="shape117-153" v:mID="117" v:groupContext="shape" transform="translate(32.5663,-149.951)">
+ <title>Sheet.117</title>
+ <desc>Key4: Value = 0</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="50.7562" cy="263.792" width="101.52" height="14.3829"/>
+ <path d="M101.51 256.6 L0 256.6 L0 270.98 L101.51 270.98 L101.51 256.6" class="st3"/>
+ <text x="8.29" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key4: Value = 0</text> </g>
+ <g id="shape118-157" v:mID="118" v:groupContext="shape" transform="translate(18,-121.831)">
+ <title>Sheet.118</title>
+ <path d="M0 250.12 C0 247.81 1.88 245.94 4.19 245.94 L109.15 245.94 C111.46 245.94 113.33 247.81 113.33 250.12 L113.33
+ 266.81 C113.33 269.12 111.46 270.98 109.15 270.98 L4.19 270.98 C1.88 270.98 0 269.12 0 266.81 L0 250.12
+ Z" class="st1"/>
+ </g>
+ <g id="shape119-159" v:mID="119" v:groupContext="shape" transform="translate(29.8201,-121.831)">
+ <title>Sheet.119</title>
+ <path d="M0 250.12 C0 247.81 1.68 245.94 3.75 245.94 L97.77 245.94 C99.84 245.94 101.51 247.81 101.51 250.12 L101.51
+ 266.81 C101.51 269.12 99.84 270.98 97.77 270.98 L3.75 270.98 C1.68 270.98 0 269.12 0 266.81 L0 250.12 Z"
+ class="st2"/>
+ </g>
+ <g id="shape120-161" v:mID="120" v:groupContext="shape" transform="translate(32.5663,-125.388)">
+ <title>Sheet.120</title>
+ <desc>Key7: Value = 1</desc>
+ <v:textBlock v:margins="rect(0,0,0,0)"/>
+ <v:textRect cx="50.7562" cy="263.792" width="101.52" height="14.3829"/>
+ <path d="M101.51 256.6 L0 256.6 L0 270.98 L101.51 270.98 L101.51 256.6" class="st3"/>
+ <text x="8.29" y="267.39" class="st4" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Key7: Value = 1</text> </g>
+ <g id="shape121-165" v:mID="121" v:groupContext="shape" transform="translate(140.517,-148.373)">
+ <title>Sheet.121</title>
+ <path d="M0 236.29 L22.75 236.29 L22.75 224.73 L45.5 247.86 L22.75 270.98 L22.75 259.42 L0 259.42 L0 236.29 Z"
+ class="st6"/>
+ </g>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/eq2_expression.png b/src/seastar/dpdk/doc/guides/prog_guide/img/eq2_expression.png
new file mode 100644
index 00000000..6ffe6c2e
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/eq2_expression.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/eq2_factor.png b/src/seastar/dpdk/doc/guides/prog_guide/img/eq2_factor.png
new file mode 100644
index 00000000..ff8c9019
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/eq2_factor.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ewma_filter_eq_1.png b/src/seastar/dpdk/doc/guides/prog_guide/img/ewma_filter_eq_1.png
new file mode 100644
index 00000000..de6955bf
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ewma_filter_eq_1.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ewma_filter_eq_2.png b/src/seastar/dpdk/doc/guides/prog_guide/img/ewma_filter_eq_2.png
new file mode 100644
index 00000000..465a6e64
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ewma_filter_eq_2.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ex_data_flow_tru_dropper.png b/src/seastar/dpdk/doc/guides/prog_guide/img/ex_data_flow_tru_dropper.png
new file mode 100644
index 00000000..184bc57e
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ex_data_flow_tru_dropper.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/figure32.png b/src/seastar/dpdk/doc/guides/prog_guide/img/figure32.png
new file mode 100644
index 00000000..5215113f
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/figure32.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/figure33.png b/src/seastar/dpdk/doc/guides/prog_guide/img/figure33.png
new file mode 100644
index 00000000..f0670eb0
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/figure33.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/figure34.png b/src/seastar/dpdk/doc/guides/prog_guide/img/figure34.png
new file mode 100644
index 00000000..caa2517a
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/figure34.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/figure35.png b/src/seastar/dpdk/doc/guides/prog_guide/img/figure35.png
new file mode 100644
index 00000000..42053f00
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/figure35.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/figure37.png b/src/seastar/dpdk/doc/guides/prog_guide/img/figure37.png
new file mode 100644
index 00000000..20be4aaa
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/figure37.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/figure38.png b/src/seastar/dpdk/doc/guides/prog_guide/img/figure38.png
new file mode 100644
index 00000000..261c561f
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/figure38.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/figure39.png b/src/seastar/dpdk/doc/guides/prog_guide/img/figure39.png
new file mode 100644
index 00000000..d2db6a49
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/figure39.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/flow_tru_droppper.png b/src/seastar/dpdk/doc/guides/prog_guide/img/flow_tru_droppper.png
new file mode 100644
index 00000000..5c8fe1cc
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/flow_tru_droppper.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/hier_sched_blk.png b/src/seastar/dpdk/doc/guides/prog_guide/img/hier_sched_blk.png
new file mode 100644
index 00000000..876d072c
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/hier_sched_blk.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/kernel_nic_intf.png b/src/seastar/dpdk/doc/guides/prog_guide/img/kernel_nic_intf.png
new file mode 100644
index 00000000..2408cc31
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/kernel_nic_intf.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/kni_traffic_flow.png b/src/seastar/dpdk/doc/guides/prog_guide/img/kni_traffic_flow.png
new file mode 100644
index 00000000..a7e74966
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/kni_traffic_flow.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/linuxapp_launch.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/linuxapp_launch.svg
new file mode 100644
index 00000000..0ac450df
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/linuxapp_launch.svg
@@ -0,0 +1,762 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="715.39966"
+ height="974.03418"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="linuxapp_launch.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/linuxapp_launch.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ version="1.1">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path3253"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3256"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective4899"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6015"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6043"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.89337592"
+ inkscape:cx="400.16263"
+ inkscape:cy="614.41381"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1258"
+ inkscape:window-height="1059"
+ inkscape:window-x="470"
+ inkscape:window-y="13"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid11504"
+ originx="-22.363911px"
+ originy="-49.872292px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-22.363911,-28.455727)">
+ <rect
+ style="fill:#604d92;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2383"
+ width="306.92932"
+ height="972.64362"
+ x="22.963911"
+ y="29.183212"
+ ry="43.684753" />
+ <rect
+ style="fill:#b4acca;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2391"
+ width="191.47"
+ height="972.83417"
+ x="545.69354"
+ y="29.055731"
+ ry="43.693989" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 277.14286,395.62831 280,-2.85714"
+ id="path4074"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#8979b4;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2389"
+ width="191.47"
+ height="972.81195"
+ x="344.11838"
+ y="29.055727"
+ ry="43.692989" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="114.71806"
+ y="46.6479"
+ id="text3163"><tspan
+ sodipodi:role="line"
+ id="tspan3165"
+ x="114.71806"
+ y="46.6479">Master lcore</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="397.4306"
+ y="48.213886"
+ id="text3167"><tspan
+ sodipodi:role="line"
+ id="tspan3169"
+ x="397.4306"
+ y="48.213886">lcore 1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="601.32257"
+ y="48.213886"
+ id="text3171"><tspan
+ sodipodi:role="line"
+ id="tspan3173"
+ x="601.32257"
+ y="48.213886">lcore 2</tspan></text>
+ <rect
+ style="fill:#87838b;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect3168"
+ width="220"
+ height="52.857143"
+ x="66.428574"
+ y="65.219322"
+ ry="26.428572" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="151.26277"
+ y="97.927193"
+ id="text3170"><tspan
+ sodipodi:role="line"
+ id="tspan3172"
+ x="151.26277"
+ y="97.927193">main()</tspan></text>
+ <rect
+ style="fill:#87838b;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect3174"
+ width="218.91513"
+ height="413.35095"
+ x="66.971016"
+ y="142.19034"
+ ry="22.480219" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="124.07087"
+ y="165.26439"
+ id="text3176"><tspan
+ sodipodi:role="line"
+ id="tspan3178"
+ x="124.07087"
+ y="165.26439">rte_eal_init()</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect3180"
+ width="203.60904"
+ height="107.7429"
+ x="74.624046"
+ y="183.37459"
+ ry="26.447386" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="98.615913"
+ y="204.89751"
+ id="text3182"
+ transform="scale(0.96168464,1.0398419)"><tspan
+ sodipodi:role="line"
+ id="tspan3184"
+ x="98.615913"
+ y="204.89751">rte_eal_memory_init()</tspan><tspan
+ sodipodi:role="line"
+ x="98.615913"
+ y="224.89751"
+ id="tspan5208">rte_eal_logs_init()</tspan><tspan
+ sodipodi:role="line"
+ x="98.615913"
+ y="244.89751"
+ id="tspan5212">rte_eal_pci_init()</tspan><tspan
+ sodipodi:role="line"
+ x="98.615913"
+ y="264.89752"
+ id="tspan5210">...</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect3186"
+ width="203.60905"
+ height="52.894772"
+ x="74.624046"
+ y="302.60443"
+ ry="26.447386" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="104.23375"
+ y="333.24323"
+ id="text3188"><tspan
+ sodipodi:role="line"
+ id="tspan3190"
+ x="104.23375"
+ y="333.24323">pthread_create(1)</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect3192"
+ width="203.60905"
+ height="52.894772"
+ x="74.624046"
+ y="363.83432"
+ ry="26.447386" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="103.1144"
+ y="394.47311"
+ id="text3194"><tspan
+ sodipodi:role="line"
+ id="tspan3196"
+ x="103.1144"
+ y="394.47311">pthread_create(2)</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect3210"
+ width="167.98228"
+ height="52.982288"
+ x="355.86224"
+ y="303.42288"
+ ry="26.491144" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="420.80188"
+ y="265.99127"
+ id="text3212"
+ transform="scale(0.9075576,1.1018584)"><tspan
+ sodipodi:role="line"
+ id="tspan3214"
+ x="420.80188"
+ y="265.99127" /></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="375.75665"
+ y="334.62936"
+ id="text3216"><tspan
+ sodipodi:role="line"
+ id="tspan3218"
+ x="375.75665"
+ y="334.62936">per-thread init</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect3220"
+ width="167.98228"
+ height="52.982288"
+ x="355.86224"
+ y="371.99429"
+ ry="26.491144" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="419.4346"
+ y="403.76044"
+ id="text3222"><tspan
+ sodipodi:role="line"
+ id="tspan3224"
+ x="419.4346"
+ y="403.76044">wait</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="377.87292"
+ y="555.20081"
+ id="text3240"><tspan
+ sodipodi:role="line"
+ id="tspan3242"
+ x="377.87292"
+ y="555.20081" /></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 278.57143,327.05689 78.57143,0"
+ id="path3248"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 439.85338,355.62831 0,15.71429"
+ id="path4028"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4036"
+ width="167.98228"
+ height="52.982288"
+ x="557.43738"
+ y="365.56577"
+ ry="26.491144" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="577.33179"
+ y="396.77225"
+ id="text4038"><tspan
+ sodipodi:role="line"
+ id="tspan4040"
+ x="577.33179"
+ y="396.77225">per-thread init</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4042"
+ width="167.98228"
+ height="52.982288"
+ x="557.43738"
+ y="434.13718"
+ ry="26.491144" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="623.0097"
+ y="465.90332"
+ id="text4044"><tspan
+ sodipodi:role="line"
+ id="tspan4046"
+ x="623.0097"
+ y="465.90332">wait</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="579.44806"
+ y="617.34363"
+ id="text4062"><tspan
+ sodipodi:role="line"
+ id="tspan4064"
+ x="579.44806"
+ y="617.34363" /></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 641.42854,417.77117 0,15.71429"
+ id="path4066"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect6679"
+ width="203.60905"
+ height="52.894772"
+ x="74.624046"
+ y="491.46262"
+ ry="26.447386" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="123.98553"
+ y="504.03085"
+ id="text6681"
+ transform="scale(0.96168465,1.0398419)"><tspan
+ sodipodi:role="line"
+ id="tspan6683"
+ x="123.98553"
+ y="504.03085">wait all threads</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 164.14979,669.48699 0,19.22028 477.29708,4.04061 0,38.38579"
+ id="path7745"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 439.85338,691.73772 0,34.34519"
+ id="path7747"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect8791"
+ width="167.98228"
+ height="52.982288"
+ x="355.86224"
+ y="728.88623"
+ ry="26.491144" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="389.93277"
+ y="749.95862"
+ id="text8793"><tspan
+ sodipodi:role="line"
+ id="tspan8795"
+ x="389.93277"
+ y="749.95862">per_lcore_</tspan><tspan
+ sodipodi:role="line"
+ x="389.93277"
+ y="772.45862"
+ id="tspan5168"> app_init()</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect8797"
+ width="167.98228"
+ height="52.982288"
+ x="557.43738"
+ y="732.92682"
+ ry="26.491144" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="590.38855"
+ y="753.99927"
+ id="text8799"><tspan
+ sodipodi:role="line"
+ x="590.38855"
+ y="753.99927"
+ id="tspan8833">per_lcore_</tspan><tspan
+ sodipodi:role="line"
+ x="590.38855"
+ y="776.49927"
+ id="tspan5170"> app_init()</tspan></text>
+ <rect
+ style="fill:#87838b;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect8803"
+ width="220.00066"
+ height="52.788116"
+ x="66.428246"
+ y="697.25879"
+ ry="15.788192" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="78.448273"
+ y="727.84424"
+ id="text8805"><tspan
+ sodipodi:role="line"
+ id="tspan8807"
+ x="78.448273"
+ y="727.84424">rte_eal_mp_wait_lcore()</tspan></text>
+ <rect
+ style="fill:#d3a3a3;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect8815"
+ width="219.87608"
+ height="66.805687"
+ x="66.490532"
+ y="906.68427"
+ ry="14.994844" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="176.6356"
+ y="936.16522"
+ id="text8817"><tspan
+ sodipodi:role="line"
+ id="tspan8819"
+ x="176.6356"
+ y="936.16522">application</tspan><tspan
+ sodipodi:role="line"
+ x="176.6356"
+ y="956.16522"
+ id="tspan10929">...</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect8821"
+ width="167.98228"
+ height="52.982288"
+ x="355.86224"
+ y="805.65778"
+ ry="26.491144" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="417.3515"
+ y="837.36407"
+ id="text8823"><tspan
+ sodipodi:role="line"
+ id="tspan8825"
+ x="417.3515"
+ y="837.36407">wait</tspan></text>
+ <rect
+ style="fill:#a09a9a;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect8827"
+ width="167.98228"
+ height="52.982288"
+ x="557.43738"
+ y="808.68823"
+ ry="26.491144" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="618.36694"
+ y="838.71545"
+ id="text8829"><tspan
+ sodipodi:role="line"
+ id="tspan8831"
+ x="618.36694"
+ y="838.71545">wait</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 439.85338,781.6413 0,24.24366"
+ id="path8837"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 641.42854,785.93445 0,21.97082"
+ id="path9360"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 439.6689,858.91797 0.25253,19.69797 -125.76399,0.50508 0.50508,-142.43151 -27.7792,0"
+ id="path10404"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 440.17397,878.36341 201.02036,-0.75762 0,-15.9099"
+ id="path10927"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 176.42857,117.466 0,25.25382"
+ id="path10931"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 176.42857,235.65385 0,8.5863"
+ id="path10933"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#d3a3a3;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect10949"
+ width="167.16183"
+ height="66.948586"
+ x="356.27246"
+ y="906.61279"
+ ry="15.026918" />
+ <rect
+ style="fill:#d3a3a3;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect10957"
+ width="167.16183"
+ height="66.948586"
+ x="557.84766"
+ y="906.61279"
+ ry="15.026918" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="641.66144"
+ y="935.67499"
+ id="text10965"><tspan
+ sodipodi:role="line"
+ id="tspan10967"
+ x="641.66144"
+ y="935.67499">application</tspan><tspan
+ sodipodi:role="line"
+ x="641.66144"
+ y="958.17499"
+ id="tspan10969">...</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="440.0863"
+ y="935.67499"
+ id="text10971"><tspan
+ sodipodi:role="line"
+ id="tspan10973"
+ x="440.0863"
+ y="935.67499">application</tspan><tspan
+ sodipodi:role="line"
+ x="440.0863"
+ y="958.17499"
+ id="tspan10975">...</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 176.42857,750.13065 0,145.7957"
+ id="path11526"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#87838b;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect11518"
+ width="220.00066"
+ height="52.788116"
+ x="66.428246"
+ y="827.83875"
+ ry="15.788192" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="69.303398"
+ y="858.42419"
+ id="text11520"><tspan
+ sodipodi:role="line"
+ id="tspan11522"
+ x="69.303398"
+ y="858.42419">rte_eal_remote_lauch(app)</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 176.30173,890.61234 0,15.67127"
+ id="path11530"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 176.58157,899.28751 464.54106,0 0,6.9961"
+ id="path11532"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 439.85338,899.28751 0,7.55579"
+ id="path11534"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#87838b;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect11518-9"
+ width="220.00066"
+ height="52.788116"
+ x="67.976265"
+ y="623.56195"
+ ry="15.788192" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="87.641663"
+ y="644.07324"
+ id="text11520-3"><tspan
+ sodipodi:role="line"
+ id="tspan11522-1"
+ x="87.641663"
+ y="644.07324">rte_eal_remote_lauch(</tspan><tspan
+ sodipodi:role="line"
+ x="87.641663"
+ y="664.07324"
+ id="tspan5214"> per_lcore_app_init)</tspan></text>
+ <rect
+ style="fill:#87838b;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect8803-9-8"
+ width="220.00066"
+ height="52.788116"
+ x="67.976265"
+ y="563.67676"
+ ry="15.788192" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="85.033371"
+ y="594.26215"
+ id="text8805-4-4"><tspan
+ sodipodi:role="line"
+ id="tspan8807-7-5"
+ x="85.033371"
+ y="594.26215">other inits (libs, drivers)</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 641.94701,486.88444 0,44.21431 -355.11367,-0.55968"
+ id="path6065"
+ sodipodi:nodetypes="ccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 439.76448,424.90046 0,106.33822"
+ id="path6253"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/m_definition.png b/src/seastar/dpdk/doc/guides/prog_guide/img/m_definition.png
new file mode 100644
index 00000000..d05e8812
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/m_definition.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/malloc_heap.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/malloc_heap.svg
new file mode 100644
index 00000000..d6bcc848
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/malloc_heap.svg
@@ -0,0 +1,1052 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2015>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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"
+ id="svg2985"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ width="983.76233"
+ height="643.91644"
+ sodipodi:docname="malloc_heap_svg.svg">
+ <metadata
+ id="metadata2991">
+ <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="defs2989">
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path4265"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(0.6,0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lstart"
+ style="overflow:visible">
+ <path
+ id="path4259"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(1.1,0,0,1.1,1.1,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend"
+ style="overflow:visible">
+ <path
+ id="path4268"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend"
+ style="overflow:visible">
+ <path
+ id="path4262"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4244"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4268-4"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1-1"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4268-4-8"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1-9"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4268-4-6"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mstart-7"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4265-8"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(0.6,0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1-8"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4268-4-2"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1-2"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4268-4-0"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mstart-5"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4265-7"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(0.6,0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1-5"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4268-4-4"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#30ff00"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1139"
+ id="namedview2987"
+ showgrid="false"
+ inkscape:zoom="0.8"
+ inkscape:cx="346.31962"
+ inkscape:cy="474.02351"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer4"
+ borderlayer="false"
+ fit-margin-top="-100.6"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ showborder="true"
+ inkscape:showpageshadow="false" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="bg"
+ style="display:inline"
+ transform="translate(79.549515,-4.4031235)">
+ <rect
+ style="fill:#d1d1d1;fill-opacity:1;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect13505-6"
+ width="98.575218"
+ height="70.808708"
+ x="328.8374"
+ y="317.09564" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="boxes"
+ style="display:inline"
+ transform="translate(79.549515,-4.4031235)">
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect2996-1"
+ width="187.88171"
+ height="52.881706"
+ x="75.764778"
+ y="5.5253706" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7"
+ width="634.0592"
+ height="73.027374"
+ x="60.830574"
+ y="130.24477" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.02648067;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-4"
+ width="635.80048"
+ height="74.768661"
+ x="62.169655"
+ y="315.43158" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.85834479;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-0"
+ width="886.87543"
+ height="106.64049"
+ x="-48.78373"
+ y="540.24988" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3.13159013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:6.26318017, 3.13159009;stroke-dashoffset:0;display:inline"
+ id="rect2996-1-5"
+ width="223.0157"
+ height="109.20289"
+ x="409.68008"
+ y="420.63235" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.90856051;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5.81712091, 2.90856046;stroke-dashoffset:0;display:inline"
+ id="rect2996-1-5-4"
+ width="191.98872"
+ height="109.42592"
+ x="644.63062"
+ y="419.66205" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.08755708;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.17511403, 2.08755702;stroke-dashoffset:0;display:inline"
+ id="rect2996-1-5-4-6"
+ width="154.05972"
+ height="70.246925"
+ x="678.59509"
+ y="214.87654" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="blue headers"
+ style="display:inline"
+ transform="translate(79.549515,-4.4031235)">
+ <rect
+ style="fill:#749aba;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.85091281;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9"
+ width="16.994427"
+ height="73.79715"
+ x="59.561817"
+ y="129.601" />
+ <rect
+ style="fill:#749aba;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.83000004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-4"
+ width="17.015339"
+ height="72.050293"
+ x="384.61731"
+ y="130.22485" />
+ <rect
+ style="fill:#749aba;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.86642051;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-8"
+ width="16.978918"
+ height="75.107468"
+ x="261.76944"
+ y="315.16946" />
+ <rect
+ style="fill:#749aba;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.36914372;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-82"
+ width="48.412117"
+ height="14.17484"
+ x="-42.956367"
+ y="549.14984" />
+ <rect
+ style="fill:#97ffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.83000004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-4-1"
+ width="17.015339"
+ height="72.050293"
+ x="241.39912"
+ y="131.17525" />
+ <rect
+ style="fill:#97ffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.36399999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-4-1-3"
+ width="16.981569"
+ height="74.882637"
+ x="568.40881"
+ y="315.33447" />
+ <rect
+ style="fill:#97ffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.95599997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-4-1-3-7"
+ width="49.319912"
+ height="12.752681"
+ x="-43.016232"
+ y="595.7439" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="red headers"
+ style="display:inline"
+ transform="translate(79.549515,-4.4031235)">
+ <rect
+ style="fill:#ff7b6d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.83000004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45"
+ width="17.015339"
+ height="72.050293"
+ x="501.49307"
+ y="130.29137" />
+ <rect
+ style="fill:#ff7b6d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.84049058;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-5"
+ width="17.004848"
+ height="72.923683"
+ x="678.04279"
+ y="130.29662" />
+ <rect
+ style="fill:#ff7b6d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.85091281;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-1"
+ width="16.994427"
+ height="73.79715"
+ x="681.8158"
+ y="316.14957" />
+ <rect
+ style="fill:#ff7b6d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.86126781;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-7"
+ width="16.984072"
+ height="74.670677"
+ x="500.62485"
+ y="315.92252" />
+ <rect
+ style="fill:#ff7b6d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.82472873;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-11"
+ width="17.020611"
+ height="71.613625"
+ x="175.33748"
+ y="131.40486" />
+ <rect
+ style="fill:#ff7b6d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.86642051;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-52"
+ width="16.978918"
+ height="75.107468"
+ x="62.221222"
+ y="315.0412" />
+ <rect
+ style="fill:#ff7b6d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.39574718;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-76"
+ width="48.805244"
+ height="14.612387"
+ x="-42.996674"
+ y="572.61749" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer9"
+ inkscape:label="unused space"
+ style="display:inline"
+ transform="translate(79.549515,-4.4031235)">
+ <rect
+ style="fill:#dddddd;fill-opacity:1;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect13505"
+ width="98.575218"
+ height="70.808708"
+ x="402.22061"
+ y="131.06841" />
+ <rect
+ style="fill:#dddddd;fill-opacity:1;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect13505-8"
+ width="96.700218"
+ height="70.808708"
+ x="77.587402"
+ y="131.47064" />
+ <rect
+ style="fill:#dddddd;fill-opacity:1;stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
+ id="rect13505-5"
+ width="220.21585"
+ height="72.839958"
+ x="279.26709"
+ y="316.08002" />
+ <rect
+ style="fill:#dddddd;fill-opacity:1;stroke:#000000;stroke-width:1.12016988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
+ id="rect13505-59"
+ width="51.879829"
+ height="15.10388"
+ x="445.6301"
+ y="550.76691" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1.12016988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
+ id="rect13505-59-3"
+ width="51.879829"
+ height="15.10388"
+ x="445.62964"
+ y="574.00262" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer8"
+ inkscape:label="pad headers"
+ style="display:inline"
+ transform="translate(79.549515,-4.4031235)">
+ <rect
+ style="fill:#fffec5;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-7-3"
+ width="49.88493"
+ height="73.447571"
+ x="518.21405"
+ y="316.16635" />
+ <rect
+ style="fill:#fffec5;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.86126781;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-7-3-2"
+ width="16.98407"
+ height="74.670677"
+ x="245.17551"
+ y="315.48059" />
+ <rect
+ style="fill:#fffec5;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.02099991;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-7-3-4"
+ width="49.474121"
+ height="72.084908"
+ x="193.07074"
+ y="130.93698" />
+ <rect
+ style="fill:#fffec5;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ id="rect2996-1-7-9-45-7-3-6"
+ width="51.75993"
+ height="14.072571"
+ x="445.05756"
+ y="596.40125" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="arrows"
+ style="display:inline"
+ transform="translate(79.549515,-4.4031235)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:9, 9;stroke-dashoffset:0;marker-mid:none;marker-end:url(#Arrow2Mend)"
+ d="m 262.87951,51.152779 c 0,0 148.12631,-3.276651 187.01718,76.272861"
+ id="path3973"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 681.9161,128.72302 c -22.09709,-49.497478 -148.13393,-45.873109 -179.42835,0"
+ id="path3988"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="M 386.69903,129.58525 C 361.95029,80.971668 231.48641,62.20327 177.21864,130.46914"
+ id="path3990"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 60.546017,172.89554 c 0,0 -32.703692,23.86486 -60.10407166,-3.53553"
+ id="path3992"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="m 176.82896,203.22242 c -47.24941,74.32926 -107.438064,49.90804 -116.0476,3.53553"
+ id="path4035"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="m 502.04581,203.43962 c -25.63262,33.58757 -82.31601,45.11485 -116.67261,2.65165"
+ id="path4037"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="M 763.23339,214.04621 C 748.83403,184.37018 738.54555,166.795 699.15183,161.8971"
+ id="path4039"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-mid:none;marker-end:url(#Arrow2Mend-1)"
+ d="m 769.42057,285.19885 c -0.88389,83.96892 -68.50098,75.57203 -68.50098,75.57203"
+ id="path4041"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="M 682.35804,313.04117 C 652.306,280.33749 539.16892,270.61477 501.16193,313.92506"
+ id="path4043"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:9, 9;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)"
+ d="m 415.42523,202.55574 c 0,36.23922 -4.41941,88.38835 -35.35533,109.60155"
+ id="path4045"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:9, 9;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)"
+ d="M 375.65048,315.69282 C 336.75961,232.60777 166.1701,311.27341 143.18912,205.20739"
+ id="path4047"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="M 263.39727,315.69282 C 245.7196,288.29244 86.62058,275.91807 62.755726,313.04117"
+ id="path4051"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 61.790091,352.05822 c -25.819377,20.1091 -49.573204,20.1091 -61.96650422,1.43636"
+ id="path4053"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.54999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.65, 7.65;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)"
+ d="m 448.12892,630.25126 48.61359,0"
+ id="path5241"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.09116507px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);display:inline"
+ d="m -39.741559,626.33548 c 10.599699,-0.12345 25.528414,-0.12564 43.719789,-0.81161"
+ id="path4053-2"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="m 499.39416,389.93904 c -46.84583,17.67767 -206.82873,31.8198 -238.64854,1.76776"
+ id="path13236"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1);display:inline"
+ d="m 502.12201,419.58783 c 2.37436,-10.40132 1.73096,-5.65101 4.38262,-26.86421"
+ id="path4043-4"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart);marker-end:url(#Arrow2Mend-1);display:inline"
+ d="m 517.94842,353.38466 c 19.7099,0 43.91577,-0.61421 66.57012,-0.61421"
+ id="path4043-4-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart);marker-end:url(#Arrow2Mend-1);display:inline"
+ d="m 501.71494,363.4321 c 19.7099,0 157.04077,-0.61421 179.69512,-0.61421"
+ id="path4043-4-3-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1);display:inline"
+ d="M 728.67747,419.79091 C 702.92683,395.63959 592.90843,427.2649 577.43509,389.1767"
+ id="path4043-4-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart);marker-end:url(#Arrow2Mend-1);display:inline"
+ d="m 60.975741,169.05711 c 19.709901,0 90.307569,-0.61421 112.961919,-0.61421"
+ id="path4043-4-3-9-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer7"
+ inkscape:label="text"
+ style="display:inline"
+ transform="translate(79.549515,-4.4031235)">
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="90.732231"
+ y="36.767765"
+ id="text10506"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508"
+ x="90.732231"
+ y="36.767765"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">struct malloc_heap</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="580.66718"
+ y="107.47876"
+ id="text10506-2"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1"
+ x="580.66718"
+ y="107.47876"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="438.12686"
+ y="223.50792"
+ id="text10506-2-5"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-7"
+ x="438.12686"
+ y="223.50792"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="581.31598"
+ y="298.638"
+ id="text10506-2-61"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-89"
+ x="581.31598"
+ y="298.638"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="274.6084"
+ y="99.764236"
+ id="text10506-2-2"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-79"
+ x="274.6084"
+ y="99.764236"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="301.12491"
+ y="423.26556"
+ id="text10506-2-54"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-3"
+ x="301.12491"
+ y="423.26556"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="133.18704"
+ y="303.94128"
+ id="text10506-2-1"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-2"
+ x="133.18704"
+ y="303.94128"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="16.340637"
+ y="561.27954"
+ id="text10506-2-3"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-34"
+ x="16.340637"
+ y="561.27954"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Free element header(struct malloc_elem, state = FREE)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="16.996887"
+ y="583.24792"
+ id="text10506-2-3-1"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-34-1"
+ x="16.996887"
+ y="583.24792"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Used element header(struct malloc_elem, state = BUSY)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="108.84206"
+ y="161.39597"
+ id="text10506-2-6-8"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-7"
+ x="108.84206"
+ y="161.39597"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">size</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="62.299515"
+ y="119.27286"
+ id="text10506-2-6-4"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-2"
+ x="62.299515"
+ y="119.27286"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Memseg 0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="63.905106"
+ y="406.73242"
+ id="text10506-2-6-4-7"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-2-7"
+ x="63.905106"
+ y="406.73242"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Memseg 1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="-25.028084"
+ y="192.57199"
+ id="text10506-2-9"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-31"
+ x="-25.028084"
+ y="192.57199"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="-26.795866"
+ y="379.95526"
+ id="text10506-2-98"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-6"
+ x="-26.795866"
+ y="379.95526"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="416.73682"
+ y="269.53305"
+ id="text10506-2-6-5"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-0"
+ x="416.73682"
+ y="269.53305"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">next_free</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="228.00418"
+ y="259.55359"
+ id="text10506-2-6-5-2"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-0-8"
+ x="228.00418"
+ y="259.55359"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">next_free</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="356.16727"
+ y="55.376503"
+ id="text10506-2-6-5-6"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-0-0"
+ x="356.16727"
+ y="55.376503"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">free_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="49.218113"
+ y="254.00189"
+ id="text10506-2-9-0"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-31-9"
+ x="49.218113"
+ y="254.00189"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">prev</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="690.51538"
+ y="236.82936"
+ id="text10506-2-6-0"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-06"
+ x="690.51538"
+ y="236.82936"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Dummy Elements:</tspan><tspan
+ sodipodi:role="line"
+ x="690.51538"
+ y="256.02936"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan13581">Size = 0</tspan><tspan
+ sodipodi:role="line"
+ x="690.51538"
+ y="275.22937"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan13583">State = BUSY</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="541.03906"
+ y="347.20566"
+ id="text10506-2-6-8-8"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-7-9"
+ x="541.03906"
+ y="347.20566"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">pad</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="16.661926"
+ y="605.21631"
+ id="text10506-2-3-1-4"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-34-1-4"
+ x="16.661926"
+ y="605.21631"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Pad element header(struct malloc_elem, state = PAD)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="17.290833"
+ y="627.77881"
+ id="text10506-2-3-1-6"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-34-1-0"
+ x="17.290833"
+ y="627.77881"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Generic element pointers</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="429.11118"
+ y="449.84528"
+ id="text10506-2-6-6"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ x="429.11118"
+ y="449.84528"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan13711">Malloc element header:</tspan><tspan
+ sodipodi:role="line"
+ x="429.11118"
+ y="469.04529"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan13713">state = BUSY</tspan><tspan
+ sodipodi:role="line"
+ x="429.11118"
+ y="488.24527"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan13715">size = &lt;size&gt;</tspan><tspan
+ sodipodi:role="line"
+ x="429.11118"
+ y="507.44528"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan13717">pad = &lt;padsize&gt;</tspan></text>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot13719"
+ style="font-size:40px;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"><flowRegion
+ id="flowRegion13721"><rect
+ id="rect13723"
+ width="968.73627"
+ height="188.26718"
+ x="-81.317276"
+ y="460.64972" /></flowRegion><flowPara
+ id="flowPara13725"></flowPara></flowRoot> <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="594.30859"
+ y="378.91797"
+ id="text10506-2-6-8-8-1"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-8-7-9-3"
+ x="594.30859"
+ y="378.91797"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">size</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="505.86865"
+ y="563.34613"
+ id="text10506-2-3-1-6-8"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-34-1-0-4"
+ x="505.86865"
+ y="563.34613"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Free / Unallocated data space</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="660.39099"
+ y="449.92532"
+ id="text10506-2-6-6-0"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ x="660.39099"
+ y="449.92532"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan14527">Pad element header:</tspan><tspan
+ sodipodi:role="line"
+ x="660.39099"
+ y="469.12534"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan14531">state = PAD</tspan><tspan
+ sodipodi:role="line"
+ x="660.39099"
+ y="488.32532"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas"
+ id="tspan14533">pad = padsize</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="506.5249"
+ y="584.28369"
+ id="text10506-2-3-1-6-8-7"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-34-1-0-4-2"
+ x="506.5249"
+ y="584.28369"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Used / allocated data space</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:120.00000477%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
+ x="506.18994"
+ y="605.30322"
+ id="text10506-2-3-1-6-8-7-0"
+ sodipodi:linespacing="120%"><tspan
+ sodipodi:role="line"
+ id="tspan10508-1-34-1-0-4-2-1"
+ x="506.18994"
+ y="605.30322"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:start;font-family:Consolas;-inkscape-font-specification:Consolas">Padding / unavailable space</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/mbuf1.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/mbuf1.svg
new file mode 100644
index 00000000..5bd84d1b
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/mbuf1.svg
@@ -0,0 +1,582 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# BSD LICENSE
+#
+# Copyright (c) <2010 - 2014>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="631.91431"
+ height="288.34286"
+ id="svg3868"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="mbuf1.svg"
+ sodipodi:version="0.32"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3870">
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path4530"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4533"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <linearGradient
+ id="linearGradient4513">
+ <stop
+ style="stop-color:#fdffdb;stop-opacity:1;"
+ offset="0"
+ id="stop4515" />
+ <stop
+ style="stop-color:#dfe2d8;stop-opacity:0;"
+ offset="1"
+ id="stop4517" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3876" />
+ <inkscape:perspective
+ id="perspective3886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3211"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3892"
+ style="overflow:visible">
+ <path
+ id="path3894"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3896"
+ style="overflow:visible">
+ <path
+ id="path3898"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path3208"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3902"
+ style="overflow:visible">
+ <path
+ id="path3904"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3906"
+ style="overflow:visible">
+ <path
+ id="path3908"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3910"
+ style="overflow:visible">
+ <path
+ id="path3912"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4086"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4113"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4513"
+ id="linearGradient4519"
+ x1="47.142857"
+ y1="244.50504"
+ x2="677.85718"
+ y2="244.50504"
+ gradientUnits="userSpaceOnUse" />
+ <inkscape:perspective
+ id="perspective5195"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-4"
+ style="overflow:visible">
+ <path
+ id="path4533-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5272"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-4"
+ style="overflow:visible">
+ <path
+ id="path4530-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-0"
+ style="overflow:visible">
+ <path
+ id="path4533-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5317"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-3"
+ style="overflow:visible">
+ <path
+ id="path4530-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-06"
+ style="overflow:visible">
+ <path
+ id="path4533-1"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8231676"
+ inkscape:cx="315.95715"
+ inkscape:cy="144.17143"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1910"
+ inkscape:window-height="1170"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata3873">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-46.542857,-100.33361)">
+ <rect
+ style="fill:url(#linearGradient4519);fill-opacity:1;stroke:#000000;stroke-opacity:1"
+ id="rect3697"
+ width="630.71429"
+ height="287.14285"
+ x="47.142857"
+ y="100.93361"
+ rx="6.757"
+ ry="6.757" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.26876688;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2896"
+ width="308.0022"
+ height="58.000771"
+ x="253.55229"
+ y="197.48174"
+ ry="11.60514"
+ rx="11.60514"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112" />
+ <rect
+ style="fill:#b93a3a;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect2898"
+ width="174.71004"
+ height="58.000679"
+ x="349.47122"
+ y="197.48174"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ rx="8.5874939"
+ ry="8.5874939" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 357.26687,268.98771 c 141.42583,0 105.6555,0 164.91182,0"
+ id="path2904"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.26876688;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2910"
+ width="60.59267"
+ height="51.656937"
+ x="255.93231"
+ y="200.90929"
+ ry="8.5874939"
+ rx="8.5874939"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112" />
+ <text
+ xml:space="preserve"
+ style="font-size:15.22520161px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="468.47687"
+ y="376.4664"
+ id="text2912"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"><tspan
+ sodipodi:role="line"
+ x="468.47687"
+ y="376.4664"
+ id="tspan2916"
+ style="font-weight:bold">struct rte_mbuf </tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+ d="M 270.40246,239.43649 C 273.9494,287.74619 176.1143,278.684 176.1143,278.684"
+ id="path2974"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+ d="m 339.73824,127.0486 c 18.96656,9.93299 12.80457,67.17793 12.80457,67.17793"
+ id="path2976"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:15.22520161px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="99.327995"
+ y="317.25745"
+ id="text2978"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"><tspan
+ sodipodi:role="line"
+ x="99.327995"
+ y="317.25745"
+ id="tspan3006" /></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+ d="m 263.28446,331.99662 c 39.26122,1.88113 54.28327,-61.82392 54.28327,-61.82392"
+ id="path2974-8"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="187.85715"
+ y="335.2193"
+ id="text5215"><tspan
+ sodipodi:role="line"
+ id="tspan5217"
+ x="187.85715"
+ y="335.2193">m-&gt;buf_addr</tspan><tspan
+ sodipodi:role="line"
+ x="187.85715"
+ y="347.7193"
+ id="tspan5240">(m-&gt;buf_physaddr is the</tspan><tspan
+ sodipodi:role="line"
+ x="187.85715"
+ y="360.2193"
+ id="tspan5242">corresponding physical address)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="249.28572"
+ y="119.50503"
+ id="text5219"><tspan
+ sodipodi:role="line"
+ x="249.28572"
+ y="119.50503"
+ id="tspan5223">rte_pktmbuf_mtod(m)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="271.42859"
+ y="210.93361"
+ id="text5248"><tspan
+ sodipodi:role="line"
+ id="tspan5250"
+ x="271.42859"
+ y="210.93361">mbuf</tspan><tspan
+ sodipodi:role="line"
+ x="271.42859"
+ y="223.43361"
+ id="tspan5252">struct</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="59.842155"
+ y="282.37683"
+ id="text5254"><tspan
+ sodipodi:role="line"
+ id="tspan5256"
+ x="59.842155"
+ y="282.37683">m-&gt;pkt.next = NULL</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="372.14285"
+ y="282.64789"
+ id="text5258"><tspan
+ sodipodi:role="line"
+ id="tspan5260"
+ x="372.14285"
+ y="282.64789">rte_pktmbuf_pktlen(m)</tspan><tspan
+ sodipodi:role="line"
+ x="372.14285"
+ y="295.14789"
+ id="tspan5262">or rte_pktmbuf_datalen(m)</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 323.25837,215.46035 c 141.42583,0 -35.05878,0 24.19754,0"
+ id="path2904-6"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="319.56296"
+ y="231.04784"
+ id="text5258-1"><tspan
+ sodipodi:role="line"
+ x="319.56296"
+ y="231.04784"
+ id="tspan5262-6">headroom</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 526.20982,215.46035 c 141.42583,0 -25.77306,0 33.48326,0"
+ id="path2904-6-5"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="525.0144"
+ y="231.04784"
+ id="text5258-1-5"><tspan
+ sodipodi:role="line"
+ x="525.0144"
+ y="231.04784"
+ id="tspan5262-6-4">tailroom</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 2;stroke-dashoffset:0"
+ d="m 318.57143,197.71932 0,69.28572"
+ id="path7127"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/mbuf2.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/mbuf2.svg
new file mode 100644
index 00000000..347b9b12
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/mbuf2.svg
@@ -0,0 +1,1262 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# BSD LICENSE
+#
+# Copyright (c) <2010 - 2014>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="631.91431"
+ height="288.34286"
+ id="svg3868"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="mbuf2.svg"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf2.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ sodipodi:version="0.32"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3870">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3876" />
+ <inkscape:perspective
+ id="perspective3886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3211"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3892"
+ style="overflow:visible">
+ <path
+ id="path3894"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3896"
+ style="overflow:visible">
+ <path
+ id="path3898"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path3208"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3902"
+ style="overflow:visible">
+ <path
+ id="path3904"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3906"
+ style="overflow:visible">
+ <path
+ id="path3908"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3910"
+ style="overflow:visible">
+ <path
+ id="path3912"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4086"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4113"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4304"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path3211-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart-6"
+ style="overflow:visible">
+ <path
+ id="path3208-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4312"
+ style="overflow:visible">
+ <path
+ id="path4314"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4316"
+ style="overflow:visible">
+ <path
+ id="path4318"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4320"
+ style="overflow:visible">
+ <path
+ id="path4322"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4304-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-8"
+ style="overflow:visible">
+ <path
+ id="path3211-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart-4"
+ style="overflow:visible">
+ <path
+ id="path3208-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4312-1"
+ style="overflow:visible">
+ <path
+ id="path4314-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4316-9"
+ style="overflow:visible">
+ <path
+ id="path4318-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4320-0"
+ style="overflow:visible">
+ <path
+ id="path4322-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4456"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-2"
+ style="overflow:visible">
+ <path
+ id="path3211-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4484"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4509"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-61"
+ style="overflow:visible">
+ <path
+ id="path3211-59"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4558"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3279"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart-9"
+ style="overflow:visible">
+ <path
+ id="path3208-31"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path3211-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3313"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3338"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5616"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path4530"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4533"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5624"
+ style="overflow:visible">
+ <path
+ id="path5626"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5628"
+ style="overflow:visible">
+ <path
+ id="path5630"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5632"
+ style="overflow:visible">
+ <path
+ id="path5634"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5636"
+ style="overflow:visible">
+ <path
+ id="path5638"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5640"
+ style="overflow:visible">
+ <path
+ id="path5642"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5644"
+ style="overflow:visible">
+ <path
+ id="path5646"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5648"
+ style="overflow:visible">
+ <path
+ id="path5650"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4513"
+ id="linearGradient4519"
+ x1="47.142857"
+ y1="244.50504"
+ x2="677.85718"
+ y2="244.50504"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient4513">
+ <stop
+ style="stop-color:#fdffdb;stop-opacity:1;"
+ offset="0"
+ id="stop4515" />
+ <stop
+ style="stop-color:#dfe2d8;stop-opacity:0;"
+ offset="1"
+ id="stop4517" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(17.806842,326.00779)"
+ y2="244.50504"
+ x2="677.85718"
+ y1="244.50504"
+ x1="47.142857"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5687"
+ xlink:href="#linearGradient4513"
+ inkscape:collect="always" />
+ <inkscape:perspective
+ id="perspective6744"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-4"
+ style="overflow:visible">
+ <path
+ id="path4533-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6772"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-5"
+ style="overflow:visible">
+ <path
+ id="path4533-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6802"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-44"
+ style="overflow:visible">
+ <path
+ id="path4533-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6830"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-7"
+ style="overflow:visible">
+ <path
+ id="path4533-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6864"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6889"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6926"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-9"
+ style="overflow:visible">
+ <path
+ id="path4533-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6963"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6995"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-9"
+ style="overflow:visible">
+ <path
+ id="path4530-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-0"
+ style="overflow:visible">
+ <path
+ id="path4533-48"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7029"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-1"
+ style="overflow:visible">
+ <path
+ id="path4530-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-2"
+ style="overflow:visible">
+ <path
+ id="path4533-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7074"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-6"
+ style="overflow:visible">
+ <path
+ id="path4530-1"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-59"
+ style="overflow:visible">
+ <path
+ id="path4533-49"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7074-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-7"
+ style="overflow:visible">
+ <path
+ id="path4530-11"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597"
+ style="overflow:visible">
+ <path
+ id="path4533-76"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.979899"
+ inkscape:cx="335.62533"
+ inkscape:cy="102.43492"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ inkscape:window-x="1592"
+ inkscape:window-y="285"
+ inkscape:window-maximized="1"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata3873">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-64.349699,-426.34141)">
+ <rect
+ style="fill:url(#linearGradient5687);fill-opacity:1;stroke:#000000;stroke-opacity:1"
+ id="rect3697"
+ width="630.71429"
+ height="287.14285"
+ x="64.949699"
+ y="426.94141"
+ rx="6.757"
+ ry="6.757" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.73872942;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2896"
+ width="179.33183"
+ height="33.770489"
+ x="111.0281"
+ y="537.48676"
+ ry="6.7570004"
+ rx="6.7570004"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200" />
+ <rect
+ style="fill:#b93a3a;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect2898"
+ width="119.42986"
+ height="33.770508"
+ x="169.26131"
+ y="537.48676"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ rx="4.3271284"
+ ry="5" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.73872942;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2910"
+ width="35.279602"
+ height="30.076841"
+ x="113.57833"
+ y="539.33356"
+ ry="5"
+ rx="5"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker5648)"
+ d="m 125.12469,563.52674 c 2.06519,75.98508 108.79908,120.50695 185.10147,9.9944"
+ id="path2974"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.73872942;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2896-3"
+ width="179.33183"
+ height="33.770489"
+ x="304.61978"
+ y="537.48676"
+ ry="6.7570004"
+ rx="6.7570004"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200" />
+ <rect
+ style="fill:#b93a3a;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect2898-7"
+ width="137.28705"
+ height="33.770508"
+ x="344.99582"
+ y="537.48676"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ rx="5"
+ ry="5" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.73872942;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2910-7"
+ width="35.279602"
+ height="30.076841"
+ x="307.17001"
+ y="539.33356"
+ ry="5"
+ rx="5"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.73872942;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2896-8"
+ width="179.33183"
+ height="33.770489"
+ x="496.04834"
+ y="537.48676"
+ ry="6.7570004"
+ rx="6.7570004"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200" />
+ <rect
+ style="fill:#b93a3a;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect2898-9"
+ width="101.5728"
+ height="33.770508"
+ x="534.99585"
+ y="537.48676"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ rx="5"
+ ry="5" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.73872942;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2910-5"
+ width="35.279602"
+ height="30.076841"
+ x="498.59857"
+ y="539.33356"
+ ry="5"
+ rx="5"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker5648)"
+ d="m 323.19397,564.19918 c 2.06519,75.98508 173.08478,89.07838 185.10146,9.9944"
+ id="path2974-6"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker5648)"
+ d="m 519.12036,562.95397 c 4.39975,33.26738 10.7052,43.94422 27.24434,62.13727"
+ id="path2976-1-4"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:15.22520161px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="424.78918"
+ y="702.44879"
+ id="text2912"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"><tspan
+ sodipodi:role="line"
+ x="424.78918"
+ y="702.44879"
+ id="tspan2916"
+ style="font-weight:bold">multi-segmented rte_mbuf</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+ d="m 119.23004,564.01527 c 101.10943,109.21871 189.23315,8.60651 189.23315,8.60651"
+ id="path2976-3-7"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+ d="m 312.98114,565.49459 c 101.10943,109.21871 189.23315,8.60651 189.23315,8.60651"
+ id="path2976-3-7-0"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+ d="m 509.59959,565.53369 c -3.54694,48.3097 82.1453,49.9618 82.1453,49.9618"
+ id="path2974-9-6"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="527.19458"
+ y="628.45935"
+ id="text5254-8"><tspan
+ sodipodi:role="line"
+ id="tspan5256-8"
+ x="527.19458"
+ y="628.45935">m-&gt;pkt.next = NULL</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="330.50363"
+ y="628.45935"
+ id="text5254-8-4"><tspan
+ sodipodi:role="line"
+ id="tspan5256-8-3"
+ x="330.50363"
+ y="628.45935">m-&gt;pkt.next = mseg3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="144.79388"
+ y="628.45935"
+ id="text5254-8-4-1"><tspan
+ sodipodi:role="line"
+ id="tspan5256-8-3-4"
+ x="144.79388"
+ y="628.45935">m-&gt;pkt.next = mseg2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="113.85714"
+ y="529.92017"
+ id="text6906"><tspan
+ sodipodi:role="line"
+ id="tspan6908"
+ x="113.85714"
+ y="529.92017">m</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="310.42856"
+ y="529.79077"
+ id="text6910"><tspan
+ sodipodi:role="line"
+ id="tspan6912"
+ x="310.42856"
+ y="529.79077">mseg2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="501.85715"
+ y="529.79077"
+ id="text6914"><tspan
+ sodipodi:role="line"
+ id="tspan6916"
+ x="501.85715"
+ y="529.79077">mseg3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+ d="m 158.74072,504.12577 c 12.53799,12.07585 14.94743,31.46365 14.94743,31.46365"
+ id="path2976-3-0"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="78.793297"
+ y="498.27075"
+ id="text5219-6"><tspan
+ sodipodi:role="line"
+ x="78.793297"
+ y="498.27075"
+ id="tspan5223-9">rte_pktmbuf_mtod(m)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10.48159599px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="233.53358"
+ y="470.28363"
+ id="text5258-2"
+ transform="scale(1.0481596,0.95405318)"><tspan
+ sodipodi:role="line"
+ x="233.53358"
+ y="470.28363"
+ id="tspan5262-64">rte_pktmbuf_pktlen(m) = rte_pktmbuf_datalen(m) +</tspan><tspan
+ sodipodi:role="line"
+ x="233.53358"
+ y="483.38562"
+ id="tspan6985"> rte_pktmbuf_datalen(mseg2) + rte_pktmbuf_datalen(mseg3)</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 173.97266,470.21933 c 141.42583,0 391.36979,0 450.62611,0"
+ id="path2904-5-7"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 175.25836,577.20906 c 141.42583,0 49.22693,0 108.48325,0"
+ id="path2904-5-2"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="153.42009"
+ y="590.86926"
+ id="text5258-26"><tspan
+ sodipodi:role="line"
+ x="153.42009"
+ y="590.86926"
+ id="tspan5262-0">rte_pktmbuf_datalen(m)</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 348.97266,577.20906 c 141.42583,0 69.22693,0 128.48325,0"
+ id="path2904-5-2-0"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="345.56296"
+ y="590.86926"
+ id="text5258-26-9"><tspan
+ sodipodi:role="line"
+ x="345.56296"
+ y="590.86926"
+ id="tspan5262-0-1">rte_pktmbuf_datalen(m)</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.26900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 539.68695,577.20906 c 141.42582,0 33.51263,0 92.76895,0"
+ id="path2904-5-2-7"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="537.1344"
+ y="590.86926"
+ id="text5258-26-3"><tspan
+ sodipodi:role="line"
+ x="537.1344"
+ y="590.86926"
+ id="tspan5262-0-6">rte_pktmbuf_datalen(m)</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/memory-management.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/memory-management.svg
new file mode 100644
index 00000000..3dbd5260
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/memory-management.svg
@@ -0,0 +1,2164 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="717.5954"
+ height="165.08948"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="memory-management.svg"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/memory-management.png"
+ inkscape:export-xdpi="112.90476"
+ inkscape:export-ydpi="112.90476">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path4669"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4672"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4666"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective3600"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-10"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-76"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-45"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-47"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-43"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-78"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-14"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-068"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-50"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-71"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3824-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4093"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4288"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4288-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4344"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4369"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4394"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4394-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4394-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-80"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4521"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4521-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4521-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4568"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4568-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4568-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4615"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4615-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4615-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5304"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-1"
+ style="overflow:visible">
+ <path
+ id="path4672-1"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5338"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-0"
+ style="overflow:visible">
+ <path
+ id="path4672-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5366"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5391"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-6"
+ style="overflow:visible">
+ <path
+ id="path4672-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5711"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5800"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5970"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.49497475"
+ inkscape:cx="302.43951"
+ inkscape:cy="258.00849"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1059"
+ inkscape:window-x="672"
+ inkscape:window-y="41"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-9.3094651,-454.23034)">
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590"
+ width="28.148262"
+ height="14.074131"
+ x="79.394798"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-9"
+ width="28.148262"
+ height="14.074131"
+ x="107.54305"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-3"
+ width="28.148262"
+ height="14.074131"
+ x="135.6913"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-94"
+ width="28.148262"
+ height="14.074131"
+ x="163.83957"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-8"
+ width="28.148262"
+ height="14.074131"
+ x="191.98785"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-5"
+ width="28.148262"
+ height="14.074131"
+ x="220.13611"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-36"
+ width="28.148262"
+ height="14.074131"
+ x="248.28436"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-6"
+ width="28.148262"
+ height="14.074131"
+ x="276.43262"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-2"
+ width="28.148262"
+ height="14.074131"
+ x="304.5809"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-1"
+ width="28.148262"
+ height="14.074131"
+ x="332.72913"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-54"
+ width="28.148262"
+ height="14.074131"
+ x="360.87741"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-56"
+ width="28.148262"
+ height="14.074131"
+ x="389.02563"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-37"
+ width="28.148262"
+ height="14.074131"
+ x="417.17392"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-25"
+ width="28.148262"
+ height="14.074131"
+ x="445.32217"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-4"
+ width="28.148262"
+ height="14.074131"
+ x="473.47043"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-0"
+ width="28.148262"
+ height="14.074131"
+ x="501.61871"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-68"
+ width="28.148262"
+ height="14.074131"
+ x="529.76697"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-43"
+ width="28.148262"
+ height="14.074131"
+ x="557.91522"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-92"
+ width="28.148262"
+ height="14.074131"
+ x="586.06348"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-926"
+ width="28.148262"
+ height="14.074131"
+ x="614.21173"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-49"
+ width="28.148262"
+ height="14.074131"
+ x="642.35999"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-48"
+ width="28.148262"
+ height="14.074131"
+ x="670.50824"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-7"
+ width="28.148262"
+ height="14.074131"
+ x="698.65656"
+ y="499.4122"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-67"
+ width="28.148262"
+ height="14.074131"
+ x="79.394798"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-9-3"
+ width="28.148262"
+ height="14.074131"
+ x="107.54305"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-3-6"
+ width="28.148262"
+ height="14.074131"
+ x="135.6913"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-94-5"
+ width="28.148262"
+ height="14.074131"
+ x="163.83957"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-8-6"
+ width="28.148262"
+ height="14.074131"
+ x="191.98785"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-5-3"
+ width="28.148262"
+ height="14.074131"
+ x="220.13611"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-36-9"
+ width="28.148262"
+ height="14.074131"
+ x="248.28438"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-6-4"
+ width="28.148262"
+ height="14.074131"
+ x="276.43262"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-2-8"
+ width="28.148262"
+ height="14.074131"
+ x="304.58087"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-1-1"
+ width="28.148262"
+ height="14.074131"
+ x="332.72913"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-54-2"
+ width="28.148262"
+ height="14.074131"
+ x="360.87741"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-56-9"
+ width="28.148262"
+ height="14.074131"
+ x="389.02563"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-37-3"
+ width="28.148262"
+ height="14.074131"
+ x="417.17392"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-25-9"
+ width="28.148262"
+ height="14.074131"
+ x="445.32217"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-4-0"
+ width="28.148262"
+ height="14.074131"
+ x="473.47043"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-0-8"
+ width="28.148262"
+ height="14.074131"
+ x="501.61871"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-68-8"
+ width="28.148262"
+ height="14.074131"
+ x="529.76697"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-43-5"
+ width="28.148262"
+ height="14.074131"
+ x="557.91522"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-92-0"
+ width="28.148262"
+ height="14.074131"
+ x="586.06348"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-926-9"
+ width="28.148262"
+ height="14.074131"
+ x="614.21173"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-49-6"
+ width="28.148262"
+ height="14.074131"
+ x="642.36005"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-48-3"
+ width="28.148262"
+ height="14.074131"
+ x="670.50824"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-7-8"
+ width="28.148262"
+ height="14.074131"
+ x="698.65656"
+ y="527.56073"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-61"
+ width="28.148262"
+ height="14.074131"
+ x="79.394798"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-9-1"
+ width="28.148262"
+ height="14.074131"
+ x="107.54305"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-3-5"
+ width="28.148262"
+ height="14.074131"
+ x="135.6913"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-94-9"
+ width="28.148262"
+ height="14.074131"
+ x="163.83955"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-8-8"
+ width="28.148262"
+ height="14.074131"
+ x="191.98784"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-5-4"
+ width="28.148262"
+ height="14.074131"
+ x="220.13609"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-36-8"
+ width="28.148262"
+ height="14.074131"
+ x="248.28436"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-6-1"
+ width="28.148262"
+ height="14.074131"
+ x="276.43262"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-2-0"
+ width="28.148262"
+ height="14.074131"
+ x="304.58087"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-1-3"
+ width="28.148262"
+ height="14.074131"
+ x="332.72916"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-54-0"
+ width="28.148262"
+ height="14.074131"
+ x="360.87744"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-56-4"
+ width="28.148262"
+ height="14.074131"
+ x="389.0257"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-37-4"
+ width="28.148262"
+ height="14.074131"
+ x="417.17395"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-25-4"
+ width="28.148262"
+ height="14.074131"
+ x="445.3222"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-4-4"
+ width="28.148262"
+ height="14.074131"
+ x="473.47046"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-0-7"
+ width="28.148262"
+ height="14.074131"
+ x="501.61874"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#460080;fill-opacity:1;stroke:none"
+ id="rect3590-68-6"
+ width="28.148262"
+ height="14.074131"
+ x="529.76697"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#460080;fill-opacity:1;stroke:none"
+ id="rect3590-43-3"
+ width="28.148262"
+ height="14.074131"
+ x="557.91528"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#460080;fill-opacity:1;stroke:none"
+ id="rect3590-92-1"
+ width="28.148262"
+ height="14.074131"
+ x="586.06354"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-926-7"
+ width="28.148262"
+ height="14.074131"
+ x="614.21173"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-49-5"
+ width="28.148262"
+ height="14.074131"
+ x="642.36005"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-48-9"
+ width="28.148262"
+ height="14.074131"
+ x="670.5083"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-7-6"
+ width="28.148262"
+ height="14.074131"
+ x="698.65662"
+ y="541.63495"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-17"
+ width="28.148262"
+ height="14.074131"
+ x="79.394798"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-9-8"
+ width="28.148262"
+ height="14.074131"
+ x="107.54305"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-3-57"
+ width="28.148262"
+ height="14.074131"
+ x="135.6913"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-94-4"
+ width="28.148262"
+ height="14.074131"
+ x="163.83957"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff6600;fill-opacity:1;stroke:none"
+ id="rect3590-8-1"
+ width="28.148262"
+ height="14.074131"
+ x="191.98785"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff6600;fill-opacity:1;stroke:none"
+ id="rect3590-5-8"
+ width="28.148262"
+ height="14.074131"
+ x="220.13611"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff7f2a;fill-opacity:1;stroke:none"
+ id="rect3590-36-5"
+ width="28.148262"
+ height="14.074131"
+ x="248.28436"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff7f2a;fill-opacity:1;stroke:none"
+ id="rect3590-6-9"
+ width="28.148262"
+ height="14.074131"
+ x="276.43262"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-2-7"
+ width="28.148262"
+ height="14.074131"
+ x="304.5809"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-1-5"
+ width="28.148262"
+ height="14.074131"
+ x="332.72913"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-54-3"
+ width="28.148262"
+ height="14.074131"
+ x="360.87741"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-56-8"
+ width="28.148262"
+ height="14.074131"
+ x="389.02563"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff6600;fill-opacity:1;stroke:none"
+ id="rect3590-37-8"
+ width="28.148262"
+ height="14.074131"
+ x="417.17392"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff6600;fill-opacity:1;stroke:none"
+ id="rect3590-25-3"
+ width="28.148262"
+ height="14.074131"
+ x="445.32217"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff7f2a;fill-opacity:1;stroke:none"
+ id="rect3590-4-1"
+ width="28.148262"
+ height="14.074131"
+ x="473.47043"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff7f2a;fill-opacity:1;stroke:none"
+ id="rect3590-0-89"
+ width="28.148262"
+ height="14.074131"
+ x="501.61871"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-68-64"
+ width="28.148262"
+ height="14.074131"
+ x="529.76697"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-43-33"
+ width="28.148262"
+ height="14.074131"
+ x="557.91522"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-92-3"
+ width="28.148262"
+ height="14.074131"
+ x="586.06348"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-926-8"
+ width="28.148262"
+ height="14.074131"
+ x="614.21173"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff6600;fill-opacity:1;stroke:none"
+ id="rect3590-49-60"
+ width="28.148262"
+ height="14.074131"
+ x="642.35999"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff6600;fill-opacity:1;stroke:none"
+ id="rect3590-48-4"
+ width="28.148262"
+ height="14.074131"
+ x="670.50824"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#ff7f2a;fill-opacity:1;stroke:none"
+ id="rect3590-7-88"
+ width="28.148262"
+ height="14.074131"
+ x="698.65656"
+ y="513.48645"
+ rx="0"
+ ry="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="21.874378"
+ y="510.65295"
+ id="text4268"><tspan
+ sodipodi:role="line"
+ id="tspan4270"
+ x="21.874378"
+ y="510.65295">Channel</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="32.888912"
+ y="524.72711"
+ id="text4272"><tspan
+ sodipodi:role="line"
+ id="tspan4274"
+ x="32.888912"
+ y="524.72711">Rank</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="259.91074"
+ y="571.51569"
+ id="text4276"><tspan
+ sodipodi:role="line"
+ id="tspan4278"
+ x="259.91074"
+ y="571.51569">packet 1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="652.99866"
+ y="571.51569"
+ id="text4276-8"><tspan
+ sodipodi:role="line"
+ id="tspan4278-9"
+ x="652.99866"
+ y="571.51569">packet 2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="547.13672"
+ y="571.51569"
+ id="text4276-7"><tspan
+ sodipodi:role="line"
+ id="tspan4278-6"
+ x="547.13672"
+ y="571.51569">padding</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="89.185432"
+ y="510.95889"
+ id="text4316"><tspan
+ sodipodi:role="line"
+ x="89.185432"
+ y="510.95889"
+ id="tspan4320">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="117.94563"
+ y="510.96481"
+ id="text4324"><tspan
+ sodipodi:role="line"
+ id="tspan4326"
+ x="117.94563"
+ y="510.96481">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="144.69043"
+ y="510.95889"
+ id="text4316-4-0"><tspan
+ sodipodi:role="line"
+ x="144.69043"
+ y="510.95889"
+ id="tspan4320-3-9">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="539.98993"
+ y="510.95889"
+ id="text4316-4-5"><tspan
+ sodipodi:role="line"
+ x="539.98993"
+ y="510.95889"
+ id="tspan4320-3-4">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="596.89832"
+ y="510.95889"
+ id="text4316-4-59"><tspan
+ sodipodi:role="line"
+ x="596.89832"
+ y="510.95889"
+ id="tspan4320-3-46">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="176.40076"
+ y="510.96481"
+ id="text4324-0-9"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-2"
+ x="176.40076"
+ y="510.96481">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="569.27716"
+ y="510.96481"
+ id="text4324-0-4"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-7"
+ x="569.27716"
+ y="510.96481">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="623.10138"
+ y="510.96481"
+ id="text4324-0-5"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-4"
+ x="623.10138"
+ y="510.96481">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="157.73969"
+ y="524.70508"
+ id="text4324-0-1"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-28"
+ x="157.73969"
+ y="524.70508">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="384.15945"
+ y="524.70508"
+ id="text4324-0-3"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-6"
+ x="384.15945"
+ y="524.70508">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="610.57916"
+ y="524.70508"
+ id="text4324-0-2"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-1"
+ x="610.57916"
+ y="524.70508">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="101.2442"
+ y="524.69916"
+ id="text4316-4-05"><tspan
+ sodipodi:role="line"
+ x="101.2442"
+ y="524.69916"
+ id="tspan4320-3-1">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="327.66391"
+ y="524.69916"
+ id="text4316-4-08"><tspan
+ sodipodi:role="line"
+ x="327.66391"
+ y="524.69916"
+ id="tspan4320-3-5">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="554.08368"
+ y="524.69916"
+ id="text4316-4-6"><tspan
+ sodipodi:role="line"
+ x="554.08368"
+ y="524.69916"
+ id="tspan4320-3-462">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="214.6138"
+ y="524.78491"
+ id="text4328-5"><tspan
+ sodipodi:role="line"
+ id="tspan4330-8"
+ x="214.6138"
+ y="524.78491">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="441.03354"
+ y="524.78491"
+ id="text4328-2"><tspan
+ sodipodi:role="line"
+ id="tspan4330-84"
+ x="441.03354"
+ y="524.78491">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="667.45331"
+ y="524.78491"
+ id="text4328-24"><tspan
+ sodipodi:role="line"
+ id="tspan4330-0"
+ x="667.45331"
+ y="524.78491">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="271.07971"
+ y="524.69916"
+ id="text4332-6"><tspan
+ sodipodi:role="line"
+ id="tspan4334-2"
+ x="271.07971"
+ y="524.69916">3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="497.49942"
+ y="524.69916"
+ id="text4332-9"><tspan
+ sodipodi:role="line"
+ id="tspan4334-0"
+ x="497.49942"
+ y="524.69916">3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="68.380196"
+ y="464.14713"
+ id="text4654"><tspan
+ sodipodi:role="line"
+ id="tspan4656"
+ x="68.380196"
+ y="464.14713">memory addresses</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.21153724px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 156.49649,467.20671 45.28198,0"
+ id="path4658"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="89.101906"
+ y="597.41931"
+ id="text4654-0"><tspan
+ sodipodi:role="line"
+ id="tspan4656-3"
+ x="89.101906"
+ y="597.41931">pkt1 starts at</tspan><tspan
+ sodipodi:role="line"
+ x="89.101906"
+ y="612.56354"
+ id="tspan5744">channel 0, rank 0</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.21153724px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 82.213202,605.82856 0,-45.28198"
+ id="path4658-4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.21153724px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 617.27129,605.34276 0,-45.28198"
+ id="path4658-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="620.95221"
+ y="602.66766"
+ id="text4654-0-1"><tspan
+ sodipodi:role="line"
+ id="tspan4656-3-9"
+ x="620.95221"
+ y="602.66766">pkt2 starts at</tspan><tspan
+ sodipodi:role="line"
+ x="620.95221"
+ y="617.81189"
+ id="tspan5746">channel 1, rank 1</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.21153724px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 419.80374,471.49015 23.86482,0"
+ id="path4658-3"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="392.08521"
+ y="463.53519"
+ id="text5607"><tspan
+ sodipodi:role="line"
+ id="tspan5609"
+ x="392.08521"
+ y="463.53519">64 bytes wide</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="87.961594"
+ y="493.51923"
+ id="text5611"><tspan
+ sodipodi:role="line"
+ id="tspan5613"
+ x="87.961594"
+ y="493.51923">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="116.77591"
+ y="493.52515"
+ id="text5615"><tspan
+ sodipodi:role="line"
+ id="tspan5617"
+ x="116.77591"
+ y="493.52515">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="145.37135"
+ y="493.60501"
+ id="text5619"><tspan
+ sodipodi:role="line"
+ id="tspan5621"
+ x="145.37135"
+ y="493.60501">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="173.62958"
+ y="493.51923"
+ id="text5623"><tspan
+ sodipodi:role="line"
+ id="tspan5625"
+ x="173.62958"
+ y="493.51923">3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="201.8405"
+ y="493.52515"
+ id="text5627"><tspan
+ sodipodi:role="line"
+ id="tspan5629"
+ x="201.8405"
+ y="493.52515">4</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="230.71991"
+ y="493.43936"
+ id="text5631"><tspan
+ sodipodi:role="line"
+ id="tspan5633"
+ x="230.71991"
+ y="493.43936">5</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="258.9249"
+ y="493.51923"
+ id="text5635"><tspan
+ sodipodi:role="line"
+ id="tspan5637"
+ x="258.9249"
+ y="493.51923">6</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="287.69778"
+ y="493.52515"
+ id="text5639"><tspan
+ sodipodi:role="line"
+ id="tspan5641"
+ x="287.69778"
+ y="493.52515">7</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="315.99152"
+ y="493.51923"
+ id="text5643"><tspan
+ sodipodi:role="line"
+ id="tspan5645"
+ x="315.99152"
+ y="493.51923">8</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="344.51596"
+ y="493.51923"
+ id="text5647"><tspan
+ sodipodi:role="line"
+ id="tspan5649"
+ x="344.51596"
+ y="493.51923">9</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="371.68573"
+ y="493.52515"
+ id="text5651"><tspan
+ sodipodi:role="line"
+ id="tspan5653"
+ x="371.68573"
+ y="493.52515">A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="400.92007"
+ y="493.52515"
+ id="text5655"><tspan
+ sodipodi:role="line"
+ id="tspan5657"
+ x="400.92007"
+ y="493.52515">B</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="429.07181"
+ y="493.51923"
+ id="text5659"><tspan
+ sodipodi:role="line"
+ id="tspan5661"
+ x="429.07181"
+ y="493.51923">C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="456.76215"
+ y="493.52515"
+ id="text5663"><tspan
+ sodipodi:role="line"
+ id="tspan5665"
+ x="456.76215"
+ y="493.52515">D</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="486.99628"
+ y="493.52515"
+ id="text5667"><tspan
+ sodipodi:role="line"
+ id="tspan5669"
+ x="486.99628"
+ y="493.52515">E</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="516.11224"
+ y="493.52515"
+ id="text5671"><tspan
+ sodipodi:role="line"
+ id="tspan5673"
+ x="516.11224"
+ y="493.52515">F</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="536.26007"
+ y="493.51923"
+ id="text5675"><tspan
+ sodipodi:role="line"
+ id="tspan5677"
+ x="536.26007"
+ y="493.51923">10</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="565.0744"
+ y="493.52515"
+ id="text5679"><tspan
+ sodipodi:role="line"
+ id="tspan5681"
+ x="565.0744"
+ y="493.52515">11</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="593.6698"
+ y="493.60501"
+ id="text5683"><tspan
+ sodipodi:role="line"
+ id="tspan5685"
+ x="593.6698"
+ y="493.60501">12</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="621.9281"
+ y="493.51923"
+ id="text5687"><tspan
+ sodipodi:role="line"
+ id="tspan5689"
+ x="621.9281"
+ y="493.51923">13</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="650.13898"
+ y="493.52515"
+ id="text5691"><tspan
+ sodipodi:role="line"
+ id="tspan5693"
+ x="650.13898"
+ y="493.52515">14</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="679.01837"
+ y="493.43936"
+ id="text5695"><tspan
+ sodipodi:role="line"
+ id="tspan5697"
+ x="679.01837"
+ y="493.43936">15</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="707.22339"
+ y="493.51923"
+ id="text5699"><tspan
+ sodipodi:role="line"
+ id="tspan5701"
+ x="707.22339"
+ y="493.51923">...</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="8.2204075"
+ y="492.55319"
+ id="text4268-3"><tspan
+ sodipodi:role="line"
+ id="tspan4270-8"
+ x="8.2204075"
+ y="492.55319">Block num</tspan></text>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot5728"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"><flowRegion
+ id="flowRegion5730"><rect
+ id="rect5732"
+ width="110.6117"
+ height="25.253813"
+ x="314.66251"
+ y="435.66406" /></flowRegion><flowPara
+ id="flowPara5734" /></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot5736"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"><flowRegion
+ id="flowRegion5738"><rect
+ id="rect5740"
+ width="32.829956"
+ height="11.616755"
+ x="356.58386"
+ y="428.08792" /></flowRegion><flowPara
+ id="flowPara5742" /></flowRoot> <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="88.197639"
+ y="553.00208"
+ id="text5611-0"><tspan
+ sodipodi:role="line"
+ id="tspan5613-5"
+ x="88.197639"
+ y="553.00208">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="117.01196"
+ y="553.008"
+ id="text5615-6"><tspan
+ sodipodi:role="line"
+ id="tspan5617-6"
+ x="117.01196"
+ y="553.008">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="145.60741"
+ y="553.08783"
+ id="text5619-4"><tspan
+ sodipodi:role="line"
+ id="tspan5621-0"
+ x="145.60741"
+ y="553.08783">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="173.86563"
+ y="553.00208"
+ id="text5623-0"><tspan
+ sodipodi:role="line"
+ id="tspan5625-4"
+ x="173.86563"
+ y="553.00208">3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="202.07655"
+ y="553.008"
+ id="text5627-6"><tspan
+ sodipodi:role="line"
+ id="tspan5629-2"
+ x="202.07655"
+ y="553.008">4</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="230.95596"
+ y="552.92218"
+ id="text5631-6"><tspan
+ sodipodi:role="line"
+ id="tspan5633-7"
+ x="230.95596"
+ y="552.92218">5</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="259.16092"
+ y="553.00208"
+ id="text5635-5"><tspan
+ sodipodi:role="line"
+ id="tspan5637-6"
+ x="259.16092"
+ y="553.00208">6</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="287.93384"
+ y="553.008"
+ id="text5639-9"><tspan
+ sodipodi:role="line"
+ id="tspan5641-8"
+ x="287.93384"
+ y="553.008">7</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="316.22757"
+ y="553.00208"
+ id="text5643-7"><tspan
+ sodipodi:role="line"
+ id="tspan5645-2"
+ x="316.22757"
+ y="553.00208">8</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="344.75201"
+ y="553.00208"
+ id="text5647-8"><tspan
+ sodipodi:role="line"
+ id="tspan5649-2"
+ x="344.75201"
+ y="553.00208">9</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="371.92178"
+ y="553.008"
+ id="text5651-9"><tspan
+ sodipodi:role="line"
+ id="tspan5653-9"
+ x="371.92178"
+ y="553.008">A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="401.1561"
+ y="553.008"
+ id="text5655-6"><tspan
+ sodipodi:role="line"
+ id="tspan5657-0"
+ x="401.1561"
+ y="553.008">B</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="429.30786"
+ y="553.00208"
+ id="text5659-2"><tspan
+ sodipodi:role="line"
+ id="tspan5661-7"
+ x="429.30786"
+ y="553.00208">C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="456.99817"
+ y="553.008"
+ id="text5663-6"><tspan
+ sodipodi:role="line"
+ id="tspan5665-1"
+ x="456.99817"
+ y="553.008">D</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="487.2323"
+ y="553.008"
+ id="text5667-3"><tspan
+ sodipodi:role="line"
+ id="tspan5669-2"
+ x="487.2323"
+ y="553.008">E</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="516.34833"
+ y="553.008"
+ id="text5671-1"><tspan
+ sodipodi:role="line"
+ id="tspan5673-5"
+ x="516.34833"
+ y="553.008">F</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="625.12976"
+ y="553.00208"
+ id="text5611-0-4"><tspan
+ sodipodi:role="line"
+ id="tspan5613-5-8"
+ x="625.12976"
+ y="553.00208">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="653.94403"
+ y="553.008"
+ id="text5615-6-0"><tspan
+ sodipodi:role="line"
+ id="tspan5617-6-4"
+ x="653.94403"
+ y="553.008">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="682.53949"
+ y="553.08783"
+ id="text5619-4-2"><tspan
+ sodipodi:role="line"
+ id="tspan5621-0-9"
+ x="682.53949"
+ y="553.08783">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.11537266px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="710.79773"
+ y="553.00208"
+ id="text5623-0-6"><tspan
+ sodipodi:role="line"
+ id="tspan5625-4-1"
+ x="710.79773"
+ y="553.00208">3</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/memory-management2.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/memory-management2.svg
new file mode 100644
index 00000000..b0cce18d
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/memory-management2.svg
@@ -0,0 +1,2301 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="721.63605"
+ height="182.36613"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="memory-management2.svg"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/memory-management2.png"
+ inkscape:export-xdpi="113.16409"
+ inkscape:export-ydpi="113.16409">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path4669"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4672"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4666"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective3600"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-10"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-76"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-45"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-47"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-43"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-78"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-14"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-068"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-50"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3622-71"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3824-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4093"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4288"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4288-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4344"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4369"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4394"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4394-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4394-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4441-80"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4521"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4521-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4521-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4568"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4568-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4568-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4615"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4615-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4615-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5304"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-1"
+ style="overflow:visible">
+ <path
+ id="path4672-1"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5338"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-0"
+ style="overflow:visible">
+ <path
+ id="path4672-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5366"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5391"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-6"
+ style="overflow:visible">
+ <path
+ id="path4672-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5711"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5800"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5970"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7639"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8210"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8571"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8596"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8596-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8596-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8643"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8643-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8643-43"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.49497475"
+ inkscape:cx="413.62889"
+ inkscape:cy="368.76449"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1059"
+ inkscape:window-x="627"
+ inkscape:window-y="26"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-9.3094645,-454.23035)">
+ <rect
+ style="fill:#aeda00;fill-opacity:1;stroke:none"
+ id="rect3590"
+ width="28.306801"
+ height="14.1534"
+ x="79.788979"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-9"
+ width="28.306801"
+ height="14.1534"
+ x="108.09577"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-3"
+ width="28.306801"
+ height="14.1534"
+ x="136.40256"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aeda00;fill-opacity:1;stroke:none"
+ id="rect3590-94"
+ width="28.306801"
+ height="14.1534"
+ x="164.70938"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-8"
+ width="28.306801"
+ height="14.1534"
+ x="193.01619"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-5"
+ width="28.306801"
+ height="14.1534"
+ x="221.323"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aeda00;fill-opacity:1;stroke:none"
+ id="rect3590-36"
+ width="28.306801"
+ height="14.1534"
+ x="249.62979"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-6"
+ width="28.306801"
+ height="14.1534"
+ x="277.93658"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-2"
+ width="28.306801"
+ height="14.1534"
+ x="306.24341"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aeda00;fill-opacity:1;stroke:none"
+ id="rect3590-1"
+ width="28.306801"
+ height="14.1534"
+ x="334.55017"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-54"
+ width="28.306801"
+ height="14.1534"
+ x="362.85699"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-56"
+ width="28.306801"
+ height="14.1534"
+ x="391.16379"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aeda00;fill-opacity:1;stroke:none"
+ id="rect3590-37"
+ width="28.306801"
+ height="14.1534"
+ x="419.47058"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-25"
+ width="28.306801"
+ height="14.1534"
+ x="447.77737"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-4"
+ width="28.306801"
+ height="14.1534"
+ x="476.0842"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aeda00;fill-opacity:1;stroke:none"
+ id="rect3590-0"
+ width="28.306801"
+ height="14.1534"
+ x="504.39099"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-68"
+ width="28.306801"
+ height="14.1534"
+ x="532.69775"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-43"
+ width="28.306801"
+ height="14.1534"
+ x="561.00458"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aeda00;fill-opacity:1;stroke:none"
+ id="rect3590-92"
+ width="28.306801"
+ height="14.1534"
+ x="589.3114"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-926"
+ width="28.306801"
+ height="14.1534"
+ x="617.61816"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#668000;fill-opacity:1;stroke:none"
+ id="rect3590-49"
+ width="28.306801"
+ height="14.1534"
+ x="645.92499"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aeda00;fill-opacity:1;stroke:none"
+ id="rect3590-48"
+ width="28.306801"
+ height="14.1534"
+ x="674.23175"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#88aa00;fill-opacity:1;stroke:none"
+ id="rect3590-7"
+ width="28.306801"
+ height="14.1534"
+ x="702.53857"
+ y="499.66611"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-67"
+ width="28.306801"
+ height="14.1534"
+ x="79.788979"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-9-3"
+ width="28.306801"
+ height="14.1534"
+ x="108.09577"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-3-6"
+ width="28.306801"
+ height="14.1534"
+ x="136.40256"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-94-5"
+ width="28.306801"
+ height="14.1534"
+ x="164.70938"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-8-6"
+ width="28.306801"
+ height="14.1534"
+ x="193.01619"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-5-3"
+ width="28.306801"
+ height="14.1534"
+ x="221.323"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-36-9"
+ width="28.306801"
+ height="14.1534"
+ x="249.62981"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-6-4"
+ width="28.306801"
+ height="14.1534"
+ x="277.93658"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-2-8"
+ width="28.306801"
+ height="14.1534"
+ x="306.24338"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-1-1"
+ width="28.306801"
+ height="14.1534"
+ x="334.55017"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-54-2"
+ width="28.306801"
+ height="14.1534"
+ x="362.85699"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-56-9"
+ width="28.306801"
+ height="14.1534"
+ x="391.16379"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-37-3"
+ width="28.306801"
+ height="14.1534"
+ x="419.47058"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-25-9"
+ width="28.306801"
+ height="14.1534"
+ x="447.77737"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-4-0"
+ width="28.306801"
+ height="14.1534"
+ x="476.0842"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-0-8"
+ width="28.306801"
+ height="14.1534"
+ x="504.39099"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-68-8"
+ width="28.306801"
+ height="14.1534"
+ x="532.69775"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-43-5"
+ width="28.306801"
+ height="14.1534"
+ x="561.00458"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-92-0"
+ width="28.306801"
+ height="14.1534"
+ x="589.3114"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#c8b7b7;fill-opacity:1;stroke:none"
+ id="rect3590-926-9"
+ width="28.306801"
+ height="14.1534"
+ x="617.61816"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-49-6"
+ width="28.306801"
+ height="14.1534"
+ x="645.92505"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-48-3"
+ width="28.306801"
+ height="14.1534"
+ x="674.23175"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#808080;fill-opacity:1;stroke:none"
+ id="rect3590-7-8"
+ width="28.306801"
+ height="14.1534"
+ x="702.53857"
+ y="527.97321"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-61"
+ width="28.306801"
+ height="14.1534"
+ x="79.788979"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-9-1"
+ width="28.306801"
+ height="14.1534"
+ x="108.09577"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-3-5"
+ width="28.306801"
+ height="14.1534"
+ x="136.40256"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-94-9"
+ width="28.306801"
+ height="14.1534"
+ x="164.70937"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-8-8"
+ width="28.306801"
+ height="14.1534"
+ x="193.01617"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-5-4"
+ width="28.306801"
+ height="14.1534"
+ x="221.32297"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-36-8"
+ width="28.306801"
+ height="14.1534"
+ x="249.62979"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-6-1"
+ width="28.306801"
+ height="14.1534"
+ x="277.93655"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-2-0"
+ width="28.306801"
+ height="14.1534"
+ x="306.24338"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-1-3"
+ width="28.306801"
+ height="14.1534"
+ x="334.5502"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-54-0"
+ width="28.306801"
+ height="14.1534"
+ x="362.85703"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-56-4"
+ width="28.306801"
+ height="14.1534"
+ x="391.16382"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-37-4"
+ width="28.306801"
+ height="14.1534"
+ x="419.47061"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-25-4"
+ width="28.306801"
+ height="14.1534"
+ x="447.7774"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-4-4"
+ width="28.306801"
+ height="14.1534"
+ x="476.08423"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-0-7"
+ width="28.306801"
+ height="14.1534"
+ x="504.39102"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-68-6"
+ width="28.306801"
+ height="14.1534"
+ x="532.69781"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-43-3"
+ width="28.306801"
+ height="14.1534"
+ x="561.00464"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-92-1"
+ width="28.306801"
+ height="14.1534"
+ x="589.31146"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-926-7"
+ width="28.306801"
+ height="14.1534"
+ x="617.61816"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-49-5"
+ width="28.306801"
+ height="14.1534"
+ x="645.92505"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-48-9"
+ width="28.306801"
+ height="14.1534"
+ x="674.23187"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#008fff;fill-opacity:1;stroke:none"
+ id="rect3590-7-6"
+ width="28.306801"
+ height="14.1534"
+ x="702.5387"
+ y="542.12665"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-17"
+ width="28.306801"
+ height="14.1534"
+ x="79.788979"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-9-8"
+ width="28.306801"
+ height="14.1534"
+ x="108.09577"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-3-57"
+ width="28.306801"
+ height="14.1534"
+ x="136.40256"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-94-4"
+ width="28.306801"
+ height="14.1534"
+ x="164.70938"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-8-1"
+ width="28.306801"
+ height="14.1534"
+ x="193.01619"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-5-8"
+ width="28.306801"
+ height="14.1534"
+ x="221.323"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-36-5"
+ width="28.306801"
+ height="14.1534"
+ x="249.62979"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-6-9"
+ width="28.306801"
+ height="14.1534"
+ x="277.93658"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-2-7"
+ width="28.306801"
+ height="14.1534"
+ x="306.24341"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-1-5"
+ width="28.306801"
+ height="14.1534"
+ x="334.55017"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-54-3"
+ width="28.306801"
+ height="14.1534"
+ x="362.85699"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-56-8"
+ width="28.306801"
+ height="14.1534"
+ x="391.16379"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-37-8"
+ width="28.306801"
+ height="14.1534"
+ x="419.47058"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-25-3"
+ width="28.306801"
+ height="14.1534"
+ x="447.77737"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-4-1"
+ width="28.306801"
+ height="14.1534"
+ x="476.0842"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-0-89"
+ width="28.306801"
+ height="14.1534"
+ x="504.39099"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-68-64"
+ width="28.306801"
+ height="14.1534"
+ x="532.69775"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-43-33"
+ width="28.306801"
+ height="14.1534"
+ x="561.00458"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-92-3"
+ width="28.306801"
+ height="14.1534"
+ x="589.3114"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-926-8"
+ width="28.306801"
+ height="14.1534"
+ x="617.61816"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-49-60"
+ width="28.306801"
+ height="14.1534"
+ x="645.92499"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#aa4400;fill-opacity:1;stroke:none"
+ id="rect3590-48-4"
+ width="28.306801"
+ height="14.1534"
+ x="674.23175"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <rect
+ style="fill:#d45500;fill-opacity:1;stroke:none"
+ id="rect3590-7-88"
+ width="28.306801"
+ height="14.1534"
+ x="702.53857"
+ y="513.81964"
+ rx="0"
+ ry="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="21.944584"
+ y="510.97018"
+ id="text4268"><tspan
+ sodipodi:role="line"
+ id="tspan4270"
+ x="21.944584"
+ y="510.97018">Channel</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="33.021156"
+ y="525.1236"
+ id="text4272"><tspan
+ sodipodi:role="line"
+ id="tspan4274"
+ x="33.021156"
+ y="525.1236">Rank</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="261.32166"
+ y="572.17572"
+ id="text4276"><tspan
+ sodipodi:role="line"
+ id="tspan4278"
+ x="261.32166"
+ y="572.17572">packet 1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="579.70288"
+ y="572.17572"
+ id="text4276-8"><tspan
+ sodipodi:role="line"
+ id="tspan4278-9"
+ x="579.70288"
+ y="572.17572">packet 2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="89.634758"
+ y="511.27783"
+ id="text4316"><tspan
+ sodipodi:role="line"
+ x="89.634758"
+ y="511.27783"
+ id="tspan4320">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="118.55694"
+ y="511.28378"
+ id="text4324"><tspan
+ sodipodi:role="line"
+ id="tspan4326"
+ x="118.55694"
+ y="511.28378">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="175.04115"
+ y="511.27783"
+ id="text4316-4-0"><tspan
+ sodipodi:role="line"
+ x="175.04115"
+ y="511.27783"
+ id="tspan4320-3-9">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="206.93008"
+ y="511.28378"
+ id="text4324-0-9"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-2"
+ x="206.93008"
+ y="511.28378">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="626.55792"
+ y="511.28378"
+ id="text4324-0-5"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-4"
+ x="626.55792"
+ y="511.28378">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="158.57513"
+ y="525.10144"
+ id="text4324-0-1"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-28"
+ x="158.57513"
+ y="525.10144">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="386.27017"
+ y="525.10144"
+ id="text4324-0-3"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-6"
+ x="386.27017"
+ y="525.10144">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="613.96515"
+ y="525.10144"
+ id="text4324-0-2"><tspan
+ sodipodi:role="line"
+ id="tspan4326-3-1"
+ x="613.96515"
+ y="525.10144">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="101.76144"
+ y="525.09552"
+ id="text4316-4-05"><tspan
+ sodipodi:role="line"
+ x="101.76144"
+ y="525.09552"
+ id="tspan4320-3-1">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="329.45642"
+ y="525.09552"
+ id="text4316-4-08"><tspan
+ sodipodi:role="line"
+ x="329.45642"
+ y="525.09552"
+ id="tspan4320-3-5">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="557.15149"
+ y="525.09552"
+ id="text4316-4-6"><tspan
+ sodipodi:role="line"
+ x="557.15149"
+ y="525.09552"
+ id="tspan4320-3-462">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="215.76958"
+ y="525.18176"
+ id="text4328-5"><tspan
+ sodipodi:role="line"
+ id="tspan4330-8"
+ x="215.76958"
+ y="525.18176">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="443.46457"
+ y="525.18176"
+ id="text4328-2"><tspan
+ sodipodi:role="line"
+ id="tspan4330-84"
+ x="443.46457"
+ y="525.18176">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="671.15961"
+ y="525.18176"
+ id="text4328-24"><tspan
+ sodipodi:role="line"
+ id="tspan4330-0"
+ x="671.15961"
+ y="525.18176">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="272.55353"
+ y="525.09552"
+ id="text4332-6"><tspan
+ sodipodi:role="line"
+ id="tspan4334-2"
+ x="272.55353"
+ y="525.09552">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="500.2485"
+ y="525.09552"
+ id="text4332-9"><tspan
+ sodipodi:role="line"
+ id="tspan4334-0"
+ x="500.2485"
+ y="525.09552">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="68.712341"
+ y="464.20242"
+ id="text4654"><tspan
+ sodipodi:role="line"
+ id="tspan4656"
+ x="68.712341"
+ y="464.20242">memory addresses</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.21836102px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 157.32493,467.27924 45.53702,0"
+ id="path4658"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="89.550758"
+ y="598.22528"
+ id="text4654-0"><tspan
+ sodipodi:role="line"
+ id="tspan4656-3"
+ x="89.550758"
+ y="598.22528">pkt0 starts at</tspan><tspan
+ sodipodi:role="line"
+ x="89.550758"
+ y="613.45477"
+ id="tspan5744">channel 0, rank 1</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.21836102px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 82.623257,606.68185 0,-45.53702"
+ id="path4658-4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.21836102px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 543.77432,606.19331 0,-45.53702"
+ id="path4658-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="547.47595"
+ y="603.50317"
+ id="text4654-0-1"><tspan
+ sodipodi:role="line"
+ id="tspan4656-3-9"
+ x="547.47595"
+ y="603.50317">pkt2 starts at</tspan><tspan
+ sodipodi:role="line"
+ x="547.47595"
+ y="618.73267"
+ id="tspan5746">channel 1, rank 0</tspan><tspan
+ sodipodi:role="line"
+ x="547.47595"
+ y="633.96222"
+ id="tspan8239">(no padding needed)</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.21836102px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 422.11522,471.5868 23.99924,0"
+ id="path4658-3"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="394.24057"
+ y="463.58704"
+ id="text5607"><tspan
+ sodipodi:role="line"
+ id="tspan5609"
+ x="394.24057"
+ y="463.58704">64 bytes wide</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="88.404022"
+ y="493.73996"
+ id="text5611"><tspan
+ sodipodi:role="line"
+ id="tspan5613"
+ x="88.404022"
+ y="493.73996">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="117.38064"
+ y="493.74591"
+ id="text5615"><tspan
+ sodipodi:role="line"
+ id="tspan5617"
+ x="117.38064"
+ y="493.74591">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="146.13713"
+ y="493.8262"
+ id="text5619"><tspan
+ sodipodi:role="line"
+ id="tspan5621"
+ x="146.13713"
+ y="493.8262">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="174.55452"
+ y="493.73996"
+ id="text5623"><tspan
+ sodipodi:role="line"
+ id="tspan5625"
+ x="174.55452"
+ y="493.73996">3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="202.92433"
+ y="493.74591"
+ id="text5627"><tspan
+ sodipodi:role="line"
+ id="tspan5629"
+ x="202.92433"
+ y="493.74591">4</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="231.9664"
+ y="493.65964"
+ id="text5631"><tspan
+ sodipodi:role="line"
+ id="tspan5633"
+ x="231.9664"
+ y="493.65964">5</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="260.33026"
+ y="493.73996"
+ id="text5635"><tspan
+ sodipodi:role="line"
+ id="tspan5637"
+ x="260.33026"
+ y="493.73996">6</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="289.2652"
+ y="493.74591"
+ id="text5639"><tspan
+ sodipodi:role="line"
+ id="tspan5641"
+ x="289.2652"
+ y="493.74591">7</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="317.71829"
+ y="493.73996"
+ id="text5643"><tspan
+ sodipodi:role="line"
+ id="tspan5645"
+ x="317.71829"
+ y="493.73996">8</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="346.40338"
+ y="493.73996"
+ id="text5647"><tspan
+ sodipodi:role="line"
+ id="tspan5649"
+ x="346.40338"
+ y="493.73996">9</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="373.7262"
+ y="493.74591"
+ id="text5651"><tspan
+ sodipodi:role="line"
+ id="tspan5653"
+ x="373.7262"
+ y="493.74591">A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="403.12518"
+ y="493.74591"
+ id="text5655"><tspan
+ sodipodi:role="line"
+ id="tspan5657"
+ x="403.12518"
+ y="493.74591">B</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="431.43549"
+ y="493.73996"
+ id="text5659"><tspan
+ sodipodi:role="line"
+ id="tspan5661"
+ x="431.43549"
+ y="493.73996">C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="459.2818"
+ y="493.74591"
+ id="text5663"><tspan
+ sodipodi:role="line"
+ id="tspan5665"
+ x="459.2818"
+ y="493.74591">D</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="489.68619"
+ y="493.74591"
+ id="text5667"><tspan
+ sodipodi:role="line"
+ id="tspan5669"
+ x="489.68619"
+ y="493.74591">E</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="518.96619"
+ y="493.74591"
+ id="text5671"><tspan
+ sodipodi:role="line"
+ id="tspan5673"
+ x="518.96619"
+ y="493.74591">F</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="539.22748"
+ y="493.73996"
+ id="text5675"><tspan
+ sodipodi:role="line"
+ id="tspan5677"
+ x="539.22748"
+ y="493.73996">10</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="568.20404"
+ y="493.74591"
+ id="text5679"><tspan
+ sodipodi:role="line"
+ id="tspan5681"
+ x="568.20404"
+ y="493.74591">11</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="596.96057"
+ y="493.8262"
+ id="text5683"><tspan
+ sodipodi:role="line"
+ id="tspan5685"
+ x="596.96057"
+ y="493.8262">12</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="625.37799"
+ y="493.73996"
+ id="text5687"><tspan
+ sodipodi:role="line"
+ id="tspan5689"
+ x="625.37799"
+ y="493.73996">13</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="653.7478"
+ y="493.74591"
+ id="text5691"><tspan
+ sodipodi:role="line"
+ id="tspan5693"
+ x="653.7478"
+ y="493.74591">14</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="682.78986"
+ y="493.65964"
+ id="text5695"><tspan
+ sodipodi:role="line"
+ id="tspan5697"
+ x="682.78986"
+ y="493.65964">15</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="711.15369"
+ y="493.73996"
+ id="text5699"><tspan
+ sodipodi:role="line"
+ id="tspan5701"
+ x="711.15369"
+ y="493.73996">...</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="8.2137098"
+ y="492.76846"
+ id="text4268-3"><tspan
+ sodipodi:role="line"
+ id="tspan4270-8"
+ x="8.2137098"
+ y="492.76846">Block num</tspan></text>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot5728"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"><flowRegion
+ id="flowRegion5730"><rect
+ id="rect5732"
+ width="110.6117"
+ height="25.253813"
+ x="314.66251"
+ y="435.66406" /></flowRegion><flowPara
+ id="flowPara5734" /></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot5736"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"><flowRegion
+ id="flowRegion5738"><rect
+ id="rect5740"
+ width="32.829956"
+ height="11.616755"
+ x="356.58386"
+ y="428.08792" /></flowRegion><flowPara
+ id="flowPara5742" /></flowRoot> <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="88.641403"
+ y="553.5578"
+ id="text5611-0"><tspan
+ sodipodi:role="line"
+ id="tspan5613-5"
+ x="88.641403"
+ y="553.5578">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="117.61801"
+ y="553.56378"
+ id="text5615-6"><tspan
+ sodipodi:role="line"
+ id="tspan5617-6"
+ x="117.61801"
+ y="553.56378">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="146.37451"
+ y="553.64404"
+ id="text5619-4"><tspan
+ sodipodi:role="line"
+ id="tspan5621-0"
+ x="146.37451"
+ y="553.64404">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="174.7919"
+ y="553.5578"
+ id="text5623-0"><tspan
+ sodipodi:role="line"
+ id="tspan5625-4"
+ x="174.7919"
+ y="553.5578">3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="203.16173"
+ y="553.56378"
+ id="text5627-6"><tspan
+ sodipodi:role="line"
+ id="tspan5629-2"
+ x="203.16173"
+ y="553.56378">4</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="232.20378"
+ y="553.47748"
+ id="text5631-6"><tspan
+ sodipodi:role="line"
+ id="tspan5633-7"
+ x="232.20378"
+ y="553.47748">5</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="260.56763"
+ y="553.5578"
+ id="text5635-5"><tspan
+ sodipodi:role="line"
+ id="tspan5637-6"
+ x="260.56763"
+ y="553.5578">6</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="289.50256"
+ y="553.56378"
+ id="text5639-9"><tspan
+ sodipodi:role="line"
+ id="tspan5641-8"
+ x="289.50256"
+ y="553.56378">7</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="317.95566"
+ y="553.5578"
+ id="text5643-7"><tspan
+ sodipodi:role="line"
+ id="tspan5645-2"
+ x="317.95566"
+ y="553.5578">8</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="346.64075"
+ y="553.5578"
+ id="text5647-8"><tspan
+ sodipodi:role="line"
+ id="tspan5649-2"
+ x="346.64075"
+ y="553.5578">9</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="373.96356"
+ y="553.56378"
+ id="text5651-9"><tspan
+ sodipodi:role="line"
+ id="tspan5653-9"
+ x="373.96356"
+ y="553.56378">A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="403.36255"
+ y="553.56378"
+ id="text5655-6"><tspan
+ sodipodi:role="line"
+ id="tspan5657-0"
+ x="403.36255"
+ y="553.56378">B</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="431.67285"
+ y="553.5578"
+ id="text5659-2"><tspan
+ sodipodi:role="line"
+ id="tspan5661-7"
+ x="431.67285"
+ y="553.5578">C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="459.51917"
+ y="553.56378"
+ id="text5663-6"><tspan
+ sodipodi:role="line"
+ id="tspan5665-1"
+ x="459.51917"
+ y="553.56378">D</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="489.92355"
+ y="553.56378"
+ id="text5667-3"><tspan
+ sodipodi:role="line"
+ id="tspan5669-2"
+ x="489.92355"
+ y="553.56378">E</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="519.20355"
+ y="553.56378"
+ id="text5671-1"><tspan
+ sodipodi:role="line"
+ id="tspan5673-5"
+ x="519.20355"
+ y="553.56378">F</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="541.68066"
+ y="553.5578"
+ id="text5611-0-4"><tspan
+ sodipodi:role="line"
+ id="tspan5613-5-8"
+ x="541.68066"
+ y="553.5578">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="570.65729"
+ y="553.56378"
+ id="text5615-6-0"><tspan
+ sodipodi:role="line"
+ id="tspan5617-6-4"
+ x="570.65729"
+ y="553.56378">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="599.41376"
+ y="553.64404"
+ id="text5619-4-2"><tspan
+ sodipodi:role="line"
+ id="tspan5621-0-9"
+ x="599.41376"
+ y="553.64404">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="627.83112"
+ y="553.5578"
+ id="text5623-0-6"><tspan
+ sodipodi:role="line"
+ id="tspan5625-4-1"
+ x="627.83112"
+ y="553.5578">3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="146.52826"
+ y="511.4975"
+ id="text4328-5-0"><tspan
+ sodipodi:role="line"
+ id="tspan4330-8-6"
+ x="146.52826"
+ y="511.4975">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="543.39069"
+ y="510.77237"
+ id="text4324-3"><tspan
+ sodipodi:role="line"
+ id="tspan4326-2"
+ x="543.39069"
+ y="510.77237">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="599.87488"
+ y="510.76642"
+ id="text4316-4-0-0"><tspan
+ sodipodi:role="line"
+ x="599.87488"
+ y="510.76642"
+ id="tspan4320-3-9-6">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="571.362"
+ y="510.98608"
+ id="text4328-5-0-1"><tspan
+ sodipodi:role="line"
+ id="tspan4330-8-6-5"
+ x="571.362"
+ y="510.98608">2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="33.475063"
+ y="540.45441"
+ id="text4272-5"><tspan
+ sodipodi:role="line"
+ id="tspan4274-4"
+ x="33.475063"
+ y="540.45441">DIMM</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="133.7489"
+ y="538.91449"
+ id="text4328-5-7"><tspan
+ sodipodi:role="line"
+ id="tspan4330-8-65"
+ x="133.7489"
+ y="538.91449">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="359.58084"
+ y="538.91449"
+ id="text4328-5-9"><tspan
+ sodipodi:role="line"
+ id="tspan4330-8-3"
+ x="359.58084"
+ y="538.91449">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="585.41272"
+ y="538.91449"
+ id="text4328-5-4"><tspan
+ sodipodi:role="line"
+ id="tspan4330-8-5"
+ x="585.41272"
+ y="538.91449">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="471.73404"
+ y="538.92047"
+ id="text4332-9-2"><tspan
+ sodipodi:role="line"
+ id="tspan4334-0-5"
+ x="471.73404"
+ y="538.92047">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="245.467"
+ y="538.92047"
+ id="text4332-9-7"><tspan
+ sodipodi:role="line"
+ id="tspan4334-0-4"
+ x="245.467"
+ y="538.92047">1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12.18360996px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="699.74158"
+ y="538.92047"
+ id="text4332-9-0"><tspan
+ sodipodi:role="line"
+ id="tspan4334-0-7"
+ x="699.74158"
+ y="538.92047">1</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/mempool.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/mempool.svg
new file mode 100644
index 00000000..5185bd09
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/mempool.svg
@@ -0,0 +1,2434 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="524.67041"
+ height="224.77138"
+ id="svg3868"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="mempool.svg"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/mbuf2.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200"
+ sodipodi:version="0.32"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3870">
+ <marker
+ inkscape:stockid="TriangleInL"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleInL"
+ style="overflow:visible">
+ <path
+ id="path5477"
+ d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="scale(-0.8,-0.8)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3876" />
+ <inkscape:perspective
+ id="perspective3886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3211"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3892"
+ style="overflow:visible">
+ <path
+ id="path3894"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3896"
+ style="overflow:visible">
+ <path
+ id="path3898"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path3208"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3902"
+ style="overflow:visible">
+ <path
+ id="path3904"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3906"
+ style="overflow:visible">
+ <path
+ id="path3908"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3910"
+ style="overflow:visible">
+ <path
+ id="path3912"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4086"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4113"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4304"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path3211-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart-6"
+ style="overflow:visible">
+ <path
+ id="path3208-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4312"
+ style="overflow:visible">
+ <path
+ id="path4314"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4316"
+ style="overflow:visible">
+ <path
+ id="path4318"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4320"
+ style="overflow:visible">
+ <path
+ id="path4322"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4304-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-8"
+ style="overflow:visible">
+ <path
+ id="path3211-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart-4"
+ style="overflow:visible">
+ <path
+ id="path3208-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4312-1"
+ style="overflow:visible">
+ <path
+ id="path4314-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4316-9"
+ style="overflow:visible">
+ <path
+ id="path4318-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4320-0"
+ style="overflow:visible">
+ <path
+ id="path4322-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4456"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-2"
+ style="overflow:visible">
+ <path
+ id="path3211-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4484"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4509"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-61"
+ style="overflow:visible">
+ <path
+ id="path3211-59"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4558"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3279"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart-9"
+ style="overflow:visible">
+ <path
+ id="path3208-31"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path3211-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3313"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3338"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5616"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path4530"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4533"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5624"
+ style="overflow:visible">
+ <path
+ id="path5626"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5628"
+ style="overflow:visible">
+ <path
+ id="path5630"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5632"
+ style="overflow:visible">
+ <path
+ id="path5634"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5636"
+ style="overflow:visible">
+ <path
+ id="path5638"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5640"
+ style="overflow:visible">
+ <path
+ id="path5642"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5644"
+ style="overflow:visible">
+ <path
+ id="path5646"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5648"
+ style="overflow:visible">
+ <path
+ id="path5650"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4513"
+ id="linearGradient4519"
+ x1="47.142857"
+ y1="244.50504"
+ x2="677.85718"
+ y2="244.50504"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient4513">
+ <stop
+ style="stop-color:#fdffdb;stop-opacity:1;"
+ offset="0"
+ id="stop4515" />
+ <stop
+ style="stop-color:#dfe2d8;stop-opacity:0;"
+ offset="1"
+ id="stop4517" />
+ </linearGradient>
+ <inkscape:perspective
+ id="perspective6744"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-4"
+ style="overflow:visible">
+ <path
+ id="path4533-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6772"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-5"
+ style="overflow:visible">
+ <path
+ id="path4533-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6802"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-44"
+ style="overflow:visible">
+ <path
+ id="path4533-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6830"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-7"
+ style="overflow:visible">
+ <path
+ id="path4533-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6864"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6889"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6926"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-9"
+ style="overflow:visible">
+ <path
+ id="path4533-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6963"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6995"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-9"
+ style="overflow:visible">
+ <path
+ id="path4530-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-0"
+ style="overflow:visible">
+ <path
+ id="path4533-48"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7029"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-1"
+ style="overflow:visible">
+ <path
+ id="path4530-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-2"
+ style="overflow:visible">
+ <path
+ id="path4533-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7074"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-6"
+ style="overflow:visible">
+ <path
+ id="path4530-1"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-59"
+ style="overflow:visible">
+ <path
+ id="path4533-49"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7074-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-7"
+ style="overflow:visible">
+ <path
+ id="path4530-11"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597"
+ style="overflow:visible">
+ <path
+ id="path4533-76"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7151"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7173"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7195"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7195-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7195-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7195-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7195-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7195-09"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7195-80"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7195-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7280"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7302"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7333"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7364"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7364-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7364-31"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7682"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-0"
+ style="overflow:visible">
+ <path
+ id="path4533-76-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7682-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-1"
+ style="overflow:visible">
+ <path
+ id="path4533-76-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7682-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-9"
+ style="overflow:visible">
+ <path
+ id="path4533-76-1"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7752"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7780"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7780-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7780-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7834"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-94"
+ style="overflow:visible">
+ <path
+ id="path4533-76-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective7889"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7920"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7920-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7971"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7971-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective7971-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8586"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-7-4"
+ style="overflow:visible">
+ <path
+ id="path4530-11-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-94-9"
+ style="overflow:visible">
+ <path
+ id="path4533-76-9-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective8628"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-7-3"
+ style="overflow:visible">
+ <path
+ id="path4530-11-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-94-95"
+ style="overflow:visible">
+ <path
+ id="path4533-76-9-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective8672"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8672-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8672-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8672-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective8672-72"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3119"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-7-1"
+ style="overflow:visible">
+ <path
+ id="path4530-11-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-94-4"
+ style="overflow:visible">
+ <path
+ id="path4533-76-9-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3153"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-7-48"
+ style="overflow:visible">
+ <path
+ id="path4530-11-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-94-2"
+ style="overflow:visible">
+ <path
+ id="path4533-76-9-45"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3187"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-7-17"
+ style="overflow:visible">
+ <path
+ id="path4530-11-1"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-94-1"
+ style="overflow:visible">
+ <path
+ id="path4533-76-9-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3223"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3223-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3254"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3276"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3298"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3320"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-7-2"
+ style="overflow:visible">
+ <path
+ id="path4530-11-21"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-94-6"
+ style="overflow:visible">
+ <path
+ id="path4533-76-9-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3328"
+ style="overflow:visible">
+ <path
+ id="path3330"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3332"
+ style="overflow:visible">
+ <path
+ id="path3334"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3336"
+ style="overflow:visible">
+ <path
+ id="path3338"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3340"
+ style="overflow:visible">
+ <path
+ id="path3342"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3454"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3454-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3515"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3539"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3573"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3616"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3638"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3663"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3688"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-8"
+ style="overflow:visible">
+ <path
+ id="path4533-76-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3716"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3751"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3837"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4513"
+ id="linearGradient3854"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.73452793,0,0,1.0006382,166.39991,320.95026)"
+ x1="47.142857"
+ y1="244.50504"
+ x2="677.85718"
+ y2="244.50504" />
+ <inkscape:perspective
+ id="perspective3886-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3928"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3960"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4007"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4042"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4084"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4162"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective9350"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3336-8"
+ style="overflow:visible">
+ <path
+ id="path3338-1"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend-597-8-5"
+ style="overflow:visible">
+ <path
+ id="path4533-76-4-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective6185"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6185-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.0467057"
+ inkscape:cx="302.77072"
+ inkscape:cy="28.903136"
+ inkscape:document-units="px"
+ inkscape:current-layer="g4029"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1059"
+ inkscape:window-x="955"
+ inkscape:window-y="-6"
+ inkscape:window-maximized="0"
+ inkscape:snap-to-guides="false"
+ inkscape:snap-grids="false"
+ inkscape:snap-global="false"
+ inkscape:snap-midpoints="true"
+ inkscape:snap-bbox="true"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3213"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-94.382468px"
+ originy="-342.55912px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3873">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-94.382468,-485.03167)">
+ <rect
+ style="fill:url(#linearGradient3854);fill-opacity:1;stroke:#000000;stroke-width:0.85731947;stroke-opacity:1"
+ id="rect3697"
+ width="413.29926"
+ height="223.71407"
+ x="205.22496"
+ y="485.56033"
+ rx="4.9632053"
+ ry="6.7613125" />
+ <text
+ xml:space="preserve"
+ style="font-size:15.22520161px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="533.11731"
+ y="704.97418"
+ id="text2912"
+ inkscape:export-filename="/home/matz/barracuda/rapports/mbuf-api-v2-images/octeon_multi.png"
+ inkscape:export-xdpi="112"
+ inkscape:export-ydpi="112"><tspan
+ sodipodi:role="line"
+ x="533.11731"
+ y="704.97418"
+ id="tspan2916"
+ style="font-weight:bold">mempool</tspan></text>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.71188605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-2"
+ width="202.62376"
+ height="49.551369"
+ x="219.42996"
+ y="628.4303"
+ rx="4.9559956"
+ ry="7.5408955" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.73036075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-35"
+ width="20.112448"
+ height="38.173069"
+ x="340.3158"
+ y="634.04816"
+ rx="7.8000541"
+ ry="5.0432453" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.73036075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-5"
+ width="20.112448"
+ height="38.173069"
+ x="319.96204"
+ y="634.04816"
+ rx="7.8000541"
+ ry="5.0432453" />
+ <rect
+ style="fill:#cadae7;fill-opacity:1;stroke:#000000;stroke-width:0.73036075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-9"
+ width="20.112448"
+ height="38.173069"
+ x="259.60825"
+ y="634.04816"
+ rx="7.8000541"
+ ry="5.0432453" />
+ <rect
+ style="fill:#cadae7;fill-opacity:1;stroke:#000000;stroke-width:0.73036075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-2"
+ width="20.112448"
+ height="38.173069"
+ x="239.25446"
+ y="634.04816"
+ rx="7.8000541"
+ ry="5.0432453" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="221.08591"
+ y="689.99701"
+ id="text7396"><tspan
+ sodipodi:role="line"
+ id="tspan7398"
+ x="221.08591"
+ y="689.99701">rte_ring: stores memory pool's free objects</tspan></text>
+ <g
+ id="g3556"
+ transform="translate(148.33068,-16.839839)">
+ <rect
+ ry="4.7672176"
+ rx="1.4663186"
+ y="520.37323"
+ x="115.01109"
+ height="31.325468"
+ width="89.278099"
+ id="rect7129-7"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.30787912;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="134.92958"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-59"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="146.02029"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-3-4"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="123.83889"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-4-8"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="172.97792"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-59-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="184.06863"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-3-4-0"
+ style="fill:#cadae7;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="161.88724"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-4-8-3"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend-597)"
+ d="m 340.47599,509.43082 c 92.81925,-30.53703 166.95829,13.12827 166.95829,13.12827"
+ id="path7404-03-9"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="266.32944"
+ y="498.09778"
+ id="text7854"><tspan
+ sodipodi:role="line"
+ x="266.32944"
+ y="498.09778"
+ id="tspan3741">Object caches for </tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.96962595px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend-597)"
+ d="m 271.07042,635.43299 c 12.54991,-45.75051 236.78634,-23.96595 236.78634,-23.96595"
+ id="path7404-01"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.12415373px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend-597)"
+ d="m 250.87163,635.89898 c 2.04819,-29.55761 44.90861,-47.82096 95.60619,-50.5881 79.74975,-4.35282 159.95437,-3.19032 159.95437,-3.19032"
+ id="path7404-0"
+ sodipodi:nodetypes="csc"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g3438"
+ transform="matrix(1.000443,0,0,0.89465497,-30.439438,249.77294)">
+ <g
+ id="g7958-9"
+ transform="matrix(0.78732502,0,0,0.61113587,448.75651,177.243)">
+ <rect
+ style="fill:#f4d5d3;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-56"
+ width="19.690214"
+ height="46.621613"
+ x="114.32729"
+ y="406.50797" />
+ <rect
+ style="fill:#dcf4d3;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-0-1"
+ width="70.421326"
+ height="46.621613"
+ x="132.82446"
+ y="406.50797" />
+ <rect
+ style="fill:#d3e5f4;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-5-1"
+ width="19.690214"
+ height="46.621613"
+ x="192.63127"
+ y="406.50797" />
+ </g>
+ <text
+ sodipodi:linespacing="125%"
+ transform="scale(1.0074647,0.9925906)"
+ id="text7732"
+ y="447.68558"
+ x="564.28278"
+ style="font-size:9px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ xml:space="preserve"><tspan
+ y="447.68558"
+ x="564.28278"
+ id="tspan7734"
+ sodipodi:role="line">obj n</tspan></text>
+ </g>
+ <g
+ transform="matrix(0.78732502,0,0,0.52069781,418.57285,302.82991)"
+ id="g7958-9-5">
+ <rect
+ y="406.50797"
+ x="114.32729"
+ height="46.621613"
+ width="19.690214"
+ id="rect7129-7-6-90-0-1-56-7"
+ style="fill:#f4d5d3;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="406.50797"
+ x="132.82446"
+ height="46.621613"
+ width="70.421326"
+ id="rect7129-7-6-90-0-1-0-1-6"
+ style="fill:#dcf4d3;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="406.50797"
+ x="192.63127"
+ height="46.621613"
+ width="19.690214"
+ id="rect7129-7-6-90-0-1-5-1-1"
+ style="fill:#d3e5f4;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:9px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="533.6839"
+ y="533.18359"
+ id="text7732-8"
+ transform="scale(1.0074647,0.9925906)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan7734-9"
+ x="533.6839"
+ y="533.18359">obj 0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:9px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="502.64444"
+ y="500.12582"
+ id="text8612-2"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan8614-7"
+ x="502.64444"
+ y="500.12582">header</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:9px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="566.88733"
+ y="500.12582"
+ id="text8616-95"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan8618-43"
+ x="566.88733"
+ y="500.12582">trailer</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.86462426px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart-7);marker-end:url(#Arrow1Mend-597-94)"
+ d="m 526.19603,547.89632 40.68597,0"
+ id="path8024-8-3-1"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:9px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="545.97205"
+ y="542.58704"
+ id="text8616-9-2"
+ transform="scale(0.96857892,1.0324404)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan8618-4-3"
+ x="545.97205"
+ y="542.58704">elt_size</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.59905624;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.59905608, 1.1981122;stroke-dashoffset:0"
+ d="m 569.57224,530.53402 0,22.6942"
+ id="path8660-7-3"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.70777601px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart-7);marker-end:url(#Arrow1Mend-597-94)"
+ d="m 571.28305,508.02829 12.97818,0"
+ id="path8024-8-3-5-4"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.70777601px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart-7);marker-end:url(#Arrow1Mend-597-94)"
+ d="m 507.94714,508.02829 12.97818,0"
+ id="path8024-8-3-5-2-1"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.63320398;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.6332038, 1.26640764;stroke-dashoffset:0"
+ d="m 585.08147,497.83723 0,25.36643"
+ id="path8660-7-7-1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.63320398;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.6332038, 1.26640764;stroke-dashoffset:0"
+ d="m 569.55432,497.83723 0,25.36643"
+ id="path8660-7-1-3"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.63320398;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.6332038, 1.26640764;stroke-dashoffset:0"
+ d="m 522.51589,497.83723 0,25.36643"
+ id="path8660-7-1-4-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.63320398;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.6332038, 1.26640764;stroke-dashoffset:0"
+ d="m 507.96116,497.83723 0,25.36643"
+ id="path8660-7-1-4-2-7"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.63320398;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.6332038, 1.26640764;stroke-dashoffset:0"
+ d="m 522.51589,530.55109 0,25.36643"
+ id="path8660-7-1-4-2-3-4"
+ inkscape:connector-curvature="0" />
+ <g
+ transform="matrix(1.000443,0,0,0.89465497,-30.439438,229.94403)"
+ id="g3438-2">
+ <g
+ id="g7958-9-7"
+ transform="matrix(0.78732502,0,0,0.61113587,448.75651,159.243)">
+ <rect
+ style="fill:#f4d5d3;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-56-79"
+ width="19.690214"
+ height="46.621613"
+ x="114.32729"
+ y="406.50797" />
+ <rect
+ style="fill:#dcf4d3;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-0-1-3"
+ width="70.421326"
+ height="46.621613"
+ x="132.82446"
+ y="406.50797" />
+ <rect
+ style="fill:#d3e5f4;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-5-1-19"
+ width="19.690214"
+ height="46.621613"
+ x="192.63127"
+ y="406.50797" />
+ </g>
+ <text
+ sodipodi:linespacing="125%"
+ transform="scale(1.0074647,0.9925906)"
+ id="text7732-86"
+ y="429.55127"
+ x="564.28278"
+ style="font-size:9px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ xml:space="preserve"><tspan
+ y="429.55127"
+ x="564.28278"
+ id="tspan7734-5"
+ sodipodi:role="line">obj 2</tspan></text>
+ </g>
+ <g
+ transform="matrix(1.000443,0,0,0.89465497,-30.439438,201.89749)"
+ id="g3438-28">
+ <g
+ id="g7958-9-6"
+ transform="matrix(0.78732502,0,0,0.61113587,448.75651,159.243)">
+ <rect
+ style="fill:#f4d5d3;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-56-0"
+ width="19.690214"
+ height="46.621613"
+ x="114.32729"
+ y="406.50797" />
+ <rect
+ style="fill:#dcf4d3;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-0-1-2"
+ width="70.421326"
+ height="46.621613"
+ x="132.82446"
+ y="406.50797" />
+ <rect
+ style="fill:#d3e5f4;fill-opacity:1;stroke:#000000;stroke-width:0.8069638;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-90-0-1-5-1-4"
+ width="19.690214"
+ height="46.621613"
+ x="192.63127"
+ y="406.50797" />
+ </g>
+ <text
+ sodipodi:linespacing="125%"
+ transform="scale(1.0074647,0.9925906)"
+ id="text7732-865"
+ y="429.55127"
+ x="564.28278"
+ style="font-size:9px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ xml:space="preserve"><tspan
+ y="429.55127"
+ x="564.28278"
+ id="tspan7734-0"
+ sodipodi:role="line">obj 1</tspan></text>
+ </g>
+ <g
+ transform="translate(149.18412,20.841779)"
+ id="g3556-6">
+ <rect
+ ry="4.7672176"
+ rx="1.4663186"
+ y="520.37323"
+ x="115.01109"
+ height="31.325468"
+ width="89.278099"
+ id="rect7129-7-1"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.30787912;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="134.92958"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-59-3"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="146.02029"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-3-4-8"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="123.83889"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-4-8-9"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="172.97792"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-59-9-3"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="184.06863"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-3-4-0-4"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="3.2512298"
+ rx="4.1153607"
+ y="524.04962"
+ x="161.88724"
+ height="24.609037"
+ width="10.611463"
+ id="rect7129-7-6-4-8-3-4"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.42595267;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ </g>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.73036075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-35-0"
+ width="20.112448"
+ height="38.173069"
+ x="380.38757"
+ y="634.04816"
+ rx="7.8000541"
+ ry="5.0432453" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.73036075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-5-6"
+ width="20.112448"
+ height="38.173069"
+ x="360.03381"
+ y="634.04816"
+ rx="7.8000541"
+ ry="5.0432453" />
+ <rect
+ style="fill:#cadae7;fill-opacity:1;stroke:#000000;stroke-width:0.73036075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-9-6"
+ width="20.112448"
+ height="38.173069"
+ x="300.46088"
+ y="634.04816"
+ rx="7.8000541"
+ ry="5.0432453" />
+ <rect
+ style="fill:#cadae7;fill-opacity:1;stroke:#000000;stroke-width:0.73036075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect7129-7-6-2-1"
+ width="20.112448"
+ height="38.173069"
+ x="280.10709"
+ y="634.04816"
+ rx="7.8000541"
+ ry="5.0432453" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.96962595px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend-597)"
+ d="m 309.03989,635.58347 c 54.10887,-39.54055 199.04889,6.60616 199.04889,6.60616"
+ id="path7404-01-9"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="226.20416"
+ y="527.87885"
+ id="text7854-7"><tspan
+ sodipodi:role="line"
+ x="226.20416"
+ y="527.87885"
+ id="tspan3741-3">core 0 </tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="226.20416"
+ y="561.84998"
+ id="text7854-7-8"><tspan
+ sodipodi:role="line"
+ x="226.20416"
+ y="561.84998"
+ id="tspan3741-3-4">core 1 </tspan></text>
+ <rect
+ style="fill:#fdd99b"
+ id="rect3876"
+ width="72.608757"
+ height="34.871315"
+ x="95.060158"
+ y="494.42117"
+ rx="0"
+ ry="6.9517722" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="100.74176"
+ y="503.22147"
+ id="text7854-76"><tspan
+ sodipodi:role="line"
+ x="100.74176"
+ y="503.22147"
+ id="tspan3903">Core 0</tspan></text>
+ <g
+ id="g4029"
+ transform="translate(-53.501193,101.7478)">
+ <rect
+ rx="0.47768921"
+ ry="6.9264936"
+ y="406.16937"
+ x="153.81593"
+ height="13.852987"
+ width="54.934261"
+ id="rect4027"
+ style="fill:#b3defd" />
+ <text
+ id="text7854-76-1"
+ y="415.91406"
+ x="157.29335"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:9px"
+ id="tspan3903-4"
+ y="415.91406"
+ x="157.29335"
+ sodipodi:role="line">App A - ring</tspan></text>
+ </g>
+ <rect
+ style="fill:#fdd99b"
+ id="rect3876-2"
+ width="72.608757"
+ height="46.813545"
+ x="94.482468"
+ y="540.22198"
+ rx="0"
+ ry="9.3325157" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="100.16406"
+ y="549.02228"
+ id="text7854-76-0"><tspan
+ sodipodi:role="line"
+ x="100.16406"
+ y="549.02228"
+ id="tspan3903-0">Core 1</tspan></text>
+ <g
+ id="g4029-1"
+ transform="translate(-54.078888,147.54861)">
+ <rect
+ rx="0.47768921"
+ ry="6.9264936"
+ y="406.16937"
+ x="153.81593"
+ height="13.852987"
+ width="54.934261"
+ id="rect4027-4"
+ style="fill:#b3defd" />
+ <text
+ id="text7854-76-1-6"
+ y="415.91406"
+ x="157.29335"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:9px"
+ id="tspan3903-4-0"
+ y="415.91406"
+ x="157.29335"
+ sodipodi:role="line">App B - ring</tspan></text>
+ </g>
+ <g
+ transform="translate(-0.5777,45.80081)"
+ id="g4065-7">
+ <g
+ transform="translate(140.67947,34.989454)"
+ id="g4029-7-1">
+ <g
+ id="g4071-7"
+ transform="translate(-194.18066,82.162546)">
+ <rect
+ rx="0.47768921"
+ ry="6.9264936"
+ y="406.16937"
+ x="153.81593"
+ height="13.852987"
+ width="54.934261"
+ id="rect4027-5-7"
+ style="fill:#b3defd" />
+ <text
+ id="text7854-76-1-4-7"
+ y="415.91406"
+ x="157.29335"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:9px"
+ id="tspan3903-4-1-7"
+ y="415.91406"
+ x="157.29335"
+ sodipodi:role="line">App C - ring</tspan></text>
+ </g>
+ </g>
+ </g>
+ <path
+ style="fill:none;stroke:#00c800;stroke-width:1.32761669;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.4000001;stroke-opacity:1;stroke-dasharray:1.32761664, 1.32761664;stroke-dashoffset:0;marker-start:url(#marker3336);marker-mid:none;marker-end:url(#Arrow1Mend-597-8)"
+ d="m 168.54117,516.87256 c 94.74872,0 94.74872,0 94.74872,0"
+ id="path4182"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#00c800;stroke-width:1.32761669;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.4000001;stroke-opacity:1;stroke-dasharray:1.32761664, 1.32761664;stroke-dashoffset:0;marker-start:url(#marker3336);marker-mid:none;marker-end:url(#Arrow1Mend-597-8)"
+ d="m 169.01886,550.31081 c 94.74872,0 94.74872,0 94.74872,0"
+ id="path4182-3"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#00ed00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.91891892;stroke-dasharray:6, 1;stroke-dashoffset:0;marker-start:url(#marker3336-8);marker-mid:none;marker-end:url(#Arrow1Mend-597-8-5)"
+ d="m 390.74978,523.08253 62.0996,0 0.95537,134.23068 -24.83983,0"
+ id="path3159"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="371.70807"
+ y="551.9433"
+ id="text7396-0"><tspan
+ sodipodi:role="line"
+ id="tspan7398-9"
+ x="371.70807"
+ y="551.9433">If cache empty get from ring</tspan><tspan
+ sodipodi:role="line"
+ x="371.70807"
+ y="564.4433"
+ id="tspan6215">if cache full move to ring</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/multi_process_memory.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/multi_process_memory.svg
new file mode 100644
index 00000000..03f17d70
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/multi_process_memory.svg
@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2011>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="964.6286"
+ height="712.48572"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="multi_process_memory.svg">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend"
+ style="overflow:visible">
+ <path
+ id="path4444"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend-9"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4444-5"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend-3"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4444-1"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend-33"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4444-4"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend-1"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4444-3"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend-7"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4444-42"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend-79"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4444-31"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.49497475"
+ inkscape:cx="423.04622"
+ inkscape:cy="21.821827"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer2"
+ showgrid="false"
+ inkscape:window-width="833"
+ inkscape:window-height="1860"
+ inkscape:window-x="0"
+ inkscape:window-y="19"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Boxes"
+ style="display:inline"
+ transform="translate(-6.971426,-3.4491554)">
+ <rect
+ style="fill:#000000;fill-opacity:0;stroke:#4f81bd;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766"
+ width="651.46539"
+ height="675.75104"
+ x="8.5530262"
+ y="5.0307555" />
+ <rect
+ style="fill:none;stroke:#9bbb59;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766-1"
+ width="689.95074"
+ height="675.66498"
+ x="276.897"
+ y="35.160461" />
+ <rect
+ style="fill:#4f81bd;fill-opacity:1;stroke:#385d8a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766-7"
+ width="291.5658"
+ height="353.70859"
+ x="305.64566"
+ y="302.12341" />
+ <rect
+ style="fill:#4f81bd;fill-opacity:1;stroke:#385d8a;stroke-width:1.15872633;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766-7-4"
+ width="291.97849"
+ height="52.692719"
+ x="306.15363"
+ y="154.41705" />
+ <rect
+ style="fill:#4f81bd;fill-opacity:1;stroke:#385d8a;stroke-width:1.15872633;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766-7-4-0"
+ width="291.97849"
+ height="52.692719"
+ x="306.86792"
+ y="82.988503" />
+ <rect
+ style="display:inline;fill:#f79646;fill-opacity:1;stroke:#b66d31;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766-7-4-0-9"
+ width="204.64998"
+ height="98.971535"
+ x="721.32574"
+ y="222.98723"
+ inkscape:transform-center-x="43.055764"
+ inkscape:transform-center-y="-77.814359" />
+ <rect
+ style="display:inline;fill:#f79646;fill-opacity:1;stroke:#b66d31;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766-7-4-0-9-4"
+ width="204.64998"
+ height="98.971535"
+ x="721.24646"
+ y="434.84909"
+ inkscape:transform-center-x="43.055764"
+ inkscape:transform-center-y="-77.814359" />
+ <rect
+ style="display:inline;fill:#f79646;fill-opacity:1;stroke:#b66d31;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766-7-4-0-9-4-8"
+ width="204.64998"
+ height="98.971535"
+ x="47.675011"
+ y="416.99194"
+ inkscape:transform-center-x="43.055764"
+ inkscape:transform-center-y="-77.814359" />
+ <rect
+ style="display:inline;fill:#f79646;fill-opacity:1;stroke:#b66d31;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3766-7-4-0-9-4-82"
+ width="204.64998"
+ height="98.971535"
+ x="49.10358"
+ y="231.27766"
+ inkscape:transform-center-x="43.055764"
+ inkscape:transform-center-y="-77.814359" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="greenBox"
+ style="display:inline"
+ transform="translate(-6.971426,-3.4491554)" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="text"
+ style="display:inline"
+ transform="translate(-6.971426,-3.4491554)">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="21.428572"
+ y="40.763428"
+ id="text4017"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4019"
+ x="21.428572"
+ y="40.763428"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-align:start;writing-mode:lr;text-anchor:start">Primary Process</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ x="721.35742"
+ y="74.058273"
+ id="text4017-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="721.35742"
+ y="74.058273"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
+ id="tspan4042">Secondary Process</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ x="345.56345"
+ y="118.94552"
+ id="text4017-1-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="345.56345"
+ y="118.94552"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ id="tspan4042-2">struct rte_config</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ x="329.29858"
+ y="190.7099"
+ id="text4017-1-5-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="329.29858"
+ y="190.7099"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ id="tspan4042-2-6">struct hugepage[]</tspan></text>
+ <g
+ id="g3397"
+ transform="translate(-7.9908447,0)">
+ <rect
+ inkscape:transform-center-y="-28.646778"
+ inkscape:transform-center-x="45.999213"
+ y="315.75287"
+ x="350.09912"
+ height="36.435623"
+ width="218.64056"
+ id="rect3766-7-4-0-9-4-82-4"
+ style="display:inline;fill:#9bbb59;fill-opacity:1;stroke:#71893f;stroke-width:1.88143289;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4017-1-5-7-1"
+ y="343.07202"
+ x="385.94675"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ id="tspan4042-2-6-4"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ y="343.07202"
+ x="385.94675"
+ sodipodi:role="line">IPC Queue</tspan></text>
+ </g>
+ <g
+ id="g3403"
+ transform="translate(-8.3046417,0)">
+ <rect
+ inkscape:transform-center-y="-27.55431"
+ inkscape:transform-center-x="45.857146"
+ y="361.35611"
+ x="350.75052"
+ height="35.046124"
+ width="217.96536"
+ id="rect3766-7-4-0-9-4-82-4-5"
+ style="display:inline;fill:#9bbb59;fill-opacity:1;stroke:#71893f;stroke-width:1.84235787;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4017-1-5-7-1-2"
+ y="387.84317"
+ x="386.26056"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ id="tspan4042-2-6-4-3"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ y="387.84317"
+ x="386.26056"
+ sodipodi:role="line">IPC Queue</tspan></text>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none"
+ x="450.79965"
+ y="453.50308"
+ id="text4017-1-5-7-1-22"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="450.79965"
+ y="453.50308"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1"
+ id="tspan4042-2-6-4-1">Hugepage</tspan><tspan
+ sodipodi:role="line"
+ x="450.79965"
+ y="488.50308"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1"
+ id="tspan4139">DPDK</tspan><tspan
+ sodipodi:role="line"
+ x="450.79965"
+ y="523.50305"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1"
+ id="tspan4141">Memory</tspan></text>
+ <g
+ id="g3409"
+ transform="translate(2.9908447,0)">
+ <rect
+ inkscape:transform-center-y="-50.045247"
+ inkscape:transform-center-x="44.976048"
+ y="558.2616"
+ x="341.54904"
+ height="63.65218"
+ width="213.77734"
+ id="rect3766-7-4-0-9-4-82-4-51"
+ style="display:inline;fill:#9bbb59;fill-opacity:1;stroke:#71893f;stroke-width:2.45893884;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text4017-1-5-7-1-2-6"
+ y="599.97522"
+ x="380.17404"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ xml:space="preserve"><tspan
+ id="tspan4042-2-6-4-3-8"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ y="599.97522"
+ x="380.17404"
+ sodipodi:role="line">Mbuf Pool</tspan></text>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ x="725.76013"
+ y="282.91147"
+ id="text4017-1-5-7-1-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="725.76013"
+ y="282.91147"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ id="tspan4042-2-6-4-7">Local Pointers</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none"
+ x="64.02623"
+ y="290.0835"
+ id="text4017-1-5-7-1-5-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="64.02623"
+ y="290.0835"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ id="tspan4042-2-6-4-7-1">Local Pointers</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ x="75.720703"
+ y="476.9162"
+ id="text4017-1-5-7-1-5-8"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="75.720703"
+ y="476.9162"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ id="tspan4042-2-6-4-7-9">Local Data</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
+ x="749.29218"
+ y="494.77335"
+ id="text4017-1-5-7-1-5-8-2"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="749.29218"
+ y="494.77335"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:28px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1"
+ id="tspan4042-2-6-4-7-9-7">Local Data</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="arrows"
+ transform="translate(-6.971426,-3.4491554)"
+ sodipodi:insensitive="true">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Lend)"
+ d="m 722.25907,271.34707 c -80.8122,1.01015 -80.8122,0 -80.8122,0 l 0.25253,31.31473 -42.67894,1.01015"
+ id="path4237"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Lend)"
+ d="m 724.5894,294.4895 c -41.17107,0.51464 -73.99367,0 -73.99367,0 l 0.25253,31.31473 -49.49747,1.01015"
+ id="path4237-4"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Lend)"
+ d="m 725.10676,318.89425 c -39.40874,0.49261 -55.05332,0 -55.05332,0 l 0.25253,31.31473 -68.43783,1.01015"
+ id="path4237-4-2"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Lend)"
+ d="m 255.32974,281.15007 c 33.82,0.72002 33.82,0 33.82,0 l -0.10568,22.32053 17.8612,0.72002"
+ id="path4237-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Lend)"
+ d="m 255.32862,311.71187 c 32.37024,0.72064 32.37024,0 32.37024,0 l -0.10115,22.33983 17.09555,0.72065"
+ id="path4237-1-8"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Lend)"
+ d="m 255.19261,329.94717 c 4.60017,0 9.64181,0 9.64181,0 l -0.10115,22.33983 40.32906,0.21557"
+ id="path4237-1-8-7"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow2Lend)"
+ d="m 597.90147,108.2578 27.11283,0.22299 0.34379,138.10881 -173.59785,0.93728 -1.42451,53.57716"
+ id="path4237-1-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 599.273,179.67573 25.25381,0"
+ id="path5371"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/packet_distributor1.png b/src/seastar/dpdk/doc/guides/prog_guide/img/packet_distributor1.png
new file mode 100644
index 00000000..da8d4447
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/packet_distributor1.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/packet_distributor2.png b/src/seastar/dpdk/doc/guides/prog_guide/img/packet_distributor2.png
new file mode 100644
index 00000000..6ab58a4e
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/packet_distributor2.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/pipe_prefetch_sm.png b/src/seastar/dpdk/doc/guides/prog_guide/img/pipe_prefetch_sm.png
new file mode 100644
index 00000000..983c7eff
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/pipe_prefetch_sm.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_drop_probability.png b/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_drop_probability.png
new file mode 100644
index 00000000..a3a9e99f
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_drop_probability.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_flow_kni.png b/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_flow_kni.png
new file mode 100644
index 00000000..ab730bb4
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_flow_kni.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_proc_pipeline_qos.png b/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_proc_pipeline_qos.png
new file mode 100644
index 00000000..3bc2e7bf
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/pkt_proc_pipeline_qos.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/prefetch_pipeline.png b/src/seastar/dpdk/doc/guides/prog_guide/img/prefetch_pipeline.png
new file mode 100644
index 00000000..dc4843c4
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/prefetch_pipeline.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue1.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue1.svg
new file mode 100644
index 00000000..7857e143
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue1.svg
@@ -0,0 +1,690 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="483.85715"
+ height="379.43784"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-dequeue1.svg"
+ inkscape:export-filename="/home/matz/rapports/doc/intel/architecture_docs/ring-dequeue1.png"
+ inkscape:export-xdpi="200"
+ inkscape:export-ydpi="200">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5710"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5738"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3256"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-4"
+ style="overflow:visible">
+ <path
+ id="path4317-78"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3262"
+ style="overflow:visible">
+ <path
+ id="path3264"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3266"
+ style="overflow:visible">
+ <path
+ id="path3268"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.73116"
+ inkscape:cy="153.16458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1059"
+ inkscape:window-x="955"
+ inkscape:window-y="-6"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-163.07143px"
+ originy="-372.13525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-163.07143,-300.78909)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="601.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="601.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="507.2981"
+ y="600.81482"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="507.2981"
+ y="600.81482">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="508.75146"
+ y="587.72028"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="508.75146"
+ y="587.72028">prod_tail</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.28571"
+ y="310.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="174.28571"
+ y="310.93362">local variables</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="680.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="680.09021">structure state</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 540,575.57647 0,-42.14286"
+ id="path4309-4-3"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="476.46902"
+ y="495.12097"
+ id="text4269-5-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-5"
+ x="476.46902"
+ y="495.12097">obj4</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 322.81905,406.5281 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 539.9619,406.5281 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="269.70093"
+ y="398.57574"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="269.70093"
+ y="398.57574">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="509.25998"
+ y="398.57574"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="509.25998"
+ y="398.57574">prod_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="361.71335"
+ y="398.57574"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="361.71335"
+ y="398.57574">cons_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 378.28037,406.5281 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue2.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue2.svg
new file mode 100644
index 00000000..9bed3734
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue2.svg
@@ -0,0 +1,653 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="484.05716"
+ height="383.1066"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-dequeue2.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5710"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5738"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5826"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-63"
+ style="overflow:visible">
+ <path
+ id="path4317-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="155.28411"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="376"
+ inkscape:window-y="19"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-370.01572px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-299.23987)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="355.71429"
+ y="591.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="355.71429"
+ y="591.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="276.16763"
+ y="591.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="276.16763"
+ y="591.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="503.2981"
+ y="606.81482"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="503.2981"
+ y="606.81482">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="510.75146"
+ y="589.72028"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="510.75146"
+ y="589.72028">prod_tail</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.28571"
+ y="310.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="174.28571"
+ y="310.93362">local variables</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="682.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="682.09021">structure state</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 542.39581,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="272.13486"
+ y="399.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="272.13486"
+ y="399.48123">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="511.69391"
+ y="399.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="511.69391"
+ y="399.48123">prod_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="364.14728"
+ y="399.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="364.14728"
+ y="399.48123">cons_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 380.71428,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 540,575.57647 0,-42.14286"
+ id="path4309-4-3"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="476.46902"
+ y="495.12097"
+ id="text4269-5-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-5"
+ x="476.46902"
+ y="495.12097">obj4</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 380.71429,577.71932 0,-42.14286"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue3.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue3.svg
new file mode 100644
index 00000000..876aa876
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-dequeue3.svg
@@ -0,0 +1,648 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="484.05716"
+ height="383.63785"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-dequeue3.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5710"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5738"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5826"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-63"
+ style="overflow:visible">
+ <path
+ id="path4317-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="155.26458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="433"
+ inkscape:window-y="26"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-370.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-298.68909)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="345.71429"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="345.71429"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="345.73907"
+ y="601.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="345.73907"
+ y="601.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="505.2981"
+ y="600.81482"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="505.2981"
+ y="600.81482">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="506.75146"
+ y="587.72028"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="506.75146"
+ y="587.72028">prod_tail</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.28571"
+ y="308.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="174.28571"
+ y="308.93362">local variables</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="682.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="682.09021">structure state</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 542.39581,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="284.13486"
+ y="399.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="284.13486"
+ y="399.48123">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="513.69391"
+ y="399.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="513.69391"
+ y="399.48123">prod_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="370.14728"
+ y="399.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="370.14728"
+ y="399.48123">cons_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 380.71428,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 540,575.57647 0,-42.14286"
+ id="path4309-4-3"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="476.46902"
+ y="495.12097"
+ id="text4269-5-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-5"
+ x="476.46902"
+ y="495.12097">obj4</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 380.71429,577.71932 0,-42.14286"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue1.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue1.svg
new file mode 100644
index 00000000..e7030ebf
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue1.svg
@@ -0,0 +1,599 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="484.05716"
+ height="383.63785"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-enqueue1.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="155.26458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="441"
+ inkscape:window-y="20"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-370.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-298.68909)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 487.14286,575.21933 0,-42.14286"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="603.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="603.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="453.5838"
+ y="587.9577"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="453.5838"
+ y="587.9577">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="455.03714"
+ y="602.57739"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="455.03714"
+ y="602.57739">prod_tail</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="168.28571"
+ y="308.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="168.28571"
+ y="308.93362">local variables</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="682.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="682.09021">structure state</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 486.68152,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="296.992"
+ y="399.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="296.992"
+ y="399.48123">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="438.26532"
+ y="399.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="438.26532"
+ y="399.48123">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="520.43298"
+ y="399.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="520.43298"
+ y="399.48123">prod_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 537.14285,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue2.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue2.svg
new file mode 100644
index 00000000..964b66a7
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue2.svg
@@ -0,0 +1,643 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="484.05716"
+ height="383.63785"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-enqueue2.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5710"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5738"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="155.26458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="514"
+ inkscape:window-y="28"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-370.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-298.68909)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 487.14286,575.21933 0,-42.14286"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="603.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="603.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="521.01233"
+ y="587.9577"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="521.01233"
+ y="587.9577">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="449.75146"
+ y="587.72028"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="449.75146"
+ y="587.72028">prod_tail</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.28571"
+ y="308.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="170.28571"
+ y="308.93362">local variables</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="682.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="682.09021">structure state</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 486.68152,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="296.992"
+ y="399.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="296.992"
+ y="399.48123">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="438.26532"
+ y="399.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="438.26532"
+ y="399.48123">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="520.43298"
+ y="399.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="520.43298"
+ y="399.48123">prod_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 537.14285,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 540,575.57647 0,-42.14286"
+ id="path4309-4-3"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="476.46902"
+ y="495.12097"
+ id="text4269-5-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-5"
+ x="476.46902"
+ y="495.12097">obj4</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue3.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue3.svg
new file mode 100644
index 00000000..192ef7c2
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-enqueue3.svg
@@ -0,0 +1,638 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="484.05716"
+ height="385.63785"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-enqueue3.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5710"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5738"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="157.26458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="293"
+ inkscape:window-y="16"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-368.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-298.68909)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="603.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="603.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="507.2981"
+ y="602.81482"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="507.2981"
+ y="602.81482">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="512.75146"
+ y="587.72028"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="512.75146"
+ y="587.72028">prod_tail</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="172.28571"
+ y="308.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="172.28571"
+ y="308.93362">local variables</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="684.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="684.09021">structure state</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 486.68152,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="296.992"
+ y="399.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="296.992"
+ y="399.48123">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="440.26532"
+ y="399.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="440.26532"
+ y="399.48123">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="522.43298"
+ y="399.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="522.43298"
+ y="399.48123">prod_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 537.14285,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 540,575.57647 0,-42.14286"
+ id="path4309-4-3"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="476.46902"
+ y="495.12097"
+ id="text4269-5-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-5"
+ x="476.46902"
+ y="495.12097">obj4</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-modulo1.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-modulo1.svg
new file mode 100644
index 00000000..852e7335
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-modulo1.svg
@@ -0,0 +1,807 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# BSD LICENSE
+# Copyright (c) <2010-2014>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="576.07806"
+ height="152.68279"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-modulo1.svg">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3599"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path3593"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend"
+ style="overflow:visible">
+ <path
+ id="path3614"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective4048"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4115"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4115-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4115-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-74"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-17"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-26"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4373"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4373-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4409"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4434"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4459"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4490"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5102"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5974"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart-3"
+ style="overflow:visible">
+ <path
+ id="path3599-9"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path3602"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.959798"
+ inkscape:cx="393.92211"
+ inkscape:cy="95.26088"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1424"
+ inkscape:window-height="1059"
+ inkscape:window-x="271"
+ inkscape:window-y="29"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-78.921385,-378.7493)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+ d="m 98.571429,407.3798 c 555.000001,0 555.000001,0 555.000001,0"
+ id="path2816"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 113.57143,401.6479 0,11.42857"
+ id="path4038"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 162.61904,401.6479 0,11.42857"
+ id="path4038-4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 211.66667,401.6479 0,11.42857"
+ id="path4038-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 260.71427,401.6479 0,11.42857"
+ id="path4038-5"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 309.76191,401.6479 0,11.42857"
+ id="path4038-3"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 358.80952,401.6479 0,11.42857"
+ id="path4038-1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 407.85712,401.6479 0,11.42857"
+ id="path4038-32"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 456.90477,401.6479 0,11.42857"
+ id="path4038-32-0"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 505.95238,401.6479 0,11.42857"
+ id="path4038-32-1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 555,401.6479 0,11.42857"
+ id="path4038-32-5"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147"
+ width="47.098743"
+ height="14.773863"
+ x="113.51569"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-4"
+ width="47.098743"
+ height="14.773863"
+ x="162.81586"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-6"
+ width="47.098743"
+ height="14.773863"
+ x="212.11604"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-69"
+ width="47.098743"
+ height="14.773863"
+ x="261.41623"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-7"
+ width="47.098743"
+ height="14.773863"
+ x="310.7164"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-5"
+ width="47.098743"
+ height="14.773863"
+ x="360.01657"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-54"
+ width="47.098743"
+ height="14.773863"
+ x="409.31677"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-43"
+ width="47.098743"
+ height="14.773863"
+ x="458.61694"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-78"
+ width="47.098743"
+ height="14.773863"
+ x="507.91714"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="110.10663"
+ y="397.88794"
+ id="text4234"><tspan
+ sodipodi:role="line"
+ id="tspan4236"
+ x="110.10663"
+ y="397.88794">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="146.47003"
+ y="397.88794"
+ id="text4234-6"><tspan
+ sodipodi:role="line"
+ id="tspan4236-8"
+ x="146.47003"
+ y="397.88794">16384</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="196.06828"
+ y="397.88794"
+ id="text4234-4"><tspan
+ sodipodi:role="line"
+ id="tspan4236-3"
+ x="196.06828"
+ y="397.88794">32768</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="245.73245"
+ y="397.88794"
+ id="text4234-49"><tspan
+ sodipodi:role="line"
+ id="tspan4236-2"
+ x="245.73245"
+ y="397.88794">49152</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="294.8107"
+ y="397.88794"
+ id="text4234-68"><tspan
+ sodipodi:role="line"
+ id="tspan4236-9"
+ x="294.8107"
+ y="397.88794">65536</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="306.93814"
+ y="386.27118"
+ id="text4234-66"><tspan
+ sodipodi:role="line"
+ id="tspan4236-4"
+ x="306.93814"
+ y="386.27118">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="503.41278"
+ y="386.27118"
+ id="text4234-2"><tspan
+ sodipodi:role="line"
+ id="tspan4236-72"
+ x="503.41278"
+ y="386.27118">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="343.9451"
+ y="397.88794"
+ id="text4234-6-1"><tspan
+ sodipodi:role="line"
+ id="tspan4236-8-5"
+ x="343.9451"
+ y="397.88794">16384</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="541.42017"
+ y="397.88794"
+ id="text4234-6-4"><tspan
+ sodipodi:role="line"
+ id="tspan4236-8-9"
+ x="541.42017"
+ y="397.88794">16384</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="393.54333"
+ y="397.88794"
+ id="text4234-4-0"><tspan
+ sodipodi:role="line"
+ id="tspan4236-3-9"
+ x="393.54333"
+ y="397.88794">32768</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="443.20752"
+ y="397.88794"
+ id="text4234-49-1"><tspan
+ sodipodi:role="line"
+ id="tspan4236-2-7"
+ x="443.20752"
+ y="397.88794">49152</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="492.28577"
+ y="397.88794"
+ id="text4234-68-7"><tspan
+ sodipodi:role="line"
+ id="tspan4236-9-1"
+ x="492.28577"
+ y="397.88794">65536</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="125.76399"
+ y="434.6539"
+ id="text4476"><tspan
+ sodipodi:role="line"
+ id="tspan4478"
+ x="125.76399"
+ y="434.6539">ring</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
+ d="m 322.23865,441.72497 0,21.21321"
+ id="path4480"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
+ d="m 346.9874,441.72497 0,21.21321"
+ id="path4480-1"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="315.1676"
+ y="473.50385"
+ id="text5070"><tspan
+ sodipodi:role="line"
+ id="tspan5072"
+ x="315.1676"
+ y="473.50385">ch</tspan><tspan
+ sodipodi:role="line"
+ x="315.1676"
+ y="486.00385"
+ id="tspan5074">ct</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="341.41125"
+ y="472.53461"
+ id="text5076"><tspan
+ sodipodi:role="line"
+ id="tspan5078"
+ x="341.41125"
+ y="472.53461">ph</tspan><tspan
+ sodipodi:role="line"
+ x="341.41125"
+ y="485.03461"
+ id="tspan5080">pt</tspan></text>
+ <rect
+ style="fill:#5a750a;fill-opacity:1;stroke:none"
+ id="rect5082"
+ width="24.95269"
+ height="13.550571"
+ x="322.15198"
+ y="424.93753" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="582.85803"
+ y="421.52191"
+ id="text5084"><tspan
+ sodipodi:role="line"
+ id="tspan5086"
+ x="582.85803"
+ y="421.52191">value for</tspan><tspan
+ sodipodi:role="line"
+ x="582.85803"
+ y="434.02191"
+ id="tspan5088">indexes</tspan><tspan
+ sodipodi:role="line"
+ x="582.85803"
+ y="446.52191"
+ id="tspan5090">(prod_head,</tspan><tspan
+ sodipodi:role="line"
+ x="582.85803"
+ y="459.02191"
+ id="tspan5092">prod_tail, ...)</tspan></text>
+ <rect
+ style="fill:#5a750a;fill-opacity:1;stroke:none"
+ id="rect5082-5"
+ width="24.95269"
+ height="13.550571"
+ x="404.71667"
+ y="492.80005" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="434.3656"
+ y="502.33414"
+ id="text5116"><tspan
+ sodipodi:role="line"
+ x="434.3656"
+ y="502.33414"
+ id="tspan5293">used entries in ring</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="78.791893"
+ y="466.47369"
+ id="text5261"><tspan
+ sodipodi:role="line"
+ id="tspan5263"
+ x="78.791893"
+ y="466.47369">size = 16384</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="478.97369"
+ id="tspan5291">mask = 16383</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="491.47369"
+ id="tspan5289">ph = pt = 14000</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="503.97369"
+ id="tspan5265">ct = ch = 3000</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="516.47369"
+ id="tspan5267">used_entries = (pt - ch) % 65536 = 11000</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="528.97369"
+ id="tspan5287">free_entries = (mask + ct - ph) % 65536 = 5383</tspan></text>
+ <path
+ style="fill:#5a750a;fill-opacity:1;stroke:#fd0004;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 324.78109,452.09355 20.16896,0"
+ id="path5384"
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:4.97793007px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="323.23074"
+ y="458.94891"
+ id="text5962"><tspan
+ sodipodi:role="line"
+ id="tspan5964"
+ x="323.23074"
+ y="458.94891">used_entries</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-modulo2.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-modulo2.svg
new file mode 100644
index 00000000..68f046b6
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-modulo2.svg
@@ -0,0 +1,851 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="576.07806"
+ height="152.68279"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-modulo2.svg">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path3602"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path3605"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.2,0,0,0.2,1.2,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3599"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path3593"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend"
+ style="overflow:visible">
+ <path
+ id="path3614"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective4048"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4048-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4115"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4115-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4115-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-74"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4157-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-8"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-17"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4246-26"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4373"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4373-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4409"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4434"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4459"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4490"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5102"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5326"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5361"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5361-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective6129"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.979899"
+ inkscape:cx="108.52304"
+ inkscape:cy="76.1401"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1424"
+ inkscape:window-height="1059"
+ inkscape:window-x="117"
+ inkscape:window-y="26"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-78.921385,-378.7493)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+ d="m 98.571429,407.3798 c 555.000001,0 555.000001,0 555.000001,0"
+ id="path2816"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 113.57143,401.6479 0,11.42857"
+ id="path4038"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 162.61904,401.6479 0,11.42857"
+ id="path4038-4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 211.66667,401.6479 0,11.42857"
+ id="path4038-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 260.71427,401.6479 0,11.42857"
+ id="path4038-5"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 309.76191,401.6479 0,11.42857"
+ id="path4038-3"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 358.80952,401.6479 0,11.42857"
+ id="path4038-1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 407.85712,401.6479 0,11.42857"
+ id="path4038-32"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 456.90477,401.6479 0,11.42857"
+ id="path4038-32-0"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 505.95238,401.6479 0,11.42857"
+ id="path4038-32-1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 555,401.6479 0,11.42857"
+ id="path4038-32-5"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147"
+ width="47.098743"
+ height="14.773863"
+ x="113.51569"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-4"
+ width="47.098743"
+ height="14.773863"
+ x="162.81586"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-6"
+ width="47.098743"
+ height="14.773863"
+ x="212.11604"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-69"
+ width="47.098743"
+ height="14.773863"
+ x="261.41623"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-7"
+ width="47.098743"
+ height="14.773863"
+ x="310.7164"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-5"
+ width="47.098743"
+ height="14.773863"
+ x="360.01657"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-54"
+ width="47.098743"
+ height="14.773863"
+ x="409.31677"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-43"
+ width="47.098743"
+ height="14.773863"
+ x="458.61694"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <rect
+ style="fill:#ffae0a;fill-opacity:1;stroke:#000000;stroke-width:1.14199996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4147-78"
+ width="47.098743"
+ height="14.773863"
+ x="507.91714"
+ y="424.23651"
+ rx="4.7096338"
+ ry="4.3015814" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="110.10663"
+ y="397.88794"
+ id="text4234"><tspan
+ sodipodi:role="line"
+ id="tspan4236"
+ x="110.10663"
+ y="397.88794">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="146.47003"
+ y="397.88794"
+ id="text4234-6"><tspan
+ sodipodi:role="line"
+ id="tspan4236-8"
+ x="146.47003"
+ y="397.88794">16384</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="196.06828"
+ y="397.88794"
+ id="text4234-4"><tspan
+ sodipodi:role="line"
+ id="tspan4236-3"
+ x="196.06828"
+ y="397.88794">32768</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="245.73245"
+ y="397.88794"
+ id="text4234-49"><tspan
+ sodipodi:role="line"
+ id="tspan4236-2"
+ x="245.73245"
+ y="397.88794">49152</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="294.8107"
+ y="397.88794"
+ id="text4234-68"><tspan
+ sodipodi:role="line"
+ id="tspan4236-9"
+ x="294.8107"
+ y="397.88794">65536</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="306.93814"
+ y="386.27118"
+ id="text4234-66"><tspan
+ sodipodi:role="line"
+ id="tspan4236-4"
+ x="306.93814"
+ y="386.27118">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="503.41278"
+ y="386.27118"
+ id="text4234-2"><tspan
+ sodipodi:role="line"
+ id="tspan4236-72"
+ x="503.41278"
+ y="386.27118">0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="343.9451"
+ y="397.88794"
+ id="text4234-6-1"><tspan
+ sodipodi:role="line"
+ id="tspan4236-8-5"
+ x="343.9451"
+ y="397.88794">16384</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="541.42017"
+ y="397.88794"
+ id="text4234-6-4"><tspan
+ sodipodi:role="line"
+ id="tspan4236-8-9"
+ x="541.42017"
+ y="397.88794">16384</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="393.54333"
+ y="397.88794"
+ id="text4234-4-0"><tspan
+ sodipodi:role="line"
+ id="tspan4236-3-9"
+ x="393.54333"
+ y="397.88794">32768</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="443.20752"
+ y="397.88794"
+ id="text4234-49-1"><tspan
+ sodipodi:role="line"
+ id="tspan4236-2-7"
+ x="443.20752"
+ y="397.88794">49152</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="492.28577"
+ y="397.88794"
+ id="text4234-68-7"><tspan
+ sodipodi:role="line"
+ id="tspan4236-9-1"
+ x="492.28577"
+ y="397.88794">65536</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="125.76399"
+ y="434.6539"
+ id="text4476"><tspan
+ sodipodi:role="line"
+ id="tspan4478"
+ x="125.76399"
+ y="434.6539">ring</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
+ d="m 291.64075,441.72497 0,21.21321"
+ id="path4480"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)"
+ d="m 328.76387,441.72497 0,21.21321"
+ id="path4480-1"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="284.56973"
+ y="473.50385"
+ id="text5070"><tspan
+ sodipodi:role="line"
+ id="tspan5072"
+ x="284.56973"
+ y="473.50385">ch</tspan><tspan
+ sodipodi:role="line"
+ x="284.56973"
+ y="486.00385"
+ id="tspan5074">ct</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="323.18771"
+ y="472.53461"
+ id="text5076"><tspan
+ sodipodi:role="line"
+ id="tspan5078"
+ x="323.18771"
+ y="472.53461">ph</tspan><tspan
+ sodipodi:role="line"
+ x="323.18771"
+ y="485.03461"
+ id="tspan5080">pt</tspan></text>
+ <rect
+ style="fill:#5a750a;fill-opacity:1;stroke:none"
+ id="rect5082"
+ width="10.859776"
+ height="13.550571"
+ x="291.42346"
+ y="424.93753" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="582.85803"
+ y="421.52191"
+ id="text5084"><tspan
+ sodipodi:role="line"
+ id="tspan5086"
+ x="582.85803"
+ y="421.52191">value for</tspan><tspan
+ sodipodi:role="line"
+ x="582.85803"
+ y="434.02191"
+ id="tspan5088">indexes</tspan><tspan
+ sodipodi:role="line"
+ x="582.85803"
+ y="446.52191"
+ id="tspan5090">(prod_head,</tspan><tspan
+ sodipodi:role="line"
+ x="582.85803"
+ y="459.02191"
+ id="tspan5092">prod_tail, ...)</tspan></text>
+ <rect
+ style="fill:#5a750a;fill-opacity:1;stroke:none"
+ id="rect5082-5"
+ width="24.95269"
+ height="13.550571"
+ x="404.71667"
+ y="492.80005" />
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="434.3656"
+ y="502.33414"
+ id="text5116"><tspan
+ sodipodi:role="line"
+ x="434.3656"
+ y="502.33414"
+ id="tspan5293">used entries in ring</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:10px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="78.791893"
+ y="466.47369"
+ id="text5261"><tspan
+ sodipodi:role="line"
+ id="tspan5263"
+ x="78.791893"
+ y="466.47369">size = 16384</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="478.97369"
+ id="tspan5291">mask = 16383</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="491.47369"
+ id="tspan5289">ph = pt = 6000</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="503.97369"
+ id="tspan5265">ct = ch = 59000</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="516.47369"
+ id="tspan5267">used_entries = (pt - ch) % 65536 = 12536</tspan><tspan
+ sodipodi:role="line"
+ x="78.791893"
+ y="528.97369"
+ id="tspan5287">free_entries = (mask + ct - ph) % 65536 = 3847</tspan></text>
+ <rect
+ style="fill:#5a750a;fill-opacity:1;stroke:none"
+ id="rect5082-7"
+ width="15.608779"
+ height="13.550571"
+ x="310.98422"
+ y="424.93753"
+ rx="2.5021396"
+ ry="4" />
+ <rect
+ style="fill:#5a750a;fill-opacity:1;stroke:none"
+ id="rect5082-3"
+ width="14.649387"
+ height="13.550571"
+ x="293.27341"
+ y="424.93753"
+ rx="2.2558498"
+ ry="2.2" />
+ <rect
+ style="fill:#5a750a;fill-opacity:1;stroke:none"
+ id="rect5082-56"
+ width="13.128264"
+ height="13.550571"
+ x="315.93643"
+ y="424.93753" />
+ <path
+ style="fill:#5a750a;fill-opacity:1;stroke:#fd0004;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+ d="m 294.64286,452.71932 31.78571,0"
+ id="path5384"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:4.97793007px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="294.35522"
+ y="460.33231"
+ id="text5962"><tspan
+ sodipodi:role="line"
+ id="tspan5964"
+ x="294.35522"
+ y="460.33231">used_entries</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue1.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue1.svg
new file mode 100644
index 00000000..31c32dd5
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue1.svg
@@ -0,0 +1,738 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="485.48575"
+ height="369.70761"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-mp-enqueue1.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3157"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3193"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3218"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-94"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3224"
+ style="overflow:visible">
+ <path
+ id="path3226"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3228"
+ style="overflow:visible">
+ <path
+ id="path3230"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="157.26458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="464"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-368.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-314.61933)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 487.14286,575.21933 0,-42.14286"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="603.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="603.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="453.5838"
+ y="587.9577"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="453.5838"
+ y="587.9577">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="455.03714"
+ y="602.57739"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="455.03714"
+ y="602.57739">prod_tail</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889"
+ width="482.85718"
+ height="67.857185"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.28571"
+ y="326.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="174.28571"
+ y="326.93362">local variables </tspan><tspan
+ sodipodi:role="line"
+ x="174.28571"
+ y="344.43362"
+ id="tspan3698">core 2</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="684.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="684.09021">structure state</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 486.68152,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="296.992"
+ y="399.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="296.992"
+ y="399.48123">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="438.26532"
+ y="399.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="438.26532"
+ y="399.48123">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="518.43298"
+ y="399.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="518.43298"
+ y="399.48123">prod_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 537.14285,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-9"
+ width="482.85718"
+ height="69.285774"
+ x="165"
+ y="385.93359"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.65646"
+ y="398.23306"
+ id="text4891-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-1"
+ x="174.65646"
+ y="398.23306">local variables</tspan><tspan
+ sodipodi:role="line"
+ x="174.65646"
+ y="415.73306"
+ id="tspan3700">core 1</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 326.73097,334.53006 0,42.14286"
+ id="path4309-8-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 488.15953,334.53006 0,42.14286"
+ id="path4309-4-9-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="298.47"
+ y="326.57767"
+ id="text4787-3-64-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9-0"
+ x="298.47"
+ y="326.57767">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="439.74335"
+ y="326.57767"
+ id="text4787-7-5-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0-6"
+ x="439.74335"
+ y="326.57767">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="519.91101"
+ y="326.57767"
+ id="text4787-3-6-4-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8-0"
+ x="519.91101"
+ y="326.57767">prod_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 538.62086,334.53006 0,42.14286"
+ id="path4309-4-9-9-6"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue2.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue2.svg
new file mode 100644
index 00000000..0b30d0b4
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue2.svg
@@ -0,0 +1,779 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="485.48575"
+ height="403.06647"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-mp-enqueue2.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3157"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3193"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3218"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-94"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3224"
+ style="overflow:visible">
+ <path
+ id="path3226"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3228"
+ style="overflow:visible">
+ <path
+ id="path3230"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3334"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-3"
+ style="overflow:visible">
+ <path
+ id="path4317-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="155.26458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="336"
+ inkscape:window-y="21"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-370.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-279.26047)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 487.14286,575.21933 0,-42.14286"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="603.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="603.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="527.01239"
+ y="587.9577"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="527.01239"
+ y="587.9577">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="460.7514"
+ y="602.57739"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="460.7514"
+ y="602.57739">prod_tail</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889"
+ width="482.85718"
+ height="67.857185"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.28571"
+ y="328.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="174.28571"
+ y="328.93362">local variables</tspan><tspan
+ sodipodi:role="line"
+ x="174.28571"
+ y="346.43362"
+ id="tspan3918">core 2</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="682.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="682.09021">structure state</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 486.68152,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="296.992"
+ y="401.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="296.992"
+ y="401.48123">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="440.26532"
+ y="401.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="440.26532"
+ y="401.48123">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="522.43298"
+ y="401.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="522.43298"
+ y="401.48123">prod_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 537.14285,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0"
+ id="rect4889-9"
+ width="482.85718"
+ height="69.285774"
+ x="165"
+ y="385.93359"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.65646"
+ y="400.23306"
+ id="text4891-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-1"
+ x="174.65646"
+ y="400.23306">local variables</tspan><tspan
+ sodipodi:role="line"
+ x="174.65646"
+ y="417.73306"
+ id="tspan3920">core 1</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 326.73097,334.53006 0,42.14286"
+ id="path4309-8-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 537.44524,334.53006 0,42.14286"
+ id="path4309-4-9-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="298.47"
+ y="328.57767"
+ id="text4787-3-64-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9-0"
+ x="298.47"
+ y="328.57767">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="489.02905"
+ y="328.57767"
+ id="text4787-7-5-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0-6"
+ x="489.02905"
+ y="328.57767">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="571.19672"
+ y="328.57767"
+ id="text4787-3-6-4-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8-0"
+ x="571.19672"
+ y="328.57767">prod_next</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 587.90657,334.53006 0,42.14286"
+ id="path4309-4-9-9-6"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="447.85715"
+ y="289.505"
+ id="text3320"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3322"
+ x="447.85715"
+ y="289.505">compare and swap succeeds</tspan><tspan
+ sodipodi:role="line"
+ x="447.85715"
+ y="307.005"
+ id="tspan3324">on core 1 and fails on core 2</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 542.85715,575.57647 0,-42.14286"
+ id="path4309-4-0"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue3.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue3.svg
new file mode 100644
index 00000000..00b50c67
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue3.svg
@@ -0,0 +1,816 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="485.48575"
+ height="403.06647"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-mp-enqueue3.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3157"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3193"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3218"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-94"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3224"
+ style="overflow:visible">
+ <path
+ id="path3226"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3228"
+ style="overflow:visible">
+ <path
+ id="path3230"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3334"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-3"
+ style="overflow:visible">
+ <path
+ id="path4317-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4027"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4027-4"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="201.35119"
+ inkscape:cy="221.79811"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="223"
+ inkscape:window-y="22"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-370.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-279.26047)">
+ <rect
+ style="font-size:14px;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:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)"
+ style="font-size:14px;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:Arial;-inkscape-font-specification:Arial">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 487.14286,575.21933 0,-42.14286"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="603.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="603.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="527.01239"
+ y="587.9577"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="527.01239"
+ y="587.9577">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="460.7514"
+ y="602.57739"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="460.7514"
+ y="602.57739">prod_tail</tspan></text>
+ <rect
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4889"
+ width="482.85718"
+ height="67.857185"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.28571"
+ y="328.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="174.28571"
+ y="328.93362">local variables</tspan><tspan
+ sodipodi:role="line"
+ x="174.28571"
+ y="346.43362"
+ id="tspan4150">core 2</tspan></text>
+ <rect
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="682.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="682.09021">structure state</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 486.68152,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="296.992"
+ y="401.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="296.992"
+ y="401.48123">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="440.26532"
+ y="401.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="440.26532"
+ y="401.48123">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="522.43298"
+ y="401.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="522.43298"
+ y="401.48123">prod_next</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 537.14285,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4889-9"
+ width="482.85718"
+ height="69.285774"
+ x="165"
+ y="385.93359"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.65646"
+ y="398.23306"
+ id="text4891-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-1"
+ x="174.65646"
+ y="398.23306">local variables</tspan><tspan
+ sodipodi:role="line"
+ x="174.65646"
+ y="415.73306"
+ id="tspan4152">core 1</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 326.73097,334.53006 0,42.14286"
+ id="path4309-8-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 537.44524,334.53006 0,42.14286"
+ id="path4309-4-9-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="298.47"
+ y="328.57767"
+ id="text4787-3-64-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9-0"
+ x="298.47"
+ y="328.57767">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="489.02905"
+ y="328.57767"
+ id="text4787-7-5-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0-6"
+ x="489.02905"
+ y="328.57767">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="571.19672"
+ y="328.57767"
+ id="text4787-3-6-4-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8-0"
+ x="571.19672"
+ y="328.57767">prod_next</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 587.90657,334.53006 0,42.14286"
+ id="path4309-4-9-9-6"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="447.85715"
+ y="289.505"
+ id="text3320"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3322"
+ x="447.85715"
+ y="289.505">compare and swap succeeds</tspan><tspan
+ sodipodi:role="line"
+ x="447.85715"
+ y="307.005"
+ id="tspan3324">on core 2</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 542.85715,575.57647 0,-42.14286"
+ id="path4309-4-0"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="477.22983"
+ y="495.49646"
+ id="text4269-5-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-5"
+ x="477.22983"
+ y="495.49646">obj4</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="531.27301"
+ y="496.00156"
+ id="text4269-5-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-6"
+ x="531.27301"
+ y="496.00156">obj5</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue4.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue4.svg
new file mode 100644
index 00000000..1a5caa8f
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue4.svg
@@ -0,0 +1,816 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="485.48575"
+ height="403.06647"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-mp-enqueue4.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3157"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3193"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3218"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-94"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3224"
+ style="overflow:visible">
+ <path
+ id="path3226"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3228"
+ style="overflow:visible">
+ <path
+ id="path3230"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3334"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-3"
+ style="overflow:visible">
+ <path
+ id="path4317-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3603"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4184"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="155.26458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1002"
+ inkscape:window-x="173"
+ inkscape:window-y="21"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-370.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-279.26047)">
+ <rect
+ style="font-size:14px;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:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)"
+ style="font-size:14px;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:Arial;-inkscape-font-specification:Arial">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 540.71429,575.21933 0,-42.14286"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="603.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="603.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="572.15527"
+ y="587.9577"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="572.15527"
+ y="587.9577">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="501.03711"
+ y="600.57739"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="501.03711"
+ y="600.57739">prod_tail</tspan></text>
+ <rect
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4889"
+ width="482.85718"
+ height="67.857185"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.28571"
+ y="328.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="174.28571"
+ y="328.93362">local variables</tspan><tspan
+ sodipodi:role="line"
+ x="174.28571"
+ y="346.43362"
+ id="tspan4382">core 2</tspan></text>
+ <rect
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="682.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="682.09021">structure state</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 325.25296,407.43361 0,42.14286"
+ id="path4309-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 486.68152,407.43361 0,42.14286"
+ id="path4309-4-9"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="296.992"
+ y="401.48123"
+ id="text4787-3-64"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9"
+ x="296.992"
+ y="401.48123">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="438.26532"
+ y="401.48123"
+ id="text4787-7-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0"
+ x="438.26532"
+ y="401.48123">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="520.43298"
+ y="401.48123"
+ id="text4787-3-6-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8"
+ x="520.43298"
+ y="401.48123">prod_next</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 537.14285,407.43361 0,42.14286"
+ id="path4309-4-9-9"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4889-9"
+ width="482.85718"
+ height="69.285774"
+ x="165"
+ y="385.93359"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.65646"
+ y="400.23306"
+ id="text4891-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-1"
+ x="174.65646"
+ y="400.23306">local variables</tspan><tspan
+ sodipodi:role="line"
+ x="174.65646"
+ y="417.73306"
+ id="tspan4384">core 1</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 326.73097,334.53006 0,42.14286"
+ id="path4309-8-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 537.44524,334.53006 0,42.14286"
+ id="path4309-4-9-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="298.47"
+ y="328.57767"
+ id="text4787-3-64-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9-0"
+ x="298.47"
+ y="328.57767">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="491.02905"
+ y="328.57767"
+ id="text4787-7-5-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0-6"
+ x="491.02905"
+ y="328.57767">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="571.19672"
+ y="328.57767"
+ id="text4787-3-6-4-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8-0"
+ x="571.19672"
+ y="328.57767">prod_next</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 587.90657,334.53006 0,42.14286"
+ id="path4309-4-9-9-6"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="447.85715"
+ y="289.505"
+ id="text3320"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="447.85715"
+ y="289.505"
+ id="tspan4172">core 2 is waiting for</tspan><tspan
+ sodipodi:role="line"
+ x="447.85715"
+ y="307.005"
+ id="tspan4170">r-&gt;prod_tail == prod_head</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 590.00001,575.57647 0,-42.14286"
+ id="path4309-4-0"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="476.46906"
+ y="495.12097"
+ id="text4269-5-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-1"
+ x="476.46906"
+ y="495.12097">obj4</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="532.06372"
+ y="495.12097"
+ id="text4269-5-6-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-1-6"
+ x="532.06372"
+ y="495.12097">obj5</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue5.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue5.svg
new file mode 100644
index 00000000..dfc42138
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring-mp-enqueue5.svg
@@ -0,0 +1,724 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="484.05719"
+ height="367.70761"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring-mp-enqueue5.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4915"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4937"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4962"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4993"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-0"
+ style="overflow:visible">
+ <path
+ id="path4317-6"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4999"
+ style="overflow:visible">
+ <path
+ id="path5001"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5091"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path4317-0"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective5121"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective5121-9"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3157"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3193"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3218"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-94"
+ style="overflow:visible">
+ <path
+ id="path4317-7"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3224"
+ style="overflow:visible">
+ <path
+ id="path3226"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3228"
+ style="overflow:visible">
+ <path
+ id="path3230"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3334"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-3"
+ style="overflow:visible">
+ <path
+ id="path4317-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective3603"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4184"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="227.83116"
+ inkscape:cy="155.26458"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="1002"
+ inkscape:window-x="105"
+ inkscape:window-y="150"
+ inkscape:window-maximized="0"
+ inkscape:snap-grids="false"
+ inkscape:snap-to-guides="true"
+ showguides="false"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5162"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-162.97143px"
+ originy="-370.03525px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-162.97143,-314.61933)">
+ <rect
+ style="font-size:14px;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:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4257"
+ width="439.41635"
+ height="58.588848"
+ x="186.87822"
+ y="463.44324"
+ rx="11.631636"
+ ry="11.631636" />
+ <g
+ id="g4259"
+ transform="translate(108.51492,3.9469318)"
+ style="font-size:14px;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:Arial;-inkscape-font-specification:Arial">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="font-size:14px;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:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="313.90488"
+ y="495.49646"
+ id="text4269"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="313.90488"
+ y="495.49646">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="368.95203"
+ y="495.49646"
+ id="text4269-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="368.95203"
+ y="495.49646">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="422.99518"
+ y="495.49646"
+ id="text4269-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="422.99518"
+ y="495.49646">obj3</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 323.57143,578.07647 0,-42.14286"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="289.85715"
+ y="589.505"
+ id="text4787"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="289.85715"
+ y="589.505">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="293.45334"
+ y="603.41034"
+ id="text4787-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="293.45334"
+ y="603.41034">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="556.15527"
+ y="587.9577"
+ id="text4787-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="556.15527"
+ y="587.9577">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="564.7514"
+ y="602.57739"
+ id="text4787-3-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="564.7514"
+ y="602.57739">prod_tail</tspan></text>
+ <rect
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4889"
+ width="482.85718"
+ height="67.857185"
+ x="163.57143"
+ y="315.21933"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="174.28571"
+ y="328.93362"
+ id="text4891"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893"
+ x="174.28571"
+ y="328.93362">local variables</tspan><tspan
+ sodipodi:role="line"
+ x="174.28571"
+ y="346.43362"
+ id="tspan4582">core 2</tspan></text>
+ <rect
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
+ id="rect4889-8"
+ width="482.85715"
+ height="138.57147"
+ x="163.57143"
+ y="529.93365"
+ rx="11.631636"
+ ry="11.631636" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="170.89287"
+ y="682.09021"
+ id="text4891-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4893-3"
+ x="170.89287"
+ y="682.09021">structure state</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 326.73097,334.53006 0,42.14286"
+ id="path4309-8-8"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 537.44524,334.53006 0,42.14286"
+ id="path4309-4-9-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="298.47"
+ y="328.57767"
+ id="text4787-3-64-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-9-0"
+ x="298.47"
+ y="328.57767">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="491.02905"
+ y="328.57767"
+ id="text4787-7-5-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8-0-6"
+ x="491.02905"
+ y="328.57767">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="571.19672"
+ y="328.57767"
+ id="text4787-3-6-4-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8-8-0"
+ x="571.19672"
+ y="328.57767">prod_next</tspan></text>
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 587.90657,334.53006 0,42.14286"
+ id="path4309-4-9-9-6"
+ inkscape:connector-curvature="0" />
+ <path
+ style="font-size:14px;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:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
+ d="m 590.00001,575.57647 0,-42.14286"
+ id="path4309-4-0"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="476.46906"
+ y="495.12097"
+ id="text4269-5-6"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-1"
+ x="476.46906"
+ y="495.12097">obj4</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:14px;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;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+ x="532.06372"
+ y="495.12097"
+ id="text4269-5-6-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4-1-6"
+ x="532.06372"
+ y="495.12097">obj5</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/ring1.svg b/src/seastar/dpdk/doc/guides/prog_guide/img/ring1.svg
new file mode 100644
index 00000000..fa40465e
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/ring1.svg
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<!--
+# Copyright (c) <2010>, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# - Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# - Neither the name of Intel Corporation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+# OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<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="706.33063"
+ height="225.98906"
+ id="svg3388"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="ring1.svg">
+ <defs
+ id="defs3390">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4317"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3396" />
+ <inkscape:perspective
+ id="perspective4180"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-6"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-06"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-7"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4180-69"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4281-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4767"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path4317-4"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective4799"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4824"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="464.87528"
+ inkscape:cy="304.52676"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="958"
+ inkscape:window-height="1059"
+ inkscape:window-x="797"
+ inkscape:window-y="33"
+ inkscape:window-maximized="0"
+ fit-margin-top="0.1"
+ fit-margin-left="0.1"
+ fit-margin-right="0.1"
+ fit-margin-bottom="0.1" />
+ <metadata
+ id="metadata3393">
+ <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 />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-20.563935,-371.41468)">
+ <rect
+ style="fill:#ffd080;fill-opacity:1;stroke:#000000;stroke-width:1.60332525;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect4257"
+ width="704.52728"
+ height="93.936974"
+ x="21.465597"
+ y="372.31635"
+ rx="18.649294"
+ ry="18.649294" />
+ <g
+ id="g4259"
+ transform="matrix(1.6033252,0,0,1.6033252,-104.17626,-364.40569)">
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="83.143028"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="137.00014"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-3"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="190.85725"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-1"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="244.71437"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-6"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="298.57147"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-2"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="352.42859"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-15"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="406.28571"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-4"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ <rect
+ ry="11.631636"
+ rx="11.631636"
+ y="463.79074"
+ x="460.14282"
+ height="49.999996"
+ width="52.857113"
+ id="rect3398-65"
+ style="fill:#ff8080;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:16.03325272px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="225.13065"
+ y="423.70807"
+ id="text4269"><tspan
+ sodipodi:role="line"
+ id="tspan4271"
+ x="225.13065"
+ y="423.70807">obj1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16.03325272px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="313.38913"
+ y="423.70807"
+ id="text4269-4"><tspan
+ sodipodi:role="line"
+ id="tspan4271-5"
+ x="313.38913"
+ y="423.70807">obj2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16.03325272px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="400.03784"
+ y="423.70807"
+ id="text4269-5"><tspan
+ sodipodi:role="line"
+ id="tspan4271-4"
+ x="400.03784"
+ y="423.70807">obj3</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.60332525px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 240.62926,556.11067 0,-67.56871"
+ id="path4309"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1.60332525px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+ d="m 502.88746,551.52975 0,-67.56871"
+ id="path4309-4"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:16.03325272px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="199.40092"
+ y="574.43433"
+ id="text4787"><tspan
+ sodipodi:role="line"
+ id="tspan4789"
+ x="199.40092"
+ y="574.43433">cons_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16.03325272px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="205.16678"
+ y="593.52246"
+ id="text4787-3"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0"
+ x="205.16678"
+ y="593.52246">cons_tail</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16.03325272px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="465.11462"
+ y="571.95355"
+ id="text4787-7"><tspan
+ sodipodi:role="line"
+ id="tspan4789-8"
+ x="465.11462"
+ y="571.95355">prod_head</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16.03325272px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="467.44479"
+ y="592.18701"
+ id="text4787-3-6"><tspan
+ sodipodi:role="line"
+ id="tspan4789-0-8"
+ x="467.44479"
+ y="592.18701">prod_tail</tspan></text>
+ </g>
+</svg>
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/sched_hier_per_port.png b/src/seastar/dpdk/doc/guides/prog_guide/img/sched_hier_per_port.png
new file mode 100644
index 00000000..462e88aa
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/sched_hier_per_port.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/tbl24_tbl8.png b/src/seastar/dpdk/doc/guides/prog_guide/img/tbl24_tbl8.png
new file mode 100644
index 00000000..c39b55bd
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/tbl24_tbl8.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/tbl24_tbl8_tbl8.png b/src/seastar/dpdk/doc/guides/prog_guide/img/tbl24_tbl8_tbl8.png
new file mode 100644
index 00000000..eb99e2ab
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/tbl24_tbl8_tbl8.png
Binary files differ
diff --git a/src/seastar/dpdk/doc/guides/prog_guide/img/vhost_net_arch.png b/src/seastar/dpdk/doc/guides/prog_guide/img/vhost_net_arch.png
new file mode 100644
index 00000000..0005260f
--- /dev/null
+++ b/src/seastar/dpdk/doc/guides/prog_guide/img/vhost_net_arch.png
Binary files differ