diff mbox

[dpdk-dev,v2] doc/event: improve eventdev library documentation

Message ID 1528260843-17284-1-git-send-email-honnappa.nagarahalli@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers show

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Honnappa Nagarahalli June 6, 2018, 4:54 a.m. UTC
Add small amount of additional code, use consistent variable names
across code blocks, change the image to represent queues and
CPU cores intuitively. These help improve the eventdev library
documentation.

Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
---
v2:
* Added copyright
* Added reference for RX and TX cores
* Changed worker_port_id1 to worker_port_id 

 doc/guides/prog_guide/eventdev.rst           |   57 +-
 doc/guides/prog_guide/img/eventdev_usage.svg | 1519 +++++++++-----------------
 2 files changed, 574 insertions(+), 1002 deletions(-)
diff mbox

Patch

diff --git a/doc/guides/prog_guide/eventdev.rst b/doc/guides/prog_guide/eventdev.rst
index ce19997..8fcae54 100644
--- a/doc/guides/prog_guide/eventdev.rst
+++ b/doc/guides/prog_guide/eventdev.rst
@@ -1,5 +1,6 @@ 
 ..  SPDX-License-Identifier: BSD-3-Clause
     Copyright(c) 2017 Intel Corporation.
+    Copyright(c) 2018 Arm Limited.
 
 Event Device Library
 ====================
@@ -129,8 +130,10 @@  API Walk-through
 
 This section will introduce the reader to the eventdev API, showing how to
 create and configure an eventdev and use it for a two-stage atomic pipeline
-with a single core for TX. The diagram below shows the final state of the
-application after this walk-through:
+with one core each for RX and TX. RX and TX cores are shown here for
+illustration, refer to Eventdev Adapter documentation for further details.
+The diagram below shows the final state of the application after this
+walk-through:
 
 .. _figure_eventdev-usage1:
 
@@ -196,23 +199,29 @@  calling the setup function. Repeat this step for each queue, starting from
                 .nb_atomic_flows = 1024,
                 .nb_atomic_order_sequences = 1024,
         };
+        struct rte_event_queue_conf single_link_conf = {
+                .event_queue_cfg = RTE_EVENT_QUEUE_CFG_SINGLE_LINK,
+        };
         int dev_id = 0;
-        int queue_id = 0;
-        int err = rte_event_queue_setup(dev_id, queue_id, &atomic_conf);
+        int atomic_q_1 = 0;
+        int atomic_q_2 = 1;
+        int single_link_q = 2;
+        int err = rte_event_queue_setup(dev_id, atomic_q_1, &atomic_conf);
+        int err = rte_event_queue_setup(dev_id, atomic_q_2, &atomic_conf);
+        int err = rte_event_queue_setup(dev_id, single_link_q, &single_link_conf);
 
-The remainder of this walk-through assumes that the queues are configured as
-follows:
+As shown above, queue IDs are as follows:
 
  * id 0, atomic queue #1
  * id 1, atomic queue #2
  * id 2, single-link queue
 
+These queues are used for the remainder of this walk-through.
+
 Setting up Ports
 ~~~~~~~~~~~~~~~~
 
-Once queues are set up successfully, create the ports as required. Each port
-should be set up with its corresponding port_conf type, worker for worker cores,
-rx and tx for the RX and TX cores:
+Once queues are set up successfully, create the ports as required.
 
 .. code-block:: c
 
@@ -232,15 +241,24 @@  rx and tx for the RX and TX cores:
                 .new_event_threshold = 4096,
         };
         int dev_id = 0;
-        int port_id = 0;
-        int err = rte_event_port_setup(dev_id, port_id, &CORE_FUNCTION_conf);
+        int rx_port_id = 0;
+        int err = rte_event_port_setup(dev_id, rx_port_id, &rx_conf);
+
+        for(int worker_port_id = 1; worker_port_id <= 4; worker_port_id++) {
+	        int err = rte_event_port_setup(dev_id, worker_port_id, &worker_conf);
+        }
 
-It is now assumed that:
+        int tx_port_id = 5;
+	int err = rte_event_port_setup(dev_id, tx_port_id, &tx_conf);
+
+As shown above:
 
  * port 0: RX core
  * ports 1,2,3,4: Workers
  * port 5: TX core
 
+These ports are used for the remainder of this walk-through.
+
 Linking Queues and Ports
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -254,15 +272,14 @@  can be achieved like this:
 
 .. code-block:: c
 
-        uint8_t port_id = 0;
+        uint8_t rx_port_id = 0;
+        uint8_t tx_port_id = 5;
         uint8_t atomic_qs[] = {0, 1};
         uint8_t single_link_q = 2;
-        uint8_t tx_port_id = 5;
         uin8t_t priority = RTE_EVENT_DEV_PRIORITY_NORMAL;
 
-        for(int i = 0; i < 4; i++) {
-                int worker_port = i + 1;
-                int links_made = rte_event_port_link(dev_id, worker_port, atomic_qs, NULL, 2);
+        for(int worker_port_id = 1; worker_port_id <= 4; worker_port_id++) {
+                int links_made = rte_event_port_link(dev_id, worker_port_id, atomic_qs, NULL, 2);
         }
         int links_made = rte_event_port_link(dev_id, tx_port_id, &single_link_q, &priority, 1);
 
@@ -295,14 +312,14 @@  The following code shows how those packets can be enqueued into the eventdev:
                 ev[i].flow_id = mbufs[i]->hash.rss;
                 ev[i].op = RTE_EVENT_OP_NEW;
                 ev[i].sched_type = RTE_SCHED_TYPE_ATOMIC;
-                ev[i].queue_id = 0;
+                ev[i].queue_id = atomic_q_1;
                 ev[i].event_type = RTE_EVENT_TYPE_ETHDEV;
                 ev[i].sub_event_type = 0;
                 ev[i].priority = RTE_EVENT_DEV_PRIORITY_NORMAL;
                 ev[i].mbuf = mbufs[i];
         }
 
-        const int nb_tx = rte_event_enqueue_burst(dev_id, port_id, ev, nb_rx);
+        const int nb_tx = rte_event_enqueue_burst(dev_id, rx_port_id, ev, nb_rx);
         if (nb_tx != nb_rx) {
                 for(i = nb_tx; i < nb_rx; i++)
                         rte_pktmbuf_free(mbufs[i]);
@@ -334,7 +351,7 @@  the event to the next stage in the pipeline.
                 events[i].queue_id++;
         }
 
-        uint16_t nb_tx = rte_event_enqueue_burst(dev_id, port_id, events, nb_rx);
+        uint16_t nb_tx = rte_event_enqueue_burst(dev_id, worker_port_id, events, nb_rx);
 
 
 Egress of Events
diff --git a/doc/guides/prog_guide/img/eventdev_usage.svg b/doc/guides/prog_guide/img/eventdev_usage.svg
index 7765649..c19818b 100644
--- a/doc/guides/prog_guide/img/eventdev_usage.svg
+++ b/doc/guides/prog_guide/img/eventdev_usage.svg
@@ -1,994 +1,549 @@ 
 <?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 eventdev_usage.svg Page-1 -->
+<!-- SPDX-License-Identifier: BSD-3-Clause -->
+<!-- Copyright(c) 2018 Arm -->
 
-<svg
-   xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/"
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="683.12061"
-   height="184.672"
-   viewBox="0 0 546.49648 147.7376"
-   xml:space="preserve"
-   color-interpolation-filters="sRGB"
-   class="st9"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="eventdev_usage.svg"
-   style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"><metadata
-   id="metadata214"><rdf:RDF><cc:Work
-       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
-   pagecolor="#ffffff"
-   bordercolor="#666666"
-   borderopacity="1"
-   objecttolerance="10"
-   gridtolerance="10"
-   guidetolerance="10"
-   inkscape:pageopacity="0"
-   inkscape:pageshadow="2"
-   inkscape:window-width="1920"
-   inkscape:window-height="1017"
-   id="namedview212"
-   showgrid="false"
-   fit-margin-top="2"
-   fit-margin-left="2"
-   fit-margin-right="2"
-   fit-margin-bottom="2"
-   inkscape:zoom="1.2339869"
-   inkscape:cx="501.15554"
-   inkscape:cy="164.17693"
-   inkscape:window-x="-8"
-   inkscape:window-y="406"
-   inkscape:window-maximized="1"
-   inkscape:current-layer="g17" />
-	<v:documentProperties
-   v:langID="1033"
-   v:viewMarkup="false">
-		<v:userDefs>
-			<v:ud
-   v:nameU="msvSubprocessMaster"
-   v:prompt=""
-   v:val="VT4(Rectangle)" />
-			<v:ud
-   v:nameU="msvNoAutoConnect"
-   v:val="VT0(1):26" />
-		</v:userDefs>
-	</v:documentProperties>
-
-	<style
-   type="text/css"
-   id="style4">
-
-		.st1 {visibility:visible}
-		.st2 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22}
-		.st3 {fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25}
-		.st4 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
-		.st5 {font-size:1em}
-		.st6 {fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25}
-		.st7 {marker-end:url(#mrkr4-33);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
-		.st8 {fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-opacity:1;stroke-width:0.28409090909091}
-		.st9 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+		xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="9.04167in" height="1.84602in"
+		viewBox="0 0 651 132.913" xml:space="preserve" color-interpolation-filters="sRGB" class="st12">
+	<v:documentProperties v:langID="1033" v:viewMarkup="false"/>
 
+	<style type="text/css">
+	<![CDATA[
+		.st1 {fill:#3c63ac;stroke:#30518f;stroke-width:0.75}
+		.st2 {fill:#feffff;font-family:Calibri;font-size:0.833336em}
+		.st3 {fill:none;stroke:#203864;stroke-width:0.25}
+		.st4 {stroke:#203864;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+		.st5 {fill:#ffd965;stroke:#203864;stroke-width:0.25}
+		.st6 {fill:#000000;font-family:Calibri;font-size:1.16666em}
+		.st7 {font-size:1em}
+		.st8 {fill:none;stroke:none;stroke-width:0.25}
+		.st9 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+		.st10 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+		.st11 {font-size:1.16665em}
+		.st12 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+	]]>
 	</style>
 
-	<defs
-   id="Markers">
-		<g
-   id="lend4">
-			<path
-   d="M 2,1 0,0 2,-1 2,1"
-   style="stroke:none"
-   id="path8"
-   inkscape:connector-curvature="0" />
-		</g>
-		<marker
-   id="mrkr4-33"
-   class="st8"
-   v:arrowType="4"
-   v:arrowSize="2"
-   v:setback="7.04"
-   refX="-7.04"
-   orient="auto"
-   markerUnits="strokeWidth"
-   overflow="visible"
-   style="fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-width:0.28409091;stroke-opacity:1;overflow:visible">
-			<use
-   xlink:href="#lend4"
-   transform="scale(-3.52,-3.52)"
-   id="use11"
-   x="0"
-   y="0"
-   width="3"
-   height="3" />
-		</marker>
-	<filter
-   id="filter_2-7"
-   color-interpolation-filters="sRGB"><feGaussianBlur
-     stdDeviation="2"
-     id="feGaussianBlur15-1" /></filter><marker
-   id="mrkr4-33-2"
-   class="st8"
-   v:arrowType="4"
-   v:arrowSize="2"
-   v:setback="7.04"
-   refX="-7.04"
-   orient="auto"
-   markerUnits="strokeWidth"
-   overflow="visible"
-   style="fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-width:0.28409091;stroke-opacity:1;overflow:visible"><use
-     xlink:href="#lend4"
-     transform="scale(-3.52,-3.52)"
-     id="use11-3"
-     x="0"
-     y="0"
-     width="3"
-     height="3" /></marker><marker
-   id="mrkr4-33-6"
-   class="st8"
-   v:arrowType="4"
-   v:arrowSize="2"
-   v:setback="7.04"
-   refX="-7.04"
-   orient="auto"
-   markerUnits="strokeWidth"
-   overflow="visible"
-   style="fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-width:0.28409091;stroke-opacity:1;overflow:visible"><use
-     xlink:href="#lend4"
-     transform="scale(-3.52,-3.52)"
-     id="use11-8"
-     x="0"
-     y="0"
-     width="3"
-     height="3" /></marker></defs>
-	<defs
-   id="Filters">
-		<filter
-   id="filter_2"
-   color-interpolation-filters="sRGB">
-			<feGaussianBlur
-   stdDeviation="2"
-   id="feGaussianBlur15" />
-		</filter>
-	</defs>
-	<g
-   v:mID="0"
-   v:index="1"
-   v:groupContext="foregroundPage"
-   id="g17"
-   transform="translate(-47.323579,-90.784072)">
-		<v:userDefs>
-			<v:ud
-   v:nameU="msvThemeOrder"
-   v:val="VT0(0):26" />
-		</v:userDefs>
-		<title
-   id="title19">Page-1</title>
-		<v:pageProperties
-   v:drawingScale="1"
-   v:pageScale="1"
-   v:drawingUnits="0"
-   v:shadowOffsetX="9"
-   v:shadowOffsetY="-9" />
-		<v:layer
-   v:name="Connector"
-   v:index="0" />
-		<g
-   id="shape1-1"
-   v:mID="1"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,128.62352,-288.18843)">
-			<title
-   id="title22">Square</title>
-			<desc
-   id="desc24">Atomic Queue #1</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="30.75"
-   cy="581.25"
-   width="61.5"
-   height="61.5" />
-			<g
-   id="shadow1-2"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<rect
-   x="0"
-   y="550.5"
-   width="61.5"
-   height="61.5"
-   class="st2"
-   id="rect27"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
-			</g>
-			<rect
-   x="0"
-   y="550.5"
-   width="61.5"
-   height="61.5"
-   class="st3"
-   id="rect29"
-   style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" />
-
-		</g>
-		<g
-   id="shape3-8"
-   v:mID="3"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,297.37175,-288.18843)">
-			<title
-   id="title36">Square.3</title>
-			<desc
-   id="desc38">Atomic Queue #2</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="30.75"
-   cy="581.25"
-   width="61.5"
-   height="61.5" />
-			<g
-   id="shadow3-9"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<rect
-   x="0"
-   y="550.5"
-   width="61.5"
-   height="61.5"
-   class="st2"
-   id="rect41"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
-			</g>
-			<rect
-   x="0"
-   y="550.5"
-   width="61.5"
-   height="61.5"
-   class="st3"
-   id="rect43"
-   style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" />
-
-		</g>
-		<g
-   id="shape4-15"
-   v:mID="4"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,466.1192,-288.18843)">
-			<title
-   id="title50">Square.4</title>
-			<desc
-   id="desc52">Single Link Queue # 1</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="30.75"
-   cy="581.25"
-   width="61.5"
-   height="61.5" />
-			<g
-   id="shadow4-16"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<rect
-   x="0"
-   y="550.5"
-   width="61.5"
-   height="61.5"
-   class="st2"
-   id="rect55"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
-			</g>
-			<rect
-   x="0"
-   y="550.5"
-   width="61.5"
-   height="61.5"
-   class="st3"
-   id="rect57"
-   style="fill:#5b9bd5;stroke:#c7c8c8;stroke-width:0.25" />
-
-		</g>
-		<g
-   id="shape5-22"
-   v:mID="5"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,52.208527,-296.14701)">
-			<title
-   id="title64">Circle</title>
-			<desc
-   id="desc66">RX</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="20.5"
-   cy="591.5"
-   width="35.88"
-   height="30.75" />
-			<g
-   id="shadow5-23"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st2"
-   id="path69"
-   inkscape:connector-curvature="0"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
-			</g>
-			<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st6"
-   id="path71"
-   inkscape:connector-curvature="0"
-   style="fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25" />
-			<text
-   x="15.19"
-   y="594.5"
-   class="st4"
-   v:langID="1033"
-   id="text73"
-   style="fill:#feffff;font-family:Calibri"><v:paragraph
-   v:horizAlign="1" /><v:tabList />RX</text>
-
-		</g>
-		<g
-   id="shape6-28"
-   v:mID="6"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,84.042834,-305.07614)">
-			<title
-   id="title76">Dynamic connector</title>
-			<path
-   d="m 0,603 50.38,0"
-   class="st7"
-   id="path78"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape7-34"
-   v:mID="7"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,220.95621,-296.14701)">
-			<title
-   id="title81">Circle.7</title>
-			<desc
-   id="desc83">W ..</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="20.5"
-   cy="591.5"
-   width="35.88"
-   height="30.75" />
-			<g
-   id="shadow7-35"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st2"
-   id="path86"
-   inkscape:connector-curvature="0"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
-			</g>
-			<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st6"
-   id="path88"
-   inkscape:connector-curvature="0"
-   style="fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25" />
-			<text
-   x="12.4"
-   y="594.5"
-   class="st4"
-   v:langID="1033"
-   id="text90"
-   style="fill:#feffff;font-family:Calibri"><v:paragraph
-   v:horizAlign="1" /><v:tabList />W ..</text>
-
-		</g>
-		<g
-   id="shape9-40"
-   v:mID="9"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,220.95621,-243.34865)">
-			<title
-   id="title93">Circle.9</title>
-			<desc
-   id="desc95">W N</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="20.5"
-   cy="591.5"
-   width="35.88"
-   height="30.75" />
-			<g
-   id="shadow9-41"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st2"
-   id="path98"
-   inkscape:connector-curvature="0"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
+	<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+		<title>Page-1</title>
+		<v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+		<v:layer v:name="Connector" v:index="0"/>
+		<g id="group1068-1" transform="translate(0.75,-0.25)" v:mID="1068" v:groupContext="group">
+			<title>Sheet.1068</title>
+			<g id="shape3-2" v:mID="3" v:groupContext="shape" transform="translate(63,184.827) rotate(180)">
+				<title>Simple Arrow</title>
+				<desc>In Intf</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+					<v:ud v:nameU="ArrowType" v:prompt="" v:val="VT0(2):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="31.5" cy="132.913" width="63.01" height="0" transform="rotate(180)"/>
+				<path d="M0 132.91 L12 120.92 L12 126.92 L63 126.92 L63 132.91 L63 138.91 L12 138.91 L12 144.91 L0 132.91 Z"
+						class="st1"/>
+				<text x="-43.6" y="-129.91" transform="rotate(180)" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>In Intf</text>			</g>
+			<g id="group1010-5" transform="translate(130.5,-73.3167)" v:mID="1010" v:groupContext="group">
+				<title>Sheet.1010</title>
+				<g id="group1000-6" transform="translate(-2.19824E-14,-0.0534178)" v:mID="1000" v:groupContext="group">
+					<title>Sheet.1000</title>
+					<g id="shape1001-7" v:mID="1001" v:groupContext="shape" transform="translate(0,-4.86)">
+						<title>Rectangle.38</title>
+						<v:userDefs>
+							<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+						</v:userDefs>
+						<rect x="0" y="123.913" width="22.3966" height="8.99999" class="st3"/>
+					</g>
+					<g id="shape1002-9" v:mID="1002" v:groupContext="shape" v:layerMember="0" transform="translate(2.19832,-18.18)">
+						<title>Dynamic connector.162</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1003-12" v:mID="1003" v:groupContext="shape" v:layerMember="0"
+							transform="translate(7.79747,-18.18)">
+						<title>Dynamic connector.163</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1004-15" v:mID="1004" v:groupContext="shape" v:layerMember="0" transform="translate(-3.40084,-18)">
+						<title>Dynamic connector.164</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+				</g>
+				<g id="group1005-18" transform="translate(22.6034,0)" v:mID="1005" v:groupContext="group">
+					<title>Sheet.1005</title>
+					<g id="shape1006-19" v:mID="1006" v:groupContext="shape" transform="translate(0,-4.86)">
+						<title>Rectangle.38</title>
+						<v:userDefs>
+							<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+						</v:userDefs>
+						<rect x="0" y="123.913" width="22.3966" height="8.99999" class="st3"/>
+					</g>
+					<g id="shape1007-21" v:mID="1007" v:groupContext="shape" v:layerMember="0"
+							transform="translate(2.19832,-18.18)">
+						<title>Dynamic connector.162</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1008-24" v:mID="1008" v:groupContext="shape" v:layerMember="0"
+							transform="translate(7.79747,-18.18)">
+						<title>Dynamic connector.163</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1009-27" v:mID="1009" v:groupContext="shape" v:layerMember="0" transform="translate(-3.40084,-18)">
+						<title>Dynamic connector.164</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+				</g>
 			</g>
-			<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st6"
-   id="path100"
-   inkscape:connector-curvature="0"
-   style="fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25" />
-			<text
-   x="11.69"
-   y="594.5"
-   class="st4"
-   v:langID="1033"
-   id="text102"
-   style="fill:#feffff;font-family:Calibri"><v:paragraph
-   v:horizAlign="1" /><v:tabList />W N</text>
-
-		</g>
-		<g
-   id="shape10-46"
-   v:mID="10"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,220.95621,-348.94537)">
-			<title
-   id="title105">Circle.10</title>
-			<desc
-   id="desc107">W 1</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="20.5"
-   cy="591.5"
-   width="35.88"
-   height="30.75" />
-			<g
-   id="shadow10-47"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st2"
-   id="path110"
-   inkscape:connector-curvature="0"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
+			<g id="group1016-30" transform="translate(301.5,-73.3167)" v:mID="1016" v:groupContext="group">
+				<title>Sheet.1016</title>
+				<g id="group1017-31" transform="translate(-2.19824E-14,-0.0534178)" v:mID="1017" v:groupContext="group">
+					<title>Sheet.1017</title>
+					<g id="shape1018-32" v:mID="1018" v:groupContext="shape" transform="translate(0,-4.86)">
+						<title>Rectangle.38</title>
+						<v:userDefs>
+							<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+						</v:userDefs>
+						<rect x="0" y="123.913" width="22.3966" height="8.99999" class="st3"/>
+					</g>
+					<g id="shape1019-34" v:mID="1019" v:groupContext="shape" v:layerMember="0"
+							transform="translate(2.19832,-18.18)">
+						<title>Dynamic connector.162</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1020-37" v:mID="1020" v:groupContext="shape" v:layerMember="0"
+							transform="translate(7.79747,-18.18)">
+						<title>Dynamic connector.163</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1021-40" v:mID="1021" v:groupContext="shape" v:layerMember="0" transform="translate(-3.40084,-18)">
+						<title>Dynamic connector.164</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+				</g>
+				<g id="group1022-43" transform="translate(22.6034,0)" v:mID="1022" v:groupContext="group">
+					<title>Sheet.1022</title>
+					<g id="shape1023-44" v:mID="1023" v:groupContext="shape" transform="translate(0,-4.86)">
+						<title>Rectangle.38</title>
+						<v:userDefs>
+							<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+						</v:userDefs>
+						<rect x="0" y="123.913" width="22.3966" height="8.99999" class="st3"/>
+					</g>
+					<g id="shape1024-46" v:mID="1024" v:groupContext="shape" v:layerMember="0"
+							transform="translate(2.19832,-18.18)">
+						<title>Dynamic connector.162</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1025-49" v:mID="1025" v:groupContext="shape" v:layerMember="0"
+							transform="translate(7.79747,-18.18)">
+						<title>Dynamic connector.163</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1026-52" v:mID="1026" v:groupContext="shape" v:layerMember="0" transform="translate(-3.40084,-18)">
+						<title>Dynamic connector.164</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+				</g>
 			</g>
-			<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st6"
-   id="path112"
-   inkscape:connector-curvature="0"
-   style="fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25" />
-			<text
-   x="12.39"
-   y="594.5"
-   class="st4"
-   v:langID="1033"
-   id="text114"
-   style="fill:#feffff;font-family:Calibri"><v:paragraph
-   v:horizAlign="1" /><v:tabList />W 1</text>
-
-		</g>
-		<g
-   id="shape11-52"
-   v:mID="11"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,195.91581,-312.06416)">
-			<title
-   id="title117">Dynamic connector.11</title>
-			<path
-   d="m 0,612 0,-68 25.21,0"
-   class="st7"
-   id="path119"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape12-57"
-   v:mID="12"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,176.37498,-305.07614)">
-			<title
-   id="title122">Dynamic connector.12</title>
-			<path
-   d="m 0,603 50.38,0"
-   class="st7"
-   id="path124"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape13-62"
-   v:mID="13"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,176.37498,-312.06416)">
-			<title
-   id="title127">Dynamic connector.13</title>
-			<path
-   d="m 0,612 25.17,0 0,68 25.21,0"
-   class="st7"
-   id="path129"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape14-67"
-   v:mID="14"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,252.79052,-259.2658)">
-			<title
-   id="title132">Dynamic connector.14</title>
-			<path
-   d="m 0,612 26.88,0 0,-68 23.5,0"
-   class="st7"
-   id="path134"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape15-72"
-   v:mID="15"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,252.79052,-305.07614)">
-			<title
-   id="title137">Dynamic connector.15</title>
-			<path
-   d="m 0,603 50.38,0"
-   class="st7"
-   id="path139"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape19-77"
-   v:mID="19"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,389.70366,-296.14701)">
-			<title
-   id="title142">Circle.19</title>
-			<desc
-   id="desc144">W ..</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="20.5"
-   cy="591.5"
-   width="35.88"
-   height="30.75" />
-			<g
-   id="shadow19-78"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st2"
-   id="path147"
-   inkscape:connector-curvature="0"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
+			<g id="group1032-55" transform="translate(468,-73.2)" v:mID="1032" v:groupContext="group">
+				<title>Sheet.1032</title>
+				<g id="group1033-56" transform="translate(-2.19824E-14,-0.0534178)" v:mID="1033" v:groupContext="group">
+					<title>Sheet.1033</title>
+					<g id="shape1034-57" v:mID="1034" v:groupContext="shape" transform="translate(0,-4.86)">
+						<title>Rectangle.38</title>
+						<v:userDefs>
+							<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+						</v:userDefs>
+						<rect x="0" y="123.913" width="22.3966" height="8.99999" class="st3"/>
+					</g>
+					<g id="shape1035-59" v:mID="1035" v:groupContext="shape" v:layerMember="0"
+							transform="translate(2.19832,-18.18)">
+						<title>Dynamic connector.162</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1036-62" v:mID="1036" v:groupContext="shape" v:layerMember="0"
+							transform="translate(7.79747,-18.18)">
+						<title>Dynamic connector.163</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1037-65" v:mID="1037" v:groupContext="shape" v:layerMember="0" transform="translate(-3.40084,-18)">
+						<title>Dynamic connector.164</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+				</g>
+				<g id="group1038-68" transform="translate(22.6034,0)" v:mID="1038" v:groupContext="group">
+					<title>Sheet.1038</title>
+					<g id="shape1039-69" v:mID="1039" v:groupContext="shape" transform="translate(0,-4.86)">
+						<title>Rectangle.38</title>
+						<v:userDefs>
+							<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+						</v:userDefs>
+						<rect x="0" y="123.913" width="22.3966" height="8.99999" class="st3"/>
+					</g>
+					<g id="shape1040-71" v:mID="1040" v:groupContext="shape" v:layerMember="0"
+							transform="translate(2.19832,-18.18)">
+						<title>Dynamic connector.162</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1041-74" v:mID="1041" v:groupContext="shape" v:layerMember="0"
+							transform="translate(7.79747,-18.18)">
+						<title>Dynamic connector.163</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+					<g id="shape1042-77" v:mID="1042" v:groupContext="shape" v:layerMember="0" transform="translate(-3.40084,-18)">
+						<title>Dynamic connector.164</title>
+						<path d="M9 137.41 L9 146.41" class="st4"/>
+					</g>
+				</g>
 			</g>
-			<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st6"
-   id="path149"
-   inkscape:connector-curvature="0"
-   style="fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25" />
-			<text
-   x="12.4"
-   y="594.5"
-   class="st4"
-   v:langID="1033"
-   id="text151"
-   style="fill:#feffff;font-family:Calibri"><v:paragraph
-   v:horizAlign="1" /><v:tabList />W ..</text>
-
-		</g>
-		<g
-   id="shape20-83"
-   v:mID="20"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,389.70366,-243.34865)">
-			<title
-   id="title154">Circle.20</title>
-			<desc
-   id="desc156">W N</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="20.5"
-   cy="591.5"
-   width="35.88"
-   height="30.75" />
-			<g
-   id="shadow20-84"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st2"
-   id="path159"
-   inkscape:connector-curvature="0"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
+			<g id="shape1044-80" v:mID="1044" v:groupContext="shape" transform="translate(651.291,179.381) rotate(179.228)">
+				<title>Simple Arrow.1044</title>
+				<desc>Out Intf</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+					<v:ud v:nameU="ArrowType" v:prompt="" v:val="VT0(2):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="30.3028" cy="132.913" width="60.61" height="0" transform="rotate(180)"/>
+				<path d="M0 132.91 L12 120.92 L12 126.92 L60.61 126.92 L60.61 132.91 L60.61 138.91 L12 138.91 L12 144.91 L0 132.91
+							 Z" class="st1"/>
+				<text x="-46.13" y="-129.91" transform="rotate(180)" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Out Intf</text>			</g>
+			<g id="shape1045-83" v:mID="1045" v:groupContext="shape" transform="translate(67.8,-50.9334)">
+				<title>Rounded Rectangle.1045</title>
+				<desc>RX Core</desc>
+				<v:userDefs>
+					<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+					<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+					<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+					<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+					<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+					<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+					<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+					<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.0703125):1"/>
+					<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.0703125):1"/>
+					<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.0703125):1"/>
+					<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.0703125):1"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="25.3125" cy="101.413" width="50.63" height="63"/>
+				<path d="M5.06 132.91 L45.56 132.91 A5.06242 5.06242 -180 0 0 50.62 127.85 L50.62 74.98 A5.06242 5.06242 -180 0 0
+							 45.56 69.91 L5.06 69.91 A5.06242 5.06242 -180 0 0 0 74.98 L0 127.85 A5.06242 5.06242 -180 0 0 5.06 132.91
+							 Z" class="st5"/>
+				<text x="17.88" y="88.81" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>RX<v:newlineChar/><v:newlineChar/><tspan
+							x="11.97" dy="2.4em" class="st7">Core</tspan></text>			</g>
+			<g id="shape1056-87" v:mID="1056" v:groupContext="shape" transform="translate(532.5,-54)">
+				<title>Rounded Rectangle.1056</title>
+				<desc>TX Core</desc>
+				<v:userDefs>
+					<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+					<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+					<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+					<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+					<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+					<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+					<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+					<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+					<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.0703125):1"/>
+					<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.0703125):1"/>
+					<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.0703125):1"/>
+					<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.0703125):1"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="25.3125" cy="101.413" width="50.63" height="63"/>
+				<path d="M5.06 132.91 L45.56 132.91 A5.06242 5.06242 -180 0 0 50.62 127.85 L50.62 74.98 A5.06242 5.06242 -180 0 0
+							 45.56 69.91 L5.06 69.91 A5.06242 5.06242 -180 0 0 0 74.98 L0 127.85 A5.06242 5.06242 -180 0 0 5.06 132.91
+							 Z" class="st5"/>
+				<text x="18.27" y="88.81" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>TX<v:newlineChar/><v:newlineChar/><tspan
+							x="11.97" dy="2.4em" class="st7">Core</tspan></text>			</g>
+			<g id="shape1057-91" v:mID="1057" v:groupContext="shape" transform="translate(123.188,-59.0334)">
+				<title>Rectangle.1057</title>
+				<desc>Atomic Q 1</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="29.8125" cy="123.797" width="59.63" height="18.2334"/>
+				<rect x="0" y="114.68" width="59.625" height="18.2334" class="st8"/>
+				<text x="7.19" y="126.8" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Atomic Q 1</text>			</g>
+			<g id="shape1058-94" v:mID="1058" v:groupContext="shape" transform="translate(295.5,-59.4)">
+				<title>Rectangle.1058</title>
+				<desc>Atomic Q 2</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="29.8125" cy="123.797" width="59.63" height="18.2334"/>
+				<rect x="0" y="114.68" width="59.625" height="18.2334" class="st8"/>
+				<text x="7.19" y="126.8" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Atomic Q 2</text>			</g>
+			<g id="shape1059-97" v:mID="1059" v:groupContext="shape" transform="translate(460.687,-58.3167)">
+				<title>Rectangle.1059</title>
+				<desc>Single Link</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="29.8125" cy="123.797" width="59.63" height="18.2334"/>
+				<rect x="0" y="114.68" width="59.625" height="18.2334" class="st8"/>
+				<text x="8.47" y="126.8" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Single Link</text>			</g>
+			<g id="shape1060-100" v:mID="1060" v:groupContext="shape" transform="translate(198,-1.2)">
+				<title>Rectangle.1060</title>
+				<desc>Stage 1</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="29.8125" cy="123.797" width="59.63" height="18.2334"/>
+				<rect x="0" y="114.68" width="59.625" height="18.2334" class="st8"/>
+				<text x="14.94" y="126.8" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Stage 1</text>			</g>
+			<g id="shape1061-103" v:mID="1061" v:groupContext="shape" transform="translate(366.188,0)">
+				<title>Rectangle.1061</title>
+				<desc>Stage 2</desc>
+				<v:userDefs>
+					<v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+				</v:userDefs>
+				<v:textBlock v:margins="rect(4,4,4,4)"/>
+				<v:textRect cx="29.8125" cy="123.797" width="59.63" height="18.2334"/>
+				<rect x="0" y="114.68" width="59.625" height="18.2334" class="st8"/>
+				<text x="14.94" y="126.8" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Stage 2</text>			</g>
+			<g id="group1062-106" transform="translate(199.2,-18.7134)" v:mID="1062" v:groupContext="group">
+				<title>Sheet.1062</title>
+				<g id="shape1052-107" v:mID="1052" v:groupContext="shape" transform="translate(18.66,-50.7)">
+					<title>Rounded Rectangle.1049</title>
+					<desc>Worker4 Core</desc>
+					<v:userDefs>
+						<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.097416666666665):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.097416666666665):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.097416666666665):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.097416666666665):1"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+					<v:textRect cx="35.07" cy="101.413" width="70.14" height="63"/>
+					<path d="M7.01 132.91 L63.13 132.91 A7.01389 7.01389 -180 0 0 70.14 125.9 L70.14 76.93 A7.01389 7.01389 -180
+								 0 0 63.13 69.91 L7.01 69.91 A7.01389 7.01389 -180 0 0 0 76.93 L0 125.9 A7.01389 7.01389 -180 0 0
+								 7.01 132.91 Z" class="st5"/>
+					<text x="13.63" y="84.71" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Worker4<v:newlineChar/><v:newlineChar/><tspan
+								x="21.72" dy="2.357em" class="st11">Core</tspan></text>				</g>
+				<g id="shape1053-111" v:mID="1053" v:groupContext="shape" transform="translate(12.9,-33.6)">
+					<title>Rounded Rectangle.1048</title>
+					<desc>Worker3 Core</desc>
+					<v:userDefs>
+						<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.099166666666667):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.099166666666667):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.099166666666667):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.099166666666667):1"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+					<v:textRect cx="35.7" cy="101.413" width="71.4" height="63"/>
+					<path d="M7.14 132.91 L64.26 132.91 A7.13988 7.13988 -180 0 0 71.4 125.77 L71.4 77.05 A7.13988 7.13988 -180 0
+								 0 64.26 69.91 L7.14 69.91 A7.13988 7.13988 -180 0 0 0 77.05 L0 125.77 A7.13988 7.13988 -180 0 0
+								 7.14 132.91 Z" class="st5"/>
+					<text x="14.26" y="84.71" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Worker3<v:newlineChar/><v:newlineChar/><tspan
+								x="22.35" dy="2.357em" class="st11">Core</tspan></text>				</g>
+				<g id="shape1054-115" v:mID="1054" v:groupContext="shape" transform="translate(5.89875,-16.8)">
+					<title>Rounded Rectangle.1047</title>
+					<desc>Worker2 Core</desc>
+					<v:userDefs>
+						<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.097953125):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.097953125):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.097953125):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.097953125):1"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+					<v:textRect cx="35.2631" cy="101.413" width="70.53" height="63"/>
+					<path d="M7.05 132.91 L63.47 132.91 A7.05251 7.05251 -180 0 0 70.53 125.86 L70.53 76.97 A7.05251 7.05251 -180
+								 0 0 63.47 69.91 L7.05 69.91 A7.05251 7.05251 -180 0 0 0 76.97 L0 125.86 A7.05251 7.05251 -180 0
+								 0 7.05 132.91 Z" class="st5"/>
+					<text x="13.82" y="84.71" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Worker2<v:newlineChar/><v:newlineChar/><tspan
+								x="21.92" dy="2.357em" class="st11">Core</tspan></text>				</g>
+				<g id="shape1055-119" v:mID="1055" v:groupContext="shape">
+					<title>Rounded Rectangle.1046</title>
+					<desc>Worker1 Core</desc>
+					<v:userDefs>
+						<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.098333333333333):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.098333333333333):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.098333333333333):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.098333333333333):1"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+					<v:textRect cx="35.4" cy="101.413" width="70.8" height="63"/>
+					<path d="M7.08 132.91 L63.72 132.91 A7.07988 7.07988 -180 0 0 70.8 125.83 L70.8 76.99 A7.07988 7.07988 -180 0
+								 0 63.72 69.91 L7.08 69.91 A7.07988 7.07988 -180 0 0 0 76.99 L0 125.83 A7.07988 7.07988 -180 0 0
+								 7.08 132.91 Z" class="st5"/>
+					<text x="13.96" y="84.71" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Worker1<v:newlineChar/><v:newlineChar/><tspan
+								x="22.05" dy="2.357em" class="st11">Core</tspan></text>				</g>
 			</g>
-			<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st6"
-   id="path161"
-   inkscape:connector-curvature="0"
-   style="fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25" />
-			<text
-   x="11.69"
-   y="594.5"
-   class="st4"
-   v:langID="1033"
-   id="text163"
-   style="fill:#feffff;font-family:Calibri"><v:paragraph
-   v:horizAlign="1" /><v:tabList />W N</text>
-
-		</g>
-		<g
-   id="shape21-89"
-   v:mID="21"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,389.70366,-348.94537)">
-			<title
-   id="title166">Circle.21</title>
-			<desc
-   id="desc168">W 1</desc>
-			<v:userDefs>
-				<v:ud
-   v:nameU="visVersion"
-   v:val="VT0(15):26" />
-			</v:userDefs>
-			<v:textBlock
-   v:margins="rect(4,4,4,4)" />
-			<v:textRect
-   cx="20.5"
-   cy="591.5"
-   width="35.88"
-   height="30.75" />
-			<g
-   id="shadow21-90"
-   v:groupContext="shadow"
-   v:shadowOffsetX="0.345598"
-   v:shadowOffsetY="-1.97279"
-   v:shadowType="1"
-   transform="translate(0.345598,1.97279)"
-   class="st1"
-   style="visibility:visible">
-				<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st2"
-   id="path171"
-   inkscape:connector-curvature="0"
-   style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2)" />
+			<g id="group1063-123" transform="translate(369.6,-18.6)" v:mID="1063" v:groupContext="group">
+				<title>Sheet.1063</title>
+				<g id="shape1064-124" v:mID="1064" v:groupContext="shape" transform="translate(18.66,-50.7)">
+					<title>Rounded Rectangle.1049</title>
+					<desc>Worker4 Core</desc>
+					<v:userDefs>
+						<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.097416666666665):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.097416666666665):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.097416666666665):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.097416666666665):1"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+					<v:textRect cx="35.07" cy="101.413" width="70.14" height="63"/>
+					<path d="M7.01 132.91 L63.13 132.91 A7.01389 7.01389 -180 0 0 70.14 125.9 L70.14 76.93 A7.01389 7.01389 -180
+								 0 0 63.13 69.91 L7.01 69.91 A7.01389 7.01389 -180 0 0 0 76.93 L0 125.9 A7.01389 7.01389 -180 0 0
+								 7.01 132.91 Z" class="st5"/>
+					<text x="13.63" y="84.71" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Worker4<v:newlineChar/><v:newlineChar/><tspan
+								x="21.72" dy="2.357em" class="st11">Core</tspan></text>				</g>
+				<g id="shape1065-128" v:mID="1065" v:groupContext="shape" transform="translate(12.9,-33.6)">
+					<title>Rounded Rectangle.1048</title>
+					<desc>Worker3 Core</desc>
+					<v:userDefs>
+						<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.099166666666667):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.099166666666667):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.099166666666667):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.099166666666667):1"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+					<v:textRect cx="35.7" cy="101.413" width="71.4" height="63"/>
+					<path d="M7.14 132.91 L64.26 132.91 A7.13988 7.13988 -180 0 0 71.4 125.77 L71.4 77.05 A7.13988 7.13988 -180 0
+								 0 64.26 69.91 L7.14 69.91 A7.13988 7.13988 -180 0 0 0 77.05 L0 125.77 A7.13988 7.13988 -180 0 0
+								 7.14 132.91 Z" class="st5"/>
+					<text x="14.26" y="84.71" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Worker3<v:newlineChar/><v:newlineChar/><tspan
+								x="22.35" dy="2.357em" class="st11">Core</tspan></text>				</g>
+				<g id="shape1066-132" v:mID="1066" v:groupContext="shape" transform="translate(5.89875,-16.8)">
+					<title>Rounded Rectangle.1047</title>
+					<desc>Worker2 Core</desc>
+					<v:userDefs>
+						<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.097953125):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.097953125):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.097953125):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.097953125):1"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+					<v:textRect cx="35.2631" cy="101.413" width="70.53" height="63"/>
+					<path d="M7.05 132.91 L63.47 132.91 A7.05251 7.05251 -180 0 0 70.53 125.86 L70.53 76.97 A7.05251 7.05251 -180
+								 0 0 63.47 69.91 L7.05 69.91 A7.05251 7.05251 -180 0 0 0 76.97 L0 125.86 A7.05251 7.05251 -180 0
+								 0 7.05 132.91 Z" class="st5"/>
+					<text x="13.82" y="84.71" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Worker2<v:newlineChar/><v:newlineChar/><tspan
+								x="21.92" dy="2.357em" class="st11">Core</tspan></text>				</g>
+				<g id="shape1067-136" v:mID="1067" v:groupContext="shape">
+					<title>Rounded Rectangle.1046</title>
+					<desc>Worker1 Core</desc>
+					<v:userDefs>
+						<v:ud v:nameU="CTypeTopLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeTopRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotLeftSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CTypeBotRightSnip" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="CornerLockHoriz" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockVert" v:prompt="" v:val="VT0(1):5"/>
+						<v:ud v:nameU="CornerLockDiag" v:prompt="" v:val="VT0(0):5"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.15):1"/>
+						<v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/>
+						<v:ud v:nameU="TopLeftOffset" v:prompt="" v:val="VT0(0.098333333333333):1"/>
+						<v:ud v:nameU="TopRightOffset" v:prompt="" v:val="VT0(0.098333333333333):1"/>
+						<v:ud v:nameU="BotLeftOffset" v:prompt="" v:val="VT0(0.098333333333333):1"/>
+						<v:ud v:nameU="BotRightOffset" v:prompt="" v:val="VT0(0.098333333333333):1"/>
+					</v:userDefs>
+					<v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/>
+					<v:textRect cx="35.4" cy="101.413" width="70.8" height="63"/>
+					<path d="M7.08 132.91 L63.72 132.91 A7.07988 7.07988 -180 0 0 70.8 125.83 L70.8 76.99 A7.07988 7.07988 -180 0
+								 0 63.72 69.91 L7.08 69.91 A7.07988 7.07988 -180 0 0 0 76.99 L0 125.83 A7.07988 7.07988 -180 0 0
+								 7.08 132.91 Z" class="st5"/>
+					<text x="13.96" y="84.71" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Worker1<v:newlineChar/><v:newlineChar/><tspan
+								x="22.05" dy="2.357em" class="st11">Core</tspan></text>				</g>
 			</g>
-			<path
-   d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-   class="st6"
-   id="path173"
-   inkscape:connector-curvature="0"
-   style="fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25" />
-			<text
-   x="12.39"
-   y="594.5"
-   class="st4"
-   v:langID="1033"
-   id="text175"
-   style="fill:#feffff;font-family:Calibri"><v:paragraph
-   v:horizAlign="1" /><v:tabList />W 1</text>
-
-		</g>
-		<g
-   id="shape28-95"
-   v:mID="28"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,345.12321,-305.07614)">
-			<title
-   id="title178">Dynamic connector.28</title>
-			<path
-   d="m 0,603 50.38,0"
-   class="st7"
-   id="path180"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape29-100"
-   v:mID="29"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,345.12321,-312.06416)">
-			<title
-   id="title183">Dynamic connector.29</title>
-			<path
-   d="m 0,612 28.33,0 0,-68 22.05,0"
-   class="st7"
-   id="path185"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape30-105"
-   v:mID="30"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,345.12321,-312.06416)">
-			<title
-   id="title188">Dynamic connector.30</title>
-			<path
-   d="m 0,612 28.33,0 0,68 22.05,0"
-   class="st7"
-   id="path190"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape31-110"
-   v:mID="31"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,421.53797,-259.2658)">
-			<title
-   id="title193">Dynamic connector.31</title>
-			<path
-   d="m 0,612 24.42,0 0,-68 25.96,0"
-   class="st7"
-   id="path195"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape32-115"
-   v:mID="32"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,421.53797,-305.07614)">
-			<title
-   id="title198">Dynamic connector.32</title>
-			<path
-   d="m 0,603 50.38,0"
-   class="st7"
-   id="path200"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape33-120"
-   v:mID="33"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,421.53797,-364.86253)">
-			<title
-   id="title203">Dynamic connector.33</title>
-			<path
-   d="m 0,612 24.42,0 0,68 25.96,0"
-   class="st7"
-   id="path205"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
-		</g>
-		<g
-   id="shape34-125"
-   v:mID="34"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,252.79052,-364.86253)">
-			<title
-   id="title208">Dynamic connector.34</title>
-			<path
-   d="m 0,612 26.88,0 0,68 23.5,0"
-   class="st7"
-   id="path210"
-   inkscape:connector-curvature="0"
-   style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" />
 		</g>
-	<text
-   xml:space="preserve"
-   style="font-size:24.84628868px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-   x="153.38116"
-   y="165.90149"
-   id="text3106"
-   sodipodi:linespacing="125%"><tspan
-     sodipodi:role="line"
-     x="153.38116"
-     y="165.90149"
-     id="tspan3110"
-     style="font-size:8.69620132px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Sans;-inkscape-font-specification:Sans">Atomic #1</tspan></text>
-<text
-   xml:space="preserve"
-   style="font-size:24.84628868px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;overflow:visible;font-family:Sans"
-   x="322.12939"
-   y="165.90149"
-   id="text3106-1"
-   sodipodi:linespacing="125%"><tspan
-     sodipodi:role="line"
-     x="322.12939"
-     y="165.90149"
-     id="tspan3110-4"
-     style="font-size:8.69620132px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Sans;-inkscape-font-specification:Sans">Atomic #2</tspan></text>
-<text
-   xml:space="preserve"
-   style="font-size:24.84628868px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;overflow:visible;font-family:Sans"
-   x="491.82089"
-   y="172.79289"
-   id="text3106-0"
-   sodipodi:linespacing="125%"><tspan
-     sodipodi:role="line"
-     x="491.82089"
-     y="172.79289"
-     style="font-size:8.69620132px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Sans;-inkscape-font-specification:Sans"
-     id="tspan3923" /></text>
-<text
-   xml:space="preserve"
-   style="font-size:24.84628868px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;overflow:visible;font-family:Sans"
-   x="491.02899"
-   y="165.03951"
-   id="text3106-8-5"
-   sodipodi:linespacing="125%"><tspan
-     sodipodi:role="line"
-     x="491.02899"
-     y="165.03951"
-     id="tspan3110-2-1"
-     style="font-size:8.69620132px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;font-family:Sans;-inkscape-font-specification:Sans">Single Link</tspan></text>
-<g
-   style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"
-   id="shape5-22-1"
-   v:mID="5"
-   v:groupContext="shape"
-   transform="matrix(0.77644652,0,0,0.77644652,556.00223,-296.89447)"><title
-     id="title64-5">Circle</title><desc
-     id="desc66-2">RX</desc><v:userDefs><v:ud
-       v:nameU="visVersion"
-       v:val="VT0(15):26" /></v:userDefs><v:textBlock
-     v:margins="rect(4,4,4,4)" /><v:textRect
-     cx="20.5"
-     cy="591.5"
-     width="35.88"
-     height="30.75" /><g
-     id="shadow5-23-7"
-     v:groupContext="shadow"
-     v:shadowOffsetX="0.345598"
-     v:shadowOffsetY="-1.97279"
-     v:shadowType="1"
-     transform="translate(0.345598,1.97279)"
-     class="st1"
-     style="visibility:visible"><path
-       d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-       class="st2"
-       id="path69-6"
-       inkscape:connector-curvature="0"
-       style="fill:#5b9bd5;fill-opacity:0.22000002;stroke:#5b9bd5;stroke-opacity:0.22000002;filter:url(#filter_2-7)" /></g><path
-     d="m 0,591.5 a 20.5,20.5 0 0 1 41,0 20.5,20.5 0 1 1 -41,0 z"
-     class="st6"
-     id="path71-1"
-     inkscape:connector-curvature="0"
-     style="fill:#ffd965;stroke:#c7c8c8;stroke-width:0.25" /><text
-     x="11.06866"
-     y="596.56067"
-     class="st4"
-     v:langID="1033"
-     id="text73-4"
-     style="fill:#feffff;font-family:Calibri"> TX</text>
-</g><g
-   style="font-size:12px;fill:none;stroke-linecap:square;stroke-miterlimit:3;overflow:visible"
-   id="shape28-95-5"
-   v:mID="28"
-   v:groupContext="shape"
-   v:layerMember="0"
-   transform="matrix(0.77644652,0,0,0.77644652,512.00213,-305.42637)"><title
-     id="title178-7">Dynamic connector.28</title><path
-     d="m 0,603 50.38,0"
-     class="st7"
-     id="path180-6"
-     inkscape:connector-curvature="0"
-     style="stroke:#5b9bd5;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#mrkr4-33)" /></g></g>
+	</g>
 </svg>