Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> --- .../tools/img/eventdev_perf_pipeline_test.svg | 3292 ++++++++++++++++++++ doc/guides/tools/testeventdev.rst | 99 + 2 files changed, 3391 insertions(+) create mode 100644 doc/guides/tools/img/eventdev_perf_pipeline_test.svg
diff --git a/doc/guides/tools/img/eventdev_perf_pipeline_test.svg b/doc/guides/tools/img/eventdev_perf_pipeline_test.svg new file mode 100644 index 0000000..144b928 --- /dev/null +++ b/doc/guides/tools/img/eventdev_perf_pipeline_test.svg @@ -0,0 +1,3292 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<!-- +# BSD LICENSE +# +# Copyright (c) 2017, Cavium, Inc +# 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 Cavium, Inc 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:osb="http://www.openswatchbook.org/uri/2009/osb" + 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.92.2 (5c3e80d, 2017-08-06)" + sodipodi:docname="eventdev_perf_pipeline_test.svg" + sodipodi:version="0.32" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + enable-background="new"> + <defs + id="defs3870"> + <linearGradient + id="linearGradient6916" + osb:paint="solid"> + <stop + style="stop-color:#000000;stop-opacity:0.10196079;" + offset="0" + id="stop6914" /> + </linearGradient> + <linearGradient + id="linearGradient6394" + osb:paint="solid"> + <stop + style="stop-color:#000000;stop-opacity:0.02538071;" + offset="0" + id="stop6392" /> + </linearGradient> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker28236" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + transform="scale(0.6) translate(0,0)" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + id="path28234" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker27764" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + transform="scale(0.6) translate(0,0)" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + id="path27762" /> + </marker> + <marker + inkscape:isstock="true" + orient="auto" + refY="0" + refX="0" + id="marker20023" + inkscape:stockid="InfiniteLineStart" + style="overflow:visible"> + <g + transform="translate(-13,0)" + style="fill:#000000;stroke:#000000;stroke-opacity:1;fill-opacity:1" + id="g20021"> + <circle + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + cx="3" + cy="0" + r="0.8" + id="circle20015" /> + <circle + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + cx="6.5" + cy="0" + r="0.8" + id="circle20017" /> + <circle + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + cx="10" + cy="0" + r="0.8" + id="circle20019" /> + </g> + </marker> + <marker + inkscape:isstock="true" + orient="auto" + refY="0" + refX="0" + id="marker19992" + inkscape:stockid="InfiniteLineStart" + style="overflow:visible"> + <g + transform="translate(-13,0)" + style="fill:#000000;stroke:#000000;stroke-opacity:1;fill-opacity:1" + id="g19990"> + <circle + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + cx="3" + cy="0" + r="0.8" + id="circle19984" /> + <circle + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + cx="6.5" + cy="0" + r="0.8" + id="circle19986" /> + <circle + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + cx="10" + cy="0" + r="0.8" + id="circle19988" /> + </g> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker18966" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Tail"> + <g + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + transform="scale(-1.2)" + id="g18964"> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M -3.8048674,-3.9585227 L 0.54352094,0" + id="path18952" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M -1.2866832,-3.9585227 L 3.0617053,0" + id="path18954" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M 1.3053582,-3.9585227 L 5.6537466,0" + id="path18956" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M -3.8048674,4.1775838 L 0.54352094,0.21974226" + id="path18958" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M -1.2866832,4.1775838 L 3.0617053,0.21974226" + id="path18960" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M 1.3053582,4.1775838 L 5.6537466,0.21974226" + id="path18962" /> + </g> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker18494" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Tail"> + <g + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + transform="scale(-1.2)" + id="g18492"> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M -3.8048674,-3.9585227 L 0.54352094,0" + id="path18480" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M -1.2866832,-3.9585227 L 3.0617053,0" + id="path18482" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M 1.3053582,-3.9585227 L 5.6537466,0" + id="path18484" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M -3.8048674,4.1775838 L 0.54352094,0.21974226" + id="path18486" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M -1.2866832,4.1775838 L 3.0617053,0.21974226" + id="path18488" /> + <path + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" + d="M 1.3053582,4.1775838 L 5.6537466,0.21974226" + id="path18490" /> + </g> + </marker> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0.0" + refX="0.0" + id="marker17998" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path17996" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + transform="scale(0.4)" /> + </marker> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0.0" + refX="0.0" + id="marker17586" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path17584" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + transform="scale(0.4)" /> + </marker> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0.0" + refX="0.0" + id="marker17186" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path17184" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + transform="scale(0.4)" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker16768" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="EmptyTriangleOutM"> + <path + transform="matrix(0.4,0,0,0.4,-1.8,0)" + style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 5.77,0 -2.88,5 V -5 Z" + id="path16766" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker16380" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="EmptyTriangleOutM"> + <path + transform="matrix(0.4,0,0,0.4,-1.8,0)" + style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 5.77,0 -2.88,5 V -5 Z" + id="path16378" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker15998" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="EmptyTriangleOutM"> + <path + transform="matrix(0.4,0,0,0.4,-1.8,0)" + style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 5.77,0 -2.88,5 V -5 Z" + id="path15996" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="EmptyTriangleOutM" + orient="auto" + refY="0.0" + refX="0.0" + id="marker15604" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path15602" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="scale(0.4) translate(-4.5,0)" /> + </marker> + <marker + inkscape:stockid="EmptyTriangleOutM" + orient="auto" + refY="0.0" + refX="0.0" + id="marker15234" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path15232" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="scale(0.4) translate(-4.5,0)" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker14500" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="EmptyTriangleOutM"> + <path + transform="scale(0.4) translate(-4.5,0)" + style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + id="path14498" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect14484" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect14480" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect14473" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect14469" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect14461" + is_visible="true" /> + <marker + inkscape:stockid="Arrow2Mstart" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow2Mstart" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path2002" + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1" + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " + transform="scale(0.6) translate(0,0)" /> + </marker> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0.0" + refX="0.0" + id="marker13075" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path13073" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect13065" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect13061" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect13057" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect13053" + is_visible="true" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker7719" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="TriangleOutM" + inkscape:collect="always"> + <path + transform="scale(0.4)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + id="path7717" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0.0" + refX="0.0" + id="marker7179" + style="overflow:visible;" + inkscape:isstock="true"> + <path + id="path7177" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#f78202;stroke-width:1pt;stroke-opacity:1;fill:#f78202;fill-opacity:1" + transform="scale(0.2) rotate(180) translate(6,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Send" + style="overflow:visible;" + inkscape:isstock="true"> + <path + id="path1993" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#ff141a;stroke-width:1pt;stroke-opacity:1;fill:#ff141a;fill-opacity:1" + transform="scale(0.2) rotate(180) translate(6,0)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0.0" + refX="0.0" + id="DotM" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2042" + d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " + style="fill-rule:evenodd;stroke:#ff141a;stroke-width:1pt;stroke-opacity:1;fill:#ff141a;fill-opacity:1" + transform="scale(0.4) translate(7.4, 1)" /> + </marker> + <marker + inkscape:stockid="DiamondS" + orient="auto" + refY="0.0" + refX="0.0" + id="DiamondS" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2063" + d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z " + style="fill-rule:evenodd;stroke:#ff141a;stroke-width:1pt;stroke-opacity:1;fill:#ff141a;fill-opacity:1" + transform="scale(0.2)" /> + </marker> + <marker + inkscape:stockid="EmptyTriangleOutM" + orient="auto" + refY="0.0" + refX="0.0" + id="EmptyTriangleOutM" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path2141" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + style="fill-rule:evenodd;fill:#ffffff;stroke:#358611;stroke-width:1pt;stroke-opacity:0.95703125" + transform="scale(0.4) translate(-4.5,0)" /> + </marker> + <marker + inkscape:stockid="StopL" + orient="auto" + refY="0.0" + refX="0.0" + id="StopL" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2147" + d="M 0.0,5.65 L 0.0,-5.65" + style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="scale(0.8)" /> + </marker> + <marker + inkscape:stockid="Tail" + orient="auto" + refY="0.0" + refX="0.0" + id="Tail" + style="overflow:visible" + inkscape:isstock="true"> + <g + id="g2026" + transform="scale(-1.2)" + style="stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"> + <path + id="path2014" + d="M -3.8048674,-3.9585227 L 0.54352094,0" + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" /> + <path + id="path2016" + d="M -1.2866832,-3.9585227 L 3.0617053,0" + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" /> + <path + id="path2018" + d="M 1.3053582,-3.9585227 L 5.6537466,0" + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" /> + <path + id="path2020" + d="M -3.8048674,4.1775838 L 0.54352094,0.21974226" + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" /> + <path + id="path2022" + d="M -1.2866832,4.1775838 L 3.0617053,0.21974226" + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" /> + <path + id="path2024" + d="M 1.3053582,4.1775838 L 5.6537466,0.21974226" + style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.8;stroke-linecap:round;stroke-opacity:1;fill-opacity:1" /> + </g> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect2658" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect1940" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="spiro" + id="path-effect1932" + is_visible="true" /> + <linearGradient + id="linearGradient1758" + osb:paint="solid"> + <stop + style="stop-color:#ff2d00;stop-opacity:1;" + offset="0" + id="stop1756" /> + </linearGradient> + <linearGradient + id="linearGradient6425" + osb:paint="solid"> + <stop + style="stop-color:#e6860b;stop-opacity:1;" + offset="0" + id="stop6423" /> + </linearGradient> + <linearGradient + id="linearGradient6391" + osb:paint="solid"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop6389" /> + </linearGradient> + <inkscape:path-effect + effect="spiro" + id="path-effect6387" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect6037" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect6033" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect6029" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect6025" + is_visible="true" /> + <linearGradient + id="linearGradient5213" + osb:paint="solid"> + <stop + style="stop-color:#ff0009;stop-opacity:1;" + offset="0" + id="stop5211" /> + </linearGradient> + <inkscape:path-effect + effect="spiro" + id="path-effect4276" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect4272" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect4268" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect4264" + is_visible="true" /> + <linearGradient + id="linearGradient2975" + osb:paint="solid"> + <stop + style="stop-color:#ff2200;stop-opacity:1;" + offset="0" + id="stop2973" /> + </linearGradient> + <linearGradient + id="linearGradient2969" + osb:paint="solid"> + <stop + style="stop-color:#009a08;stop-opacity:1;" + offset="0" + id="stop2967" /> + </linearGradient> + <linearGradient + id="linearGradient2963" + osb:paint="solid"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop2961" /> + </linearGradient> + <linearGradient + id="linearGradient2929" + osb:paint="solid"> + <stop + style="stop-color:#ff2d00;stop-opacity:1;" + offset="0" + id="stop2927" /> + </linearGradient> + <linearGradient + id="linearGradient4610" + osb:paint="solid"> + <stop + style="stop-color:#00ffff;stop-opacity:1;" + offset="0" + id="stop4608" /> + </linearGradient> + <linearGradient + id="linearGradient3993" + osb:paint="solid"> + <stop + style="stop-color:#6ba6fd;stop-opacity:1;" + offset="0" + id="stop3991" /> + </linearGradient> + <linearGradient + id="linearGradient3808" + osb:paint="solid"> + <stop + style="stop-color:#6ba6fd;stop-opacity:1;" + offset="0" + id="stop3806" /> + </linearGradient> + <linearGradient + id="linearGradient3776" + osb:paint="solid"> + <stop + style="stop-color:#fc0000;stop-opacity:1;" + offset="0" + id="stop3774" /> + </linearGradient> + <linearGradient + id="linearGradient3438" + osb:paint="solid"> + <stop + style="stop-color:#d18f21;stop-opacity:1;" + offset="0" + id="stop3436" /> + </linearGradient> + <inkscape:path-effect + effect="spiro" + id="path-effect3408" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect3404" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect3400" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect3392" + is_visible="true" /> + <inkscape:path-effect + effect="bspline" + id="path-effect3376" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect3044" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect3040" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect3036" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect3032" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect3028" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect3024" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="spiro" + id="path-effect3020" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect2858" + is_visible="true" /> + <inkscape:path-effect + effect="spiro" + id="path-effect2854" + is_visible="true" /> + <inkscape:path-effect + effect="bspline" + id="path-effect2844" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <linearGradient + id="linearGradient2828" + osb:paint="solid"> + <stop + style="stop-color:#ff0000;stop-opacity:1;" + offset="0" + id="stop2826" /> + </linearGradient> + <inkscape:path-effect + effect="bspline" + id="path-effect329" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <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" /> + <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> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart-8" + style="overflow:visible"> + <path + id="path4530-7" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;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-9" + style="overflow:visible"> + <path + id="path4533-2" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect2858-0" + is_visible="true" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-3" + style="overflow:visible"> + <path + id="path4533-75" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect3044-9" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-3-2" + style="overflow:visible"> + <path + id="path4533-75-8" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect3044-9-9" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient3995" + x1="155.21328" + y1="231.61366" + x2="207.95523" + y2="231.61366" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-42,-48)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3438" + id="linearGradient4612" + x1="594.77722" + y1="232.19244" + x2="647.51917" + y2="232.19244" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-156,68)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3438" + id="linearGradient4616" + x1="468.32343" + y1="232.3177" + x2="521.06543" + y2="232.3177" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-30,14)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3438" + id="linearGradient4618" + x1="405.4682" + y1="232.36095" + x2="458.21014" + y2="232.36095" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(32,-46)" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-2" + style="overflow:visible"> + <path + id="path4533-6" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect3228" + is_visible="true" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3706" + style="overflow:visible"> + <path + id="path3704" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect3286" + is_visible="true" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-1" + style="overflow:visible"> + <path + id="path4533-8" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect3290" + is_visible="true" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-3-7" + style="overflow:visible"> + <path + id="path4533-75-9" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect3120-7" + is_visible="true" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-4-2" + style="overflow:visible"> + <path + id="path4533-7-0" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect6025-2" + is_visible="true" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-7" + style="overflow:visible"> + <path + id="path4533-5" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect3294" + is_visible="true" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-92" + style="overflow:visible"> + <path + id="path4533-28" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect3302" + is_visible="true" /> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-97" + style="overflow:visible"> + <path + id="path4533-36" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect3228-1" + is_visible="true" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3808" + id="linearGradient1760" + x1="405.34961" + y1="243.36557" + x2="651.55652" + y2="243.36557" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.76424623,0,0,1,-92.508475,2)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3808" + id="linearGradient1920" + x1="475.00314" + y1="156.97769" + x2="515.13684" + y2="156.97769" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-242,28)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3808" + id="linearGradient1922" + x1="537.74072" + y1="156.9726" + x2="577.87439" + y2="156.9726" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-188,28)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3808" + id="linearGradient1924" + x1="597.00317" + y1="156.97769" + x2="637.13684" + y2="156.97769" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-306,28)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4513" + id="linearGradient4519" + x1="47.142857" + y1="244.50504" + x2="677.85718" + y2="244.50504" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.98357201,0,0,0.98599728,8.112791,5.0165199)" /> + <linearGradient + gradientTransform="matrix(0.9887388,0,0,1.0000197,5.30654,1.2433556)" + inkscape:collect="always" + xlink:href="#linearGradient6391" + id="linearGradient2965" + x1="49.239536" + y1="244.84964" + x2="677.64832" + y2="244.84964" + gradientUnits="userSpaceOnUse" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5-2" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3-9" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-1" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="EmptyTriangleOutM" + orient="auto" + refY="0" + refX="0" + id="EmptyTriangleOutM-7" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2141-0" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#ffffff;fill-rule:evenodd;stroke:#358611;stroke-width:1.00000003pt;stroke-opacity:0.95703125" + transform="matrix(0.4,0,0,0.4,-1.8,0)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-9" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect1940-3" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient1924-6" + x1="597.00317" + y1="156.97769" + x2="637.13684" + y2="156.97769" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-246.08539,84.05654)" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5-2-6" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3-9-2" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-1-6" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient1922-1" + x1="537.74072" + y1="156.9726" + x2="577.87439" + y2="156.9726" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-246.08539,84.05654)" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5-8" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3-7" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-9" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient1920-2" + x1="475.00314" + y1="156.97769" + x2="515.13684" + y2="156.97769" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-242.08539,84.05654)" /> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-59" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker7719-2" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="TriangleOutM"> + <path + inkscape:connector-curvature="0" + transform="scale(0.4)" + style="fill:#ff141a;fill-opacity:1;fill-rule:evenodd;stroke:#ff141a;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 5.77,0 -2.88,5 V -5 Z" + id="path7717-2" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect1932-8" + is_visible="true" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient3995-9" + x1="155.21329" + y1="231.61366" + x2="207.95523" + y2="231.61366" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-44.08539,8.056541)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient3995-9-5" + x1="155.21329" + y1="231.61366" + x2="207.95523" + y2="231.61366" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-42.08539,62.056546)" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker7719-2-7" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="TriangleOutM"> + <path + inkscape:connector-curvature="0" + transform="scale(0.4)" + style="fill:#ff141a;fill-opacity:1;fill-rule:evenodd;stroke:#ff141a;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 5.77,0 -2.88,5 V -5 Z" + id="path7717-2-6" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect1932-8-5" + is_visible="true" /> + <inkscape:path-effect + effect="bspline" + id="path-effect1940-3-6" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="EmptyTriangleOutM" + orient="auto" + refY="0" + refX="0" + id="EmptyTriangleOutM-7-9" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2141-0-3" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,-1.8,0)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-9-7" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient1920-2-4" + x1="475.00314" + y1="156.97769" + x2="515.13684" + y2="156.97769" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-242.08539,138.05655)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient1924-6-5" + x1="597.00317" + y1="156.97769" + x2="637.13684" + y2="156.97769" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-246.08539,138.05655)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient1922-1-2" + x1="537.74072" + y1="156.9726" + x2="577.87439" + y2="156.9726" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-246.08539,138.05655)" /> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-59-7" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5-8-4" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3-7-4" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-9-3" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5-2-6-0" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3-9-2-7" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-1-6-8" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-93" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker28236-6" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + inkscape:connector-curvature="0" + transform="scale(0.6)" + 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" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path28234-2" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3706-6" + style="overflow:visible"> + <path + id="path3704-1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect14461-8" + is_visible="true" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker28236-9" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + inkscape:connector-curvature="0" + transform="scale(0.6)" + 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" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path28234-20" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3706-2" + style="overflow:visible"> + <path + id="path3704-3" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect14461-7" + is_visible="true" /> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-2" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-2-3" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-2-3-9" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="EmptyTriangleOutM" + orient="auto" + refY="0" + refX="0" + id="EmptyTriangleOutM-9-9-1-1" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2141-2-7-2-9" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#ffffff;fill-rule:evenodd;stroke:#358611;stroke-width:1.00000003pt;stroke-opacity:0.95703125" + transform="matrix(0.4,0,0,0.4,-1.8,0)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-2-3-9-4" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-2-3-9-5" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker28236-9-3" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + inkscape:connector-curvature="0" + transform="scale(0.6)" + 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" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path28234-20-6" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3706-2-1" + style="overflow:visible"> + <path + id="path3704-3-0" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect14461-7-6" + is_visible="true" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker28236-9-2" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + inkscape:connector-curvature="0" + transform="scale(0.6)" + 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" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path28234-20-0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3706-2-6" + style="overflow:visible"> + <path + id="path3704-3-1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect14461-7-5" + is_visible="true" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker28236-9-2-4" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + inkscape:connector-curvature="0" + transform="scale(0.6)" + 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" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path28234-20-0-7" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3706-2-6-6" + style="overflow:visible"> + <path + id="path3704-3-1-5" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect14461-7-5-6" + is_visible="true" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient3995-5" + x1="155.21329" + y1="231.61366" + x2="207.95523" + y2="231.61366" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(454.68566,-39.755492)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient3995-5-6" + x1="155.21329" + y1="231.61366" + x2="207.95523" + y2="231.61366" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(454.58515,13.679547)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient3995-5-6-4" + x1="155.21329" + y1="231.61366" + x2="207.95523" + y2="231.61366" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(454.58517,69.679557)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3993" + id="linearGradient3995-5-6-49" + x1="155.21329" + y1="231.61366" + x2="207.95523" + y2="231.61366" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.91877242,0,0,1.0012876,401.69944,9.159662)" /> + <marker + inkscape:stockid="EmptyTriangleOutM" + orient="auto" + refY="0" + refX="0" + id="EmptyTriangleOutM-0" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2141-4" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#ffffff;fill-rule:evenodd;stroke:#358611;stroke-width:1.00000003pt;stroke-opacity:0.95703125" + transform="matrix(0.4,0,0,0.4,-1.8,0)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-8" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect1940-7" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="EmptyTriangleOutM" + orient="auto" + refY="0" + refX="0" + id="EmptyTriangleOutM-0-2" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2141-4-7" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#ffffff;fill-rule:evenodd;stroke:#358611;stroke-width:1.00000003pt;stroke-opacity:0.95703125" + transform="matrix(0.4,0,0,0.4,-1.8,0)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-8-2" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect1940-7-2" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <inkscape:path-effect + effect="bspline" + id="path-effect2658-2-3-9-4-1" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5-8-5" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3-7-6" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-9-39" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5-8-8" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3-7-1" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-9-2" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:stockid="TriangleOutM" + orient="auto" + refY="0" + refX="0" + id="TriangleOutM-5-8-8-3" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path2123-3-7-1-9" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#f78202;fill-opacity:1;fill-rule:evenodd;stroke:#f78202;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.4)" /> + </marker> + <inkscape:path-effect + effect="bspline" + id="path-effect5228-5-9-2-0" + is_visible="true" + weight="33.333333" + steps="2" + helper_size="0" + apply_no_weight="true" + apply_with_weight="true" + only_selected="false" /> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker28236-9-8" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mstart"> + <path + inkscape:connector-curvature="0" + transform="scale(0.6)" + 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" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path28234-20-5" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker3706-2-0" + style="overflow:visible"> + <path + id="path3704-3-9" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <inkscape:path-effect + effect="spiro" + id="path-effect14461-7-63" + is_visible="true" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4142136" + inkscape:cx="462.17434" + inkscape:cy="203.76375" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1046" + inkscape:window-x="0" + inkscape:window-y="34" + inkscape:window-maximized="1" + fit-margin-top="0.1" + fit-margin-left="0.1" + fit-margin-right="0.1" + fit-margin-bottom="0.1" + inkscape:measure-start="-29.078,219.858" + inkscape:measure-end="346.809,219.858" + showguides="false" + inkscape:snap-bbox="false" /> + <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)" + style="display:inline;opacity:1"> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1.96962941;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.9696294, 1.9696294;stroke-dashoffset:0;stroke-opacity:0.95703125;marker-end:url(#EmptyTriangleOutM-0-2)" + d="m 571.04412,302.94327 c 0,-11.28285 0,-22.56711 0,-33.85278" + id="path2656-7-1" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect2658-8-2" + inkscape:original-d="m 571.04412,302.94327 c 0.003,-11.28285 0.003,-22.56711 0,-33.85278" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none" + x="29.328003" + y="-14.742554" + 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="29.328003" + y="-14.742554" + id="tspan3006" + style="font-size:15.22520161px;line-height:1.25">Â </tspan></text> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1922);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-3-1" + width="39.065548" + height="24.347494" + x="350.27478" + y="172.79883" /> + <rect + style="fill:url(#linearGradient4519);fill-opacity:1;stroke:url(#linearGradient2965);stroke-width:0.98478383;stroke-opacity:1" + id="rect3697" + width="620.35291" + height="283.12207" + x="54.481201" + y="104.53681" + rx="0" + ry="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient4612);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-3" + width="51.714954" + height="32.587509" + x="439.29071" + y="283.89868" + rx="11.6051" + ry="16.293755" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient4616);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6" + width="51.714954" + height="32.587509" + x="438.83691" + y="230.02396" + rx="11.6051" + ry="16.293755" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient4618);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5" + width="51.714954" + height="32.587509" + x="437.98169" + y="170.06718" + rx="11.6051" + ry="16.293755" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none" + x="442.87885" + y="167.34842" + id="text5219-2-4"><tspan + sodipodi:role="line" + x="442.87885" + y="167.34842" + id="tspan5223-0-7" + style="font-size:10px;line-height:1.25">worker 0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none" + x="442.61511" + y="227.66943" + id="text5219-2-4-3"><tspan + sodipodi:role="line" + x="442.61511" + y="227.66943" + id="tspan5223-0-7-7" + style="font-size:10px;line-height:1.25">worker 1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none" + x="444.61511" + y="281.66943" + id="text5219-2-4-3-4-2"><tspan + sodipodi:role="line" + x="444.61511" + y="281.66943" + id="tspan5223-0-7-7-5-5" + style="font-size:10px;line-height:1.25">worker n</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none" + x="448.13348" + y="188.8974" + id="text5219-2-6-4"><tspan + sodipodi:role="line" + x="448.13348" + y="188.8974" + id="tspan5223-0-9-7" + style="font-size:10px;line-height:1.25">port 0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none" + x="449.25244" + y="248.85495" + id="text5219-2-6-4-4"><tspan + sodipodi:role="line" + x="449.25244" + y="248.85495" + id="tspan5223-0-9-7-4" + style="font-size:10px;line-height:1.25">port 1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none" + x="451.25244" + y="302.85495" + id="text5219-2-6-4-4-3-7"><tspan + sodipodi:role="line" + x="451.25244" + y="302.85495" + id="tspan5223-0-9-7-4-0-8" + style="font-size:10px;line-height:1.25">port n</tspan></text> + <rect + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3995);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5-3" + width="51.714954" + height="32.587509" + x="113.72678" + y="167.31989" + rx="11.6051" + ry="16.293755" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="115.03741" + y="210.07278" + id="text5219-2"><tspan + sodipodi:role="line" + x="115.03741" + y="210.07278" + id="tspan5223-0" + style="font-size:10px;line-height:1.25">producer 0</tspan></text> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1760);stroke-width:0.85571432;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect2896-6" + width="187.41464" + height="223.72733" + x="217.65247" + y="133.50191" + ry="5.6568542" + rx="6.9393806" + 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-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="238.09811" + y="168.4389" + id="text5219-1-9-4-9"><tspan + sodipodi:role="line" + x="238.09811" + y="168.4389" + id="tspan5223-2-3-5-0" + style="font-size:10px;line-height:1.25">q0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="304.09808" + y="170.4389" + id="text5219-1-9-4-3-9"><tspan + sodipodi:role="line" + x="304.09808" + y="170.4389" + id="tspan5223-2-3-5-6-1" + style="font-size:10px;line-height:1.25">q1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="358.09808" + y="170.4389" + id="text5219-1-9-4-3-0-7"><tspan + sodipodi:role="line" + x="358.09808" + y="170.4389" + id="tspan5223-2-3-5-6-6-1" + style="font-size:10px;line-height:1.25">qs-1</tspan></text> + <path + style="display:inline;opacity:1;fill:none;stroke:#ff141a;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker7719)" + d="m 164.59877,183.45256 h 65.05382" + id="path1930" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect1932" + inkscape:original-d="m 164.59877,183.45256 c 21.68561,-0.001 43.37021,-0.001 65.05382,0" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1" + d="m 390.2462,184.07275 c 9.43699,0 18.87298,0 23.47261,-0.12707 4.59962,-0.12707 4.36395,-0.38114 4.12825,-0.63524" + id="path1938" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect1940" + inkscape:original-d="m 390.2462,184.07275 c 9.43699,-0.001 18.87298,-0.001 28.30797,0 -0.2347,-0.2551 -0.70711,-0.76231 -0.70711,-0.76231" + sodipodi:nodetypes="ccc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:0.95703125;marker-end:url(#EmptyTriangleOutM)" + d="m 417.84632,184.68305 c 0,8.01981 0,16.04062 0,24.06243" + id="path2656" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect2658" + inkscape:original-d="m 417.84632,184.68305 c 0.001,8.01981 0.001,16.04062 0,24.06243" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="115.44385" + y="186.49918" + id="text5219-2-6"><tspan + sodipodi:role="line" + x="115.44385" + y="186.49918" + id="tspan5223-0-9" + style="font-size:10px;line-height:1.25">port n+1</tspan></text> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1920);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-4" + width="39.065548" + height="24.347494" + x="233.5372" + y="172.80396" /> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1924);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-0-1-7" + width="39.065548" + height="24.347494" + x="291.53723" + y="172.80396" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="452.47687" + y="378.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="452.47687" + y="378.4664" + id="tspan2916" + style="font-weight:bold;font-size:13.33333302px;line-height:1.25">test: perf_pipeline</tspan></text> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5)" + d="m 272.66672,182.86561 c 5.35689,0.008 10.71279,0.0161 16.06769,0.0241" + id="path5226-6" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5" + inkscape:original-d="m 272.66672,182.86561 c 5.35689,0.007 10.71279,0.0151 16.06769,0.0241" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5-2)" + d="m 331.73779,183.57272 c 5.35689,0.008 10.71279,0.0161 16.06769,0.0241" + id="path5226-6-2" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5-1" + inkscape:original-d="m 331.73779,183.57272 c 5.35689,0.007 10.71279,0.0151 16.06769,0.0241" + sodipodi:nodetypes="cc" /> + <rect + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3995-9);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5-3-3" + width="51.714954" + height="32.587509" + x="111.64139" + y="223.3764" + rx="11.6051" + ry="16.293755" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="112.95203" + y="266.12933" + id="text5219-2-61"><tspan + sodipodi:role="line" + x="112.95203" + y="266.12933" + id="tspan5223-0-2" + style="font-size:10px;line-height:1.25">producer 1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="238.01276" + y="224.49542" + id="text5219-1-9-4-9-9"><tspan + sodipodi:role="line" + x="238.01276" + y="224.49542" + id="tspan5223-2-3-5-0-4" + style="font-size:10px;line-height:1.25">qs</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="298.0127" + y="226.49542" + id="text5219-1-9-4-3-9-7"><tspan + sodipodi:role="line" + x="298.0127" + y="226.49542" + id="tspan5223-2-3-5-6-1-8" + style="font-size:10px;line-height:1.25">qs+1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="358.0127" + y="226.49542" + id="text5219-1-9-4-3-0-7-4"><tspan + sodipodi:role="line" + x="358.0127" + y="226.49542" + id="tspan5223-2-3-5-6-6-1-5" + style="font-size:10px;line-height:1.25">q2s-1</tspan></text> + <path + style="display:inline;opacity:1;fill:none;stroke:#ff141a;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker7719-2)" + d="M 164.51338,239.5091 H 229.5672" + id="path1930-0" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect1932-8" + inkscape:original-d="m 164.51338,239.5091 c 21.68561,-10e-4 43.37021,-10e-4 65.05382,0" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1" + d="m 390.16081,240.12929 c 9.43699,0 18.87298,0 23.47261,-0.12707 4.59962,-0.12707 4.36395,-0.38114 4.12825,-0.63524" + id="path1938-3" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect1940-3" + inkscape:original-d="m 390.16081,240.12929 c 9.43699,-0.001 18.87298,-0.001 28.30797,0 -0.2347,-0.2551 -0.70711,-0.76231 -0.70711,-0.76231" + sodipodi:nodetypes="ccc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:0.95703125;marker-end:url(#EmptyTriangleOutM-7)" + d="m 417.76093,240.73959 c 0,8.0198 0,16.04062 0,24.06242" + id="path2656-6" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect2658-9" + inkscape:original-d="m 417.76093,240.73959 c 0.001,8.0198 0.001,16.04062 0,24.06242" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="115.35846" + y="242.55573" + id="text5219-2-6-1"><tspan + sodipodi:role="line" + x="115.35846" + y="242.55573" + id="tspan5223-0-9-0" + style="font-size:10px;line-height:1.25">port n+2</tspan></text> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1920-2);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-4-6" + width="39.065548" + height="24.347494" + x="233.45184" + y="228.86047" /> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1924-6);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-0-1-7-3" + width="39.065548" + height="24.347494" + x="351.45184" + y="228.86047" /> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1922-1);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-3-1-2" + width="39.065548" + height="24.347494" + x="292.18939" + y="228.85535" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5-8)" + d="m 272.58133,238.92215 c 5.35689,0.008 10.71279,0.0161 16.06769,0.0241" + id="path5226-6-6" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5-9" + inkscape:original-d="m 272.58133,238.92215 c 5.35689,0.007 10.71279,0.0151 16.06769,0.0241" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5-2-6)" + d="m 331.6524,239.62926 c 5.35689,0.008 10.71279,0.0161 16.06769,0.0241" + id="path5226-6-2-1" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5-1-6" + inkscape:original-d="m 331.6524,239.62926 c 5.35689,0.007 10.71279,0.0151 16.06769,0.0241" + sodipodi:nodetypes="cc" /> + <rect + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3995-9-5);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5-3-3-6" + width="51.714954" + height="32.587509" + x="113.64139" + y="277.3764" + rx="11.6051" + ry="16.293755" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="114.95203" + y="320.12933" + id="text5219-2-61-8"><tspan + sodipodi:role="line" + x="114.95203" + y="320.12933" + id="tspan5223-0-2-8" + style="font-size:10px;line-height:1.25">producer m-1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="238.01276" + y="278.49542" + id="text5219-1-9-4-9-9-4"><tspan + sodipodi:role="line" + x="238.01276" + y="278.49542" + id="tspan5223-2-3-5-0-4-9" + style="font-size:10px;line-height:1.25">q2s</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="298.0127" + y="280.49542" + id="text5219-1-9-4-3-9-7-2"><tspan + sodipodi:role="line" + x="298.0127" + y="280.49542" + id="tspan5223-2-3-5-6-1-8-0" + style="font-size:10px;line-height:1.25">q2s+1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="358.0127" + y="280.49542" + id="text5219-1-9-4-3-0-7-4-6"><tspan + sodipodi:role="line" + x="358.0127" + y="280.49542" + id="tspan5223-2-3-5-6-6-1-5-8" + style="font-size:10px;line-height:1.25">q3s-1</tspan></text> + <path + style="display:inline;opacity:1;fill:none;stroke:#ff141a;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker7719-2-7)" + d="M 164.51338,293.50911 H 229.5672" + id="path1930-0-9" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect1932-8-5" + inkscape:original-d="m 164.51338,293.50911 c 21.68561,-0.001 43.37021,-0.001 65.05382,0" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1" + d="m 390.16081,294.1293 c 9.43699,0 18.87298,0 23.47261,-0.12707 4.59962,-0.12707 4.36395,-0.38114 4.12825,-0.63524" + id="path1938-3-2" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect1940-3-6" + inkscape:original-d="m 390.16081,294.1293 c 9.43699,-10e-4 18.87298,-10e-4 28.30797,0 -0.2347,-0.2551 -0.70711,-0.76231 -0.70711,-0.76231" + sodipodi:nodetypes="ccc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:0.95703125;marker-end:url(#EmptyTriangleOutM-7-9)" + d="m 417.76093,294.7396 c 0,8.0198 0,16.04062 0,24.06242" + id="path2656-6-6" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect2658-9-7" + inkscape:original-d="m 417.76093,294.7396 c 0.001,8.0198 0.001,16.04062 0,24.06242" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="115.35846" + y="296.55573" + id="text5219-2-6-1-6"><tspan + sodipodi:role="line" + x="115.35846" + y="296.55573" + id="tspan5223-0-9-0-4" + style="font-size:10px;line-height:1.25">port n+m</tspan></text> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1920-2-4);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-4-6-9" + width="39.065548" + height="24.347494" + x="233.45184" + y="282.86047" /> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1924-6-5);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-0-1-7-3-5" + width="39.065548" + height="24.347494" + x="351.45184" + y="282.86047" /> + <rect + style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1922-1-2);stroke-width:1.06814909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3736-8-3-1-2-0" + width="39.065548" + height="24.347494" + x="292.18939" + y="282.85535" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5-8-4)" + d="m 272.58133,292.92216 c 5.35689,0.008 10.71279,0.0161 16.06769,0.0241" + id="path5226-6-6-8" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5-9-3" + inkscape:original-d="m 272.58133,292.92216 c 5.35689,0.007 10.71279,0.0151 16.06769,0.0241" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5-2-6-0)" + d="m 331.6524,293.62927 c 5.35689,0.008 10.71279,0.0161 16.06769,0.0241" + id="path5226-6-2-1-7" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5-1-6-8" + inkscape:original-d="m 331.6524,293.62927 c 5.35689,0.007 10.71279,0.0151 16.06769,0.0241" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.77605528;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.77605523, 0.77605523;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker28236);marker-end:url(#marker3706)" + d="m 405.38162,226.06021 c 4.18328,1.14108 8.58277,1.48403 12.89235,1.005 8.24205,-0.91615 16.10405,-4.92166 21.69025,-11.0507 5.5862,-6.12904 8.84752,-14.32775 8.99757,-22.61921" + id="path14459" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect14461" + inkscape:original-d="m 405.38162,226.06021 c 2.85007,-12.15989 6.00401,4.45519 12.89235,1.005 41.63501,-20.85393 4.69471,-33.67123 30.68782,-33.66991" + sodipodi:nodetypes="csc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.64431453;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.6443145, 0.6443145;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker27764);marker-end:url(#marker3706)" + d="m 384.00393,359.44156 c 5.47652,3.69065 12.00427,5.80227 18.60476,6.01835 4.34535,0.14225 8.72568,-0.5286 12.79431,-2.06112 8.17137,-3.07788 14.68764,-9.42627 20.14228,-16.24474 2.99856,-3.74829 5.75343,-7.68637 8.37907,-11.7047 3.45377,-5.28571 6.69104,-10.7217 9.46577,-16.3934 0.32776,-0.66995 0.64901,-1.34309 0.9637,-2.01928" + id="path14478" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect14480" + inkscape:original-d="m 384.00393,359.44156 c 4.43549,3.57571 14.17063,2.44073 18.60476,6.01835 4.43412,3.57763 6.76344,0.19553 12.79431,-2.06112 6.03087,-2.25664 13.42887,-10.83078 20.14228,-16.24474 6.7134,-5.41397 5.58672,-7.8041 8.37907,-11.7047 2.79234,-3.90063 6.31119,-10.92989 9.46577,-16.3934 3.15458,-5.4635 0.64314,-1.34712 0.9637,-2.01928" + sodipodi:nodetypes="cssccsc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.66480464;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.6648046, 0.6648046;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow2Mstart);marker-end:url(#marker3706)" + d="m 403.84316,273.42402 c 2.05111,2.93979 4.84929,5.35386 8.05799,6.95187 3.49017,1.73819 7.42944,2.50158 11.32771,2.42378 3.89827,-0.0778 7.75698,-0.98012 11.37892,-2.42378 8.08398,-3.22219 15.03284,-9.21717 19.40527,-16.74147" + id="path14482" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect14484" + inkscape:original-d="m 403.84316,273.42402 c 2.68667,2.31628 5.37267,4.63356 8.05799,6.95187 2.68532,2.3183 15.13844,-0.001 22.70663,0 7.5682,10e-4 12.93753,-11.162 19.40527,-16.74147" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="105.35634" + y="277.3764" + id="text21302"><tspan + sodipodi:role="line" + id="tspan21300" + x="105.35634" + y="312.76703" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="256.2348" + y="276.24649" + id="text21306"><tspan + sodipodi:role="line" + id="tspan21304" + x="256.2348" + y="311.63712" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" + x="365.83633" + y="276.95361" + id="text21310"><tspan + sodipodi:role="line" + id="tspan21308" + x="365.83633" + y="312.34424" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="173.03555" + y="126.90381" + id="text5219-26"><tspan + sodipodi:role="line" + x="173.03555" + y="126.90381" + id="tspan5223-10" + style="font-size:10px;line-height:1.25">total queues = number of stages * number of producers</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="407.66333" + y="349.67435" + id="text5219-26-2"><tspan + sodipodi:role="line" + x="407.66333" + y="349.67435" + id="tspan5223-10-7" + style="font-size:10px;line-height:1.25">All workers are linked to all queues</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:11.12011719px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92667639" + x="64.563202" + y="226.82373" + id="text5219-2-3-7" + transform="scale(0.95740725,1.0444876)"><tspan + sodipodi:role="line" + x="64.563202" + y="226.82373" + id="tspan5223-0-6-5" + style="font-size:9.26676369px;line-height:1.25;stroke-width:0.92667639">eth port 1</tspan><tspan + sodipodi:role="line" + x="64.563202" + y="238.40718" + style="font-size:9.26676369px;line-height:1.25;stroke-width:0.92667639" + id="tspan883"> Rxq 0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:11.12011719px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92667639" + x="65.632019" + y="277.94644" + id="text5219-2-3-7-3" + transform="scale(0.95740725,1.0444876)"><tspan + sodipodi:role="line" + x="65.632019" + y="277.94644" + id="tspan5223-0-6-5-5" + style="font-size:9.26676369px;line-height:1.25;stroke-width:0.92667639">eth port a</tspan><tspan + sodipodi:role="line" + x="65.632019" + y="289.52991" + style="font-size:9.26676369px;line-height:1.25;stroke-width:0.92667639" + id="tspan883-6"> Rxq 0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:11.12011719px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92667639" + x="65.632019" + y="176.01201" + id="text5219-2-3-7-2" + transform="scale(0.95740725,1.0444876)"><tspan + sodipodi:role="line" + x="65.632019" + y="176.01201" + id="tspan5223-0-6-5-9" + style="font-size:9.26676369px;line-height:1.25;stroke-width:0.92667639">eth port 0</tspan><tspan + sodipodi:role="line" + x="65.632019" + y="187.59546" + style="font-size:9.26676369px;line-height:1.25;stroke-width:0.92667639" + id="tspan883-1"> Rxq 0</tspan></text> + <path + style="display:inline;opacity:1;fill:none;stroke:#000000;stroke-width:1.0874536;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.08745346, 1.08745346;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker28236-9);marker-end:url(#marker3706-2)" + d="m 385.01751,166.18935 c 6.55603,-7.21647 16.26555,-11.46121 26.01498,-11.37303 6.63484,0.06 13.24026,2.07203 18.7819,5.72098 5.54164,3.64896 9.99986,8.92192 12.67653,14.99317" + id="path14459-5" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect14461-7" + inkscape:original-d="m 385.01751,166.18935 c 5.92072,15.88628 28.91798,-63.08988 26.01498,-11.37303 -3.44145,61.30951 1.38145,44.83512 31.45843,20.71415" + sodipodi:nodetypes="csc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1.47793281;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.47793282, 1.47793282;stroke-dashoffset:0;stroke-opacity:0.95703125;marker-end:url(#EmptyTriangleOutM-9-9-1-1)" + d="m 491.5518,246.00386 c 17.51755,0 35.03729,0 52.55918,0" + id="path2656-8-6-3-7" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect2658-2-3-9-4" + inkscape:original-d="m 491.5518,246.00386 c 17.51755,-9.9e-4 35.03729,-9.9e-4 52.55918,0" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#000000;stroke-width:1.0874536;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.08745346, 1.08745346;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker28236-9-2);marker-end:url(#marker3706-2-6)" + d="m 385.51243,248.87002 c 5.48696,-8.85344 15.60233,-14.65031 26.01498,-14.90856 7.15944,-0.17757 14.35645,2.1752 20.0285,6.54749 5.67206,4.3723 9.77927,10.73337 11.42993,17.70219" + id="path14459-5-5" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect14461-7-5" + inkscape:original-d="m 385.51243,248.87002 c 5.92072,15.88628 28.91798,-66.62541 26.01498,-14.90856 -3.44145,61.30951 1.38145,48.37065 31.45843,24.24968" + sodipodi:nodetypes="csc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#000000;stroke-width:1.0874536;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.08745346, 1.08745346;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker28236-9-2-4);marker-end:url(#marker3706-2-6-6)" + d="m 367.00275,331.92384 c 3.89778,-7.26007 9.15112,-13.78948 15.40838,-19.1512 9.22443,-7.90423 20.64062,-13.22358 32.62613,-15.20209 11.98552,-1.97851 24.50563,-0.61044 35.78103,3.90977" + id="path14459-5-5-9" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect14461-7-5-6" + inkscape:original-d="m 367.00275,331.92384 c 5.92072,15.88628 18.31138,-70.86805 15.40838,-19.1512 -3.44145,61.30951 38.33018,12.82865 68.40716,-11.29232" + sodipodi:nodetypes="csc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:27.55776978px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.68894428" + x="307.3092" + y="215.63098" + id="text1222" + transform="scale(1.4514962,0.68894426)"><tspan + sodipodi:role="line" + id="tspan1220" + x="307.3092" + y="240.01315" + style="stroke-width:0.68894428" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="509.31921" + y="201.97095" + id="text5219-2-4-3-3"><tspan + sodipodi:role="line" + x="509.31921" + y="201.97095" + id="tspan5223-0-7-7-7" + style="font-size:8.66666698px;line-height:1.25">Event type </tspan><tspan + sodipodi:role="line" + x="509.31921" + y="212.80428" + style="font-size:8.66666698px;line-height:1.25" + id="tspan1242"> Atomic</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="419.69006" + y="139.72652" + id="text5219-2-4-3-3-4"><tspan + sodipodi:role="line" + x="419.69006" + y="139.72652" + id="tspan5223-0-7-7-7-5" + style="font-size:8.66666667px;line-height:1.25">Event type </tspan><tspan + sodipodi:role="line" + x="419.69006" + y="152.22652" + style="font-size:8.66666667px;line-height:1.25" + id="tspan1265">Parallel/Ordered</tspan></text> + <rect + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3995-5);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5-3-7" + width="51.714954" + height="32.587509" + x="610.41241" + y="175.56439" + rx="11.6051" + ry="16.293755" /> + <rect + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3995-5-6);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5-3-7-8" + width="51.714954" + height="32.587509" + x="610.31189" + y="228.99942" + rx="11.6051" + ry="16.293755" /> + <rect + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3995-5-6-4);stroke-width:1.02699995;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5-3-7-8-1" + width="51.714954" + height="32.587509" + x="610.31189" + y="284.99939" + rx="11.6051" + ry="16.293755" /> + <rect + style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient3995-5-6-49);stroke-width:0.98503989;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect87-6-5-3-7-8-0" + width="46.100037" + height="41.821865" + x="544.77686" + y="224.75677" + rx="23.050018" + ry="19.496723" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none" + x="550.90131" + y="243.5219" + id="text5219-2-4-3-3-6"><tspan + sodipodi:role="line" + x="550.90131" + y="243.5219" + style="font-size:8.66666698px;line-height:1.25" + id="tspan1242-9">mt safe </tspan><tspan + sodipodi:role="line" + x="550.90131" + y="254.35522" + style="font-size:8.66666698px;line-height:1.25" + id="tspan6969"> tx?</tspan></text> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1.65842497;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.65842498, 1.65842498;stroke-dashoffset:0;stroke-opacity:1" + d="m 490.36981,185.5008 c 26.02242,0 52.04208,0 64.72658,-0.12632 12.68451,-0.12632 12.0325,-0.38057 11.38255,-0.63402" + id="path1938-1" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect1940-7" + inkscape:original-d="m 490.36981,185.5008 c 26.02242,-0.001 52.04208,-0.001 78.05897,0 -0.64718,-0.25444 -1.94984,-0.76034 -1.94984,-0.76034" + sodipodi:nodetypes="ccc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:2.04590178;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.04590175, 2.04590175;stroke-dashoffset:0;stroke-opacity:0.95703125;marker-end:url(#EmptyTriangleOutM-0)" + d="m 566.4769,186.10953 c 0,12.17361 0,24.34874 0,36.52539" + id="path2656-7" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect2658-8" + inkscape:original-d="m 566.4769,186.10953 c 0.003,12.17361 0.003,24.34874 0,36.52539" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#358611;stroke-width:1.65842497;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.65842498, 1.65842498;stroke-dashoffset:0;stroke-opacity:1" + d="m 492.46012,302.18293 c 26.02242,0 52.04208,0 64.72658,0.12632 12.68451,0.12632 12.0325,0.38057 11.38255,0.63402" + id="path1938-1-6" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect1940-7-2" + inkscape:original-d="m 492.46012,302.18293 c 26.02242,10e-4 52.04208,10e-4 78.05897,0 -0.64718,0.25444 -1.94984,0.76034 -1.94984,0.76034" + sodipodi:nodetypes="ccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.3637991px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.8636499" + x="620.28857" + y="239.64172" + id="text5219-2-3-7-7" + transform="scale(0.98989581,1.0102073)"><tspan + sodipodi:role="line" + x="620.28857" + y="239.64172" + id="tspan5223-0-6-5-1" + style="font-size:8.63649845px;line-height:1.25;stroke-width:0.8636499">eth port 1</tspan><tspan + sodipodi:role="line" + x="620.28857" + y="250.43735" + style="font-size:8.63649845px;line-height:1.25;stroke-width:0.8636499" + id="tspan883-15"> Txq 0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.3637991px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.8636499" + x="621.00293" + y="186.44463" + id="text5219-2-3-7-7-9" + transform="scale(0.98989583,1.0102073)"><tspan + sodipodi:role="line" + x="621.00293" + y="186.44463" + id="tspan5223-0-6-5-1-7" + style="font-size:8.63649845px;line-height:1.25;stroke-width:0.8636499">eth port 0</tspan><tspan + sodipodi:role="line" + x="621.00293" + y="197.24025" + style="font-size:8.63649845px;line-height:1.25;stroke-width:0.8636499" + id="tspan883-15-7"> Txq 0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.3637991px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.8636499" + x="621.71729" + y="294.93872" + id="text5219-2-3-7-7-6" + transform="scale(0.98989583,1.0102073)"><tspan + sodipodi:role="line" + x="621.71729" + y="294.93872" + id="tspan5223-0-6-5-1-73" + style="font-size:8.63649845px;line-height:1.25;stroke-width:0.8636499">eth port a</tspan><tspan + sodipodi:role="line" + x="621.71729" + y="305.73434" + style="font-size:8.63649845px;line-height:1.25;stroke-width:0.8636499" + id="tspan883-15-6"> Txq 0</tspan></text> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5-8-5)" + d="m 590.89557,246.52582 c 5.35689,0.008 10.71279,0.0161 16.06769,0.0241" + id="path5226-6-6-4" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5-9-39" + inkscape:original-d="m 590.89557,246.52582 c 5.35689,0.007 10.71279,0.0151 16.06769,0.0241" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5-8-8)" + d="m 584.8092,262.55454 c 11.8346,6.14848 23.66883,12.29676 35.50269,18.44485" + id="path5226-6-6-9" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5-9-2" + inkscape:original-d="m 584.8092,262.55454 c 11.83522,6.14728 23.66945,12.29556 35.50269,18.44485" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#f78202;stroke-width:0.89999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutM-5-8-8-3)" + d="m 582.8092,227.97785 c 11.8346,-6.14848 23.66883,-12.29676 35.50269,-18.44485" + id="path5226-6-6-9-8" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect5228-5-9-2-0" + inkscape:original-d="m 582.8092,227.97785 c 11.83522,-6.14728 23.66945,-12.29556 35.50269,-18.44485" + sodipodi:nodetypes="cc" /> + <path + style="display:inline;opacity:1;fill:none;stroke:#000000;stroke-width:0.81462836;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81462827, 0.81462827;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#marker28236-9-8);marker-end:url(#marker3706-2-0)" + d="m 545.54392,254.17939 c -3.62648,-0.66909 -7.50276,0.13346 -10.56544,2.18747 -3.06268,2.05402 -5.2763,5.33572 -6.03357,8.94481 -0.75727,3.60909 -0.0494,7.50379 1.92933,10.61562 1.97877,3.11183 5.20555,5.40477 8.79511,6.24977 2.39256,0.56322 4.9306,0.49598 7.28998,-0.19314 2.35938,-0.68913 4.53461,-1.99853 6.24789,-3.76098 1.71328,-1.76245 2.96063,-3.97385 3.58274,-6.35178 0.62211,-2.37792 0.61753,-4.91685 -0.0131,-7.29252" + id="path14459-5-8" + inkscape:connector-curvature="0" + inkscape:path-effect="#path-effect14461-7-63" + inkscape:original-d="m 545.54392,254.17939 c -4.42306,-11.93362 -8.04324,66.84688 -5.87457,27.99767 2.57092,-46.05513 49.47586,-15.91888 17.10747,-17.59842" + sodipodi:nodetypes="csc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.3637991px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.8636499" + x="521.71185" + y="285.83926" + id="text5219-2-3-7-7-5" + transform="scale(0.98989583,1.0102073)"><tspan + sodipodi:role="line" + x="521.71185" + y="285.83926" + style="font-size:8.63649845px;line-height:1.25;stroke-width:0.8636499" + id="tspan883-15-1">Spin lock</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:11.59418297px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.96618187" + x="173.85902" + y="162.83041" + id="text5219-2-3-7-2-1" + transform="scale(0.97663117,1.023928)"><tspan + sodipodi:role="line" + x="173.85902" + y="162.83041" + id="tspan5223-0-6-5-9-5" + style="font-size:8px;line-height:1.25;stroke-width:0.96618187">Event eth</tspan><tspan + sodipodi:role="line" + x="173.85902" + y="172.83041" + style="font-size:8px;line-height:1.25;stroke-width:0.96618187" + id="tspan883-1-9">Rx adptr 0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:11.59418297px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.96618187" + x="174.24074" + y="215.89487" + id="text5219-2-3-7-2-1-4" + transform="scale(0.97663117,1.023928)"><tspan + sodipodi:role="line" + x="174.24074" + y="215.89487" + id="tspan5223-0-6-5-9-5-4" + style="font-size:8px;line-height:1.25;stroke-width:0.96618187">Event eth</tspan><tspan + sodipodi:role="line" + x="174.24074" + y="225.89487" + style="font-size:8px;line-height:1.25;stroke-width:0.96618187" + id="tspan883-1-9-4">Rx adptr 1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:11.59418297px;line-height:0%;font-family:'Bitstream Vera Sans';display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.96618187" + x="174.24074" + y="269.76031" + id="text5219-2-3-7-2-1-47" + transform="scale(0.97663117,1.023928)"><tspan + sodipodi:role="line" + x="174.24074" + y="269.76031" + id="tspan5223-0-6-5-9-5-6" + style="font-size:8px;line-height:1.25;stroke-width:0.96618187">Event eth</tspan><tspan + sodipodi:role="line" + x="174.24074" + y="279.76031" + style="font-size:8px;line-height:1.25;stroke-width:0.96618187" + id="tspan883-1-9-3">Rx adptr a</tspan></text> + </g> +</svg> diff --git a/doc/guides/tools/testeventdev.rst b/doc/guides/tools/testeventdev.rst index 11e608b..b5c84cd 100644 --- a/doc/guides/tools/testeventdev.rst +++ b/doc/guides/tools/testeventdev.rst @@ -468,3 +468,102 @@ Example command to run perf ``all types queue`` test: sudo build/app/dpdk-test-eventdev --vdev=event_octeontx -- \ --test=perf_atq --plcores=2 --wlcore=3 --stlist=p --nb_pkts=0 + + +PERF_PIPELINE Test +~~~~~~~~~~~~~~~~~~ + +This is a performance test case that aims at testing the following: + +#. Measure the end-to-end performance of an event dev with a ethernet dev. +#. Maintain packet ordering from Rx to Tx. + +.. _table_eventdev_perf_pipeline_test: + +.. table:: Perf pipeline test eventdev configuration. + + +---+--------------+----------------+-----------------------------------------+ + | # | Items | Value | Comments | + | | | | | + +===+==============+================+=========================================+ + | 1 | nb_queues | nb_producers * | Queues will be configured based on the | + | | | nb_stages | user requested sched type list(--stlist)| + +---+--------------+----------------+-----------------------------------------+ + | 2 | nb_producers | >= 1 | Producers will be configured based on | + | | | | the number of detected ethernet devices.| + | | | | Each ethdev will be configured as an Rx | + | | | | adapter. | + +---+--------------+----------------+-----------------------------------------+ + | 3 | nb_workers | >= 1 | Selected through --wlcores command line | + | | | | argument | + +---+--------------+----------------+-----------------------------------------+ + | 4 | nb_ports | nb_workers + | Workers use port 0 to port n. | + | | | nb_producers | Producers use port n+1 to port n+m, | + | | | | depending on the Rx adapter capability. | + +---+--------------+----------------+-----------------------------------------+ + +.. _figure_eventdev_perf_pipeline_test: + +.. figure:: img/eventdev_perf_pipeline_test.* + + perf pipeline test operation. + +The perf pipeline test configures the eventdev with Q queues and P ports, where +Q and P is a function of the number of workers, the number of producers and +number of stages as mentioned in :numref:`table_eventdev_perf_pipeline_test`. + +The user can choose the number of workers and number of stages through the +``--wlcores`` and the ``--stlist`` application command line arguments +respectively. + +The number of producers depends on the number of ethernet devices detected and +each ethernet device is configured as a event_eth_rx_adapter that acts as a +producer. + +The producer(s) injects the events to eventdev based the first stage sched type +list requested by the user through ``--stlist`` the command line argument. + +Based on the number of stages to process(selected through ``--stlist``), +The application forwards the event to next upstream queue and when it reaches +the last stage in the pipeline if the event type is ``atomic`` it is enqueued +onto ethdev Tx queue else to maintain ordering the event type is set to +``atomic`` and enqueued onto the last stage queue. +On packet Tx, application increments the number events processed and print +periodically in one second to get the number of events processed in one +second. + + .. Note:: + + * If the event device doesn't support ``all types queue`` and the last + stage is not ``atomic`` then an additional ``atomic`` queue is created + to maintain packet ordering before Tx. + +Application options +^^^^^^^^^^^^^^^^^^^ + +Supported application command line options are following:: + + --verbose + --dev + --test + --socket_id + --pool_sz + --wlcores + --stlist + --worker_deq_depth + --prod_type_ethdev + + +.. Note:: + + * The ``--prod_type_ethdev`` is mandatory for running this test. + +Example +^^^^^^^ + +Example command to run perf pipeline test: + +.. code-block:: console + + sudo build/app/dpdk-test-eventdev -c 0xf -s 0x8 --vdev=event_sw0 -- \ + --test=perf_pipeline --wlcore=1 --prod_type_ethdev --stlist=ao -- 2.7.4