summaryrefslogtreecommitdiff
path: root/docs/pictures
diff options
context:
space:
mode:
Diffstat (limited to 'docs/pictures')
-rwxr-xr-xdocs/pictures/allocator-queue.svg1050
-rwxr-xr-xdocs/pictures/epam-logo.pngbin0 -> 1623 bytes
-rwxr-xr-xdocs/pictures/epam-logo.svg46
-rwxr-xr-xdocs/pictures/general-structure.pngbin0 -> 75539 bytes
-rwxr-xr-xdocs/pictures/general-structure.svg876
-rwxr-xr-xdocs/pictures/logo.pngbin0 -> 25537 bytes
-rwxr-xr-xdocs/pictures/logo64.pngbin0 -> 2078 bytes
-rwxr-xr-xdocs/pictures/metrics.svg297
-rwxr-xr-xdocs/pictures/session-visualization.pngbin0 -> 95322 bytes
9 files changed, 2269 insertions, 0 deletions
diff --git a/docs/pictures/allocator-queue.svg b/docs/pictures/allocator-queue.svg
new file mode 100755
index 0000000..240ea07
--- /dev/null
+++ b/docs/pictures/allocator-queue.svg
@@ -0,0 +1,1050 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export allocator-queue.svg BlockAllocator and Queue -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.6929in" height="8.26772in"
+ viewBox="0 0 841.89 595.276" xml:space="preserve" color-interpolation-filters="sRGB" class="st24">
+ <v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:#000000;stroke-width:0.25}
+ .st2 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+ .st3 {fill:#ffffff;stroke:#000000;stroke-dasharray:3.75,2.25;stroke-width:0.25}
+ .st4 {visibility:visible}
+ .st5 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st6 {fill:#a5a5a5;stroke:#000000;stroke-width:0.5}
+ .st7 {marker-end:url(#mrkr3-61);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.5}
+ .st8 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.25773195876289}
+ .st9 {fill:#ffffff;stroke:none;stroke-width:0.25}
+ .st10 {fill:#a5a5a5;stroke:#000000;stroke-width:0.25}
+ .st11 {fill:none;stroke:none;stroke-width:0.25}
+ .st12 {marker-end:url(#mrkr3-213);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st13 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.51020408163265}
+ .st14 {fill:#ffffff;stroke:#000000;stroke-width:0.5}
+ .st15 {fill:none;filter:url(#filter_2)}
+ .st16 {fill:none;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st17 {fill:#5b9bd5;filter:url(#filter_2);font-family:Calibri;font-size:1.00001em;opacity:0.219608}
+ .st18 {font-size:1em}
+ .st19 {fill:none}
+ .st20 {stroke:#c7c8c8;stroke-width:0.25}
+ .st21 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+ .st22 {fill:none;filter:url(#filter_2);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.22}
+ .st23 {fill:none;stroke:#c7c8c8;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st24 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend3">
+ <path d="M 2 1 L 0 0 L 2 -1 " style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
+ </g>
+ <marker id="mrkr3-61" class="st8" v:arrowType="3" v:arrowSize="0" orient="auto" markerUnits="strokeWidth"
+ overflow="visible">
+ <use xlink:href="#lend3" transform="scale(-3.88,-3.88) "/>
+ </marker>
+ <marker id="mrkr3-213" class="st13" v:arrowType="3" v:arrowSize="0" orient="auto" markerUnits="strokeWidth"
+ overflow="visible">
+ <use xlink:href="#lend3" transform="scale(-1.96,-1.96) "/>
+ </marker>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="4" v:index="2" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>BlockAllocator and Queue</title>
+ <v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+ v:shadowOffsetY="-8.50394"/>
+ <v:layer v:name="Connector" v:index="0"/>
+ <v:layer v:name="Container" v:index="1"/>
+ <g id="shape4-1" v:mID="4" v:groupContext="shape" transform="translate(178.583,-118.63)">
+ <title>Rectangle.4</title>
+ <desc>Queue&#60;T&#62;</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+ <v:textRect cx="216.85" cy="505.559" width="433.71" height="179.433"/>
+ <rect x="0" y="415.843" width="433.701" height="179.433" class="st1"/>
+ <text x="4" y="428.84" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Queue&#60;T&#62;</text> </g>
+ <g id="shape251-4" v:mID="251" v:groupContext="shape" transform="translate(232.933,-216.86)">
+ <title>Rectangle.251</title>
+ <desc>allocator spinlock</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="159.449" cy="579.69" width="318.9" height="31.1719"/>
+ <path d="M0 595.28 L318.9 595.28 L318.9 564.1 L0 564.1 L0 595.28 Z" class="st3"/>
+ <text x="123.9" y="582.69" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>allocator spinlock</text> </g>
+ <g id="shape242-7" v:mID="242" v:groupContext="shape" transform="translate(1159.2,333.071) rotate(90)">
+ <title>Rectangle.242</title>
+ <desc>ElementList</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="63.7795" cy="576.014" width="127.56" height="38.5228"/>
+ <rect x="0" y="556.753" width="127.559" height="38.5228" class="st1"/>
+ <text x="40.04" y="579.01" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ElementList</text> </g>
+ <g id="shape238-10" v:mID="238" v:groupContext="shape" transform="translate(782.196,338.594) rotate(90)">
+ <title>Rectangle.238</title>
+ <desc>ElementPtr</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="63.7795" cy="578.102" width="127.56" height="34.3479"/>
+ <rect x="0" y="560.928" width="127.559" height="34.3479" class="st1"/>
+ <text x="40.92" y="581.1" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ElementPtr</text> </g>
+ <g id="shape157-13" v:mID="157" v:groupContext="shape" transform="translate(366.781,-188.646)">
+ <title>Sheet.157</title>
+ <g id="shadow157-14" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape153-18" v:mID="153" v:groupContext="shape" transform="translate(338.435,-188.646)">
+ <title>Sheet.153</title>
+ <g id="shadow153-19" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape149-23" v:mID="149" v:groupContext="shape" transform="translate(311.67,-188.646)">
+ <title>Sheet.149</title>
+ <g id="shadow149-24" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape133-28" v:mID="133" v:groupContext="shape" transform="translate(283.77,-188.646)">
+ <title>Sheet.133</title>
+ <g id="shadow133-29" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape165-33" v:mID="165" v:groupContext="shape" transform="translate(480.973,-188.646)">
+ <title>Sheet.165</title>
+ <g id="shadow165-34" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape167-38" v:mID="167" v:groupContext="shape" transform="translate(452.626,-188.646)">
+ <title>Sheet.167</title>
+ <g id="shadow167-39" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape170-43" v:mID="170" v:groupContext="shape" transform="translate(425.861,-188.646)">
+ <title>Sheet.170</title>
+ <g id="shadow170-44" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape173-48" v:mID="173" v:groupContext="shape" transform="translate(397.962,-188.646)">
+ <title>Sheet.173</title>
+ <g id="shadow173-49" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape1-53" v:mID="1" v:groupContext="shape" transform="translate(195.591,-347.244)">
+ <title>Rectangle.2</title>
+ <desc>BlockAllocator</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197" v:verticalAlign="0"/>
+ <v:textRect cx="199.843" cy="513.78" width="399.69" height="162.992"/>
+ <rect x="0" y="432.283" width="399.685" height="162.992" class="st1"/>
+ <text x="4" y="445.28" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>BlockAllocator</text> </g>
+ <g id="shape26-56" v:mID="26" v:groupContext="shape" v:layerMember="0" transform="translate(289.134,-425.197)">
+ <title>Dynamic connector</title>
+ <path d="M0 595.28 L21.26 581.1" class="st7"/>
+ </g>
+ <g id="group28-62" transform="translate(250.611,-403.937)" v:mID="28" v:groupContext="group">
+ <title>Sheet.28</title>
+ <g id="shape22-63" v:mID="22" v:groupContext="shape" transform="translate(1.19904E-014,-17.0079)">
+ <title>Rectangle.22</title>
+ <desc>Block 0</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="19.2614" cy="591.024" width="38.53" height="8.50394"/>
+ <rect x="0" y="586.772" width="38.5228" height="8.50394" class="st1"/>
+ <text x="4" y="594.02" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Block 0</text> </g>
+ <g id="shape24-66" v:mID="24" v:groupContext="shape" transform="translate(0,-8.53228)">
+ <title>Rectangle.24</title>
+ <desc>Block 1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="19.2614" cy="591.024" width="38.53" height="8.50394"/>
+ <rect x="0" y="586.772" width="38.5228" height="8.50394" class="st1"/>
+ <text x="4" y="594.02" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Block 1</text> </g>
+ <g id="shape25-69" v:mID="25" v:groupContext="shape">
+ <title>Rectangle.25</title>
+ <desc>Block n</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="19.2614" cy="591.024" width="38.53" height="8.50394"/>
+ <rect x="0" y="586.772" width="38.5228" height="8.50394" class="st1"/>
+ <text x="4" y="594.02" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Block n</text> </g>
+ </g>
+ <g id="shape54-72" v:mID="54" v:groupContext="shape" transform="translate(303.307,-462.047)">
+ <title>Rectangle.25</title>
+ <desc>free</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="12.7559" cy="588.898" width="25.52" height="12.7559"/>
+ <rect x="0" y="582.52" width="25.5118" height="12.7559" class="st9"/>
+ <text x="4" y="591.9" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>free</text> </g>
+ <g id="group55-75" transform="translate(310.394,-420.954)" v:mID="55" v:groupContext="group">
+ <title>Sheet.55</title>
+ <g id="group21-76" transform="translate(0,-5.66009)" v:mID="21" v:groupContext="group">
+ <title>Sheet.21</title>
+ <g id="shape10-77" v:mID="10" v:groupContext="shape">
+ <title>Rectangle.10</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st10"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape11-80" v:mID="11" v:groupContext="shape" transform="translate(34.526,0)">
+ <title>Rectangle.11</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st10"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape12-83" v:mID="12" v:groupContext="shape" transform="translate(69.052,0)">
+ <title>Rectangle.12</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape13-86" v:mID="13" v:groupContext="shape" transform="translate(103.578,0)">
+ <title>Rectangle.13</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape14-89" v:mID="14" v:groupContext="shape" transform="translate(138.104,0)">
+ <title>Rectangle.14</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st10"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape15-92" v:mID="15" v:groupContext="shape" transform="translate(172.63,0)">
+ <title>Rectangle.15</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape17-95" v:mID="17" v:groupContext="shape" transform="translate(207.156,0)">
+ <title>Rectangle.17</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape18-98" v:mID="18" v:groupContext="shape" transform="translate(241.682,-1.13687E-013)">
+ <title>Rectangle.18</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ </g>
+ <g id="shape45-101" v:mID="45" v:groupContext="shape" transform="translate(86.315,0)">
+ <title>Sheet.45</title>
+ <path d="M0 589.62 C5.42 595.28 7.79 595.68 13.89 595.08 C16.34 594.84 19.38 594.43 22.68 589.62" class="st7"/>
+ </g>
+ <g id="shape46-106" v:mID="46" v:groupContext="shape" transform="translate(120.841,0)">
+ <title>Sheet.46</title>
+ <path d="M0 589.62 C16.5 595.28 23.73 595.68 42.3 595.08 C49.75 594.84 59.02 594.43 69.05 589.62" class="st7"/>
+ </g>
+ <g id="shape48-111" v:mID="48" v:groupContext="shape" transform="translate(189.893,0)">
+ <title>Sheet.48</title>
+ <path d="M0 589.62 C5.42 595.28 7.79 595.68 13.89 595.08 C16.34 594.84 19.38 594.43 22.68 589.62" class="st7"/>
+ </g>
+ <g id="shape49-116" v:mID="49" v:groupContext="shape" transform="translate(224.419,-1.13687E-013)">
+ <title>Sheet.49</title>
+ <path d="M0 589.62 C5.42 595.28 7.79 595.68 13.89 595.08 C16.34 594.84 19.38 594.43 22.68 589.62" class="st7"/>
+ </g>
+ </g>
+ <g id="shape58-121" v:mID="58" v:groupContext="shape" transform="translate(314.391,-362.835)">
+ <title>Rectangle.58</title>
+ <desc>NULL</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="19.2614" cy="588.898" width="38.53" height="12.7559"/>
+ <rect x="0" y="582.52" width="38.5228" height="12.7559" class="st11"/>
+ <text x="4" y="591.9" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>NULL</text> </g>
+ <g id="shape59-124" v:mID="59" v:groupContext="shape" v:layerMember="0" transform="translate(289.134,-408.189)">
+ <title>Dynamic connector.59</title>
+ <path d="M0 595.28 L25.26 634.25" class="st7"/>
+ </g>
+ <g id="shape62-129" v:mID="62" v:groupContext="shape" transform="translate(467.786,-451.977) rotate(13.5003)">
+ <title>Sheet.62</title>
+ <path d="M0 595.28 C15.88 590.58 24.96 588.95 38.98 589.6 C44.61 589.86 51.03 590.49 69.82 595.28" class="st7"/>
+ </g>
+ <g id="group100-134" transform="translate(310.564,-381.264)" v:mID="100" v:groupContext="group">
+ <title>Sheet.100</title>
+ <g id="group101-135" transform="translate(0,-5.66009)" v:mID="101" v:groupContext="group">
+ <title>Sheet.101</title>
+ <g id="shape102-136" v:mID="102" v:groupContext="shape">
+ <title>Rectangle.10</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st10"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape103-139" v:mID="103" v:groupContext="shape" transform="translate(34.526,0)">
+ <title>Rectangle.11</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st10"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape104-142" v:mID="104" v:groupContext="shape" transform="translate(69.052,0)">
+ <title>Rectangle.12</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape105-145" v:mID="105" v:groupContext="shape" transform="translate(103.578,0)">
+ <title>Rectangle.13</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape106-148" v:mID="106" v:groupContext="shape" transform="translate(138.104,0)">
+ <title>Rectangle.14</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape107-151" v:mID="107" v:groupContext="shape" transform="translate(172.63,0)">
+ <title>Rectangle.15</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape108-154" v:mID="108" v:groupContext="shape" transform="translate(207.156,0)">
+ <title>Rectangle.17</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st1"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ <g id="shape109-157" v:mID="109" v:groupContext="shape" transform="translate(241.682,-1.13687E-013)">
+ <title>Rectangle.18</title>
+ <desc>Chunk</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="17.263" cy="582.52" width="34.53" height="25.5118"/>
+ <rect x="0" y="569.764" width="34.526" height="25.5118" class="st10"/>
+ <text x="4" y="585.52" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk</text> </g>
+ </g>
+ <g id="shape110-160" v:mID="110" v:groupContext="shape" transform="translate(86.315,0)">
+ <title>Sheet.110</title>
+ <path d="M0 589.62 C5.42 595.28 7.79 595.68 13.89 595.08 C16.34 594.84 19.38 594.43 22.68 589.62" class="st7"/>
+ </g>
+ <g id="shape112-165" v:mID="112" v:groupContext="shape" transform="translate(189.893,0)">
+ <title>Sheet.112</title>
+ <path d="M0 589.62 C5.42 595.28 7.79 595.68 13.89 595.08 C16.34 594.84 19.38 594.43 22.68 589.62" class="st7"/>
+ </g>
+ </g>
+ <g id="shape114-170" v:mID="114" v:groupContext="shape" v:layerMember="0" transform="translate(289.134,-416.721)">
+ <title>Dynamic connector.114</title>
+ <path d="M0 595.28 L21.43 612.32" class="st7"/>
+ </g>
+ <g id="shape115-175" v:mID="115" v:groupContext="shape" transform="translate(465.931,-381.264)">
+ <title>Sheet.115</title>
+ <path d="M0 589.62 C5.42 595.28 7.79 595.68 13.89 595.08 C16.34 594.84 19.38 594.43 22.68 589.62" class="st7"/>
+ </g>
+ <g id="shape116-180" v:mID="116" v:groupContext="shape" transform="translate(618.045,761.134) rotate(175.3)">
+ <title>Sheet.116</title>
+ <path d="M0 594.47 C2.82 586.17 -9.74 585.59 70.67 591.28 C102.92 593.56 150.12 596.86 173.04 594.47" class="st7"/>
+ </g>
+ <g id="shape117-185" v:mID="117" v:groupContext="shape" transform="translate(431.405,-381.264)">
+ <title>Sheet.117</title>
+ <path d="M0 589.62 C5.42 595.28 7.79 595.68 13.89 595.08 C16.34 594.84 19.38 594.43 22.68 589.62" class="st7"/>
+ </g>
+ <g id="shape118-190" v:mID="118" v:groupContext="shape" transform="translate(348.661,-263.622)">
+ <title>Rectangle.118</title>
+ <desc>BlockAllocator</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="43.7209" cy="582.52" width="87.45" height="25.5118"/>
+ <rect x="0" y="569.764" width="87.4417" height="25.5118" class="st1"/>
+ <text x="14.44" y="585.52" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>BlockAllocator</text> </g>
+ <g id="shape128-193" v:mID="128" v:groupContext="shape" transform="translate(232.441,-141.732)">
+ <title>Rectangle.128</title>
+ <desc>queue spinlock</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="159.449" cy="579.69" width="318.9" height="31.1719"/>
+ <path d="M0 595.28 L318.9 595.28 L318.9 564.1 L0 564.1 L0 595.28 Z" class="st3"/>
+ <text x="128.93" y="582.69" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>queue spinlock</text> </g>
+ <g id="shape129-196" v:mID="129" v:groupContext="shape" transform="translate(239.528,-143.531)">
+ <title>Rectangle.129</title>
+ <desc>push(T*)</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="23.1024" cy="587.483" width="46.21" height="15.586"/>
+ <rect x="0" y="579.69" width="46.2047" height="15.586" class="st9"/>
+ <text x="5.31" y="590.48" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>push(T*)</text> </g>
+ <g id="shape130-199" v:mID="130" v:groupContext="shape" transform="translate(477.638,-145.329)">
+ <title>Rectangle.130</title>
+ <desc>T[] pop_list()</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="33.3071" cy="587.483" width="66.62" height="15.586"/>
+ <rect x="0" y="579.69" width="66.6142" height="15.586" class="st9"/>
+ <text x="7.34" y="590.48" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T[] pop_list()</text> </g>
+ <g id="shape123-202" v:mID="123" v:groupContext="shape" transform="translate(241.917,-225.354)">
+ <title>Rectangle.123</title>
+ <desc>T* allocate()</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="29.5884" cy="588.898" width="59.18" height="12.7559"/>
+ <rect x="0" y="582.52" width="59.1768" height="12.7559" class="st9"/>
+ <text x="4" y="591.9" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>T* allocate()</text> </g>
+ <g id="shape124-205" v:mID="124" v:groupContext="shape" transform="translate(477.098,-226.772)">
+ <title>Rectangle.124</title>
+ <desc>deallocate(T*)</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="33.0909" cy="588.898" width="66.19" height="12.7559"/>
+ <rect x="0" y="582.52" width="66.1819" height="12.7559" class="st9"/>
+ <text x="4" y="591.9" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>deallocate(T*)</text> </g>
+ <g id="shape125-208" v:mID="125" v:groupContext="shape" v:layerMember="0" transform="translate(348.661,-276.378)">
+ <title>Dynamic connector.125</title>
+ <path d="M0 595.28 L-77.16 633.54" class="st12"/>
+ </g>
+ <g id="shape126-214" v:mID="126" v:groupContext="shape" v:layerMember="0" transform="translate(510.189,-239.528)">
+ <title>Dynamic connector.126</title>
+ <path d="M0 595.28 L-74.09 558.43" class="st12"/>
+ </g>
+ <g id="shape160-219" v:mID="160" v:groupContext="shape" transform="translate(240.139,-155.906)">
+ <title>Rectangle.160</title>
+ <desc>list</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st9"/>
+ <text x="4.4" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>list</text> </g>
+ <g id="shape161-222" v:mID="161" v:groupContext="shape" v:layerMember="0" transform="translate(250.463,-168.661)">
+ <title>Dynamic connector.161</title>
+ <path d="M0 595.28 L32.5 566.93" class="st7"/>
+ </g>
+ <g id="shape162-227" v:mID="162" v:groupContext="shape" transform="translate(507.566,-157.323)">
+ <title>Rectangle.162</title>
+ <desc>first</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="15.4264" cy="588.898" width="30.86" height="12.7559"/>
+ <rect x="0" y="582.52" width="30.8529" height="12.7559" class="st9"/>
+ <text x="7.38" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>first</text> </g>
+ <g id="shape176-230" v:mID="176" v:groupContext="shape" transform="translate(110.424,-177.316)">
+ <title>Rectangle.176</title>
+ <desc>Writer</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="29.8913" cy="579.69" width="59.79" height="31.1719"/>
+ <rect x="0" y="564.104" width="59.7827" height="31.1719" class="st1"/>
+ <text x="16.65" y="582.69" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Writer</text> </g>
+ <g id="shape177-233" v:mID="177" v:groupContext="shape" transform="translate(627.746,-181.422)">
+ <title>Rectangle.177</title>
+ <desc>Reader</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="29.8913" cy="579.69" width="59.79" height="31.1719"/>
+ <rect x="0" y="564.104" width="59.7827" height="31.1719" class="st1"/>
+ <text x="15.44" y="582.69" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Reader</text> </g>
+ <g id="shape156-236" v:mID="156" v:groupContext="shape" transform="translate(365.975,-190.63)">
+ <title>Rectangle.156</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ <g id="shape152-239" v:mID="152" v:groupContext="shape" transform="translate(337.628,-190.63)">
+ <title>Rectangle.152</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ <g id="shape154-242" v:mID="154" v:groupContext="shape" v:layerMember="0" transform="translate(368.482,-190.346)">
+ <title>Dynamic connector.154</title>
+ <path d="M-1.7 588.19 L-12.47 588.19" class="st7"/>
+ </g>
+ <g id="shape148-247" v:mID="148" v:groupContext="shape" transform="translate(310.863,-190.63)">
+ <title>Rectangle.148</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ <g id="shape150-250" v:mID="150" v:groupContext="shape" v:layerMember="0" transform="translate(340.926,-190.346)">
+ <title>Dynamic connector.150</title>
+ <path d="M-2.49 588.19 L-11.68 588.19" class="st7"/>
+ </g>
+ <g id="shape134-255" v:mID="134" v:groupContext="shape" transform="translate(282.964,-190.63)">
+ <title>Rectangle.134</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ <g id="shape145-258" v:mID="145" v:groupContext="shape" v:layerMember="0" transform="translate(313.594,-190.346)">
+ <title>Dynamic connector.145</title>
+ <path d="M-1.92 588.19 L-12.25 588.19" class="st7"/>
+ </g>
+ <g id="shape164-263" v:mID="164" v:groupContext="shape" transform="translate(480.167,-190.63)">
+ <title>Rectangle.164</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ <g id="shape166-266" v:mID="166" v:groupContext="shape" transform="translate(451.82,-190.63)">
+ <title>Rectangle.166</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ <g id="shape168-269" v:mID="168" v:groupContext="shape" v:layerMember="0" transform="translate(482.674,-190.346)">
+ <title>Dynamic connector.168</title>
+ <path d="M-1.7 588.19 L-12.47 588.19" class="st7"/>
+ </g>
+ <g id="shape169-274" v:mID="169" v:groupContext="shape" transform="translate(425.055,-190.63)">
+ <title>Rectangle.169</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ <g id="shape171-277" v:mID="171" v:groupContext="shape" v:layerMember="0" transform="translate(455.118,-190.346)">
+ <title>Dynamic connector.171</title>
+ <path d="M-2.49 588.19 L-11.68 588.19" class="st7"/>
+ </g>
+ <g id="shape172-282" v:mID="172" v:groupContext="shape" transform="translate(397.156,-190.63)">
+ <title>Rectangle.172</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ <g id="shape174-285" v:mID="174" v:groupContext="shape" v:layerMember="0" transform="translate(427.786,-190.346)">
+ <title>Dynamic connector.174</title>
+ <path d="M-1.92 588.19 L-12.25 588.19" class="st7"/>
+ </g>
+ <g id="shape175-290" v:mID="175" v:groupContext="shape" v:layerMember="0" transform="translate(398.246,-190.346)">
+ <title>Dynamic connector.175</title>
+ <path d="M-0.28 588.19 L-13.89 588.19" class="st7"/>
+ </g>
+ <g id="shape183-295" v:mID="183" v:groupContext="shape" transform="translate(372.089,932.539) rotate(167.114)">
+ <title>Sheet.183</title>
+ <path d="M0 583.7 C38.54 597.44 83.34 600.97 104.23 583.7" class="st12"/>
+ </g>
+ <g id="shape184-300" v:mID="184" v:groupContext="shape" transform="translate(287.889,-145.324) rotate(14.6809)">
+ <title>Sheet.184</title>
+ <path d="M0 582.29 C24.9 607.39 69.61 589.7 102.56 582.29" class="st12"/>
+ </g>
+ <g id="shape185-305" v:mID="185" v:groupContext="shape" transform="translate(403.494,-121.803) rotate(-14.0141)">
+ <title>Sheet.185</title>
+ <path d="M0 581.26 C12.78 584.97 50.85 595.17 74.95 595.28 C95.42 595.36 105.8 588.16 116.86 581.26" class="st12"/>
+ </g>
+ <g id="shape186-310" v:mID="186" v:groupContext="shape" transform="translate(554.066,958.884) rotate(-169.81)">
+ <title>Sheet.186</title>
+ <path d="M0 585.44 C33.25 596.44 83.96 600.67 116.19 585.44" class="st12"/>
+ </g>
+ <g id="shape163-315" v:mID="163" v:groupContext="shape" v:layerMember="0" transform="translate(522.992,-170.079)">
+ <title>Dynamic connector.163</title>
+ <path d="M0 595.28 L-26.45 573.51" class="st7"/>
+ </g>
+ <g id="group210-320" transform="translate(193.77,-141.732)" v:mID="210" v:groupContext="group">
+ <title>Sheet.210</title>
+ <g id="shape197-321" v:mID="197" v:groupContext="shape" transform="translate(0.806102,0)">
+ <title>Sheet.197</title>
+ <g id="shadow197-322" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape196-326" v:mID="196" v:groupContext="shape" transform="translate(0,-1.98425)">
+ <title>Rectangle.196</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ </g>
+ <g id="group211-329" transform="translate(564.989,-146.268)" v:mID="211" v:groupContext="group">
+ <title>Sheet.211</title>
+ <g id="shape200-330" v:mID="200" v:groupContext="shape" transform="translate(0.806102,0)">
+ <title>Sheet.200</title>
+ <g id="shadow200-331" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape199-335" v:mID="199" v:groupContext="shape" transform="translate(0,-1.98425)">
+ <title>Rectangle.199</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ </g>
+ <g id="group217-338" transform="translate(194.784,-223.937)" v:mID="217" v:groupContext="group">
+ <title>Sheet.217</title>
+ <g id="shape193-339" v:mID="193" v:groupContext="shape" transform="translate(0.806102,0)">
+ <title>Sheet.193</title>
+ <g id="shadow193-340" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st14"/>
+ </g>
+ <g id="shape192-344" v:mID="192" v:groupContext="shape" transform="translate(0,-1.98425)">
+ <title>Rectangle.192</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ </g>
+ <g id="group218-347" transform="translate(573.613,-227.906)" v:mID="218" v:groupContext="group">
+ <title>Sheet.218</title>
+ <g id="shape206-348" v:mID="206" v:groupContext="shape" transform="translate(0.806102,0)">
+ <title>Sheet.206</title>
+ <g id="shadow206-349" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st14"/>
+ </g>
+ <g id="shape205-353" v:mID="205" v:groupContext="shape" transform="translate(0,-1.98425)">
+ <title>Rectangle.123</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ </g>
+ <g id="group219-356" transform="translate(569.972,-146.551)" v:mID="219" v:groupContext="group">
+ <title>Sheet.219</title>
+ <g id="shape220-357" v:mID="220" v:groupContext="shape" transform="translate(0.806102,0)">
+ <title>Sheet.220</title>
+ <g id="shadow220-358" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape221-362" v:mID="221" v:groupContext="shape" transform="translate(0,-1.98425)">
+ <title>Rectangle.199</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ </g>
+ <g id="group222-365" transform="translate(573.821,-147.118)" v:mID="222" v:groupContext="group">
+ <title>Sheet.222</title>
+ <g id="shape223-366" v:mID="223" v:groupContext="shape" transform="translate(0.806102,0)">
+ <title>Sheet.223</title>
+ <g id="shadow223-367" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape224-371" v:mID="224" v:groupContext="shape" transform="translate(0,-1.98425)">
+ <title>Rectangle.199</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ </g>
+ <g id="group225-374" transform="translate(578.551,-147.402)" v:mID="225" v:groupContext="group">
+ <title>Sheet.225</title>
+ <g id="shape226-375" v:mID="226" v:groupContext="shape" transform="translate(0.806102,0)">
+ <title>Sheet.226</title>
+ <g id="shadow226-376" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape227-380" v:mID="227" v:groupContext="shape" transform="translate(0,-1.98425)">
+ <title>Rectangle.199</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ </g>
+ <g id="group228-383" transform="translate(582.236,-147.969)" v:mID="228" v:groupContext="group">
+ <title>Sheet.228</title>
+ <g id="shape229-384" v:mID="229" v:groupContext="shape" transform="translate(0.806102,0)">
+ <title>Sheet.229</title>
+ <g id="shadow229-385" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st5"/>
+ </g>
+ <ellipse cx="8.7874" cy="586.488" rx="8.7874" ry="8.7874" class="st6"/>
+ </g>
+ <g id="shape230-389" v:mID="230" v:groupContext="shape" transform="translate(0,-1.98425)">
+ <title>Rectangle.199</title>
+ <desc>T</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="10.3243" cy="588.898" width="20.65" height="12.7559"/>
+ <rect x="0" y="582.52" width="20.6486" height="12.7559" class="st11"/>
+ <text x="7.89" y="591.9" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>T</text> </g>
+ </g>
+ <g id="shape232-392" v:mID="232" v:groupContext="shape" v:layerMember="0" transform="translate(527.992,-387.21)">
+ <title>Dynamic connector.232</title>
+ <path d="M6.99 595.56 L7.18 609.16" class="st7"/>
+ </g>
+ <g id="shape234-397" v:mID="234" v:groupContext="shape" transform="translate(520.381,-360.567)">
+ <title>Rectangle.234</title>
+ <desc>NULL</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="14.7929" cy="588.898" width="29.59" height="12.7559"/>
+ <rect x="0" y="582.52" width="29.5857" height="12.7559" class="st11"/>
+ <text x="4" y="591.9" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>NULL</text> </g>
+ <g id="shape66-400" v:mID="66" v:groupContext="shape" transform="translate(209.853,-474.803)">
+ <title>Rectangle.66</title>
+ <desc>Chunk* allocate()</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="39.6405" cy="588.898" width="79.29" height="12.7559"/>
+ <rect x="0" y="582.52" width="79.2809" height="12.7559" class="st9"/>
+ <text x="4" y="591.9" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Chunk* allocate()</text> </g>
+ <g id="shape75-403" v:mID="75" v:groupContext="shape" transform="translate(208.123,-446.457)">
+ <title>Rectangle.75</title>
+ <desc>deallocate(Chunk*)</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="43.7209" cy="588.898" width="87.45" height="12.7559"/>
+ <rect x="0" y="582.52" width="87.4417" height="12.7559" class="st9"/>
+ <text x="4" y="591.9" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>deallocate(Chunk*)</text> </g>
+ <g id="shape98-406" v:mID="98" v:groupContext="shape" v:layerMember="0" transform="translate(316.063,-470.906)">
+ <title>Dynamic connector.98</title>
+ <path d="M0 591.38 L-26.93 585" class="st12"/>
+ </g>
+ <g id="shape99-411" v:mID="99" v:groupContext="shape" v:layerMember="0" transform="translate(295.564,-450.354)">
+ <title>Dynamic connector.99</title>
+ <path d="M0 592.8 L20.5 583.58" class="st12"/>
+ </g>
+ <g id="group190-416" transform="translate(528.661,-70.1575)" v:mID="190" v:groupContext="group">
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="msvStructureType" v:prompt="" v:val="VT4(Callout)"/>
+ <v:ud v:nameU="msvSDTargetIntersection" v:prompt=""/>
+ <v:ud v:nameU="msvSDCalloutNoHighlight" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT0(0):26"/>
+ <v:ud v:nameU="Side" v:prompt="" v:val="VT0(4):26"/>
+ <v:ud v:nameU="LeaderEnd" v:prompt="" v:val="VT7(PNT(6.25MM,-0.28346456692913)):40"/>
+ <v:ud v:nameU="WHBoxIntersection" v:prompt="" v:val="VT7(PNT(10.096153846154MM,0)):40"/>
+ <v:ud v:nameU="FoldSize" v:prompt="" v:val="VT0(0.11811023622047):24"/>
+ <v:ud v:nameU="msvSDTargetIntersection" v:prompt="" v:val="VT7(PNT(-0.12709905838268,1.0440494563244)):40"/>
+ <v:ud v:nameU="Side" v:prompt="" v:val="VT0(3):26"/>
+ <v:ud v:nameU="LeaderEnd" v:prompt="" v:val="VT7(PNT(-0.12709905838268,1.0440494563244)):40"/>
+ <v:ud v:nameU="WHBoxIntersection" v:prompt="" v:val="VT7(PNT(0,0.53149606299213)):40"/>
+ </v:userDefs>
+ <title>Note.190</title>
+ <desc>take out all Ts from the Queue</desc>
+ <g id="shape190-417" v:mID="190" v:groupContext="groupContent">
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="52.4409" cy="576.142" width="104.89" height="36.8038"/>
+ <g id="shadow190-418" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28 Z" class="st15"/>
+ <path d="M0 557.01 L-9.15 520.1" class="st16"/>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28" class="st16"/>
+ <text x="5.31" y="572.54" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>take out all Ts from <tspan
+ x="26.62" dy="1.2em" class="st18">the Queue</tspan></text> </g>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28 Z" class="st19"/>
+ <path d="M0 557.01 L-9.15 520.1" class="st20"/>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28" class="st20"/>
+ <text x="5.31" y="572.54" class="st21" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>take out all Ts from <tspan
+ x="26.62" dy="1.2em" class="st18">the Queue</tspan></text> </g>
+ <g id="shape191-432" v:mID="191" v:groupContext="shape" transform="translate(96.378,-29.7638)">
+ <title>Sheet.191</title>
+ <v:userDefs>
+ <v:ud v:nameU="FoldSize" v:prompt="" v:val="VT0(0.11811023622047):24"/>
+ </v:userDefs>
+ <g id="shadow191-433" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <path d="M0 595.28 L8.5 595.28 L8.5 596.13 L8.5 595.28 L0 586.77 L-0.85 586.77 L0 586.77 L0 595.28 Z"
+ class="st22"/>
+ </g>
+ <path d="M0 595.28 L8.5 595.28 L8.5 596.13 L8.5 595.28 L0 586.77 L-0.85 586.77 L0 586.77 L0 595.28 Z" class="st23"/>
+ </g>
+ </g>
+ <g id="group243-437" transform="translate(632.126,-257.244)" v:mID="243" v:groupContext="group">
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="msvStructureType" v:prompt="" v:val="VT4(Callout)"/>
+ <v:ud v:nameU="msvSDTargetIntersection" v:prompt=""/>
+ <v:ud v:nameU="msvSDCalloutNoHighlight" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT0(0):26"/>
+ <v:ud v:nameU="Side" v:prompt="" v:val="VT0(4):26"/>
+ <v:ud v:nameU="LeaderEnd" v:prompt="" v:val="VT7(PNT(6.25MM,-0.28346456692913)):40"/>
+ <v:ud v:nameU="WHBoxIntersection" v:prompt="" v:val="VT7(PNT(10.096153846154MM,0)):40"/>
+ <v:ud v:nameU="FoldSize" v:prompt="" v:val="VT0(0.11811023622047):24"/>
+ <v:ud v:nameU="msvSDTargetIntersection" v:prompt="" v:val="VT7(PNT(-0.41214936502337,-0.61122298311842)):40"/>
+ <v:ud v:nameU="Side" v:prompt="" v:val="VT0(3):26"/>
+ <v:ud v:nameU="LeaderEnd" v:prompt="" v:val="VT7(PNT(-0.41214936502337,-0.61122298311842)):40"/>
+ <v:ud v:nameU="WHBoxIntersection" v:prompt="" v:val="VT7(PNT(0,0)):40"/>
+ </v:userDefs>
+ <title>Note.243</title>
+ <desc>smart pointer for list of elements</desc>
+ <g id="shape243-438" v:mID="243" v:groupContext="groupContent">
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="52.4409" cy="576.142" width="104.89" height="36.8038"/>
+ <g id="shadow243-439" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28 Z" class="st15"/>
+ <path d="M0 595.28 L-29.67 639.28" class="st16"/>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28" class="st16"/>
+ <text x="10.59" y="572.54" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>smart pointer for <tspan
+ x="14.99" dy="1.2em" class="st18">list of elements</tspan></text> </g>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28 Z" class="st19"/>
+ <path d="M0 595.28 L-29.67 639.28" class="st20"/>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28" class="st20"/>
+ <text x="10.59" y="572.54" class="st21" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>smart pointer for <tspan
+ x="14.99" dy="1.2em" class="st18">list of elements</tspan></text> </g>
+ <g id="shape244-453" v:mID="244" v:groupContext="shape" transform="translate(96.378,-29.7638)">
+ <title>Sheet.244</title>
+ <v:userDefs>
+ <v:ud v:nameU="FoldSize" v:prompt="" v:val="VT0(0.11811023622047):24"/>
+ </v:userDefs>
+ <g id="shadow244-454" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <path d="M0 595.28 L8.5 595.28 L8.5 596.13 L8.5 595.28 L0 586.77 L-0.85 586.77 L0 586.77 L0 595.28 Z"
+ class="st22"/>
+ </g>
+ <path d="M0 595.28 L8.5 595.28 L8.5 596.13 L8.5 595.28 L0 586.77 L-0.85 586.77 L0 586.77 L0 595.28 Z" class="st23"/>
+ </g>
+ </g>
+ <g id="group247-458" transform="translate(58.1102,-257.953)" v:mID="247" v:groupContext="group">
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+ <v:ud v:nameU="msvStructureType" v:prompt="" v:val="VT4(Callout)"/>
+ <v:ud v:nameU="msvSDTargetIntersection" v:prompt=""/>
+ <v:ud v:nameU="msvSDCalloutNoHighlight" v:prompt="" v:val="VT0(0):5"/>
+ <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT0(0):26"/>
+ <v:ud v:nameU="Side" v:prompt="" v:val="VT0(4):26"/>
+ <v:ud v:nameU="LeaderEnd" v:prompt="" v:val="VT7(PNT(6.25MM,-0.28346456692913)):40"/>
+ <v:ud v:nameU="WHBoxIntersection" v:prompt="" v:val="VT7(PNT(10.096153846154MM,0)):40"/>
+ <v:ud v:nameU="FoldSize" v:prompt="" v:val="VT0(0.11811023622047):24"/>
+ <v:ud v:nameU="msvSDTargetIntersection" v:prompt="" v:val="VT7(PNT(1.789031742126,-0.68881655337357)):40"/>
+ <v:ud v:nameU="Side" v:prompt="" v:val="VT0(1):26"/>
+ <v:ud v:nameU="LeaderEnd" v:prompt="" v:val="VT7(PNT(1.789031742126,-0.68881655337357)):40"/>
+ <v:ud v:nameU="WHBoxIntersection" v:prompt="" v:val="VT7(PNT(1.4566929133858,0)):40"/>
+ </v:userDefs>
+ <title>Note.247</title>
+ <desc>smart pointer for allocated element</desc>
+ <g id="shape247-459" v:mID="247" v:groupContext="groupContent">
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="52.4409" cy="576.142" width="104.89" height="36.8038"/>
+ <g id="shadow247-460" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28 Z" class="st15"/>
+ <path d="M104.88 595.28 L128.81 644.87" class="st16"/>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28" class="st16"/>
+ <text x="10.59" y="572.54" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>smart pointer for <tspan
+ x="8.45" dy="1.2em" class="st18">allocated element</tspan></text> </g>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28 Z" class="st19"/>
+ <path d="M104.88 595.28 L128.81 644.87" class="st20"/>
+ <path d="M0 595.28 L104.88 595.28 L104.88 565.51 L96.38 557.01 L0 557.01 L0 595.28" class="st20"/>
+ <text x="10.59" y="572.54" class="st21" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>smart pointer for <tspan
+ x="8.45" dy="1.2em" class="st18">allocated element</tspan></text> </g>
+ <g id="shape248-474" v:mID="248" v:groupContext="shape" transform="translate(96.378,-29.7638)">
+ <title>Sheet.248</title>
+ <v:userDefs>
+ <v:ud v:nameU="FoldSize" v:prompt="" v:val="VT0(0.11811023622047):24"/>
+ </v:userDefs>
+ <g id="shadow248-475" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279"
+ v:shadowType="1" transform="matrix(1,0,0,1,0.345598,1.97279)" class="st4">
+ <path d="M0 595.28 L8.5 595.28 L8.5 596.13 L8.5 595.28 L0 586.77 L-0.85 586.77 L0 586.77 L0 595.28 Z"
+ class="st22"/>
+ </g>
+ <path d="M0 595.28 L8.5 595.28 L8.5 596.13 L8.5 595.28 L0 586.77 L-0.85 586.77 L0 586.77 L0 595.28 Z" class="st23"/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/docs/pictures/epam-logo.png b/docs/pictures/epam-logo.png
new file mode 100755
index 0000000..83e5628
--- /dev/null
+++ b/docs/pictures/epam-logo.png
Binary files differ
diff --git a/docs/pictures/epam-logo.svg b/docs/pictures/epam-logo.svg
new file mode 100755
index 0000000..7c2fc6f
--- /dev/null
+++ b/docs/pictures/epam-logo.svg
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ viewBox="0 0 333.73334 117.42667"
+ height="117.42667"
+ width="333.73334"
+ xml:space="preserve"
+ id="svg2"
+ version="1.1"><metadata
+ id="metadata8"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs6"><clipPath
+ id="clipPath20"
+ clipPathUnits="userSpaceOnUse"><path
+ id="path18"
+ d="M 0,0 H 2503 V 880.746 H 0 Z" /></clipPath></defs><g
+ transform="matrix(1.3333333,0,0,-1.3333333,0,117.42667)"
+ id="g10"><g
+ transform="scale(0.1)"
+ id="g12"><g
+ id="g14"><g
+ clip-path="url(#clipPath20)"
+ id="g16"><path
+ id="path22"
+ style="fill:#3d3a3b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 472.504,581.254 h 138.41 V 728.23 c 0,41.012 -20.496,61.52 -61.512,61.52 h -15.379 c -41.011,0 -61.519,-20.508 -61.519,-61.52 z m -0.313,-93.793 0.313,-161.66 c 0,-41.012 20.508,-61.52 61.519,-61.52 h 17.942 c 41.012,0 61.515,20.508 61.515,61.52 v 79.461 h 94.84 v -75.617 c 0,-103.813 -52.543,-156.36 -156.355,-156.36 h -20.508 c -103.812,0 -156.355,52.547 -156.355,144.203 V 712.23 c 0,115.965 52.543,168.516 156.355,168.516 h 20.508 c 103.812,0 156.355,-52.551 156.355,-156.363 L 708.008,487.461 H 472.191" /><path
+ id="path24"
+ style="fill:#3d3a3b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 869.008,301.445 c 26.914,-23.062 57.676,-35.879 89.715,-35.879 35.886,0 56.397,16.657 56.397,56.387 v 410.121 c 0,39.735 -20.511,56.391 -56.397,56.391 -32.039,0 -62.801,-12.817 -89.715,-35.887 z m -97.406,571.61 h 97.406 v -44.86 c 23.07,24.356 62.801,52.551 119.195,52.551 83.307,0 124.317,-55.109 124.317,-137.133 V 310.422 c 0,-82.027 -41.01,-137.137 -124.317,-137.137 -56.394,0 -96.125,26.914 -119.195,49.985 V 0 h -97.406 v 873.055" /><path
+ id="path26"
+ style="fill:#3d3a3b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 1404.57,297.605 v 228.282 l -88.43,-33.477 c -35.89,-14.101 -47.42,-32.039 -47.42,-71.769 V 315.547 c 0,-33.324 16.66,-49.981 47.42,-49.981 29.47,0 56.39,10.25 88.43,32.039 z m -233.26,124.321 c 0,85.863 28.2,120.469 102.53,146.097 l 130.73,44.864 V 728.23 c 0,41.012 -20.51,62.801 -61.52,62.801 h -15.87 c -41.01,0 -61.52,-21.789 -61.52,-62.801 v -98.027 h -94.84 v 94.18 c 0,103.812 52.55,156.363 156.36,156.363 h 18.43 c 103.81,0 156.36,-52.551 156.36,-156.363 V 180.977 h -97.4 v 43.578 c -26.91,-25.637 -62.8,-51.27 -119.19,-51.27 -78.18,0 -114.07,44.86 -114.07,121.754 v 126.887" /><path
+ id="path28"
+ style="fill:#3d3a3b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 1895.92,180.977 h -97.41 V 738.48 c 0,34.606 -16.65,49.985 -46.13,49.985 -26.92,0 -55.11,-10.25 -89.72,-34.602 V 180.977 h -97.4 v 692.078 h 97.4 v -44.86 c 28.2,26.914 65.37,52.551 119.2,52.551 49.98,0 83.3,-20.508 101.24,-56.394 34.61,29.48 75.62,56.394 132.01,56.394 75.62,0 114.07,-46.144 114.07,-121.758 V 180.977 h -97.41 V 738.48 c 0,34.606 -16.66,49.985 -46.14,49.985 -26.91,0 -55.11,-10.25 -89.71,-34.602 V 180.977" /><path
+ id="path30"
+ style="fill:#29b9d2;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="M 250.262,809.312 V 682.047 L 86.3398,525.848 250.262,372.438 V 242.391 L 0,477.641 v 93.629 l 250.262,238.042" /><path
+ id="path32"
+ style="fill:#29b9d2;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 2503.02,571.27 v -93.629 l -250.26,-235.25 v 130.047 l 163.92,153.41 -163.92,156.199 V 809.312 L 2503.02,571.27" /></g></g></g></g></svg> \ No newline at end of file
diff --git a/docs/pictures/general-structure.png b/docs/pictures/general-structure.png
new file mode 100755
index 0000000..b88628e
--- /dev/null
+++ b/docs/pictures/general-structure.png
Binary files differ
diff --git a/docs/pictures/general-structure.svg b/docs/pictures/general-structure.svg
new file mode 100755
index 0000000..46cfbf4
--- /dev/null
+++ b/docs/pictures/general-structure.svg
@@ -0,0 +1,876 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export general-structure.svg General structure -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ width="11.6929in" height="8.26772in" viewBox="0 0 841.889 595.276" xml:space="preserve" color-interpolation-filters="sRGB"
+ class="st37">
+ <title>General structure of nfstrace</title>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {fill:#ffffff;stroke:#000000;stroke-width:0.25}
+ .st2 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+ .st3 {font-size:1em}
+ .st4 {font-size:0.899997em}
+ .st5 {marker-start:url(#mrkr7-35);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.499999}
+ .st6 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.16556271699054}
+ .st7 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
+ .st8 {fill:#000000;font-family:Calibri;font-size:0.666664em}
+ .st9 {marker-end:url(#mrkr7-43);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.499999}
+ .st10 {marker-end:url(#mrkr4-65);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.999999}
+ .st11 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.28409061919554}
+ .st12 {fill:#ffffff;stroke:none;stroke-width:0.25}
+ .st13 {fill:none}
+ .st14 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.999999}
+ .st15 {marker-end:url(#mrkr22-112);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.499999}
+ .st16 {fill:none;stroke:none;stroke-width:0.25}
+ .st17 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+ .st18 {marker-end:url(#mrkr4-129);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.499999}
+ .st19 {marker-end:url(#mrkr16-135);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.499999}
+ .st20 {fill:none;stroke:#000000;stroke-dasharray:0.01,1.25;stroke-width:0.25}
+ .st21 {fill:#000000;font-family:Calibri;font-size:0.833336em;font-weight:bold}
+ .st22 {fill:#000000;font-family:Calibri;font-size:0.666664em;font-weight:bold}
+ .st23 {font-size:1em;font-weight:normal}
+ .st24 {fill:none;stroke:#000000;stroke-width:0.25}
+ .st25 {fill:none;stroke:none;stroke-width:5.99999}
+ .st26 {stroke:#fec000;stroke-opacity:0.5;stroke-width:5.99999}
+ .st27 {stroke:#f59d56;stroke-opacity:0.5;stroke-width:5.99999}
+ .st28 {stroke:#70ad47;stroke-opacity:0.5;stroke-width:5.99999}
+ .st29 {stroke:#9cc3e5;stroke-opacity:0.5;stroke-width:5.99999}
+ .st30 {fill:none;stroke:none;stroke-width:0.999999}
+ .st31 {stroke:#c7c8c8;stroke-width:0.25}
+ .st32 {fill:none;stroke:#c7c8c8;stroke-width:0.25}
+ .st33 {fill:none;stroke:#c7c8c8;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st34 {stroke:#c8c8c8;stroke-width:0.25}
+ .st35 {fill:none;stroke:#c8c8c8;stroke-width:0.25}
+ .st36 {fill:none;stroke:#c8c8c8;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st37 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Markers">
+ <g id="lend7">
+ <path
+ d="M 1.84309 -0.959455 C 1.43792 -0.3808 0.784502 -0.0260248 0.0785258 -0.00137083 L 0.0785228 0.00137063 C 0.784499 0.0260235 1.43791 0.380798 1.84309 0.959452 "
+ style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
+ </g>
+ <marker id="mrkr7-35" class="st6" orient="auto" markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend7" transform="scale(6.0400071838466) "/>
+ </marker>
+ <marker id="mrkr7-43" class="st6" orient="auto" markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend7" transform="scale(-6.0400071838466,-6.0400071838466) "/>
+ </marker>
+ <g id="lend4">
+ <path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr4-65" class="st11" refX="-0" orient="auto" markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend4" transform="scale(-3.5200035919233,-3.5200035919233) "/>
+ </marker>
+ <g id="lend22">
+ <path d="M 0 0 L 2.25 -1.125 L 4.5 0 L 2.25 1.125 L 0 0 " style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
+ </g>
+ <marker id="mrkr22-112" class="st6" refX="-0" orient="auto" markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend22" transform="scale(-6.0400071838466,-6.0400071838466) "/>
+ </marker>
+ <marker id="mrkr4-129" class="st6" refX="-0" orient="auto" markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend4" transform="scale(-6.0400071838466,-6.0400071838466) "/>
+ </marker>
+ <g id="lend16">
+ <path d="M 0 0 L 2 -1 L 2 1 L 0 0 " style="stroke-linecap:round;stroke-linejoin:round;fill:none"/>
+ </g>
+ <marker id="mrkr16-135" class="st6" refX="-0" orient="auto" markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend16" transform="scale(-6.0400071838466,-6.0400071838466) "/>
+ </marker>
+ </defs>
+ <g>
+ <title>General structure</title>
+ <g id="shape32-1" transform="translate(442.204,-53.7171)">
+ <title>Sheet.32</title>
+ <path d="M-0 589.61 A5.66941 5.66941 -180 0 0 5.67 595.28 L240.94 595.28 A5.66941 5.66941 -180 0 0 246.61 589.61 L246.61
+ 538.3 A5.66941 5.66941 -180 0 0 240.94 532.63 L5.67 532.63 A5.66941 5.66941 -180 0 0 -0 538.3 L0 589.61
+ Z" class="st1"/>
+ </g>
+ <g id="shape29-3" transform="translate(613.7,-62.5133)">
+ <title>Rectangle.153</title>
+ <desc>Operation Breakdown Analyzer</desc>
+ <rect x="0" y="550.222" width="66.3269" height="45.0535" class="st1"/>
+ <text x="12.51" y="563.22" class="st2">Operation <tspan x="10.08" dy="1.2em" class="st3">Breakdown </tspan><tspan
+ x="15.63" dy="1.2em" class="st3">Analyzer</tspan></text> </g>
+ <g id="shape1-8" transform="translate(440.788,-124.725)">
+ <title>Rectangle.5</title>
+ <desc>AnalysisManager</desc>
+ <rect x="0" y="321.546" width="246.614" height="273.73" class="st1"/>
+ <text x="4" y="334.55" class="st2">AnalysisManager</text> </g>
+ <g id="shape2-11" transform="translate(99.2125,-124.725)">
+ <title>Rectangle.4</title>
+ <desc>FiltrationManager</desc>
+ <rect x="0" y="321.546" width="246.614" height="273.73" class="st1"/>
+ <text x="4" y="334.55" class="st2">FiltrationManager</text> </g>
+ <g id="shape3-14" transform="translate(99.2126,-420.019)">
+ <title>Rectangle.2</title>
+ <desc>Controller : main() thread</desc>
+ <rect x="0" y="521.051" width="586.771" height="74.2251" class="st1"/>
+ <text x="4" y="534.05" class="st2">Controller : main() thread</text> </g>
+ <g id="shape4-17" transform="translate(361.137,-433.414)">
+ <title>Rectangle.7</title>
+ <desc>RunningStatus</desc>
+ <rect x="0" y="547.844" width="68.5909" height="47.4322" class="st1"/>
+ <text x="4.95" y="574.56" class="st2">RunningStatus</text> </g>
+ <g id="shape5-20" transform="translate(487.558,-204.094)">
+ <title>Rectangle.42</title>
+ <desc>Analysers storage for Analyzers manager of plugin instances</desc>
+ <rect x="0" y="496.063" width="102.047" height="99.2125" class="st1"/>
+ <text x="4" y="509.06" class="st2">Analysers<tspan x="4" dy="2.4em" class="st3">s</tspan><tspan class="st4">torage for Analyzers </tspan><tspan
+ x="4" dy="1.233em" class="st4">manager of plugin </tspan><tspan x="4" dy="1.2em" class="st4">instances</tspan></text> </g>
+ <g id="shape6-27" transform="translate(471.117,-330.155)">
+ <title>Rectangle.72</title>
+ <desc>NFSParserThread : std::thread</desc>
+ <rect x="0" y="557.008" width="204.945" height="38.2676" class="st1"/>
+ <text x="4" y="570.01" class="st2">NFSParserThread : std::thread</text> </g>
+ <g id="shape7-30" transform="translate(883.146,-196.142) rotate(52.9285)">
+ <title>Sheet.7</title>
+ <desc>Exception</desc>
+ <path d="M0 595.28 L104.39 595.28" class="st5"/>
+ <rect x="36.2592" y="590.472" width="31.8744" height="9.59985" class="st7"/>
+ <text x="36.26" y="597.67" class="st8">Exception</text> </g>
+ <g id="shape8-38" transform="translate(-198.71,-0.661027) rotate(-64.3256)">
+ <title>Sheet.8</title>
+ <desc>Exception</desc>
+ <path d="M0 595.28 L104.91 595.28" class="st9"/>
+ <rect x="36.5169" y="590.472" width="31.8744" height="9.59985" class="st7"/>
+ <text x="36.52" y="597.67" class="st8">Exception</text> </g>
+ <g id="shape9-46" transform="translate(106.778,-130.394)">
+ <title>Rectangle.98</title>
+ <desc>FiltrationImpl&#60;Reader, Writer&#62; : ProcessingThread</desc>
+ <rect x="0" y="408.189" width="230.544" height="187.087" class="st1"/>
+ <text x="4" y="421.19" class="st2">FiltrationImpl&#60;Reader, Writer&#62; : ProcessingThread</text> </g>
+ <g id="shape10-49" transform="translate(-128.261,391.181) rotate(-90)">
+ <title>Rectangle.8</title>
+ <desc>Queue</desc>
+ <rect x="0" y="577.552" width="99.2125" height="17.724" class="st1"/>
+ <text x="36.01" y="588.91" class="st2">Queue</text> </g>
+ <g id="shape11-52" transform="translate(114.803,-138.339)">
+ <title>Rectangle.74</title>
+ <desc>FiltrationProcessor&#60;Reader, Writer&#62; parsing a packet matching...</desc>
+ <rect x="0" y="441.646" width="215.433" height="153.63" class="st1"/>
+ <text x="4" y="454.65" class="st2">FiltrationProcessor&#60;Reader, Writer&#62;<tspan x="4" dy="2.4em" class="st3">parsing a packet</tspan><tspan
+ x="4" dy="1.2em" class="st3">matching to session</tspan><tspan x="4" dy="1.2em" class="st3">reassembling TCP flows</tspan><tspan
+ x="4" dy="1.2em" class="st3">detecting RPC</tspan>/NFS/CIFS headers <tspan x="4" dy="1.2em" class="st3">copying headers to Writer</tspan>::Collection of session</text> </g>
+ <g id="shape12-60" transform="translate(277.169,-100.879)">
+ <title>Dynamic connector.83</title>
+ <path d="M0 552.72 L0 588.24 L0 595.28" class="st10"/>
+ </g>
+ <g id="shape13-66" transform="translate(232.441,-88.122)">
+ <title>Sheet.13</title>
+ <desc>out.pcap | ::stdout</desc>
+ <rect x="0" y="582.52" width="85.0393" height="12.7559" class="st12"/>
+ <text x="4.12" y="591.9" class="st2">out.pcap | ::stdout</text> </g>
+ <g id="shape14-69" transform="translate(231.717,-143.443)">
+ <title>Rectangle.18</title>
+ <desc>Dumping</desc>
+ <rect x="0" y="563.586" width="90.8975" height="31.6899" class="st1"/>
+ <text x="27" y="581.93" class="st2">Dumping</text> </g>
+ <g id="shape15-72" transform="translate(322.614,-188.977)">
+ <title>Dynamic connector.99</title>
+ <path d="M0 595.28 L37.11 595.28 L0 595.28 Z" class="st13"/>
+ <path d="M0 595.28 L37.11 595.28" class="st14"/>
+ </g>
+ <g id="shape16-75" transform="translate(458.148,-303.303)">
+ <title>Dynamic connector.100</title>
+ <path d="M0 595.28 L0 549.29 L5.93 549.29 L12.97 549.29" class="st10"/>
+ </g>
+ <g id="shape17-80" transform="translate(231.717,-174.096)">
+ <title>Rectangle.75</title>
+ <desc>Queuing</desc>
+ <rect x="0" y="565.512" width="90.8975" height="29.7638" class="st1"/>
+ <text x="28.21" y="582.89" class="st2">Queuing</text> </g>
+ <g id="shape18-83" transform="translate(428.562,-468.278) rotate(-0.112214)">
+ <title>Sheet.18</title>
+ <desc>Exception</desc>
+ <path d="M0 595.28 L72.37 595.28" class="st5"/>
+ <rect x="20.2466" y="590.472" width="31.8744" height="9.59985" class="st7"/>
+ <text x="20.25" y="597.67" class="st8">Exception</text> </g>
+ <g id="shape19-90" transform="translate(613.7,-147.403)">
+ <title>Rectangle.106</title>
+ <desc>IAnalyzer</desc>
+ <rect x="0" y="579.685" width="66.3269" height="15.5906" class="st1"/>
+ <text x="14.37" y="591.18" class="st2">IAnalyzer</text> </g>
+ <g id="shape20-93" transform="translate(359.719,-184.018)">
+ <title>Rectangle.114</title>
+ <desc>FiltrationData</desc>
+ <rect x="0" y="585.355" width="68.5909" height="9.92125" class="st1"/>
+ <text x="6.26" y="593.32" class="st2">FiltrationData</text> </g>
+ <g id="shape21-96" transform="translate(428.31,-188.973)">
+ <title>Dynamic connector.117</title>
+ <path d="M0 595.28 L29.84 595.28 L29.84 587.2 L29.84 580.16" class="st10"/>
+ </g>
+ <g id="shape22-101" transform="translate(613.7,-212.598)">
+ <title>Rectangle.118</title>
+ <desc>PrintAnalyzer</desc>
+ <rect x="0" y="579.685" width="66.3269" height="15.5906" class="st1"/>
+ <text x="5.86" y="591.18" class="st2">PrintAnalyzer</text> </g>
+ <g id="shape23-104" transform="translate(107.247,-362.835)">
+ <title>Rectangle.121</title>
+ <desc>std::vector&#60;std::unique_ptr&#60;ProcessingThread&#62;&#62;</desc>
+ <rect x="0" y="579.685" width="230.544" height="15.5906" class="st1"/>
+ <text x="15.93" y="591.18" class="st2">std::vector&#60;std::unique_ptr&#60;ProcessingThread&#62;&#62;</text> </g>
+ <g id="shape24-107" transform="translate(222.523,-345.823)">
+ <title>Dynamic connector.131</title>
+ <path d="M0 595.28 L0 591.86 L0 578.27" class="st15"/>
+ </g>
+ <g id="shape25-113" transform="translate(680.027,-220.393)">
+ <title>Dynamic connector.136</title>
+ <path d="M0 595.28 L14.51 595.28 L21.55 595.28" class="st10"/>
+ </g>
+ <g id="shape26-118" transform="translate(502.095,-459.921)">
+ <title>Rectangle.6</title>
+ <desc>SignalHandler : std::thread</desc>
+ <rect x="0" y="578.268" width="121.526" height="17.0079" class="st1"/>
+ <text x="6.57" y="589.27" class="st2">SignalHandler : std::thread</text> </g>
+ <g id="shape27-121" transform="translate(434.834,-510.236)">
+ <title>Sheet.27</title>
+ <desc>SIGINT</desc>
+ <rect x="0" y="584.043" width="41.3857" height="11.2326" class="st16"/>
+ <text x="4.33" y="593.26" class="st17">SIGINT</text> </g>
+ <g id="shape28-124" transform="translate(735.85,-441.599) rotate(27.785)">
+ <title>Sheet.28</title>
+ <path d="M0 595.28 L65.41 595.28 L71.45 595.28" class="st18"/>
+ </g>
+ <g id="shape30-130" transform="translate(646.867,-107.562)">
+ <title>Dynamic connector.154</title>
+ <path d="M0 595.28 L0 561.48 L0 555.44" class="st19"/>
+ </g>
+ <g id="shape31-136" transform="translate(481.609,-147.403)">
+ <title>Rectangle.155</title>
+ <desc>PluginInstance</desc>
+ <rect x="0" y="579.685" width="68.5909" height="15.5906" class="st1"/>
+ <text x="4.67" y="591.18" class="st2">PluginInstance</text> </g>
+ <g id="shape33-139" transform="translate(447.874,-60.6614)">
+ <title>Sheet.33</title>
+ <desc>const char* usage(); IAnalyzer* create(const char* params); d...</desc>
+ <path d="M0 595.28 L161.57 595.28 L161.57 556.72 L0 556.72 L0 595.28 Z" class="st20"/>
+ <text x="92.25" y="564" class="st8">const char* usage();<tspan x="30.48" dy="1.2em" class="st3">IAnalyzer</tspan>* create(const char* params);<tspan
+ x="91.91" dy="1.2em" class="st3">destroy</tspan>(IAnalyzer*); <tspan x="7.44" dy="1.2em" class="st3">const AnalyzerRequirements</tspan>* requirements();</text> </g>
+ <g id="shape34-145" transform="translate(449.827,-101.339)">
+ <title>Sheet.34</title>
+ <desc>libbreakdown.so</desc>
+ <rect x="0" y="585.355" width="78.2991" height="9.92125" class="st16"/>
+ <text x="4.37" y="593.32" class="st21">libbreakdown.so</text> </g>
+ <g id="shape35-148" transform="translate(495.782,-116.358)">
+ <title>Dynamic connector.160</title>
+ <path d="M0 595.28 L20.12 595.28 L20.12 577.83 L20.12 564.24" class="st15"/>
+ </g>
+ <g id="shape36-153" transform="translate(646.867,-162.994)">
+ <title>Dynamic connector.161</title>
+ <path d="M0 545.68 L0 589.24 L0 595.28" class="st19"/>
+ </g>
+ <g id="shape37-158" transform="translate(515.901,-162.988)">
+ <title>Dynamic connector.162</title>
+ <path d="M0 595.28 L0 567.76 L0 554.17" class="st15"/>
+ </g>
+ <g id="shape38-163" transform="translate(140.315,-70.4013)">
+ <title>Sheet.38</title>
+ <desc>Optional CHILD Process with external tool for compression, li...</desc>
+ <path d="M0 595.28 L93.54 595.28 L93.54 552.29 L0 552.29 L0 595.28 Z" class="st20"/>
+ <text x="7.99" y="566.58" class="st22">Optional CHILD Process<tspan x="12.26" dy="1.2em" class="st23">with external tool for </tspan><tspan
+ x="8.69" dy="1.2em" class="st23">compression</tspan><tspan class="st23">, </tspan><tspan class="st23">like </tspan>bzip2</text> </g>
+ <g id="shape39-170" transform="translate(608.03,-340.157)">
+ <title>Rectangle.169</title>
+ <desc>RPCSessions</desc>
+ <rect x="0" y="575.433" width="59.5275" height="19.8425" class="st1"/>
+ <text x="4.74" y="588.43" class="st2">RPCSessions</text> </g>
+ <g id="shape40-173" transform="translate(701.785,-62.5133)">
+ <title>Rectangle.186</title>
+ <desc>Plugin output (gnuplot)</desc>
+ <rect x="0" y="550.222" width="49.6062" height="45.0535" class="st1"/>
+ <text x="12.32" y="563.22" class="st2">Plugin <tspan x="10.94" dy="1.2em" class="st3">output</tspan><tspan x="6.08"
+ dy="1.2em" class="st3">(</tspan>gnuplot)</text> </g>
+ <g id="shape41-178" transform="translate(680.027,-85.039)">
+ <title>Dynamic connector.187</title>
+ <path d="M0 595.28 L14.72 595.28 L21.76 595.28" class="st10"/>
+ </g>
+ <g id="group42-183" transform="translate(253.701,-472.492)">
+ <title>Sheet.42</title>
+ <g id="shape43-184" transform="translate(-7.99361E-015,-36.7016)">
+ <title>Sheet.43</title>
+ <desc>argc</desc>
+ <rect x="0" y="584.544" width="28.3465" height="10.7323" class="st16"/>
+ <text x="5.57" y="592.91" class="st2">argc</text> </g>
+ <g id="shape44-187" transform="translate(609.445,560.576) rotate(90)">
+ <title>Sheet.44</title>
+ <path d="M0 595.28 L28.66 595.28 L34.7 595.28" class="st18"/>
+ </g>
+ </g>
+ <g id="group45-192" transform="translate(274.362,-472.793)">
+ <title>Sheet.45</title>
+ <g id="shape46-193" transform="translate(-5.9952E-015,-36.4008)">
+ <title>Sheet.46</title>
+ <desc>argv[]</desc>
+ <rect x="0" y="584.544" width="34.6142" height="10.7323" class="st16"/>
+ <text x="5.49" y="592.91" class="st2">argv[]</text> </g>
+ <g id="shape47-196" transform="translate(612.831,560.576) rotate(90)">
+ <title>Sheet.47</title>
+ <path d="M0 595.28 L28.66 595.28 L34.7 595.28" class="st18"/>
+ </g>
+ </g>
+ <g id="shape48-201" transform="translate(226.772,-432.657)">
+ <title>Rectangle.194</title>
+ <desc>Parameters</desc>
+ <rect x="0" y="545.234" width="109.134" height="50.0417" class="st24"/>
+ <text x="31.11" y="588.28" class="st2">Parameters</text> </g>
+ <g id="shape49-204" transform="translate(235.087,-452.65)">
+ <title>Rectangle.43</title>
+ <desc>CmdlineParser&#60;CLI&#62;</desc>
+ <rect x="0" y="575.433" width="90.8975" height="19.8425" class="st1"/>
+ <text x="4.84" y="588.35" class="st2">CmdlineParser&#60;CLI&#62;</text> </g>
+ <g id="shape50-207" transform="translate(476.219,-510.236)">
+ <title>Sheet.50</title>
+ <desc>SIGCHLD</desc>
+ <rect x="0" y="584.043" width="53.8582" height="11.2326" class="st16"/>
+ <text x="5.72" y="593.26" class="st17">SIGCHLD</text> </g>
+ <g id="shape51-210" transform="translate(14.1732,-189.921)">
+ <title>Sheet.51</title>
+ <desc>Offline Analysis</desc>
+ <rect x="0" y="575.276" width="85.0393" height="20" class="st25"/>
+ <text x="4.98" y="588.88" class="st17">Offline Analysis</text> </g>
+ <g id="shape52-213" transform="translate(14.1732,-158.583)">
+ <title>Sheet.52</title>
+ <desc>Online Analysis</desc>
+ <rect x="0" y="575.276" width="85.0393" height="20" class="st25"/>
+ <text x="5.49" y="588.88" class="st17">Online Analysis</text> </g>
+ <g id="shape53-216" transform="translate(15.5433,-140.236)">
+ <title>Sheet.53</title>
+ <desc>Online Dumping</desc>
+ <rect x="0" y="575.276" width="87.9684" height="20" class="st25"/>
+ <text x="4.47" y="588.88" class="st17">Online Dumping</text> </g>
+ <g id="shape54-219" transform="translate(926.702,-340.288) rotate(44.3969)">
+ <title>Sheet.54</title>
+ <path d="M0 595.28 L41.57 595.28 L47.61 595.28" class="st18"/>
+ </g>
+ <g id="shape55-224" transform="translate(638.613,-459.921)">
+ <title>Rectangle.180</title>
+ <desc>Log</desc>
+ <rect x="0" y="578.268" width="34.6142" height="17.0079" class="st1"/>
+ <text x="10.21" y="589.77" class="st2">Log</text> </g>
+ <g id="shape56-227" transform="translate(673.227,-468.425)">
+ <title>Dynamic connector.184</title>
+ <path d="M0 595.28 L21.31 595.28 L28.35 595.28" class="st10"/>
+ </g>
+ <g id="shape57-232" transform="translate(638.613,-435.472)">
+ <title>Rectangle.231</title>
+ <desc>Out</desc>
+ <rect x="0" y="578.268" width="34.6142" height="17.0079" class="st1"/>
+ <text x="9.69" y="589.77" class="st2">Out</text> </g>
+ <g id="shape58-235" transform="translate(673.227,-443.976)">
+ <title>Dynamic connector.233</title>
+ <path d="M0 595.28 L21.31 595.28 L28.35 595.28" class="st10"/>
+ </g>
+ <g id="shape59-240" transform="translate(222.515,-398.451)">
+ <title>Dynamic connector.239</title>
+ <path d="M0 595.28 L0.06 587.3 L0.16 573.71" class="st15"/>
+ </g>
+ <g id="shape60-245" transform="translate(557.005,-398.451)">
+ <title>Dynamic connector.240</title>
+ <path d="M8.51 595.28 L0 595.28 L0 587.3 L0 573.71" class="st15"/>
+ </g>
+ <g id="shape61-250" transform="translate(107.247,-330.236)">
+ <title>Rectangle.242</title>
+ <desc>ProcessingThread : std::thread</desc>
+ <rect x="0" y="579.685" width="230.544" height="15.5906" class="st1"/>
+ <text x="53.26" y="591.18" class="st2">ProcessingThread : std::thread</text> </g>
+ <g id="shape62-253" transform="translate(219.685,-317.478)">
+ <title>Dynamic connector.245</title>
+ <path d="M0 595.28 L0 589.96 L0 588.56 L0 582.52" class="st19"/>
+ </g>
+ <g id="shape63-258" transform="translate(18,-182.835)">
+ <title>Sheet.63</title>
+ <desc>in.pcap | ::stdin</desc>
+ <rect x="0" y="582.52" width="72.5668" height="12.7559" class="st16"/>
+ <text x="4.21" y="591.4" class="st2">in.pcap | ::stdin</text> </g>
+ <g id="shape64-261" transform="translate(49.6062,-152.362)">
+ <title>Sheet.64</title>
+ <desc>eth0</desc>
+ <rect x="0" y="582.52" width="26.6614" height="12.7559" class="st16"/>
+ <text x="4.01" y="591.4" class="st2">eth0</text> </g>
+ <g id="shape65-264" transform="translate(137.96,-174.331)">
+ <title>Rectangle.11</title>
+ <desc>FileReader</desc>
+ <rect x="0" y="564.245" width="70.3861" height="31.0307" class="st1"/>
+ <text x="13.66" y="582.76" class="st2">FileReader</text> </g>
+ <g id="shape66-267" transform="translate(137.96,-142.716)">
+ <title>Rectangle.10</title>
+ <desc>CaptureReader</desc>
+ <rect x="0" y="563.586" width="70.3861" height="31.6899" class="st1"/>
+ <text x="4.52" y="582.43" class="st2">CaptureReader</text> </g>
+ <g id="shape67-270" transform="translate(715.512,389.914) rotate(90)">
+ <title>Rectangle.21</title>
+ <desc>libpcap</desc>
+ <rect x="0" y="577.552" width="62.6456" height="17.724" class="st1"/>
+ <text x="16.64" y="589.41" class="st2">libpcap</text> </g>
+ <g id="shape68-273" transform="translate(76.2676,-158.563)">
+ <title>Dynamic connector.16</title>
+ <path d="M0 595.1 L48.93 595.1 L48.93 595.28 L54.65 595.28 L61.69 595.28" class="st10"/>
+ </g>
+ <g id="shape69-278" transform="translate(90.5668,-189.921)">
+ <title>Dynamic connector.17</title>
+ <path d="M0 595.28 L40.35 595.28 L47.39 595.28" class="st10"/>
+ </g>
+ <g id="shape70-283" transform="translate(538.585,-303.311)">
+ <title>Dynamic connector.260</title>
+ <desc>NFS Procedure (Call+Reply)</desc>
+ <path d="M0 568.44 L0 581.86 L0 588.24 L0 595.28" class="st10"/>
+ <rect x="-10.6519" y="573.113" width="88.4018" height="9.59985" class="st7"/>
+ <text x="-10.65" y="580.31" class="st8">NFS Procedure (Call+Reply)</text> </g>
+ <g id="shape71-290" transform="translate(701.574,-438.36)">
+ <title>Sheet.71</title>
+ <desc>::stdout</desc>
+ <rect x="0" y="584.043" width="41.3857" height="11.2326" class="st12"/>
+ <text x="4.82" y="592.66" class="st2">::stdout</text> </g>
+ <g id="shape72-293" transform="translate(701.574,-462.809)">
+ <title>Sheet.72</title>
+ <desc>application.log</desc>
+ <rect x="0" y="584.043" width="68.0314" height="11.2326" class="st12"/>
+ <text x="4.08" y="592.66" class="st2">application.log</text> </g>
+ <g id="shape73-296" transform="translate(701.574,-214.777)">
+ <title>Sheet.73</title>
+ <desc>::stdout</desc>
+ <rect x="0" y="584.043" width="41.3857" height="11.2326" class="st12"/>
+ <text x="4.82" y="592.66" class="st2">::stdout</text> </g>
+ <g id="shape74-299" transform="translate(22.6772,-92.4952)">
+ <title>Sheet.74</title>
+ <path d="M0 537.17 L76.54 538.3 C97.56 540 184.96 539.06 235.7 538.66 C241.39 538.62 246.61 538.58 246.61 595.28 L0 537.17
+ Z" class="st13"/>
+ <path d="M0 537.17 L76.54 538.3 C97.56 540 184.96 539.06 235.7 538.66 C241.39 538.62 246.61 538.58 246.61 595.28"
+ class="st26"/>
+ </g>
+ <g id="shape75-302" transform="translate(21.2598,-93.1195)">
+ <title>Sheet.75</title>
+ <path d="M0 489.97 C165.83 489.97 297.51 490.54 380.25 491.08 C395.11 491.18 408.39 491.27 419.53 484.3 C429.79 476.23
+ 430.77 452.47 431.47 415.76 C431.92 392.23 432.26 363.37 441.77 346.48 C458.64 316.52 504.38 324.17 513.99
+ 355.05 C516.8 364.08 516.52 375.11 516.26 395.4 C515.93 421.13 515.64 461.76 516.36 499.21 C516.89 526.45
+ 517.95 552 523.64 568.03 C533.13 594.74 555.48 594.96 576.84 595.09 C627.23 595.41 672.09 595.22 742.96
+ 595.22" class="st27"/>
+ </g>
+ <g id="shape76-305" transform="translate(22.6772,-77.5079)">
+ <title>Sheet.76</title>
+ <path d="M0 504.2 L2.83 504.2 C82.39 502.71 183.59 507.39 196.58 500.36 C199.05 499.02 198.33 497.26 201.5 496.08 C212.42
+ 492.01 269.52 494.8 339.97 494.12 C371.02 493.81 404.66 492.83 422.01 490.46 C432.11 489.07 436.69 487.21
+ 439.04 479.27 C443.9 462.88 439.29 420.6 439.98 391.02 C440.44 371.23 443.27 357.13 447.91 347.19 C460.66
+ 319.9 487.05 324.09 497.95 339.22 C500.82 343.21 502.62 347.96 503.54 358.27 C506.95 396.25 498.58 509.66
+ 509.55 557.61 C515.89 585.33 528.7 591.17 565.82 593.38 C573.89 593.86 583.11 594.17 593.44 594.4 C633.98
+ 595.28 691.65 594.83 742.68 594.83 L0 504.2 Z" class="st13"/>
+ <path d="M0 504.2 L2.83 504.2 C82.39 502.71 183.59 507.39 196.58 500.36 C199.05 499.02 198.33 497.26 201.5 496.08 C212.42
+ 492.01 269.52 494.8 339.97 494.12 C371.02 493.81 404.66 492.83 422.01 490.46 C432.11 489.07 436.69 487.21
+ 439.04 479.27 C443.9 462.88 439.29 420.6 439.98 391.02 C440.44 371.23 443.27 357.13 447.91 347.19 C460.66
+ 319.9 487.05 324.09 497.95 339.22 C500.82 343.21 502.62 347.96 503.54 358.27 C506.95 396.25 498.58 509.66
+ 509.55 557.61 C515.89 585.33 528.7 591.17 565.82 593.38 C573.89 593.86 583.11 594.17 593.44 594.4 C633.98
+ 595.28 691.65 594.83 742.68 594.83" class="st28"/>
+ </g>
+ <g id="shape77-308" transform="translate(589.61,-220.396)">
+ <title>Dynamic connector.285</title>
+ <path d="M24.09 595.28 L13.59 595.28 L0 595.28" class="st15"/>
+ </g>
+ <g id="shape78-313" transform="translate(14.1732,-170.079)">
+ <title>Sheet.78</title>
+ <desc>Offline Dumping</desc>
+ <rect x="0" y="575.276" width="90.8975" height="20" class="st25"/>
+ <text x="5.42" y="588.88" class="st17">Offline Dumping</text> </g>
+ <g id="shape79-316" transform="translate(22.6772,-92.1222)">
+ <title>Sheet.79</title>
+ <path d="M0 507.12 C144.57 510.52 186.41 506.25 199.87 510.7 C212.43 514.86 200.24 526.62 239.68 525.4 C248.84 525.11
+ 260.79 524.13 260.79 595.28 L0 507.12 Z" class="st13"/>
+ <path d="M0 507.12 C144.57 510.52 186.41 506.25 199.87 510.7 C212.43 514.86 200.24 526.62 239.68 525.4 C248.84 525.11
+ 260.79 524.13 260.79 595.28" class="st29"/>
+ </g>
+ <g id="shape80-319" transform="translate(535.747,-510.489)">
+ <title>Sheet.80</title>
+ <desc>SIGHUP</desc>
+ <rect x="0" y="584.043" width="46.8222" height="11.2326" class="st16"/>
+ <text x="4.67" y="593.26" class="st17">SIGHUP</text> </g>
+ <g id="shape81-322" transform="translate(1156.54,86.7404) rotate(90)">
+ <title>Sheet.81</title>
+ <path d="M0 595.28 L25.57 595.28 L31.61 595.28" class="st18"/>
+ </g>
+ <g id="shape82-327" transform="translate(586.771,-510.342)">
+ <title>Sheet.82</title>
+ <desc>SIGTERM</desc>
+ <rect x="0" y="584.043" width="53.8582" height="11.2326" class="st16"/>
+ <text x="4.63" y="593.26" class="st17">SIGTERM</text> </g>
+ <g id="shape83-330" transform="translate(1036.95,500.628) rotate(134.293)">
+ <title>Sheet.83</title>
+ <path d="M0 595.28 L40.64 595.28 L46.68 595.28" class="st18"/>
+ </g>
+ <g id="shape84-335" transform="translate(647.574,-510.236)">
+ <title>Sheet.84</title>
+ <desc>SIGWINCH</desc>
+ <rect x="0" y="584.043" width="60.9448" height="11.2326" class="st16"/>
+ <text x="4.76" y="593.26" class="st17">SIGWINCH</text> </g>
+ <g id="shape85-338" transform="translate(967.675,597.783) rotate(149.566)">
+ <title>Sheet.85</title>
+ <path d="M0 595.28 L59.71 595.28 L65.75 595.28" class="st18"/>
+ </g>
+ <g id="group86-343" transform="translate(351.495,-191.968)">
+ <title>Note</title>
+ <desc>Session + timestamp + raw RPC/NFS/CIFS message</desc>
+ <g id="group87-344">
+ <title>shape126-347</title>
+ <desc>Session + timestamp + raw RPC/NFS/CIFS message</desc>
+ <g id="shape92-345" transform="translate(1.59872E-013,-27.7128)">
+ <title>Sheet.92</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 561.26 L76.54 552.76 L0 552.76 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape93-347" transform="translate(42.5199,-1.97279)">
+ <title>Sheet.93</title>
+ <path d="M0 569.54 L0 595.28 L0 569.54 Z" class="st13"/>
+ <path d="M0 569.54 L0 595.28" class="st31"/>
+ </g>
+ <g id="shape94-350" transform="translate(1.59872E-013,-27.7128)">
+ <title>Sheet.94</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 561.26 L76.54 552.76 L0 552.76 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape87-352">
+ <text x="6.18" y="539.1" class="st8">Session + timestamp +<tspan x="12.91" dy="1.2em" class="st3">raw RPC</tspan>/NFS/CIFS <tspan
+ x="28.42" dy="1.2em" class="st3">message</tspan></text> </g>
+ </g>
+ <g id="shape95-356" transform="translate(75.6853,-60.8784)">
+ <title>Sheet.95</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group96-358" transform="translate(589.604,-263.39)">
+ <title>Note.133</title>
+ <desc>Pass NFS operations to each Analyzer</desc>
+ <g id="group97-359">
+ <title>shape133-370</title>
+ <desc>Pass NFS operations to each Analyzer</desc>
+ <g id="shape102-360" transform="translate(111.97,-24.3228)">
+ <title>Sheet.102</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 574.02 L93.54 565.51 L0 565.51 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape103-362" transform="translate(-4.8761E-013,-1.97279)">
+ <title>Sheet.103</title>
+ <path d="M111.97 572.93 L0 595.28 L111.97 572.93 Z" class="st13"/>
+ <path d="M111.97 572.93 L0 595.28" class="st31"/>
+ </g>
+ <g id="shape104-365" transform="translate(111.97,-24.3228)">
+ <title>Sheet.104</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 574.02 L93.54 565.51 L0 565.51 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape97-367">
+ <text x="115.97" y="554.07" class="st8">Pass NFS operations to each <tspan x="115.97" dy="1em" class="st3">Analyzer</tspan></text> </g>
+ </g>
+ <g id="shape105-370" transform="translate(204.663,-44.7325)">
+ <title>Sheet.105</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="shape112-372" transform="translate(312.823,-554.219)">
+ <title>Sheet.112</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 574.02 L76.54 565.51 L0 565.51 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape113-374" transform="translate(397.862,-521.471)">
+ <title>Sheet.113</title>
+ <path d="M0 582.56 L40.73 595.28 L0 582.56 Z" class="st13"/>
+ <path d="M0 582.56 L40.73 595.28" class="st31"/>
+ </g>
+ <g id="shape107-377" transform="translate(317.136,-522.142)">
+ <title>shape145-393</title>
+ <desc>Exit via (Ctrl-C)</desc>
+ <text x="4.28" y="574.86" class="st2">Exit via (Ctrl-C)</text> </g>
+ <g id="group116-379" transform="translate(669.664,-226.215)">
+ <title>Note.163</title>
+ <desc>Builtin Analyzer for trace-out NFSv3/NFSv4/NFSv41/CIFSv2 Proc...</desc>
+ <g id="group117-380">
+ <title>shape163-414</title>
+ <desc>Builtin Analyzer for trace-out NFSv3/NFSv4/NFSv41/CIFSv2 Proc...</desc>
+ <g id="shape122-381" transform="translate(31.91,-11.1828)">
+ <title>Sheet.122</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 565.51 L93.54 557.01 L0 557.01 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape123-383" transform="translate(-4.19664E-014,-1.97279)">
+ <title>Sheet.123</title>
+ <path d="M31.91 586.07 L0 595.28 L31.91 586.07 Z" class="st13"/>
+ <path d="M31.91 586.07 L0 595.28" class="st31"/>
+ </g>
+ <g id="shape124-386" transform="translate(31.91,-11.1828)">
+ <title>Sheet.124</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 565.51 L93.54 557.01 L0 557.01 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape117-388">
+ <text x="35.91" y="557.75" class="st8">Builtin Analyzer for trace-<tspan x="35.91" dy="1.2em" class="st3">out NFSv</tspan>3/NFSv4/NFSv41/<tspan
+ x="35.91" dy="1.2em" class="st3">CIFSv</tspan>2 Procedures to stdout</text> </g>
+ </g>
+ <g id="shape125-392" transform="translate(124.603,-40.0965)">
+ <title>Sheet.125</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group126-394" transform="translate(667.554,-336.054)">
+ <title>Note.170</title>
+ <desc>Storage for RPC calls related to a session</desc>
+ <g id="group127-395">
+ <title>shape170-437</title>
+ <desc>Storage for RPC calls related to a session</desc>
+ <g id="shape132-396" transform="translate(34.02,-1.97279)">
+ <title>Sheet.132</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 578.27 L93.54 569.76 L0 569.76 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape133-398" transform="translate(3.89688E-013,-14.2128)">
+ <title>Sheet.133</title>
+ <path d="M34.02 595.07 L0 595.28 L34.02 595.07 Z" class="st13"/>
+ <path d="M34.02 595.07 L0 595.28" class="st31"/>
+ </g>
+ <g id="shape134-401" transform="translate(34.02,-1.97279)">
+ <title>Sheet.134</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 578.27 L93.54 569.76 L0 569.76 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape127-403">
+ <text x="38.02" y="578.54" class="st8">Storage for RPC calls related <tspan x="38.02" dy="1em" class="st3">to a session</tspan></text> </g>
+ </g>
+ <g id="shape135-406" transform="translate(126.713,-18.1307)">
+ <title>Sheet.135</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group136-408" transform="translate(347.531,-59.3936)">
+ <title>Note.177</title>
+ <desc>Analysis module API</desc>
+ <g id="group137-409">
+ <title>shape177-458</title>
+ <desc>Analysis module API</desc>
+ <g id="shape142-410" transform="translate(4.55636E-013,-1.97279)">
+ <title>Sheet.142</title>
+ <path d="M0 595.28 L66.33 595.28 L66.33 569.76 L57.82 561.26 L0 561.26 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape143-412" transform="translate(66.3299,-18.1417)">
+ <title>Sheet.143</title>
+ <path d="M0 595.28 L28.06 595.28" class="st31"/>
+ </g>
+ <g id="shape144-415" transform="translate(4.55636E-013,-1.97279)">
+ <title>Sheet.144</title>
+ <path d="M0 595.28 L66.33 595.28 L66.33 569.76 L57.82 561.26 L0 561.26 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape137-417">
+ <text x="6.74" y="573.89" class="st8">Analysis module <tspan x="27.77" dy="1.2em" class="st3">API</tspan></text> </g>
+ </g>
+ <g id="shape145-420" transform="translate(56.9729,-26.6346)">
+ <title>Sheet.145</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group146-422" transform="translate(673.224,-471.397)">
+ <title>Note.181</title>
+ <desc>Global logger for traces</desc>
+ <g id="group147-423">
+ <title>shape181-479</title>
+ <desc>Global logger for traces</desc>
+ <g id="shape152-424" transform="translate(28.35,-13.3228)">
+ <title>Sheet.152</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 581.1 L93.54 572.6 L0 572.6 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape153-426" transform="translate(7.19425E-014,-1.97279)">
+ <title>Sheet.153</title>
+ <path d="M28.35 583.93 L0 595.28 L28.35 583.93 Z" class="st13"/>
+ <path d="M28.35 583.93 L0 595.28" class="st31"/>
+ </g>
+ <g id="shape154-429" transform="translate(28.35,-13.3228)">
+ <title>Sheet.154</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 581.1 L93.54 572.6 L0 572.6 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape147-431">
+ <text x="32.35" y="572.61" class="st8">Global logger for traces</text> </g>
+ </g>
+ <g id="shape155-433" transform="translate(121.043,-26.646)">
+ <title>Sheet.155</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group156-435" transform="translate(135.874,-480.726)">
+ <title>Note.196</title>
+ <desc>Wrapper over CLI with validation</desc>
+ <g id="group157-436">
+ <title>shape196-498</title>
+ <desc>Wrapper over CLI with validation</desc>
+ <g id="shape162-437" transform="translate(-2.23821E-013,-25.9628)">
+ <title>Sheet.162</title>
+ <path d="M0 595.28 L90.9 595.28 L90.9 574.02 L82.39 565.51 L0 565.51 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape163-439" transform="translate(90.8999,-1.97279)">
+ <title>Sheet.163</title>
+ <path d="M0 571.29 L15.4 595.28 L0 571.29 Z" class="st13"/>
+ <path d="M0 571.29 L15.4 595.28" class="st31"/>
+ </g>
+ <g id="shape164-442" transform="translate(-2.23821E-013,-25.9628)">
+ <title>Sheet.164</title>
+ <path d="M0 595.28 L90.9 595.28 L90.9 574.02 L82.39 565.51 L0 565.51 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape157-444">
+ <text x="9.96" y="551.93" class="st2">Wrapper over CLI <tspan x="15.24" dy="1em" class="st3">with validation</tspan></text> </g>
+ </g>
+ <g id="shape165-447" transform="translate(81.5436,-46.3725)">
+ <title>Sheet.165</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group166-449" transform="translate(407.479,-519.498)">
+ <title>Note.212</title>
+ <desc>Compression Process complete</desc>
+ <g id="group167-450">
+ <title>shape212-519</title>
+ <desc>Compression Process complete</desc>
+ <g id="shape172-451" transform="translate(3.83693E-013,-14.6928)">
+ <title>Sheet.172</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 578.27 L76.54 569.76 L0 569.76 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape173-453" transform="translate(85.0399,-1.97279)">
+ <title>Sheet.173</title>
+ <path d="M0 582.56 L1.03 595.28 L0 582.56 Z" class="st13"/>
+ <path d="M0 582.56 L1.03 595.28" class="st34"/>
+ </g>
+ <g id="shape174-456" transform="translate(3.83693E-013,-14.6928)">
+ <title>Sheet.174</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 578.27 L76.54 569.76 L0 569.76 L0 595.28 Z" class="st35"/>
+ </g>
+ <g id="shape167-458">
+ <text x="8.05" y="565.82" class="st8">Compression Process <tspan x="27.18" dy="1em" class="st3">complete</tspan></text> </g>
+ </g>
+ <g id="shape175-461" transform="translate(75.6853,-30.8506)">
+ <title>Sheet.175</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st36"/>
+ </g>
+ </g>
+ <g id="group176-463" transform="translate(673.224,-396.999)">
+ <title>Note.234</title>
+ <desc>User messages regarding to verbose level</desc>
+ <g id="group177-464">
+ <title>shape234-540</title>
+ <desc>User messages regarding to verbose level</desc>
+ <g id="shape182-465" transform="translate(28.35,-1.97279)">
+ <title>Sheet.182</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 578.27 L93.54 569.76 L0 569.76 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape183-467" transform="translate(7.19425E-014,-27.4928)">
+ <title>Sheet.183</title>
+ <path d="M28.35 595.28 L0 581.57 L28.35 595.28 Z" class="st13"/>
+ <path d="M28.35 595.28 L0 581.57" class="st31"/>
+ </g>
+ <g id="shape184-470" transform="translate(28.35,-1.97279)">
+ <title>Sheet.184</title>
+ <path d="M0 595.28 L102.05 595.28 L102.05 578.27 L93.54 569.76 L0 569.76 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape177-472">
+ <text x="32.35" y="578.54" class="st8">User messages regarding to <tspan x="32.35" dy="1em" class="st3">verbose level</tspan></text> </g>
+ </g>
+ <g id="shape185-475" transform="translate(121.043,-18.1307)">
+ <title>Sheet.185</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group186-477" transform="translate(503.149,-519.748)">
+ <title>Note.305</title>
+ <desc>Terminal is closed</desc>
+ <g id="group187-478">
+ <title>shape305-561</title>
+ <desc>Terminal is closed</desc>
+ <g id="shape192-479" transform="translate(1.43885E-013,-14.4428)">
+ <title>Sheet.192</title>
+ <path d="M0 595.28 L75.12 595.28 L75.12 581.1 L66.61 572.6 L0 572.6 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape193-481" transform="translate(44.6699,-1.97279)">
+ <title>Sheet.193</title>
+ <path d="M0 582.81 L7.82 595.28 L0 582.81 Z" class="st13"/>
+ <path d="M0 582.81 L7.82 595.28" class="st31"/>
+ </g>
+ <g id="shape194-484" transform="translate(1.43885E-013,-14.4428)">
+ <title>Sheet.194</title>
+ <path d="M0 595.28 L75.12 595.28 L75.12 581.1 L66.61 572.6 L0 572.6 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape187-486">
+ <text x="8.51" y="571.49" class="st8">Terminal is closed</text> </g>
+ </g>
+ <g id="shape195-488" transform="translate(65.7641,-27.766)">
+ <title>Sheet.195</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group196-490" transform="translate(590.426,-521.588)">
+ <title>Note.308</title>
+ <desc>Termination request</desc>
+ <g id="group197-491">
+ <title>shape308-580</title>
+ <desc>Termination request</desc>
+ <g id="shape202-492" transform="translate(1.59872E-013,-12.6028)">
+ <title>Sheet.202</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 581.1 L76.54 572.6 L0 572.6 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape203-494" transform="translate(30.36,-1.97279)">
+ <title>Sheet.203</title>
+ <path d="M5.89 584.65 L0 595.28 L5.89 584.65 Z" class="st13"/>
+ <path d="M5.89 584.65 L0 595.28" class="st31"/>
+ </g>
+ <g id="shape204-497" transform="translate(1.59872E-013,-12.6028)">
+ <title>Sheet.204</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 581.1 L76.54 572.6 L0 572.6 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape197-499">
+ <text x="9.2" y="573.33" class="st8">Termination request</text> </g>
+ </g>
+ <g id="shape205-501" transform="translate(75.6853,-25.926)">
+ <title>Sheet.205</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="group206-503" transform="translate(688.629,-519.498)">
+ <title>Note.312</title>
+ <desc>Terminal changes size</desc>
+ <g id="group207-504">
+ <title>shape312-599</title>
+ <desc>Terminal changes size</desc>
+ <g id="shape212-505" transform="translate(-1.19904E-013,-14.6928)">
+ <title>Sheet.212</title>
+ <path d="M0 595.28 L90.9 595.28 L90.9 581.1 L82.39 572.6 L0 572.6 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape213-507" transform="translate(1.15142E-016,-1.97279)">
+ <title>Sheet.213</title>
+ <path d="M0 582.56 L0.02 595.28 L0 582.56 Z" class="st13"/>
+ <path d="M0 582.56 L0.02 595.28" class="st31"/>
+ </g>
+ <g id="shape214-510" transform="translate(-1.19904E-013,-14.6928)">
+ <title>Sheet.214</title>
+ <path d="M0 595.28 L90.9 595.28 L90.9 581.1 L82.39 572.6 L0 572.6 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape207-512">
+ <text x="9.96" y="571.24" class="st8">Terminal changes size</text> </g>
+ </g>
+ <g id="shape215-514" transform="translate(81.5436,-28.016)">
+ <title>Sheet.215</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+ <g id="shape220-516" transform="translate(313.228,-551.336)">
+ <title>Sheet.220</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 581.1 L76.54 572.6 L0 572.6 L0 595.28 Z" class="st30"/>
+ </g>
+ <g id="shape222-518" transform="translate(312.661,-534.195)">
+ <title>Sheet.222</title>
+ <path d="M0 595.28 L85.04 595.28 L85.04 581.1 L76.54 572.6 L0 572.6 L0 595.28 Z" class="st32"/>
+ </g>
+ <g id="shape223-520" transform="translate(388.346,-547.648)">
+ <title>Sheet.223</title>
+ <path d="M0.85 594.43 L9.35 594.43 L9.35 595.28 L9.35 594.43 L0.85 585.92 L0 585.92 L0.85 585.92 L0.85 594.43 Z"
+ class="st33"/>
+ </g>
+ </g>
+</svg>
diff --git a/docs/pictures/logo.png b/docs/pictures/logo.png
new file mode 100755
index 0000000..649e644
--- /dev/null
+++ b/docs/pictures/logo.png
Binary files differ
diff --git a/docs/pictures/logo64.png b/docs/pictures/logo64.png
new file mode 100755
index 0000000..d2431ba
--- /dev/null
+++ b/docs/pictures/logo64.png
Binary files differ
diff --git a/docs/pictures/metrics.svg b/docs/pictures/metrics.svg
new file mode 100755
index 0000000..58c3a01
--- /dev/null
+++ b/docs/pictures/metrics.svg
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export metrics.svg Metrics -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.6929in" height="8.26772in"
+ viewBox="0 0 841.89 595.276" xml:space="preserve" color-interpolation-filters="sRGB" class="st13">
+ <v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {visibility:visible}
+ .st2 {fill:none;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st3 {fill:none;stroke:#000000;stroke-width:0.25}
+ .st4 {fill:none;stroke:none;stroke-width:0.25}
+ .st5 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+ .st6 {fill:#000000;font-family:Calibri;font-size:1.00001em;font-weight:bold}
+ .st7 {font-size:1em;font-weight:normal}
+ .st8 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
+ .st9 {fill:url(#grad0-62);stroke:#c7c8c8;stroke-width:0.25}
+ .st10 {fill:#000000;font-family:Arial;font-size:1.00001em;font-weight:bold}
+ .st11 {font-size:1em}
+ .st12 {font-size:1em;font-weight:bold}
+ .st13 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Patterns_And_Gradients">
+ <linearGradient id="grad0-62" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(90 0.5 0.5)">
+ <stop offset="0" stop-color="#f6fafc" stop-opacity="1"/>
+ <stop offset="0.74" stop-color="#b5d2ec" stop-opacity="1"/>
+ <stop offset="0.83" stop-color="#b5d2ec" stop-opacity="1"/>
+ <stop offset="1" stop-color="#cde1f2" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <defs id="Filters">
+ <filter id="filter_2">
+ <feGaussianBlur stdDeviation="2"/>
+ </filter>
+ </defs>
+ <g v:mID="7" v:index="3" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Metrics</title>
+ <v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
+ v:shadowOffsetY="-8.50394"/>
+ <g id="group26-1" transform="translate(301.039,-102.985)" v:mID="26" v:groupContext="group">
+ <title>Sheet.26</title>
+ <g id="shape7-2" v:mID="7" v:groupContext="shape" transform="translate(13.8898,-24.0936)">
+ <title>Sheet.7</title>
+ <g id="shadow7-3" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st2"/>
+ </g>
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st3"/>
+ </g>
+ <g id="shape8-7" v:mID="8" v:groupContext="shape" transform="translate(92.5215,-24.0936)">
+ <title>Sheet.8</title>
+ <g id="shadow8-8" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st2"/>
+ </g>
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st3"/>
+ </g>
+ <g id="shape9-12" v:mID="9" v:groupContext="shape" transform="translate(171.047,-24.0936)">
+ <title>Sheet.9</title>
+ <g id="shadow9-13" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st2"/>
+ </g>
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st3"/>
+ </g>
+ <g id="shape10-17" v:mID="10" v:groupContext="shape" transform="translate(249.626,-24.0936)">
+ <title>Sheet.10</title>
+ <g id="shadow10-18" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st2"/>
+ </g>
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st3"/>
+ </g>
+ <g id="shape11-22" v:mID="11" v:groupContext="shape" transform="translate(328.193,-24.0936)">
+ <title>Sheet.11</title>
+ <g id="shadow11-23" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st2"/>
+ </g>
+ <rect x="0" y="270.042" width="78.5791" height="325.234" class="st3"/>
+ </g>
+ <g id="shape16-27" v:mID="16" v:groupContext="shape" transform="translate(78.6054,0)">
+ <title>Sheet.16</title>
+ <desc>25</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="13.8898" cy="583.229" width="27.78" height="24.0936"/>
+ <rect x="0" y="571.182" width="27.7795" height="24.0936" class="st4"/>
+ <text x="7.81" y="586.83" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>25</text> </g>
+ <g id="shape21-30" v:mID="21" v:groupContext="shape">
+ <title>Sheet.21</title>
+ <desc>0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="13.8898" cy="583.229" width="27.78" height="24.0936"/>
+ <rect x="0" y="571.182" width="27.7795" height="24.0936" class="st4"/>
+ <text x="10.85" y="586.83" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>0</text> </g>
+ <g id="shape22-33" v:mID="22" v:groupContext="shape" transform="translate(157.184,0)">
+ <title>Sheet.22</title>
+ <desc>50</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="13.8898" cy="583.229" width="27.78" height="24.0936"/>
+ <rect x="0" y="571.182" width="27.7795" height="24.0936" class="st4"/>
+ <text x="7.81" y="586.83" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>50</text> </g>
+ <g id="shape23-36" v:mID="23" v:groupContext="shape" transform="translate(235.763,0)">
+ <title>Sheet.23</title>
+ <desc>75</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="13.8898" cy="583.229" width="27.78" height="24.0936"/>
+ <rect x="0" y="571.182" width="27.7795" height="24.0936" class="st4"/>
+ <text x="7.81" y="586.83" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>75</text> </g>
+ <g id="shape24-39" v:mID="24" v:groupContext="shape" transform="translate(314.342,0)">
+ <title>Sheet.24</title>
+ <desc>100</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="13.8898" cy="583.229" width="27.78" height="24.0936"/>
+ <rect x="0" y="571.182" width="27.7795" height="24.0936" class="st4"/>
+ <text x="4.77" y="586.83" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>100</text> </g>
+ <g id="shape25-42" v:mID="25" v:groupContext="shape" transform="translate(392.92,0)">
+ <title>Sheet.25</title>
+ <desc>125</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="13.8898" cy="583.229" width="27.78" height="24.0936"/>
+ <rect x="0" y="571.182" width="27.7795" height="24.0936" class="st4"/>
+ <text x="4.77" y="586.83" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>125</text> </g>
+ </g>
+ <g id="shape27-45" v:mID="27" v:groupContext="shape" transform="translate(313.37,-472.192)">
+ <title>Sheet.27</title>
+ <desc>Gigabit Network Performance 1.0 Gb file transfer over 1G netw...</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="162.992" cy="574.016" width="325.99" height="42.5197"/>
+ <rect x="0" y="552.756" width="325.984" height="42.5197" class="st4"/>
+ <text x="88.44" y="570.42" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Gigabit Network Performance<v:lf/><tspan
+ x="46.58" dy="1.2em" class="st7">1</tspan><tspan class="st7">.</tspan><tspan class="st7">0 </tspan><tspan
+ class="st7">Gb </tspan><tspan class="st7">file transfer over </tspan><tspan class="st7">1</tspan><tspan
+ class="st7">G network connection</tspan></text> </g>
+ <g id="group33-55" transform="translate(595.559,-89.5151)" v:mID="33" v:groupContext="group">
+ <title>Sheet.33</title>
+ <g id="shape31-56" v:mID="31" v:groupContext="shape">
+ <title>Sheet.31</title>
+ <g id="shadow31-57" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="588.446" width="5.66929" height="6.82968" class="st8"/>
+ </g>
+ <rect x="0" y="588.446" width="5.66929" height="6.82968" class="st9"/>
+ </g>
+ <g id="shape32-63" v:mID="32" v:groupContext="shape" transform="translate(5.66929,0)">
+ <title>Sheet.32</title>
+ <desc>Megabytes Per Second</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="60.9449" cy="591.861" width="121.89" height="6.82968"/>
+ <rect x="0" y="588.446" width="121.89" height="6.82968" class="st4"/>
+ <text x="5.28" y="595.46" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Megabytes Per Second</text> </g>
+ </g>
+ <g id="group38-66" transform="translate(85.3228,-396.448)" v:mID="38" v:groupContext="group">
+ <title>Sheet.38</title>
+ <g id="shape30-67" v:mID="30" v:groupContext="shape" transform="translate(229.606,1.13687E-013)">
+ <title>Sheet.30</title>
+ <g id="shadow30-68" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="552.756" width="392.882" height="42.5197" class="st8"/>
+ </g>
+ <rect x="0" y="552.756" width="392.882" height="42.5197" class="st9"/>
+ </g>
+ <g id="shape34-73" v:mID="34" v:groupContext="shape">
+ <title>Sheet.34</title>
+ <desc>Gigabit Network Theoretical Limit</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="109.843" cy="574.016" width="219.69" height="42.5197"/>
+ <rect x="0" y="552.756" width="219.685" height="42.5197" class="st4"/>
+ <text x="27.68" y="577.62" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Gigabit Network Theoretical Limit</text> </g>
+ <g id="shape36-76" v:mID="36" v:groupContext="shape" transform="translate(578.268,-11.3386)">
+ <title>Sheet.36</title>
+ <desc>125.0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="22.1102" cy="585.354" width="44.23" height="19.8425"/>
+ <rect x="0" y="575.433" width="44.2205" height="19.8425" class="st4"/>
+ <text x="7.1" y="588.95" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>125.0</text> </g>
+ </g>
+ <g id="group39-79" transform="translate(85.3228,-332.668)" v:mID="39" v:groupContext="group">
+ <title>Sheet.39</title>
+ <g id="shape40-80" v:mID="40" v:groupContext="shape" transform="translate(229.606,1.13687E-013)">
+ <title>Sheet.40</title>
+ <g id="shadow40-81" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="552.756" width="250.866" height="42.5197" class="st8"/>
+ </g>
+ <rect x="0" y="552.756" width="250.866" height="42.5197" class="st9"/>
+ </g>
+ <g id="shape41-86" v:mID="41" v:groupContext="shape">
+ <title>Sheet.41</title>
+ <desc>Average HDD 7200 RPM R/W performance</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="114.803" cy="574.016" width="229.61" height="42.5197"/>
+ <rect x="0" y="552.756" width="229.606" height="42.5197" class="st4"/>
+ <text x="10.73" y="577.62" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Average HDD 7200 RPM R/W performance</text> </g>
+ <g id="shape42-89" v:mID="42" v:groupContext="shape" transform="translate(435.118,-11.3386)">
+ <title>Sheet.42</title>
+ <desc>~80.0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="22.6772" cy="585.354" width="45.36" height="19.8425"/>
+ <rect x="0" y="575.433" width="45.3543" height="19.8425" class="st4"/>
+ <text x="7.5" y="588.95" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>~80.0</text> </g>
+ </g>
+ <g id="group43-92" transform="translate(85.3228,-268.889)" v:mID="43" v:groupContext="group">
+ <title>Sheet.43</title>
+ <g id="shape44-93" v:mID="44" v:groupContext="shape" transform="translate(229.606,1.13687E-013)">
+ <title>Sheet.44</title>
+ <g id="shadow44-94" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="552.756" width="250.866" height="42.5197" class="st8"/>
+ </g>
+ <rect x="0" y="552.756" width="250.866" height="42.5197" class="st9"/>
+ </g>
+ <g id="shape45-99" v:mID="45" v:groupContext="shape">
+ <title>Sheet.45</title>
+ <desc>Gigabit Network NFS file transfer performance</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="114.803" cy="574.016" width="229.61" height="42.5197"/>
+ <rect x="0" y="552.756" width="229.606" height="42.5197" class="st4"/>
+ <text x="34.5" y="570.42" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Gigabit Network NFS file transfer <tspan
+ x="83.14" dy="1.2em" class="st11">performance</tspan></text> </g>
+ <g id="shape46-103" v:mID="46" v:groupContext="shape" transform="translate(431.154,-11.3386)">
+ <title>Sheet.46</title>
+ <desc>~80.0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="24.6593" cy="585.354" width="49.32" height="19.8425"/>
+ <rect x="0" y="575.433" width="49.3187" height="19.8425" class="st4"/>
+ <text x="9.48" y="588.95" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>~80.0</text> </g>
+ </g>
+ <g id="group47-106" transform="translate(85.0394,-205.109)" v:mID="47" v:groupContext="group">
+ <title>Sheet.47</title>
+ <g id="shape48-107" v:mID="48" v:groupContext="shape" transform="translate(229.89,1.13687E-013)">
+ <title>Sheet.48</title>
+ <g id="shadow48-108" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="552.756" width="352.913" height="42.5197" class="st8"/>
+ </g>
+ <rect x="0" y="552.756" width="352.913" height="42.5197" class="st9"/>
+ </g>
+ <g id="shape49-113" v:mID="49" v:groupContext="shape">
+ <title>Sheet.49</title>
+ <desc>RAM Drive to RAM Drive NFS file transfer</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="114.945" cy="574.016" width="229.89" height="42.5197"/>
+ <rect x="0" y="552.756" width="229.89" height="42.5197" class="st4"/>
+ <text x="14.51" y="577.62" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>RAM Drive to RAM Drive NFS file transfer </text> </g>
+ <g id="shape50-116" v:mID="50" v:groupContext="shape" transform="translate(537.449,-11.3386)">
+ <title>Sheet.50</title>
+ <desc>111.0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="22.6772" cy="585.354" width="45.36" height="19.8425"/>
+ <rect x="0" y="575.433" width="45.3543" height="19.8425" class="st4"/>
+ <text x="7.66" y="588.95" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>111.0</text> </g>
+ </g>
+ <g id="group53-119" transform="translate(85.0394,-148.416)" v:mID="53" v:groupContext="group">
+ <title>Sheet.53</title>
+ <g id="shape54-120" v:mID="54" v:groupContext="shape" transform="translate(229.89,1.13687E-013)">
+ <title>Sheet.54</title>
+ <g id="shadow54-121" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.345598,1.97279)" class="st1">
+ <rect x="0" y="552.756" width="352.913" height="42.5197" class="st8"/>
+ </g>
+ <rect x="0" y="552.756" width="352.913" height="42.5197" class="st9"/>
+ </g>
+ <g id="shape55-126" v:mID="55" v:groupContext="shape">
+ <title>Sheet.55</title>
+ <desc>RAM Drive to RAM Drive NFS file transfer over TCP with NST li...</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="114.945" cy="574.016" width="229.89" height="42.5197"/>
+ <rect x="0" y="552.756" width="229.89" height="42.5197" class="st4"/>
+ <text x="14.51" y="556.02" class="st5" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>RAM Drive to RAM Drive NFS file transfer <v:lf/><tspan
+ x="22.56" dy="1.2em" class="st11">over TCP with </tspan><tspan class="st12">NST live traffic analysis<v:lf/></tspan><tspan
+ x="28.93" dy="1.2em" class="st12"> </tspan><tspan class="st12">detects </tspan><tspan class="st12">100</tspan><tspan
+ class="st12">.</tspan><tspan class="st12">0</tspan><tspan class="st12">% </tspan><tspan class="st12">of NFS procedures <v:lf/></tspan><tspan
+ x="38.56" dy="1.2em" class="st11">(</tspan><tspan class="st12">32000</tspan><tspan class="st12">/</tspan><tspan
+ class="st12">32000 </tspan>NFS procedures)</text> </g>
+ <g id="shape56-142" v:mID="56" v:groupContext="shape" transform="translate(537.449,-11.3386)">
+ <title>Sheet.56</title>
+ <desc>111.0</desc>
+ <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
+ <v:textRect cx="22.6772" cy="585.354" width="45.36" height="19.8425"/>
+ <rect x="0" y="575.433" width="45.3543" height="19.8425" class="st4"/>
+ <text x="7.66" y="588.95" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>111.0</text> </g>
+ </g>
+ </g>
+</svg>
diff --git a/docs/pictures/session-visualization.png b/docs/pictures/session-visualization.png
new file mode 100755
index 0000000..f7ff536
--- /dev/null
+++ b/docs/pictures/session-visualization.png
Binary files differ