diff --git a/Makefile b/Makefile
index 0f098124ac1df0568879d74472b1590b410d2249..7997d24a98347c44c9305f207c52919c66dac901 100755
--- a/Makefile
+++ b/Makefile
@@ -415,6 +415,7 @@ $(BASERELEASE:.tgz=.tar): $(JTTOOL_BINARY) $(TTOOL_BINARY) $(LAUNCHER_BINARY) $(
 	@cp  $(TTOOL_SIMULATORS)/c++2/Makefile.defs $(TTOOL_TARGET)/simulators/c++2
 	@cp  $(TTOOL_SIMULATORS)/c++2/src_simulator/*.cpp $(TTOOL_TARGET)/simulators/c++2/src_simulator
 	@cp  $(TTOOL_SIMULATORS)/c++2/src_simulator/*.h $(TTOOL_TARGET)/simulators/c++2/src_simulator
+	@cp  $(TTOOL_SIMULATORS)/c++2/src_simulator/*.js $(TTOOL_TARGET)/simulators/c++2/src_simulator
 	@cp  $(TTOOL_SIMULATORS)/c++2/src_simulator/app/*.cpp $(TTOOL_TARGET)/simulators/c++2/src_simulator/app
 	@cp  $(TTOOL_SIMULATORS)/c++2/src_simulator/app/*.h $(TTOOL_TARGET)/simulators/c++2/src_simulator/app
 	@cp  $(TTOOL_SIMULATORS)/c++2/src_simulator/arch/*.cpp $(TTOOL_TARGET)/simulators/c++2/src_simulator/arch
diff --git a/build.txt b/build.txt
index 56a41667cb3c7b347ceb7be8d39bc2f57fe430dc..345e91993cdb77f5dd5ec778a3b20740fb03af9b 100644
--- a/build.txt
+++ b/build.txt
@@ -1 +1 @@
-13181
\ No newline at end of file
+13187
\ No newline at end of file
diff --git a/modeling/AVATAR/PressureController.xml b/modeling/AVATAR/PressureController.xml
index 5d3a53f5922cb5b517705766d3a452ac3d12e7e1..d986037f5a97f207e1aed7e1a9cb3b43a8061041 100644
--- a/modeling/AVATAR/PressureController.xml
+++ b/modeling/AVATAR/PressureController.xml
@@ -2270,8 +2270,8 @@
 <P1  x="823" y="670" id="1580" />
 <P2  x="612" y="188" id="1435" />
 <Point x="823" y="697" />
-<Point x="975" y="697" />
-<Point x="974" y="188" />
+<Point x="909" y="697" />
+<Point x="908" y="188" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1375" >
 <father id="1378" num="0" />
@@ -2283,7 +2283,7 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="-1" id="1376" >
 <father id="1378" num="1" />
-<cdparam x="975" y="697" />
+<cdparam x="909" y="697" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2291,7 +2291,7 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="-1" id="1377" >
 <father id="1378" num="2" />
-<cdparam x="974" y="188" />
+<cdparam x="908" y="188" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2466,18 +2466,18 @@
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="5500" id="1402" >
-<cdparam x="232" y="424" />
+<cdparam x="267" y="409" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="232" y="424" id="1549" />
-<P2  x="177" y="257" id="1617" />
-<Point x="232" y="460" />
-<Point x="289" y="460" />
-<Point x="289" y="257" />
+<P1  x="267" y="409" id="1549" />
+<P2  x="212" y="242" id="1617" />
+<Point x="267" y="445" />
+<Point x="324" y="445" />
+<Point x="324" y="242" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1399" >
 <father id="1402" num="0" />
-<cdparam x="232" y="460" />
+<cdparam x="267" y="445" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2485,7 +2485,7 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="-1" id="1400" >
 <father id="1402" num="1" />
-<cdparam x="289" y="460" />
+<cdparam x="324" y="445" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2493,7 +2493,7 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="-1" id="1401" >
 <father id="1402" num="2" />
-<cdparam x="289" y="257" />
+<cdparam x="324" y="242" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2501,11 +2501,11 @@
 </SUBCOMPONENT>
 
 <CONNECTOR type="5500" id="1403" >
-<cdparam x="202" y="375" />
+<cdparam x="237" y="360" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="202" y="375" id="1571" />
-<P2  x="232" y="394" id="1548" />
+<P1  x="237" y="360" id="1571" />
+<P2  x="267" y="379" id="1548" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="5500" id="1404" >
@@ -2513,21 +2513,21 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
 <P1  x="452" y="149" id="1556" />
-<P2  x="162" y="242" id="1615" />
+<P2  x="197" y="227" id="1615" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="5500" id="1407" >
-<cdparam x="122" y="375" />
+<cdparam x="157" y="360" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="122" y="375" id="1570" />
-<P2  x="147" y="257" id="1616" />
-<Point x="44" y="375" />
-<Point x="44" y="257" />
+<P1  x="157" y="360" id="1570" />
+<P2  x="182" y="242" id="1616" />
+<Point x="120" y="360" />
+<Point x="120" y="242" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1405" >
 <father id="1407" num="0" />
-<cdparam x="44" y="375" />
+<cdparam x="120" y="360" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2535,7 +2535,7 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="-1" id="1406" >
 <father id="1407" num="1" />
-<cdparam x="44" y="257" />
+<cdparam x="120" y="242" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2543,19 +2543,19 @@
 </SUBCOMPONENT>
 
 <CONNECTOR type="5500" id="1408" >
-<cdparam x="162" y="322" />
+<cdparam x="197" y="307" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="162" y="322" id="1639" />
-<P2  x="162" y="350" id="1569" />
+<P1  x="197" y="307" id="1639" />
+<P2  x="197" y="335" id="1569" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="5500" id="1409" >
-<cdparam x="162" y="272" />
+<cdparam x="197" y="257" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="162" y="272" id="1618" />
-<P2  x="162" y="292" id="1638" />
+<P1  x="197" y="257" id="1618" />
+<P2  x="197" y="277" id="1638" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="5504" id="1432" >
@@ -2816,7 +2816,7 @@
 </COMPONENT>
 
 <COMPONENT type="5509" id="1550" >
-<cdparam x="212" y="399" />
+<cdparam x="247" y="384" />
 <sizeparam width="40" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
@@ -2850,7 +2850,7 @@
 </COMPONENT>
 
 <COMPONENT type="5503" id="1573" >
-<cdparam x="147" y="360" />
+<cdparam x="182" y="345" />
 <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2862,7 +2862,7 @@
 </COMPONENT>
 <SUBCOMPONENT type="-1" id="1566" >
 <father id="1573" num="0" />
-<cdparam x="72" y="395" />
+<cdparam x="107" y="380" />
 <sizeparam width="44" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
@@ -2871,7 +2871,7 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="-1" id="1567" >
 <father id="1573" num="1" />
-<cdparam x="182" y="372" />
+<cdparam x="217" y="357" />
 <sizeparam width="108" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
@@ -2880,7 +2880,7 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="-1" id="1568" >
 <father id="1573" num="2" />
-<cdparam x="167" y="405" />
+<cdparam x="202" y="390" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
@@ -2937,7 +2937,7 @@
 </COMPONENT>
 
 <COMPONENT type="5504" id="1637" >
-<cdparam x="147" y="242" />
+<cdparam x="182" y="227" />
 <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -2967,7 +2967,7 @@
 </COMPONENT>
 
 <COMPONENT type="5510" id="1640" >
-<cdparam x="94" y="297" />
+<cdparam x="129" y="282" />
 <sizeparam width="136" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
@@ -2991,8 +2991,8 @@
 
 <SequenceDiagramPanelZV name="NominalScenario" minX="10" maxX="2500" minY="10" maxY="1500" >
 <COMPONENT type="620" id="1703" >
-<cdparam x="550" y="100" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="590" y="99" />
+<sizeparam width="10" height="387" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="AlarmDriver" value="AlarmDriver" />
@@ -3002,278 +3002,278 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="1644" >
 <father id="1703" num="0" />
-<cdparam x="555" y="575" />
+<cdparam x="595" y="109" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1643" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1646" >
 <father id="1703" num="1" />
-<cdparam x="555" y="566" />
+<cdparam x="595" y="115" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1645" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1648" >
 <father id="1703" num="2" />
-<cdparam x="555" y="550" />
+<cdparam x="595" y="132" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1647" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1650" >
 <father id="1703" num="3" />
-<cdparam x="555" y="533" />
+<cdparam x="595" y="149" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1649" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1652" >
 <father id="1703" num="4" />
-<cdparam x="555" y="516" />
+<cdparam x="595" y="165" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1651" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1654" >
 <father id="1703" num="5" />
-<cdparam x="555" y="500" />
+<cdparam x="595" y="182" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1653" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1656" >
 <father id="1703" num="6" />
-<cdparam x="555" y="483" />
+<cdparam x="595" y="199" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1655" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1658" >
 <father id="1703" num="7" />
-<cdparam x="555" y="466" />
+<cdparam x="595" y="215" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1657" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1660" >
 <father id="1703" num="8" />
-<cdparam x="555" y="450" />
+<cdparam x="595" y="232" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1659" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1662" >
 <father id="1703" num="9" />
-<cdparam x="555" y="433" />
+<cdparam x="595" y="249" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1661" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1664" >
 <father id="1703" num="10" />
-<cdparam x="555" y="416" />
+<cdparam x="595" y="265" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1663" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1666" >
 <father id="1703" num="11" />
-<cdparam x="555" y="400" />
+<cdparam x="595" y="282" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1665" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1668" >
 <father id="1703" num="12" />
-<cdparam x="555" y="383" />
+<cdparam x="595" y="299" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1667" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1670" >
 <father id="1703" num="13" />
-<cdparam x="555" y="366" />
+<cdparam x="595" y="315" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1669" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1672" >
 <father id="1703" num="14" />
-<cdparam x="555" y="350" />
+<cdparam x="595" y="332" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1671" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1674" >
 <father id="1703" num="15" />
-<cdparam x="555" y="333" />
+<cdparam x="595" y="349" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1673" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1676" >
 <father id="1703" num="16" />
-<cdparam x="555" y="316" />
+<cdparam x="595" y="365" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1675" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1678" >
 <father id="1703" num="17" />
-<cdparam x="555" y="300" />
+<cdparam x="595" y="382" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1677" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1680" >
 <father id="1703" num="18" />
-<cdparam x="555" y="283" />
+<cdparam x="595" y="399" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1679" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1682" >
 <father id="1703" num="19" />
-<cdparam x="555" y="266" />
+<cdparam x="595" y="415" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1681" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1684" >
 <father id="1703" num="20" />
-<cdparam x="555" y="250" />
+<cdparam x="595" y="432" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1683" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1686" >
 <father id="1703" num="21" />
-<cdparam x="555" y="233" />
+<cdparam x="595" y="449" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1685" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1688" >
 <father id="1703" num="22" />
-<cdparam x="555" y="216" />
+<cdparam x="595" y="465" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1687" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1690" >
 <father id="1703" num="23" />
-<cdparam x="555" y="200" />
+<cdparam x="595" y="482" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1689" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1692" >
 <father id="1703" num="24" />
-<cdparam x="555" y="183" />
+<cdparam x="595" y="499" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1691" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1694" >
 <father id="1703" num="25" />
-<cdparam x="555" y="166" />
+<cdparam x="595" y="515" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1693" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1696" >
 <father id="1703" num="26" />
-<cdparam x="555" y="150" />
+<cdparam x="595" y="532" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1695" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1698" >
 <father id="1703" num="27" />
-<cdparam x="555" y="133" />
+<cdparam x="595" y="549" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1697" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1700" >
 <father id="1703" num="28" />
-<cdparam x="555" y="116" />
+<cdparam x="595" y="565" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1699" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1702" >
 <father id="1703" num="29" />
-<cdparam x="555" y="110" />
+<cdparam x="595" y="574" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1701" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="1782" >
-<cdparam x="250" y="100" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="347" y="99" />
+<sizeparam width="10" height="387" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureMonitoringSoftware" value="PressureMonitoringSoftware" />
@@ -3281,13 +3281,13 @@
 <Actor data="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="627" id="1712" >
+<SUBCOMPONENT type="625" id="1712" >
 <father id="1782" num="0" />
-<cdparam x="268" y="395" />
+<cdparam x="365" y="299" />
 <sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="478" />
-<infoparam name="timer expiration" value="{timer=timerAlarm}" />
+<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="365" />
+<infoparam name="setting timer" value="{timer=timerAlarm, duration=60}" />
 <TGConnectingPoint num="0" id="1704" />
 <TGConnectingPoint num="1" id="1705" />
 <TGConnectingPoint num="2" id="1706" />
@@ -3297,286 +3297,286 @@
 <TGConnectingPoint num="6" id="1710" />
 <TGConnectingPoint num="7" id="1711" />
 <extraparam>
-<Interval timer="timerAlarm" />
+<Interval timer="timerAlarm" duration="60" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1714" >
 <father id="1782" num="1" />
-<cdparam x="255" y="110" />
+<cdparam x="352" y="115" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1713" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1716" >
 <father id="1782" num="2" />
-<cdparam x="255" y="575" />
+<cdparam x="352" y="132" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1715" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1718" >
 <father id="1782" num="3" />
-<cdparam x="255" y="566" />
+<cdparam x="352" y="149" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1717" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1720" >
 <father id="1782" num="4" />
-<cdparam x="255" y="550" />
+<cdparam x="352" y="165" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1719" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1722" >
 <father id="1782" num="5" />
-<cdparam x="255" y="533" />
+<cdparam x="352" y="182" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1721" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1724" >
 <father id="1782" num="6" />
-<cdparam x="255" y="516" />
+<cdparam x="352" y="199" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1723" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1726" >
 <father id="1782" num="7" />
-<cdparam x="255" y="500" />
+<cdparam x="352" y="215" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1725" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1728" >
 <father id="1782" num="8" />
-<cdparam x="255" y="483" />
+<cdparam x="352" y="232" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1727" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1730" >
 <father id="1782" num="9" />
-<cdparam x="255" y="466" />
+<cdparam x="352" y="249" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1729" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1732" >
 <father id="1782" num="10" />
-<cdparam x="255" y="450" />
+<cdparam x="352" y="265" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1731" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1734" >
 <father id="1782" num="11" />
-<cdparam x="255" y="433" />
+<cdparam x="352" y="282" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1733" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1736" >
 <father id="1782" num="12" />
-<cdparam x="255" y="416" />
+<cdparam x="352" y="299" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1735" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1738" >
 <father id="1782" num="13" />
-<cdparam x="255" y="400" />
+<cdparam x="352" y="315" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1737" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1740" >
 <father id="1782" num="14" />
-<cdparam x="255" y="383" />
+<cdparam x="352" y="332" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1739" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1742" >
 <father id="1782" num="15" />
-<cdparam x="255" y="366" />
+<cdparam x="352" y="349" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1741" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1744" >
 <father id="1782" num="16" />
-<cdparam x="255" y="350" />
+<cdparam x="352" y="365" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1743" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1746" >
 <father id="1782" num="17" />
-<cdparam x="255" y="333" />
+<cdparam x="352" y="382" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1745" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1748" >
 <father id="1782" num="18" />
-<cdparam x="255" y="316" />
+<cdparam x="352" y="399" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1747" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1750" >
 <father id="1782" num="19" />
-<cdparam x="255" y="300" />
+<cdparam x="352" y="415" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1749" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1752" >
 <father id="1782" num="20" />
-<cdparam x="255" y="283" />
+<cdparam x="352" y="432" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1751" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1754" >
 <father id="1782" num="21" />
-<cdparam x="255" y="266" />
+<cdparam x="352" y="449" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1753" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1756" >
 <father id="1782" num="22" />
-<cdparam x="255" y="250" />
+<cdparam x="352" y="465" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1755" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1758" >
 <father id="1782" num="23" />
-<cdparam x="255" y="233" />
+<cdparam x="352" y="482" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1757" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1760" >
 <father id="1782" num="24" />
-<cdparam x="255" y="216" />
+<cdparam x="352" y="499" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1759" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1762" >
 <father id="1782" num="25" />
-<cdparam x="255" y="200" />
+<cdparam x="352" y="515" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1761" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1764" >
 <father id="1782" num="26" />
-<cdparam x="255" y="183" />
+<cdparam x="352" y="532" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1763" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1766" >
 <father id="1782" num="27" />
-<cdparam x="255" y="166" />
+<cdparam x="352" y="549" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1765" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1768" >
 <father id="1782" num="28" />
-<cdparam x="255" y="150" />
+<cdparam x="352" y="565" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1767" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1770" >
 <father id="1782" num="29" />
-<cdparam x="255" y="133" />
+<cdparam x="352" y="574" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1769" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1772" >
 <father id="1782" num="30" />
-<cdparam x="255" y="116" />
+<cdparam x="352" y="109" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1771" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="625" id="1781" >
+<SUBCOMPONENT type="627" id="1781" >
 <father id="1782" num="31" />
-<cdparam x="268" y="300" />
+<cdparam x="365" y="394" />
 <sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="478" />
-<infoparam name="setting timer" value="{timer=timerAlarm, duration=60}" />
+<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="365" />
+<infoparam name="timer expiration" value="{timer=timerAlarm}" />
 <TGConnectingPoint num="0" id="1773" />
 <TGConnectingPoint num="1" id="1774" />
 <TGConnectingPoint num="2" id="1775" />
@@ -3586,13 +3586,13 @@
 <TGConnectingPoint num="6" id="1779" />
 <TGConnectingPoint num="7" id="1780" />
 <extraparam>
-<Interval timer="timerAlarm" duration="60" />
+<Interval timer="timerAlarm" />
 </extraparam>
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="1843" >
-<cdparam x="100" y="100" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="100" y="99" />
+<sizeparam width="10" height="387" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureSensorDriver" value="PressureSensorDriver" />
@@ -3602,271 +3602,271 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="1784" >
 <father id="1843" num="0" />
-<cdparam x="105" y="575" />
+<cdparam x="105" y="109" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1783" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1786" >
 <father id="1843" num="1" />
-<cdparam x="105" y="566" />
+<cdparam x="105" y="115" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1785" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1788" >
 <father id="1843" num="2" />
-<cdparam x="105" y="550" />
+<cdparam x="105" y="132" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1787" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1790" >
 <father id="1843" num="3" />
-<cdparam x="105" y="533" />
+<cdparam x="105" y="149" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1789" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1792" >
 <father id="1843" num="4" />
-<cdparam x="105" y="516" />
+<cdparam x="105" y="165" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1791" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1794" >
 <father id="1843" num="5" />
-<cdparam x="105" y="500" />
+<cdparam x="105" y="182" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1793" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1796" >
 <father id="1843" num="6" />
-<cdparam x="105" y="483" />
+<cdparam x="105" y="199" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1795" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1798" >
 <father id="1843" num="7" />
-<cdparam x="105" y="466" />
+<cdparam x="105" y="215" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1797" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1800" >
 <father id="1843" num="8" />
-<cdparam x="105" y="450" />
+<cdparam x="105" y="232" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1799" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1802" >
 <father id="1843" num="9" />
-<cdparam x="105" y="433" />
+<cdparam x="105" y="249" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1801" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1804" >
 <father id="1843" num="10" />
-<cdparam x="105" y="416" />
+<cdparam x="105" y="265" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1803" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1806" >
 <father id="1843" num="11" />
-<cdparam x="105" y="400" />
+<cdparam x="105" y="282" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1805" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1808" >
 <father id="1843" num="12" />
-<cdparam x="105" y="383" />
+<cdparam x="105" y="299" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1807" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1810" >
 <father id="1843" num="13" />
-<cdparam x="105" y="366" />
+<cdparam x="105" y="315" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1809" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1812" >
 <father id="1843" num="14" />
-<cdparam x="105" y="350" />
+<cdparam x="105" y="332" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1811" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1814" >
 <father id="1843" num="15" />
-<cdparam x="105" y="333" />
+<cdparam x="105" y="349" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1813" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1816" >
 <father id="1843" num="16" />
-<cdparam x="105" y="316" />
+<cdparam x="105" y="365" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1815" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1818" >
 <father id="1843" num="17" />
-<cdparam x="105" y="300" />
+<cdparam x="105" y="382" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1817" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1820" >
 <father id="1843" num="18" />
-<cdparam x="105" y="283" />
+<cdparam x="105" y="399" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1819" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1822" >
 <father id="1843" num="19" />
-<cdparam x="105" y="266" />
+<cdparam x="105" y="415" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1821" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1824" >
 <father id="1843" num="20" />
-<cdparam x="105" y="250" />
+<cdparam x="105" y="432" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1823" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1826" >
 <father id="1843" num="21" />
-<cdparam x="105" y="233" />
+<cdparam x="105" y="449" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1825" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1828" >
 <father id="1843" num="22" />
-<cdparam x="105" y="216" />
+<cdparam x="105" y="465" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1827" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1830" >
 <father id="1843" num="23" />
-<cdparam x="105" y="200" />
+<cdparam x="105" y="482" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1829" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1832" >
 <father id="1843" num="24" />
-<cdparam x="105" y="183" />
+<cdparam x="105" y="499" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1831" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1834" >
 <father id="1843" num="25" />
-<cdparam x="105" y="166" />
+<cdparam x="105" y="515" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1833" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1836" >
 <father id="1843" num="26" />
-<cdparam x="105" y="150" />
+<cdparam x="105" y="532" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1835" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1838" >
 <father id="1843" num="27" />
-<cdparam x="105" y="133" />
+<cdparam x="105" y="549" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1837" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1840" >
 <father id="1843" num="28" />
-<cdparam x="105" y="116" />
+<cdparam x="105" y="565" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1839" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1842" >
 <father id="1843" num="29" />
-<cdparam x="105" y="110" />
+<cdparam x="105" y="574" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="362" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1841" />
 </SUBCOMPONENT>
@@ -3875,65 +3875,76 @@
 <cdparam x="105" y="473" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(16)" />
-<P1  x="105" y="473" id="1797" />
-<P2  x="255" y="473" id="1729" />
+<P1  x="105" y="472" id="1827" />
+<P2  x="352" y="472" id="1755" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="1845" >
 <cdparam x="255" y="440" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="stopAlarm" />
-<P1  x="255" y="440" id="1733" />
-<P2  x="555" y="440" id="1661" />
+<P1  x="352" y="439" id="1751" />
+<P2  x="595" y="439" id="1683" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="1846" >
 <cdparam x="255" y="273" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="startAlarm" />
-<P1  x="255" y="273" id="1753" />
-<P2  x="555" y="273" id="1681" />
+<P1  x="352" y="272" id="1731" />
+<P2  x="595" y="272" id="1663" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="1847" >
 <cdparam x="105" y="240" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(21)" />
-<P1  x="105" y="240" id="1825" />
-<P2  x="255" y="240" id="1757" />
+<P1  x="105" y="239" id="1799" />
+<P2  x="352" y="239" id="1727" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="1848" >
 <cdparam x="105" y="207" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(18)" />
-<P1  x="105" y="207" id="1829" />
-<P2  x="255" y="207" id="1761" />
+<P1  x="105" y="206" id="1795" />
+<P2  x="352" y="206" id="1723" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="1849" >
 <cdparam x="105" y="173" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure19" />
-<P1  x="105" y="173" id="1833" />
-<P2  x="255" y="173" id="1765" />
+<P1  x="105" y="172" id="1791" />
+<P2  x="352" y="172" id="1719" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="1850" >
 <cdparam x="105" y="140" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(19)" />
-<P1  x="105" y="140" id="1837" />
-<P2  x="255" y="140" id="1769" />
+<P1  x="105" y="139" id="1787" />
+<P2  x="352" y="139" id="1715" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </SequenceDiagramPanelZV>
 
 <SequenceDiagramPanelZV name="TwoSuccessiveAlarms" minX="10" maxX="2500" minY="10" maxY="1500" >
+<CONNECTOR type="136" id="6775" >
+<cdparam x="486" y="292" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="relative time constraint" value="{1..1}" />
+<P1  x="486" y="292" id="1929" />
+<P2  x="486" y="342" id="1939" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<Interval minConstraint="1" maxConstraint="1" />
+</extraparam>
+</CONNECTOR>
 <COMPONENT type="620" id="1958" >
 <cdparam x="511" y="96" />
-<sizeparam width="10" height="493" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="365" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureMonitoringAlarmSoftware" value="Instance name" />
@@ -3941,362 +3952,362 @@
 <Actor data="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="623" id="1859" >
+<SUBCOMPONENT type="630" id="1852" >
 <father id="1958" num="0" />
-<cdparam x="516" y="437" />
-<sizeparam width="111" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="516" y="111" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="463" />
-<infoparam name="action state" value="timerValue = 60" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
+<infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1851" />
-<TGConnectingPoint num="1" id="1852" />
-<TGConnectingPoint num="2" id="1853" />
-<TGConnectingPoint num="3" id="1854" />
-<TGConnectingPoint num="4" id="1855" />
-<TGConnectingPoint num="5" id="1856" />
-<TGConnectingPoint num="6" id="1857" />
-<TGConnectingPoint num="7" id="1858" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="622" id="1869" >
+</SUBCOMPONENT>
+<SUBCOMPONENT type="630" id="1854" >
 <father id="1958" num="1" />
-<cdparam x="476" y="342" />
-<sizeparam width="40" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="516" y="127" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-35" maxX="5" minY="10" maxY="483" />
-<infoparam name="Line of relative time constraint" value="rtc" />
-<TGConnectingPoint num="0" id="1860" />
-<TGConnectingPoint num="1" id="1861" />
-<TGConnectingPoint num="2" id="1862" />
-<TGConnectingPoint num="3" id="1863" />
-<TGConnectingPoint num="4" id="1864" />
-<TGConnectingPoint num="5" id="1865" />
-<TGConnectingPoint num="6" id="1866" />
-<TGConnectingPoint num="7" id="1867" />
-<TGConnectingPoint num="8" id="1868" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="622" id="1879" >
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
+<infoparam name="port" value="port" />
+<TGConnectingPoint num="0" id="1853" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="630" id="1856" >
 <father id="1958" num="2" />
-<cdparam x="476" y="292" />
-<sizeparam width="40" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="516" y="144" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-35" maxX="5" minY="10" maxY="483" />
-<infoparam name="Line of relative time constraint" value="rtc" />
-<TGConnectingPoint num="0" id="1870" />
-<TGConnectingPoint num="1" id="1871" />
-<TGConnectingPoint num="2" id="1872" />
-<TGConnectingPoint num="3" id="1873" />
-<TGConnectingPoint num="4" id="1874" />
-<TGConnectingPoint num="5" id="1875" />
-<TGConnectingPoint num="6" id="1876" />
-<TGConnectingPoint num="7" id="1877" />
-<TGConnectingPoint num="8" id="1878" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="623" id="1888" >
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
+<infoparam name="port" value="port" />
+<TGConnectingPoint num="0" id="1855" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="630" id="1858" >
 <father id="1958" num="3" />
-<cdparam x="516" y="341" />
-<sizeparam width="111" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="516" y="161" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="463" />
-<infoparam name="action state" value="timerValue = 59" />
-<TGConnectingPoint num="0" id="1880" />
-<TGConnectingPoint num="1" id="1881" />
-<TGConnectingPoint num="2" id="1882" />
-<TGConnectingPoint num="3" id="1883" />
-<TGConnectingPoint num="4" id="1884" />
-<TGConnectingPoint num="5" id="1885" />
-<TGConnectingPoint num="6" id="1886" />
-<TGConnectingPoint num="7" id="1887" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="623" id="1897" >
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
+<infoparam name="port" value="port" />
+<TGConnectingPoint num="0" id="1857" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="630" id="1860" >
 <father id="1958" num="4" />
-<cdparam x="516" y="292" />
-<sizeparam width="111" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="516" y="177" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="463" />
-<infoparam name="action state" value="timerValue = 60" />
-<TGConnectingPoint num="0" id="1889" />
-<TGConnectingPoint num="1" id="1890" />
-<TGConnectingPoint num="2" id="1891" />
-<TGConnectingPoint num="3" id="1892" />
-<TGConnectingPoint num="4" id="1893" />
-<TGConnectingPoint num="5" id="1894" />
-<TGConnectingPoint num="6" id="1895" />
-<TGConnectingPoint num="7" id="1896" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1899" >
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
+<infoparam name="port" value="port" />
+<TGConnectingPoint num="0" id="1859" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="630" id="1862" >
 <father id="1958" num="5" />
-<cdparam x="516" y="564" />
+<cdparam x="516" y="194" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1898" />
+<TGConnectingPoint num="0" id="1861" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1901" >
+<SUBCOMPONENT type="630" id="1864" >
 <father id="1958" num="6" />
-<cdparam x="516" y="564" />
+<cdparam x="516" y="211" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1900" />
+<TGConnectingPoint num="0" id="1863" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1903" >
+<SUBCOMPONENT type="630" id="1866" >
 <father id="1958" num="7" />
-<cdparam x="516" y="561" />
+<cdparam x="516" y="227" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1902" />
+<TGConnectingPoint num="0" id="1865" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1905" >
+<SUBCOMPONENT type="630" id="1868" >
 <father id="1958" num="8" />
-<cdparam x="516" y="544" />
+<cdparam x="516" y="244" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1904" />
+<TGConnectingPoint num="0" id="1867" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1907" >
+<SUBCOMPONENT type="630" id="1870" >
 <father id="1958" num="9" />
-<cdparam x="516" y="527" />
+<cdparam x="516" y="261" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1906" />
+<TGConnectingPoint num="0" id="1869" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1909" >
+<SUBCOMPONENT type="630" id="1872" >
 <father id="1958" num="10" />
-<cdparam x="516" y="511" />
+<cdparam x="516" y="277" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1908" />
+<TGConnectingPoint num="0" id="1871" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1911" >
+<SUBCOMPONENT type="630" id="1874" >
 <father id="1958" num="11" />
-<cdparam x="516" y="494" />
+<cdparam x="516" y="294" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1910" />
+<TGConnectingPoint num="0" id="1873" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1913" >
+<SUBCOMPONENT type="630" id="1876" >
 <father id="1958" num="12" />
-<cdparam x="516" y="477" />
+<cdparam x="516" y="311" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1912" />
+<TGConnectingPoint num="0" id="1875" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1915" >
+<SUBCOMPONENT type="630" id="1878" >
 <father id="1958" num="13" />
-<cdparam x="516" y="461" />
+<cdparam x="516" y="327" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1914" />
+<TGConnectingPoint num="0" id="1877" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1917" >
+<SUBCOMPONENT type="630" id="1880" >
 <father id="1958" num="14" />
-<cdparam x="516" y="444" />
+<cdparam x="516" y="344" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1916" />
+<TGConnectingPoint num="0" id="1879" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1919" >
+<SUBCOMPONENT type="630" id="1882" >
 <father id="1958" num="15" />
-<cdparam x="516" y="427" />
+<cdparam x="516" y="361" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1918" />
+<TGConnectingPoint num="0" id="1881" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1921" >
+<SUBCOMPONENT type="630" id="1884" >
 <father id="1958" num="16" />
-<cdparam x="516" y="410" />
+<cdparam x="516" y="377" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1920" />
+<TGConnectingPoint num="0" id="1883" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1923" >
+<SUBCOMPONENT type="630" id="1886" >
 <father id="1958" num="17" />
 <cdparam x="516" y="394" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1922" />
+<TGConnectingPoint num="0" id="1885" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1925" >
+<SUBCOMPONENT type="630" id="1888" >
 <father id="1958" num="18" />
-<cdparam x="516" y="377" />
+<cdparam x="516" y="410" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1924" />
+<TGConnectingPoint num="0" id="1887" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1927" >
+<SUBCOMPONENT type="630" id="1890" >
 <father id="1958" num="19" />
-<cdparam x="516" y="361" />
+<cdparam x="516" y="427" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1926" />
+<TGConnectingPoint num="0" id="1889" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1929" >
+<SUBCOMPONENT type="630" id="1892" >
 <father id="1958" num="20" />
-<cdparam x="516" y="344" />
+<cdparam x="516" y="444" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1928" />
+<TGConnectingPoint num="0" id="1891" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1931" >
+<SUBCOMPONENT type="630" id="1894" >
 <father id="1958" num="21" />
-<cdparam x="516" y="327" />
+<cdparam x="516" y="461" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1930" />
+<TGConnectingPoint num="0" id="1893" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1933" >
+<SUBCOMPONENT type="630" id="1896" >
 <father id="1958" num="22" />
-<cdparam x="516" y="311" />
+<cdparam x="516" y="477" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1932" />
+<TGConnectingPoint num="0" id="1895" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1935" >
+<SUBCOMPONENT type="630" id="1898" >
 <father id="1958" num="23" />
-<cdparam x="516" y="294" />
+<cdparam x="516" y="494" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1934" />
+<TGConnectingPoint num="0" id="1897" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1937" >
+<SUBCOMPONENT type="630" id="1900" >
 <father id="1958" num="24" />
-<cdparam x="516" y="277" />
+<cdparam x="516" y="511" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1936" />
+<TGConnectingPoint num="0" id="1899" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1939" >
+<SUBCOMPONENT type="630" id="1902" >
 <father id="1958" num="25" />
-<cdparam x="516" y="261" />
+<cdparam x="516" y="527" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1938" />
+<TGConnectingPoint num="0" id="1901" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1941" >
+<SUBCOMPONENT type="630" id="1904" >
 <father id="1958" num="26" />
-<cdparam x="516" y="244" />
+<cdparam x="516" y="544" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1940" />
+<TGConnectingPoint num="0" id="1903" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1943" >
+<SUBCOMPONENT type="630" id="1906" >
 <father id="1958" num="27" />
-<cdparam x="516" y="227" />
+<cdparam x="516" y="561" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1942" />
+<TGConnectingPoint num="0" id="1905" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1945" >
+<SUBCOMPONENT type="630" id="1908" >
 <father id="1958" num="28" />
-<cdparam x="516" y="211" />
+<cdparam x="516" y="564" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1944" />
+<TGConnectingPoint num="0" id="1907" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1947" >
+<SUBCOMPONENT type="630" id="1910" >
 <father id="1958" num="29" />
-<cdparam x="516" y="194" />
+<cdparam x="516" y="564" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1946" />
+<TGConnectingPoint num="0" id="1909" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1949" >
+<SUBCOMPONENT type="623" id="1919" >
 <father id="1958" num="30" />
-<cdparam x="516" y="177" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="516" y="292" />
+<sizeparam width="111" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
-<infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1948" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1951" >
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="335" />
+<infoparam name="action state" value="timerValue = 60" />
+<TGConnectingPoint num="0" id="1911" />
+<TGConnectingPoint num="1" id="1912" />
+<TGConnectingPoint num="2" id="1913" />
+<TGConnectingPoint num="3" id="1914" />
+<TGConnectingPoint num="4" id="1915" />
+<TGConnectingPoint num="5" id="1916" />
+<TGConnectingPoint num="6" id="1917" />
+<TGConnectingPoint num="7" id="1918" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="623" id="1928" >
 <father id="1958" num="31" />
-<cdparam x="516" y="161" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="516" y="341" />
+<sizeparam width="111" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
-<infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1950" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1953" >
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="335" />
+<infoparam name="action state" value="timerValue = 59" />
+<TGConnectingPoint num="0" id="1920" />
+<TGConnectingPoint num="1" id="1921" />
+<TGConnectingPoint num="2" id="1922" />
+<TGConnectingPoint num="3" id="1923" />
+<TGConnectingPoint num="4" id="1924" />
+<TGConnectingPoint num="5" id="1925" />
+<TGConnectingPoint num="6" id="1926" />
+<TGConnectingPoint num="7" id="1927" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="622" id="1938" >
 <father id="1958" num="32" />
-<cdparam x="516" y="144" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="476" y="292" />
+<sizeparam width="40" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
-<infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1952" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1955" >
+<cdrectangleparam minX="-35" maxX="5" minY="10" maxY="355" />
+<infoparam name="Line of relative time constraint" value="rtc" />
+<TGConnectingPoint num="0" id="1929" />
+<TGConnectingPoint num="1" id="1930" />
+<TGConnectingPoint num="2" id="1931" />
+<TGConnectingPoint num="3" id="1932" />
+<TGConnectingPoint num="4" id="1933" />
+<TGConnectingPoint num="5" id="1934" />
+<TGConnectingPoint num="6" id="1935" />
+<TGConnectingPoint num="7" id="1936" />
+<TGConnectingPoint num="8" id="1937" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="622" id="1948" >
 <father id="1958" num="33" />
-<cdparam x="516" y="127" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="476" y="342" />
+<sizeparam width="40" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
-<infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1954" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="1957" >
+<cdrectangleparam minX="-35" maxX="5" minY="10" maxY="355" />
+<infoparam name="Line of relative time constraint" value="rtc" />
+<TGConnectingPoint num="0" id="1939" />
+<TGConnectingPoint num="1" id="1940" />
+<TGConnectingPoint num="2" id="1941" />
+<TGConnectingPoint num="3" id="1942" />
+<TGConnectingPoint num="4" id="1943" />
+<TGConnectingPoint num="5" id="1944" />
+<TGConnectingPoint num="6" id="1945" />
+<TGConnectingPoint num="7" id="1946" />
+<TGConnectingPoint num="8" id="1947" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="623" id="1957" >
 <father id="1958" num="34" />
-<cdparam x="516" y="111" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="516" y="437" />
+<sizeparam width="111" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
-<infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="1956" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="335" />
+<infoparam name="action state" value="timerValue = 60" />
+<TGConnectingPoint num="0" id="1949" />
+<TGConnectingPoint num="1" id="1950" />
+<TGConnectingPoint num="2" id="1951" />
+<TGConnectingPoint num="3" id="1952" />
+<TGConnectingPoint num="4" id="1953" />
+<TGConnectingPoint num="5" id="1954" />
+<TGConnectingPoint num="6" id="1955" />
+<TGConnectingPoint num="7" id="1956" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="2019" >
-<cdparam x="837" y="94" />
-<sizeparam width="10" height="493" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="711" y="94" />
+<sizeparam width="10" height="365" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="AlarmDriver" value="AlarmDriver" />
@@ -4306,278 +4317,278 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="1960" >
 <father id="2019" num="0" />
-<cdparam x="842" y="110" />
+<cdparam x="716" y="104" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1959" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1962" >
 <father id="2019" num="1" />
-<cdparam x="842" y="127" />
+<cdparam x="716" y="562" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1961" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1964" >
 <father id="2019" num="2" />
-<cdparam x="842" y="144" />
+<cdparam x="716" y="560" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1963" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1966" >
 <father id="2019" num="3" />
-<cdparam x="842" y="160" />
+<cdparam x="716" y="544" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1965" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1968" >
 <father id="2019" num="4" />
-<cdparam x="842" y="177" />
+<cdparam x="716" y="527" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1967" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1970" >
 <father id="2019" num="5" />
-<cdparam x="842" y="194" />
+<cdparam x="716" y="510" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1969" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1972" >
 <father id="2019" num="6" />
-<cdparam x="842" y="210" />
+<cdparam x="716" y="494" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1971" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1974" >
 <father id="2019" num="7" />
-<cdparam x="842" y="227" />
+<cdparam x="716" y="477" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1973" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1976" >
 <father id="2019" num="8" />
-<cdparam x="842" y="244" />
+<cdparam x="716" y="460" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1975" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1978" >
 <father id="2019" num="9" />
-<cdparam x="842" y="261" />
+<cdparam x="716" y="444" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1977" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1980" >
 <father id="2019" num="10" />
-<cdparam x="842" y="277" />
+<cdparam x="716" y="427" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1979" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1982" >
 <father id="2019" num="11" />
-<cdparam x="842" y="294" />
+<cdparam x="716" y="410" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1981" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1984" >
 <father id="2019" num="12" />
-<cdparam x="842" y="310" />
+<cdparam x="716" y="394" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1983" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1986" >
 <father id="2019" num="13" />
-<cdparam x="842" y="327" />
+<cdparam x="716" y="377" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1985" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1988" >
 <father id="2019" num="14" />
-<cdparam x="842" y="344" />
+<cdparam x="716" y="360" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1987" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1990" >
 <father id="2019" num="15" />
-<cdparam x="842" y="360" />
+<cdparam x="716" y="344" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1989" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1992" >
 <father id="2019" num="16" />
-<cdparam x="842" y="377" />
+<cdparam x="716" y="327" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1991" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1994" >
 <father id="2019" num="17" />
-<cdparam x="842" y="394" />
+<cdparam x="716" y="310" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1993" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1996" >
 <father id="2019" num="18" />
-<cdparam x="842" y="410" />
+<cdparam x="716" y="294" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1995" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="1998" >
 <father id="2019" num="19" />
-<cdparam x="842" y="427" />
+<cdparam x="716" y="277" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1997" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2000" >
 <father id="2019" num="20" />
-<cdparam x="842" y="444" />
+<cdparam x="716" y="261" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="1999" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2002" >
 <father id="2019" num="21" />
-<cdparam x="842" y="460" />
+<cdparam x="716" y="244" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2001" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2004" >
 <father id="2019" num="22" />
-<cdparam x="842" y="477" />
+<cdparam x="716" y="227" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2003" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2006" >
 <father id="2019" num="23" />
-<cdparam x="842" y="494" />
+<cdparam x="716" y="210" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2005" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2008" >
 <father id="2019" num="24" />
-<cdparam x="842" y="510" />
+<cdparam x="716" y="194" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2007" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2010" >
 <father id="2019" num="25" />
-<cdparam x="842" y="527" />
+<cdparam x="716" y="177" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2009" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2012" >
 <father id="2019" num="26" />
-<cdparam x="842" y="544" />
+<cdparam x="716" y="160" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2011" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2014" >
 <father id="2019" num="27" />
-<cdparam x="842" y="560" />
+<cdparam x="716" y="144" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2013" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2016" >
 <father id="2019" num="28" />
-<cdparam x="842" y="562" />
+<cdparam x="716" y="127" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2015" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2018" >
 <father id="2019" num="29" />
-<cdparam x="842" y="104" />
+<cdparam x="716" y="110" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2017" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="2080" >
 <cdparam x="304" y="94" />
-<sizeparam width="10" height="493" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="365" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureMonitoringSoftware" value="PressureMonitoringSoftware" />
@@ -4587,278 +4598,278 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="2021" >
 <father id="2080" num="0" />
-<cdparam x="309" y="110" />
+<cdparam x="309" y="104" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2020" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2023" >
 <father id="2080" num="1" />
-<cdparam x="309" y="127" />
+<cdparam x="309" y="562" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2022" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2025" >
 <father id="2080" num="2" />
-<cdparam x="309" y="144" />
+<cdparam x="309" y="560" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2024" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2027" >
 <father id="2080" num="3" />
-<cdparam x="309" y="160" />
+<cdparam x="309" y="544" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2026" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2029" >
 <father id="2080" num="4" />
-<cdparam x="309" y="177" />
+<cdparam x="309" y="527" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2028" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2031" >
 <father id="2080" num="5" />
-<cdparam x="309" y="194" />
+<cdparam x="309" y="510" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2030" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2033" >
 <father id="2080" num="6" />
-<cdparam x="309" y="210" />
+<cdparam x="309" y="494" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2032" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2035" >
 <father id="2080" num="7" />
-<cdparam x="309" y="227" />
+<cdparam x="309" y="477" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2034" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2037" >
 <father id="2080" num="8" />
-<cdparam x="309" y="244" />
+<cdparam x="309" y="460" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2036" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2039" >
 <father id="2080" num="9" />
-<cdparam x="309" y="256" />
+<cdparam x="309" y="444" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2038" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2041" >
 <father id="2080" num="10" />
-<cdparam x="309" y="277" />
+<cdparam x="309" y="427" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2040" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2043" >
 <father id="2080" num="11" />
-<cdparam x="309" y="294" />
+<cdparam x="309" y="410" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2042" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2045" >
 <father id="2080" num="12" />
-<cdparam x="309" y="310" />
+<cdparam x="309" y="394" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2044" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2047" >
 <father id="2080" num="13" />
-<cdparam x="309" y="327" />
+<cdparam x="309" y="377" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2046" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2049" >
 <father id="2080" num="14" />
-<cdparam x="309" y="344" />
+<cdparam x="309" y="360" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2048" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2051" >
 <father id="2080" num="15" />
-<cdparam x="309" y="360" />
+<cdparam x="309" y="344" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2050" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2053" >
 <father id="2080" num="16" />
-<cdparam x="309" y="377" />
+<cdparam x="309" y="327" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2052" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2055" >
 <father id="2080" num="17" />
-<cdparam x="309" y="394" />
+<cdparam x="309" y="310" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2054" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2057" >
 <father id="2080" num="18" />
-<cdparam x="309" y="410" />
+<cdparam x="309" y="294" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2056" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2059" >
 <father id="2080" num="19" />
-<cdparam x="309" y="427" />
+<cdparam x="309" y="277" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2058" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2061" >
 <father id="2080" num="20" />
-<cdparam x="309" y="444" />
+<cdparam x="309" y="256" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2060" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2063" >
 <father id="2080" num="21" />
-<cdparam x="309" y="460" />
+<cdparam x="309" y="244" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2062" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2065" >
 <father id="2080" num="22" />
-<cdparam x="309" y="477" />
+<cdparam x="309" y="227" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2064" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2067" >
 <father id="2080" num="23" />
-<cdparam x="309" y="494" />
+<cdparam x="309" y="210" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2066" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2069" >
 <father id="2080" num="24" />
-<cdparam x="309" y="510" />
+<cdparam x="309" y="194" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2068" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2071" >
 <father id="2080" num="25" />
-<cdparam x="309" y="527" />
+<cdparam x="309" y="177" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2070" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2073" >
 <father id="2080" num="26" />
-<cdparam x="309" y="544" />
+<cdparam x="309" y="160" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2072" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2075" >
 <father id="2080" num="27" />
-<cdparam x="309" y="560" />
+<cdparam x="309" y="144" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2074" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2077" >
 <father id="2080" num="28" />
-<cdparam x="309" y="562" />
+<cdparam x="309" y="127" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2076" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2079" >
 <father id="2080" num="29" />
-<cdparam x="309" y="104" />
+<cdparam x="309" y="110" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2078" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="2141" >
 <cdparam x="126" y="94" />
-<sizeparam width="10" height="493" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="365" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureSensorDriver" value="PressureSensorDriver" />
@@ -4868,271 +4879,271 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="2082" >
 <father id="2141" num="0" />
-<cdparam x="131" y="110" />
+<cdparam x="131" y="104" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2081" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2084" >
 <father id="2141" num="1" />
-<cdparam x="131" y="127" />
+<cdparam x="131" y="562" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2083" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2086" >
 <father id="2141" num="2" />
-<cdparam x="131" y="144" />
+<cdparam x="131" y="560" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2085" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2088" >
 <father id="2141" num="3" />
-<cdparam x="131" y="160" />
+<cdparam x="131" y="544" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2087" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2090" >
 <father id="2141" num="4" />
-<cdparam x="131" y="177" />
+<cdparam x="131" y="527" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2089" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2092" >
 <father id="2141" num="5" />
-<cdparam x="131" y="194" />
+<cdparam x="131" y="510" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2091" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2094" >
 <father id="2141" num="6" />
-<cdparam x="131" y="210" />
+<cdparam x="131" y="494" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2093" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2096" >
 <father id="2141" num="7" />
-<cdparam x="131" y="227" />
+<cdparam x="131" y="477" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2095" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2098" >
 <father id="2141" num="8" />
-<cdparam x="131" y="244" />
+<cdparam x="131" y="460" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2097" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2100" >
 <father id="2141" num="9" />
-<cdparam x="131" y="260" />
+<cdparam x="131" y="444" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2099" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2102" >
 <father id="2141" num="10" />
-<cdparam x="131" y="277" />
+<cdparam x="131" y="427" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2101" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2104" >
 <father id="2141" num="11" />
-<cdparam x="131" y="294" />
+<cdparam x="131" y="410" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2103" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2106" >
 <father id="2141" num="12" />
-<cdparam x="131" y="310" />
+<cdparam x="131" y="394" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2105" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2108" >
 <father id="2141" num="13" />
-<cdparam x="131" y="327" />
+<cdparam x="131" y="377" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2107" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2110" >
 <father id="2141" num="14" />
-<cdparam x="131" y="344" />
+<cdparam x="131" y="360" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2109" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2112" >
 <father id="2141" num="15" />
-<cdparam x="131" y="360" />
+<cdparam x="131" y="344" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2111" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2114" >
 <father id="2141" num="16" />
-<cdparam x="131" y="377" />
+<cdparam x="131" y="327" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2113" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2116" >
 <father id="2141" num="17" />
-<cdparam x="131" y="394" />
+<cdparam x="131" y="310" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2115" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2118" >
 <father id="2141" num="18" />
-<cdparam x="131" y="410" />
+<cdparam x="131" y="294" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2117" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2120" >
 <father id="2141" num="19" />
-<cdparam x="131" y="427" />
+<cdparam x="131" y="277" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2119" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2122" >
 <father id="2141" num="20" />
-<cdparam x="131" y="444" />
+<cdparam x="131" y="260" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2121" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2124" >
 <father id="2141" num="21" />
-<cdparam x="131" y="460" />
+<cdparam x="131" y="244" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2123" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2126" >
 <father id="2141" num="22" />
-<cdparam x="131" y="477" />
+<cdparam x="131" y="227" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2125" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2128" >
 <father id="2141" num="23" />
-<cdparam x="131" y="494" />
+<cdparam x="131" y="210" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2127" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2130" >
 <father id="2141" num="24" />
-<cdparam x="131" y="510" />
+<cdparam x="131" y="194" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2129" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2132" >
 <father id="2141" num="25" />
-<cdparam x="131" y="527" />
+<cdparam x="131" y="177" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2131" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2134" >
 <father id="2141" num="26" />
-<cdparam x="131" y="544" />
+<cdparam x="131" y="160" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2133" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2136" >
 <father id="2141" num="27" />
-<cdparam x="131" y="560" />
+<cdparam x="131" y="144" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2135" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2138" >
 <father id="2141" num="28" />
-<cdparam x="131" y="562" />
+<cdparam x="131" y="127" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2137" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2140" >
 <father id="2141" num="29" />
-<cdparam x="131" y="104" />
+<cdparam x="131" y="110" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="468" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="340" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2139" />
 </SUBCOMPONENT>
@@ -5141,75 +5152,64 @@
 <cdparam x="309" y="417" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="start" />
-<P1  x="309" y="417" id="2056" />
-<P2  x="516" y="417" id="1920" />
+<P1  x="309" y="417" id="2042" />
+<P2  x="516" y="417" id="1887" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="2143" >
 <cdparam x="131" y="401" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(21)" />
-<P1  x="131" y="401" id="2115" />
-<P2  x="309" y="401" id="2054" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="136" id="2144" >
-<cdparam x="486" y="342" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="relative time constraint" value="{1..1}" />
-<P1  x="486" y="342" id="1860" />
-<P2  x="486" y="292" id="1870" />
+<P1  x="131" y="401" id="2105" />
+<P2  x="309" y="401" id="2044" />
 <AutomaticDrawing  data="true" />
-<extraparam>
-<Interval minConstraint="1" maxConstraint="1" />
-</extraparam>
 </CONNECTOR>
 <CONNECTOR type="107" id="2145" >
 <cdparam x="516" y="268" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="start" />
-<P1  x="516" y="268" id="1938" />
-<P2  x="842" y="268" id="1977" />
+<P1  x="516" y="268" id="1869" />
+<P2  x="716" y="268" id="1999" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="2146" >
 <cdparam x="309" y="251" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="start" />
-<P1  x="309" y="251" id="2036" />
-<P2  x="516" y="251" id="1940" />
+<P1  x="309" y="251" id="2062" />
+<P2  x="516" y="251" id="1867" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="2147" >
 <cdparam x="131" y="234" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(21)" />
-<P1  x="131" y="234" id="2095" />
-<P2  x="309" y="234" id="2034" />
+<P1  x="131" y="234" id="2125" />
+<P2  x="309" y="234" id="2064" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="2148" >
 <cdparam x="131" y="201" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(18)" />
-<P1  x="131" y="201" id="2091" />
-<P2  x="309" y="201" id="2030" />
+<P1  x="131" y="201" id="2129" />
+<P2  x="309" y="201" id="2068" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="2149" >
 <cdparam x="131" y="167" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure19" />
-<P1  x="131" y="167" id="2087" />
-<P2  x="309" y="167" id="2026" />
+<P1  x="131" y="167" id="2133" />
+<P2  x="309" y="167" id="2072" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="2150" >
 <cdparam x="131" y="134" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(19)" />
-<P1  x="131" y="134" id="2083" />
-<P2  x="309" y="134" id="2022" />
+<P1  x="131" y="134" id="2137" />
+<P2  x="309" y="134" id="2076" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -7025,7 +7025,7 @@
 <SequenceDiagramPanelZV name="NominalScenario2_0" minX="10" maxX="2500" minY="10" maxY="1500" >
 <COMPONENT type="620" id="3045" >
 <cdparam x="601" y="96" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="404" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="AlarmDriver" value="AlarmDriver" />
@@ -7035,278 +7035,278 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="2986" >
 <father id="3045" num="0" />
-<cdparam x="606" y="106" />
+<cdparam x="606" y="112" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2985" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2988" >
 <father id="3045" num="1" />
-<cdparam x="606" y="571" />
+<cdparam x="606" y="129" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2987" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2990" >
 <father id="3045" num="2" />
-<cdparam x="606" y="562" />
+<cdparam x="606" y="146" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2989" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2992" >
 <father id="3045" num="3" />
-<cdparam x="606" y="546" />
+<cdparam x="606" y="162" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2991" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2994" >
 <father id="3045" num="4" />
-<cdparam x="606" y="529" />
+<cdparam x="606" y="179" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2993" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2996" >
 <father id="3045" num="5" />
-<cdparam x="606" y="512" />
+<cdparam x="606" y="196" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2995" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="2998" >
 <father id="3045" num="6" />
-<cdparam x="606" y="496" />
+<cdparam x="606" y="212" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2997" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3000" >
 <father id="3045" num="7" />
-<cdparam x="606" y="479" />
+<cdparam x="606" y="229" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="2999" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3002" >
 <father id="3045" num="8" />
-<cdparam x="606" y="462" />
+<cdparam x="606" y="246" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3001" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3004" >
 <father id="3045" num="9" />
-<cdparam x="606" y="446" />
+<cdparam x="606" y="262" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3003" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3006" >
 <father id="3045" num="10" />
-<cdparam x="606" y="429" />
+<cdparam x="606" y="279" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3005" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3008" >
 <father id="3045" num="11" />
-<cdparam x="606" y="412" />
+<cdparam x="606" y="296" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3007" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3010" >
 <father id="3045" num="12" />
-<cdparam x="606" y="396" />
+<cdparam x="606" y="312" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3009" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3012" >
 <father id="3045" num="13" />
-<cdparam x="606" y="379" />
+<cdparam x="606" y="329" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3011" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3014" >
 <father id="3045" num="14" />
-<cdparam x="606" y="362" />
+<cdparam x="606" y="346" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3013" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3016" >
 <father id="3045" num="15" />
-<cdparam x="606" y="346" />
+<cdparam x="606" y="362" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3015" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3018" >
 <father id="3045" num="16" />
-<cdparam x="606" y="329" />
+<cdparam x="606" y="379" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3017" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3020" >
 <father id="3045" num="17" />
-<cdparam x="606" y="312" />
+<cdparam x="606" y="396" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3019" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3022" >
 <father id="3045" num="18" />
-<cdparam x="606" y="296" />
+<cdparam x="606" y="412" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3021" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3024" >
 <father id="3045" num="19" />
-<cdparam x="606" y="279" />
+<cdparam x="606" y="429" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3023" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3026" >
 <father id="3045" num="20" />
-<cdparam x="606" y="262" />
+<cdparam x="606" y="446" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3025" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3028" >
 <father id="3045" num="21" />
-<cdparam x="606" y="246" />
+<cdparam x="606" y="462" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3027" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3030" >
 <father id="3045" num="22" />
-<cdparam x="606" y="229" />
+<cdparam x="606" y="479" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3029" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3032" >
 <father id="3045" num="23" />
-<cdparam x="606" y="212" />
+<cdparam x="606" y="496" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3031" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3034" >
 <father id="3045" num="24" />
-<cdparam x="606" y="196" />
+<cdparam x="606" y="512" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3033" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3036" >
 <father id="3045" num="25" />
-<cdparam x="606" y="179" />
+<cdparam x="606" y="529" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3035" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3038" >
 <father id="3045" num="26" />
-<cdparam x="606" y="162" />
+<cdparam x="606" y="546" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3037" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3040" >
 <father id="3045" num="27" />
-<cdparam x="606" y="146" />
+<cdparam x="606" y="562" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3039" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3042" >
 <father id="3045" num="28" />
-<cdparam x="606" y="129" />
+<cdparam x="606" y="571" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3041" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3044" >
 <father id="3045" num="29" />
-<cdparam x="606" y="112" />
+<cdparam x="606" y="106" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3043" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="3106" >
 <cdparam x="451" y="96" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="404" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="StorageDriver" value="StorageDriver" />
@@ -7316,278 +7316,278 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="3047" >
 <father id="3106" num="0" />
-<cdparam x="456" y="106" />
+<cdparam x="456" y="112" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3046" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3049" >
 <father id="3106" num="1" />
-<cdparam x="456" y="571" />
+<cdparam x="456" y="129" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3048" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3051" >
 <father id="3106" num="2" />
-<cdparam x="456" y="562" />
+<cdparam x="456" y="146" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3050" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3053" >
 <father id="3106" num="3" />
-<cdparam x="456" y="546" />
+<cdparam x="456" y="162" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3052" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3055" >
 <father id="3106" num="4" />
-<cdparam x="456" y="529" />
+<cdparam x="456" y="179" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3054" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3057" >
 <father id="3106" num="5" />
-<cdparam x="456" y="512" />
+<cdparam x="456" y="196" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3056" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3059" >
 <father id="3106" num="6" />
-<cdparam x="456" y="496" />
+<cdparam x="456" y="212" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3058" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3061" >
 <father id="3106" num="7" />
-<cdparam x="456" y="479" />
+<cdparam x="456" y="229" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3060" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3063" >
 <father id="3106" num="8" />
-<cdparam x="456" y="462" />
+<cdparam x="456" y="246" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3062" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3065" >
 <father id="3106" num="9" />
-<cdparam x="456" y="446" />
+<cdparam x="456" y="262" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3064" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3067" >
 <father id="3106" num="10" />
-<cdparam x="456" y="429" />
+<cdparam x="456" y="279" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3066" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3069" >
 <father id="3106" num="11" />
-<cdparam x="456" y="412" />
+<cdparam x="456" y="296" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3068" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3071" >
 <father id="3106" num="12" />
-<cdparam x="456" y="396" />
+<cdparam x="456" y="312" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3070" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3073" >
 <father id="3106" num="13" />
-<cdparam x="456" y="379" />
+<cdparam x="456" y="329" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3072" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3075" >
 <father id="3106" num="14" />
-<cdparam x="456" y="362" />
+<cdparam x="456" y="346" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3074" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3077" >
 <father id="3106" num="15" />
-<cdparam x="456" y="346" />
+<cdparam x="456" y="362" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3076" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3079" >
 <father id="3106" num="16" />
-<cdparam x="456" y="329" />
+<cdparam x="456" y="379" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3078" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3081" >
 <father id="3106" num="17" />
-<cdparam x="456" y="312" />
+<cdparam x="456" y="396" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3080" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3083" >
 <father id="3106" num="18" />
-<cdparam x="456" y="296" />
+<cdparam x="456" y="412" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3082" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3085" >
 <father id="3106" num="19" />
-<cdparam x="456" y="279" />
+<cdparam x="456" y="429" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3084" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3087" >
 <father id="3106" num="20" />
-<cdparam x="456" y="262" />
+<cdparam x="456" y="446" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3086" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3089" >
 <father id="3106" num="21" />
-<cdparam x="456" y="246" />
+<cdparam x="456" y="462" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3088" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3091" >
 <father id="3106" num="22" />
-<cdparam x="456" y="229" />
+<cdparam x="456" y="479" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3090" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3093" >
 <father id="3106" num="23" />
-<cdparam x="456" y="212" />
+<cdparam x="456" y="496" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3092" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3095" >
 <father id="3106" num="24" />
-<cdparam x="456" y="196" />
+<cdparam x="456" y="512" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3094" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3097" >
 <father id="3106" num="25" />
-<cdparam x="456" y="179" />
+<cdparam x="456" y="529" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3096" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3099" >
 <father id="3106" num="26" />
-<cdparam x="456" y="162" />
+<cdparam x="456" y="546" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3098" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3101" >
 <father id="3106" num="27" />
-<cdparam x="456" y="146" />
+<cdparam x="456" y="562" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3100" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3103" >
 <father id="3106" num="28" />
-<cdparam x="456" y="129" />
+<cdparam x="456" y="571" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3102" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3105" >
 <father id="3106" num="29" />
-<cdparam x="456" y="112" />
+<cdparam x="456" y="106" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3104" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="3185" >
 <cdparam x="301" y="96" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="404" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureMonitoringSoftware" value="PressureMonitoringSoftware" />
@@ -7597,316 +7597,316 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="3108" >
 <father id="3185" num="0" />
-<cdparam x="306" y="106" />
+<cdparam x="306" y="112" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3107" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="627" id="3117" >
+<SUBCOMPONENT type="630" id="3110" >
 <father id="3185" num="1" />
-<cdparam x="319" y="391" />
-<sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="306" y="129" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="478" />
-<infoparam name="timer expiration" value="{timer=timerAlarm}" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
+<infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3109" />
-<TGConnectingPoint num="1" id="3110" />
-<TGConnectingPoint num="2" id="3111" />
-<TGConnectingPoint num="3" id="3112" />
-<TGConnectingPoint num="4" id="3113" />
-<TGConnectingPoint num="5" id="3114" />
-<TGConnectingPoint num="6" id="3115" />
-<TGConnectingPoint num="7" id="3116" />
-<extraparam>
-<Interval timer="timerAlarm" />
-</extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="625" id="3126" >
+<SUBCOMPONENT type="630" id="3112" >
 <father id="3185" num="2" />
-<cdparam x="319" y="296" />
-<sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="306" y="146" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="478" />
-<infoparam name="setting timer" value="{timer=timerAlarm, duration=60}" />
-<TGConnectingPoint num="0" id="3118" />
-<TGConnectingPoint num="1" id="3119" />
-<TGConnectingPoint num="2" id="3120" />
-<TGConnectingPoint num="3" id="3121" />
-<TGConnectingPoint num="4" id="3122" />
-<TGConnectingPoint num="5" id="3123" />
-<TGConnectingPoint num="6" id="3124" />
-<TGConnectingPoint num="7" id="3125" />
-<extraparam>
-<Interval timer="timerAlarm" duration="60" />
-</extraparam>
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
+<infoparam name="port" value="port" />
+<TGConnectingPoint num="0" id="3111" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3128" >
+<SUBCOMPONENT type="630" id="3114" >
 <father id="3185" num="3" />
-<cdparam x="306" y="571" />
+<cdparam x="306" y="162" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3127" />
+<TGConnectingPoint num="0" id="3113" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3130" >
+<SUBCOMPONENT type="630" id="3116" >
 <father id="3185" num="4" />
-<cdparam x="306" y="562" />
+<cdparam x="306" y="179" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3129" />
+<TGConnectingPoint num="0" id="3115" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3132" >
+<SUBCOMPONENT type="630" id="3118" >
 <father id="3185" num="5" />
-<cdparam x="306" y="546" />
+<cdparam x="306" y="196" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3131" />
+<TGConnectingPoint num="0" id="3117" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3134" >
+<SUBCOMPONENT type="630" id="3120" >
 <father id="3185" num="6" />
-<cdparam x="306" y="529" />
+<cdparam x="306" y="212" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3133" />
+<TGConnectingPoint num="0" id="3119" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3136" >
+<SUBCOMPONENT type="630" id="3122" >
 <father id="3185" num="7" />
-<cdparam x="306" y="512" />
+<cdparam x="306" y="229" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3135" />
+<TGConnectingPoint num="0" id="3121" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3138" >
+<SUBCOMPONENT type="630" id="3124" >
 <father id="3185" num="8" />
-<cdparam x="306" y="496" />
+<cdparam x="306" y="246" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3137" />
+<TGConnectingPoint num="0" id="3123" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3140" >
+<SUBCOMPONENT type="630" id="3126" >
 <father id="3185" num="9" />
-<cdparam x="306" y="479" />
+<cdparam x="306" y="262" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3139" />
+<TGConnectingPoint num="0" id="3125" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3142" >
+<SUBCOMPONENT type="630" id="3128" >
 <father id="3185" num="10" />
-<cdparam x="306" y="462" />
+<cdparam x="306" y="279" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3141" />
+<TGConnectingPoint num="0" id="3127" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3144" >
+<SUBCOMPONENT type="630" id="3130" >
 <father id="3185" num="11" />
-<cdparam x="306" y="446" />
+<cdparam x="306" y="296" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3143" />
+<TGConnectingPoint num="0" id="3129" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3146" >
+<SUBCOMPONENT type="630" id="3132" >
 <father id="3185" num="12" />
-<cdparam x="306" y="429" />
+<cdparam x="306" y="312" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3145" />
+<TGConnectingPoint num="0" id="3131" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3148" >
+<SUBCOMPONENT type="630" id="3134" >
 <father id="3185" num="13" />
-<cdparam x="306" y="412" />
+<cdparam x="306" y="329" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3147" />
+<TGConnectingPoint num="0" id="3133" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3150" >
+<SUBCOMPONENT type="630" id="3136" >
 <father id="3185" num="14" />
-<cdparam x="306" y="396" />
+<cdparam x="306" y="346" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3149" />
+<TGConnectingPoint num="0" id="3135" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3152" >
+<SUBCOMPONENT type="630" id="3138" >
 <father id="3185" num="15" />
-<cdparam x="306" y="379" />
+<cdparam x="306" y="362" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3151" />
+<TGConnectingPoint num="0" id="3137" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3154" >
+<SUBCOMPONENT type="630" id="3140" >
 <father id="3185" num="16" />
-<cdparam x="306" y="362" />
+<cdparam x="306" y="379" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3153" />
+<TGConnectingPoint num="0" id="3139" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3156" >
+<SUBCOMPONENT type="630" id="3142" >
 <father id="3185" num="17" />
-<cdparam x="306" y="346" />
+<cdparam x="306" y="396" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3155" />
+<TGConnectingPoint num="0" id="3141" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3158" >
+<SUBCOMPONENT type="630" id="3144" >
 <father id="3185" num="18" />
-<cdparam x="306" y="329" />
+<cdparam x="306" y="412" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3157" />
+<TGConnectingPoint num="0" id="3143" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3160" >
+<SUBCOMPONENT type="630" id="3146" >
 <father id="3185" num="19" />
-<cdparam x="306" y="312" />
+<cdparam x="306" y="429" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3159" />
+<TGConnectingPoint num="0" id="3145" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3162" >
+<SUBCOMPONENT type="630" id="3148" >
 <father id="3185" num="20" />
-<cdparam x="306" y="296" />
+<cdparam x="306" y="446" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3161" />
+<TGConnectingPoint num="0" id="3147" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3164" >
+<SUBCOMPONENT type="630" id="3150" >
 <father id="3185" num="21" />
-<cdparam x="306" y="279" />
+<cdparam x="306" y="462" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3163" />
+<TGConnectingPoint num="0" id="3149" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3166" >
+<SUBCOMPONENT type="630" id="3152" >
 <father id="3185" num="22" />
-<cdparam x="306" y="262" />
+<cdparam x="306" y="479" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3165" />
+<TGConnectingPoint num="0" id="3151" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3168" >
+<SUBCOMPONENT type="630" id="3154" >
 <father id="3185" num="23" />
-<cdparam x="306" y="246" />
+<cdparam x="306" y="496" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3167" />
+<TGConnectingPoint num="0" id="3153" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3170" >
+<SUBCOMPONENT type="630" id="3156" >
 <father id="3185" num="24" />
-<cdparam x="306" y="229" />
+<cdparam x="306" y="512" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3169" />
+<TGConnectingPoint num="0" id="3155" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3172" >
+<SUBCOMPONENT type="630" id="3158" >
 <father id="3185" num="25" />
-<cdparam x="306" y="212" />
+<cdparam x="306" y="529" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3171" />
+<TGConnectingPoint num="0" id="3157" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3174" >
+<SUBCOMPONENT type="630" id="3160" >
 <father id="3185" num="26" />
-<cdparam x="306" y="196" />
+<cdparam x="306" y="546" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3173" />
+<TGConnectingPoint num="0" id="3159" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3176" >
+<SUBCOMPONENT type="630" id="3162" >
 <father id="3185" num="27" />
-<cdparam x="306" y="179" />
+<cdparam x="306" y="562" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3175" />
+<TGConnectingPoint num="0" id="3161" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3178" >
+<SUBCOMPONENT type="630" id="3164" >
 <father id="3185" num="28" />
-<cdparam x="306" y="162" />
+<cdparam x="306" y="571" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3177" />
+<TGConnectingPoint num="0" id="3163" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3180" >
+<SUBCOMPONENT type="625" id="3173" >
 <father id="3185" num="29" />
-<cdparam x="306" y="146" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="319" y="296" />
+<sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
-<infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3179" />
+<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="382" />
+<infoparam name="setting timer" value="{timer=timerAlarm, duration=60}" />
+<TGConnectingPoint num="0" id="3165" />
+<TGConnectingPoint num="1" id="3166" />
+<TGConnectingPoint num="2" id="3167" />
+<TGConnectingPoint num="3" id="3168" />
+<TGConnectingPoint num="4" id="3169" />
+<TGConnectingPoint num="5" id="3170" />
+<TGConnectingPoint num="6" id="3171" />
+<TGConnectingPoint num="7" id="3172" />
+<extraparam>
+<Interval timer="timerAlarm" duration="60" />
+</extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3182" >
+<SUBCOMPONENT type="627" id="3182" >
 <father id="3185" num="30" />
-<cdparam x="306" y="129" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="319" y="391" />
+<sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
-<infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3181" />
+<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="382" />
+<infoparam name="timer expiration" value="{timer=timerAlarm}" />
+<TGConnectingPoint num="0" id="3174" />
+<TGConnectingPoint num="1" id="3175" />
+<TGConnectingPoint num="2" id="3176" />
+<TGConnectingPoint num="3" id="3177" />
+<TGConnectingPoint num="4" id="3178" />
+<TGConnectingPoint num="5" id="3179" />
+<TGConnectingPoint num="6" id="3180" />
+<TGConnectingPoint num="7" id="3181" />
+<extraparam>
+<Interval timer="timerAlarm" />
+</extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3184" >
 <father id="3185" num="31" />
-<cdparam x="306" y="112" />
+<cdparam x="306" y="106" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3183" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="3246" >
 <cdparam x="151" y="96" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="404" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureSensorDriver" value="PressureSensorDriver" />
@@ -7916,271 +7916,271 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="3187" >
 <father id="3246" num="0" />
-<cdparam x="156" y="106" />
+<cdparam x="156" y="112" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3186" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3189" >
 <father id="3246" num="1" />
-<cdparam x="156" y="571" />
+<cdparam x="156" y="129" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3188" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3191" >
 <father id="3246" num="2" />
-<cdparam x="156" y="562" />
+<cdparam x="156" y="146" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3190" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3193" >
 <father id="3246" num="3" />
-<cdparam x="156" y="546" />
+<cdparam x="156" y="162" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3192" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3195" >
 <father id="3246" num="4" />
-<cdparam x="156" y="529" />
+<cdparam x="156" y="179" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3194" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3197" >
 <father id="3246" num="5" />
-<cdparam x="156" y="512" />
+<cdparam x="156" y="196" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3196" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3199" >
 <father id="3246" num="6" />
-<cdparam x="156" y="496" />
+<cdparam x="156" y="212" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3198" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3201" >
 <father id="3246" num="7" />
-<cdparam x="156" y="479" />
+<cdparam x="156" y="229" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3200" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3203" >
 <father id="3246" num="8" />
-<cdparam x="156" y="462" />
+<cdparam x="156" y="246" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3202" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3205" >
 <father id="3246" num="9" />
-<cdparam x="156" y="446" />
+<cdparam x="156" y="262" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3204" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3207" >
 <father id="3246" num="10" />
-<cdparam x="156" y="429" />
+<cdparam x="156" y="279" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3206" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3209" >
 <father id="3246" num="11" />
-<cdparam x="156" y="412" />
+<cdparam x="156" y="296" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3208" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3211" >
 <father id="3246" num="12" />
-<cdparam x="156" y="396" />
+<cdparam x="156" y="312" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3210" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3213" >
 <father id="3246" num="13" />
-<cdparam x="156" y="379" />
+<cdparam x="156" y="329" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3212" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3215" >
 <father id="3246" num="14" />
-<cdparam x="156" y="362" />
+<cdparam x="156" y="346" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3214" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3217" >
 <father id="3246" num="15" />
-<cdparam x="156" y="346" />
+<cdparam x="156" y="362" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3216" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3219" >
 <father id="3246" num="16" />
-<cdparam x="156" y="329" />
+<cdparam x="156" y="379" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3218" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3221" >
 <father id="3246" num="17" />
-<cdparam x="156" y="312" />
+<cdparam x="156" y="396" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3220" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3223" >
 <father id="3246" num="18" />
-<cdparam x="156" y="296" />
+<cdparam x="156" y="412" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3222" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3225" >
 <father id="3246" num="19" />
-<cdparam x="156" y="279" />
+<cdparam x="156" y="429" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3224" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3227" >
 <father id="3246" num="20" />
-<cdparam x="156" y="262" />
+<cdparam x="156" y="446" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3226" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3229" >
 <father id="3246" num="21" />
-<cdparam x="156" y="246" />
+<cdparam x="156" y="462" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3228" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3231" >
 <father id="3246" num="22" />
-<cdparam x="156" y="229" />
+<cdparam x="156" y="479" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3230" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3233" >
 <father id="3246" num="23" />
-<cdparam x="156" y="212" />
+<cdparam x="156" y="496" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3232" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3235" >
 <father id="3246" num="24" />
-<cdparam x="156" y="196" />
+<cdparam x="156" y="512" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3234" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3237" >
 <father id="3246" num="25" />
-<cdparam x="156" y="179" />
+<cdparam x="156" y="529" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3236" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3239" >
 <father id="3246" num="26" />
-<cdparam x="156" y="162" />
+<cdparam x="156" y="546" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3238" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3241" >
 <father id="3246" num="27" />
-<cdparam x="156" y="146" />
+<cdparam x="156" y="562" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3240" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3243" >
 <father id="3246" num="28" />
-<cdparam x="156" y="129" />
+<cdparam x="156" y="571" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3242" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3245" >
 <father id="3246" num="29" />
-<cdparam x="156" y="112" />
+<cdparam x="156" y="106" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="379" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3244" />
 </SUBCOMPONENT>
@@ -8189,48 +8189,48 @@
 <cdparam x="306" y="486" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(16)" />
-<P1  x="306" y="486" id="3139" />
-<P2  x="456" y="486" id="3060" />
+<P1  x="306" y="486" id="3151" />
+<P2  x="456" y="486" id="3090" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3248" >
 <cdparam x="306" y="253" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(21)" />
-<P1  x="306" y="253" id="3167" />
-<P2  x="456" y="253" id="3088" />
+<P1  x="306" y="253" id="3123" />
+<P2  x="456" y="253" id="3062" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3249" >
 <cdparam x="306" y="219" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(18)" />
-<P1  x="306" y="219" id="3171" />
-<P2  x="456" y="219" id="3092" />
+<P1  x="306" y="219" id="3119" />
+<P2  x="456" y="219" id="3058" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3250" >
 <cdparam x="306" y="186" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(19)" />
-<P1  x="306" y="186" id="3175" />
-<P2  x="456" y="186" id="3096" />
+<P1  x="306" y="186" id="3115" />
+<P2  x="456" y="186" id="3054" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3251" >
 <cdparam x="306" y="153" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(19)" />
-<P1  x="306" y="153" id="3179" />
-<P2  x="456" y="153" id="3100" />
+<P1  x="306" y="153" id="3111" />
+<P2  x="456" y="153" id="3050" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3252" >
 <cdparam x="156" y="469" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(16)" />
-<P1  x="156" y="469" id="3202" />
-<P2  x="306" y="469" id="3141" />
+<P1  x="156" y="469" id="3228" />
+<P2  x="306" y="469" id="3149" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3253" >
@@ -8238,47 +8238,47 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="stopAlarm" />
 <P1  x="306" y="436" id="3145" />
-<P2  x="606" y="436" id="3005" />
+<P2  x="606" y="436" id="3023" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3254" >
 <cdparam x="306" y="269" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="startAlarm" />
-<P1  x="306" y="269" id="3165" />
-<P2  x="606" y="269" id="3025" />
+<P1  x="306" y="269" id="3125" />
+<P2  x="606" y="269" id="3003" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3255" >
 <cdparam x="156" y="236" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(21)" />
-<P1  x="156" y="236" id="3230" />
-<P2  x="306" y="236" id="3169" />
+<P1  x="156" y="236" id="3200" />
+<P2  x="306" y="236" id="3121" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3256" >
 <cdparam x="156" y="203" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(18)" />
-<P1  x="156" y="203" id="3234" />
-<P2  x="306" y="203" id="3173" />
+<P1  x="156" y="203" id="3196" />
+<P2  x="306" y="203" id="3117" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3257" >
 <cdparam x="156" y="169" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure19" />
-<P1  x="156" y="169" id="3238" />
-<P2  x="306" y="169" id="3177" />
+<P1  x="156" y="169" id="3192" />
+<P2  x="306" y="169" id="3113" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3258" >
 <cdparam x="156" y="136" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(19)" />
-<P1  x="156" y="136" id="3242" />
-<P2  x="306" y="136" id="3181" />
+<P1  x="156" y="136" id="3188" />
+<P2  x="306" y="136" id="3109" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -8287,7 +8287,7 @@
 <SequenceDiagramPanelZV name="NominalScenario2_1" minX="10" maxX="2500" minY="10" maxY="1500" >
 <COMPONENT type="620" id="3319" >
 <cdparam x="584" y="81" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="413" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="AlarmDriver" value="AlarmDriver" />
@@ -8297,278 +8297,278 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="3260" >
 <father id="3319" num="0" />
-<cdparam x="589" y="114" />
+<cdparam x="589" y="97" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3259" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3262" >
 <father id="3319" num="1" />
-<cdparam x="589" y="131" />
+<cdparam x="589" y="91" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3261" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3264" >
 <father id="3319" num="2" />
-<cdparam x="589" y="147" />
+<cdparam x="589" y="556" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3263" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3266" >
 <father id="3319" num="3" />
-<cdparam x="589" y="164" />
+<cdparam x="589" y="547" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3265" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3268" >
 <father id="3319" num="4" />
-<cdparam x="589" y="181" />
+<cdparam x="589" y="531" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3267" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3270" >
 <father id="3319" num="5" />
-<cdparam x="589" y="197" />
+<cdparam x="589" y="514" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3269" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3272" >
 <father id="3319" num="6" />
-<cdparam x="589" y="214" />
+<cdparam x="589" y="497" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3271" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3274" >
 <father id="3319" num="7" />
-<cdparam x="589" y="231" />
+<cdparam x="589" y="481" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3273" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3276" >
 <father id="3319" num="8" />
-<cdparam x="589" y="247" />
+<cdparam x="589" y="464" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3275" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3278" >
 <father id="3319" num="9" />
-<cdparam x="589" y="264" />
+<cdparam x="589" y="447" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3277" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3280" >
 <father id="3319" num="10" />
-<cdparam x="589" y="281" />
+<cdparam x="589" y="431" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3279" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3282" >
 <father id="3319" num="11" />
-<cdparam x="589" y="297" />
+<cdparam x="589" y="414" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3281" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3284" >
 <father id="3319" num="12" />
-<cdparam x="589" y="314" />
+<cdparam x="589" y="397" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3283" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3286" >
 <father id="3319" num="13" />
-<cdparam x="589" y="331" />
+<cdparam x="589" y="381" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3285" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3288" >
 <father id="3319" num="14" />
-<cdparam x="589" y="347" />
+<cdparam x="589" y="364" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3287" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3290" >
 <father id="3319" num="15" />
-<cdparam x="589" y="364" />
+<cdparam x="589" y="347" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3289" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3292" >
 <father id="3319" num="16" />
-<cdparam x="589" y="381" />
+<cdparam x="589" y="331" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3291" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3294" >
 <father id="3319" num="17" />
-<cdparam x="589" y="397" />
+<cdparam x="589" y="314" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3293" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3296" >
 <father id="3319" num="18" />
-<cdparam x="589" y="414" />
+<cdparam x="589" y="297" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3295" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3298" >
 <father id="3319" num="19" />
-<cdparam x="589" y="431" />
+<cdparam x="589" y="281" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3297" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3300" >
 <father id="3319" num="20" />
-<cdparam x="589" y="447" />
+<cdparam x="589" y="264" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3299" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3302" >
 <father id="3319" num="21" />
-<cdparam x="589" y="464" />
+<cdparam x="589" y="247" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3301" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3304" >
 <father id="3319" num="22" />
-<cdparam x="589" y="481" />
+<cdparam x="589" y="231" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3303" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3306" >
 <father id="3319" num="23" />
-<cdparam x="589" y="497" />
+<cdparam x="589" y="214" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3305" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3308" >
 <father id="3319" num="24" />
-<cdparam x="589" y="514" />
+<cdparam x="589" y="197" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3307" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3310" >
 <father id="3319" num="25" />
-<cdparam x="589" y="531" />
+<cdparam x="589" y="181" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3309" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3312" >
 <father id="3319" num="26" />
-<cdparam x="589" y="547" />
+<cdparam x="589" y="164" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3311" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3314" >
 <father id="3319" num="27" />
-<cdparam x="589" y="556" />
+<cdparam x="589" y="147" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3313" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3316" >
 <father id="3319" num="28" />
-<cdparam x="589" y="91" />
+<cdparam x="589" y="131" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3315" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3318" >
 <father id="3319" num="29" />
-<cdparam x="589" y="97" />
+<cdparam x="589" y="114" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3317" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="3380" >
 <cdparam x="434" y="81" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="413" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="StorageDriver" value="StorageDriver" />
@@ -8578,278 +8578,278 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="3321" >
 <father id="3380" num="0" />
-<cdparam x="439" y="114" />
+<cdparam x="439" y="97" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3320" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3323" >
 <father id="3380" num="1" />
-<cdparam x="439" y="131" />
+<cdparam x="439" y="91" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3322" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3325" >
 <father id="3380" num="2" />
-<cdparam x="439" y="147" />
+<cdparam x="439" y="556" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3324" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3327" >
 <father id="3380" num="3" />
-<cdparam x="439" y="164" />
+<cdparam x="439" y="547" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3326" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3329" >
 <father id="3380" num="4" />
-<cdparam x="439" y="181" />
+<cdparam x="439" y="531" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3328" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3331" >
 <father id="3380" num="5" />
-<cdparam x="439" y="197" />
+<cdparam x="439" y="514" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3330" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3333" >
 <father id="3380" num="6" />
-<cdparam x="439" y="214" />
+<cdparam x="439" y="497" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3332" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3335" >
 <father id="3380" num="7" />
-<cdparam x="439" y="327" />
+<cdparam x="439" y="481" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3334" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3337" >
 <father id="3380" num="8" />
-<cdparam x="439" y="247" />
+<cdparam x="439" y="464" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3336" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3339" >
 <father id="3380" num="9" />
-<cdparam x="439" y="264" />
+<cdparam x="439" y="447" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3338" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3341" >
 <father id="3380" num="10" />
-<cdparam x="439" y="281" />
+<cdparam x="439" y="431" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3340" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3343" >
 <father id="3380" num="11" />
-<cdparam x="439" y="297" />
+<cdparam x="439" y="414" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3342" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3345" >
 <father id="3380" num="12" />
-<cdparam x="439" y="314" />
+<cdparam x="439" y="397" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3344" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3347" >
 <father id="3380" num="13" />
-<cdparam x="439" y="331" />
+<cdparam x="439" y="381" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3346" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3349" >
 <father id="3380" num="14" />
-<cdparam x="439" y="347" />
+<cdparam x="439" y="364" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3348" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3351" >
 <father id="3380" num="15" />
-<cdparam x="439" y="364" />
+<cdparam x="439" y="347" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3350" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3353" >
 <father id="3380" num="16" />
-<cdparam x="439" y="381" />
+<cdparam x="439" y="331" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3352" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3355" >
 <father id="3380" num="17" />
-<cdparam x="439" y="397" />
+<cdparam x="439" y="314" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3354" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3357" >
 <father id="3380" num="18" />
-<cdparam x="439" y="414" />
+<cdparam x="439" y="297" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3356" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3359" >
 <father id="3380" num="19" />
-<cdparam x="439" y="431" />
+<cdparam x="439" y="281" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3358" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3361" >
 <father id="3380" num="20" />
-<cdparam x="439" y="447" />
+<cdparam x="439" y="264" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3360" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3363" >
 <father id="3380" num="21" />
-<cdparam x="439" y="464" />
+<cdparam x="439" y="247" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3362" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3365" >
 <father id="3380" num="22" />
-<cdparam x="439" y="481" />
+<cdparam x="439" y="327" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3364" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3367" >
 <father id="3380" num="23" />
-<cdparam x="439" y="497" />
+<cdparam x="439" y="214" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3366" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3369" >
 <father id="3380" num="24" />
-<cdparam x="439" y="514" />
+<cdparam x="439" y="197" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3368" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3371" >
 <father id="3380" num="25" />
-<cdparam x="439" y="531" />
+<cdparam x="439" y="181" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3370" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3373" >
 <father id="3380" num="26" />
-<cdparam x="439" y="547" />
+<cdparam x="439" y="164" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3372" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3375" >
 <father id="3380" num="27" />
-<cdparam x="439" y="556" />
+<cdparam x="439" y="147" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3374" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3377" >
 <father id="3380" num="28" />
-<cdparam x="439" y="91" />
+<cdparam x="439" y="131" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3376" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3379" >
 <father id="3380" num="29" />
-<cdparam x="439" y="97" />
+<cdparam x="439" y="114" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3378" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="3459" >
 <cdparam x="284" y="81" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="413" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureMonitoringSoftware" value="PressureMonitoringSoftware" />
@@ -8859,316 +8859,316 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="3382" >
 <father id="3459" num="0" />
-<cdparam x="289" y="114" />
+<cdparam x="289" y="97" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3381" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3384" >
 <father id="3459" num="1" />
-<cdparam x="289" y="131" />
+<cdparam x="289" y="91" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3383" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3386" >
+<SUBCOMPONENT type="627" id="3393" >
 <father id="3459" num="2" />
-<cdparam x="289" y="147" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="302" y="376" />
+<sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
-<infoparam name="port" value="port" />
+<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="391" />
+<infoparam name="timer expiration" value="{timer=timerAlarm}" />
 <TGConnectingPoint num="0" id="3385" />
+<TGConnectingPoint num="1" id="3386" />
+<TGConnectingPoint num="2" id="3387" />
+<TGConnectingPoint num="3" id="3388" />
+<TGConnectingPoint num="4" id="3389" />
+<TGConnectingPoint num="5" id="3390" />
+<TGConnectingPoint num="6" id="3391" />
+<TGConnectingPoint num="7" id="3392" />
+<extraparam>
+<Interval timer="timerAlarm" />
+</extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3388" >
+<SUBCOMPONENT type="625" id="3402" >
 <father id="3459" num="3" />
-<cdparam x="289" y="164" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="302" y="281" />
+<sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
-<infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3387" />
+<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="391" />
+<infoparam name="setting timer" value="{timer=timerAlarm, duration=60}" />
+<TGConnectingPoint num="0" id="3394" />
+<TGConnectingPoint num="1" id="3395" />
+<TGConnectingPoint num="2" id="3396" />
+<TGConnectingPoint num="3" id="3397" />
+<TGConnectingPoint num="4" id="3398" />
+<TGConnectingPoint num="5" id="3399" />
+<TGConnectingPoint num="6" id="3400" />
+<TGConnectingPoint num="7" id="3401" />
+<extraparam>
+<Interval timer="timerAlarm" duration="60" />
+</extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3390" >
+<SUBCOMPONENT type="630" id="3404" >
 <father id="3459" num="4" />
-<cdparam x="289" y="181" />
+<cdparam x="289" y="556" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3389" />
+<TGConnectingPoint num="0" id="3403" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3392" >
+<SUBCOMPONENT type="630" id="3406" >
 <father id="3459" num="5" />
-<cdparam x="289" y="197" />
+<cdparam x="289" y="547" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3391" />
+<TGConnectingPoint num="0" id="3405" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3394" >
+<SUBCOMPONENT type="630" id="3408" >
 <father id="3459" num="6" />
-<cdparam x="289" y="214" />
+<cdparam x="289" y="531" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3393" />
+<TGConnectingPoint num="0" id="3407" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3396" >
+<SUBCOMPONENT type="630" id="3410" >
 <father id="3459" num="7" />
-<cdparam x="289" y="327" />
+<cdparam x="289" y="514" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3395" />
+<TGConnectingPoint num="0" id="3409" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3398" >
+<SUBCOMPONENT type="630" id="3412" >
 <father id="3459" num="8" />
-<cdparam x="289" y="247" />
+<cdparam x="289" y="497" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3397" />
+<TGConnectingPoint num="0" id="3411" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3400" >
+<SUBCOMPONENT type="630" id="3414" >
 <father id="3459" num="9" />
-<cdparam x="289" y="264" />
+<cdparam x="289" y="481" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3399" />
+<TGConnectingPoint num="0" id="3413" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3402" >
+<SUBCOMPONENT type="630" id="3416" >
 <father id="3459" num="10" />
-<cdparam x="289" y="281" />
+<cdparam x="289" y="464" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3401" />
+<TGConnectingPoint num="0" id="3415" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3404" >
+<SUBCOMPONENT type="630" id="3418" >
 <father id="3459" num="11" />
-<cdparam x="289" y="297" />
+<cdparam x="289" y="447" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3403" />
+<TGConnectingPoint num="0" id="3417" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3406" >
+<SUBCOMPONENT type="630" id="3420" >
 <father id="3459" num="12" />
-<cdparam x="289" y="314" />
+<cdparam x="289" y="431" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3405" />
+<TGConnectingPoint num="0" id="3419" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3408" >
+<SUBCOMPONENT type="630" id="3422" >
 <father id="3459" num="13" />
-<cdparam x="289" y="331" />
+<cdparam x="289" y="414" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3407" />
+<TGConnectingPoint num="0" id="3421" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3410" >
+<SUBCOMPONENT type="630" id="3424" >
 <father id="3459" num="14" />
-<cdparam x="289" y="347" />
+<cdparam x="289" y="397" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3409" />
+<TGConnectingPoint num="0" id="3423" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3412" >
+<SUBCOMPONENT type="630" id="3426" >
 <father id="3459" num="15" />
-<cdparam x="289" y="364" />
+<cdparam x="289" y="381" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3411" />
+<TGConnectingPoint num="0" id="3425" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3414" >
+<SUBCOMPONENT type="630" id="3428" >
 <father id="3459" num="16" />
-<cdparam x="289" y="381" />
+<cdparam x="289" y="364" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3413" />
+<TGConnectingPoint num="0" id="3427" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3416" >
+<SUBCOMPONENT type="630" id="3430" >
 <father id="3459" num="17" />
-<cdparam x="289" y="397" />
+<cdparam x="289" y="347" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3415" />
+<TGConnectingPoint num="0" id="3429" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3418" >
+<SUBCOMPONENT type="630" id="3432" >
 <father id="3459" num="18" />
-<cdparam x="289" y="414" />
+<cdparam x="289" y="331" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3417" />
+<TGConnectingPoint num="0" id="3431" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3420" >
+<SUBCOMPONENT type="630" id="3434" >
 <father id="3459" num="19" />
-<cdparam x="289" y="431" />
+<cdparam x="289" y="314" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3419" />
+<TGConnectingPoint num="0" id="3433" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3422" >
+<SUBCOMPONENT type="630" id="3436" >
 <father id="3459" num="20" />
-<cdparam x="289" y="447" />
+<cdparam x="289" y="297" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3421" />
+<TGConnectingPoint num="0" id="3435" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3424" >
+<SUBCOMPONENT type="630" id="3438" >
 <father id="3459" num="21" />
-<cdparam x="289" y="464" />
+<cdparam x="289" y="281" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3423" />
+<TGConnectingPoint num="0" id="3437" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3426" >
+<SUBCOMPONENT type="630" id="3440" >
 <father id="3459" num="22" />
-<cdparam x="289" y="481" />
+<cdparam x="289" y="264" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3425" />
+<TGConnectingPoint num="0" id="3439" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3428" >
+<SUBCOMPONENT type="630" id="3442" >
 <father id="3459" num="23" />
-<cdparam x="289" y="497" />
+<cdparam x="289" y="247" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3427" />
+<TGConnectingPoint num="0" id="3441" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3430" >
+<SUBCOMPONENT type="630" id="3444" >
 <father id="3459" num="24" />
-<cdparam x="289" y="514" />
+<cdparam x="289" y="327" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3429" />
+<TGConnectingPoint num="0" id="3443" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3432" >
+<SUBCOMPONENT type="630" id="3446" >
 <father id="3459" num="25" />
-<cdparam x="289" y="531" />
+<cdparam x="289" y="214" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3431" />
+<TGConnectingPoint num="0" id="3445" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3434" >
+<SUBCOMPONENT type="630" id="3448" >
 <father id="3459" num="26" />
-<cdparam x="289" y="547" />
+<cdparam x="289" y="197" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3433" />
+<TGConnectingPoint num="0" id="3447" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="630" id="3436" >
+<SUBCOMPONENT type="630" id="3450" >
 <father id="3459" num="27" />
-<cdparam x="289" y="556" />
+<cdparam x="289" y="181" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
-<TGConnectingPoint num="0" id="3435" />
+<TGConnectingPoint num="0" id="3449" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="625" id="3445" >
+<SUBCOMPONENT type="630" id="3452" >
 <father id="3459" num="28" />
-<cdparam x="302" y="281" />
-<sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="289" y="164" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="478" />
-<infoparam name="setting timer" value="{timer=timerAlarm, duration=60}" />
-<TGConnectingPoint num="0" id="3437" />
-<TGConnectingPoint num="1" id="3438" />
-<TGConnectingPoint num="2" id="3439" />
-<TGConnectingPoint num="3" id="3440" />
-<TGConnectingPoint num="4" id="3441" />
-<TGConnectingPoint num="5" id="3442" />
-<TGConnectingPoint num="6" id="3443" />
-<TGConnectingPoint num="7" id="3444" />
-<extraparam>
-<Interval timer="timerAlarm" duration="60" />
-</extraparam>
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
+<infoparam name="port" value="port" />
+<TGConnectingPoint num="0" id="3451" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="627" id="3454" >
+<SUBCOMPONENT type="630" id="3454" >
 <father id="3459" num="29" />
-<cdparam x="302" y="376" />
-<sizeparam width="15" height="25" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="289" y="147" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="18" maxX="18" minY="-2" maxY="478" />
-<infoparam name="timer expiration" value="{timer=timerAlarm}" />
-<TGConnectingPoint num="0" id="3446" />
-<TGConnectingPoint num="1" id="3447" />
-<TGConnectingPoint num="2" id="3448" />
-<TGConnectingPoint num="3" id="3449" />
-<TGConnectingPoint num="4" id="3450" />
-<TGConnectingPoint num="5" id="3451" />
-<TGConnectingPoint num="6" id="3452" />
-<TGConnectingPoint num="7" id="3453" />
-<extraparam>
-<Interval timer="timerAlarm" />
-</extraparam>
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
+<infoparam name="port" value="port" />
+<TGConnectingPoint num="0" id="3453" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3456" >
 <father id="3459" num="30" />
-<cdparam x="289" y="91" />
+<cdparam x="289" y="131" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3455" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3458" >
 <father id="3459" num="31" />
-<cdparam x="289" y="97" />
+<cdparam x="289" y="114" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3457" />
 </SUBCOMPONENT>
 
 <COMPONENT type="620" id="3520" >
 <cdparam x="134" y="81" />
-<sizeparam width="10" height="500" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="10" height="413" minWidth="10" minHeight="25" maxWidth="10" maxHeight="2500" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="PressureSensorDriver" value="PressureSensorDriver" />
@@ -9178,271 +9178,271 @@
 </COMPONENT>
 <SUBCOMPONENT type="630" id="3461" >
 <father id="3520" num="0" />
-<cdparam x="139" y="114" />
+<cdparam x="139" y="97" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3460" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3463" >
 <father id="3520" num="1" />
-<cdparam x="139" y="131" />
+<cdparam x="139" y="91" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3462" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3465" >
 <father id="3520" num="2" />
-<cdparam x="139" y="147" />
+<cdparam x="139" y="556" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3464" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3467" >
 <father id="3520" num="3" />
-<cdparam x="139" y="164" />
+<cdparam x="139" y="547" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3466" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3469" >
 <father id="3520" num="4" />
-<cdparam x="139" y="181" />
+<cdparam x="139" y="531" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3468" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3471" >
 <father id="3520" num="5" />
-<cdparam x="139" y="197" />
+<cdparam x="139" y="514" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3470" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3473" >
 <father id="3520" num="6" />
-<cdparam x="139" y="214" />
+<cdparam x="139" y="497" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3472" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3475" >
 <father id="3520" num="7" />
-<cdparam x="139" y="231" />
+<cdparam x="139" y="481" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3474" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3477" >
 <father id="3520" num="8" />
-<cdparam x="139" y="247" />
+<cdparam x="139" y="464" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3476" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3479" >
 <father id="3520" num="9" />
-<cdparam x="139" y="264" />
+<cdparam x="139" y="447" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3478" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3481" >
 <father id="3520" num="10" />
-<cdparam x="139" y="281" />
+<cdparam x="139" y="431" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3480" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3483" >
 <father id="3520" num="11" />
-<cdparam x="139" y="297" />
+<cdparam x="139" y="414" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3482" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3485" >
 <father id="3520" num="12" />
-<cdparam x="139" y="314" />
+<cdparam x="139" y="397" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3484" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3487" >
 <father id="3520" num="13" />
-<cdparam x="139" y="331" />
+<cdparam x="139" y="381" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3486" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3489" >
 <father id="3520" num="14" />
-<cdparam x="139" y="347" />
+<cdparam x="139" y="364" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3488" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3491" >
 <father id="3520" num="15" />
-<cdparam x="139" y="364" />
+<cdparam x="139" y="347" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3490" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3493" >
 <father id="3520" num="16" />
-<cdparam x="139" y="381" />
+<cdparam x="139" y="331" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3492" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3495" >
 <father id="3520" num="17" />
-<cdparam x="139" y="397" />
+<cdparam x="139" y="314" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3494" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3497" >
 <father id="3520" num="18" />
-<cdparam x="139" y="414" />
+<cdparam x="139" y="297" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3496" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3499" >
 <father id="3520" num="19" />
-<cdparam x="139" y="431" />
+<cdparam x="139" y="281" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3498" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3501" >
 <father id="3520" num="20" />
-<cdparam x="139" y="447" />
+<cdparam x="139" y="264" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3500" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3503" >
 <father id="3520" num="21" />
-<cdparam x="139" y="464" />
+<cdparam x="139" y="247" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3502" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3505" >
 <father id="3520" num="22" />
-<cdparam x="139" y="481" />
+<cdparam x="139" y="231" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3504" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3507" >
 <father id="3520" num="23" />
-<cdparam x="139" y="497" />
+<cdparam x="139" y="214" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3506" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3509" >
 <father id="3520" num="24" />
-<cdparam x="139" y="514" />
+<cdparam x="139" y="197" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3508" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3511" >
 <father id="3520" num="25" />
-<cdparam x="139" y="531" />
+<cdparam x="139" y="181" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3510" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3513" >
 <father id="3520" num="26" />
-<cdparam x="139" y="547" />
+<cdparam x="139" y="164" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3512" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3515" >
 <father id="3520" num="27" />
-<cdparam x="139" y="556" />
+<cdparam x="139" y="147" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3514" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3517" >
 <father id="3520" num="28" />
-<cdparam x="139" y="91" />
+<cdparam x="139" y="131" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3516" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="630" id="3519" >
 <father id="3520" num="29" />
-<cdparam x="139" y="97" />
+<cdparam x="139" y="114" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="5" maxX="5" minY="10" maxY="475" />
+<cdrectangleparam minX="5" maxX="5" minY="10" maxY="388" />
 <infoparam name="port" value="port" />
 <TGConnectingPoint num="0" id="3518" />
 </SUBCOMPONENT>
@@ -9451,96 +9451,96 @@
 <cdparam x="289" y="471" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(16)" />
-<P1  x="289" y="471" id="3423" />
-<P2  x="439" y="471" id="3362" />
+<P1  x="289" y="471" id="3415" />
+<P2  x="439" y="471" id="3336" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3522" >
 <cdparam x="289" y="238" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(21)" />
-<P1  x="289" y="334" id="3395" />
-<P2  x="439" y="334" id="3334" />
+<P1  x="289" y="334" id="3443" />
+<P2  x="439" y="334" id="3364" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3523" >
 <cdparam x="289" y="204" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(18)" />
-<P1  x="289" y="204" id="3391" />
-<P2  x="439" y="204" id="3330" />
+<P1  x="289" y="204" id="3447" />
+<P2  x="439" y="204" id="3368" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3524" >
 <cdparam x="289" y="171" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(19)" />
-<P1  x="289" y="171" id="3387" />
-<P2  x="439" y="171" id="3326" />
+<P1  x="289" y="171" id="3451" />
+<P2  x="439" y="171" id="3372" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3525" >
 <cdparam x="289" y="138" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="store(19)" />
-<P1  x="289" y="138" id="3383" />
-<P2  x="439" y="138" id="3322" />
+<P1  x="289" y="138" id="3455" />
+<P2  x="439" y="138" id="3376" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3526" >
 <cdparam x="139" y="454" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(16)" />
-<P1  x="139" y="454" id="3500" />
-<P2  x="289" y="454" id="3421" />
+<P1  x="139" y="454" id="3478" />
+<P2  x="289" y="454" id="3417" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3527" >
 <cdparam x="289" y="421" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="stopAlarm" />
-<P1  x="289" y="421" id="3417" />
-<P2  x="589" y="421" id="3295" />
+<P1  x="289" y="421" id="3421" />
+<P2  x="589" y="421" id="3281" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3528" >
 <cdparam x="289" y="254" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="startAlarm" />
-<P1  x="289" y="254" id="3397" />
-<P2  x="589" y="254" id="3275" />
+<P1  x="289" y="254" id="3441" />
+<P2  x="589" y="254" id="3301" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3529" >
 <cdparam x="139" y="221" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(21)" />
-<P1  x="139" y="221" id="3472" />
-<P2  x="289" y="221" id="3393" />
+<P1  x="139" y="221" id="3506" />
+<P2  x="289" y="221" id="3445" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3530" >
 <cdparam x="139" y="188" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(18)" />
-<P1  x="139" y="188" id="3468" />
-<P2  x="289" y="188" id="3389" />
+<P1  x="139" y="188" id="3510" />
+<P2  x="289" y="188" id="3449" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3531" >
 <cdparam x="139" y="154" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure19" />
-<P1  x="139" y="154" id="3464" />
-<P2  x="289" y="154" id="3385" />
+<P1  x="139" y="154" id="3514" />
+<P2  x="289" y="154" id="3453" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="107" id="3532" >
 <cdparam x="139" y="121" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="pressure(19)" />
-<P1  x="139" y="121" id="3460" />
-<P2  x="289" y="121" id="3381" />
+<P1  x="139" y="121" id="3518" />
+<P2  x="289" y="121" id="3457" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -9651,7 +9651,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="3533" />
-<P1  x="964" y="240" id="3610" />
+<P1  x="964" y="240" id="3635" />
 <P2  x="1088" y="240" id="3559" />
 <AutomaticDrawing  data="true" />
 <extraparam>
@@ -9667,8 +9667,8 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="3535" />
-<P1  x="659" y="240" id="3635" />
-<P2  x="714" y="240" id="3609" />
+<P1  x="659" y="240" id="3610" />
+<P2  x="714" y="240" id="3634" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in highPressure()" />
@@ -9682,7 +9682,7 @@
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="3537" />
 <P1  x="325" y="241" id="3585" />
-<P2  x="409" y="240" id="3634" />
+<P2  x="409" y="240" id="3609" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in pressureValue(int value)" />
@@ -9887,11 +9887,11 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 </COMPONENT>
 <SUBCOMPONENT type="5000" id="3630" >
 <father id="3680" num="0" />
-<cdparam x="714" y="140" />
+<cdparam x="409" y="140" />
 <sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="355" minY="0" maxY="138" />
-<infoparam name="Block0" value="AlarmManager" />
+<infoparam name="Block0" value="MainController" />
 <TGConnectingPoint num="0" id="3606" />
 <TGConnectingPoint num="1" id="3607" />
 <TGConnectingPoint num="2" id="3608" />
@@ -9919,20 +9919,19 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <extraparam>
 <blockType data="block" color="-4072719" />
 <CryptoBlock value="false" />
-<Attribute access="0" id="alarmDuration" value="60" type="8" typeOther="" />
-<Attribute access="0" id="alarmTimer" value="" type="9" typeOther="" />
-<Signal value="in highPressure()" attached="true" />
-<Signal value="out alarmOff()" attached="true" />
-<Signal value="out alarmOn()" attached="true" />
+<Attribute access="0" id="threshold" value="20" type="8" typeOther="" />
+<Attribute access="0" id="currentPressure" value="0" type="8" typeOther="" />
+<Signal value="in pressureValue(int value)" attached="true" />
+<Signal value="out highPressure()" attached="true" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5000" id="3655" >
 <father id="3680" num="1" />
-<cdparam x="409" y="140" />
+<cdparam x="714" y="140" />
 <sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="355" minY="0" maxY="138" />
-<infoparam name="Block0" value="MainController" />
+<infoparam name="Block0" value="AlarmManager" />
 <TGConnectingPoint num="0" id="3631" />
 <TGConnectingPoint num="1" id="3632" />
 <TGConnectingPoint num="2" id="3633" />
@@ -9960,10 +9959,11 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <extraparam>
 <blockType data="block" color="-4072719" />
 <CryptoBlock value="false" />
-<Attribute access="0" id="threshold" value="20" type="8" typeOther="" />
-<Attribute access="0" id="currentPressure" value="0" type="8" typeOther="" />
-<Signal value="in pressureValue(int value)" attached="true" />
-<Signal value="out highPressure()" attached="true" />
+<Attribute access="0" id="alarmDuration" value="60" type="8" typeOther="" />
+<Attribute access="0" id="alarmTimer" value="" type="9" typeOther="" />
+<Signal value="in highPressure()" attached="true" />
+<Signal value="out alarmOff()" attached="true" />
+<Signal value="out alarmOn()" attached="true" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10366,8 +10366,8 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 </COMPONENT>
 
 <COMPONENT type="5104" id="3838" >
-<cdparam x="540" y="206" />
-<sizeparam width="76" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="538" y="206" />
+<sizeparam width="80" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -10385,8 +10385,8 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 </COMPONENT>
 
 <COMPONENT type="5104" id="3849" >
-<cdparam x="326" y="208" />
-<sizeparam width="75" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="323" y="208" />
+<sizeparam width="80" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
@@ -12352,7 +12352,7 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="4623" />
-<P1  x="964" y="240" id="4708" />
+<P1  x="964" y="240" id="4683" />
 <P2  x="1088" y="240" id="4632" />
 <AutomaticDrawing  data="true" />
 <extraparam>
@@ -12368,8 +12368,8 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="4625" />
-<P1  x="659" y="240" id="4683" />
-<P2  x="714" y="240" id="4707" />
+<P1  x="659" y="240" id="4708" />
+<P2  x="714" y="240" id="4682" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in highPressure()" />
@@ -12383,7 +12383,7 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="4627" />
 <P1  x="325" y="241" id="4658" />
-<P2  x="409" y="240" id="4682" />
+<P2  x="409" y="240" id="4707" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in pressureValue(int value)" />
@@ -12528,11 +12528,11 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 </COMPONENT>
 <SUBCOMPONENT type="5000" id="4703" >
 <father id="4753" num="0" />
-<cdparam x="409" y="140" />
+<cdparam x="714" y="140" />
 <sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="355" minY="0" maxY="138" />
-<infoparam name="Block0" value="MainController" />
+<infoparam name="Block0" value="AlarmManager" />
 <TGConnectingPoint num="0" id="4679" />
 <TGConnectingPoint num="1" id="4680" />
 <TGConnectingPoint num="2" id="4681" />
@@ -12560,19 +12560,20 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <extraparam>
 <blockType data="block" color="-4072719" />
 <CryptoBlock value="false" />
-<Attribute access="0" id="threshold" value="20" type="8" typeOther="" />
-<Attribute access="0" id="currentPressure" value="0" type="8" typeOther="" />
-<Signal value="in pressureValue(int value)" attached="true" />
-<Signal value="out highPressure()" attached="true" />
+<Attribute access="0" id="alarmDuration" value="60" type="8" typeOther="" />
+<Attribute access="0" id="alarmTimer" value="" type="9" typeOther="" />
+<Signal value="in highPressure()" attached="true" />
+<Signal value="out alarmOff()" attached="true" />
+<Signal value="out alarmOn()" attached="true" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5000" id="4728" >
 <father id="4753" num="1" />
-<cdparam x="714" y="140" />
+<cdparam x="409" y="140" />
 <sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="355" minY="0" maxY="138" />
-<infoparam name="Block0" value="AlarmManager" />
+<infoparam name="Block0" value="MainController" />
 <TGConnectingPoint num="0" id="4704" />
 <TGConnectingPoint num="1" id="4705" />
 <TGConnectingPoint num="2" id="4706" />
@@ -12600,11 +12601,10 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <extraparam>
 <blockType data="block" color="-4072719" />
 <CryptoBlock value="false" />
-<Attribute access="0" id="alarmDuration" value="60" type="8" typeOther="" />
-<Attribute access="0" id="alarmTimer" value="" type="9" typeOther="" />
-<Signal value="in highPressure()" attached="true" />
-<Signal value="out alarmOff()" attached="true" />
-<Signal value="out alarmOn()" attached="true" />
+<Attribute access="0" id="threshold" value="20" type="8" typeOther="" />
+<Attribute access="0" id="currentPressure" value="0" type="8" typeOther="" />
+<Signal value="in pressureValue(int value)" attached="true" />
+<Signal value="out highPressure()" attached="true" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -14912,7 +14912,7 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="5606" />
-<P1  x="964" y="240" id="5725" />
+<P1  x="964" y="240" id="5700" />
 <P2  x="1088" y="240" id="5649" />
 <AutomaticDrawing  data="true" />
 <extraparam>
@@ -14928,8 +14928,8 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="5608" />
-<P1  x="659" y="240" id="5700" />
-<P2  x="714" y="240" id="5724" />
+<P1  x="659" y="240" id="5725" />
+<P2  x="714" y="240" id="5699" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in highPressure()" />
@@ -14943,7 +14943,7 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="5610" />
 <P1  x="325" y="241" id="5675" />
-<P2  x="409" y="240" id="5699" />
+<P2  x="409" y="240" id="5724" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in pressureValue(int value)" />
@@ -15179,11 +15179,11 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 </COMPONENT>
 <SUBCOMPONENT type="5000" id="5720" >
 <father id="5770" num="0" />
-<cdparam x="409" y="140" />
+<cdparam x="714" y="140" />
 <sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="355" minY="0" maxY="138" />
-<infoparam name="Block0" value="MainController" />
+<infoparam name="Block0" value="AlarmManager" />
 <TGConnectingPoint num="0" id="5696" />
 <TGConnectingPoint num="1" id="5697" />
 <TGConnectingPoint num="2" id="5698" />
@@ -15211,19 +15211,20 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <extraparam>
 <blockType data="block" color="-4072719" />
 <CryptoBlock value="false" />
-<Attribute access="0" id="threshold" value="20" type="8" typeOther="" />
-<Attribute access="0" id="currentPressure" value="0" type="8" typeOther="" />
-<Signal value="in pressureValue(int value)" attached="true" />
-<Signal value="out highPressure()" attached="true" />
+<Attribute access="0" id="alarmDuration" value="5" type="8" typeOther="" />
+<Attribute access="0" id="alarmTimer" value="" type="9" typeOther="" />
+<Signal value="in highPressure()" attached="true" />
+<Signal value="out alarmOff()" attached="true" />
+<Signal value="out alarmOn()" attached="true" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5000" id="5745" >
 <father id="5770" num="1" />
-<cdparam x="714" y="140" />
+<cdparam x="409" y="140" />
 <sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="355" minY="0" maxY="138" />
-<infoparam name="Block0" value="AlarmManager" />
+<infoparam name="Block0" value="MainController" />
 <TGConnectingPoint num="0" id="5721" />
 <TGConnectingPoint num="1" id="5722" />
 <TGConnectingPoint num="2" id="5723" />
@@ -15251,11 +15252,10 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 <extraparam>
 <blockType data="block" color="-4072719" />
 <CryptoBlock value="false" />
-<Attribute access="0" id="alarmDuration" value="5" type="8" typeOther="" />
-<Attribute access="0" id="alarmTimer" value="" type="9" typeOther="" />
-<Signal value="in highPressure()" attached="true" />
-<Signal value="out alarmOff()" attached="true" />
-<Signal value="out alarmOn()" attached="true" />
+<Attribute access="0" id="threshold" value="20" type="8" typeOther="" />
+<Attribute access="0" id="currentPressure" value="0" type="8" typeOther="" />
+<Signal value="in pressureValue(int value)" attached="true" />
+<Signal value="out highPressure()" attached="true" />
 </extraparam>
 </SUBCOMPONENT>
 
diff --git a/modeling/DIPLODOCUS/SmartCardProtocol.xml b/modeling/DIPLODOCUS/SmartCardProtocol.xml
index 393fb56f18f97881657ca36709eb30cf2a0c306a..4b894f57e389e9af1e8051d5f3915537080be53a 100755
--- a/modeling/DIPLODOCUS/SmartCardProtocol.xml
+++ b/modeling/DIPLODOCUS/SmartCardProtocol.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="true" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="3" LAST_SELECTED_SUB_TAB="0">
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="false" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="3" LAST_SELECTED_SUB_TAB="0">
 
 <Modeling type="TML Component Design" nameTab="AppC" tabs="TML Component Task Diagram$Application$TCPIP$Timer$InterfaceDevice$SmartCard" >
 <TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="0" maxX="2724" minY="0" maxY="916" channels="true" events="true" requests="true" zoom="1.0000000000000018" >
@@ -8,16 +8,16 @@
 <cdparam x="535" y="347" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="556" y="321" id="113" />
-<P2  x="534" y="395" id="68" />
+<P1  x="556" y="321" id="169" />
+<P2  x="534" y="395" id="216" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="3" >
 <cdparam x="820" y="398" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1025" y="471" id="210" />
-<P2  x="761" y="548" id="98" />
+<P1  x="1025" y="471" id="63" />
+<P2  x="761" y="548" id="184" />
 <Point x="887" y="577" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="2" >
@@ -33,128 +33,128 @@
 <cdparam x="568" y="323" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="710" y="403" id="96" />
-<P2  x="693" y="321" id="135" />
+<P1  x="710" y="403" id="186" />
+<P2  x="693" y="321" id="147" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="5" >
 <cdparam x="522" y="390" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="534" y="369" id="63" />
-<P2  x="453" y="322" id="33" />
+<P1  x="534" y="369" id="211" />
+<P2  x="453" y="322" id="41" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="6" >
 <cdparam x="409" y="124" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="401" y="83" id="31" />
-<P2  x="593" y="84" id="111" />
+<P1  x="401" y="83" id="43" />
+<P2  x="593" y="84" id="171" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="7" >
 <cdparam x="656" y="426" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="805" y="542" id="92" />
-<P2  x="969" y="474" id="196" />
+<P1  x="805" y="542" id="190" />
+<P2  x="969" y="474" id="77" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="8" >
 <cdparam x="656" y="400" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="805" y="509" id="90" />
-<P2  x="931" y="466" id="198" />
+<P1  x="805" y="509" id="192" />
+<P2  x="931" y="466" id="75" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="9" >
 <cdparam x="602" y="327" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="751" y="406" id="82" />
-<P2  x="842" y="362" id="162" />
+<P1  x="751" y="406" id="200" />
+<P2  x="842" y="362" id="105" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="10" >
 <cdparam x="689" y="292" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="842" y="388" id="166" />
-<P2  x="931" y="352" id="188" />
+<P1  x="842" y="388" id="109" />
+<P2  x="931" y="352" id="85" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="11" >
 <cdparam x="656" y="377" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="805" y="481" id="86" />
-<P2  x="931" y="443" id="190" />
+<P1  x="805" y="481" id="196" />
+<P2  x="931" y="443" id="83" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="12" >
 <cdparam x="656" y="351" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="805" y="448" id="88" />
-<P2  x="931" y="416" id="192" />
+<P1  x="805" y="448" id="194" />
+<P2  x="931" y="416" id="81" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="13" >
 <cdparam x="741" y="296" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="931" y="387" id="194" />
-<P2  x="805" y="419" id="84" />
+<P1  x="931" y="387" id="79" />
+<P2  x="805" y="419" id="198" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="14" >
 <cdparam x="735" y="260" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="931" y="317" id="186" />
-<P2  x="734" y="269" id="123" />
+<P1  x="931" y="317" id="87" />
+<P2  x="734" y="269" id="159" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="15" >
 <cdparam x="641" y="230" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="734" y="235" id="125" />
-<P2  x="931" y="278" id="184" />
+<P1  x="734" y="235" id="157" />
+<P2  x="931" y="278" id="89" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="16" >
 <cdparam x="641" y="195" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="734" y="190" id="127" />
-<P2  x="931" y="235" id="182" />
+<P1  x="734" y="190" id="155" />
+<P2  x="931" y="235" id="91" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="17" >
 <cdparam x="740" y="353" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="842" y="362" id="161" />
-<P2  x="734" y="301" id="129" />
+<P1  x="842" y="362" id="104" />
+<P2  x="734" y="301" id="153" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="18" >
 <cdparam x="460" y="270" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="534" y="290" id="119" />
-<P2  x="453" y="290" id="39" />
+<P1  x="534" y="290" id="163" />
+<P2  x="453" y="290" id="35" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="19" >
 <cdparam x="387" y="129" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="453" y="116" id="43" />
-<P2  x="534" y="116" id="131" />
+<P1  x="453" y="116" id="31" />
+<P2  x="534" y="116" id="151" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="20" >
@@ -162,63 +162,63 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
 <P1  x="453" y="202" id="37" />
-<P2  x="534" y="202" id="117" />
+<P2  x="534" y="202" id="165" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="21" >
 <cdparam x="460" y="236" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="534" y="247" id="115" />
-<P2  x="453" y="247" id="35" />
+<P1  x="534" y="247" id="167" />
+<P2  x="453" y="247" id="39" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="22" >
 <cdparam x="389" y="163" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="453" y="156" id="41" />
-<P2  x="534" y="156" id="121" />
+<P1  x="453" y="156" id="33" />
+<P2  x="534" y="156" id="161" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="23" >
 <cdparam x="967" y="190" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="931" y="185" id="180" />
-<P2  x="734" y="111" id="109" />
+<P1  x="931" y="185" id="93" />
+<P2  x="734" y="111" id="173" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="24" >
 <cdparam x="1028" y="535" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="630" y="324" id="133" />
-<P2  x="669" y="406" id="94" />
+<P1  x="630" y="324" id="149" />
+<P2  x="669" y="406" id="188" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="25" >
 <cdparam x="1308" y="303" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="1232" y="368" id="146" />
-<P2  x="1167" y="370" id="200" />
+<P1  x="1232" y="368" id="127" />
+<P2  x="1167" y="370" id="73" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="26" >
 <cdparam x="1172" y="437" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="1167" y="405" id="202" />
-<P2  x="1232" y="403" id="148" />
+<P1  x="1167" y="405" id="71" />
+<P2  x="1232" y="403" id="125" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="29" >
 <cdparam x="1041" y="162" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="1167" y="198" id="204" />
-<P2  x="1167" y="266" id="206" />
+<P1  x="1167" y="198" id="69" />
+<P2  x="1167" y="266" id="67" />
 <Point x="1227" y="207" />
 <Point x="1227" y="247" />
 <AutomaticDrawing  data="true" />
@@ -243,8 +243,8 @@
 <cdparam x="877" y="343" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="1167" y="444" id="208" />
-<P2  x="1232" y="431" id="150" />
+<P1  x="1167" y="444" id="65" />
+<P2  x="1232" y="431" id="123" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="1202" id="53" >
@@ -272,14 +272,14 @@
 </COMPONENT>
 <SUBCOMPONENT type="1203" id="32" >
 <father id="53" num="0" />
-<cdparam x="388" y="83" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="443" y="116" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Event reset, pTS, end" />
+<cdrectangleparam minX="-10" maxX="280" minY="-10" maxY="266" />
+<infoparam name="TGComponent" value="Request activation" />
 <TGConnectingPoint num="0" id="31" />
 <extraparam>
-<Prop commName="reset, pTS, end" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="activation" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -289,16 +289,16 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="34" >
 <father id="53" num="1" />
-<cdparam x="440" y="322" />
+<cdparam x="440" y="156" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<infoparam name="TGComponent" value="Event data_Ready" />
 <TGConnectingPoint num="0" id="33" />
 <extraparam>
-<Prop commName="answerToReset, pTSConfirm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Prop commName="data_Ready" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -306,14 +306,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="36" >
 <father id="53" num="2" />
-<cdparam x="440" y="247" />
+<cdparam x="440" y="290" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
 <TGConnectingPoint num="0" id="35" />
 <extraparam>
-<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="data_Ready_SC" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -340,14 +340,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="40" >
 <father id="53" num="4" />
-<cdparam x="440" y="290" />
+<cdparam x="440" y="247" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
 <TGConnectingPoint num="0" id="39" />
 <extraparam>
-<Prop commName="data_Ready_SC" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -357,16 +357,16 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="42" >
 <father id="53" num="5" />
-<cdparam x="440" y="156" />
+<cdparam x="440" y="322" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Event data_Ready" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
 <TGConnectingPoint num="0" id="41" />
 <extraparam>
-<Prop commName="data_Ready" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
-<Type type="1" typeOther="" />
-<Type type="2" typeOther="" />
+<Prop commName="answerToReset, pTSConfirm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -374,14 +374,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="44" >
 <father id="53" num="6" />
-<cdparam x="443" y="116" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="388" y="83" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="280" minY="-10" maxY="266" />
-<infoparam name="TGComponent" value="Request activation" />
+<cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
+<infoparam name="TGComponent" value="Event reset, pTS, end" />
 <TGConnectingPoint num="0" id="43" />
 <extraparam>
-<Prop commName="activation" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="reset, pTS, end" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -428,61 +428,61 @@
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1201" id="81" >
+<SUBCOMPONENT type="1200" id="146" >
 <father id="238" num="0" />
-<cdparam x="521" y="369" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="842" y="133" />
+<sizeparam width="570" height="485" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="922" minY="-13" maxY="517" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="63" />
-<TGConnectingPoint num="1" id="64" />
-<TGConnectingPoint num="2" id="65" />
-<TGConnectingPoint num="3" id="66" />
-<TGConnectingPoint num="4" id="67" />
-<TGConnectingPoint num="5" id="68" />
-<TGConnectingPoint num="6" id="69" />
-<TGConnectingPoint num="7" id="70" />
-<TGConnectingPoint num="8" id="71" />
-<TGConnectingPoint num="9" id="72" />
-<TGConnectingPoint num="10" id="73" />
-<TGConnectingPoint num="11" id="74" />
-<TGConnectingPoint num="12" id="75" />
-<TGConnectingPoint num="13" id="76" />
-<TGConnectingPoint num="14" id="77" />
-<TGConnectingPoint num="15" id="78" />
-<TGConnectingPoint num="16" id="79" />
-<TGConnectingPoint num="17" id="80" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="108" >
-<father id="238" num="1" />
-<cdparam x="565" y="416" />
-<sizeparam width="240" height="145" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="0" maxX="365" minY="0" maxY="45" />
+<infoparam name="TGComponent" value="TCPIP Entities" />
+<TGConnectingPoint num="0" id="138" />
+<TGConnectingPoint num="1" id="139" />
+<TGConnectingPoint num="2" id="140" />
+<TGConnectingPoint num="3" id="141" />
+<TGConnectingPoint num="4" id="142" />
+<TGConnectingPoint num="5" id="143" />
+<TGConnectingPoint num="6" id="144" />
+<TGConnectingPoint num="7" id="145" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="103" >
+<father id="146" num="0" />
+<cdparam x="931" y="167" />
+<sizeparam width="236" height="317" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="695" minY="0" maxY="385" />
-<infoparam name="TGComponent" value="Application" />
-<TGConnectingPoint num="0" id="100" />
-<TGConnectingPoint num="1" id="101" />
-<TGConnectingPoint num="2" id="102" />
-<TGConnectingPoint num="3" id="103" />
-<TGConnectingPoint num="4" id="104" />
-<TGConnectingPoint num="5" id="105" />
-<TGConnectingPoint num="6" id="106" />
-<TGConnectingPoint num="7" id="107" />
+<cdrectangleparam minX="0" maxX="334" minY="0" maxY="168" />
+<infoparam name="TGComponent" value="TCPIP" />
+<TGConnectingPoint num="0" id="95" />
+<TGConnectingPoint num="1" id="96" />
+<TGConnectingPoint num="2" id="97" />
+<TGConnectingPoint num="3" id="98" />
+<TGConnectingPoint num="4" id="99" />
+<TGConnectingPoint num="5" id="100" />
+<TGConnectingPoint num="6" id="101" />
+<TGConnectingPoint num="7" id="102" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
+<Attribute access="2" id="wind" value="64" type="0" typeOther="" />
+<Attribute access="2" id="seqNum" value="0" type="0" typeOther="" />
+<Attribute access="2" id="i" value="" type="0" typeOther="" />
+<Attribute access="2" id="j" value="" type="0" typeOther="" />
+<Attribute access="2" id="a" value="0" type="0" typeOther="" />
+<Attribute access="2" id="b" value="0" type="0" typeOther="" />
+<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="83" >
-<father id="108" num="0" />
-<cdparam x="741" y="406" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="64" >
+<father id="103" num="0" />
+<cdparam x="1012" y="471" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="82" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="Primitive port" value="Event opened" />
+<TGConnectingPoint num="0" id="63" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="opened" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -490,16 +490,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="85" >
-<father id="108" num="1" />
-<cdparam x="795" y="419" />
+<SUBCOMPONENT type="1203" id="66" >
+<father id="103" num="1" />
+<cdparam x="1157" y="444" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
-<TGConnectingPoint num="0" id="84" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event stop" />
+<TGConnectingPoint num="0" id="65" />
 <extraparam>
-<Prop commName="fromTtoA" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="stop" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -507,16 +507,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="87" >
-<father id="108" num="2" />
-<cdparam x="795" y="481" />
+<SUBCOMPONENT type="1203" id="68" >
+<father id="103" num="2" />
+<cdparam x="1157" y="266" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Event send_TCP" />
-<TGConnectingPoint num="0" id="86" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="67" />
 <extraparam>
-<Prop commName="send_TCP" commType="1" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="temp" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -524,16 +524,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="89" >
-<father id="108" num="3" />
-<cdparam x="795" y="448" />
+<SUBCOMPONENT type="1203" id="70" >
+<father id="103" num="3" />
+<cdparam x="1157" y="198" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Event open, abort, close" />
-<TGConnectingPoint num="0" id="88" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="69" />
 <extraparam>
-<Prop commName="open, abort, close" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="temp" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -541,16 +541,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="91" >
-<father id="108" num="4" />
-<cdparam x="795" y="509" />
+<SUBCOMPONENT type="1203" id="72" >
+<father id="103" num="4" />
+<cdparam x="1157" y="405" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Event receive_Application" />
-<TGConnectingPoint num="0" id="90" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Request req_Timer" />
+<TGConnectingPoint num="0" id="71" />
 <extraparam>
-<Prop commName="receive_Application" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="req_Timer" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -558,16 +558,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="93" >
-<father id="108" num="5" />
-<cdparam x="795" y="542" />
+<SUBCOMPONENT type="1203" id="74" >
+<father id="103" num="5" />
+<cdparam x="1157" y="370" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Channel fromAtoT" />
-<TGConnectingPoint num="0" id="92" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event timeOut" />
+<TGConnectingPoint num="0" id="73" />
 <extraparam>
-<Prop commName="fromAtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="timeOut" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -575,16 +575,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="95" >
-<father id="108" num="6" />
-<cdparam x="659" y="406" />
+<SUBCOMPONENT type="1203" id="76" >
+<father id="103" num="6" />
+<cdparam x="921" y="466" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Request start_Application" />
-<TGConnectingPoint num="0" id="94" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<TGConnectingPoint num="0" id="75" />
 <extraparam>
-<Prop commName="start_Application" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="receive_Application" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -592,16 +592,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="97" >
-<father id="108" num="7" />
-<cdparam x="697" y="403" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="78" >
+<father id="103" num="7" />
+<cdparam x="959" y="474" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
-<infoparam name="Primitive port" value="Event connectionOpened" />
-<TGConnectingPoint num="0" id="96" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="77" />
 <extraparam>
-<Prop commName="connectionOpened" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromAtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -609,16 +609,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="99" >
-<father id="108" num="8" />
-<cdparam x="748" y="548" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="80" >
+<father id="103" num="8" />
+<cdparam x="921" y="387" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
-<infoparam name="Primitive port" value="Event opened" />
-<TGConnectingPoint num="0" id="98" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="79" />
 <extraparam>
-<Prop commName="opened" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromTtoA" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -626,43 +626,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="145" >
-<father id="238" num="2" />
-<cdparam x="534" y="97" />
-<sizeparam width="200" height="237" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="82" >
+<father id="103" num="9" />
+<cdparam x="921" y="416" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="735" minY="0" maxY="293" />
-<infoparam name="TGComponent" value="SmartCard" />
-<TGConnectingPoint num="0" id="137" />
-<TGConnectingPoint num="1" id="138" />
-<TGConnectingPoint num="2" id="139" />
-<TGConnectingPoint num="3" id="140" />
-<TGConnectingPoint num="4" id="141" />
-<TGConnectingPoint num="5" id="142" />
-<TGConnectingPoint num="6" id="143" />
-<TGConnectingPoint num="7" id="144" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="81" />
 <extraparam>
-<Data isAttacker="No" daemon="false" Operation="" />
-<Attribute access="2" id="resetType" value="0" type="0" typeOther="" />
-<Attribute access="2" id="a" value="0" type="0" typeOther="" />
-<Attribute access="2" id="b" value="" type="4" typeOther="" />
-<Attribute access="2" id="i" value="0" type="0" typeOther="" />
-<Attribute access="2" id="j" value="0" type="0" typeOther="" />
-<Attribute access="2" id="x" value="0" type="0" typeOther="" />
-<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
-<Attribute access="2" id="t" value="" type="0" typeOther="" />
+<Prop commName="open, abort, close" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="110" >
-<father id="145" num="0" />
-<cdparam x="721" y="111" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="84" >
+<father id="103" num="10" />
+<cdparam x="921" y="443" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event send" />
-<TGConnectingPoint num="0" id="109" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="83" />
 <extraparam>
-<Prop commName="send" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="send_TCP" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -670,16 +660,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="112" >
-<father id="145" num="1" />
-<cdparam x="580" y="84" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="86" >
+<father id="103" num="11" />
+<cdparam x="921" y="352" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event reset, pTS, end" />
-<TGConnectingPoint num="0" id="111" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="85" />
 <extraparam>
-<Prop commName="reset, pTS, end" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="start_TCP_IP" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -687,16 +677,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="114" >
-<father id="145" num="2" />
-<cdparam x="543" y="321" />
+<SUBCOMPONENT type="1203" id="88" >
+<father id="103" num="12" />
+<cdparam x="918" y="317" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
-<TGConnectingPoint num="0" id="113" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="87" />
 <extraparam>
-<Prop commName="answerToReset, pTSConfirm" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromTtoP" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -704,16 +694,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="116" >
-<father id="145" num="3" />
-<cdparam x="521" y="247" />
+<SUBCOMPONENT type="1203" id="90" >
+<father id="103" num="13" />
+<cdparam x="918" y="278" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Channel fromSCtoD" />
-<TGConnectingPoint num="0" id="115" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="89" />
 <extraparam>
-<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="true" checkConfStatus="1" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromPtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -721,16 +711,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="118" >
-<father id="145" num="4" />
-<cdparam x="521" y="202" />
+<SUBCOMPONENT type="1203" id="92" >
+<father id="103" num="14" />
+<cdparam x="918" y="235" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Channel fromDtoSC" />
-<TGConnectingPoint num="0" id="117" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="91" />
 <extraparam>
-<Prop commName="fromDtoSC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="null" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="receive" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -738,16 +728,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="120" >
-<father id="145" num="5" />
-<cdparam x="521" y="290" />
+<SUBCOMPONENT type="1203" id="94" >
+<father id="103" num="15" />
+<cdparam x="918" y="185" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event data_Ready_SC" />
-<TGConnectingPoint num="0" id="119" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="93" />
 <extraparam>
-<Prop commName="data_Ready_SC" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="send" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -755,33 +745,62 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="122" >
-<father id="145" num="6" />
-<cdparam x="521" y="156" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1201" id="122" >
+<father id="146" num="1" />
+<cdparam x="829" y="362" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event data_Ready" />
-<TGConnectingPoint num="0" id="121" />
+<cdrectangleparam minX="-13" maxX="557" minY="-13" maxY="472" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="104" />
+<TGConnectingPoint num="1" id="105" />
+<TGConnectingPoint num="2" id="106" />
+<TGConnectingPoint num="3" id="107" />
+<TGConnectingPoint num="4" id="108" />
+<TGConnectingPoint num="5" id="109" />
+<TGConnectingPoint num="6" id="110" />
+<TGConnectingPoint num="7" id="111" />
+<TGConnectingPoint num="8" id="112" />
+<TGConnectingPoint num="9" id="113" />
+<TGConnectingPoint num="10" id="114" />
+<TGConnectingPoint num="11" id="115" />
+<TGConnectingPoint num="12" id="116" />
+<TGConnectingPoint num="13" id="117" />
+<TGConnectingPoint num="14" id="118" />
+<TGConnectingPoint num="15" id="119" />
+<TGConnectingPoint num="16" id="120" />
+<TGConnectingPoint num="17" id="121" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="137" >
+<father id="146" num="2" />
+<cdparam x="1232" y="328" />
+<sizeparam width="140" height="141" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="430" minY="0" maxY="344" />
+<infoparam name="TGComponent" value="Timer" />
+<TGConnectingPoint num="0" id="129" />
+<TGConnectingPoint num="1" id="130" />
+<TGConnectingPoint num="2" id="131" />
+<TGConnectingPoint num="3" id="132" />
+<TGConnectingPoint num="4" id="133" />
+<TGConnectingPoint num="5" id="134" />
+<TGConnectingPoint num="6" id="135" />
+<TGConnectingPoint num="7" id="136" />
 <extraparam>
-<Prop commName="data_Ready" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
-<Type type="1" typeOther="" />
-<Type type="2" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Data isAttacker="No" daemon="false" Operation="" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="124" >
-<father id="145" num="7" />
-<cdparam x="721" y="269" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<father id="137" num="0" />
+<cdparam x="1222" y="431" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
+<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
+<infoparam name="TGComponent" value="Event stop" />
 <TGConnectingPoint num="0" id="123" />
 <extraparam>
-<Prop commName="fromTtoP" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="stop" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -790,15 +809,15 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="126" >
-<father id="145" num="8" />
-<cdparam x="721" y="235" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<father id="137" num="1" />
+<cdparam x="1222" y="403" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Channel fromPtoT" />
+<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
+<infoparam name="TGComponent" value="Request req_Timer" />
 <TGConnectingPoint num="0" id="125" />
 <extraparam>
-<Prop commName="fromPtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="req_Timer" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -807,15 +826,15 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="128" >
-<father id="145" num="9" />
-<cdparam x="721" y="190" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<father id="137" num="2" />
+<cdparam x="1222" y="368" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event receive" />
+<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
+<infoparam name="TGComponent" value="Event timeOut" />
 <TGConnectingPoint num="0" id="127" />
 <extraparam>
-<Prop commName="receive" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="timeOut" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -823,16 +842,43 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="130" >
-<father id="145" num="10" />
-<cdparam x="721" y="301" />
+<SUBCOMPONENT type="1202" id="183" >
+<father id="238" num="1" />
+<cdparam x="534" y="97" />
+<sizeparam width="200" height="237" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="735" minY="0" maxY="293" />
+<infoparam name="TGComponent" value="SmartCard" />
+<TGConnectingPoint num="0" id="175" />
+<TGConnectingPoint num="1" id="176" />
+<TGConnectingPoint num="2" id="177" />
+<TGConnectingPoint num="3" id="178" />
+<TGConnectingPoint num="4" id="179" />
+<TGConnectingPoint num="5" id="180" />
+<TGConnectingPoint num="6" id="181" />
+<TGConnectingPoint num="7" id="182" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+<Attribute access="2" id="resetType" value="0" type="0" typeOther="" />
+<Attribute access="2" id="a" value="0" type="0" typeOther="" />
+<Attribute access="2" id="b" value="" type="4" typeOther="" />
+<Attribute access="2" id="i" value="0" type="0" typeOther="" />
+<Attribute access="2" id="j" value="0" type="0" typeOther="" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
+<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
+<Attribute access="2" id="t" value="" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="148" >
+<father id="183" num="0" />
+<cdparam x="680" y="321" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="129" />
+<infoparam name="Primitive port" value="Event connectionOpened" />
+<TGConnectingPoint num="0" id="147" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="connectionOpened" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -840,16 +886,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="132" >
-<father id="145" num="11" />
-<cdparam x="524" y="116" />
+<SUBCOMPONENT type="1203" id="150" >
+<father id="183" num="1" />
+<cdparam x="620" y="324" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="227" />
-<infoparam name="TGComponent" value="Request activation" />
-<TGConnectingPoint num="0" id="131" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="149" />
 <extraparam>
-<Prop commName="activation" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="start_Application" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -857,16 +903,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="134" >
-<father id="145" num="12" />
-<cdparam x="620" y="324" />
+<SUBCOMPONENT type="1203" id="152" >
+<father id="183" num="2" />
+<cdparam x="524" y="116" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="227" />
-<infoparam name="TGComponent" value="Request start_Application" />
-<TGConnectingPoint num="0" id="133" />
+<infoparam name="TGComponent" value="Request activation" />
+<TGConnectingPoint num="0" id="151" />
 <extraparam>
-<Prop commName="start_Application" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="activation" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -874,16 +920,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="136" >
-<father id="145" num="13" />
-<cdparam x="680" y="321" />
+<SUBCOMPONENT type="1203" id="154" >
+<father id="183" num="3" />
+<cdparam x="721" y="301" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="Primitive port" value="Event connectionOpened" />
-<TGConnectingPoint num="0" id="135" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="153" />
 <extraparam>
-<Prop commName="connectionOpened" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -891,55 +937,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1200" id="229" >
-<father id="238" num="3" />
-<cdparam x="842" y="133" />
-<sizeparam width="570" height="485" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="365" minY="0" maxY="45" />
-<infoparam name="TGComponent" value="TCPIP Entities" />
-<TGConnectingPoint num="0" id="221" />
-<TGConnectingPoint num="1" id="222" />
-<TGConnectingPoint num="2" id="223" />
-<TGConnectingPoint num="3" id="224" />
-<TGConnectingPoint num="4" id="225" />
-<TGConnectingPoint num="5" id="226" />
-<TGConnectingPoint num="6" id="227" />
-<TGConnectingPoint num="7" id="228" />
-<extraparam>
-<info hiddeni="false" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="160" >
-<father id="229" num="0" />
-<cdparam x="1232" y="328" />
-<sizeparam width="140" height="141" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="430" minY="0" maxY="344" />
-<infoparam name="TGComponent" value="Timer" />
-<TGConnectingPoint num="0" id="152" />
-<TGConnectingPoint num="1" id="153" />
-<TGConnectingPoint num="2" id="154" />
-<TGConnectingPoint num="3" id="155" />
-<TGConnectingPoint num="4" id="156" />
-<TGConnectingPoint num="5" id="157" />
-<TGConnectingPoint num="6" id="158" />
-<TGConnectingPoint num="7" id="159" />
-<extraparam>
-<Data isAttacker="No" daemon="false" Operation="" />
-<Attribute access="2" id="x" value="0" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="147" >
-<father id="160" num="0" />
-<cdparam x="1222" y="368" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="156" >
+<father id="183" num="4" />
+<cdparam x="721" y="190" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
-<infoparam name="TGComponent" value="Event timeOut" />
-<TGConnectingPoint num="0" id="146" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="155" />
 <extraparam>
-<Prop commName="timeOut" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="receive" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -947,16 +954,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="149" >
-<father id="160" num="1" />
-<cdparam x="1222" y="403" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="158" >
+<father id="183" num="5" />
+<cdparam x="721" y="235" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
-<infoparam name="TGComponent" value="Request req_Timer" />
-<TGConnectingPoint num="0" id="148" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="157" />
 <extraparam>
-<Prop commName="req_Timer" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromPtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -964,16 +971,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="151" >
-<father id="160" num="2" />
-<cdparam x="1222" y="431" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="160" >
+<father id="183" num="6" />
+<cdparam x="721" y="269" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
-<infoparam name="TGComponent" value="Event stop" />
-<TGConnectingPoint num="0" id="150" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="159" />
 <extraparam>
-<Prop commName="stop" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromTtoP" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -981,68 +988,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="179" >
-<father id="229" num="1" />
-<cdparam x="829" y="362" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="162" >
+<father id="183" num="7" />
+<cdparam x="521" y="156" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="557" minY="-13" maxY="472" />
-<infoparam name="Composite port" value="" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event data_Ready" />
 <TGConnectingPoint num="0" id="161" />
-<TGConnectingPoint num="1" id="162" />
-<TGConnectingPoint num="2" id="163" />
-<TGConnectingPoint num="3" id="164" />
-<TGConnectingPoint num="4" id="165" />
-<TGConnectingPoint num="5" id="166" />
-<TGConnectingPoint num="6" id="167" />
-<TGConnectingPoint num="7" id="168" />
-<TGConnectingPoint num="8" id="169" />
-<TGConnectingPoint num="9" id="170" />
-<TGConnectingPoint num="10" id="171" />
-<TGConnectingPoint num="11" id="172" />
-<TGConnectingPoint num="12" id="173" />
-<TGConnectingPoint num="13" id="174" />
-<TGConnectingPoint num="14" id="175" />
-<TGConnectingPoint num="15" id="176" />
-<TGConnectingPoint num="16" id="177" />
-<TGConnectingPoint num="17" id="178" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="220" >
-<father id="229" num="2" />
-<cdparam x="931" y="167" />
-<sizeparam width="236" height="317" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="334" minY="0" maxY="168" />
-<infoparam name="TGComponent" value="TCPIP" />
-<TGConnectingPoint num="0" id="212" />
-<TGConnectingPoint num="1" id="213" />
-<TGConnectingPoint num="2" id="214" />
-<TGConnectingPoint num="3" id="215" />
-<TGConnectingPoint num="4" id="216" />
-<TGConnectingPoint num="5" id="217" />
-<TGConnectingPoint num="6" id="218" />
-<TGConnectingPoint num="7" id="219" />
 <extraparam>
-<Data isAttacker="No" daemon="false" Operation="" />
-<Attribute access="2" id="wind" value="64" type="0" typeOther="" />
-<Attribute access="2" id="seqNum" value="0" type="0" typeOther="" />
-<Attribute access="2" id="i" value="" type="0" typeOther="" />
-<Attribute access="2" id="j" value="" type="0" typeOther="" />
-<Attribute access="2" id="a" value="0" type="0" typeOther="" />
-<Attribute access="2" id="b" value="0" type="0" typeOther="" />
-<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
+<Prop commName="data_Ready" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="181" >
-<father id="220" num="0" />
-<cdparam x="918" y="185" />
+<SUBCOMPONENT type="1203" id="164" >
+<father id="183" num="8" />
+<cdparam x="521" y="290" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Event send" />
-<TGConnectingPoint num="0" id="180" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<TGConnectingPoint num="0" id="163" />
 <extraparam>
-<Prop commName="send" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="data_Ready_SC" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1050,16 +1022,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="183" >
-<father id="220" num="1" />
-<cdparam x="918" y="235" />
+<SUBCOMPONENT type="1203" id="166" >
+<father id="183" num="9" />
+<cdparam x="521" y="202" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Event receive" />
-<TGConnectingPoint num="0" id="182" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromDtoSC" />
+<TGConnectingPoint num="0" id="165" />
 <extraparam>
-<Prop commName="receive" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromDtoSC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="null" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1067,16 +1039,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="185" >
-<father id="220" num="2" />
-<cdparam x="918" y="278" />
+<SUBCOMPONENT type="1203" id="168" >
+<father id="183" num="10" />
+<cdparam x="521" y="247" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Channel fromPtoT" />
-<TGConnectingPoint num="0" id="184" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<TGConnectingPoint num="0" id="167" />
 <extraparam>
-<Prop commName="fromPtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="true" checkConfStatus="1" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1084,16 +1056,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="187" >
-<father id="220" num="3" />
-<cdparam x="918" y="317" />
+<SUBCOMPONENT type="1203" id="170" >
+<father id="183" num="11" />
+<cdparam x="543" y="321" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
-<TGConnectingPoint num="0" id="186" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<TGConnectingPoint num="0" id="169" />
 <extraparam>
-<Prop commName="fromTtoP" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="answerToReset, pTSConfirm" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1101,16 +1073,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="189" >
-<father id="220" num="4" />
-<cdparam x="921" y="352" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="172" >
+<father id="183" num="12" />
+<cdparam x="580" y="84" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="188" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event reset, pTS, end" />
+<TGConnectingPoint num="0" id="171" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="reset, pTS, end" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1118,16 +1090,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="191" >
-<father id="220" num="5" />
-<cdparam x="921" y="443" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="174" >
+<father id="183" num="13" />
+<cdparam x="721" y="111" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event send_TCP" />
-<TGConnectingPoint num="0" id="190" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="173" />
 <extraparam>
-<Prop commName="send_TCP" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="send" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1135,33 +1107,35 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="193" >
-<father id="220" num="6" />
-<cdparam x="921" y="416" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="210" >
+<father id="238" num="2" />
+<cdparam x="565" y="416" />
+<sizeparam width="240" height="145" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event open, abort, close" />
-<TGConnectingPoint num="0" id="192" />
+<cdrectangleparam minX="0" maxX="695" minY="0" maxY="385" />
+<infoparam name="TGComponent" value="Application" />
+<TGConnectingPoint num="0" id="202" />
+<TGConnectingPoint num="1" id="203" />
+<TGConnectingPoint num="2" id="204" />
+<TGConnectingPoint num="3" id="205" />
+<TGConnectingPoint num="4" id="206" />
+<TGConnectingPoint num="5" id="207" />
+<TGConnectingPoint num="6" id="208" />
+<TGConnectingPoint num="7" id="209" />
 <extraparam>
-<Prop commName="open, abort, close" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="195" >
-<father id="220" num="7" />
-<cdparam x="921" y="387" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="185" >
+<father id="210" num="0" />
+<cdparam x="748" y="548" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
-<TGConnectingPoint num="0" id="194" />
+<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
+<infoparam name="Primitive port" value="Event opened" />
+<TGConnectingPoint num="0" id="184" />
 <extraparam>
-<Prop commName="fromTtoA" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="opened" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1169,16 +1143,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="197" >
-<father id="220" num="8" />
-<cdparam x="959" y="474" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="187" >
+<father id="210" num="1" />
+<cdparam x="697" y="403" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel fromAtoT" />
-<TGConnectingPoint num="0" id="196" />
+<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
+<infoparam name="Primitive port" value="Event connectionOpened" />
+<TGConnectingPoint num="0" id="186" />
 <extraparam>
-<Prop commName="fromAtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="connectionOpened" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1186,16 +1160,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="199" >
-<father id="220" num="9" />
-<cdparam x="921" y="466" />
+<SUBCOMPONENT type="1203" id="189" >
+<father id="210" num="2" />
+<cdparam x="659" y="406" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event receive_Application" />
-<TGConnectingPoint num="0" id="198" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="188" />
 <extraparam>
-<Prop commName="receive_Application" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="start_Application" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1203,16 +1177,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="201" >
-<father id="220" num="10" />
-<cdparam x="1157" y="370" />
+<SUBCOMPONENT type="1203" id="191" >
+<father id="210" num="3" />
+<cdparam x="795" y="542" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event timeOut" />
-<TGConnectingPoint num="0" id="200" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="190" />
 <extraparam>
-<Prop commName="timeOut" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromAtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1220,16 +1194,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="203" >
-<father id="220" num="11" />
-<cdparam x="1157" y="405" />
+<SUBCOMPONENT type="1203" id="193" >
+<father id="210" num="4" />
+<cdparam x="795" y="509" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Request req_Timer" />
-<TGConnectingPoint num="0" id="202" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<TGConnectingPoint num="0" id="192" />
 <extraparam>
-<Prop commName="req_Timer" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="receive_Application" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1237,16 +1211,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="205" >
-<father id="220" num="12" />
-<cdparam x="1157" y="198" />
+<SUBCOMPONENT type="1203" id="195" >
+<father id="210" num="5" />
+<cdparam x="795" y="448" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel temp" />
-<TGConnectingPoint num="0" id="204" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="194" />
 <extraparam>
-<Prop commName="temp" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="open, abort, close" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1254,16 +1228,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="207" >
-<father id="220" num="13" />
-<cdparam x="1157" y="266" />
+<SUBCOMPONENT type="1203" id="197" >
+<father id="210" num="6" />
+<cdparam x="795" y="481" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel temp" />
-<TGConnectingPoint num="0" id="206" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="196" />
 <extraparam>
-<Prop commName="temp" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="send_TCP" commType="1" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1271,16 +1245,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="209" >
-<father id="220" num="14" />
-<cdparam x="1157" y="444" />
+<SUBCOMPONENT type="1203" id="199" >
+<father id="210" num="7" />
+<cdparam x="795" y="419" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event stop" />
-<TGConnectingPoint num="0" id="208" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="198" />
 <extraparam>
-<Prop commName="stop" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="fromTtoA" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1288,16 +1262,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="211" >
-<father id="220" num="15" />
-<cdparam x="1012" y="471" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="201" >
+<father id="210" num="8" />
+<cdparam x="741" y="406" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="Primitive port" value="Event opened" />
-<TGConnectingPoint num="0" id="210" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="200" />
 <extraparam>
-<Prop commName="opened" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1305,6 +1279,32 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="229" >
+<father id="238" num="3" />
+<cdparam x="521" y="369" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="922" minY="-13" maxY="517" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="211" />
+<TGConnectingPoint num="1" id="212" />
+<TGConnectingPoint num="2" id="213" />
+<TGConnectingPoint num="3" id="214" />
+<TGConnectingPoint num="4" id="215" />
+<TGConnectingPoint num="5" id="216" />
+<TGConnectingPoint num="6" id="217" />
+<TGConnectingPoint num="7" id="218" />
+<TGConnectingPoint num="8" id="219" />
+<TGConnectingPoint num="9" id="220" />
+<TGConnectingPoint num="10" id="221" />
+<TGConnectingPoint num="11" id="222" />
+<TGConnectingPoint num="12" id="223" />
+<TGConnectingPoint num="13" id="224" />
+<TGConnectingPoint num="14" id="225" />
+<TGConnectingPoint num="15" id="226" />
+<TGConnectingPoint num="16" id="227" />
+<TGConnectingPoint num="17" id="228" />
+</SUBCOMPONENT>
 
 
 </TMLComponentTaskDiagramPanel>
@@ -6706,11 +6706,11 @@ the smart card and the terminal
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1484" >
 <father id="1545" num="0" />
-<cdparam x="286" y="304" />
-<sizeparam width="109" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="152" y="154" />
+<sizeparam width="172" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="350" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::Timer" />
+<cdrectangleparam minX="0" maxX="287" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::InterfaceDevice" />
 <TGConnectingPoint num="0" id="1476" />
 <TGConnectingPoint num="1" id="1477" />
 <TGConnectingPoint num="2" id="1478" />
@@ -6720,16 +6720,16 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1482" />
 <TGConnectingPoint num="7" id="1483" />
 <extraparam>
-<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1493" >
 <father id="1545" num="1" />
-<cdparam x="350" y="234" />
-<sizeparam width="144" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="351" y="153" />
+<sizeparam width="141" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="315" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::Application" />
+<cdrectangleparam minX="0" maxX="318" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
 <TGConnectingPoint num="0" id="1485" />
 <TGConnectingPoint num="1" id="1486" />
 <TGConnectingPoint num="2" id="1487" />
@@ -6739,7 +6739,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1491" />
 <TGConnectingPoint num="7" id="1492" />
 <extraparam>
-<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1502" >
@@ -6763,11 +6763,11 @@ the smart card and the terminal
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1511" >
 <father id="1545" num="3" />
-<cdparam x="351" y="153" />
-<sizeparam width="141" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="350" y="234" />
+<sizeparam width="144" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="318" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
+<cdrectangleparam minX="0" maxX="315" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Application" />
 <TGConnectingPoint num="0" id="1503" />
 <TGConnectingPoint num="1" id="1504" />
 <TGConnectingPoint num="2" id="1505" />
@@ -6777,16 +6777,16 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1509" />
 <TGConnectingPoint num="7" id="1510" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1520" >
 <father id="1545" num="4" />
-<cdparam x="152" y="154" />
-<sizeparam width="172" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="286" y="304" />
+<sizeparam width="109" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="287" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::InterfaceDevice" />
+<cdrectangleparam minX="0" maxX="350" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Timer" />
 <TGConnectingPoint num="0" id="1512" />
 <TGConnectingPoint num="1" id="1513" />
 <TGConnectingPoint num="2" id="1514" />
@@ -6796,7 +6796,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1518" />
 <TGConnectingPoint num="7" id="1519" />
 <extraparam>
-<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6998,11 +6998,11 @@ the smart card and the terminal
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1640" >
 <father id="1683" num="0" />
-<cdparam x="387" y="123" />
-<sizeparam width="141" height="37" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="272" y="94" />
+<sizeparam width="109" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="131" minY="0" maxY="124" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
+<cdrectangleparam minX="0" maxX="163" minY="0" maxY="121" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
 <TGConnectingPoint num="0" id="1632" />
 <TGConnectingPoint num="1" id="1633" />
 <TGConnectingPoint num="2" id="1634" />
@@ -7012,7 +7012,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1638" />
 <TGConnectingPoint num="7" id="1639" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1649" >
@@ -7036,11 +7036,11 @@ the smart card and the terminal
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1658" >
 <father id="1683" num="2" />
-<cdparam x="272" y="94" />
-<sizeparam width="109" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="387" y="123" />
+<sizeparam width="141" height="37" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="163" minY="0" maxY="121" />
-<infoparam name="TGComponent" value="AppC::TCPIP" />
+<cdrectangleparam minX="0" maxX="131" minY="0" maxY="124" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
 <TGConnectingPoint num="0" id="1650" />
 <TGConnectingPoint num="1" id="1651" />
 <TGConnectingPoint num="2" id="1652" />
@@ -7050,7 +7050,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1656" />
 <TGConnectingPoint num="7" id="1657" />
 <extraparam>
-<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7386,11 +7386,11 @@ the smart card and the terminal
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1848" >
 <father id="1891" num="0" />
-<cdparam x="340" y="180" />
-<sizeparam width="109" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="270" y="75" />
+<sizeparam width="144" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="204" minY="0" maxY="161" />
-<infoparam name="TGComponent" value="AppC::TCPIP" />
+<cdrectangleparam minX="0" maxX="169" minY="0" maxY="161" />
+<infoparam name="TGComponent" value="AppC::Application" />
 <TGConnectingPoint num="0" id="1840" />
 <TGConnectingPoint num="1" id="1841" />
 <TGConnectingPoint num="2" id="1842" />
@@ -7400,7 +7400,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1846" />
 <TGConnectingPoint num="7" id="1847" />
 <extraparam>
-<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="Application" fatherComponentMECType="0" />
+<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="Application" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1857" >
@@ -7424,11 +7424,11 @@ the smart card and the terminal
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1866" >
 <father id="1891" num="2" />
-<cdparam x="270" y="75" />
-<sizeparam width="144" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="340" y="180" />
+<sizeparam width="109" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="169" minY="0" maxY="161" />
-<infoparam name="TGComponent" value="AppC::Application" />
+<cdrectangleparam minX="0" maxX="204" minY="0" maxY="161" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
 <TGConnectingPoint num="0" id="1858" />
 <TGConnectingPoint num="1" id="1859" />
 <TGConnectingPoint num="2" id="1860" />
@@ -7438,7 +7438,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1864" />
 <TGConnectingPoint num="7" id="1865" />
 <extraparam>
-<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="Application" fatherComponentMECType="0" />
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="Application" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
diff --git a/simulators/c++2/src_simulator/Chart.min.js b/simulators/c++2/src_simulator/Chart.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..c74a7914a35f60ba32c6d8ecca9209208bced1ce
--- /dev/null
+++ b/simulators/c++2/src_simulator/Chart.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Chart.js v2.8.0
+ * https://www.chartjs.org
+ * (c) 2019 Chart.js Contributors
+ * Released under the MIT License
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(function(){try{return require("moment")}catch(t){}}()):"function"==typeof define&&define.amd?define(["require"],function(t){return e(function(){try{return t("moment")}catch(t){}}())}):t.Chart=e(t.moment)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e={rgb2hsl:i,rgb2hsv:n,rgb2hwb:a,rgb2cmyk:o,rgb2keyword:s,rgb2xyz:l,rgb2lab:d,rgb2lch:function(t){return x(d(t))},hsl2rgb:u,hsl2hsv:function(t){var e=t[0],i=t[1]/100,n=t[2]/100;if(0===n)return[0,0,0];return[e,100*(2*(i*=(n*=2)<=1?n:2-n)/(n+i)),100*((n+i)/2)]},hsl2hwb:function(t){return a(u(t))},hsl2cmyk:function(t){return o(u(t))},hsl2keyword:function(t){return s(u(t))},hsv2rgb:h,hsv2hsl:function(t){var e,i,n=t[0],a=t[1]/100,o=t[2]/100;return e=a*o,[n,100*(e=(e/=(i=(2-a)*o)<=1?i:2-i)||0),100*(i/=2)]},hsv2hwb:function(t){return a(h(t))},hsv2cmyk:function(t){return o(h(t))},hsv2keyword:function(t){return s(h(t))},hwb2rgb:c,hwb2hsl:function(t){return i(c(t))},hwb2hsv:function(t){return n(c(t))},hwb2cmyk:function(t){return o(c(t))},hwb2keyword:function(t){return s(c(t))},cmyk2rgb:f,cmyk2hsl:function(t){return i(f(t))},cmyk2hsv:function(t){return n(f(t))},cmyk2hwb:function(t){return a(f(t))},cmyk2keyword:function(t){return s(f(t))},keyword2rgb:w,keyword2hsl:function(t){return i(w(t))},keyword2hsv:function(t){return n(w(t))},keyword2hwb:function(t){return a(w(t))},keyword2cmyk:function(t){return o(w(t))},keyword2lab:function(t){return d(w(t))},keyword2xyz:function(t){return l(w(t))},xyz2rgb:p,xyz2lab:m,xyz2lch:function(t){return x(m(t))},lab2xyz:v,lab2rgb:y,lab2lch:x,lch2lab:k,lch2xyz:function(t){return v(k(t))},lch2rgb:function(t){return y(k(t))}};function i(t){var e,i,n=t[0]/255,a=t[1]/255,o=t[2]/255,r=Math.min(n,a,o),s=Math.max(n,a,o),l=s-r;return s==r?e=0:n==s?e=(a-o)/l:a==s?e=2+(o-n)/l:o==s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),i=(r+s)/2,[e,100*(s==r?0:i<=.5?l/(s+r):l/(2-s-r)),100*i]}function n(t){var e,i,n=t[0],a=t[1],o=t[2],r=Math.min(n,a,o),s=Math.max(n,a,o),l=s-r;return i=0==s?0:l/s*1e3/10,s==r?e=0:n==s?e=(a-o)/l:a==s?e=2+(o-n)/l:o==s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),[e,i,s/255*1e3/10]}function a(t){var e=t[0],n=t[1],a=t[2];return[i(t)[0],100*(1/255*Math.min(e,Math.min(n,a))),100*(a=1-1/255*Math.max(e,Math.max(n,a)))]}function o(t){var e,i=t[0]/255,n=t[1]/255,a=t[2]/255;return[100*((1-i-(e=Math.min(1-i,1-n,1-a)))/(1-e)||0),100*((1-n-e)/(1-e)||0),100*((1-a-e)/(1-e)||0),100*e]}function s(t){return _[JSON.stringify(t)]}function l(t){var e=t[0]/255,i=t[1]/255,n=t[2]/255;return[100*(.4124*(e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)+.1805*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)),100*(.2126*e+.7152*i+.0722*n),100*(.0193*e+.1192*i+.9505*n)]}function d(t){var e=l(t),i=e[0],n=e[1],a=e[2];return n/=100,a/=108.883,i=(i/=95.047)>.008856?Math.pow(i,1/3):7.787*i+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(i-n),200*(n-(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116))]}function u(t){var e,i,n,a,o,r=t[0]/360,s=t[1]/100,l=t[2]/100;if(0==s)return[o=255*l,o,o];e=2*l-(i=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var d=0;d<3;d++)(n=r+1/3*-(d-1))<0&&n++,n>1&&n--,o=6*n<1?e+6*(i-e)*n:2*n<1?i:3*n<2?e+(i-e)*(2/3-n)*6:e,a[d]=255*o;return a}function h(t){var e=t[0]/60,i=t[1]/100,n=t[2]/100,a=Math.floor(e)%6,o=e-Math.floor(e),r=255*n*(1-i),s=255*n*(1-i*o),l=255*n*(1-i*(1-o));n*=255;switch(a){case 0:return[n,l,r];case 1:return[s,n,r];case 2:return[r,n,l];case 3:return[r,s,n];case 4:return[l,r,n];case 5:return[n,r,s]}}function c(t){var e,i,n,a,o=t[0]/360,s=t[1]/100,l=t[2]/100,d=s+l;switch(d>1&&(s/=d,l/=d),n=6*o-(e=Math.floor(6*o)),0!=(1&e)&&(n=1-n),a=s+n*((i=1-l)-s),e){default:case 6:case 0:r=i,g=a,b=s;break;case 1:r=a,g=i,b=s;break;case 2:r=s,g=i,b=a;break;case 3:r=s,g=a,b=i;break;case 4:r=a,g=s,b=i;break;case 5:r=i,g=s,b=a}return[255*r,255*g,255*b]}function f(t){var e=t[0]/100,i=t[1]/100,n=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a))]}function p(t){var e,i,n,a=t[0]/100,o=t[1]/100,r=t[2]/100;return i=-.9689*a+1.8758*o+.0415*r,n=.0557*a+-.204*o+1.057*r,e=(e=3.2406*a+-1.5372*o+-.4986*r)>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,[255*(e=Math.min(Math.max(0,e),1)),255*(i=Math.min(Math.max(0,i),1)),255*(n=Math.min(Math.max(0,n),1))]}function m(t){var e=t[0],i=t[1],n=t[2];return i/=100,n/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(e-i),200*(i-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]}function v(t){var e,i,n,a,o=t[0],r=t[1],s=t[2];return o<=8?a=(i=100*o/903.3)/100*7.787+16/116:(i=100*Math.pow((o+16)/116,3),a=Math.pow(i/100,1/3)),[e=e/95.047<=.008856?e=95.047*(r/500+a-16/116)/7.787:95.047*Math.pow(r/500+a,3),i,n=n/108.883<=.008859?n=108.883*(a-s/200-16/116)/7.787:108.883*Math.pow(a-s/200,3)]}function x(t){var e,i=t[0],n=t[1],a=t[2];return(e=360*Math.atan2(a,n)/2/Math.PI)<0&&(e+=360),[i,Math.sqrt(n*n+a*a),e]}function y(t){return p(v(t))}function k(t){var e,i=t[0],n=t[1];return e=t[2]/360*2*Math.PI,[i,n*Math.cos(e),n*Math.sin(e)]}function w(t){return M[t]}var M={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},_={};for(var C in M)_[JSON.stringify(M[C])]=C;var S=function(){return new T};for(var P in e){S[P+"Raw"]=function(t){return function(i){return"number"==typeof i&&(i=Array.prototype.slice.call(arguments)),e[t](i)}}(P);var I=/(\w+)2(\w+)/.exec(P),A=I[1],D=I[2];(S[A]=S[A]||{})[D]=S[P]=function(t){return function(i){"number"==typeof i&&(i=Array.prototype.slice.call(arguments));var n=e[t](i);if("string"==typeof n||void 0===n)return n;for(var a=0;a<n.length;a++)n[a]=Math.round(n[a]);return n}}(P)}var T=function(){this.convs={}};T.prototype.routeSpace=function(t,e){var i=e[0];return void 0===i?this.getValues(t):("number"==typeof i&&(i=Array.prototype.slice.call(e)),this.setValues(t,i))},T.prototype.setValues=function(t,e){return this.space=t,this.convs={},this.convs[t]=e,this},T.prototype.getValues=function(t){var e=this.convs[t];if(!e){var i=this.space,n=this.convs[i];e=S[i][t](n),this.convs[t]=e}return e},["rgb","hsl","hsv","cmyk","keyword"].forEach(function(t){T.prototype[t]=function(e){return this.routeSpace(t,arguments)}});var F=S,L={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},R={getRgba:O,getHsla:z,getRgb:function(t){var e=O(t);return e&&e.slice(0,3)},getHsl:function(t){var e=z(t);return e&&e.slice(0,3)},getHwb:B,getAlpha:function(t){var e=O(t);if(e)return e[3];if(e=z(t))return e[3];if(e=B(t))return e[3]},hexString:function(t,e){var e=void 0!==e&&3===t.length?e:t[3];return"#"+H(t[0])+H(t[1])+H(t[2])+(e>=0&&e<1?H(Math.round(255*e)):"")},rgbString:function(t,e){if(e<1||t[3]&&t[3]<1)return N(t,e);return"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:N,percentString:function(t,e){if(e<1||t[3]&&t[3]<1)return W(t,e);var i=Math.round(t[0]/255*100),n=Math.round(t[1]/255*100),a=Math.round(t[2]/255*100);return"rgb("+i+"%, "+n+"%, "+a+"%)"},percentaString:W,hslString:function(t,e){if(e<1||t[3]&&t[3]<1)return V(t,e);return"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:V,hwbString:function(t,e){void 0===e&&(e=void 0!==t[3]?t[3]:1);return"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return j[t.slice(0,3)]}};function O(t){if(t){var e=[0,0,0],i=1,n=t.match(/^#([a-fA-F0-9]{3,4})$/i),a="";if(n){a=(n=n[1])[3];for(var o=0;o<e.length;o++)e[o]=parseInt(n[o]+n[o],16);a&&(i=Math.round(parseInt(a+a,16)/255*100)/100)}else if(n=t.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i)){a=n[2],n=n[1];for(o=0;o<e.length;o++)e[o]=parseInt(n.slice(2*o,2*o+2),16);a&&(i=Math.round(parseInt(a,16)/255*100)/100)}else if(n=t.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(o=0;o<e.length;o++)e[o]=parseInt(n[o+1]);i=parseFloat(n[4])}else if(n=t.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(o=0;o<e.length;o++)e[o]=Math.round(2.55*parseFloat(n[o+1]));i=parseFloat(n[4])}else if(n=t.match(/(\w+)/)){if("transparent"==n[1])return[0,0,0,0];if(!(e=L[n[1]]))return}for(o=0;o<e.length;o++)e[o]=E(e[o],0,255);return i=i||0==i?E(i,0,1):1,e[3]=i,e}}function z(t){if(t){var e=t.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(e){var i=parseFloat(e[4]);return[E(parseInt(e[1]),0,360),E(parseFloat(e[2]),0,100),E(parseFloat(e[3]),0,100),E(isNaN(i)?1:i,0,1)]}}}function B(t){if(t){var e=t.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(e){var i=parseFloat(e[4]);return[E(parseInt(e[1]),0,360),E(parseFloat(e[2]),0,100),E(parseFloat(e[3]),0,100),E(isNaN(i)?1:i,0,1)]}}}function N(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"rgba("+t[0]+", "+t[1]+", "+t[2]+", "+e+")"}function W(t,e){return"rgba("+Math.round(t[0]/255*100)+"%, "+Math.round(t[1]/255*100)+"%, "+Math.round(t[2]/255*100)+"%, "+(e||t[3]||1)+")"}function V(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+e+")"}function E(t,e,i){return Math.min(Math.max(e,t),i)}function H(t){var e=t.toString(16).toUpperCase();return e.length<2?"0"+e:e}var j={};for(var q in L)j[L[q]]=q;var Y=function(t){return t instanceof Y?t:this instanceof Y?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"==typeof t?(e=R.getRgba(t))?this.setValues("rgb",e):(e=R.getHsla(t))?this.setValues("hsl",e):(e=R.getHwb(t))&&this.setValues("hwb",e):"object"==typeof t&&(void 0!==(e=t).r||void 0!==e.red?this.setValues("rgb",e):void 0!==e.l||void 0!==e.lightness?this.setValues("hsl",e):void 0!==e.v||void 0!==e.value?this.setValues("hsv",e):void 0!==e.w||void 0!==e.whiteness?this.setValues("hwb",e):void 0===e.c&&void 0===e.cyan||this.setValues("cmyk",e)))):new Y(t);var e};Y.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var t=this.values;return 1!==t.alpha?t.hwb.concat([t.alpha]):t.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var t=this.values;return t.rgb.concat([t.alpha])},hslaArray:function(){var t=this.values;return t.hsl.concat([t.alpha])},alpha:function(t){return void 0===t?this.values.alpha:(this.setValues("alpha",t),this)},red:function(t){return this.setChannel("rgb",0,t)},green:function(t){return this.setChannel("rgb",1,t)},blue:function(t){return this.setChannel("rgb",2,t)},hue:function(t){return t&&(t=(t%=360)<0?360+t:t),this.setChannel("hsl",0,t)},saturation:function(t){return this.setChannel("hsl",1,t)},lightness:function(t){return this.setChannel("hsl",2,t)},saturationv:function(t){return this.setChannel("hsv",1,t)},whiteness:function(t){return this.setChannel("hwb",1,t)},blackness:function(t){return this.setChannel("hwb",2,t)},value:function(t){return this.setChannel("hsv",2,t)},cyan:function(t){return this.setChannel("cmyk",0,t)},magenta:function(t){return this.setChannel("cmyk",1,t)},yellow:function(t){return this.setChannel("cmyk",2,t)},black:function(t){return this.setChannel("cmyk",3,t)},hexString:function(){return R.hexString(this.values.rgb)},rgbString:function(){return R.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return R.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return R.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return R.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return R.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return R.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return R.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var t=this.values.rgb;return t[0]<<16|t[1]<<8|t[2]},luminosity:function(){for(var t=this.values.rgb,e=[],i=0;i<t.length;i++){var n=t[i]/255;e[i]=n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:function(t){var e=this.luminosity(),i=t.luminosity();return e>i?(e+.05)/(i+.05):(i+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,i=(e[0]+t)%360;return e[0]=i<0?360+i:i,this.setValues("hsl",e),this},mix:function(t,e){var i=t,n=void 0===e?.5:e,a=2*n-1,o=this.alpha()-i.alpha(),r=((a*o==-1?a:(a+o)/(1+a*o))+1)/2,s=1-r;return this.rgb(r*this.red()+s*i.red(),r*this.green()+s*i.green(),r*this.blue()+s*i.blue()).alpha(this.alpha()*n+i.alpha()*(1-n))},toJSON:function(){return this.rgb()},clone:function(){var t,e,i=new Y,n=this.values,a=i.values;for(var o in n)n.hasOwnProperty(o)&&(t=n[o],"[object Array]"===(e={}.toString.call(t))?a[o]=t.slice(0):"[object Number]"===e?a[o]=t:console.error("unexpected color value:",t));return i}},Y.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},Y.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},Y.prototype.getValues=function(t){for(var e=this.values,i={},n=0;n<t.length;n++)i[t.charAt(n)]=e[t][n];return 1!==e.alpha&&(i.a=e.alpha),i},Y.prototype.setValues=function(t,e){var i,n,a=this.values,o=this.spaces,r=this.maxes,s=1;if(this.valid=!0,"alpha"===t)s=e;else if(e.length)a[t]=e.slice(0,t.length),s=e[t.length];else if(void 0!==e[t.charAt(0)]){for(i=0;i<t.length;i++)a[t][i]=e[t.charAt(i)];s=e.a}else if(void 0!==e[o[t][0]]){var l=o[t];for(i=0;i<t.length;i++)a[t][i]=e[l[i]];s=e.alpha}if(a.alpha=Math.max(0,Math.min(1,void 0===s?a.alpha:s)),"alpha"===t)return!1;for(i=0;i<t.length;i++)n=Math.max(0,Math.min(r[t][i],a[t][i])),a[t][i]=Math.round(n);for(var d in o)d!==t&&(a[d]=F[t][d](a[t]));return!0},Y.prototype.setSpace=function(t,e){var i=e[0];return void 0===i?this.getValues(t):("number"==typeof i&&(i=Array.prototype.slice.call(e)),this.setValues(t,i),this)},Y.prototype.setChannel=function(t,e,i){var n=this.values[t];return void 0===i?n[e]:i===n[e]?this:(n[e]=i,this.setValues(t,n),this)},"undefined"!=typeof window&&(window.Color=Y);var U,X=Y,K={noop:function(){},uid:(U=0,function(){return U++}),isNullOrUndef:function(t){return null==t},isArray:function(t){if(Array.isArray&&Array.isArray(t))return!0;var e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)},isObject:function(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)},isFinite:function(t){return("number"==typeof t||t instanceof Number)&&isFinite(t)},valueOrDefault:function(t,e){return void 0===t?e:t},valueAtIndexOrDefault:function(t,e,i){return K.valueOrDefault(K.isArray(t)?t[e]:t,i)},callback:function(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)},each:function(t,e,i,n){var a,o,r;if(K.isArray(t))if(o=t.length,n)for(a=o-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<o;a++)e.call(i,t[a],a);else if(K.isObject(t))for(o=(r=Object.keys(t)).length,a=0;a<o;a++)e.call(i,t[r[a]],r[a])},arrayEquals:function(t,e){var i,n,a,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,n=t.length;i<n;++i)if(a=t[i],o=e[i],a instanceof Array&&o instanceof Array){if(!K.arrayEquals(a,o))return!1}else if(a!==o)return!1;return!0},clone:function(t){if(K.isArray(t))return t.map(K.clone);if(K.isObject(t)){for(var e={},i=Object.keys(t),n=i.length,a=0;a<n;++a)e[i[a]]=K.clone(t[i[a]]);return e}return t},_merger:function(t,e,i,n){var a=e[t],o=i[t];K.isObject(a)&&K.isObject(o)?K.merge(a,o,n):e[t]=K.clone(o)},_mergerIf:function(t,e,i){var n=e[t],a=i[t];K.isObject(n)&&K.isObject(a)?K.mergeIf(n,a):e.hasOwnProperty(t)||(e[t]=K.clone(a))},merge:function(t,e,i){var n,a,o,r,s,l=K.isArray(e)?e:[e],d=l.length;if(!K.isObject(t))return t;for(n=(i=i||{}).merger||K._merger,a=0;a<d;++a)if(e=l[a],K.isObject(e))for(s=0,r=(o=Object.keys(e)).length;s<r;++s)n(o[s],t,e,i);return t},mergeIf:function(t,e){return K.merge(t,e,{merger:K._mergerIf})},extend:function(t){for(var e=function(e,i){t[i]=e},i=1,n=arguments.length;i<n;++i)K.each(arguments[i],e);return t},inherits:function(t){var e=this,i=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},n=function(){this.constructor=i};return n.prototype=e.prototype,i.prototype=new n,i.extend=K.inherits,t&&K.extend(i.prototype,t),i.__super__=e.prototype,i}},G=K;K.callCallback=K.callback,K.indexOf=function(t,e,i){return Array.prototype.indexOf.call(t,e,i)},K.getValueOrDefault=K.valueOrDefault,K.getValueAtIndexOrDefault=K.valueAtIndexOrDefault;var Z={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return(t-=1)*t*t+1},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-((t-=1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return(t-=1)*t*t*t*t+1},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return 1-Math.cos(t*(Math.PI/2))},easeOutSine:function(t){return Math.sin(t*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t)-1)},easeInExpo:function(t){return 0===t?0:Math.pow(2,10*(t-1))},easeOutExpo:function(t){return 1===t?1:1-Math.pow(2,-10*t)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*--t))},easeInCirc:function(t){return t>=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:1===t?1:(i||(i=.3),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i))},easeOutElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:1===t?1:(i||(i=.3),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/i)+1)},easeInOutElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:2==(t/=.5)?1:(i||(i=.45),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),t<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-Z.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*Z.easeInBounce(2*t):.5*Z.easeOutBounce(2*t-1)+.5}},$={effects:Z};G.easingEffects=Z;var J=Math.PI,Q=J/180,tt=2*J,et=J/2,it=J/4,nt=2*J/3,at={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,i,n,a,o){if(o){var r=Math.min(o,a/2,n/2),s=e+r,l=i+r,d=e+n-r,u=i+a-r;t.moveTo(e,l),s<d&&l<u?(t.arc(s,l,r,-J,-et),t.arc(d,l,r,-et,0),t.arc(d,u,r,0,et),t.arc(s,u,r,et,J)):s<d?(t.moveTo(s,i),t.arc(d,l,r,-et,et),t.arc(s,l,r,et,J+et)):l<u?(t.arc(s,l,r,-J,0),t.arc(s,u,r,0,J)):t.arc(s,l,r,-J,J),t.closePath(),t.moveTo(e,i)}else t.rect(e,i,n,a)},drawPoint:function(t,e,i,n,a,o){var r,s,l,d,u,h=(o||0)*Q;if(!e||"object"!=typeof e||"[object HTMLImageElement]"!==(r=e.toString())&&"[object HTMLCanvasElement]"!==r){if(!(isNaN(i)||i<=0)){switch(t.beginPath(),e){default:t.arc(n,a,i,0,tt),t.closePath();break;case"triangle":t.moveTo(n+Math.sin(h)*i,a-Math.cos(h)*i),h+=nt,t.lineTo(n+Math.sin(h)*i,a-Math.cos(h)*i),h+=nt,t.lineTo(n+Math.sin(h)*i,a-Math.cos(h)*i),t.closePath();break;case"rectRounded":d=i-(u=.516*i),s=Math.cos(h+it)*d,l=Math.sin(h+it)*d,t.arc(n-s,a-l,u,h-J,h-et),t.arc(n+l,a-s,u,h-et,h),t.arc(n+s,a+l,u,h,h+et),t.arc(n-l,a+s,u,h+et,h+J),t.closePath();break;case"rect":if(!o){d=Math.SQRT1_2*i,t.rect(n-d,a-d,2*d,2*d);break}h+=it;case"rectRot":s=Math.cos(h)*i,l=Math.sin(h)*i,t.moveTo(n-s,a-l),t.lineTo(n+l,a-s),t.lineTo(n+s,a+l),t.lineTo(n-l,a+s),t.closePath();break;case"crossRot":h+=it;case"cross":s=Math.cos(h)*i,l=Math.sin(h)*i,t.moveTo(n-s,a-l),t.lineTo(n+s,a+l),t.moveTo(n+l,a-s),t.lineTo(n-l,a+s);break;case"star":s=Math.cos(h)*i,l=Math.sin(h)*i,t.moveTo(n-s,a-l),t.lineTo(n+s,a+l),t.moveTo(n+l,a-s),t.lineTo(n-l,a+s),h+=it,s=Math.cos(h)*i,l=Math.sin(h)*i,t.moveTo(n-s,a-l),t.lineTo(n+s,a+l),t.moveTo(n+l,a-s),t.lineTo(n-l,a+s);break;case"line":s=Math.cos(h)*i,l=Math.sin(h)*i,t.moveTo(n-s,a-l),t.lineTo(n+s,a+l);break;case"dash":t.moveTo(n,a),t.lineTo(n+Math.cos(h)*i,a+Math.sin(h)*i)}t.fill(),t.stroke()}}else t.drawImage(e,n-e.width/2,a-e.height/2,e.width,e.height)},_isPointInArea:function(t,e){return t.x>e.left-1e-6&&t.x<e.right+1e-6&&t.y>e.top-1e-6&&t.y<e.bottom+1e-6},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,i,n){var a=i.steppedLine;if(a){if("middle"===a){var o=(e.x+i.x)/2;t.lineTo(o,n?i.y:e.y),t.lineTo(o,n?e.y:i.y)}else"after"===a&&!n||"after"!==a&&n?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}else i.tension?t.bezierCurveTo(n?e.controlPointPreviousX:e.controlPointNextX,n?e.controlPointPreviousY:e.controlPointNextY,n?i.controlPointNextX:i.controlPointPreviousX,n?i.controlPointNextY:i.controlPointPreviousY,i.x,i.y):t.lineTo(i.x,i.y)}},ot=at;G.clear=at.clear,G.drawRoundedRectangle=function(t){t.beginPath(),at.roundedRect.apply(at,arguments)};var rt={_set:function(t,e){return G.merge(this[t]||(this[t]={}),e)}};rt._set("global",{defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",defaultLineHeight:1.2,showLines:!0});var st=rt,lt=G.valueOrDefault;var dt={toLineHeight:function(t,e){var i=(""+t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t},toPadding:function(t){var e,i,n,a;return G.isObject(t)?(e=+t.top||0,i=+t.right||0,n=+t.bottom||0,a=+t.left||0):e=i=n=a=+t||0,{top:e,right:i,bottom:n,left:a,height:e+n,width:a+i}},_parseFont:function(t){var e=st.global,i=lt(t.fontSize,e.defaultFontSize),n={family:lt(t.fontFamily,e.defaultFontFamily),lineHeight:G.options.toLineHeight(lt(t.lineHeight,e.defaultLineHeight),i),size:i,style:lt(t.fontStyle,e.defaultFontStyle),weight:null,string:""};return n.string=function(t){return!t||G.isNullOrUndef(t.size)||G.isNullOrUndef(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(n),n},resolve:function(t,e,i){var n,a,o;for(n=0,a=t.length;n<a;++n)if(void 0!==(o=t[n])&&(void 0!==e&&"function"==typeof o&&(o=o(e)),void 0!==i&&G.isArray(o)&&(o=o[i]),void 0!==o))return o}},ut=G,ht=$,ct=ot,ft=dt;ut.easing=ht,ut.canvas=ct,ut.options=ft;var gt=function(t){ut.extend(this,t),this.initialize.apply(this,arguments)};ut.extend(gt.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var t=this;return t._view||(t._view=ut.clone(t._model)),t._start={},t},transition:function(t){var e=this,i=e._model,n=e._start,a=e._view;return i&&1!==t?(a||(a=e._view={}),n||(n=e._start={}),function(t,e,i,n){var a,o,r,s,l,d,u,h,c,f=Object.keys(i);for(a=0,o=f.length;a<o;++a)if(d=i[r=f[a]],e.hasOwnProperty(r)||(e[r]=d),(s=e[r])!==d&&"_"!==r[0]){if(t.hasOwnProperty(r)||(t[r]=s),(u=typeof d)==typeof(l=t[r]))if("string"===u){if((h=X(l)).valid&&(c=X(d)).valid){e[r]=c.mix(h,n).rgbString();continue}}else if(ut.isFinite(l)&&ut.isFinite(d)){e[r]=l+(d-l)*n;continue}e[r]=d}}(n,a,i,t),e):(e._view=i,e._start=null,e)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return ut.isNumber(this._model.x)&&ut.isNumber(this._model.y)}}),gt.extend=ut.inherits;var pt=gt,mt=pt.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),vt=mt;Object.defineProperty(mt.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(mt.prototype,"chartInstance",{get:function(){return this.chart},set:function(t){this.chart=t}}),st._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:ut.noop,onComplete:ut.noop}});var bt={animations:[],request:null,addAnimation:function(t,e,i,n){var a,o,r=this.animations;for(e.chart=t,e.startTime=Date.now(),e.duration=i,n||(t.animating=!0),a=0,o=r.length;a<o;++a)if(r[a].chart===t)return void(r[a]=e);r.push(e),1===r.length&&this.requestAnimationFrame()},cancelAnimation:function(t){var e=ut.findIndex(this.animations,function(e){return e.chart===t});-1!==e&&(this.animations.splice(e,1),t.animating=!1)},requestAnimationFrame:function(){var t=this;null===t.request&&(t.request=ut.requestAnimFrame.call(window,function(){t.request=null,t.startDigest()}))},startDigest:function(){this.advance(),this.animations.length>0&&this.requestAnimationFrame()},advance:function(){for(var t,e,i,n,a=this.animations,o=0;o<a.length;)e=(t=a[o]).chart,i=t.numSteps,n=Math.floor((Date.now()-t.startTime)/t.duration*i)+1,t.currentStep=Math.min(n,i),ut.callback(t.render,[e,t],e),ut.callback(t.onAnimationProgress,[t],e),t.currentStep>=i?(ut.callback(t.onAnimationComplete,[t],e),e.animating=!1,a.splice(o,1)):++o}},xt=ut.options.resolve,yt=["push","pop","shift","splice","unshift"];function kt(t,e){var i=t._chartjs;if(i){var n=i.listeners,a=n.indexOf(e);-1!==a&&n.splice(a,1),n.length>0||(yt.forEach(function(e){delete t[e]}),delete t._chartjs)}}var wt=function(t,e){this.initialize(t,e)};ut.extend(wt.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){this.chart=t,this.index=e,this.linkScales(),this.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),i=t.getDataset();null!==e.xAxisID&&e.xAxisID in t.chart.scales||(e.xAxisID=i.xAxisID||t.chart.options.scales.xAxes[0].id),null!==e.yAxisID&&e.yAxisID in t.chart.scales||(e.yAxisID=i.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this.update(!0)},destroy:function(){this._data&&kt(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,i=this.getMeta(),n=this.getDataset().data||[],a=i.data;for(t=0,e=n.length;t<e;++t)a[t]=a[t]||this.createMetaData(t);i.dataset=i.dataset||this.createMetaDataset()},addElementAndReset:function(t){var e=this.createMetaData(t);this.getMeta().data.splice(t,0,e),this.updateElement(e,t,!0)},buildOrUpdateElements:function(){var t,e,i=this,n=i.getDataset(),a=n.data||(n.data=[]);i._data!==a&&(i._data&&kt(i._data,i),a&&Object.isExtensible(a)&&(e=i,(t=a)._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),yt.forEach(function(e){var i="onData"+e.charAt(0).toUpperCase()+e.slice(1),n=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:function(){var e=Array.prototype.slice.call(arguments),a=n.apply(this,e);return ut.each(t._chartjs.listeners,function(t){"function"==typeof t[i]&&t[i].apply(t,e)}),a}})}))),i._data=a),i.resyncElements()},update:ut.noop,transition:function(t){for(var e=this.getMeta(),i=e.data||[],n=i.length,a=0;a<n;++a)i[a].transition(t);e.dataset&&e.dataset.transition(t)},draw:function(){var t=this.getMeta(),e=t.data||[],i=e.length,n=0;for(t.dataset&&t.dataset.draw();n<i;++n)e[n].draw()},removeHoverStyle:function(t){ut.merge(t._model,t.$previousStyle||{}),delete t.$previousStyle},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],i=t._index,n=t.custom||{},a=t._model,o=ut.getHoverColor;t.$previousStyle={backgroundColor:a.backgroundColor,borderColor:a.borderColor,borderWidth:a.borderWidth},a.backgroundColor=xt([n.hoverBackgroundColor,e.hoverBackgroundColor,o(a.backgroundColor)],void 0,i),a.borderColor=xt([n.hoverBorderColor,e.hoverBorderColor,o(a.borderColor)],void 0,i),a.borderWidth=xt([n.hoverBorderWidth,e.hoverBorderWidth,a.borderWidth],void 0,i)},resyncElements:function(){var t=this.getMeta(),e=this.getDataset().data,i=t.data.length,n=e.length;n<i?t.data.splice(n,i-n):n>i&&this.insertElements(i,n-i)},insertElements:function(t,e){for(var i=0;i<e;++i)this.addElementAndReset(t+i)},onDataPush:function(){var t=arguments.length;this.insertElements(this.getDataset().data.length-t,t)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(t,e){this.getMeta().data.splice(t,e),this.insertElements(t,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),wt.extend=ut.inherits;var Mt=wt;st._set("global",{elements:{arc:{backgroundColor:st.global.defaultColor,borderColor:"#fff",borderWidth:2,borderAlign:"center"}}});var _t=pt.extend({inLabelRange:function(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hoverRadius,2)},inRange:function(t,e){var i=this._view;if(i){for(var n=ut.getAngleFromPoint(i,{x:t,y:e}),a=n.angle,o=n.distance,r=i.startAngle,s=i.endAngle;s<r;)s+=2*Math.PI;for(;a>s;)a-=2*Math.PI;for(;a<r;)a+=2*Math.PI;var l=a>=r&&a<=s,d=o>=i.innerRadius&&o<=i.outerRadius;return l&&d}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,i=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*i,y:t.y+Math.sin(e)*i}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,i=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*i,y:t.y+Math.sin(e)*i}},draw:function(){var t,e=this._chart.ctx,i=this._view,n=i.startAngle,a=i.endAngle,o="inner"===i.borderAlign?.33:0;e.save(),e.beginPath(),e.arc(i.x,i.y,Math.max(i.outerRadius-o,0),n,a),e.arc(i.x,i.y,i.innerRadius,a,n,!0),e.closePath(),e.fillStyle=i.backgroundColor,e.fill(),i.borderWidth&&("inner"===i.borderAlign?(e.beginPath(),t=o/i.outerRadius,e.arc(i.x,i.y,i.outerRadius,n-t,a+t),i.innerRadius>o?(t=o/i.innerRadius,e.arc(i.x,i.y,i.innerRadius-o,a+t,n-t,!0)):e.arc(i.x,i.y,o,a+Math.PI/2,n-Math.PI/2),e.closePath(),e.clip(),e.beginPath(),e.arc(i.x,i.y,i.outerRadius,n,a),e.arc(i.x,i.y,i.innerRadius,a,n,!0),e.closePath(),e.lineWidth=2*i.borderWidth,e.lineJoin="round"):(e.lineWidth=i.borderWidth,e.lineJoin="bevel"),e.strokeStyle=i.borderColor,e.stroke()),e.restore()}}),Ct=ut.valueOrDefault,St=st.global.defaultColor;st._set("global",{elements:{line:{tension:.4,backgroundColor:St,borderWidth:3,borderColor:St,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}});var Pt=pt.extend({draw:function(){var t,e,i,n,a=this._view,o=this._chart.ctx,r=a.spanGaps,s=this._children.slice(),l=st.global,d=l.elements.line,u=-1;for(this._loop&&s.length&&s.push(s[0]),o.save(),o.lineCap=a.borderCapStyle||d.borderCapStyle,o.setLineDash&&o.setLineDash(a.borderDash||d.borderDash),o.lineDashOffset=Ct(a.borderDashOffset,d.borderDashOffset),o.lineJoin=a.borderJoinStyle||d.borderJoinStyle,o.lineWidth=Ct(a.borderWidth,d.borderWidth),o.strokeStyle=a.borderColor||l.defaultColor,o.beginPath(),u=-1,t=0;t<s.length;++t)e=s[t],i=ut.previousItem(s,t),n=e._view,0===t?n.skip||(o.moveTo(n.x,n.y),u=t):(i=-1===u?i:s[u],n.skip||(u!==t-1&&!r||-1===u?o.moveTo(n.x,n.y):ut.canvas.lineTo(o,i._view,e._view),u=t));o.stroke(),o.restore()}}),It=ut.valueOrDefault,At=st.global.defaultColor;function Dt(t){var e=this._view;return!!e&&Math.abs(t-e.x)<e.radius+e.hitRadius}st._set("global",{elements:{point:{radius:3,pointStyle:"circle",backgroundColor:At,borderColor:At,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});var Tt=pt.extend({inRange:function(t,e){var i=this._view;return!!i&&Math.pow(t-i.x,2)+Math.pow(e-i.y,2)<Math.pow(i.hitRadius+i.radius,2)},inLabelRange:Dt,inXRange:Dt,inYRange:function(t){var e=this._view;return!!e&&Math.abs(t-e.y)<e.radius+e.hitRadius},getCenterPoint:function(){var t=this._view;return{x:t.x,y:t.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y,padding:t.radius+t.borderWidth}},draw:function(t){var e=this._view,i=this._chart.ctx,n=e.pointStyle,a=e.rotation,o=e.radius,r=e.x,s=e.y,l=st.global,d=l.defaultColor;e.skip||(void 0===t||ut.canvas._isPointInArea(e,t))&&(i.strokeStyle=e.borderColor||d,i.lineWidth=It(e.borderWidth,l.elements.point.borderWidth),i.fillStyle=e.backgroundColor||d,ut.canvas.drawPoint(i,n,o,r,s,a))}}),Ft=st.global.defaultColor;function Lt(t){return t&&void 0!==t.width}function Rt(t){var e,i,n,a,o;return Lt(t)?(o=t.width/2,e=t.x-o,i=t.x+o,n=Math.min(t.y,t.base),a=Math.max(t.y,t.base)):(o=t.height/2,e=Math.min(t.x,t.base),i=Math.max(t.x,t.base),n=t.y-o,a=t.y+o),{left:e,top:n,right:i,bottom:a}}function Ot(t,e,i){return t===e?i:t===i?e:t}function zt(t,e,i){var n,a,o,r,s=t.borderWidth,l=function(t){var e=t.borderSkipped,i={};return e?(t.horizontal?t.base>t.x&&(e=Ot(e,"left","right")):t.base<t.y&&(e=Ot(e,"bottom","top")),i[e]=!0,i):i}(t);return ut.isObject(s)?(n=+s.top||0,a=+s.right||0,o=+s.bottom||0,r=+s.left||0):n=a=o=r=+s||0,{t:l.top||n<0?0:n>i?i:n,r:l.right||a<0?0:a>e?e:a,b:l.bottom||o<0?0:o>i?i:o,l:l.left||r<0?0:r>e?e:r}}function Bt(t,e,i){var n=null===e,a=null===i,o=!(!t||n&&a)&&Rt(t);return o&&(n||e>=o.left&&e<=o.right)&&(a||i>=o.top&&i<=o.bottom)}st._set("global",{elements:{rectangle:{backgroundColor:Ft,borderColor:Ft,borderSkipped:"bottom",borderWidth:0}}});var Nt=pt.extend({draw:function(){var t=this._chart.ctx,e=this._view,i=function(t){var e=Rt(t),i=e.right-e.left,n=e.bottom-e.top,a=zt(t,i/2,n/2);return{outer:{x:e.left,y:e.top,w:i,h:n},inner:{x:e.left+a.l,y:e.top+a.t,w:i-a.l-a.r,h:n-a.t-a.b}}}(e),n=i.outer,a=i.inner;t.fillStyle=e.backgroundColor,t.fillRect(n.x,n.y,n.w,n.h),n.w===a.w&&n.h===a.h||(t.save(),t.beginPath(),t.rect(n.x,n.y,n.w,n.h),t.clip(),t.fillStyle=e.borderColor,t.rect(a.x,a.y,a.w,a.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return Bt(this._view,t,e)},inLabelRange:function(t,e){var i=this._view;return Lt(i)?Bt(i,t,null):Bt(i,null,e)},inXRange:function(t){return Bt(this._view,t,null)},inYRange:function(t){return Bt(this._view,null,t)},getCenterPoint:function(){var t,e,i=this._view;return Lt(i)?(t=i.x,e=(i.y+i.base)/2):(t=(i.x+i.base)/2,e=i.y),{x:t,y:e}},getArea:function(){var t=this._view;return Lt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),Wt={},Vt=_t,Et=Pt,Ht=Tt,jt=Nt;Wt.Arc=Vt,Wt.Line=Et,Wt.Point=Ht,Wt.Rectangle=jt;var qt=ut.options.resolve;st._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}});var Yt=Mt.extend({dataElementType:Wt.Rectangle,initialize:function(){var t;Mt.prototype.initialize.apply(this,arguments),(t=this.getMeta()).stack=this.getDataset().stack,t.bar=!0},update:function(t){var e,i,n=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,i=n.length;e<i;++e)this.updateElement(n[e],e,t)},updateElement:function(t,e,i){var n=this,a=n.getMeta(),o=n.getDataset(),r=n._resolveElementOptions(t,e);t._xScale=n.getScaleForId(a.xAxisID),t._yScale=n.getScaleForId(a.yAxisID),t._datasetIndex=n.index,t._index=e,t._model={backgroundColor:r.backgroundColor,borderColor:r.borderColor,borderSkipped:r.borderSkipped,borderWidth:r.borderWidth,datasetLabel:o.label,label:n.chart.data.labels[e]},n._updateElementGeometry(t,e,i),t.pivot()},_updateElementGeometry:function(t,e,i){var n=this,a=t._model,o=n._getValueScale(),r=o.getBasePixel(),s=o.isHorizontal(),l=n._ruler||n.getRuler(),d=n.calculateBarValuePixels(n.index,e),u=n.calculateBarIndexPixels(n.index,e,l);a.horizontal=s,a.base=i?r:d.base,a.x=s?i?r:d.head:u.center,a.y=s?u.center:i?r:d.head,a.height=s?u.size:void 0,a.width=s?void 0:u.size},_getStacks:function(t){var e,i,n=this.chart,a=this._getIndexScale().options.stacked,o=void 0===t?n.data.datasets.length:t+1,r=[];for(e=0;e<o;++e)(i=n.getDatasetMeta(e)).bar&&n.isDatasetVisible(e)&&(!1===a||!0===a&&-1===r.indexOf(i.stack)||void 0===a&&(void 0===i.stack||-1===r.indexOf(i.stack)))&&r.push(i.stack);return r},getStackCount:function(){return this._getStacks().length},getStackIndex:function(t,e){var i=this._getStacks(t),n=void 0!==e?i.indexOf(e):-1;return-1===n?i.length-1:n},getRuler:function(){var t,e,i=this._getIndexScale(),n=this.getStackCount(),a=this.index,o=i.isHorizontal(),r=o?i.left:i.top,s=r+(o?i.width:i.height),l=[];for(t=0,e=this.getMeta().data.length;t<e;++t)l.push(i.getPixelForValue(null,t,a));return{min:ut.isNullOrUndef(i.options.barThickness)?function(t,e){var i,n,a,o,r=t.isHorizontal()?t.width:t.height,s=t.getTicks();for(a=1,o=e.length;a<o;++a)r=Math.min(r,Math.abs(e[a]-e[a-1]));for(a=0,o=s.length;a<o;++a)n=t.getPixelForTick(a),r=a>0?Math.min(r,n-i):r,i=n;return r}(i,l):-1,pixels:l,start:r,end:s,stackCount:n,scale:i}},calculateBarValuePixels:function(t,e){var i,n,a,o,r,s,l=this.chart,d=this.getMeta(),u=this._getValueScale(),h=u.isHorizontal(),c=l.data.datasets,f=+u.getRightValue(c[t].data[e]),g=u.options.minBarLength,p=u.options.stacked,m=d.stack,v=0;if(p||void 0===p&&void 0!==m)for(i=0;i<t;++i)(n=l.getDatasetMeta(i)).bar&&n.stack===m&&n.controller._getValueScaleId()===u.id&&l.isDatasetVisible(i)&&(a=+u.getRightValue(c[i].data[e]),(f<0&&a<0||f>=0&&a>0)&&(v+=a));return o=u.getPixelForValue(v),s=(r=u.getPixelForValue(v+f))-o,void 0!==g&&Math.abs(s)<g&&(s=g,r=f>=0&&!h||f<0&&h?o-g:o+g),{size:s,base:o,head:r,center:r+s/2}},calculateBarIndexPixels:function(t,e,i){var n=i.scale.options,a="flex"===n.barThickness?function(t,e,i){var n,a=e.pixels,o=a[t],r=t>0?a[t-1]:null,s=t<a.length-1?a[t+1]:null,l=i.categoryPercentage;return null===r&&(r=o-(null===s?e.end-e.start:s-o)),null===s&&(s=o+o-r),n=o-(o-Math.min(r,s))/2*l,{chunk:Math.abs(s-r)/2*l/e.stackCount,ratio:i.barPercentage,start:n}}(e,i,n):function(t,e,i){var n,a,o=i.barThickness,r=e.stackCount,s=e.pixels[t];return ut.isNullOrUndef(o)?(n=e.min*i.categoryPercentage,a=i.barPercentage):(n=o*r,a=1),{chunk:n/r,ratio:a,start:s-n/2}}(e,i,n),o=this.getStackIndex(t,this.getMeta().stack),r=a.start+a.chunk*o+a.chunk/2,s=Math.min(ut.valueOrDefault(n.maxBarThickness,1/0),a.chunk*a.ratio);return{base:r-s/2,head:r+s/2,center:r,size:s}},draw:function(){var t=this.chart,e=this._getValueScale(),i=this.getMeta().data,n=this.getDataset(),a=i.length,o=0;for(ut.canvas.clipArea(t.ctx,t.chartArea);o<a;++o)isNaN(e.getRightValue(n.data[o]))||i[o].draw();ut.canvas.unclipArea(t.ctx)},_resolveElementOptions:function(t,e){var i,n,a,o=this.chart,r=o.data.datasets[this.index],s=t.custom||{},l=o.options.elements.rectangle,d={},u={chart:o,dataIndex:e,dataset:r,datasetIndex:this.index},h=["backgroundColor","borderColor","borderSkipped","borderWidth"];for(i=0,n=h.length;i<n;++i)d[a=h[i]]=qt([s[a],r[a],l[a]],u,e);return d}}),Ut=ut.valueOrDefault,Xt=ut.options.resolve;st._set("bubble",{hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-0"}],yAxes:[{type:"linear",position:"left",id:"y-axis-0"}]},tooltips:{callbacks:{title:function(){return""},label:function(t,e){var i=e.datasets[t.datasetIndex].label||"",n=e.datasets[t.datasetIndex].data[t.index];return i+": ("+t.xLabel+", "+t.yLabel+", "+n.r+")"}}}});var Kt=Mt.extend({dataElementType:Wt.Point,update:function(t){var e=this,i=e.getMeta().data;ut.each(i,function(i,n){e.updateElement(i,n,t)})},updateElement:function(t,e,i){var n=this,a=n.getMeta(),o=t.custom||{},r=n.getScaleForId(a.xAxisID),s=n.getScaleForId(a.yAxisID),l=n._resolveElementOptions(t,e),d=n.getDataset().data[e],u=n.index,h=i?r.getPixelForDecimal(.5):r.getPixelForValue("object"==typeof d?d:NaN,e,u),c=i?s.getBasePixel():s.getPixelForValue(d,e,u);t._xScale=r,t._yScale=s,t._options=l,t._datasetIndex=u,t._index=e,t._model={backgroundColor:l.backgroundColor,borderColor:l.borderColor,borderWidth:l.borderWidth,hitRadius:l.hitRadius,pointStyle:l.pointStyle,rotation:l.rotation,radius:i?0:l.radius,skip:o.skip||isNaN(h)||isNaN(c),x:h,y:c},t.pivot()},setHoverStyle:function(t){var e=t._model,i=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Ut(i.hoverBackgroundColor,n(i.backgroundColor)),e.borderColor=Ut(i.hoverBorderColor,n(i.borderColor)),e.borderWidth=Ut(i.hoverBorderWidth,i.borderWidth),e.radius=i.radius+i.hoverRadius},_resolveElementOptions:function(t,e){var i,n,a,o=this.chart,r=o.data.datasets[this.index],s=t.custom||{},l=o.options.elements.point,d=r.data[e],u={},h={chart:o,dataIndex:e,dataset:r,datasetIndex:this.index},c=["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle","rotation"];for(i=0,n=c.length;i<n;++i)u[a=c[i]]=Xt([s[a],r[a],l[a]],h,e);return u.radius=Xt([s.radius,d?d.r:void 0,r.radius,l.radius],h,e),u}}),Gt=ut.options.resolve,Zt=ut.valueOrDefault;st._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');var i=t.data,n=i.datasets,a=i.labels;if(n.length)for(var o=0;o<n[0].data.length;++o)e.push('<li><span style="background-color:'+n[0].backgroundColor[o]+'"></span>'),a[o]&&e.push(a[o]),e.push("</li>");return e.push("</ul>"),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(i,n){var a=t.getDatasetMeta(0),o=e.datasets[0],r=a.data[n],s=r&&r.custom||{},l=t.options.elements.arc;return{text:i,fillStyle:Gt([s.backgroundColor,o.backgroundColor,l.backgroundColor],void 0,n),strokeStyle:Gt([s.borderColor,o.borderColor,l.borderColor],void 0,n),lineWidth:Gt([s.borderWidth,o.borderWidth,l.borderWidth],void 0,n),hidden:isNaN(o.data[n])||a.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var i,n,a,o=e.index,r=this.chart;for(i=0,n=(r.data.datasets||[]).length;i<n;++i)(a=r.getDatasetMeta(i)).data[o]&&(a.data[o].hidden=!a.data[o].hidden);r.update()}},cutoutPercentage:50,rotation:-.5*Math.PI,circumference:2*Math.PI,tooltips:{callbacks:{title:function(){return""},label:function(t,e){var i=e.labels[t.index],n=": "+e.datasets[t.datasetIndex].data[t.index];return ut.isArray(i)?(i=i.slice())[0]+=n:i+=n,i}}}});var $t=Mt.extend({dataElementType:Wt.Arc,linkScales:ut.noop,getRingIndex:function(t){for(var e=0,i=0;i<t;++i)this.chart.isDatasetVisible(i)&&++e;return e},update:function(t){var e,i,n=this,a=n.chart,o=a.chartArea,r=a.options,s=o.right-o.left,l=o.bottom-o.top,d=Math.min(s,l),u={x:0,y:0},h=n.getMeta(),c=h.data,f=r.cutoutPercentage,g=r.circumference,p=n._getRingWeight(n.index);if(g<2*Math.PI){var m=r.rotation%(2*Math.PI),v=(m+=2*Math.PI*(m>=Math.PI?-1:m<-Math.PI?1:0))+g,b={x:Math.cos(m),y:Math.sin(m)},x={x:Math.cos(v),y:Math.sin(v)},y=m<=0&&v>=0||m<=2*Math.PI&&2*Math.PI<=v,k=m<=.5*Math.PI&&.5*Math.PI<=v||m<=2.5*Math.PI&&2.5*Math.PI<=v,w=m<=-Math.PI&&-Math.PI<=v||m<=Math.PI&&Math.PI<=v,M=m<=.5*-Math.PI&&.5*-Math.PI<=v||m<=1.5*Math.PI&&1.5*Math.PI<=v,_=f/100,C={x:w?-1:Math.min(b.x*(b.x<0?1:_),x.x*(x.x<0?1:_)),y:M?-1:Math.min(b.y*(b.y<0?1:_),x.y*(x.y<0?1:_))},S={x:y?1:Math.max(b.x*(b.x>0?1:_),x.x*(x.x>0?1:_)),y:k?1:Math.max(b.y*(b.y>0?1:_),x.y*(x.y>0?1:_))},P={width:.5*(S.x-C.x),height:.5*(S.y-C.y)};d=Math.min(s/P.width,l/P.height),u={x:-.5*(S.x+C.x),y:-.5*(S.y+C.y)}}for(e=0,i=c.length;e<i;++e)c[e]._options=n._resolveElementOptions(c[e],e);for(a.borderWidth=n.getMaxBorderWidth(),a.outerRadius=Math.max((d-a.borderWidth)/2,0),a.innerRadius=Math.max(f?a.outerRadius/100*f:0,0),a.radiusLength=(a.outerRadius-a.innerRadius)/(n._getVisibleDatasetWeightTotal()||1),a.offsetX=u.x*a.outerRadius,a.offsetY=u.y*a.outerRadius,h.total=n.calculateTotal(),n.outerRadius=a.outerRadius-a.radiusLength*n._getRingWeightOffset(n.index),n.innerRadius=Math.max(n.outerRadius-a.radiusLength*p,0),e=0,i=c.length;e<i;++e)n.updateElement(c[e],e,t)},updateElement:function(t,e,i){var n=this,a=n.chart,o=a.chartArea,r=a.options,s=r.animation,l=(o.left+o.right)/2,d=(o.top+o.bottom)/2,u=r.rotation,h=r.rotation,c=n.getDataset(),f=i&&s.animateRotate?0:t.hidden?0:n.calculateCircumference(c.data[e])*(r.circumference/(2*Math.PI)),g=i&&s.animateScale?0:n.innerRadius,p=i&&s.animateScale?0:n.outerRadius,m=t._options||{};ut.extend(t,{_datasetIndex:n.index,_index:e,_model:{backgroundColor:m.backgroundColor,borderColor:m.borderColor,borderWidth:m.borderWidth,borderAlign:m.borderAlign,x:l+a.offsetX,y:d+a.offsetY,startAngle:u,endAngle:h,circumference:f,outerRadius:p,innerRadius:g,label:ut.valueAtIndexOrDefault(c.label,e,a.data.labels[e])}});var v=t._model;i&&s.animateRotate||(v.startAngle=0===e?r.rotation:n.getMeta().data[e-1]._model.endAngle,v.endAngle=v.startAngle+v.circumference),t.pivot()},calculateTotal:function(){var t,e=this.getDataset(),i=this.getMeta(),n=0;return ut.each(i.data,function(i,a){t=e.data[a],isNaN(t)||i.hidden||(n+=Math.abs(t))}),n},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,i,n,a,o,r,s,l,d=0,u=this.chart;if(!t)for(e=0,i=u.data.datasets.length;e<i;++e)if(u.isDatasetVisible(e)){t=(n=u.getDatasetMeta(e)).data,e!==this.index&&(o=n.controller);break}if(!t)return 0;for(e=0,i=t.length;e<i;++e)a=t[e],"inner"!==(r=o?o._resolveElementOptions(a,e):a._options).borderAlign&&(s=r.borderWidth,d=(l=r.hoverBorderWidth)>(d=s>d?s:d)?l:d);return d},setHoverStyle:function(t){var e=t._model,i=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Zt(i.hoverBackgroundColor,n(i.backgroundColor)),e.borderColor=Zt(i.hoverBorderColor,n(i.borderColor)),e.borderWidth=Zt(i.hoverBorderWidth,i.borderWidth)},_resolveElementOptions:function(t,e){var i,n,a,o=this.chart,r=this.getDataset(),s=t.custom||{},l=o.options.elements.arc,d={},u={chart:o,dataIndex:e,dataset:r,datasetIndex:this.index},h=["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"];for(i=0,n=h.length;i<n;++i)d[a=h[i]]=Gt([s[a],r[a],l[a]],u,e);return d},_getRingWeightOffset:function(t){for(var e=0,i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e},_getRingWeight:function(t){return Math.max(Zt(this.chart.data.datasets[t].weight,1),0)},_getVisibleDatasetWeightTotal:function(){return this._getRingWeightOffset(this.chart.data.datasets.length)}});st._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{type:"category",position:"left",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{mode:"index",axis:"y"}});var Jt=Yt.extend({_getValueScaleId:function(){return this.getMeta().xAxisID},_getIndexScaleId:function(){return this.getMeta().yAxisID}}),Qt=ut.valueOrDefault,te=ut.options.resolve,ee=ut.canvas._isPointInArea;function ie(t,e){return Qt(t.showLine,e.showLines)}st._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}});var ne=Mt.extend({datasetElementType:Wt.Line,dataElementType:Wt.Point,update:function(t){var e,i,n=this,a=n.getMeta(),o=a.dataset,r=a.data||[],s=n.getScaleForId(a.yAxisID),l=n.getDataset(),d=ie(l,n.chart.options);for(d&&(void 0!==l.tension&&void 0===l.lineTension&&(l.lineTension=l.tension),o._scale=s,o._datasetIndex=n.index,o._children=r,o._model=n._resolveLineOptions(o),o.pivot()),e=0,i=r.length;e<i;++e)n.updateElement(r[e],e,t);for(d&&0!==o._model.tension&&n.updateBezierControlPoints(),e=0,i=r.length;e<i;++e)r[e].pivot()},updateElement:function(t,e,i){var n,a,o=this,r=o.getMeta(),s=t.custom||{},l=o.getDataset(),d=o.index,u=l.data[e],h=o.getScaleForId(r.yAxisID),c=o.getScaleForId(r.xAxisID),f=r.dataset._model,g=o._resolvePointOptions(t,e);n=c.getPixelForValue("object"==typeof u?u:NaN,e,d),a=i?h.getBasePixel():o.calculatePointY(u,e,d),t._xScale=c,t._yScale=h,t._options=g,t._datasetIndex=d,t._index=e,t._model={x:n,y:a,skip:s.skip||isNaN(n)||isNaN(a),radius:g.radius,pointStyle:g.pointStyle,rotation:g.rotation,backgroundColor:g.backgroundColor,borderColor:g.borderColor,borderWidth:g.borderWidth,tension:Qt(s.tension,f?f.tension:0),steppedLine:!!f&&f.steppedLine,hitRadius:g.hitRadius}},_resolvePointOptions:function(t,e){var i,n,a,o=this.chart,r=o.data.datasets[this.index],s=t.custom||{},l=o.options.elements.point,d={},u={chart:o,dataIndex:e,dataset:r,datasetIndex:this.index},h={backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},c=Object.keys(h);for(i=0,n=c.length;i<n;++i)d[a=c[i]]=te([s[a],r[h[a]],r[a],l[a]],u,e);return d},_resolveLineOptions:function(t){var e,i,n,a=this.chart,o=a.data.datasets[this.index],r=t.custom||{},s=a.options,l=s.elements.line,d={},u=["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill","cubicInterpolationMode"];for(e=0,i=u.length;e<i;++e)d[n=u[e]]=te([r[n],o[n],l[n]]);return d.spanGaps=Qt(o.spanGaps,s.spanGaps),d.tension=Qt(o.lineTension,l.tension),d.steppedLine=te([r.steppedLine,o.steppedLine,l.stepped]),d},calculatePointY:function(t,e,i){var n,a,o,r=this.chart,s=this.getMeta(),l=this.getScaleForId(s.yAxisID),d=0,u=0;if(l.options.stacked){for(n=0;n<i;n++)if(a=r.data.datasets[n],"line"===(o=r.getDatasetMeta(n)).type&&o.yAxisID===l.id&&r.isDatasetVisible(n)){var h=Number(l.getRightValue(a.data[e]));h<0?u+=h||0:d+=h||0}var c=Number(l.getRightValue(t));return c<0?l.getPixelForValue(u+c):l.getPixelForValue(d+c)}return l.getPixelForValue(t)},updateBezierControlPoints:function(){var t,e,i,n,a=this.chart,o=this.getMeta(),r=o.dataset._model,s=a.chartArea,l=o.data||[];function d(t,e,i){return Math.max(Math.min(t,i),e)}if(r.spanGaps&&(l=l.filter(function(t){return!t._model.skip})),"monotone"===r.cubicInterpolationMode)ut.splineCurveMonotone(l);else for(t=0,e=l.length;t<e;++t)i=l[t]._model,n=ut.splineCurve(ut.previousItem(l,t)._model,i,ut.nextItem(l,t)._model,r.tension),i.controlPointPreviousX=n.previous.x,i.controlPointPreviousY=n.previous.y,i.controlPointNextX=n.next.x,i.controlPointNextY=n.next.y;if(a.options.elements.line.capBezierPoints)for(t=0,e=l.length;t<e;++t)i=l[t]._model,ee(i,s)&&(t>0&&ee(l[t-1]._model,s)&&(i.controlPointPreviousX=d(i.controlPointPreviousX,s.left,s.right),i.controlPointPreviousY=d(i.controlPointPreviousY,s.top,s.bottom)),t<l.length-1&&ee(l[t+1]._model,s)&&(i.controlPointNextX=d(i.controlPointNextX,s.left,s.right),i.controlPointNextY=d(i.controlPointNextY,s.top,s.bottom)))},draw:function(){var t,e=this.chart,i=this.getMeta(),n=i.data||[],a=e.chartArea,o=n.length,r=0;for(ie(this.getDataset(),e.options)&&(t=(i.dataset._model.borderWidth||0)/2,ut.canvas.clipArea(e.ctx,{left:a.left,right:a.right,top:a.top-t,bottom:a.bottom+t}),i.dataset.draw(),ut.canvas.unclipArea(e.ctx));r<o;++r)n[r].draw(a)},setHoverStyle:function(t){var e=t._model,i=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Qt(i.hoverBackgroundColor,n(i.backgroundColor)),e.borderColor=Qt(i.hoverBorderColor,n(i.borderColor)),e.borderWidth=Qt(i.hoverBorderWidth,i.borderWidth),e.radius=Qt(i.hoverRadius,i.radius)}}),ae=ut.options.resolve;st._set("polarArea",{scale:{type:"radialLinear",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');var i=t.data,n=i.datasets,a=i.labels;if(n.length)for(var o=0;o<n[0].data.length;++o)e.push('<li><span style="background-color:'+n[0].backgroundColor[o]+'"></span>'),a[o]&&e.push(a[o]),e.push("</li>");return e.push("</ul>"),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(i,n){var a=t.getDatasetMeta(0),o=e.datasets[0],r=a.data[n].custom||{},s=t.options.elements.arc;return{text:i,fillStyle:ae([r.backgroundColor,o.backgroundColor,s.backgroundColor],void 0,n),strokeStyle:ae([r.borderColor,o.borderColor,s.borderColor],void 0,n),lineWidth:ae([r.borderWidth,o.borderWidth,s.borderWidth],void 0,n),hidden:isNaN(o.data[n])||a.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var i,n,a,o=e.index,r=this.chart;for(i=0,n=(r.data.datasets||[]).length;i<n;++i)(a=r.getDatasetMeta(i)).data[o].hidden=!a.data[o].hidden;r.update()}},tooltips:{callbacks:{title:function(){return""},label:function(t,e){return e.labels[t.index]+": "+t.yLabel}}}});var oe=Mt.extend({dataElementType:Wt.Arc,linkScales:ut.noop,update:function(t){var e,i,n,a=this,o=a.getDataset(),r=a.getMeta(),s=a.chart.options.startAngle||0,l=a._starts=[],d=a._angles=[],u=r.data;for(a._updateRadius(),r.count=a.countVisibleElements(),e=0,i=o.data.length;e<i;e++)l[e]=s,n=a._computeAngle(e),d[e]=n,s+=n;for(e=0,i=u.length;e<i;++e)u[e]._options=a._resolveElementOptions(u[e],e),a.updateElement(u[e],e,t)},_updateRadius:function(){var t=this,e=t.chart,i=e.chartArea,n=e.options,a=Math.min(i.right-i.left,i.bottom-i.top);e.outerRadius=Math.max(a/2,0),e.innerRadius=Math.max(n.cutoutPercentage?e.outerRadius/100*n.cutoutPercentage:1,0),e.radiusLength=(e.outerRadius-e.innerRadius)/e.getVisibleDatasetCount(),t.outerRadius=e.outerRadius-e.radiusLength*t.index,t.innerRadius=t.outerRadius-e.radiusLength},updateElement:function(t,e,i){var n=this,a=n.chart,o=n.getDataset(),r=a.options,s=r.animation,l=a.scale,d=a.data.labels,u=l.xCenter,h=l.yCenter,c=r.startAngle,f=t.hidden?0:l.getDistanceFromCenterForValue(o.data[e]),g=n._starts[e],p=g+(t.hidden?0:n._angles[e]),m=s.animateScale?0:l.getDistanceFromCenterForValue(o.data[e]),v=t._options||{};ut.extend(t,{_datasetIndex:n.index,_index:e,_scale:l,_model:{backgroundColor:v.backgroundColor,borderColor:v.borderColor,borderWidth:v.borderWidth,borderAlign:v.borderAlign,x:u,y:h,innerRadius:0,outerRadius:i?m:f,startAngle:i&&s.animateRotate?c:g,endAngle:i&&s.animateRotate?c:p,label:ut.valueAtIndexOrDefault(d,e,d[e])}}),t.pivot()},countVisibleElements:function(){var t=this.getDataset(),e=this.getMeta(),i=0;return ut.each(e.data,function(e,n){isNaN(t.data[n])||e.hidden||i++}),i},setHoverStyle:function(t){var e=t._model,i=t._options,n=ut.getHoverColor,a=ut.valueOrDefault;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=a(i.hoverBackgroundColor,n(i.backgroundColor)),e.borderColor=a(i.hoverBorderColor,n(i.borderColor)),e.borderWidth=a(i.hoverBorderWidth,i.borderWidth)},_resolveElementOptions:function(t,e){var i,n,a,o=this.chart,r=this.getDataset(),s=t.custom||{},l=o.options.elements.arc,d={},u={chart:o,dataIndex:e,dataset:r,datasetIndex:this.index},h=["backgroundColor","borderColor","borderWidth","borderAlign","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth"];for(i=0,n=h.length;i<n;++i)d[a=h[i]]=ae([s[a],r[a],l[a]],u,e);return d},_computeAngle:function(t){var e=this,i=this.getMeta().count,n=e.getDataset(),a=e.getMeta();if(isNaN(n.data[t])||a.data[t].hidden)return 0;var o={chart:e.chart,dataIndex:t,dataset:n,datasetIndex:e.index};return ae([e.chart.options.elements.arc.angle,2*Math.PI/i],o,t)}});st._set("pie",ut.clone(st.doughnut)),st._set("pie",{cutoutPercentage:0});var re=$t,se=ut.valueOrDefault,le=ut.options.resolve;st._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}});var de=Mt.extend({datasetElementType:Wt.Line,dataElementType:Wt.Point,linkScales:ut.noop,update:function(t){var e,i,n=this,a=n.getMeta(),o=a.dataset,r=a.data||[],s=n.chart.scale,l=n.getDataset();for(void 0!==l.tension&&void 0===l.lineTension&&(l.lineTension=l.tension),o._scale=s,o._datasetIndex=n.index,o._children=r,o._loop=!0,o._model=n._resolveLineOptions(o),o.pivot(),e=0,i=r.length;e<i;++e)n.updateElement(r[e],e,t);for(n.updateBezierControlPoints(),e=0,i=r.length;e<i;++e)r[e].pivot()},updateElement:function(t,e,i){var n=this,a=t.custom||{},o=n.getDataset(),r=n.chart.scale,s=r.getPointPositionForValue(e,o.data[e]),l=n._resolvePointOptions(t,e),d=n.getMeta().dataset._model,u=i?r.xCenter:s.x,h=i?r.yCenter:s.y;t._scale=r,t._options=l,t._datasetIndex=n.index,t._index=e,t._model={x:u,y:h,skip:a.skip||isNaN(u)||isNaN(h),radius:l.radius,pointStyle:l.pointStyle,rotation:l.rotation,backgroundColor:l.backgroundColor,borderColor:l.borderColor,borderWidth:l.borderWidth,tension:se(a.tension,d?d.tension:0),hitRadius:l.hitRadius}},_resolvePointOptions:function(t,e){var i,n,a,o=this.chart,r=o.data.datasets[this.index],s=t.custom||{},l=o.options.elements.point,d={},u={chart:o,dataIndex:e,dataset:r,datasetIndex:this.index},h={backgroundColor:"pointBackgroundColor",borderColor:"pointBorderColor",borderWidth:"pointBorderWidth",hitRadius:"pointHitRadius",hoverBackgroundColor:"pointHoverBackgroundColor",hoverBorderColor:"pointHoverBorderColor",hoverBorderWidth:"pointHoverBorderWidth",hoverRadius:"pointHoverRadius",pointStyle:"pointStyle",radius:"pointRadius",rotation:"pointRotation"},c=Object.keys(h);for(i=0,n=c.length;i<n;++i)d[a=c[i]]=le([s[a],r[h[a]],r[a],l[a]],u,e);return d},_resolveLineOptions:function(t){var e,i,n,a=this.chart,o=a.data.datasets[this.index],r=t.custom||{},s=a.options.elements.line,l={},d=["backgroundColor","borderWidth","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","fill"];for(e=0,i=d.length;e<i;++e)l[n=d[e]]=le([r[n],o[n],s[n]]);return l.tension=se(o.lineTension,s.tension),l},updateBezierControlPoints:function(){var t,e,i,n,a=this.getMeta(),o=this.chart.chartArea,r=a.data||[];function s(t,e,i){return Math.max(Math.min(t,i),e)}for(t=0,e=r.length;t<e;++t)i=r[t]._model,n=ut.splineCurve(ut.previousItem(r,t,!0)._model,i,ut.nextItem(r,t,!0)._model,i.tension),i.controlPointPreviousX=s(n.previous.x,o.left,o.right),i.controlPointPreviousY=s(n.previous.y,o.top,o.bottom),i.controlPointNextX=s(n.next.x,o.left,o.right),i.controlPointNextY=s(n.next.y,o.top,o.bottom)},setHoverStyle:function(t){var e=t._model,i=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=se(i.hoverBackgroundColor,n(i.backgroundColor)),e.borderColor=se(i.hoverBorderColor,n(i.borderColor)),e.borderWidth=se(i.hoverBorderWidth,i.borderWidth),e.radius=se(i.hoverRadius,i.radius)}});st._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(t){return"("+t.xLabel+", "+t.yLabel+")"}}}});var ue={bar:Yt,bubble:Kt,doughnut:$t,horizontalBar:Jt,line:ne,polarArea:oe,pie:re,radar:de,scatter:ne};function he(t,e){return t.native?{x:t.x,y:t.y}:ut.getRelativePosition(t,e)}function ce(t,e){var i,n,a,o,r;for(n=0,o=t.data.datasets.length;n<o;++n)if(t.isDatasetVisible(n))for(a=0,r=(i=t.getDatasetMeta(n)).data.length;a<r;++a){var s=i.data[a];s._view.skip||e(s)}}function fe(t,e){var i=[];return ce(t,function(t){t.inRange(e.x,e.y)&&i.push(t)}),i}function ge(t,e,i,n){var a=Number.POSITIVE_INFINITY,o=[];return ce(t,function(t){if(!i||t.inRange(e.x,e.y)){var r=t.getCenterPoint(),s=n(e,r);s<a?(o=[t],a=s):s===a&&o.push(t)}}),o}function pe(t){var e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,n){var a=e?Math.abs(t.x-n.x):0,o=i?Math.abs(t.y-n.y):0;return Math.sqrt(Math.pow(a,2)+Math.pow(o,2))}}function me(t,e,i){var n=he(e,t);i.axis=i.axis||"x";var a=pe(i.axis),o=i.intersect?fe(t,n):ge(t,n,!1,a),r=[];return o.length?(t.data.datasets.forEach(function(e,i){if(t.isDatasetVisible(i)){var n=t.getDatasetMeta(i).data[o[0]._index];n&&!n._view.skip&&r.push(n)}}),r):[]}var ve={modes:{single:function(t,e){var i=he(e,t),n=[];return ce(t,function(t){if(t.inRange(i.x,i.y))return n.push(t),n}),n.slice(0,1)},label:me,index:me,dataset:function(t,e,i){var n=he(e,t);i.axis=i.axis||"xy";var a=pe(i.axis),o=i.intersect?fe(t,n):ge(t,n,!1,a);return o.length>0&&(o=t.getDatasetMeta(o[0]._datasetIndex).data),o},"x-axis":function(t,e){return me(t,e,{intersect:!1})},point:function(t,e){return fe(t,he(e,t))},nearest:function(t,e,i){var n=he(e,t);i.axis=i.axis||"xy";var a=pe(i.axis);return ge(t,n,i.intersect,a)},x:function(t,e,i){var n=he(e,t),a=[],o=!1;return ce(t,function(t){t.inXRange(n.x)&&a.push(t),t.inRange(n.x,n.y)&&(o=!0)}),i.intersect&&!o&&(a=[]),a},y:function(t,e,i){var n=he(e,t),a=[],o=!1;return ce(t,function(t){t.inYRange(n.y)&&a.push(t),t.inRange(n.x,n.y)&&(o=!0)}),i.intersect&&!o&&(a=[]),a}}};function be(t,e){return ut.where(t,function(t){return t.position===e})}function xe(t,e){t.forEach(function(t,e){return t._tmpIndex_=e,t}),t.sort(function(t,i){var n=e?i:t,a=e?t:i;return n.weight===a.weight?n._tmpIndex_-a._tmpIndex_:n.weight-a.weight}),t.forEach(function(t){delete t._tmpIndex_})}function ye(t,e){ut.each(t,function(t){e[t.position]+=t.isHorizontal()?t.height:t.width})}st._set("global",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var ke={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure:function(t,e,i){for(var n,a=["fullWidth","position","weight"],o=a.length,r=0;r<o;++r)n=a[r],i.hasOwnProperty(n)&&(e[n]=i[n])},update:function(t,e,i){if(t){var n=t.options.layout||{},a=ut.options.toPadding(n.padding),o=a.left,r=a.right,s=a.top,l=a.bottom,d=be(t.boxes,"left"),u=be(t.boxes,"right"),h=be(t.boxes,"top"),c=be(t.boxes,"bottom"),f=be(t.boxes,"chartArea");xe(d,!0),xe(u,!1),xe(h,!0),xe(c,!1);var g,p=d.concat(u),m=h.concat(c),v=p.concat(m),b=e-o-r,x=i-s-l,y=(e-b/2)/p.length,k=b,w=x,M={top:s,left:o,bottom:l,right:r},_=[];ut.each(v,function(t){var e,i=t.isHorizontal();i?(e=t.update(t.fullWidth?b:k,x/2),w-=e.height):(e=t.update(y,w),k-=e.width),_.push({horizontal:i,width:e.width,box:t})}),g=function(t){var e=0,i=0,n=0,a=0;return ut.each(t,function(t){if(t.getPadding){var o=t.getPadding();e=Math.max(e,o.top),i=Math.max(i,o.left),n=Math.max(n,o.bottom),a=Math.max(a,o.right)}}),{top:e,left:i,bottom:n,right:a}}(v),ut.each(p,T),ye(p,M),ut.each(m,T),ye(m,M),ut.each(p,function(t){var e=ut.findNextWhere(_,function(e){return e.box===t}),i={left:0,right:0,top:M.top,bottom:M.bottom};e&&t.update(e.width,w,i)}),ye(v,M={top:s,left:o,bottom:l,right:r});var C=Math.max(g.left-M.left,0);M.left+=C,M.right+=Math.max(g.right-M.right,0);var S=Math.max(g.top-M.top,0);M.top+=S,M.bottom+=Math.max(g.bottom-M.bottom,0);var P=i-M.top-M.bottom,I=e-M.left-M.right;I===k&&P===w||(ut.each(p,function(t){t.height=P}),ut.each(m,function(t){t.fullWidth||(t.width=I)}),w=P,k=I);var A=o+C,D=s+S;ut.each(d.concat(h),F),A+=k,D+=w,ut.each(u,F),ut.each(c,F),t.chartArea={left:M.left,top:M.top,right:M.left+k,bottom:M.top+w},ut.each(f,function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(k,w)})}function T(t){var e=ut.findNextWhere(_,function(e){return e.box===t});if(e)if(e.horizontal){var i={left:Math.max(M.left,g.left),right:Math.max(M.right,g.right),top:0,bottom:0};t.update(t.fullWidth?b:k,x/2,i)}else t.update(e.width,w)}function F(t){t.isHorizontal()?(t.left=t.fullWidth?o:M.left,t.right=t.fullWidth?e-r:M.left+k,t.top=D,t.bottom=D+t.height,D=t.bottom):(t.left=A,t.right=A+t.width,t.top=M.top,t.bottom=M.top+w,A=t.right)}}};var we,Me=(we=Object.freeze({default:"@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}"}))&&we.default||we,_e="$chartjs",Ce="chartjs-size-monitor",Se="chartjs-render-monitor",Pe="chartjs-render-animation",Ie=["animationstart","webkitAnimationStart"],Ae={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function De(t,e){var i=ut.getStyle(t,e),n=i&&i.match(/^(\d+)(\.\d+)?px$/);return n?Number(n[1]):void 0}var Te=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(t){}return t}()&&{passive:!0};function Fe(t,e,i){t.addEventListener(e,i,Te)}function Le(t,e,i){t.removeEventListener(e,i,Te)}function Re(t,e,i,n,a){return{type:t,chart:e,native:a||null,x:void 0!==i?i:null,y:void 0!==n?n:null}}function Oe(t){var e=document.createElement("div");return e.className=t||"",e}function ze(t,e,i){var n,a,o,r,s=t[_e]||(t[_e]={}),l=s.resizer=function(t){var e=Oe(Ce),i=Oe(Ce+"-expand"),n=Oe(Ce+"-shrink");i.appendChild(Oe()),n.appendChild(Oe()),e.appendChild(i),e.appendChild(n),e._reset=function(){i.scrollLeft=1e6,i.scrollTop=1e6,n.scrollLeft=1e6,n.scrollTop=1e6};var a=function(){e._reset(),t()};return Fe(i,"scroll",a.bind(i,"expand")),Fe(n,"scroll",a.bind(n,"shrink")),e}((n=function(){if(s.resizer){var n=i.options.maintainAspectRatio&&t.parentNode,a=n?n.clientWidth:0;e(Re("resize",i)),n&&n.clientWidth<a&&i.canvas&&e(Re("resize",i))}},o=!1,r=[],function(){r=Array.prototype.slice.call(arguments),a=a||this,o||(o=!0,ut.requestAnimFrame.call(window,function(){o=!1,n.apply(a,r)}))}));!function(t,e){var i=t[_e]||(t[_e]={}),n=i.renderProxy=function(t){t.animationName===Pe&&e()};ut.each(Ie,function(e){Fe(t,e,n)}),i.reflow=!!t.offsetParent,t.classList.add(Se)}(t,function(){if(s.resizer){var e=t.parentNode;e&&e!==l.parentNode&&e.insertBefore(l,e.firstChild),l._reset()}})}function Be(t){var e=t[_e]||{},i=e.resizer;delete e.resizer,function(t){var e=t[_e]||{},i=e.renderProxy;i&&(ut.each(Ie,function(e){Le(t,e,i)}),delete e.renderProxy),t.classList.remove(Se)}(t),i&&i.parentNode&&i.parentNode.removeChild(i)}var Ne={disableCSSInjection:!1,_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,_ensureLoaded:function(){var t,e,i;this._loaded||(this._loaded=!0,this.disableCSSInjection||(e=Me,i=(t=this)._style||document.createElement("style"),t._style||(t._style=i,e="/* Chart.js */\n"+e,i.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(i)),i.appendChild(document.createTextNode(e))))},acquireContext:function(t,e){"string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var i=t&&t.getContext&&t.getContext("2d");return this._ensureLoaded(),i&&i.canvas===t?(function(t,e){var i=t.style,n=t.getAttribute("height"),a=t.getAttribute("width");if(t[_e]={initial:{height:n,width:a,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",null===a||""===a){var o=De(t,"width");void 0!==o&&(t.width=o)}if(null===n||""===n)if(""===t.style.height)t.height=t.width/(e.options.aspectRatio||2);else{var r=De(t,"height");void 0!==o&&(t.height=r)}}(t,e),i):null},releaseContext:function(t){var e=t.canvas;if(e[_e]){var i=e[_e].initial;["height","width"].forEach(function(t){var n=i[t];ut.isNullOrUndef(n)?e.removeAttribute(t):e.setAttribute(t,n)}),ut.each(i.style||{},function(t,i){e.style[i]=t}),e.width=e.width,delete e[_e]}},addEventListener:function(t,e,i){var n=t.canvas;if("resize"!==e){var a=i[_e]||(i[_e]={});Fe(n,e,(a.proxies||(a.proxies={}))[t.id+"_"+e]=function(e){i(function(t,e){var i=Ae[t.type]||t.type,n=ut.getRelativePosition(t,e);return Re(i,e,n.x,n.y,t)}(e,t))})}else ze(n,i,t)},removeEventListener:function(t,e,i){var n=t.canvas;if("resize"!==e){var a=((i[_e]||{}).proxies||{})[t.id+"_"+e];a&&Le(n,e,a)}else Be(n)}};ut.addEvent=Fe,ut.removeEvent=Le;var We=Ne._enabled?Ne:{acquireContext:function(t){return t&&t.canvas&&(t=t.canvas),t&&t.getContext("2d")||null}},Ve=ut.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},We);st._set("global",{plugins:{}});var Ee={_plugins:[],_cacheId:0,register:function(t){var e=this._plugins;[].concat(t).forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),this._cacheId++},unregister:function(t){var e=this._plugins;[].concat(t).forEach(function(t){var i=e.indexOf(t);-1!==i&&e.splice(i,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(t,e,i){var n,a,o,r,s,l=this.descriptors(t),d=l.length;for(n=0;n<d;++n)if("function"==typeof(s=(o=(a=l[n]).plugin)[e])&&((r=[t].concat(i||[])).push(a.options),!1===s.apply(o,r)))return!1;return!0},descriptors:function(t){var e=t.$plugins||(t.$plugins={});if(e.id===this._cacheId)return e.descriptors;var i=[],n=[],a=t&&t.config||{},o=a.options&&a.options.plugins||{};return this._plugins.concat(a.plugins||[]).forEach(function(t){if(-1===i.indexOf(t)){var e=t.id,a=o[e];!1!==a&&(!0===a&&(a=ut.clone(st.global.plugins[e])),i.push(t),n.push({plugin:t,options:a||{}}))}}),e.descriptors=n,e.id=this._cacheId,n},_invalidate:function(t){delete t.$plugins}},He={constructors:{},defaults:{},registerScaleType:function(t,e,i){this.constructors[t]=e,this.defaults[t]=ut.clone(i)},getScaleConstructor:function(t){return this.constructors.hasOwnProperty(t)?this.constructors[t]:void 0},getScaleDefaults:function(t){return this.defaults.hasOwnProperty(t)?ut.merge({},[st.scale,this.defaults[t]]):{}},updateScaleDefaults:function(t,e){this.defaults.hasOwnProperty(t)&&(this.defaults[t]=ut.extend(this.defaults[t],e))},addScalesToLayout:function(t){ut.each(t.scales,function(e){e.fullWidth=e.options.fullWidth,e.position=e.options.position,e.weight=e.options.weight,ke.addBox(t,e)})}},je=ut.valueOrDefault;st._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:ut.noop,title:function(t,e){var i="",n=e.labels,a=n?n.length:0;if(t.length>0){var o=t[0];o.label?i=o.label:o.xLabel?i=o.xLabel:a>0&&o.index<a&&(i=n[o.index])}return i},afterTitle:ut.noop,beforeBody:ut.noop,beforeLabel:ut.noop,label:function(t,e){var i=e.datasets[t.datasetIndex].label||"";return i&&(i+=": "),ut.isNullOrUndef(t.value)?i+=t.yLabel:i+=t.value,i},labelColor:function(t,e){var i=e.getDatasetMeta(t.datasetIndex).data[t.index]._view;return{borderColor:i.borderColor,backgroundColor:i.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:ut.noop,afterBody:ut.noop,beforeFooter:ut.noop,footer:ut.noop,afterFooter:ut.noop}}});var qe={average:function(t){if(!t.length)return!1;var e,i,n=0,a=0,o=0;for(e=0,i=t.length;e<i;++e){var r=t[e];if(r&&r.hasValue()){var s=r.tooltipPosition();n+=s.x,a+=s.y,++o}}return{x:n/o,y:a/o}},nearest:function(t,e){var i,n,a,o=e.x,r=e.y,s=Number.POSITIVE_INFINITY;for(i=0,n=t.length;i<n;++i){var l=t[i];if(l&&l.hasValue()){var d=l.getCenterPoint(),u=ut.distanceBetweenPoints(e,d);u<s&&(s=u,a=l)}}if(a){var h=a.tooltipPosition();o=h.x,r=h.y}return{x:o,y:r}}};function Ye(t,e){return e&&(ut.isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Ue(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function Xe(t){var e=st.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,bodyFontColor:t.bodyFontColor,_bodyFontFamily:je(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:je(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:je(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:je(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:je(t.titleFontStyle,e.defaultFontStyle),titleFontSize:je(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:je(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:je(t.footerFontStyle,e.defaultFontStyle),footerFontSize:je(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function Ke(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function Ge(t){return Ye([],Ue(t))}var Ze=pt.extend({initialize:function(){this._model=Xe(this._options),this._lastActive=[]},getTitle:function(){var t=this._options.callbacks,e=t.beforeTitle.apply(this,arguments),i=t.title.apply(this,arguments),n=t.afterTitle.apply(this,arguments),a=[];return a=Ye(a,Ue(e)),a=Ye(a,Ue(i)),a=Ye(a,Ue(n))},getBeforeBody:function(){return Ge(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var i=this,n=i._options.callbacks,a=[];return ut.each(t,function(t){var o={before:[],lines:[],after:[]};Ye(o.before,Ue(n.beforeLabel.call(i,t,e))),Ye(o.lines,n.label.call(i,t,e)),Ye(o.after,Ue(n.afterLabel.call(i,t,e))),a.push(o)}),a},getAfterBody:function(){return Ge(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this._options.callbacks,e=t.beforeFooter.apply(this,arguments),i=t.footer.apply(this,arguments),n=t.afterFooter.apply(this,arguments),a=[];return a=Ye(a,Ue(e)),a=Ye(a,Ue(i)),a=Ye(a,Ue(n))},update:function(t){var e,i,n,a,o,r,s,l,d,u,h=this,c=h._options,f=h._model,g=h._model=Xe(c),p=h._active,m=h._data,v={xAlign:f.xAlign,yAlign:f.yAlign},b={x:f.x,y:f.y},x={width:f.width,height:f.height},y={x:f.caretX,y:f.caretY};if(p.length){g.opacity=1;var k=[],w=[];y=qe[c.position].call(h,p,h._eventPosition);var M=[];for(e=0,i=p.length;e<i;++e)M.push((n=p[e],a=void 0,o=void 0,r=void 0,s=void 0,l=void 0,d=void 0,u=void 0,a=n._xScale,o=n._yScale||n._scale,r=n._index,s=n._datasetIndex,l=n._chart.getDatasetMeta(s).controller,d=l._getIndexScale(),u=l._getValueScale(),{xLabel:a?a.getLabelForIndex(r,s):"",yLabel:o?o.getLabelForIndex(r,s):"",label:d?""+d.getLabelForIndex(r,s):"",value:u?""+u.getLabelForIndex(r,s):"",index:r,datasetIndex:s,x:n._model.x,y:n._model.y}));c.filter&&(M=M.filter(function(t){return c.filter(t,m)})),c.itemSort&&(M=M.sort(function(t,e){return c.itemSort(t,e,m)})),ut.each(M,function(t){k.push(c.callbacks.labelColor.call(h,t,h._chart)),w.push(c.callbacks.labelTextColor.call(h,t,h._chart))}),g.title=h.getTitle(M,m),g.beforeBody=h.getBeforeBody(M,m),g.body=h.getBody(M,m),g.afterBody=h.getAfterBody(M,m),g.footer=h.getFooter(M,m),g.x=y.x,g.y=y.y,g.caretPadding=c.caretPadding,g.labelColors=k,g.labelTextColors=w,g.dataPoints=M,x=function(t,e){var i=t._chart.ctx,n=2*e.yPadding,a=0,o=e.body,r=o.reduce(function(t,e){return t+e.before.length+e.lines.length+e.after.length},0);r+=e.beforeBody.length+e.afterBody.length;var s=e.title.length,l=e.footer.length,d=e.titleFontSize,u=e.bodyFontSize,h=e.footerFontSize;n+=s*d,n+=s?(s-1)*e.titleSpacing:0,n+=s?e.titleMarginBottom:0,n+=r*u,n+=r?(r-1)*e.bodySpacing:0,n+=l?e.footerMarginTop:0,n+=l*h,n+=l?(l-1)*e.footerSpacing:0;var c=0,f=function(t){a=Math.max(a,i.measureText(t).width+c)};return i.font=ut.fontString(d,e._titleFontStyle,e._titleFontFamily),ut.each(e.title,f),i.font=ut.fontString(u,e._bodyFontStyle,e._bodyFontFamily),ut.each(e.beforeBody.concat(e.afterBody),f),c=e.displayColors?u+2:0,ut.each(o,function(t){ut.each(t.before,f),ut.each(t.lines,f),ut.each(t.after,f)}),c=0,i.font=ut.fontString(h,e._footerFontStyle,e._footerFontFamily),ut.each(e.footer,f),{width:a+=2*e.xPadding,height:n}}(this,g),b=function(t,e,i,n){var a=t.x,o=t.y,r=t.caretSize,s=t.caretPadding,l=t.cornerRadius,d=i.xAlign,u=i.yAlign,h=r+s,c=l+s;return"right"===d?a-=e.width:"center"===d&&((a-=e.width/2)+e.width>n.width&&(a=n.width-e.width),a<0&&(a=0)),"top"===u?o+=h:o-="bottom"===u?e.height+h:e.height/2,"center"===u?"left"===d?a+=h:"right"===d&&(a-=h):"left"===d?a-=c:"right"===d&&(a+=c),{x:a,y:o}}(g,x,v=function(t,e){var i,n,a,o,r,s=t._model,l=t._chart,d=t._chart.chartArea,u="center",h="center";s.y<e.height?h="top":s.y>l.height-e.height&&(h="bottom");var c=(d.left+d.right)/2,f=(d.top+d.bottom)/2;"center"===h?(i=function(t){return t<=c},n=function(t){return t>c}):(i=function(t){return t<=e.width/2},n=function(t){return t>=l.width-e.width/2}),a=function(t){return t+e.width+s.caretSize+s.caretPadding>l.width},o=function(t){return t-e.width-s.caretSize-s.caretPadding<0},r=function(t){return t<=f?"top":"bottom"},i(s.x)?(u="left",a(s.x)&&(u="center",h=r(s.y))):n(s.x)&&(u="right",o(s.x)&&(u="center",h=r(s.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:u,yAlign:g.yAlign?g.yAlign:h}}(this,x),h._chart)}else g.opacity=0;return g.xAlign=v.xAlign,g.yAlign=v.yAlign,g.x=b.x,g.y=b.y,g.width=x.width,g.height=x.height,g.caretX=y.x,g.caretY=y.y,h._model=g,t&&c.custom&&c.custom.call(h,g),h},drawCaret:function(t,e){var i=this._chart.ctx,n=this._view,a=this.getCaretPosition(t,e,n);i.lineTo(a.x1,a.y1),i.lineTo(a.x2,a.y2),i.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,i){var n,a,o,r,s,l,d=i.caretSize,u=i.cornerRadius,h=i.xAlign,c=i.yAlign,f=t.x,g=t.y,p=e.width,m=e.height;if("center"===c)s=g+m/2,"left"===h?(a=(n=f)-d,o=n,r=s+d,l=s-d):(a=(n=f+p)+d,o=n,r=s-d,l=s+d);else if("left"===h?(n=(a=f+u+d)-d,o=a+d):"right"===h?(n=(a=f+p-u-d)-d,o=a+d):(n=(a=i.caretX)-d,o=a+d),"top"===c)s=(r=g)-d,l=r;else{s=(r=g+m)+d,l=r;var v=o;o=n,n=v}return{x1:n,x2:a,x3:o,y1:r,y2:s,y3:l}},drawTitle:function(t,e,i){var n=e.title;if(n.length){t.x=Ke(e,e._titleAlign),i.textAlign=e._titleAlign,i.textBaseline="top";var a,o,r=e.titleFontSize,s=e.titleSpacing;for(i.fillStyle=e.titleFontColor,i.font=ut.fontString(r,e._titleFontStyle,e._titleFontFamily),a=0,o=n.length;a<o;++a)i.fillText(n[a],t.x,t.y),t.y+=r+s,a+1===n.length&&(t.y+=e.titleMarginBottom-s)}},drawBody:function(t,e,i){var n,a=e.bodyFontSize,o=e.bodySpacing,r=e._bodyAlign,s=e.body,l=e.displayColors,d=e.labelColors,u=0,h=l?Ke(e,"left"):0;i.textAlign=r,i.textBaseline="top",i.font=ut.fontString(a,e._bodyFontStyle,e._bodyFontFamily),t.x=Ke(e,r);var c=function(e){i.fillText(e,t.x+u,t.y),t.y+=a+o};i.fillStyle=e.bodyFontColor,ut.each(e.beforeBody,c),u=l&&"right"!==r?"center"===r?a/2+1:a+2:0,ut.each(s,function(o,r){n=e.labelTextColors[r],i.fillStyle=n,ut.each(o.before,c),ut.each(o.lines,function(o){l&&(i.fillStyle=e.legendColorBackground,i.fillRect(h,t.y,a,a),i.lineWidth=1,i.strokeStyle=d[r].borderColor,i.strokeRect(h,t.y,a,a),i.fillStyle=d[r].backgroundColor,i.fillRect(h+1,t.y+1,a-2,a-2),i.fillStyle=n),c(o)}),ut.each(o.after,c)}),u=0,ut.each(e.afterBody,c),t.y-=o},drawFooter:function(t,e,i){var n=e.footer;n.length&&(t.x=Ke(e,e._footerAlign),t.y+=e.footerMarginTop,i.textAlign=e._footerAlign,i.textBaseline="top",i.fillStyle=e.footerFontColor,i.font=ut.fontString(e.footerFontSize,e._footerFontStyle,e._footerFontFamily),ut.each(n,function(n){i.fillText(n,t.x,t.y),t.y+=e.footerFontSize+e.footerSpacing}))},drawBackground:function(t,e,i,n){i.fillStyle=e.backgroundColor,i.strokeStyle=e.borderColor,i.lineWidth=e.borderWidth;var a=e.xAlign,o=e.yAlign,r=t.x,s=t.y,l=n.width,d=n.height,u=e.cornerRadius;i.beginPath(),i.moveTo(r+u,s),"top"===o&&this.drawCaret(t,n),i.lineTo(r+l-u,s),i.quadraticCurveTo(r+l,s,r+l,s+u),"center"===o&&"right"===a&&this.drawCaret(t,n),i.lineTo(r+l,s+d-u),i.quadraticCurveTo(r+l,s+d,r+l-u,s+d),"bottom"===o&&this.drawCaret(t,n),i.lineTo(r+u,s+d),i.quadraticCurveTo(r,s+d,r,s+d-u),"center"===o&&"left"===a&&this.drawCaret(t,n),i.lineTo(r,s+u),i.quadraticCurveTo(r,s,r+u,s),i.closePath(),i.fill(),e.borderWidth>0&&i.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var i={width:e.width,height:e.height},n={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,o=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&o&&(t.save(),t.globalAlpha=a,this.drawBackground(n,e,t,i),n.y+=e.yPadding,this.drawTitle(n,e,t),this.drawBody(n,e,t),this.drawFooter(n,e,t),t.restore())}},handleEvent:function(t){var e,i=this,n=i._options;return i._lastActive=i._lastActive||[],"mouseout"===t.type?i._active=[]:i._active=i._chart.getElementsAtEventForMode(t,n.mode,n),(e=!ut.arrayEquals(i._active,i._lastActive))&&(i._lastActive=i._active,(n.enabled||n.custom)&&(i._eventPosition={x:t.x,y:t.y},i.update(!0),i.pivot())),e}}),$e=qe,Je=Ze;Je.positioners=$e;var Qe=ut.valueOrDefault;function ti(){return ut.merge({},[].slice.call(arguments),{merger:function(t,e,i,n){if("xAxes"===t||"yAxes"===t){var a,o,r,s=i[t].length;for(e[t]||(e[t]=[]),a=0;a<s;++a)r=i[t][a],o=Qe(r.type,"xAxes"===t?"category":"linear"),a>=e[t].length&&e[t].push({}),!e[t][a].type||r.type&&r.type!==e[t][a].type?ut.merge(e[t][a],[He.getScaleDefaults(o),r]):ut.merge(e[t][a],r)}else ut._merger(t,e,i,n)}})}function ei(){return ut.merge({},[].slice.call(arguments),{merger:function(t,e,i,n){var a=e[t]||{},o=i[t];"scales"===t?e[t]=ti(a,o):"scale"===t?e[t]=ut.merge(a,[He.getScaleDefaults(o.type),o]):ut._merger(t,e,i,n)}})}function ii(t){return"top"===t||"bottom"===t}st._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var ni=function(t,e){return this.construct(t,e),this};ut.extend(ni.prototype,{construct:function(t,e){var i=this;e=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=ei(st.global,st[t.type],t.options||{}),t}(e);var n=Ve.acquireContext(t,e),a=n&&n.canvas,o=a&&a.height,r=a&&a.width;i.id=ut.uid(),i.ctx=n,i.canvas=a,i.config=e,i.width=r,i.height=o,i.aspectRatio=o?r/o:null,i.options=e.options,i._bufferedRender=!1,i.chart=i,i.controller=i,ni.instances[i.id]=i,Object.defineProperty(i,"data",{get:function(){return i.config.data},set:function(t){i.config.data=t}}),n&&a?(i.initialize(),i.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Ee.notify(t,"beforeInit"),ut.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.initToolTip(),Ee.notify(t,"afterInit"),t},clear:function(){return ut.canvas.clear(this),this},stop:function(){return bt.cancelAnimation(this),this},resize:function(t){var e=this,i=e.options,n=e.canvas,a=i.maintainAspectRatio&&e.aspectRatio||null,o=Math.max(0,Math.floor(ut.getMaximumWidth(n))),r=Math.max(0,Math.floor(a?o/a:ut.getMaximumHeight(n)));if((e.width!==o||e.height!==r)&&(n.width=e.width=o,n.height=e.height=r,n.style.width=o+"px",n.style.height=r+"px",ut.retinaScale(e,i.devicePixelRatio),!t)){var s={width:o,height:r};Ee.notify(e,"resize",[s]),i.onResize&&i.onResize(e,s),e.stop(),e.update({duration:i.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},i=t.scale;ut.each(e.xAxes,function(t,e){t.id=t.id||"x-axis-"+e}),ut.each(e.yAxes,function(t,e){t.id=t.id||"y-axis-"+e}),i&&(i.id=i.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,i=t.scales||{},n=[],a=Object.keys(i).reduce(function(t,e){return t[e]=!1,t},{});e.scales&&(n=n.concat((e.scales.xAxes||[]).map(function(t){return{options:t,dtype:"category",dposition:"bottom"}}),(e.scales.yAxes||[]).map(function(t){return{options:t,dtype:"linear",dposition:"left"}}))),e.scale&&n.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),ut.each(n,function(e){var n=e.options,o=n.id,r=Qe(n.type,e.dtype);ii(n.position)!==ii(e.dposition)&&(n.position=e.dposition),a[o]=!0;var s=null;if(o in i&&i[o].type===r)(s=i[o]).options=n,s.ctx=t.ctx,s.chart=t;else{var l=He.getScaleConstructor(r);if(!l)return;s=new l({id:o,type:r,options:n,ctx:t.ctx,chart:t}),i[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)}),ut.each(a,function(t,e){t||delete i[e]}),t.scales=i,He.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t=this,e=[];return ut.each(t.data.datasets,function(i,n){var a=t.getDatasetMeta(n),o=i.type||t.config.type;if(a.type&&a.type!==o&&(t.destroyDatasetMeta(n),a=t.getDatasetMeta(n)),a.type=o,a.controller)a.controller.updateIndex(n),a.controller.linkScales();else{var r=ue[a.type];if(void 0===r)throw new Error('"'+a.type+'" is not a chart type.');a.controller=new r(t,n),e.push(a.controller)}},t),e},resetElements:function(){var t=this;ut.each(t.data.datasets,function(e,i){t.getDatasetMeta(i).controller.reset()},t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var e,i,n=this;if(t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]}),i=(e=n).options,ut.each(e.scales,function(t){ke.removeBox(e,t)}),i=ei(st.global,st[e.config.type],i),e.options=e.config.options=i,e.ensureScalesHaveIDs(),e.buildOrUpdateScales(),e.tooltip._options=i.tooltips,e.tooltip.initialize(),Ee._invalidate(n),!1!==Ee.notify(n,"beforeUpdate")){n.tooltip._data=n.data;var a=n.buildOrUpdateControllers();ut.each(n.data.datasets,function(t,e){n.getDatasetMeta(e).controller.buildOrUpdateElements()},n),n.updateLayout(),n.options.animation&&n.options.animation.duration&&ut.each(a,function(t){t.reset()}),n.updateDatasets(),n.tooltip.initialize(),n.lastActive=[],Ee.notify(n,"afterUpdate"),n._bufferedRender?n._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:n.render(t)}},updateLayout:function(){!1!==Ee.notify(this,"beforeLayout")&&(ke.update(this,this.width,this.height),Ee.notify(this,"afterScaleUpdate"),Ee.notify(this,"afterLayout"))},updateDatasets:function(){if(!1!==Ee.notify(this,"beforeDatasetsUpdate")){for(var t=0,e=this.data.datasets.length;t<e;++t)this.updateDataset(t);Ee.notify(this,"afterDatasetsUpdate")}},updateDataset:function(t){var e=this.getDatasetMeta(t),i={meta:e,index:t};!1!==Ee.notify(this,"beforeDatasetUpdate",[i])&&(e.controller.update(),Ee.notify(this,"afterDatasetUpdate",[i]))},render:function(t){var e=this;t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]});var i=e.options.animation,n=Qe(t.duration,i&&i.duration),a=t.lazy;if(!1!==Ee.notify(e,"beforeRender")){var o=function(t){Ee.notify(e,"afterRender"),ut.callback(i&&i.onComplete,[t],e)};if(i&&n){var r=new vt({numSteps:n/16.66,easing:t.easing||i.easing,render:function(t,e){var i=ut.easing.effects[e.easing],n=e.currentStep,a=n/e.numSteps;t.draw(i(a),a,n)},onAnimationProgress:i.onProgress,onAnimationComplete:o});bt.addAnimation(e,r,n,a)}else e.draw(),o(new vt({numSteps:0,chart:e}));return e}},draw:function(t){var e=this;e.clear(),ut.isNullOrUndef(t)&&(t=1),e.transition(t),e.width<=0||e.height<=0||!1!==Ee.notify(e,"beforeDraw",[t])&&(ut.each(e.boxes,function(t){t.draw(e.chartArea)},e),e.drawDatasets(t),e._drawTooltip(t),Ee.notify(e,"afterDraw",[t]))},transition:function(t){for(var e=0,i=(this.data.datasets||[]).length;e<i;++e)this.isDatasetVisible(e)&&this.getDatasetMeta(e).controller.transition(t);this.tooltip.transition(t)},drawDatasets:function(t){var e=this;if(!1!==Ee.notify(e,"beforeDatasetsDraw",[t])){for(var i=(e.data.datasets||[]).length-1;i>=0;--i)e.isDatasetVisible(i)&&e.drawDataset(i,t);Ee.notify(e,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var i=this.getDatasetMeta(t),n={meta:i,index:t,easingValue:e};!1!==Ee.notify(this,"beforeDatasetDraw",[n])&&(i.controller.draw(e),Ee.notify(this,"afterDatasetDraw",[n]))},_drawTooltip:function(t){var e=this.tooltip,i={tooltip:e,easingValue:t};!1!==Ee.notify(this,"beforeTooltipDraw",[i])&&(e.draw(),Ee.notify(this,"afterTooltipDraw",[i]))},getElementAtEvent:function(t){return ve.modes.single(this,t)},getElementsAtEvent:function(t){return ve.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return ve.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,i){var n=ve.modes[e];return"function"==typeof n?n(this,t,i):[]},getDatasetAtEvent:function(t){return ve.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var i=e._meta[this.id];return i||(i=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),i},getVisibleDatasetCount:function(){for(var t=0,e=0,i=this.data.datasets.length;e<i;++e)this.isDatasetVisible(e)&&t++;return t},isDatasetVisible:function(t){var e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!this.data.datasets[t].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(t){var e=this.id,i=this.data.datasets[t],n=i._meta&&i._meta[e];n&&(n.controller.destroy(),delete i._meta[e])},destroy:function(){var t,e,i=this,n=i.canvas;for(i.stop(),t=0,e=i.data.datasets.length;t<e;++t)i.destroyDatasetMeta(t);n&&(i.unbindEvents(),ut.canvas.clear(i),Ve.releaseContext(i.ctx),i.canvas=null,i.ctx=null),Ee.notify(i,"destroy"),delete ni.instances[i.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var t=this;t.tooltip=new Je({_chart:t,_chartInstance:t,_data:t.data,_options:t.options.tooltips},t)},bindEvents:function(){var t=this,e=t._listeners={},i=function(){t.eventHandler.apply(t,arguments)};ut.each(t.options.events,function(n){Ve.addEventListener(t,n,i),e[n]=i}),t.options.responsive&&(i=function(){t.resize()},Ve.addEventListener(t,"resize",i),e.resize=i)},unbindEvents:function(){var t=this,e=t._listeners;e&&(delete t._listeners,ut.each(e,function(e,i){Ve.removeEventListener(t,i,e)}))},updateHoverStyle:function(t,e,i){var n,a,o,r=i?"setHoverStyle":"removeHoverStyle";for(a=0,o=t.length;a<o;++a)(n=t[a])&&this.getDatasetMeta(n._datasetIndex).controller[r](n)},eventHandler:function(t){var e=this,i=e.tooltip;if(!1!==Ee.notify(e,"beforeEvent",[t])){e._bufferedRender=!0,e._bufferedRequest=null;var n=e.handleEvent(t);i&&(n=i._start?i.handleEvent(t):n|i.handleEvent(t)),Ee.notify(e,"afterEvent",[t]);var a=e._bufferedRequest;return a?e.render(a):n&&!e.animating&&(e.stop(),e.render({duration:e.options.hover.animationDuration,lazy:!0})),e._bufferedRender=!1,e._bufferedRequest=null,e}},handleEvent:function(t){var e,i=this,n=i.options||{},a=n.hover;return i.lastActive=i.lastActive||[],"mouseout"===t.type?i.active=[]:i.active=i.getElementsAtEventForMode(t,a.mode,a),ut.callback(n.onHover||n.hover.onHover,[t.native,i.active],i),"mouseup"!==t.type&&"click"!==t.type||n.onClick&&n.onClick.call(i,t.native,i.active),i.lastActive.length&&i.updateHoverStyle(i.lastActive,a.mode,!1),i.active.length&&a.mode&&i.updateHoverStyle(i.active,a.mode,!0),e=!ut.arrayEquals(i.active,i.lastActive),i.lastActive=i.active,e}}),ni.instances={};var ai=ni;ni.Controller=ni,ni.types={},ut.configMerge=ei,ut.scaleMerge=ti;function oi(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function ri(t){this.options=t||{}}ut.extend(ri.prototype,{formats:oi,parse:oi,format:oi,add:oi,diff:oi,startOf:oi,endOf:oi,_create:function(t){return t}}),ri.override=function(t){ut.extend(ri.prototype,t)};var si={_date:ri},li={formatters:{values:function(t){return ut.isArray(t)?t:""+t},linear:function(t,e,i){var n=i.length>3?i[2]-i[1]:i[1]-i[0];Math.abs(n)>1&&t!==Math.floor(t)&&(n=t-Math.floor(t));var a=ut.log10(Math.abs(n)),o="";if(0!==t)if(Math.max(Math.abs(i[0]),Math.abs(i[i.length-1]))<1e-4){var r=ut.log10(Math.abs(t));o=t.toExponential(Math.floor(r)-Math.floor(a))}else{var s=-1*Math.floor(a);s=Math.max(Math.min(s,20),0),o=t.toFixed(s)}else o="0";return o},logarithmic:function(t,e,i){var n=t/Math.pow(10,Math.floor(ut.log10(t)));return 0===t?"0":1===n||2===n||5===n||0===e||e===i.length-1?t.toExponential():""}}},di=ut.valueOrDefault,ui=ut.valueAtIndexOrDefault;function hi(t){var e,i,n=[];for(e=0,i=t.length;e<i;++e)n.push(t[e].label);return n}function ci(t,e,i){return ut.isArray(e)?ut.longestText(t,i,e):t.measureText(e).width}st._set("scale",{display:!0,position:"left",offset:!1,gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:"",padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:li.formatters.values,minor:{},major:{}}});var fi=pt.extend({getPadding:function(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}},getTicks:function(){return this._ticks},mergeTicksOptions:function(){var t=this.options.ticks;for(var e in!1===t.minor&&(t.minor={display:!1}),!1===t.major&&(t.major={display:!1}),t)"major"!==e&&"minor"!==e&&(void 0===t.minor[e]&&(t.minor[e]=t[e]),void 0===t.major[e]&&(t.major[e]=t[e]))},beforeUpdate:function(){ut.callback(this.options.beforeUpdate,[this])},update:function(t,e,i){var n,a,o,r,s,l,d=this;for(d.beforeUpdate(),d.maxWidth=t,d.maxHeight=e,d.margins=ut.extend({left:0,right:0,top:0,bottom:0},i),d._maxLabelLines=0,d.longestLabelWidth=0,d.longestTextCache=d.longestTextCache||{},d.beforeSetDimensions(),d.setDimensions(),d.afterSetDimensions(),d.beforeDataLimits(),d.determineDataLimits(),d.afterDataLimits(),d.beforeBuildTicks(),s=d.buildTicks()||[],s=d.afterBuildTicks(s)||s,d.beforeTickToLabelConversion(),o=d.convertTicksToLabels(s)||d.ticks,d.afterTickToLabelConversion(),d.ticks=o,n=0,a=o.length;n<a;++n)r=o[n],(l=s[n])?l.label=r:s.push(l={label:r,major:!1});return d._ticks=s,d.beforeCalculateTickRotation(),d.calculateTickRotation(),d.afterCalculateTickRotation(),d.beforeFit(),d.fit(),d.afterFit(),d.afterUpdate(),d.minSize},afterUpdate:function(){ut.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){ut.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0},afterSetDimensions:function(){ut.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){ut.callback(this.options.beforeDataLimits,[this])},determineDataLimits:ut.noop,afterDataLimits:function(){ut.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){ut.callback(this.options.beforeBuildTicks,[this])},buildTicks:ut.noop,afterBuildTicks:function(t){var e=this;return ut.isArray(t)&&t.length?ut.callback(e.options.afterBuildTicks,[e,t]):(e.ticks=ut.callback(e.options.afterBuildTicks,[e,e.ticks])||e.ticks,t)},beforeTickToLabelConversion:function(){ut.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var t=this.options.ticks;this.ticks=this.ticks.map(t.userCallback||t.callback,this)},afterTickToLabelConversion:function(){ut.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){ut.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var t=this,e=t.ctx,i=t.options.ticks,n=hi(t._ticks),a=ut.options._parseFont(i);e.font=a.string;var o=i.minRotation||0;if(n.length&&t.options.display&&t.isHorizontal())for(var r,s=ut.longestText(e,a.string,n,t.longestTextCache),l=s,d=t.getPixelForTick(1)-t.getPixelForTick(0)-6;l>d&&o<i.maxRotation;){var u=ut.toRadians(o);if(r=Math.cos(u),Math.sin(u)*s>t.maxHeight){o--;break}o++,l=r*s}t.labelRotation=o},afterCalculateTickRotation:function(){ut.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){ut.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},i=hi(t._ticks),n=t.options,a=n.ticks,o=n.scaleLabel,r=n.gridLines,s=t._isVisible(),l=n.position,d=t.isHorizontal(),u=ut.options._parseFont,h=u(a),c=n.gridLines.tickMarkLength;if(e.width=d?t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:s&&r.drawTicks?c:0,e.height=d?s&&r.drawTicks?c:0:t.maxHeight,o.display&&s){var f=u(o),g=ut.options.toPadding(o.padding),p=f.lineHeight+g.height;d?e.height+=p:e.width+=p}if(a.display&&s){var m=ut.longestText(t.ctx,h.string,i,t.longestTextCache),v=ut.numberOfLabelLines(i),b=.5*h.size,x=t.options.ticks.padding;if(t._maxLabelLines=v,t.longestLabelWidth=m,d){var y=ut.toRadians(t.labelRotation),k=Math.cos(y),w=Math.sin(y)*m+h.lineHeight*v+b;e.height=Math.min(t.maxHeight,e.height+w+x),t.ctx.font=h.string;var M,_,C=ci(t.ctx,i[0],h.string),S=ci(t.ctx,i[i.length-1],h.string),P=t.getPixelForTick(0)-t.left,I=t.right-t.getPixelForTick(i.length-1);0!==t.labelRotation?(M="bottom"===l?k*C:k*b,_="bottom"===l?k*b:k*S):(M=C/2,_=S/2),t.paddingLeft=Math.max(M-P,0)+3,t.paddingRight=Math.max(_-I,0)+3}else a.mirror?m=0:m+=x+b,e.width=Math.min(t.maxWidth,e.width+m),t.paddingTop=h.size/2,t.paddingBottom=h.size/2}t.handleMargins(),t.width=e.width,t.height=e.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){ut.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(ut.isNullOrUndef(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:ut.noop,getPixelForValue:ut.noop,getValueForPixel:ut.noop,getPixelForTick:function(t){var e=this,i=e.options.offset;if(e.isHorizontal()){var n=(e.width-(e.paddingLeft+e.paddingRight))/Math.max(e._ticks.length-(i?0:1),1),a=n*t+e.paddingLeft;i&&(a+=n/2);var o=e.left+a;return o+=e.isFullWidth()?e.margins.left:0}var r=e.height-(e.paddingTop+e.paddingBottom);return e.top+t*(r/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var i=(e.width-(e.paddingLeft+e.paddingRight))*t+e.paddingLeft,n=e.left+i;return n+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,i,n=this,a=n.isHorizontal(),o=n.options.ticks.minor,r=t.length,s=!1,l=o.maxTicksLimit,d=n._tickSize()*(r-1),u=a?n.width-(n.paddingLeft+n.paddingRight):n.height-(n.paddingTop+n.PaddingBottom),h=[];for(d>u&&(s=1+Math.floor(d/u)),r>l&&(s=Math.max(s,1+Math.floor(r/l))),e=0;e<r;e++)i=t[e],s>1&&e%s>0&&delete i.label,h.push(i);return h},_tickSize:function(){var t=this,e=t.isHorizontal(),i=t.options.ticks.minor,n=ut.toRadians(t.labelRotation),a=Math.abs(Math.cos(n)),o=Math.abs(Math.sin(n)),r=i.autoSkipPadding||0,s=t.longestLabelWidth+r||0,l=ut.options._parseFont(i),d=t._maxLabelLines*l.lineHeight+r||0;return e?d*a>s*o?s/a:d/o:d*o<s*a?d/a:s/o},_isVisible:function(){var t,e,i,n=this.chart,a=this.options.display;if("auto"!==a)return!!a;for(t=0,e=n.data.datasets.length;t<e;++t)if(n.isDatasetVisible(t)&&((i=n.getDatasetMeta(t)).xAxisID===this.id||i.yAxisID===this.id))return!0;return!1},draw:function(t){var e=this,i=e.options;if(e._isVisible()){var n,a,o,r=e.chart,s=e.ctx,l=st.global.defaultFontColor,d=i.ticks.minor,u=i.ticks.major||d,h=i.gridLines,c=i.scaleLabel,f=i.position,g=0!==e.labelRotation,p=d.mirror,m=e.isHorizontal(),v=ut.options._parseFont,b=d.display&&d.autoSkip?e._autoSkip(e.getTicks()):e.getTicks(),x=di(d.fontColor,l),y=v(d),k=y.lineHeight,w=di(u.fontColor,l),M=v(u),_=d.padding,C=d.labelOffset,S=h.drawTicks?h.tickMarkLength:0,P=di(c.fontColor,l),I=v(c),A=ut.options.toPadding(c.padding),D=ut.toRadians(e.labelRotation),T=[],F=h.drawBorder?ui(h.lineWidth,0,0):0,L=ut._alignPixel;"top"===f?(n=L(r,e.bottom,F),a=e.bottom-S,o=n-F/2):"bottom"===f?(n=L(r,e.top,F),a=n+F/2,o=e.top+S):"left"===f?(n=L(r,e.right,F),a=e.right-S,o=n-F/2):(n=L(r,e.left,F),a=n+F/2,o=e.left+S);if(ut.each(b,function(n,s){if(!ut.isNullOrUndef(n.label)){var l,d,u,c,v,b,x,y,w,M,P,I,A,R,O,z,B=n.label;s===e.zeroLineIndex&&i.offset===h.offsetGridLines?(l=h.zeroLineWidth,d=h.zeroLineColor,u=h.zeroLineBorderDash||[],c=h.zeroLineBorderDashOffset||0):(l=ui(h.lineWidth,s),d=ui(h.color,s),u=h.borderDash||[],c=h.borderDashOffset||0);var N=ut.isArray(B)?B.length:1,W=function(t,e,i){var n=t.getPixelForTick(e);return i&&(1===t.getTicks().length?n-=t.isHorizontal()?Math.max(n-t.left,t.right-n):Math.max(n-t.top,t.bottom-n):n-=0===e?(t.getPixelForTick(1)-n)/2:(n-t.getPixelForTick(e-1))/2),n}(e,s,h.offsetGridLines);if(m){var V=S+_;W<e.left-1e-7&&(d="rgba(0,0,0,0)"),v=x=w=P=L(r,W,l),b=a,y=o,A=e.getPixelForTick(s)+C,"top"===f?(M=L(r,t.top,F)+F/2,I=t.bottom,O=((g?1:.5)-N)*k,z=g?"left":"center",R=e.bottom-V):(M=t.top,I=L(r,t.bottom,F)-F/2,O=(g?0:.5)*k,z=g?"right":"center",R=e.top+V)}else{var E=(p?0:S)+_;W<e.top-1e-7&&(d="rgba(0,0,0,0)"),v=a,x=o,b=y=M=I=L(r,W,l),R=e.getPixelForTick(s)+C,O=(1-N)*k/2,"left"===f?(w=L(r,t.left,F)+F/2,P=t.right,z=p?"left":"right",A=e.right-E):(w=t.left,P=L(r,t.right,F)-F/2,z=p?"right":"left",A=e.left+E)}T.push({tx1:v,ty1:b,tx2:x,ty2:y,x1:w,y1:M,x2:P,y2:I,labelX:A,labelY:R,glWidth:l,glColor:d,glBorderDash:u,glBorderDashOffset:c,rotation:-1*D,label:B,major:n.major,textOffset:O,textAlign:z})}}),ut.each(T,function(t){var e=t.glWidth,i=t.glColor;if(h.display&&e&&i&&(s.save(),s.lineWidth=e,s.strokeStyle=i,s.setLineDash&&(s.setLineDash(t.glBorderDash),s.lineDashOffset=t.glBorderDashOffset),s.beginPath(),h.drawTicks&&(s.moveTo(t.tx1,t.ty1),s.lineTo(t.tx2,t.ty2)),h.drawOnChartArea&&(s.moveTo(t.x1,t.y1),s.lineTo(t.x2,t.y2)),s.stroke(),s.restore()),d.display){s.save(),s.translate(t.labelX,t.labelY),s.rotate(t.rotation),s.font=t.major?M.string:y.string,s.fillStyle=t.major?w:x,s.textBaseline="middle",s.textAlign=t.textAlign;var n=t.label,a=t.textOffset;if(ut.isArray(n))for(var o=0;o<n.length;++o)s.fillText(""+n[o],0,a),a+=k;else s.fillText(n,0,a);s.restore()}}),c.display){var R,O,z=0,B=I.lineHeight/2;if(m)R=e.left+(e.right-e.left)/2,O="bottom"===f?e.bottom-B-A.bottom:e.top+B+A.top;else{var N="left"===f;R=N?e.left+B+A.top:e.right-B-A.top,O=e.top+(e.bottom-e.top)/2,z=N?-.5*Math.PI:.5*Math.PI}s.save(),s.translate(R,O),s.rotate(z),s.textAlign="center",s.textBaseline="middle",s.fillStyle=P,s.font=I.string,s.fillText(c.labelString,0,0),s.restore()}if(F){var W,V,E,H,j=F,q=ui(h.lineWidth,b.length-1,0);m?(W=L(r,e.left,j)-j/2,V=L(r,e.right,q)+q/2,E=H=n):(E=L(r,e.top,j)-j/2,H=L(r,e.bottom,q)+q/2,W=V=n),s.lineWidth=F,s.strokeStyle=ui(h.color,0),s.beginPath(),s.moveTo(W,E),s.lineTo(V,H),s.stroke()}}}}),gi=fi.extend({getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t,e=this,i=e.getLabels();e.minIndex=0,e.maxIndex=i.length-1,void 0!==e.options.ticks.min&&(t=i.indexOf(e.options.ticks.min),e.minIndex=-1!==t?t:e.minIndex),void 0!==e.options.ticks.max&&(t=i.indexOf(e.options.ticks.max),e.maxIndex=-1!==t?t:e.maxIndex),e.min=i[e.minIndex],e.max=i[e.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var i=this,n=i.chart;return n.getDatasetMeta(e).controller._getValueScaleId()===i.id?i.getRightValue(n.data.datasets[e].data[t]):i.ticks[t-i.minIndex]},getPixelForValue:function(t,e){var i,n=this,a=n.options.offset,o=Math.max(n.maxIndex+1-n.minIndex-(a?0:1),1);if(null!=t&&(i=n.isHorizontal()?t.x:t.y),void 0!==i||void 0!==t&&isNaN(e)){t=i||t;var r=n.getLabels().indexOf(t);e=-1!==r?r:e}if(n.isHorizontal()){var s=n.width/o,l=s*(e-n.minIndex);return a&&(l+=s/2),n.left+l}var d=n.height/o,u=d*(e-n.minIndex);return a&&(u+=d/2),n.top+u},getPixelForTick:function(t){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null)},getValueForPixel:function(t){var e=this,i=e.options.offset,n=Math.max(e._ticks.length-(i?0:1),1),a=e.isHorizontal(),o=(a?e.width:e.height)/n;return t-=a?e.left:e.top,i&&(t-=o/2),(t<=0?0:Math.round(t/o))+e.minIndex},getBasePixel:function(){return this.bottom}}),pi={position:"bottom"};gi._defaults=pi;var mi=ut.noop,vi=ut.isNullOrUndef;var bi=fi.extend({getRightValue:function(t){return"string"==typeof t?+t:fi.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var i=ut.sign(t.min),n=ut.sign(t.max);i<0&&n<0?t.max=0:i>0&&n>0&&(t.min=0)}var a=void 0!==e.min||void 0!==e.suggestedMin,o=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),a!==o&&t.min>=t.max&&(a?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,i=e.stepSize,n=e.maxTicksLimit;return i?t=Math.ceil(this.max/i)-Math.floor(this.min/i)+1:(t=this._computeTickLimit(),n=n||11),n&&(t=Math.min(n,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:mi,buildTicks:function(){var t=this,e=t.options.ticks,i=t.getTickLimit(),n={maxTicks:i=Math.max(2,i),min:e.min,max:e.max,precision:e.precision,stepSize:ut.valueOrDefault(e.fixedStepSize,e.stepSize)},a=t.ticks=function(t,e){var i,n,a,o,r=[],s=t.stepSize,l=s||1,d=t.maxTicks-1,u=t.min,h=t.max,c=t.precision,f=e.min,g=e.max,p=ut.niceNum((g-f)/d/l)*l;if(p<1e-14&&vi(u)&&vi(h))return[f,g];(o=Math.ceil(g/p)-Math.floor(f/p))>d&&(p=ut.niceNum(o*p/d/l)*l),s||vi(c)?i=Math.pow(10,ut._decimalPlaces(p)):(i=Math.pow(10,c),p=Math.ceil(p*i)/i),n=Math.floor(f/p)*p,a=Math.ceil(g/p)*p,s&&(!vi(u)&&ut.almostWhole(u/p,p/1e3)&&(n=u),!vi(h)&&ut.almostWhole(h/p,p/1e3)&&(a=h)),o=(a-n)/p,o=ut.almostEquals(o,Math.round(o),p/1e3)?Math.round(o):Math.ceil(o),n=Math.round(n*i)/i,a=Math.round(a*i)/i,r.push(vi(u)?n:u);for(var m=1;m<o;++m)r.push(Math.round((n+m*p)*i)/i);return r.push(vi(h)?a:h),r}(n,t);t.handleDirectionalChanges(),t.max=ut.max(a),t.min=ut.min(a),e.reverse?(a.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){var t=this;t.ticksAsNumbers=t.ticks.slice(),t.zeroLineIndex=t.ticks.indexOf(0),fi.prototype.convertTicksToLabels.call(t)}}),xi={position:"left",ticks:{callback:li.formatters.linear}},yi=bi.extend({determineDataLimits:function(){var t=this,e=t.options,i=t.chart,n=i.data.datasets,a=t.isHorizontal();function o(e){return a?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null;var r=e.stacked;if(void 0===r&&ut.each(n,function(t,e){if(!r){var n=i.getDatasetMeta(e);i.isDatasetVisible(e)&&o(n)&&void 0!==n.stack&&(r=!0)}}),e.stacked||r){var s={};ut.each(n,function(n,a){var r=i.getDatasetMeta(a),l=[r.type,void 0===e.stacked&&void 0===r.stack?a:"",r.stack].join(".");void 0===s[l]&&(s[l]={positiveValues:[],negativeValues:[]});var d=s[l].positiveValues,u=s[l].negativeValues;i.isDatasetVisible(a)&&o(r)&&ut.each(n.data,function(i,n){var a=+t.getRightValue(i);isNaN(a)||r.data[n].hidden||(d[n]=d[n]||0,u[n]=u[n]||0,e.relativePoints?d[n]=100:a<0?u[n]+=a:d[n]+=a)})}),ut.each(s,function(e){var i=e.positiveValues.concat(e.negativeValues),n=ut.min(i),a=ut.max(i);t.min=null===t.min?n:Math.min(t.min,n),t.max=null===t.max?a:Math.max(t.max,a)})}else ut.each(n,function(e,n){var a=i.getDatasetMeta(n);i.isDatasetVisible(n)&&o(a)&&ut.each(e.data,function(e,i){var n=+t.getRightValue(e);isNaN(n)||a.data[i].hidden||(null===t.min?t.min=n:n<t.min&&(t.min=n),null===t.max?t.max=n:n>t.max&&(t.max=n))})});t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},_computeTickLimit:function(){var t;return this.isHorizontal()?Math.ceil(this.width/40):(t=ut.options._parseFont(this.options.ticks),Math.ceil(this.height/t.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e=this,i=e.start,n=+e.getRightValue(t),a=e.end-i;return e.isHorizontal()?e.left+e.width/a*(n-i):e.bottom-e.height/a*(n-i)},getValueForPixel:function(t){var e=this,i=e.isHorizontal(),n=i?e.width:e.height,a=(i?t-e.left:e.bottom-t)/n;return e.start+(e.end-e.start)*a},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}}),ki=xi;yi._defaults=ki;var wi=ut.valueOrDefault;var Mi={position:"left",ticks:{callback:li.formatters.logarithmic}};function _i(t,e){return ut.isFinite(t)&&t>=0?t:e}var Ci=fi.extend({determineDataLimits:function(){var t=this,e=t.options,i=t.chart,n=i.data.datasets,a=t.isHorizontal();function o(e){return a?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null,t.minNotZero=null;var r=e.stacked;if(void 0===r&&ut.each(n,function(t,e){if(!r){var n=i.getDatasetMeta(e);i.isDatasetVisible(e)&&o(n)&&void 0!==n.stack&&(r=!0)}}),e.stacked||r){var s={};ut.each(n,function(n,a){var r=i.getDatasetMeta(a),l=[r.type,void 0===e.stacked&&void 0===r.stack?a:"",r.stack].join(".");i.isDatasetVisible(a)&&o(r)&&(void 0===s[l]&&(s[l]=[]),ut.each(n.data,function(e,i){var n=s[l],a=+t.getRightValue(e);isNaN(a)||r.data[i].hidden||a<0||(n[i]=n[i]||0,n[i]+=a)}))}),ut.each(s,function(e){if(e.length>0){var i=ut.min(e),n=ut.max(e);t.min=null===t.min?i:Math.min(t.min,i),t.max=null===t.max?n:Math.max(t.max,n)}})}else ut.each(n,function(e,n){var a=i.getDatasetMeta(n);i.isDatasetVisible(n)&&o(a)&&ut.each(e.data,function(e,i){var n=+t.getRightValue(e);isNaN(n)||a.data[i].hidden||n<0||(null===t.min?t.min=n:n<t.min&&(t.min=n),null===t.max?t.max=n:n>t.max&&(t.max=n),0!==n&&(null===t.minNotZero||n<t.minNotZero)&&(t.minNotZero=n))})});this.handleTickRangeOptions()},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;t.min=_i(e.min,t.min),t.max=_i(e.max,t.max),t.min===t.max&&(0!==t.min&&null!==t.min?(t.min=Math.pow(10,Math.floor(ut.log10(t.min))-1),t.max=Math.pow(10,Math.floor(ut.log10(t.max))+1)):(t.min=1,t.max=10)),null===t.min&&(t.min=Math.pow(10,Math.floor(ut.log10(t.max))-1)),null===t.max&&(t.max=0!==t.min?Math.pow(10,Math.floor(ut.log10(t.min))+1):10),null===t.minNotZero&&(t.min>0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(ut.log10(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,i=!t.isHorizontal(),n={min:_i(e.min),max:_i(e.max)},a=t.ticks=function(t,e){var i,n,a=[],o=wi(t.min,Math.pow(10,Math.floor(ut.log10(e.min)))),r=Math.floor(ut.log10(e.max)),s=Math.ceil(e.max/Math.pow(10,r));0===o?(i=Math.floor(ut.log10(e.minNotZero)),n=Math.floor(e.minNotZero/Math.pow(10,i)),a.push(o),o=n*Math.pow(10,i)):(i=Math.floor(ut.log10(o)),n=Math.floor(o/Math.pow(10,i)));var l=i<0?Math.pow(10,Math.abs(i)):1;do{a.push(o),10==++n&&(n=1,l=++i>=0?1:l),o=Math.round(n*Math.pow(10,i)*l)/l}while(i<r||i===r&&n<s);var d=wi(t.max,o);return a.push(d),a}(n,t);t.max=ut.max(a),t.min=ut.min(a),e.reverse?(i=!i,t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max),i&&a.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),fi.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForTick:function(t){return this.getPixelForValue(this.tickValues[t])},_getFirstTickValue:function(t){var e=Math.floor(ut.log10(t));return Math.floor(t/Math.pow(10,e))*Math.pow(10,e)},getPixelForValue:function(t){var e,i,n,a,o,r=this,s=r.options.ticks,l=s.reverse,d=ut.log10,u=r._getFirstTickValue(r.minNotZero),h=0;return t=+r.getRightValue(t),l?(n=r.end,a=r.start,o=-1):(n=r.start,a=r.end,o=1),r.isHorizontal()?(e=r.width,i=l?r.right:r.left):(e=r.height,o*=-1,i=l?r.top:r.bottom),t!==n&&(0===n&&(e-=h=wi(s.fontSize,st.global.defaultFontSize),n=u),0!==t&&(h+=e/(d(a)-d(n))*(d(t)-d(n))),i+=o*h),i},getValueForPixel:function(t){var e,i,n,a,o=this,r=o.options.ticks,s=r.reverse,l=ut.log10,d=o._getFirstTickValue(o.minNotZero);if(s?(i=o.end,n=o.start):(i=o.start,n=o.end),o.isHorizontal()?(e=o.width,a=s?o.right-t:t-o.left):(e=o.height,a=s?t-o.top:o.bottom-t),a!==i){if(0===i){var u=wi(r.fontSize,st.global.defaultFontSize);a-=u,e-=u,i=d}a*=l(n)-l(i),a/=e,a=Math.pow(10,l(i)+a)}return a}}),Si=Mi;Ci._defaults=Si;var Pi=ut.valueOrDefault,Ii=ut.valueAtIndexOrDefault,Ai=ut.options.resolve,Di={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:li.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function Ti(t){var e=t.options;return e.angleLines.display||e.pointLabels.display?t.chart.data.labels.length:0}function Fi(t){var e=t.ticks;return e.display&&t.display?Pi(e.fontSize,st.global.defaultFontSize)+2*e.backdropPaddingY:0}function Li(t,e,i,n,a){return t===n||t===a?{start:e-i/2,end:e+i/2}:t<n||t>a?{start:e-i,end:e}:{start:e,end:e+i}}function Ri(t){return 0===t||180===t?"center":t<180?"left":"right"}function Oi(t,e,i,n){var a,o,r=i.y+n/2;if(ut.isArray(e))for(a=0,o=e.length;a<o;++a)t.fillText(e[a],i.x,r),r+=n;else t.fillText(e,i.x,r)}function zi(t,e,i){90===t||270===t?i.y-=e.h/2:(t>270||t<90)&&(i.y-=e.h)}function Bi(t){return ut.isNumber(t)?t:0}var Ni=bi.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=Fi(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;ut.each(e.data.datasets,function(a,o){if(e.isDatasetVisible(o)){var r=e.getDatasetMeta(o);ut.each(a.data,function(e,a){var o=+t.getRightValue(e);isNaN(o)||r.data[a].hidden||(i=Math.min(o,i),n=Math.max(o,n))})}}),t.min=i===Number.POSITIVE_INFINITY?0:i,t.max=n===Number.NEGATIVE_INFINITY?0:n,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/Fi(this.options))},convertTicksToLabels:function(){var t=this;bi.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map(t.options.pointLabels.callback,t)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,i,n,a=ut.options._parseFont(t.options.pointLabels),o={l:0,r:t.width,t:0,b:t.height-t.paddingTop},r={};t.ctx.font=a.string,t._pointLabelSizes=[];var s,l,d,u=Ti(t);for(e=0;e<u;e++){n=t.getPointPosition(e,t.drawingArea+5),s=t.ctx,l=a.lineHeight,d=t.pointLabels[e]||"",i=ut.isArray(d)?{w:ut.longestText(s,s.font,d),h:d.length*l}:{w:s.measureText(d).width,h:l},t._pointLabelSizes[e]=i;var h=t.getIndexAngle(e),c=ut.toDegrees(h)%360,f=Li(c,n.x,i.w,0,180),g=Li(c,n.y,i.h,90,270);f.start<o.l&&(o.l=f.start,r.l=h),f.end>o.r&&(o.r=f.end,r.r=h),g.start<o.t&&(o.t=g.start,r.t=h),g.end>o.b&&(o.b=g.end,r.b=h)}t.setReductions(t.drawingArea,o,r)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,i){var n=this,a=e.l/Math.sin(i.l),o=Math.max(e.r-n.width,0)/Math.sin(i.r),r=-e.t/Math.cos(i.t),s=-Math.max(e.b-(n.height-n.paddingTop),0)/Math.cos(i.b);a=Bi(a),o=Bi(o),r=Bi(r),s=Bi(s),n.drawingArea=Math.min(Math.floor(t-(a+o)/2),Math.floor(t-(r+s)/2)),n.setCenterPoint(a,o,r,s)},setCenterPoint:function(t,e,i,n){var a=this,o=a.width-e-a.drawingArea,r=t+a.drawingArea,s=i+a.drawingArea,l=a.height-a.paddingTop-n-a.drawingArea;a.xCenter=Math.floor((r+o)/2+a.left),a.yCenter=Math.floor((s+l)/2+a.top+a.paddingTop)},getIndexAngle:function(t){return t*(2*Math.PI/Ti(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var i=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*i:(t-e.min)*i},getPointPosition:function(t,e){var i=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(i)*e+this.xCenter,y:Math.sin(i)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this.min,e=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0)},draw:function(){var t=this,e=t.options,i=e.gridLines,n=e.ticks;if(e.display){var a=t.ctx,o=this.getIndexAngle(0),r=ut.options._parseFont(n);(e.angleLines.display||e.pointLabels.display)&&function(t){var e=t.ctx,i=t.options,n=i.angleLines,a=i.gridLines,o=i.pointLabels,r=Pi(n.lineWidth,a.lineWidth),s=Pi(n.color,a.color),l=Fi(i);e.save(),e.lineWidth=r,e.strokeStyle=s,e.setLineDash&&(e.setLineDash(Ai([n.borderDash,a.borderDash,[]])),e.lineDashOffset=Ai([n.borderDashOffset,a.borderDashOffset,0]));var d=t.getDistanceFromCenterForValue(i.ticks.reverse?t.min:t.max),u=ut.options._parseFont(o);e.font=u.string,e.textBaseline="middle";for(var h=Ti(t)-1;h>=0;h--){if(n.display&&r&&s){var c=t.getPointPosition(h,d);e.beginPath(),e.moveTo(t.xCenter,t.yCenter),e.lineTo(c.x,c.y),e.stroke()}if(o.display){var f=0===h?l/2:0,g=t.getPointPosition(h,d+f+5),p=Ii(o.fontColor,h,st.global.defaultFontColor);e.fillStyle=p;var m=t.getIndexAngle(h),v=ut.toDegrees(m);e.textAlign=Ri(v),zi(v,t._pointLabelSizes[h],g),Oi(e,t.pointLabels[h]||"",g,u.lineHeight)}}e.restore()}(t),ut.each(t.ticks,function(e,s){if(s>0||n.reverse){var l=t.getDistanceFromCenterForValue(t.ticksAsNumbers[s]);if(i.display&&0!==s&&function(t,e,i,n){var a,o=t.ctx,r=e.circular,s=Ti(t),l=Ii(e.color,n-1),d=Ii(e.lineWidth,n-1);if((r||s)&&l&&d){if(o.save(),o.strokeStyle=l,o.lineWidth=d,o.setLineDash&&(o.setLineDash(e.borderDash||[]),o.lineDashOffset=e.borderDashOffset||0),o.beginPath(),r)o.arc(t.xCenter,t.yCenter,i,0,2*Math.PI);else{a=t.getPointPosition(0,i),o.moveTo(a.x,a.y);for(var u=1;u<s;u++)a=t.getPointPosition(u,i),o.lineTo(a.x,a.y)}o.closePath(),o.stroke(),o.restore()}}(t,i,l,s),n.display){var d=Pi(n.fontColor,st.global.defaultFontColor);if(a.font=r.string,a.save(),a.translate(t.xCenter,t.yCenter),a.rotate(o),n.showLabelBackdrop){var u=a.measureText(e).width;a.fillStyle=n.backdropColor,a.fillRect(-u/2-n.backdropPaddingX,-l-r.size/2-n.backdropPaddingY,u+2*n.backdropPaddingX,r.size+2*n.backdropPaddingY)}a.textAlign="center",a.textBaseline="middle",a.fillStyle=d,a.fillText(e,0,-l),a.restore()}}})}}}),Wi=Di;Ni._defaults=Wi;var Vi=ut.valueOrDefault,Ei=Number.MIN_SAFE_INTEGER||-9007199254740991,Hi=Number.MAX_SAFE_INTEGER||9007199254740991,ji={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,15,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,15,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},qi=Object.keys(ji);function Yi(t,e){return t-e}function Ui(t){var e,i,n,a={},o=[];for(e=0,i=t.length;e<i;++e)a[n=t[e]]||(a[n]=!0,o.push(n));return o}function Xi(t,e,i,n){var a=function(t,e,i){for(var n,a,o,r=0,s=t.length-1;r>=0&&r<=s;){if(a=t[(n=r+s>>1)-1]||null,o=t[n],!a)return{lo:null,hi:o};if(o[e]<i)r=n+1;else{if(!(a[e]>i))return{lo:a,hi:o};s=n-1}}return{lo:o,hi:null}}(t,e,i),o=a.lo?a.hi?a.lo:t[t.length-2]:t[0],r=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=r[e]-o[e],l=s?(i-o[e])/s:0,d=(r[n]-o[n])*l;return o[n]+d}function Ki(t,e){var i=t._adapter,n=t.options.time,a=n.parser,o=a||n.format,r=e;return"function"==typeof a&&(r=a(r)),ut.isFinite(r)||(r="string"==typeof o?i.parse(r,o):i.parse(r)),null!==r?+r:(a||"function"!=typeof o||(r=o(e),ut.isFinite(r)||(r=i.parse(r))),r)}function Gi(t,e){if(ut.isNullOrUndef(e))return null;var i=t.options.time,n=Ki(t,t.getRightValue(e));return null===n?n:(i.round&&(n=+t._adapter.startOf(n,i.round)),n)}function Zi(t){for(var e=qi.indexOf(t)+1,i=qi.length;e<i;++e)if(ji[qi[e]].common)return qi[e]}function $i(t,e,i,n){var a,o=t._adapter,r=t.options,s=r.time,l=s.unit||function(t,e,i,n){var a,o,r,s=qi.length;for(a=qi.indexOf(t);a<s-1;++a)if(r=(o=ji[qi[a]]).steps?o.steps[o.steps.length-1]:Hi,o.common&&Math.ceil((i-e)/(r*o.size))<=n)return qi[a];return qi[s-1]}(s.minUnit,e,i,n),d=Zi(l),u=Vi(s.stepSize,s.unitStepSize),h="week"===l&&s.isoWeekday,c=r.ticks.major.enabled,f=ji[l],g=e,p=i,m=[];for(u||(u=function(t,e,i,n){var a,o,r,s=e-t,l=ji[i],d=l.size,u=l.steps;if(!u)return Math.ceil(s/(n*d));for(a=0,o=u.length;a<o&&(r=u[a],!(Math.ceil(s/(d*r))<=n));++a);return r}(e,i,l,n)),h&&(g=+o.startOf(g,"isoWeek",h),p=+o.startOf(p,"isoWeek",h)),g=+o.startOf(g,h?"day":l),(p=+o.startOf(p,h?"day":l))<i&&(p=+o.add(p,1,l)),a=g,c&&d&&!h&&!s.round&&(a=+o.startOf(a,d),a=+o.add(a,~~((g-a)/(f.size*u))*u,l));a<p;a=+o.add(a,u,l))m.push(+a);return m.push(+a),m}var Ji=fi.extend({initialize:function(){this.mergeTicksOptions(),fi.prototype.initialize.call(this)},update:function(){var t=this.options,e=t.time||(t.time={}),i=this._adapter=new si._date(t.adapters.date);return e.format&&console.warn("options.time.format is deprecated and replaced by options.time.parser."),ut.mergeIf(e.displayFormats,i.formats()),fi.prototype.update.apply(this,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),fi.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,i,n,a,o,r=this,s=r.chart,l=r._adapter,d=r.options.time,u=d.unit||"day",h=Hi,c=Ei,f=[],g=[],p=[],m=s.data.labels||[];for(t=0,i=m.length;t<i;++t)p.push(Gi(r,m[t]));for(t=0,i=(s.data.datasets||[]).length;t<i;++t)if(s.isDatasetVisible(t))if(a=s.data.datasets[t].data,ut.isObject(a[0]))for(g[t]=[],e=0,n=a.length;e<n;++e)o=Gi(r,a[e]),f.push(o),g[t][e]=o;else{for(e=0,n=p.length;e<n;++e)f.push(p[e]);g[t]=p.slice(0)}else g[t]=[];p.length&&(p=Ui(p).sort(Yi),h=Math.min(h,p[0]),c=Math.max(c,p[p.length-1])),f.length&&(f=Ui(f).sort(Yi),h=Math.min(h,f[0]),c=Math.max(c,f[f.length-1])),h=Gi(r,d.min)||h,c=Gi(r,d.max)||c,h=h===Hi?+l.startOf(Date.now(),u):h,c=c===Ei?+l.endOf(Date.now(),u)+1:c,r.min=Math.min(h,c),r.max=Math.max(h+1,c),r._horizontal=r.isHorizontal(),r._table=[],r._timestamps={data:f,datasets:g,labels:p}},buildTicks:function(){var t,e,i,n=this,a=n.min,o=n.max,r=n.options,s=r.time,l=[],d=[];switch(r.ticks.source){case"data":l=n._timestamps.data;break;case"labels":l=n._timestamps.labels;break;case"auto":default:l=$i(n,a,o,n.getLabelCapacity(a))}for("ticks"===r.bounds&&l.length&&(a=l[0],o=l[l.length-1]),a=Gi(n,s.min)||a,o=Gi(n,s.max)||o,t=0,e=l.length;t<e;++t)(i=l[t])>=a&&i<=o&&d.push(i);return n.min=a,n.max=o,n._unit=s.unit||function(t,e,i,n,a){var o,r;for(o=qi.length-1;o>=qi.indexOf(i);o--)if(r=qi[o],ji[r].common&&t._adapter.diff(a,n,r)>=e.length)return r;return qi[i?qi.indexOf(i):0]}(n,d,s.minUnit,n.min,n.max),n._majorUnit=Zi(n._unit),n._table=function(t,e,i,n){if("linear"===n||!t.length)return[{time:e,pos:0},{time:i,pos:1}];var a,o,r,s,l,d=[],u=[e];for(a=0,o=t.length;a<o;++a)(s=t[a])>e&&s<i&&u.push(s);for(u.push(i),a=0,o=u.length;a<o;++a)l=u[a+1],r=u[a-1],s=u[a],void 0!==r&&void 0!==l&&Math.round((l+r)/2)===s||d.push({time:s,pos:a/(o-1)});return d}(n._timestamps.data,a,o,r.distribution),n._offsets=function(t,e,i,n,a){var o,r,s=0,l=0;return a.offset&&e.length&&(a.time.min||(o=Xi(t,"time",e[0],"pos"),s=1===e.length?1-o:(Xi(t,"time",e[1],"pos")-o)/2),a.time.max||(r=Xi(t,"time",e[e.length-1],"pos"),l=1===e.length?r:(r-Xi(t,"time",e[e.length-2],"pos"))/2)),{start:s,end:l}}(n._table,d,0,0,r),r.ticks.reverse&&d.reverse(),function(t,e,i){var n,a,o,r,s=[];for(n=0,a=e.length;n<a;++n)o=e[n],r=!!i&&o===+t._adapter.startOf(o,i),s.push({value:o,major:r});return s}(n,d,n._majorUnit)},getLabelForIndex:function(t,e){var i=this,n=i._adapter,a=i.chart.data,o=i.options.time,r=a.labels&&t<a.labels.length?a.labels[t]:"",s=a.datasets[e].data[t];return ut.isObject(s)&&(r=i.getRightValue(s)),o.tooltipFormat?n.format(Ki(i,r),o.tooltipFormat):"string"==typeof r?r:n.format(Ki(i,r),o.displayFormats.datetime)},tickFormatFunction:function(t,e,i,n){var a=this._adapter,o=this.options,r=o.time.displayFormats,s=r[this._unit],l=this._majorUnit,d=r[l],u=+a.startOf(t,l),h=o.ticks.major,c=h.enabled&&l&&d&&t===u,f=a.format(t,n||(c?d:s)),g=c?h:o.ticks.minor,p=Vi(g.callback,g.userCallback);return p?p(f,e,i):f},convertTicksToLabels:function(t){var e,i,n=[];for(e=0,i=t.length;e<i;++e)n.push(this.tickFormatFunction(t[e].value,e,t));return n},getPixelForOffset:function(t){var e=this,i=e.options.ticks.reverse,n=e._horizontal?e.width:e.height,a=e._horizontal?i?e.right:e.left:i?e.bottom:e.top,o=Xi(e._table,"time",t,"pos"),r=n*(e._offsets.start+o)/(e._offsets.start+1+e._offsets.end);return i?a-r:a+r},getPixelForValue:function(t,e,i){var n=null;if(void 0!==e&&void 0!==i&&(n=this._timestamps.datasets[i][e]),null===n&&(n=Gi(this,t)),null!==n)return this.getPixelForOffset(n)},getPixelForTick:function(t){var e=this.getTicks();return t>=0&&t<e.length?this.getPixelForOffset(e[t].value):null},getValueForPixel:function(t){var e=this,i=e._horizontal?e.width:e.height,n=e._horizontal?e.left:e.top,a=(i?(t-n)/i:0)*(e._offsets.start+1+e._offsets.start)-e._offsets.end,o=Xi(e._table,"pos",a,"time");return e._adapter._create(o)},getLabelWidth:function(t){var e=this.options.ticks,i=this.ctx.measureText(t).width,n=ut.toRadians(e.maxRotation),a=Math.cos(n),o=Math.sin(n);return i*a+Vi(e.fontSize,st.global.defaultFontSize)*o},getLabelCapacity:function(t){var e=this,i=e.options.time.displayFormats.millisecond,n=e.tickFormatFunction(t,0,[],i),a=e.getLabelWidth(n),o=e.isHorizontal()?e.width:e.height,r=Math.floor(o/a);return r>0?r:1}}),Qi={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};Ji._defaults=Qi;var tn={category:gi,linear:yi,logarithmic:Ci,radialLinear:Ni,time:Ji},en={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};si._date.override("function"==typeof t?{_id:"moment",formats:function(){return en},parse:function(e,i){return"string"==typeof e&&"string"==typeof i?e=t(e,i):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,i){return t(e).format(i)},add:function(e,i,n){return t(e).add(i,n).valueOf()},diff:function(e,i,n){return t.duration(t(e).diff(t(i))).as(n)},startOf:function(e,i,n){return e=t(e),"isoWeek"===i?e.isoWeekday(n).valueOf():e.startOf(i).valueOf()},endOf:function(e,i){return t(e).endOf(i).valueOf()},_create:function(e){return t(e)}}:{}),st._set("global",{plugins:{filler:{propagate:!0}}});var nn={dataset:function(t){var e=t.fill,i=t.chart,n=i.getDatasetMeta(e),a=n&&i.isDatasetVisible(e)&&n.dataset._children||[],o=a.length||0;return o?function(t,e){return e<o&&a[e]._view||null}:null},boundary:function(t){var e=t.boundary,i=e?e.x:null,n=e?e.y:null;return function(t){return{x:null===i?t.x:i,y:null===n?t.y:n}}}};function an(t,e,i){var n,a=t._model||{},o=a.fill;if(void 0===o&&(o=!!a.backgroundColor),!1===o||null===o)return!1;if(!0===o)return"origin";if(n=parseFloat(o,10),isFinite(n)&&Math.floor(n)===n)return"-"!==o[0]&&"+"!==o[0]||(n=e+n),!(n===e||n<0||n>=i)&&n;switch(o){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return o;default:return!1}}function on(t){var e,i=t.el._model||{},n=t.el._scale||{},a=t.fill,o=null;if(isFinite(a))return null;if("start"===a?o=void 0===i.scaleBottom?n.bottom:i.scaleBottom:"end"===a?o=void 0===i.scaleTop?n.top:i.scaleTop:void 0!==i.scaleZero?o=i.scaleZero:n.getBasePosition?o=n.getBasePosition():n.getBasePixel&&(o=n.getBasePixel()),null!=o){if(void 0!==o.x&&void 0!==o.y)return o;if(ut.isFinite(o))return{x:(e=n.isHorizontal())?o:null,y:e?null:o}}return null}function rn(t,e,i){var n,a=t[e].fill,o=[e];if(!i)return a;for(;!1!==a&&-1===o.indexOf(a);){if(!isFinite(a))return a;if(!(n=t[a]))return!1;if(n.visible)return a;o.push(a),a=n.fill}return!1}function sn(t){var e=t.fill,i="dataset";return!1===e?null:(isFinite(e)||(i="boundary"),nn[i](t))}function ln(t){return t&&!t.skip}function dn(t,e,i,n,a){var o;if(n&&a){for(t.moveTo(e[0].x,e[0].y),o=1;o<n;++o)ut.canvas.lineTo(t,e[o-1],e[o]);for(t.lineTo(i[a-1].x,i[a-1].y),o=a-1;o>0;--o)ut.canvas.lineTo(t,i[o],i[o-1],!0)}}var un={id:"filler",afterDatasetsUpdate:function(t,e){var i,n,a,o,r=(t.data.datasets||[]).length,s=e.propagate,l=[];for(n=0;n<r;++n)o=null,(a=(i=t.getDatasetMeta(n)).dataset)&&a._model&&a instanceof Wt.Line&&(o={visible:t.isDatasetVisible(n),fill:an(a,n,r),chart:t,el:a}),i.$filler=o,l.push(o);for(n=0;n<r;++n)(o=l[n])&&(o.fill=rn(l,n,s),o.boundary=on(o),o.mapper=sn(o))},beforeDatasetDraw:function(t,e){var i=e.meta.$filler;if(i){var n=t.ctx,a=i.el,o=a._view,r=a._children||[],s=i.mapper,l=o.backgroundColor||st.global.defaultColor;s&&l&&r.length&&(ut.canvas.clipArea(n,t.chartArea),function(t,e,i,n,a,o){var r,s,l,d,u,h,c,f=e.length,g=n.spanGaps,p=[],m=[],v=0,b=0;for(t.beginPath(),r=0,s=f+!!o;r<s;++r)u=i(d=e[l=r%f]._view,l,n),h=ln(d),c=ln(u),h&&c?(v=p.push(d),b=m.push(u)):v&&b&&(g?(h&&p.push(d),c&&m.push(u)):(dn(t,p,m,v,b),v=b=0,p=[],m=[]));dn(t,p,m,v,b),t.closePath(),t.fillStyle=a,t.fill()}(n,r,s,o,l,a._loop),ut.canvas.unclipArea(n))}}},hn=ut.noop,cn=ut.valueOrDefault;function fn(t,e){return t.usePointStyle&&t.boxWidth>e?e:t.boxWidth}st._set("global",{legend:{display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var i=e.datasetIndex,n=this.chart,a=n.getDatasetMeta(i);a.hidden=null===a.hidden?!n.data.datasets[i].hidden:null,n.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data;return ut.isArray(e.datasets)?e.datasets.map(function(e,i){return{text:e.label,fillStyle:ut.isArray(e.backgroundColor)?e.backgroundColor[0]:e.backgroundColor,hidden:!t.isDatasetVisible(i),lineCap:e.borderCapStyle,lineDash:e.borderDash,lineDashOffset:e.borderDashOffset,lineJoin:e.borderJoinStyle,lineWidth:e.borderWidth,strokeStyle:e.borderColor,pointStyle:e.pointStyle,datasetIndex:i}},this):[]}}},legendCallback:function(t){var e=[];e.push('<ul class="'+t.id+'-legend">');for(var i=0;i<t.data.datasets.length;i++)e.push('<li><span style="background-color:'+t.data.datasets[i].backgroundColor+'"></span>'),t.data.datasets[i].label&&e.push(t.data.datasets[i].label),e.push("</li>");return e.push("</ul>"),e.join("")}});var gn=pt.extend({initialize:function(t){ut.extend(this,t),this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1},beforeUpdate:hn,update:function(t,e,i){var n=this;return n.beforeUpdate(),n.maxWidth=t,n.maxHeight=e,n.margins=i,n.beforeSetDimensions(),n.setDimensions(),n.afterSetDimensions(),n.beforeBuildLabels(),n.buildLabels(),n.afterBuildLabels(),n.beforeFit(),n.fit(),n.afterFit(),n.afterUpdate(),n.minSize},afterUpdate:hn,beforeSetDimensions:hn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:hn,beforeBuildLabels:hn,buildLabels:function(){var t=this,e=t.options.labels||{},i=ut.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(i=i.filter(function(i){return e.filter(i,t.chart.data)})),t.options.reverse&&i.reverse(),t.legendItems=i},afterBuildLabels:hn,beforeFit:hn,fit:function(){var t=this,e=t.options,i=e.labels,n=e.display,a=t.ctx,o=ut.options._parseFont(i),r=o.size,s=t.legendHitBoxes=[],l=t.minSize,d=t.isHorizontal();if(d?(l.width=t.maxWidth,l.height=n?10:0):(l.width=n?10:0,l.height=t.maxHeight),n)if(a.font=o.string,d){var u=t.lineWidths=[0],h=0;a.textAlign="left",a.textBaseline="top",ut.each(t.legendItems,function(t,e){var n=fn(i,r)+r/2+a.measureText(t.text).width;(0===e||u[u.length-1]+n+i.padding>l.width)&&(h+=r+i.padding,u[u.length-(e>0?0:1)]=i.padding),s[e]={left:0,top:0,width:n,height:r},u[u.length-1]+=n+i.padding}),l.height+=h}else{var c=i.padding,f=t.columnWidths=[],g=i.padding,p=0,m=0,v=r+c;ut.each(t.legendItems,function(t,e){var n=fn(i,r)+r/2+a.measureText(t.text).width;e>0&&m+v>l.height-c&&(g+=p+i.padding,f.push(p),p=0,m=0),p=Math.max(p,n),m+=v,s[e]={left:0,top:0,width:n,height:r}}),g+=p,f.push(p),l.width+=g}t.width=l.width,t.height=l.height},afterFit:hn,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,i=e.labels,n=st.global,a=n.defaultColor,o=n.elements.line,r=t.width,s=t.lineWidths;if(e.display){var l,d=t.ctx,u=cn(i.fontColor,n.defaultFontColor),h=ut.options._parseFont(i),c=h.size;d.textAlign="left",d.textBaseline="middle",d.lineWidth=.5,d.strokeStyle=u,d.fillStyle=u,d.font=h.string;var f=fn(i,c),g=t.legendHitBoxes,p=t.isHorizontal();l=p?{x:t.left+(r-s[0])/2+i.padding,y:t.top+i.padding,line:0}:{x:t.left+i.padding,y:t.top+i.padding,line:0};var m=c+i.padding;ut.each(t.legendItems,function(n,u){var h=d.measureText(n.text).width,v=f+c/2+h,b=l.x,x=l.y;p?u>0&&b+v+i.padding>t.left+t.minSize.width&&(x=l.y+=m,l.line++,b=l.x=t.left+(r-s[l.line])/2+i.padding):u>0&&x+m>t.top+t.minSize.height&&(b=l.x=b+t.columnWidths[l.line]+i.padding,x=l.y=t.top+i.padding,l.line++),function(t,i,n){if(!(isNaN(f)||f<=0)){d.save();var r=cn(n.lineWidth,o.borderWidth);if(d.fillStyle=cn(n.fillStyle,a),d.lineCap=cn(n.lineCap,o.borderCapStyle),d.lineDashOffset=cn(n.lineDashOffset,o.borderDashOffset),d.lineJoin=cn(n.lineJoin,o.borderJoinStyle),d.lineWidth=r,d.strokeStyle=cn(n.strokeStyle,a),d.setLineDash&&d.setLineDash(cn(n.lineDash,o.borderDash)),e.labels&&e.labels.usePointStyle){var s=f*Math.SQRT2/2,l=t+f/2,u=i+c/2;ut.canvas.drawPoint(d,n.pointStyle,s,l,u)}else 0!==r&&d.strokeRect(t,i,f,c),d.fillRect(t,i,f,c);d.restore()}}(b,x,n),g[u].left=b,g[u].top=x,function(t,e,i,n){var a=c/2,o=f+a+t,r=e+a;d.fillText(i.text,o,r),i.hidden&&(d.beginPath(),d.lineWidth=2,d.moveTo(o,r),d.lineTo(o+n,r),d.stroke())}(b,x,n,h),p?l.x+=v+i.padding:l.y+=m})}},_getLegendItemAt:function(t,e){var i,n,a,o=this;if(t>=o.left&&t<=o.right&&e>=o.top&&e<=o.bottom)for(a=o.legendHitBoxes,i=0;i<a.length;++i)if(t>=(n=a[i]).left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height)return o.legendItems[i];return null},handleEvent:function(t){var e,i=this,n=i.options,a="mouseup"===t.type?"click":t.type;if("mousemove"===a){if(!n.onHover&&!n.onLeave)return}else{if("click"!==a)return;if(!n.onClick)return}e=i._getLegendItemAt(t.x,t.y),"click"===a?e&&n.onClick&&n.onClick.call(i,t.native,e):(n.onLeave&&e!==i._hoveredItem&&(i._hoveredItem&&n.onLeave.call(i,t.native,i._hoveredItem),i._hoveredItem=e),n.onHover&&e&&n.onHover.call(i,t.native,e))}});function pn(t,e){var i=new gn({ctx:t.ctx,options:e,chart:t});ke.configure(t,i,e),ke.addBox(t,i),t.legend=i}var mn={id:"legend",_element:gn,beforeInit:function(t){var e=t.options.legend;e&&pn(t,e)},beforeUpdate:function(t){var e=t.options.legend,i=t.legend;e?(ut.mergeIf(e,st.global.legend),i?(ke.configure(t,i,e),i.options=e):pn(t,e)):i&&(ke.removeBox(t,i),delete t.legend)},afterEvent:function(t,e){var i=t.legend;i&&i.handleEvent(e)}},vn=ut.noop;st._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var bn=pt.extend({initialize:function(t){ut.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:vn,update:function(t,e,i){var n=this;return n.beforeUpdate(),n.maxWidth=t,n.maxHeight=e,n.margins=i,n.beforeSetDimensions(),n.setDimensions(),n.afterSetDimensions(),n.beforeBuildLabels(),n.buildLabels(),n.afterBuildLabels(),n.beforeFit(),n.fit(),n.afterFit(),n.afterUpdate(),n.minSize},afterUpdate:vn,beforeSetDimensions:vn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:vn,beforeBuildLabels:vn,buildLabels:vn,afterBuildLabels:vn,beforeFit:vn,fit:function(){var t=this,e=t.options,i=e.display,n=t.minSize,a=ut.isArray(e.text)?e.text.length:1,o=ut.options._parseFont(e),r=i?a*o.lineHeight+2*e.padding:0;t.isHorizontal()?(n.width=t.maxWidth,n.height=r):(n.width=r,n.height=t.maxHeight),t.width=n.width,t.height=n.height},afterFit:vn,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,i=t.options;if(i.display){var n,a,o,r=ut.options._parseFont(i),s=r.lineHeight,l=s/2+i.padding,d=0,u=t.top,h=t.left,c=t.bottom,f=t.right;e.fillStyle=ut.valueOrDefault(i.fontColor,st.global.defaultFontColor),e.font=r.string,t.isHorizontal()?(a=h+(f-h)/2,o=u+l,n=f-h):(a="left"===i.position?h+l:f-l,o=u+(c-u)/2,n=c-u,d=Math.PI*("left"===i.position?-.5:.5)),e.save(),e.translate(a,o),e.rotate(d),e.textAlign="center",e.textBaseline="middle";var g=i.text;if(ut.isArray(g))for(var p=0,m=0;m<g.length;++m)e.fillText(g[m],0,p,n),p+=s;else e.fillText(g,0,0,n);e.restore()}}});function xn(t,e){var i=new bn({ctx:t.ctx,options:e,chart:t});ke.configure(t,i,e),ke.addBox(t,i),t.titleBlock=i}var yn={},kn=un,wn=mn,Mn={id:"title",_element:bn,beforeInit:function(t){var e=t.options.title;e&&xn(t,e)},beforeUpdate:function(t){var e=t.options.title,i=t.titleBlock;e?(ut.mergeIf(e,st.global.title),i?(ke.configure(t,i,e),i.options=e):xn(t,e)):i&&(ke.removeBox(t,i),delete t.titleBlock)}};for(var _n in yn.filler=kn,yn.legend=wn,yn.title=Mn,ai.helpers=ut,function(){function t(t,e,i){var n;return"string"==typeof t?(n=parseInt(t,10),-1!==t.indexOf("%")&&(n=n/100*e.parentNode[i])):n=t,n}function e(t){return null!=t&&"none"!==t}function i(i,n,a){var o=document.defaultView,r=ut._getParentNode(i),s=o.getComputedStyle(i)[n],l=o.getComputedStyle(r)[n],d=e(s),u=e(l),h=Number.POSITIVE_INFINITY;return d||u?Math.min(d?t(s,i,a):h,u?t(l,r,a):h):"none"}ut.where=function(t,e){if(ut.isArray(t)&&Array.prototype.filter)return t.filter(e);var i=[];return ut.each(t,function(t){e(t)&&i.push(t)}),i},ut.findIndex=Array.prototype.findIndex?function(t,e,i){return t.findIndex(e,i)}:function(t,e,i){i=void 0===i?t:i;for(var n=0,a=t.length;n<a;++n)if(e.call(i,t[n],n,t))return n;return-1},ut.findNextWhere=function(t,e,i){ut.isNullOrUndef(i)&&(i=-1);for(var n=i+1;n<t.length;n++){var a=t[n];if(e(a))return a}},ut.findPreviousWhere=function(t,e,i){ut.isNullOrUndef(i)&&(i=t.length);for(var n=i-1;n>=0;n--){var a=t[n];if(e(a))return a}},ut.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},ut.almostEquals=function(t,e,i){return Math.abs(t-e)<i},ut.almostWhole=function(t,e){var i=Math.round(t);return i-e<t&&i+e>t},ut.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},ut.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},ut.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},ut.log10=Math.log10?function(t){return Math.log10(t)}:function(t){var e=Math.log(t)*Math.LOG10E,i=Math.round(e);return t===Math.pow(10,i)?i:e},ut.toRadians=function(t){return t*(Math.PI/180)},ut.toDegrees=function(t){return t*(180/Math.PI)},ut._decimalPlaces=function(t){if(ut.isFinite(t)){for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}},ut.getAngleFromPoint=function(t,e){var i=e.x-t.x,n=e.y-t.y,a=Math.sqrt(i*i+n*n),o=Math.atan2(n,i);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:a}},ut.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},ut.aliasPixel=function(t){return t%2==0?0:.5},ut._alignPixel=function(t,e,i){var n=t.currentDevicePixelRatio,a=i/2;return Math.round((e-a)*n)/n+a},ut.splineCurve=function(t,e,i,n){var a=t.skip?e:t,o=e,r=i.skip?e:i,s=Math.sqrt(Math.pow(o.x-a.x,2)+Math.pow(o.y-a.y,2)),l=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2)),d=s/(s+l),u=l/(s+l),h=n*(d=isNaN(d)?0:d),c=n*(u=isNaN(u)?0:u);return{previous:{x:o.x-h*(r.x-a.x),y:o.y-h*(r.y-a.y)},next:{x:o.x+c*(r.x-a.x),y:o.y+c*(r.y-a.y)}}},ut.EPSILON=Number.EPSILON||1e-14,ut.splineCurveMonotone=function(t){var e,i,n,a,o,r,s,l,d,u=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),h=u.length;for(e=0;e<h;++e)if(!(n=u[e]).model.skip){if(i=e>0?u[e-1]:null,(a=e<h-1?u[e+1]:null)&&!a.model.skip){var c=a.model.x-n.model.x;n.deltaK=0!==c?(a.model.y-n.model.y)/c:0}!i||i.model.skip?n.mK=n.deltaK:!a||a.model.skip?n.mK=i.deltaK:this.sign(i.deltaK)!==this.sign(n.deltaK)?n.mK=0:n.mK=(i.deltaK+n.deltaK)/2}for(e=0;e<h-1;++e)n=u[e],a=u[e+1],n.model.skip||a.model.skip||(ut.almostEquals(n.deltaK,0,this.EPSILON)?n.mK=a.mK=0:(o=n.mK/n.deltaK,r=a.mK/n.deltaK,(l=Math.pow(o,2)+Math.pow(r,2))<=9||(s=3/Math.sqrt(l),n.mK=o*s*n.deltaK,a.mK=r*s*n.deltaK)));for(e=0;e<h;++e)(n=u[e]).model.skip||(i=e>0?u[e-1]:null,a=e<h-1?u[e+1]:null,i&&!i.model.skip&&(d=(n.model.x-i.model.x)/3,n.model.controlPointPreviousX=n.model.x-d,n.model.controlPointPreviousY=n.model.y-d*n.mK),a&&!a.model.skip&&(d=(a.model.x-n.model.x)/3,n.model.controlPointNextX=n.model.x+d,n.model.controlPointNextY=n.model.y+d*n.mK))},ut.nextItem=function(t,e,i){return i?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},ut.previousItem=function(t,e,i){return i?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},ut.niceNum=function(t,e){var i=Math.floor(ut.log10(t)),n=t/Math.pow(10,i);return(e?n<1.5?1:n<3?2:n<7?5:10:n<=1?1:n<=2?2:n<=5?5:10)*Math.pow(10,i)},ut.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},ut.getRelativePosition=function(t,e){var i,n,a=t.originalEvent||t,o=t.target||t.srcElement,r=o.getBoundingClientRect(),s=a.touches;s&&s.length>0?(i=s[0].clientX,n=s[0].clientY):(i=a.clientX,n=a.clientY);var l=parseFloat(ut.getStyle(o,"padding-left")),d=parseFloat(ut.getStyle(o,"padding-top")),u=parseFloat(ut.getStyle(o,"padding-right")),h=parseFloat(ut.getStyle(o,"padding-bottom")),c=r.right-r.left-l-u,f=r.bottom-r.top-d-h;return{x:i=Math.round((i-r.left-l)/c*o.width/e.currentDevicePixelRatio),y:n=Math.round((n-r.top-d)/f*o.height/e.currentDevicePixelRatio)}},ut.getConstraintWidth=function(t){return i(t,"max-width","clientWidth")},ut.getConstraintHeight=function(t){return i(t,"max-height","clientHeight")},ut._calculatePadding=function(t,e,i){return(e=ut.getStyle(t,e)).indexOf("%")>-1?i*parseInt(e,10)/100:parseInt(e,10)},ut._getParentNode=function(t){var e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e},ut.getMaximumWidth=function(t){var e=ut._getParentNode(t);if(!e)return t.clientWidth;var i=e.clientWidth,n=i-ut._calculatePadding(e,"padding-left",i)-ut._calculatePadding(e,"padding-right",i),a=ut.getConstraintWidth(t);return isNaN(a)?n:Math.min(n,a)},ut.getMaximumHeight=function(t){var e=ut._getParentNode(t);if(!e)return t.clientHeight;var i=e.clientHeight,n=i-ut._calculatePadding(e,"padding-top",i)-ut._calculatePadding(e,"padding-bottom",i),a=ut.getConstraintHeight(t);return isNaN(a)?n:Math.min(n,a)},ut.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},ut.retinaScale=function(t,e){var i=t.currentDevicePixelRatio=e||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==i){var n=t.canvas,a=t.height,o=t.width;n.height=a*i,n.width=o*i,t.ctx.scale(i,i),n.style.height||n.style.width||(n.style.height=a+"px",n.style.width=o+"px")}},ut.fontString=function(t,e,i){return e+" "+t+"px "+i},ut.longestText=function(t,e,i,n){var a=(n=n||{}).data=n.data||{},o=n.garbageCollect=n.garbageCollect||[];n.font!==e&&(a=n.data={},o=n.garbageCollect=[],n.font=e),t.font=e;var r=0;ut.each(i,function(e){null!=e&&!0!==ut.isArray(e)?r=ut.measureText(t,a,o,r,e):ut.isArray(e)&&ut.each(e,function(e){null==e||ut.isArray(e)||(r=ut.measureText(t,a,o,r,e))})});var s=o.length/2;if(s>i.length){for(var l=0;l<s;l++)delete a[o[l]];o.splice(0,s)}return r},ut.measureText=function(t,e,i,n,a){var o=e[a];return o||(o=e[a]=t.measureText(a).width,i.push(a)),o>n&&(n=o),n},ut.numberOfLabelLines=function(t){var e=1;return ut.each(t,function(t){ut.isArray(t)&&t.length>e&&(e=t.length)}),e},ut.color=X?function(t){return t instanceof CanvasGradient&&(t=st.global.defaultColor),X(t)}:function(t){return console.error("Color.js not found!"),t},ut.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:ut.color(t).saturate(.5).darken(.1).rgbString()}}(),ai._adapters=si,ai.Animation=vt,ai.animationService=bt,ai.controllers=ue,ai.DatasetController=Mt,ai.defaults=st,ai.Element=pt,ai.elements=Wt,ai.Interaction=ve,ai.layouts=ke,ai.platform=Ve,ai.plugins=Ee,ai.Scale=fi,ai.scaleService=He,ai.Ticks=li,ai.Tooltip=Je,ai.helpers.each(tn,function(t,e){ai.scaleService.registerScaleType(e,t,t._defaults)}),yn)yn.hasOwnProperty(_n)&&ai.plugins.register(yn[_n]);ai.platform.initialize();var Cn=ai;return"undefined"!=typeof window&&(window.Chart=ai),ai.Chart=ai,ai.Legend=yn.legend._element,ai.Title=yn.title._element,ai.pluginService=ai.plugins,ai.PluginBase=ai.Element.extend({}),ai.canvasHelpers=ai.helpers.canvas,ai.layoutService=ai.layouts,ai.LinearScaleBase=bi,ai.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],function(t){ai[t]=function(e,i){return new ai(e,ai.helpers.merge(i||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}}),Cn});
diff --git a/simulators/c++2/src_simulator/arch/CPU.cpp b/simulators/c++2/src_simulator/arch/CPU.cpp
index f852c4bff60b89b2a4c70d9b3f257db59eec58d4..bf3c56a1ccfde4091d2055c028ce835b4965a5c6 100644
--- a/simulators/c++2/src_simulator/arch/CPU.cpp
+++ b/simulators/c++2/src_simulator/arch/CPU.cpp
@@ -136,7 +136,13 @@ void CPU::buttonPieChart(std::ofstream& myfile) const{
               type : \"pie\",\n";
     myfile << "               data : data" << _ID << "_" << this->_cycleTime <<",\n";
     myfile << "               options : options" << _ID << "_" << this->_cycleTime << std::endl << "                   });" << std::endl;
-    myfile << "   chart" << _ID << "_" << this->_cycleTime << SCHED_HTML_JS_HIDE;
+    // myfile << "   chart" << _ID << "_" << this->_cycleTime << SCHED_HTML_JS_HIDE;
+    myfile << "   if(!" << SHOW_PIE_CHART << "){\n \t"
+        << "      document.getElementById(\"pie-chartcanvas-" << _ID << "_" << this->_cycleTime << "\"" << ").style.display = \"none\";\n \t"
+        << "   }\n \t"
+        << "   else {\n \t"
+        << "      document.getElementById(\"pie-chartcanvas-"<< _ID << "_" << this->_cycleTime << "\"" << ").style.display = \"block\"; \n \t"
+        << "   }\n \t";
     myfile << "   chart" << _ID << "_" << this->_cycleTime << ".update();" << std::endl;
 }
 
diff --git a/simulators/c++2/src_simulator/arch/FPGA.cpp b/simulators/c++2/src_simulator/arch/FPGA.cpp
index 56588d0fe7d49548606a28d14a5924edf3e0dd94..4e2204c050f619b997dcfc293f3429551cc0e8d2 100644
--- a/simulators/c++2/src_simulator/arch/FPGA.cpp
+++ b/simulators/c++2/src_simulator/arch/FPGA.cpp
@@ -521,7 +521,13 @@ void FPGA::buttonPieChart(std::ofstream& myfile) const{
     myfile << "               data : data" << _ID << "_" << (*i)->toShortString() <<",\n";
     myfile << "               options : options" << _ID << "_" << (*i)->toShortString() << std::endl;
     myfile << "                   });" << std::endl;
-    myfile << "   chart" << _ID << "_" << (*i)->toShortString() << SCHED_HTML_JS_HIDE;
+    // myfile << "   chart" << _ID << "_" << (*i)->toShortString() << SCHED_HTML_JS_HIDE;
+    myfile << "   if(!" << SHOW_PIE_CHART << "){\n \t"
+        << "      document.getElementById(\"pie-chartcanvas-" << _ID << "_" << (*i)->toShortString() << "\"" << ").style.display = \"none\";\n \t"
+        << "   }\n \t"
+        << "   else {\n \t"
+        << "      document.getElementById(\"pie-chartcanvas-" << _ID << "_" << (*i)->toShortString() << "\"" << ").style.display = \"block\";\n \t"
+        << "   }\n \t";
     myfile << "   chart" << _ID << "_" << (*i)->toShortString() << ".update();" << std::endl;
   
   }
diff --git a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
index 6865efb1addec4bfd498420b1cd126c3ce836b08..cecc2c204222b238f7b1943edf28855471c3fc7d 100644
--- a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
+++ b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
@@ -288,7 +288,13 @@ void SchedulableDevice::buttonPieChart(std::ofstream& myfile) const{
               type : \"pie\",\n";
     myfile << "               data : data" << _ID << ",\n";
     myfile << "               options : options" << _ID << std::endl << "                   });" << std::endl;
-    myfile << "   chart" << _ID << SCHED_HTML_JS_HIDE;
+    // myfile << "   chart" << _ID << SCHED_HTML_JS_HIDE;
+    myfile << "   if(!" << SHOW_PIE_CHART << "){\n \t"
+        << "      document.getElementById(\"pie-chartcanvas-" << _ID << "\"" << ").style.display = \"none\";\n \t"
+        << "   }\n \t"
+        << "   else {\n \t"
+        << "      document.getElementById(\"pie-chartcanvas-"<< _ID << "\"" << ").style.display = \"block\"; \n \t"
+        << "   }\n \t";
     myfile << "   chart" << _ID << ".update();" << std::endl;
 }
 
diff --git a/simulators/c++2/src_simulator/definitions.h b/simulators/c++2/src_simulator/definitions.h
index c54aa08a8fea267c9c34225fa27d38c814035318..ae3de11478e8bb14f7970c2037edc5065a21db13 100644
--- a/simulators/c++2/src_simulator/definitions.h
+++ b/simulators/c++2/src_simulator/definitions.h
@@ -274,7 +274,7 @@ using std::max;
 #define SCHED_HTML_JS_TABLE_BEGIN "<table>"
 #define SCHED_HTML_JS_TABLE_END "</table>"
 #define SCHED_HTML_JS_BEGIN_CANVAS "     <canvas id=\"pie-chartcanvas-"
-#define SCHED_HTML_JS_END_CANVAS "\"></canvas>"
+#define SCHED_HTML_JS_END_CANVAS "\" width=\"256\" height=\"256\"></canvas>"
 #define SCHED_HTML_JS_WINDOW "window.onload = function () {\n"
 #define SCHED_HTML_DIV "<div>\n"
 #define SCHED_HTML_JS_DIV_BEGIN "<div class=\"wrapper\">"
@@ -284,6 +284,7 @@ using std::max;
 #define SCHED_HTML_JS_DIV_END "</div>"
 #define SCHED_HTML_JS_CLEAR "<div class = \"clear\"></div>"
 #define NB_HTML_COLORS 15
+#define SHOW_PIE_CHART  "ShowPie"
 
 #define SCHED_HTML_JS_FUNCTION "= function() {\n \
 		var r = Math.floor(Math.random() * 255);\n \
diff --git a/simulators/c++2/src_simulator/jquery.min.js b/simulators/c++2/src_simulator/jquery.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..a1c07fd803b5fc9c54f44e31123ae4fa11e134b0
--- /dev/null
+++ b/simulators/c++2/src_simulator/jquery.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
diff --git a/simulators/c++2/src_simulator/sim/Simulator.cpp b/simulators/c++2/src_simulator/sim/Simulator.cpp
index ae9e304db6ac85361646731f548f952a7ae412d5..f29d55f9eece5a53b19e691e6f9869acd7dcd7dc 100644
--- a/simulators/c++2/src_simulator/sim/Simulator.cpp
+++ b/simulators/c++2/src_simulator/sim/Simulator.cpp
@@ -58,6 +58,9 @@
 #include <EBRDDCommand.h>
 #include <ERC.h>
 #endif
+#include <stdio.h>
+#include <unistd.h>
+#define GetCurrentDir getcwd
 class CurrentComponents;
 
 Simulator::Simulator(SimServSyncInfo* iSyncInfo):_syncInfo(iSyncInfo), _simComp(_syncInfo->_simComponents), _busy(false), _simTerm(false),  _randChoiceBreak(_syncInfo->_simComponents), _wasReset(true), _longRunTime(0), _shortRunTime(-1), _replyToServer(true), _branchCoverage(60), _commandCoverage(100), _terminateExplore(false), _simDuration(0){
@@ -489,8 +492,20 @@ std::cout<<"schedule2HTML--------------------------------------*****************
     // myfile << SCHED_HTML_JS_DIV_SUB_BEGIN;
     // myfile << SCHED_HTML_JS_TYPE;
     // myfile << SCHED_HTML_JS_CONTENT1;
-    myfile << SCHED_HTML_JS_LINK1 << SCHED_HTML_END_JS << std::endl;
-    myfile << SCHED_HTML_JS_LINK2 << SCHED_HTML_END_JS << std::endl;
+    char cCurrentPath[FILENAME_MAX];
+    GetCurrentDir(cCurrentPath, sizeof(cCurrentPath));
+    cCurrentPath[sizeof(cCurrentPath) - 1] = '\0';
+    std::string str = cCurrentPath;
+    std::size_t pos = str.find("c++_code"); /*pos = position of "c++_code" if we working with open project*/
+    std::size_t pos1 = str.find("/bin"); /*pos1 = position of "bin" if we working with open model*/
+    if(pos != std::string::npos){
+      myfile << "<script src=\"" << str << "/src_simulator/jquery.min.js\">" << SCHED_HTML_END_JS << std::endl;
+      myfile << "<script src=\"" << str << "/src_simulator/Chart.min.js\">" << SCHED_HTML_END_JS << std::endl;
+    }
+    else if (pos1 != std::string::npos){
+      myfile << "<script src=\"" << str.substr(0,pos1) << "/simulators/c++2/src_simulator/jquery.min.js\">" << SCHED_HTML_END_JS << std::endl;
+      myfile << "<script src=\"" << str.substr(0,pos1) << "/simulators/c++2/src_simulator/Chart.min.js\">" << SCHED_HTML_END_JS << std::endl;
+    }
     myfile << SCHED_HTML_BEGIN_JS << std::endl;
     
     myfile << SCHED_HTML_JS_WINDOW;
@@ -508,8 +523,9 @@ std::cout<<"schedule2HTML--------------------------------------*****************
        (*j)->drawPieChart(myfile);
     }
        
-    
+    myfile << "var " << SHOW_PIE_CHART << " = false;" << std::endl;
     myfile << "$(\"#button\").click(function() {\n";
+    myfile << "    " << SHOW_PIE_CHART << "=!" << SHOW_PIE_CHART << std::endl;
     for(CPUList::const_iterator i=_simComp->getCPUList().begin(); i != _simComp->getCPUList().end(); ++i){
       (*i)->buttonPieChart(myfile);
     }
diff --git a/src/main/java/tmltranslator/HwA.java b/src/main/java/tmltranslator/HwA.java
index 2719d81948e0327562bd52e1beea5311ad436ed4..92a68d18efcdb1ba429eb02a2f8135aabe917bda 100755
--- a/src/main/java/tmltranslator/HwA.java
+++ b/src/main/java/tmltranslator/HwA.java
@@ -41,6 +41,8 @@
 
 package tmltranslator;
 
+import java.util.Objects;
+
 /**
  * Class HwA
  * Creation: 23/11/2007
@@ -75,5 +77,11 @@ public class HwA extends HwExecutionNode  {
 	return s;
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwA)) return false;
+        if (!super.equalSpec(o)) return false;
+        HwA hwA = (HwA) o;
+        return byteDataSize == hwA.byteDataSize;
+    }
 
 }
diff --git a/src/main/java/tmltranslator/HwBridge.java b/src/main/java/tmltranslator/HwBridge.java
index 4b6b0a49c995709b7d480d7d62f08f33856190cd..e2d0c637e5184c71ddfaf4e35f52ced7867bce6d 100755
--- a/src/main/java/tmltranslator/HwBridge.java
+++ b/src/main/java/tmltranslator/HwBridge.java
@@ -42,6 +42,9 @@
 package tmltranslator;
 
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Objects;
 
 
 /**
@@ -68,4 +71,14 @@ public class HwBridge extends HwCommunicationNode  {
 	return s;
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwBridge)) return false;
+        if (!super.equalSpec(o)) return false;
+        HwBridge hwBridge = (HwBridge) o;
+        return latency == hwBridge.latency &&
+                bufferByteSize == hwBridge.bufferByteSize &&
+                isFirewall == hwBridge.isFirewall &&
+                (new HashSet<>(firewallRules).equals(new HashSet<>(hwBridge.firewallRules)));
+    }
+
 }
diff --git a/src/main/java/tmltranslator/HwBus.java b/src/main/java/tmltranslator/HwBus.java
index 2106e0112732e2f65cf03f7b8e2229b2f7a20681..8f824501c3b4c14d671c1b526443d8955bca19bb 100755
--- a/src/main/java/tmltranslator/HwBus.java
+++ b/src/main/java/tmltranslator/HwBus.java
@@ -39,6 +39,8 @@
 
 package tmltranslator;
 
+import java.util.Objects;
+
 /**
  * Class HwBus
  * Creation: 05/09/2007
@@ -73,4 +75,15 @@ public class HwBus extends HwCommunicationNode {
         return s;
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwBus)) return false;
+        if (!super.equalSpec(o)) return false;
+        HwBus hwBus = (HwBus) o;
+        return byteDataSize == hwBus.byteDataSize &&
+                pipelineSize == hwBus.pipelineSize &&
+                arbitration == hwBus.arbitration &&
+                sliceTime == hwBus.sliceTime;
+    }
+
+
 }
diff --git a/src/main/java/tmltranslator/HwCPU.java b/src/main/java/tmltranslator/HwCPU.java
index 70780e9516ac1e752364f6bf97c299442d2d09ed..5049c34f1d9f177364fbce15b8d17b721f3bc0a0 100755
--- a/src/main/java/tmltranslator/HwCPU.java
+++ b/src/main/java/tmltranslator/HwCPU.java
@@ -37,27 +37,28 @@
  */
 
 
-
-
 package tmltranslator;
 
 import tmltranslator.modelcompiler.ArchUnitMEC;
 import tmltranslator.modelcompiler.CpuMEC;
 
+import java.util.Objects;
+
 
 /**
  * Class HwCPU
  * Creation: 05/09/2007
- * @version 1.0 05/09/2007
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 05/09/2007
  */
-public class HwCPU extends HwExecutionNode  {
+public class HwCPU extends HwExecutionNode {
 
     public static final int BASIC_ROUND_ROBIN = 0;
     public static final int ROUND_ROBIN_PRIORITY_BASED = 1;
-    public static final int ENCRYPTION_NONE= 0;
-    public static final int ENCRYPTION_SW= 1;
-    public static final int ENCRYPTION_HW= 2;
+    public static final int ENCRYPTION_NONE = 0;
+    public static final int ENCRYPTION_SW = 1;
+    public static final int ENCRYPTION_HW = 2;
     public static final int DEFAULT_NB_OF_CORES = 1;
     public static final int DEFAULT_BYTE_DATA_SIZE = 4;
     public static final int DEFAULT_PIPELINE_SIZE = 5;
@@ -70,7 +71,7 @@ public class HwCPU extends HwExecutionNode  {
     public static final int DEFAULT_SLICE_TIME = 10000; // in microseconds
     public static final ArchUnitMEC DEFAULT_MODEL_EXTENSION_CONSTRUCT = new CpuMEC();
 
-    public int encryption  = 0;
+    public int encryption = 0;
     public int nbOfCores = DEFAULT_NB_OF_CORES; // Should be equal or greater than 1
     public int byteDataSize = DEFAULT_BYTE_DATA_SIZE; // Should be greater than 0
     public int pipelineSize = DEFAULT_PIPELINE_SIZE; // Should be greater than 0
@@ -89,21 +90,55 @@ public class HwCPU extends HwExecutionNode  {
     }
 
     public String getType() {
-        switch(schedulingPolicy) {
-        case ROUND_ROBIN_PRIORITY_BASED:
-            return "CPURRPB";
-        case BASIC_ROUND_ROBIN:
-        default:
-            return "CPURR";
+        switch (schedulingPolicy) {
+            case ROUND_ROBIN_PRIORITY_BASED:
+                return "CPURRPB";
+            case BASIC_ROUND_ROBIN:
+            default:
+                return "CPURR";
         }
     }
 
+    public HwCPU clone() {
+        HwCPU cpu = new HwCPU(name);
+        cpu.encryption = encryption;
+        cpu.nbOfCores = nbOfCores;
+        cpu.byteDataSize = byteDataSize;
+        cpu.pipelineSize = pipelineSize;
+        cpu.goIdleTime = goIdleTime;
+        cpu.maxConsecutiveIdleCycles = maxConsecutiveIdleCycles;
+        cpu.taskSwitchingTime = taskSwitchingTime;
+        cpu.branchingPredictionPenalty = branchingPredictionPenalty;
+        cpu.cacheMiss = cacheMiss;
+        cpu.schedulingPolicy = schedulingPolicy;
+        cpu.sliceTime = sliceTime;
+        cpu.MEC = MEC;
+        return cpu;
+    }
+
     public String toXML() {
-	String s = "<CPU name=\"" + name + "\" clockRatio=\"" + clockRatio + "\"  byteDataSize=\"" + byteDataSize + "\" execiTime=\"" + execiTime + "\" execcTime=\"" + execcTime + "\" pipelineSize=\"";
-	s += pipelineSize + "\" goIdleTime=\"" + goIdleTime + "\" maxConsecutiveIdleCycles=\"" + maxConsecutiveIdleCycles + "\" taskSwitchingTime=\"" + taskSwitchingTime + "\" cacheMiss=\"" +cacheMiss + "\"  schedulingPolicy=\"" + schedulingPolicy + "\" sliceTime=\"" + sliceTime + "\" MEC=\"" + MEC.typeToString() +"\" />\n";
-	return s;
+        String s = "<CPU name=\"" + name + "\" clockRatio=\"" + clockRatio + "\"  byteDataSize=\"" + byteDataSize + "\" execiTime=\"" + execiTime + "\" execcTime=\"" + execcTime + "\" pipelineSize=\"";
+        s += pipelineSize + "\" goIdleTime=\"" + goIdleTime + "\" maxConsecutiveIdleCycles=\"" + maxConsecutiveIdleCycles + "\" taskSwitchingTime=\"" + taskSwitchingTime + "\" cacheMiss=\"" + cacheMiss + "\"  schedulingPolicy=\"" + schedulingPolicy + "\" sliceTime=\"" + sliceTime + "\" MEC=\"" + MEC.typeToString() + "\" />\n";
+        return s;
+    }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwCPU)) return false;
+        if (!super.equalSpec(o)) return false;
+        HwCPU hwCPU = (HwCPU) o;
+        return encryption == hwCPU.encryption &&
+                nbOfCores == hwCPU.nbOfCores &&
+                byteDataSize == hwCPU.byteDataSize &&
+                pipelineSize == hwCPU.pipelineSize &&
+                goIdleTime == hwCPU.goIdleTime &&
+                maxConsecutiveIdleCycles == hwCPU.maxConsecutiveIdleCycles &&
+                taskSwitchingTime == hwCPU.taskSwitchingTime &&
+                branchingPredictionPenalty == hwCPU.branchingPredictionPenalty &&
+                cacheMiss == hwCPU.cacheMiss &&
+                schedulingPolicy == hwCPU.schedulingPolicy &&
+                sliceTime == hwCPU.sliceTime &&
+                MEC.equalSpec(hwCPU.MEC);
     }
 
-    
 
 }
diff --git a/src/main/java/tmltranslator/HwCommunicationNode.java b/src/main/java/tmltranslator/HwCommunicationNode.java
index d32b00d76781410b79513c48864f42ab8f630168..e5a0f0eb096b2e2e44119d1fb48c743576493db2 100755
--- a/src/main/java/tmltranslator/HwCommunicationNode.java
+++ b/src/main/java/tmltranslator/HwCommunicationNode.java
@@ -42,6 +42,8 @@
 package tmltranslator;
 
 
+import java.util.Objects;
+
 /**
  * Class HwCommunicationNode
  * Creation: 23/11/2007
@@ -59,4 +61,12 @@ public abstract class HwCommunicationNode extends HwNode  {
     public HwCommunicationNode(String _name) {
 		super(_name);
     }
+
+    public boolean equalSpec(Object o) {
+        if(!(o instanceof HwCommunicationNode)) return false;
+        if (!super.equalSpec(o)) return false;
+        HwCommunicationNode that = (HwCommunicationNode) o;
+        return privacy == that.privacy;
+    }
+
 }
diff --git a/src/main/java/tmltranslator/HwCrossbar.java b/src/main/java/tmltranslator/HwCrossbar.java
index 54f6732a0817d6cacf1509f3854eec0b1138ea09..c5d63c9067f88880d2bf069e9257510a6cb0c035 100755
--- a/src/main/java/tmltranslator/HwCrossbar.java
+++ b/src/main/java/tmltranslator/HwCrossbar.java
@@ -63,6 +63,10 @@ public class HwCrossbar extends HwCommunicationNode  {
 	return s;
     }
 
-    
-
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwCrossbar)) return false;
+        if (!super.equalSpec(o)) return false;
+        HwCrossbar hwCrossbar = (HwCrossbar) o;
+        return byteDataSize == hwCrossbar.byteDataSize;
+    }
 }
diff --git a/src/main/java/tmltranslator/HwDMA.java b/src/main/java/tmltranslator/HwDMA.java
index ddbe5e73538da744db7f0c0ebc5facacf157d47c..cb68f6338dcf875e538997df513c29aca605ec4a 100755
--- a/src/main/java/tmltranslator/HwDMA.java
+++ b/src/main/java/tmltranslator/HwDMA.java
@@ -41,6 +41,8 @@
 
 package tmltranslator;
 
+import java.util.Objects;
+
 /**
  * Class HwDMA
  * Creation: 26/09/2011
@@ -63,4 +65,14 @@ public class HwDMA extends HwCommunicationNode  {
 	String s = "<DMA name=\"" + name + "\" clockRatio=\"" + clockRatio + "\"  byteDataSize=\"" + byteDataSize + "\"  nbOfChannels=\"" + nbOfChannels + "\" execiTime=\"" + "1" + "\" execcTime=\"" + "1"  +"\" />\n";
 	return s;
     }
+
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwDMA)) return false;
+        if (!super.equalSpec(o)) return false;
+        HwDMA hwDMA = (HwDMA) o;
+        return byteDataSize == hwDMA.byteDataSize &&
+                nbOfChannels == hwDMA.nbOfChannels;
+    }
+
 }
diff --git a/src/main/java/tmltranslator/HwExecutionNode.java b/src/main/java/tmltranslator/HwExecutionNode.java
index 2b354583e114bfce5e0a5dbf2f173081c66e532d..1674ffd3613e54ca32fc1b8b443012f19be58108 100755
--- a/src/main/java/tmltranslator/HwExecutionNode.java
+++ b/src/main/java/tmltranslator/HwExecutionNode.java
@@ -41,6 +41,8 @@
 package tmltranslator;
 
 
+import java.util.Objects;
+
 /**
  * Class HwExecutionNode
  * Creation: 23/11/2007
@@ -97,4 +99,14 @@ public abstract class HwExecutionNode extends HwNode  {
         return false;
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwExecutionNode)) return false;
+        if(!super.equalSpec(o)) return false;
+        HwExecutionNode that = (HwExecutionNode) o;
+        return maximumNbOfTasks == that.maximumNbOfTasks &&
+                execiTime == that.execiTime &&
+                execcTime == that.execcTime &&
+                operation.equals(that.operation);
+    }
+
 }
diff --git a/src/main/java/tmltranslator/HwFPGA.java b/src/main/java/tmltranslator/HwFPGA.java
index cf1833f793d207cf904f0b4ef6d0f63a1000dc16..a1b038fb6dec73008f12c3f267a5a6eb000928ab 100755
--- a/src/main/java/tmltranslator/HwFPGA.java
+++ b/src/main/java/tmltranslator/HwFPGA.java
@@ -41,6 +41,8 @@ package tmltranslator;
 
 import tmltranslator.modelcompiler.ArchUnitMEC;
 
+import java.util.Objects;
+
 
 /**
  * Class HwFPGA
@@ -87,5 +89,16 @@ public class HwFPGA extends HwExecutionNode {
         return s;
     }
 
-
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwFPGA)) return false;
+        if(!super.equalSpec(o)) return false;
+        HwFPGA hwFPGA = (HwFPGA) o;
+        return byteDataSize == hwFPGA.byteDataSize &&
+                goIdleTime == hwFPGA.goIdleTime &&
+                maxConsecutiveIdleCycles == hwFPGA.maxConsecutiveIdleCycles &&
+                capacity == hwFPGA.capacity &&
+                mappingPenalty == hwFPGA.mappingPenalty &&
+                reconfigurationTime == hwFPGA.reconfigurationTime &&
+                scheduling.equals(hwFPGA.scheduling);
+    }
 }
diff --git a/src/main/java/tmltranslator/HwLink.java b/src/main/java/tmltranslator/HwLink.java
index a98bf3c27579d4dd89a931929f33f5c06bc177bf..51c8cc03d4fc4f79feaa85bfc8f7e304936088ad 100755
--- a/src/main/java/tmltranslator/HwLink.java
+++ b/src/main/java/tmltranslator/HwLink.java
@@ -39,6 +39,8 @@
 
 package tmltranslator;
 
+import java.util.Objects;
+
 /**
  * Class HwLink
  * Creation: 05/09/2007
@@ -104,4 +106,14 @@ public class HwLink implements Comparable<HwLink> {
         return (nodeBus == bus) || (nodeBus == vgmn) || (nodeBus == crossbar);
     }
 
+    public boolean equalSpec(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        HwLink hwLink = (HwLink) o;
+        return priority == hwLink.priority &&
+                bus.getName().equals(hwLink.bus.getName()) &&
+                hwnode.getName().equals(hwLink.hwnode.getName()) &&
+                Objects.equals(getName(),hwLink.getName());
+    }
+
 }
diff --git a/src/main/java/tmltranslator/HwMemory.java b/src/main/java/tmltranslator/HwMemory.java
index e417e93a71328f7824bfac9c83b3c995e2761a4d..abf43a84dfb7dffbe59a4e7576fedd24d3a86d49 100755
--- a/src/main/java/tmltranslator/HwMemory.java
+++ b/src/main/java/tmltranslator/HwMemory.java
@@ -41,6 +41,8 @@
 
 package tmltranslator;
 
+import java.util.Objects;
+
 /**
  * Class HwMemory
  * Creation: 23/11/2007
@@ -66,6 +68,14 @@ public class HwMemory extends HwCommunicationNode  {
 	String s = "<MEMORY name=\"" + name + "\" clockRatio=\"" + clockRatio + "\"  byteDataSize=\"" + byteDataSize + "\" memorySize=\"" + memorySize + "\"  bufferType=\"" + bufferType + "\" />\n";
 	return s;
     }
-    
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwMemory)) return false;
+        if(!super.equalSpec(o)) return false;
+        HwMemory hwMemory = (HwMemory) o;
+        return bufferType == hwMemory.bufferType &&
+                byteDataSize == hwMemory.byteDataSize &&
+                memorySize == hwMemory.memorySize;
+    }
 
 }
diff --git a/src/main/java/tmltranslator/HwNoC.java b/src/main/java/tmltranslator/HwNoC.java
index 9ddf1d46be382f125e82c99fdbfcd1c228977500..d67752d72d79ec2946886dfbcc8ce13daa5c009e 100755
--- a/src/main/java/tmltranslator/HwNoC.java
+++ b/src/main/java/tmltranslator/HwNoC.java
@@ -213,6 +213,21 @@ public class HwNoC extends HwCommunicationNode  {
     }
 
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwNoC)) return false;
+        if (!super.equalSpec(o)) return false;
+        HwNoC hwNoC = (HwNoC) o;
+
+        if (placementMap != null) {
+            if (!placementMap.equals(hwNoC.placementMap)) return false;
+        } else {
+            if (hwNoC.placementMap != null)
+                return false;
+        }
+         return bufferByteSize == hwNoC.bufferByteSize &&
+                 size == hwNoC.size &&
+                 latency == hwNoC.latency;
+    }
 
 
 
diff --git a/src/main/java/tmltranslator/HwNode.java b/src/main/java/tmltranslator/HwNode.java
index 5b339fb2bdbe400b72d47deff556a99e376b933f..4f45a5f832e20ca36ada4aeba1fb276c8f0d53e6 100755
--- a/src/main/java/tmltranslator/HwNode.java
+++ b/src/main/java/tmltranslator/HwNode.java
@@ -43,6 +43,8 @@ package tmltranslator;
 
 import tmltranslator.modelcompiler.ArchUnitMEC;
 
+import java.util.Objects;
+
 
 /**
  * Class HwNode
@@ -77,4 +79,19 @@ public abstract class HwNode extends DIPLOElement  {
 
     public abstract String toXML();
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwNode))
+            return false;
+        HwNode hwNode = (HwNode) o;
+        if (mec != null && (!mec.equalSpec(hwNode.getArchUnitMEC())))
+            return false;
+        return maximumNbOfMappedElement == hwNode.maximumNbOfMappedElement &&
+                clockRatio == hwNode.clockRatio &&
+                name.equals(hwNode.getName());
+    }
+
+    public void setName(String _name) {
+        name = _name;
+    }
+
 }
diff --git a/src/main/java/tmltranslator/HwVGMN.java b/src/main/java/tmltranslator/HwVGMN.java
index 29d3c6fb1a3f3a2fef39120a72803a3ef1e2dee8..372f5e7939949fad63950d16772b488b937a38b0 100755
--- a/src/main/java/tmltranslator/HwVGMN.java
+++ b/src/main/java/tmltranslator/HwVGMN.java
@@ -62,4 +62,12 @@ public class HwVGMN extends HwCommunicationNode  {
 	return s;
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof HwVGMN)) return false;
+        if (!super.equalSpec(o)) return false;
+
+        HwVGMN hwVGMN = (HwVGMN) o;
+        return byteDataSize == hwVGMN.byteDataSize;
+    }
+
 }
diff --git a/src/main/java/tmltranslator/SecurityPattern.java b/src/main/java/tmltranslator/SecurityPattern.java
index e63e64d8614d690b8ceecfefd0346e49f9d17614..874d8aafddf0ba03e9d7f3c6e5fbe8e5159ec406 100644
--- a/src/main/java/tmltranslator/SecurityPattern.java
+++ b/src/main/java/tmltranslator/SecurityPattern.java
@@ -42,64 +42,89 @@ package tmltranslator;
 
 import avatartranslator.AvatarState;
 
+import java.util.Objects;
+
+
 public class SecurityPattern {
 
-    public String name="";
-    public String type="";
-    public int overhead=0;
-    public int size=0;
-    public int encTime=0;
-    public int decTime=0;
+    public String name = "";
+    public String type = "";
+    public int overhead = 0;
+    public int size = 0;
+    public int encTime = 0;
+    public int decTime = 0;
     public String originTask;
     public AvatarState state1;
     public AvatarState state2;
     public String nonce;
     public String formula;
     public String key;
-    public String algorithm="";
-    
-    public SecurityPattern(String _name, String _type, String _overhead, String _size, String _enctime, String _dectime, String _nonce, String _formula, String _key){
-        this.name=_name;
-        this.type=_type;
-        this.nonce=_nonce;
-        this.formula=_formula;
-        this.key=_key;
-        if (!_overhead.equals("")){
+    public String algorithm = "";
+
+    public SecurityPattern(String _name, String _type, String _overhead, String _size, String _enctime, String _dectime, String _nonce, String _formula, String _key) {
+        this.name = _name;
+        this.type = _type;
+        this.nonce = _nonce;
+        this.formula = _formula;
+        this.key = _key;
+        if (!_overhead.equals("")) {
             this.overhead = Integer.valueOf(_overhead);
         }
-        if (!_size.equals("")){
+        if (!_size.equals("")) {
             this.size = Integer.valueOf(_size);
         }
-        if (!_dectime.equals("")){
-            this.decTime=Integer.valueOf(_dectime);
+        if (!_dectime.equals("")) {
+            this.decTime = Integer.valueOf(_dectime);
         }
-        if (!_enctime.equals("")){
-            this.encTime=Integer.valueOf(_enctime);
+        if (!_enctime.equals("")) {
+            this.encTime = Integer.valueOf(_enctime);
         }
     }
 
     public String toXML() {
-	String s = "<SECURITYPATTERN ";
-	
-	s += " name=\""  + name;
-	s += "\" type=\""  + type;
-	s += "\" overhead=\""  + overhead;
-	s += "\" size=\""  + size;
-	s += "\" encTime=\""  + encTime;
-	s += "\" decTime=\""  + decTime;
-	s += "\" originTask=\""  + originTask;
-	if (state1!=null){
-		s += "\" state1=\""  + state1.getName();
-	}
-	if (state2!=null){
-		s += "\" state2=\""  + state2.getName();
-	}
-	s += "\" nonce=\""  + nonce;
-	s += "\" formula=\""  + formula;
-	s += "\" key=\""  + key;
-	s += "\" />\n";
-
-	return s;
+        String s = "<SECURITYPATTERN ";
+
+        s += " name=\"" + name;
+        s += "\" type=\"" + type;
+        s += "\" overhead=\"" + overhead;
+        s += "\" size=\"" + size;
+        s += "\" encTime=\"" + encTime;
+        s += "\" decTime=\"" + decTime;
+        s += "\" originTask=\"" + originTask;
+        if (state1 != null) {
+            s += "\" state1=\"" + state1.getName();
+        }
+        if (state2 != null) {
+            s += "\" state2=\"" + state2.getName();
+        }
+        s += "\" nonce=\"" + nonce;
+        s += "\" formula=\"" + formula;
+        s += "\" key=\"" + key;
+        s += "\" />\n";
+
+        return s;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof SecurityPattern)) return false;
+
+        SecurityPattern securityPattern = (SecurityPattern) o;
+        return overhead == securityPattern.overhead &&
+                size == securityPattern.size &&
+                encTime == securityPattern.encTime &&
+                decTime == securityPattern.decTime &&
+                Objects.equals(name,securityPattern.name) &&
+                Objects.equals(type,securityPattern.type) &&
+                Objects.equals(originTask,securityPattern.originTask) &&
+                Objects.equals(nonce,securityPattern.nonce) &&
+                Objects.equals(formula,securityPattern.formula) &&
+                Objects.equals(key,securityPattern.key) &&
+                Objects.equals(algorithm,securityPattern.algorithm);
+
     }
 
 }
diff --git a/src/main/java/tmltranslator/TMLActivity.java b/src/main/java/tmltranslator/TMLActivity.java
index 2c291a1fa8521488b66b8c507a9ba747938ab488..a8a167ccc5f5d145d3997d5297f0fefd822eeeb3 100755
--- a/src/main/java/tmltranslator/TMLActivity.java
+++ b/src/main/java/tmltranslator/TMLActivity.java
@@ -41,7 +41,7 @@ package tmltranslator;
 import myutil.Conversion;
 import myutil.TraceManager;
 
-import java.util.Vector;
+import java.util.*;
 
 /**
  * Class TMLActivity
@@ -686,4 +686,18 @@ public class TMLActivity extends TMLElement {
 
         return result;
     }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLActivity)) return false;
+        if(!super.equalSpec(o)) return false;
+        TMLActivity tmlActivity = (TMLActivity) o;
+        TMLComparingMethod comp = new TMLComparingMethod();
+
+        if (first != null) {
+            if (!first.equalSpec(tmlActivity.getFirst())) return false;
+        } else {
+            if (tmlActivity.getFirst() != null) return false;
+        }
+        return  comp.isTMLActivityEltListEquals(elements, tmlActivity.getElements());
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLActivityElement.java b/src/main/java/tmltranslator/TMLActivityElement.java
index a0511572ad70fc96d572a2d6bf45e96f2e043b68..0f83888dbf5fc422ef902e6491f25d913b5fbb76 100755
--- a/src/main/java/tmltranslator/TMLActivityElement.java
+++ b/src/main/java/tmltranslator/TMLActivityElement.java
@@ -41,6 +41,7 @@
 
 package tmltranslator;
 
+import java.util.Objects;
 import java.util.Vector;
 
 
@@ -139,4 +140,13 @@ public abstract class TMLActivityElement extends TMLElement {
     }
     
     public abstract String customExtraToXML();
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLActivityElement)) return false;
+        if(!super.equalSpec(o)) return false;
+        TMLActivityElement tmlActEtls = (TMLActivityElement) o;
+        TMLComparingMethod comp = new TMLComparingMethod();
+        return Objects.equals(value,tmlActEtls.getValue()) &&
+                comp.isTMLActivityEltListEquals(nexts,tmlActEtls.getNexts());
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLActivityElementChannel.java b/src/main/java/tmltranslator/TMLActivityElementChannel.java
index 02810c614d6c2da473d0aff5fd92ab68ad8164f2..94df74bd0e3f26015379b39362f95f538657e5c4 100755
--- a/src/main/java/tmltranslator/TMLActivityElementChannel.java
+++ b/src/main/java/tmltranslator/TMLActivityElementChannel.java
@@ -40,6 +40,7 @@
 package tmltranslator;
 
 import java.util.ArrayList;
+import java.util.Objects;
 
 
 /**
@@ -116,4 +117,14 @@ public class TMLActivityElementChannel extends TMLActivityElement {
         s += " type=\"" + chanType + "\" ";
         return s;
     }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLActivityElementChannel)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLActivityElementChannel tmlActEltChannel = (TMLActivityElementChannel) o;
+        return Objects.equals(nbOfSamples, ((TMLActivityElementChannel) o).getNbOfSamples()) &&
+                isAttacker == tmlActEltChannel.isAttacker() &&
+                isEncForm == tmlActEltChannel.getEncForm();
+
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLActivityElementEvent.java b/src/main/java/tmltranslator/TMLActivityElementEvent.java
index 93b3585126958ee385fdd4ddb51b36967e4992c3..ce571e15db0c6c4a6b68a599ebe32d030a3393f8 100755
--- a/src/main/java/tmltranslator/TMLActivityElementEvent.java
+++ b/src/main/java/tmltranslator/TMLActivityElementEvent.java
@@ -41,7 +41,9 @@
 
 package tmltranslator;
 
+import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.Vector;
 
 
@@ -131,7 +133,16 @@ public abstract class TMLActivityElementEvent extends TMLActivityElement {
         }
     }
 
-    
+    public Vector<String> getDatas() {
+        return datas;
+    }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLActivityElementEvent)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLActivityElementEvent tmlActivityElementEvent = (TMLActivityElementEvent) o;
 
+        return (new HashSet<>(datas)).equals(new HashSet<>(tmlActivityElementEvent.getDatas())) &&
+                Objects.equals(variable, tmlActivityElementEvent.getVariable());
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLActivityElementWithAction.java b/src/main/java/tmltranslator/TMLActivityElementWithAction.java
index 279400a06c1fd70b77c203fc6a2d7c47564a04e7..e4e4c1a358f359e033c36f544000221929eb6922 100755
--- a/src/main/java/tmltranslator/TMLActivityElementWithAction.java
+++ b/src/main/java/tmltranslator/TMLActivityElementWithAction.java
@@ -41,6 +41,8 @@
 
 package tmltranslator;
 
+import java.util.Objects;
+
 /**
  * Class TMLActivityElementWithAction
  * Creation: 23/11/2005
@@ -71,4 +73,11 @@ public class TMLActivityElementWithAction extends TMLActivityElement {
 	    return s;
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLActivityElementWithAction)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLActivityElementWithAction tmlActivityElementWithAction = (TMLActivityElementWithAction) o;
+        return Objects.equals(action, tmlActivityElementWithAction.getAction());
+    }
+
 }
diff --git a/src/main/java/tmltranslator/TMLActivityElementWithIntervalAction.java b/src/main/java/tmltranslator/TMLActivityElementWithIntervalAction.java
index 113f93776637fc875b48daeb822647c605bedc75..b948d772e96ae823a0405d6cdd9be16d3d046fb8 100755
--- a/src/main/java/tmltranslator/TMLActivityElementWithIntervalAction.java
+++ b/src/main/java/tmltranslator/TMLActivityElementWithIntervalAction.java
@@ -42,6 +42,7 @@
 package tmltranslator;
 
 
+import java.util.Objects;
 
 /**
  * Class TMLActivityElementWithIntervalAction
@@ -76,4 +77,14 @@ public class TMLActivityElementWithIntervalAction extends TMLActivityElement {
 	return " min=\"" + minDelay +  "\" max=\"" + maxDelay + "\" ";
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLActivityElementWithIntervalAction)) return false;
+        if (!super.equalSpec(o)) return false;
+
+        TMLActivityElementWithIntervalAction tmlAEIAction = (TMLActivityElementWithIntervalAction) o;
+        return Objects.equals(minDelay, tmlAEIAction.getMinDelay()) &&
+                Objects.equals(maxDelay, tmlAEIAction.getMaxDelay());
+
+    }
+
 }
diff --git a/src/main/java/tmltranslator/TMLArchitecture.java b/src/main/java/tmltranslator/TMLArchitecture.java
index f86193101e13977a38ab6699aefaeff4f8d8eef5..33068a60c2e9c570167327c14be0822c4a4f4dcc 100755
--- a/src/main/java/tmltranslator/TMLArchitecture.java
+++ b/src/main/java/tmltranslator/TMLArchitecture.java
@@ -41,8 +41,7 @@ package tmltranslator;
 
 import myutil.TraceManager;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 
 /**
  * Class TMLArchitecture
@@ -502,4 +501,19 @@ public class TMLArchitecture {
         HwNoC noc = getHwNoC();
         return (noc == null ? -1 : noc.size);
     }
+
+    public boolean equalSpec(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        TMLArchitecture that = (TMLArchitecture) o;
+
+        TMLComparingMethod comp = new TMLComparingMethod();
+
+        if (!comp.isHwNodeListEquals(hwnodes, that.hwnodes)) return false;
+
+        if(!comp.isHwlinkListEquals(hwlinks, that.hwlinks)) return false;
+
+        return masterClockFrequency == that.masterClockFrequency;
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLChannel.java b/src/main/java/tmltranslator/TMLChannel.java
index 29a249056f0e94222054ca1ae08ae98205dfcddd..b0d84eb043642033bcc5c6851541ee26919c0111 100755
--- a/src/main/java/tmltranslator/TMLChannel.java
+++ b/src/main/java/tmltranslator/TMLChannel.java
@@ -44,6 +44,7 @@ import ui.tmlcompd.TMLCPrimitivePort;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Class TMLChannel
@@ -616,4 +617,43 @@ public class TMLChannel extends TMLCommunicationElement {
         s += " />\n";
         return s;
     }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLChannel)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLChannel channel = (TMLChannel) o;
+        TMLComparingMethod comp = new TMLComparingMethod();
+
+        if (originPort != null) {
+            if (!originPort.equalSpec(channel.getOriginPort()))
+                return false;
+        }
+
+        if (destinationPort != null) {
+            if (!destinationPort.equalSpec(channel.getDestinationPort())) return false;
+        }
+
+        if (originTask != null) {
+            if (!originTask.equalSpec(channel.getOriginTask()))
+                return false;
+        }
+
+        if (destinationTask != null) {
+            if (!destinationTask.equalSpec(channel.getDestinationTask())) return false;
+        }
+
+        return checkConf == channel.checkConf &&
+                checkAuth == channel.checkAuth &&
+                size == channel.size &&
+                type == channel.type &&
+                max == channel.max &&
+                vc == channel.vc &&
+                nbOfSamples == channel.getNumberOfSamples() &&
+                priority == channel.priority &&
+                comp.isTasksListEquals(originTasks, channel.getOriginTasks()) &&
+                comp.isTasksListEquals(destinationTasks, channel.getDestinationTasks()) &&
+                comp.isPortListEquals(originPorts, channel.getOriginPorts()) &&
+                comp.isPortListEquals(destinationPorts, channel.getDestinationPorts());
+    }
+
 }
diff --git a/src/main/java/tmltranslator/TMLChoice.java b/src/main/java/tmltranslator/TMLChoice.java
index 1ba77fa281b15bc2e973f9550abead719c4fab30..482c8d07e8ab91257cd1bd305ca370bce5501d89 100755
--- a/src/main/java/tmltranslator/TMLChoice.java
+++ b/src/main/java/tmltranslator/TMLChoice.java
@@ -41,7 +41,9 @@ package tmltranslator;
 import myutil.Conversion;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Class TMLChoice
@@ -343,4 +345,14 @@ public class TMLChoice extends TMLActivityElement{
     	}
     	return " guards=\"" + g + "\" ";
     }
+
+    private  List<String> getGuards () {
+        return guards;
+    }
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLChoice)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLChoice tmlChoice = (TMLChoice) o;
+        return (new HashSet<>(guards)).equals(new HashSet<>(tmlChoice.getGuards()));
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLCommunicationElement.java b/src/main/java/tmltranslator/TMLCommunicationElement.java
index 843234226f5cdcaa5e71be826278bd544feccc9e..6f8c7d3872d5c840a0e4f6c44d3ecc708a74c2ee 100755
--- a/src/main/java/tmltranslator/TMLCommunicationElement.java
+++ b/src/main/java/tmltranslator/TMLCommunicationElement.java
@@ -43,6 +43,8 @@ package tmltranslator;
 
 import myutil.TraceManager;
 
+import java.util.Objects;
+
 /**
  * Class TMLCommunicationElement
  * Creation: 22/11/2005
@@ -85,5 +87,18 @@ public abstract class TMLCommunicationElement extends TMLElement {
         return maxNbOfLoss;
     }
 
+    public void configLossy(boolean _isLossy, int _percentage, int _maxNbOfLoss) {
+        isLossy = _isLossy;
+        lossPercentage = _percentage;
+        maxNbOfLoss = _maxNbOfLoss;
+    }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLCommunicationElement)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLCommunicationElement that = (TMLCommunicationElement) o;
+        return isLossy == that.isLossy &&
+                lossPercentage == that.lossPercentage &&
+                maxNbOfLoss == that.maxNbOfLoss;
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLComparingMethod.java b/src/main/java/tmltranslator/TMLComparingMethod.java
new file mode 100644
index 0000000000000000000000000000000000000000..87cc5a78bcf5b9ebda743edc82101b34b26554dc
--- /dev/null
+++ b/src/main/java/tmltranslator/TMLComparingMethod.java
@@ -0,0 +1,388 @@
+package tmltranslator;
+
+import java.util.*;
+
+public class TMLComparingMethod {
+    TMLComparingMethod() {}
+
+    public  boolean isOncommondesListEquals(List<HwCommunicationNode> list1, List<HwCommunicationNode> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(HwCommunicationNode::getName));
+        Collections.sort(list2, Comparator.comparing(HwCommunicationNode::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public  boolean isMappedcommeltsListEquals(List<TMLElement> list1, List<TMLElement> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(TMLElement::getID));
+        Collections.sort(list2, Comparator.comparing(TMLElement::getID));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public  boolean isTasksListEquals(List<TMLTask> list1, List<TMLTask> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(TMLTask::getName));
+        Collections.sort(list2, Comparator.comparing(TMLTask::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public  boolean isOnExecutionNodeListEquals(List<HwExecutionNode> list1, List<HwExecutionNode> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(HwExecutionNode::getName));
+        Collections.sort(list2, Comparator.comparing(HwExecutionNode::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public boolean isListOfStringArrayEquals(List<String[]> list1, List<String[]> list2) {
+
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if (list1 == null || list2 == null) {
+            return false;
+        } else if (list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+
+        Collections.sort(list1, (x1, x2) -> {
+            if (x1.length > 0 && x2.length > 0) {
+                return x2[0].compareTo(x1[0]);
+            }
+            if (x1.length > 0) {
+                return 1;
+            }
+            if (x2.length > 0) {
+                return -1;
+            }
+            return x2.length - x1.length;
+        });
+
+        Collections.sort(list2, (x1, x2) -> {
+            if (x1.length > 0 && x2.length > 0) {
+                return x2[0].compareTo(x1[0]);
+            }
+            if (x1.length > 0) {
+                return 1;
+            }
+            if (x2.length > 0) {
+                return -1;
+            }
+            return x2.length - x1.length;
+        });
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test = Arrays.equals(list1.get(i),list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public boolean isSecurityPatternMapEquals(Map<SecurityPattern, List<HwMemory>> map1, Map<SecurityPattern, List<HwMemory>> map2) {
+
+        if (map1 == null && map2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if (map1 == null || map1 == null) {
+            return false;
+        } else if (map1.size() != map2.size()) {
+            return false;
+        }
+
+        boolean test;
+        for (SecurityPattern sp : map1.keySet()) {
+            test = isHwMemoryListEquals(map1.get(sp), map2.get(sp));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public boolean isHwMemoryListEquals (List<HwMemory> list1, List<HwMemory> list2) {
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(HwMemory::getName));
+        Collections.sort(list2, Comparator.comparing(HwMemory::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public  boolean isTMLActivityEltListEquals(List<TMLActivityElement> list1, List<TMLActivityElement> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(TMLActivityElement::getName));
+        Collections.sort(list2, Comparator.comparing(TMLActivityElement::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public  boolean isHwNodeListEquals(List<HwNode> list1, List<HwNode> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(HwNode::getName));
+        Collections.sort(list2, Comparator.comparing(HwNode::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+
+    public  boolean isHwlinkListEquals(List<HwLink> list1, List<HwLink> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(HwLink::getName));
+        Collections.sort(list2, Comparator.comparing(HwLink::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public  boolean isPortListEquals(List<TMLPort> list1, List<TMLPort> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(TMLPort::getName));
+        Collections.sort(list2, Comparator.comparing(TMLPort::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public boolean isTMLChannelSetEquals(Set<TMLChannel> channelSet1, Set<TMLChannel> channelSet2) {
+        if (channelSet1 == null && channelSet2 == null) return true;
+        if (channelSet1 == null|| channelSet2 == null) return false;
+
+        if(channelSet1.size() != channelSet2.size()) return false;
+
+        List<TMLChannel> channels1 = new ArrayList<>(channelSet1);
+        List<TMLChannel>  channels2 = new ArrayList<>(channelSet2);
+
+        Collections.sort(channels1, Comparator.comparing(TMLChannel::getName));
+        Collections.sort(channels2, Comparator.comparing(TMLChannel::getName));
+
+        boolean test;
+
+        for (int i = 0; i < channels1.size(); i++) {
+            test =  channels1.get(i).equalSpec(channels2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public boolean isTMLEventSetEquals(Set<TMLEvent> eventSet1, Set<TMLEvent> eventSet2) {
+        if (eventSet1 == null && eventSet2 == null) return true;
+        if (eventSet1 == null|| eventSet2 == null) return false;
+
+        if(eventSet1.size() != eventSet2.size()) return false;
+
+        List<TMLEvent> events1 = new ArrayList<>(eventSet1);
+        List<TMLEvent>  events2 = new ArrayList<>(eventSet2);
+
+        Collections.sort(events1, Comparator.comparing(TMLEvent::getName));
+        Collections.sort(events2, Comparator.comparing(TMLEvent::getName));
+
+        boolean test;
+
+        for (int i = 0; i < events1.size(); i++) {
+            test =  events1.get(i).equalSpec(events2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+}
diff --git a/src/main/java/tmltranslator/TMLDelay.java b/src/main/java/tmltranslator/TMLDelay.java
index 92e73b5f7c62a4fdeb73aab3450437459e0ab95d..06d6a781fd545a94384964a55964a3602c412b28 100755
--- a/src/main/java/tmltranslator/TMLDelay.java
+++ b/src/main/java/tmltranslator/TMLDelay.java
@@ -42,6 +42,7 @@
 package tmltranslator;
 
 
+import java.util.Objects;
 
 /**
  * Class TMLDelay
@@ -91,5 +92,13 @@ public class TMLDelay extends TMLActivityElementWithIntervalAction {
 		}
 		return "";
 	}
+
+	public boolean equalSpec(Object o) {
+    	if (! (o instanceof TMLDelay)) return false;
+		if (!super.equalSpec(o)) return false;
+
+		TMLDelay tmlDelay = (TMLDelay) o;
+		return Objects.equals(timeUnit,tmlDelay.getUnit());
+	}
     
 }
\ No newline at end of file
diff --git a/src/main/java/tmltranslator/TMLElement.java b/src/main/java/tmltranslator/TMLElement.java
index a452ba725a48b3ba5109bf253ec7f7f65d2781ff..ca6a0c60ea17a50ee5adc1a0f475fb25f097efab 100755
--- a/src/main/java/tmltranslator/TMLElement.java
+++ b/src/main/java/tmltranslator/TMLElement.java
@@ -42,6 +42,7 @@
 package tmltranslator;
 
 
+import java.util.*;
 
 /**
  * Class TMLElement
@@ -92,4 +93,12 @@ public class TMLElement extends DIPLOElement {
 	public void setReferenceObject( Object _referenceObject )	{
 		this.referenceObject = _referenceObject;
 	}
+
+	public boolean equalSpec(Object o) {
+		if (this == o) return true;
+		if (o == null || getClass() != o.getClass()) return false;
+		TMLElement that = (TMLElement) o;
+		return Objects.equals(name,that.getName());
+	}
+
 }
diff --git a/src/main/java/tmltranslator/TMLEvent.java b/src/main/java/tmltranslator/TMLEvent.java
index 42c2b068ea001dbea4d0ca65013fc31029f20b87..49ff30cb65abbc605e508c103511b87a816ea5b4 100755
--- a/src/main/java/tmltranslator/TMLEvent.java
+++ b/src/main/java/tmltranslator/TMLEvent.java
@@ -43,9 +43,8 @@ package tmltranslator;
 
 import ui.tmlcompd.TMLCPrimitivePort;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Vector;
+import java.util.*;
+
 import myutil.*;
 
 /**
@@ -339,4 +338,41 @@ public class TMLEvent extends TMLCommunicationElement {
 	return s;
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLEvent)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLEvent event = (TMLEvent) o;
+
+        TMLComparingMethod comp = new TMLComparingMethod();
+
+        if (originPort != null) {
+            if (!originPort.equalSpec(event.getOriginPort()))
+                return false;
+        }
+
+        if (destinationPort != null) {
+            if (!destinationPort.equalSpec(event.getDestinationPort())) return false;
+        }
+
+        if (origin != null) {
+            if (!origin.equalSpec(event.getOriginTask()))
+                return false;
+        }
+
+        if (destination != null) {
+            if (!destination.equalSpec(event.getDestinationTask())) return false;
+        }
+        if(!(new HashSet<>(params).equals(new HashSet<>(event.params))))
+            return false;
+        return maxEvt == event.maxEvt &&
+                isBlocking == event.isBlocking &&
+                checkAuth == event.checkAuth &&
+                checkConf == event.checkConf &&
+                canBeNotified == event.canBeNotified() &&
+                comp.isTasksListEquals(originTasks, event.getOriginTasks()) &&
+                comp.isTasksListEquals(destinationTasks, event.getDestinationTasks()) &&
+                comp.isPortListEquals(originPorts, event.getOriginPorts()) &&
+                comp.isPortListEquals(destinationPorts, event.getDestinationPorts());
+    }
+
 }
diff --git a/src/main/java/tmltranslator/TMLForLoop.java b/src/main/java/tmltranslator/TMLForLoop.java
index 523e0396ff8fc58c4768a7fcdc48a0d32fb2e722..e7c91341d0cdb7e522dcd74c57124ae755a656a2 100755
--- a/src/main/java/tmltranslator/TMLForLoop.java
+++ b/src/main/java/tmltranslator/TMLForLoop.java
@@ -43,6 +43,8 @@ package tmltranslator;
 
 import myutil.*;
 
+import java.util.Objects;
+
 /**
  * Class TMLForLoop
  * Creation: 23/11/2005
@@ -80,6 +82,14 @@ public class TMLForLoop extends TMLActivityElement {
     public String customExtraToXML() {
 	    return " init=\"" + Conversion.transformToXMLString(init) + "\" condition=\"" + Conversion.transformToXMLString(condition) + "\" increment=\"" + Conversion.transformToXMLString(increment) + "\" isInfinite=\"" + isInfinite + "\" ";
     }
-    
- 
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLForLoop)) return false;
+        if(!super.equalSpec(o)) return false;
+        TMLForLoop tmlForLoop = (TMLForLoop) o;
+        return Objects.equals(init, tmlForLoop.getInit()) &&
+                Objects.equals(condition, tmlForLoop.getCondition()) &&
+                Objects.equals(increment, tmlForLoop.getIncrement()) &&
+                isInfinite == tmlForLoop.isInfinite();
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLMapping.java b/src/main/java/tmltranslator/TMLMapping.java
index 2b427cc4374ff9099c7a339f61c8f128be6020be..6ea95a7acf75f5549c69e897a6ce8f0026028bcb 100755
--- a/src/main/java/tmltranslator/TMLMapping.java
+++ b/src/main/java/tmltranslator/TMLMapping.java
@@ -52,6 +52,7 @@ import tmltranslator.toproverif.TML2ProVerif;
 import ui.CorrespondanceTGElement;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * Class TMLMapping
@@ -530,7 +531,7 @@ public class TMLMapping<E> {
     }
 
     public List<HwCommunicationNode> getCommunicationNodes() {
-        return oncommnodes;
+        return this.oncommnodes;
     }
 
     public List<TMLElement> getMappedCommunicationElement() {
@@ -581,16 +582,33 @@ public class TMLMapping<E> {
     }
 
     public int getNbOfMemoriesOfChannel(TMLChannel _ch) {
+        int n = 0;
         int cpt = 0;
         for (TMLElement elt : mappedcommelts) {
             if (elt == _ch) {
                 HwCommunicationNode node = oncommnodes.get(cpt);
                 if (node instanceof HwMemory) {
-                    cpt++;
+                    n++;
                 }
             }
+            cpt++;
         }
-        return cpt;
+        return n;
+    }
+
+    public String getStringOfMemoriesOfChannel(TMLChannel _ch) {
+        String ret = "";
+        int cpt = 0;
+        for (TMLElement elt : mappedcommelts) {
+            if (elt == _ch) {
+                HwCommunicationNode node = oncommnodes.get(cpt);
+                if (node instanceof HwMemory) {
+                   ret += node.getName() + " ; ";
+                }
+            }
+            cpt ++;
+        }
+        return ret;
     }
 
     public TMLElement getCommunicationElementByName(String _name) {
@@ -1831,4 +1849,47 @@ public class TMLMapping<E> {
         }
         return cpt;
     }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof  TMLMapping)) return false;
+        TMLMapping<?> that = (TMLMapping<?>) o;
+        TMLComparingMethod comp = new TMLComparingMethod();
+
+        if(!comp.isOncommondesListEquals(oncommnodes, that.getCommunicationNodes()))
+            return false;
+
+        if(!comp.isMappedcommeltsListEquals(mappedcommelts, that.getMappedCommunicationElement()))
+            return false;
+
+        if(!comp.isTasksListEquals(mappedtasks, that.getMappedTasks()))
+            return false;
+
+        if(!comp.isOnExecutionNodeListEquals(onnodes, that.getNodes()))
+            return false;
+
+        if(!comp.isListOfStringArrayEquals(pragmas, that.getPragmas()))
+            return false;
+
+        if(!comp.isSecurityPatternMapEquals(mappedSecurity, that.mappedSecurity))
+            return false;
+
+        return tmlm.equalSpec(that.tmlm) &&
+                tmla.equalSpec(that.tmla) &&
+                firewall == that.firewall;
+    }
+
+
+    public void remap(HwExecutionNode src, HwExecutionNode dst) {
+        int cpt = 0;
+        for(int i=0; i<onnodes.size(); i++) {
+            HwExecutionNode node = onnodes.get(i);
+            if (node == src) {
+                TMLTask task = mappedtasks.get(i);
+                onnodes.remove(i);
+                mappedtasks.remove(i);
+                addTaskToHwExecutionNode(task, dst);
+                return;
+            }
+        }
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLModeling.java b/src/main/java/tmltranslator/TMLModeling.java
index d7f676ac1eef29adb393941caf353442f6de3b47..e1262251e4e0f8ad1de4e8d6388456a5caa98c7f 100755
--- a/src/main/java/tmltranslator/TMLModeling.java
+++ b/src/main/java/tmltranslator/TMLModeling.java
@@ -65,7 +65,7 @@ import java.util.*;
  * @version 1.0 21/11/2005
  * @author Ludovic APVRILLE
  */
-public class TMLModeling<E> {
+public class  TMLModeling<E> {
     public final String SEP1 = "_S_";
 
     private List<TMLTask> tasks;
@@ -2731,5 +2731,173 @@ public class TMLModeling<E> {
 	s += "</TMLMODELING>\n";
 	return s;
     }
-    
+
+    public boolean equalSpec(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        TMLModeling<?> that = (TMLModeling<?>) o;
+
+        if(!isTaskListEquals(tasks, that.tasks))
+            return false;
+
+        if(!isRequestListEquals(requests, that.requests))
+            return false;
+
+        if(!isEventListEquals(events, that.events))
+            return false;
+
+        if(!isChannelListEquals(channels, that.channels))
+            return false;
+
+        if(!isSecurityPatternListEquals(secPatterns, that.secPatterns))
+            return false;
+
+        return (new HashSet<>(securityPatterns).equals(new HashSet<>(that.securityPatterns)));
+    }
+
+
+    public  boolean isTaskListEquals(List<TMLTask> list1, List<TMLTask> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(TMLTask::getName));
+        Collections.sort(list2, Comparator.comparing(TMLTask::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public  boolean isRequestListEquals(List<TMLRequest> list1, List<TMLRequest> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(TMLRequest::getName));
+        Collections.sort(list2, Comparator.comparing(TMLRequest::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+
+    public  boolean isChannelListEquals(List<TMLChannel> list1, List<TMLChannel> list2){
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if(list1 == null || list2 == null) {
+            return false;
+        }
+        else if(list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(TMLChannel::getName));
+        Collections.sort(list2, Comparator.comparing(TMLChannel::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test =  list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public  boolean isEventListEquals(List<TMLEvent> list1, List<TMLEvent> list2) {
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if (list1 == null || list2 == null) {
+            return false;
+        } else if (list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(TMLEvent::getName));
+        Collections.sort(list2, Comparator.comparing(TMLEvent::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test = list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
+    public boolean isSecurityPatternListEquals(List<SecurityPattern> list1, List<SecurityPattern> list2) {
+        if (list1 == null && list2 == null) {
+            return true;
+        }
+        //Only one of them is null
+        else if (list1 == null || list2 == null) {
+            return false;
+        } else if (list1.size() != list2.size()) {
+            return false;
+        }
+
+        //copying to avoid rearranging original lists
+        list1 = new ArrayList<>(list1);
+        list2 = new ArrayList<>(list2);
+
+        Collections.sort(list1, Comparator.comparing(SecurityPattern::getName));
+        Collections.sort(list2, Comparator.comparing(SecurityPattern::getName));
+
+        boolean test;
+
+        for (int i = 0; i < list1.size(); i++) {
+            test = list1.get(i).equalSpec(list2.get(i));
+            if (!test) return false;
+        }
+
+        return true;
+    }
+
 }
diff --git a/src/main/java/tmltranslator/TMLPort.java b/src/main/java/tmltranslator/TMLPort.java
index f9ae0ae39472b344fa8b7153c68cb56195266df2..40bd149120d131c30b06c76366f5e83904b77452 100755
--- a/src/main/java/tmltranslator/TMLPort.java
+++ b/src/main/java/tmltranslator/TMLPort.java
@@ -52,6 +52,8 @@ package tmltranslator;
 
 import ui.tmlcompd.TMLCPrimitivePort;
 
+import java.util.Objects;
+
 
 public class TMLPort extends TMLElement {
 
@@ -99,4 +101,19 @@ public class TMLPort extends TMLElement {
     public String getDataFlowType() {
         return dataFlowType;
     }
+
+    public void setDataFlowType (String _dataFlowType) {
+        dataFlowType = _dataFlowType;
+    }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLPort)) return false;
+        if (!super.equalSpec(o)) return false;
+
+        TMLPort tmlPort = (TMLPort) o;
+        return prex == tmlPort.isPrex() &&
+                postex == tmlPort.isPostex() &&
+                Objects.equals(associatedEvent, tmlPort.getAssociatedEvent()) &&
+                Objects.equals(dataFlowType, tmlPort.getDataFlowType());
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLRandom.java b/src/main/java/tmltranslator/TMLRandom.java
index 1e24be76e7e657295d3c10082b976b79575aa804..434d4c5719d1156bdc712fe94f7afa3665993fed 100755
--- a/src/main/java/tmltranslator/TMLRandom.java
+++ b/src/main/java/tmltranslator/TMLRandom.java
@@ -42,6 +42,8 @@
 package tmltranslator;
 
 
+import java.util.Objects;
+
 /**
  * Class TMLRandom
  * Creation: 10/06/2008
@@ -72,5 +74,15 @@ public class TMLRandom extends TMLActivityElement {
 	return " politics=\"" + functionId + "\" variable=\"" + variable + "\" minValue=\"" + minValue + "\" maxValue=\"" + maxValue + "\" ";
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLRandom)) return false;
+        if (!super.equalSpec(o)) return false;
+
+        TMLRandom tmlRandom = (TMLRandom) o;
+        return Objects.equals(variable, tmlRandom.getVariable()) &&
+                Objects.equals(minValue, tmlRandom.getMinValue()) &&
+                Objects.equals(maxValue, tmlRandom.getMaxValue()) &&
+                functionId == tmlRandom.getFunctionId();
+    }
 
 }
diff --git a/src/main/java/tmltranslator/TMLRandomSequence.java b/src/main/java/tmltranslator/TMLRandomSequence.java
index 0711095eea15f5140adbea2933494beb844c3cd8..7a8435a279c6933d010dba91d058625305d1701d 100755
--- a/src/main/java/tmltranslator/TMLRandomSequence.java
+++ b/src/main/java/tmltranslator/TMLRandomSequence.java
@@ -39,6 +39,7 @@
 
 package tmltranslator;
 
+import java.util.HashSet;
 import java.util.Vector;
 
 
@@ -100,4 +101,16 @@ public class TMLRandomSequence extends TMLActivityElement {
     public String customExtraToXML() {
         return "";
     }
+
+    public Vector<Integer> getIndexes() {
+        return indexes;
+    }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLRandomSequence)) return false;
+        if (!super.equalSpec(o)) return false;
+
+        TMLRandomSequence tmlRS = (TMLRandomSequence) o;
+        return (new HashSet<>(indexes)).equals(new HashSet<>(tmlRS.getIndexes()));
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLRequest.java b/src/main/java/tmltranslator/TMLRequest.java
index 799d03fdd22c9c9afa8716db9d1c1671ad5d7d32..c88c27191af93740f0b57a9539b1cbb02c27bc1d 100755
--- a/src/main/java/tmltranslator/TMLRequest.java
+++ b/src/main/java/tmltranslator/TMLRequest.java
@@ -41,11 +41,10 @@
 
 package tmltranslator;
 
+import cli.TML;
 import ui.tmlcompd.TMLCPrimitivePort;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Vector;
+import java.util.*;
 
 /**
  * Class TMLRequest
@@ -172,4 +171,26 @@ public class TMLRequest extends TMLCommunicationElement {
         s += "</TMLREQUEST>\n";
 	return s;
     }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLRequest)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLRequest request = (TMLRequest) o;
+        TMLComparingMethod comp = new TMLComparingMethod();
+
+        if (destinationTask != null) {
+            if (!destinationTask.equalSpec(request.getDestinationTask())) return false;
+        }
+
+        if(!(new HashSet<>(params).equals(new HashSet<>(request.params))))
+            return false;
+
+        if(!(new HashSet<>(paramNames).equals(new HashSet<>(request.paramNames))))
+            return false;
+
+        return confStatus == request.confStatus &&
+                checkConf == request.checkConf &&
+                checkAuth == request.checkAuth &&
+                comp.isTasksListEquals(originTasks, request.getOriginTasks());
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLSendRequest.java b/src/main/java/tmltranslator/TMLSendRequest.java
index 773be7c7ea1c84ec74bd261d0253153021fb5c3d..3dddc50953a388b1b9332ea5d22bd63177cb6435 100755
--- a/src/main/java/tmltranslator/TMLSendRequest.java
+++ b/src/main/java/tmltranslator/TMLSendRequest.java
@@ -41,6 +41,7 @@
 
 package tmltranslator;
 
+import java.util.HashSet;
 import java.util.Vector;
 
 
@@ -112,4 +113,16 @@ public class TMLSendRequest extends TMLActivityElement  {
 	return " request=\"" + request.getName() +  "\" params=\"" + getAllParams() + "\" ";
     }
 
+    public Vector<String> getDatas() {
+        return datas;
+    }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLSendRequest)) return false;
+        if (!super.equalSpec(o)) return false;
+
+        TMLSendRequest tmlSendRequest = (TMLSendRequest) o;
+        return (new HashSet<>(datas)).equals(new HashSet<>(tmlSendRequest.getDatas()));
+    }
+
 }
diff --git a/src/main/java/tmltranslator/TMLSequence.java b/src/main/java/tmltranslator/TMLSequence.java
index 01e84e71d84ea7720f404d51379c263422f3f762..7331bf639f500e414d703993e7c7e9f6ead90930 100755
--- a/src/main/java/tmltranslator/TMLSequence.java
+++ b/src/main/java/tmltranslator/TMLSequence.java
@@ -39,6 +39,7 @@
 
 package tmltranslator;
 
+import java.util.HashSet;
 import java.util.Vector;
 
 
@@ -95,4 +96,16 @@ public class TMLSequence extends TMLActivityElement {
     public String customExtraToXML() {
         return "";
     }
+
+    public Vector<Integer> getIndexes () {
+        return indexes;
+    }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLSequence)) return false;
+        if (!super.equalSpec(o)) return false;
+
+        TMLSequence tmlSequence = (TMLSequence) o;
+        return (new HashSet<>(indexes)).equals(new HashSet<>(tmlSequence.getIndexes()));
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLSyntaxChecking.java b/src/main/java/tmltranslator/TMLSyntaxChecking.java
index 14c761a3cb90de4641d63250f5fe1954da0586a9..4a24879478ea583620a2a3eb8d313fd0dadfd392 100755
--- a/src/main/java/tmltranslator/TMLSyntaxChecking.java
+++ b/src/main/java/tmltranslator/TMLSyntaxChecking.java
@@ -792,7 +792,8 @@ public class TMLSyntaxChecking {
             int n = mapping.getNbOfMemoriesOfChannel(ch);
             if (n > 1) {
                 // Too many memories
-                addError(null, null, TOO_MANY_MEMORIES + ": " + ch.getName(), TMLError.ERROR_STRUCTURE);
+                String s = mapping.getStringOfMemoriesOfChannel(ch);
+                addError(null, null, TOO_MANY_MEMORIES + ": " + ch.getName() + " mapped in " + s, TMLError.ERROR_STRUCTURE);
             }
         }
     }
diff --git a/src/main/java/tmltranslator/TMLTask.java b/src/main/java/tmltranslator/TMLTask.java
index 91e9da04a869ba0cac7ea049a5c4ec3dad86b535..9716ff75a3ab7cc72bdd8a418ec9af894cad20d9 100755
--- a/src/main/java/tmltranslator/TMLTask.java
+++ b/src/main/java/tmltranslator/TMLTask.java
@@ -465,4 +465,50 @@ public class TMLTask extends TMLElement {
         return activity.getWorstCaseIComplexity();
     }
 
+    public Set<TMLChannel> getChannelSet() {
+        return channelsList;
+    }
+
+    public Set<TMLChannel> getReadTMLChannelSet() {
+        return readTMLChannelsList;
+    }
+
+    public Set<TMLChannel> getWriteTMLChannelSet() {
+        return writeTMLChannelsList;
+    }
+
+    public Set<TMLEvent> getEventSet() {
+        return eventsList;
+    }
+
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof TMLTask)) return false;
+        if (!super.equalSpec(o)) return false;
+        TMLTask tmlTask = (TMLTask) o;
+        TMLComparingMethod comp = new TMLComparingMethod();
+        if (request != null) {
+            if (!request.equalSpec(tmlTask.getRequest())) return false;
+        } else {
+            if (tmlTask.getRequest() != null) return false;
+        }
+
+        if(!(new HashSet<>(attributes).equals(new HashSet<>(tmlTask.attributes))))
+            return false;
+        return operationType == tmlTask.operationType &&
+                isDaemon == tmlTask.isDaemon &&
+                isRequested == tmlTask.isRequested() &&
+                isAttacker == tmlTask.isAttacker &&
+                priority == tmlTask.getPriority() &&
+                Objects.equals(operation, tmlTask.operation) &&
+                Objects.equals(operationMEC, tmlTask.operationMEC) &&
+                mustExit == tmlTask.exits() &&
+                activity.equalSpec(tmlTask.activity) &&
+                comp.isTMLChannelSetEquals(channelsList, tmlTask.getChannelSet()) &&
+                comp.isTMLChannelSetEquals(readTMLChannelsList, tmlTask.getReadTMLChannelSet()) &&
+                comp.isTMLChannelSetEquals(writeTMLChannelsList, tmlTask.getWriteTMLChannelSet()) &&
+                comp.isTMLEventSetEquals(eventsList, tmlTask.getEventSet());
+    }
+
+
+
 }
diff --git a/src/main/java/tmltranslator/modelcompiler/ArchUnitMEC.java b/src/main/java/tmltranslator/modelcompiler/ArchUnitMEC.java
index c85b583164d43ed7249df34f3023f85b735b7b74..e7b45126cfa661de3d3d243822eec94a4a648466 100644
--- a/src/main/java/tmltranslator/modelcompiler/ArchUnitMEC.java
+++ b/src/main/java/tmltranslator/modelcompiler/ArchUnitMEC.java
@@ -40,6 +40,7 @@
 package tmltranslator.modelcompiler;
 
 import java.util.Arrays;
+import java.util.Objects;
 import java.util.Vector;
 
 /**
@@ -98,4 +99,13 @@ public abstract class ArchUnitMEC       {
 	return stringTypesArr[index];
     }
 
+    public boolean equalSpec(Object o) {
+        if (!(o instanceof ArchUnitMEC)) return false;
+        ArchUnitMEC that = (ArchUnitMEC) o;
+        return index == that.getIndex() &&
+                Objects.equals(initCtxRoutine, that.getCtxInitCode()) &&
+                Objects.equals(ctxCleanupRoutine, that.getCtxCleanupCode()) &&
+                Objects.equals(localMemoryPointer, getLocalMemoryPointer());
+    }
+
 }       //End of class
diff --git a/src/main/java/tmltranslator/tmlcp/TMLCPForLoop.java b/src/main/java/tmltranslator/tmlcp/TMLCPForLoop.java
index bc098d61031341e28a0b88761a11230fb04f1f68..c9939c8fd6c44c25f5980e19aefffc8444397539 100755
--- a/src/main/java/tmltranslator/tmlcp/TMLCPForLoop.java
+++ b/src/main/java/tmltranslator/tmlcp/TMLCPForLoop.java
@@ -75,6 +75,6 @@ public class TMLCPForLoop extends TMLCPElement {
     public boolean isInfinite() {
 	return isInfinite;
 	}*/
-    
+
  
 }
diff --git a/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java b/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
index 720ad5ac6fa7cd5f25a636d30415b6c99ddfca8f..a209cc411021199ba315cd0b32dd19dad8bd5488 100644
--- a/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
+++ b/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
@@ -123,8 +123,8 @@ public class MappedSystemCTask {
             long sizeh = new File(path + reference + DOTH).length();
             long sizecpp = new File(path + reference + DOTCPP).length();
 
-            TraceManager.addDev("Computing length of " + path + reference + DOTH + ": " + sizeh);
-            TraceManager.addDev("Computing length of " + path + reference + DOTCPP + ": " + sizeh);
+            //TraceManager.addDev("Computing length of " + path + reference + DOTH + ": " + sizeh);
+            //TraceManager.addDev("Computing length of " + path + reference + DOTCPP + ": " + sizeh);
 
 
             if (sizeh == getHCode().length()) {
diff --git a/src/main/java/tmltranslator/tonetwork/TMAP2Network.java b/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
index 3025ff03b39e0a5e70dbc0b68913d8f3206e0ff9..b44f5d002fac4194815a56b1ddd047b2a44bbde5 100644
--- a/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
+++ b/src/main/java/tmltranslator/tonetwork/TMAP2Network.java
@@ -237,6 +237,7 @@ public class TMAP2Network<E>  {
                 //newList.add(node);
 
                 HwBus bus = new HwBus(node.getName() + "__bus");
+                bus.arbitration = HwBus.PRIORITY_BASED;
                 HwMemory mem = new HwMemory(node.getName() + "__mem");
                 newList.add(bus);
                 newList.add(mem);
diff --git a/src/main/java/tmltranslator/tonetwork/TaskNetworkInterface.java b/src/main/java/tmltranslator/tonetwork/TaskNetworkInterface.java
index 364a8e67183bf9524721ffde776840e60d2b4272..ceaf82058cb915fe8ef065dc7dfca85b59f6fe09 100644
--- a/src/main/java/tmltranslator/tonetwork/TaskNetworkInterface.java
+++ b/src/main/java/tmltranslator/tonetwork/TaskNetworkInterface.java
@@ -144,13 +144,15 @@ public class TaskNetworkInterface extends TMLTask {
         state.setAction("loopExit = 2");
         addElement(loop, state);
 
-        TMLExecI execI = new TMLExecI("ExecI", referenceObject);
-        execI.setAction("1");
-        addElement(state, execI);
+        //TMLExecI execI = new TMLExecI("ExecI", referenceObject);
+        //execI.setAction("1");
+        //addElement(state, execI);
 
 
         TMLSequence mainSequence = new TMLSequence("mainSequence", referenceObject);
-        addElement(execI, mainSequence);
+        //addElement(execI, mainSequence);
+        addElement(state, mainSequence);
+
 
         for(i=0; i<nbOfVCs; i++) {
             TMLChoice testOnLoopExit = null;
diff --git a/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java b/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
index 89a22374f61b967cd9f72da94c64fc110ff5ebb2..4eaa98e2062a4891d9f533674cff2eeeb500f82d 100644
--- a/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
+++ b/src/main/java/tmltranslator/tonetwork/TranslatedRouter.java
@@ -830,6 +830,16 @@ public class TranslatedRouter<E> {
                         tmlmap.addCommToHwCommNode(newChannel, mem);
                     }
 
+                    HwBus bus =  tmlmap.getTMLArchitecture().getHwBusByName(myHwExecutionNode.getName() + "__bus");
+                    if (bus != null) {
+                        //tmlmap.addCommToHwCommNode(newChannel, bus);
+                        /*if (mem != null) {
+                            HwLink link = new HwLink(myHwExecutionNode.getName() + "__linkFromMemOri");
+                            tmlmap.getTMLArchitecture().addHwLink(link);
+                            link.setNodes(bus, mem);
+                        }*/
+                    }
+
                     // Must now modify the source app
                     TMLAttribute pktlen = new TMLAttribute("pktlen", "pktlen", new TMLType(TMLType.NATURAL), "0");
                     t.addAttributeIfApplicable(pktlen);
@@ -946,6 +956,16 @@ public class TranslatedRouter<E> {
                         tmlmap.addCommToHwCommNode(newChannel, mem);
                     }
 
+                    HwBus bus =  tmlmap.getTMLArchitecture().getHwBusByName(myHwExecutionNode.getName() + "__bus");
+                    if (bus != null) {
+                        tmlmap.addCommToHwCommNode(newChannel, bus);
+                        /*if (mem != null) {
+                            HwLink link = new HwLink(myHwExecutionNode.getName() + "__linkFromMemDest");
+                            tmlmap.getTMLArchitecture().addHwLink(link);
+                            link.setNodes(bus, mem);
+                        }*/
+                    }
+
                     // Must now modify the source app
                     TMLAttribute pktlen = new TMLAttribute("pktlen", "pktlen", new TMLType(TMLType.NATURAL), "0");
                     t.addAttributeIfApplicable(pktlen);
@@ -1002,7 +1022,36 @@ public class TranslatedRouter<E> {
 
 
     public void postProcessing() {
+        TraceManager.addDev("Post processing of  " + myHwExecutionNode.getName());
+        TMLArchitecture arch = tmlmap.getTMLArchitecture();
+
+        // Split multicores in mono cores
+        if (myHwExecutionNode instanceof HwCPU) {
+            HwCPU myCPU = (HwCPU)myHwExecutionNode;
+
+            // add Mono-core CPUs
+            int cpt = 0;
+            while(myCPU.nbOfCores > 1) {
+                TraceManager.addDev("Removing core from " + myCPU.getName());
+                HwCPU newCPU = myCPU.clone();
+                newCPU.nbOfCores = 1;
+                myCPU.nbOfCores = myCPU.nbOfCores - 1;
+                newCPU.setName(myCPU.getName() + "__" + cpt);
+                HwBus bus = arch.getHwBusByName(myCPU.getName() + "__bus");
+                if (bus != null) {
+                    arch.addHwNode(newCPU);
+                    TraceManager.addDev("Bus found for " + myCPU.getName());
+                    HwLink link = new HwLink(myCPU.getName() + "__link" + cpt);
+                    arch.addHwLink(link);
+                    link.setNodes(bus, newCPU);
+                    cpt ++;
+
+                    tmlmap.remap(myCPU, newCPU);
+                    TraceManager.addDev("Remap done " + myCPU.getName());
+                }
+            }
 
+        }
 
 
     }
diff --git a/src/main/java/ui/avatarrd/AvatarRDRequirement.java b/src/main/java/ui/avatarrd/AvatarRDRequirement.java
index 366ce636240624543b92eddd1529412e882d1b82..2a8c4d218b40acc75e7fd15cf7351670086e8978 100755
--- a/src/main/java/ui/avatarrd/AvatarRDRequirement.java
+++ b/src/main/java/ui/avatarrd/AvatarRDRequirement.java
@@ -441,6 +441,7 @@ public class AvatarRDRequirement extends TGCScalableWithInternalComponent implem
                         newSizeForSon(null);
                     }
                     setValue(s);
+                    return true;
                 }
 
                 if (!(tdp.actionOnDoubleClick(this))) {
diff --git a/src/main/java/ui/util/DefaultText.java b/src/main/java/ui/util/DefaultText.java
index d2b4635446a74a470f51a716deeafc6adfd00675..91840c7090d8702f34a7e2b463c4f5dfab746dae 100755
--- a/src/main/java/ui/util/DefaultText.java
+++ b/src/main/java/ui/util/DefaultText.java
@@ -50,8 +50,8 @@ package ui.util;
  */
 public class DefaultText {
 
-    public static String BUILD = "13180";
-    public static String DATE = "2019/09/30 03:03:54 CET";
+    public static String BUILD = "13186";
+    public static String DATE = "2019/10/07 03:03:57 CET";
 
     public static StringBuffer sbAbout = makeAbout();
 
diff --git a/ttool/src/test/java/tmltranslator/TMLComparingMethodTest.java b/ttool/src/test/java/tmltranslator/TMLComparingMethodTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..31012a5617e814f5fd184a70e43c839337d0a91b
--- /dev/null
+++ b/ttool/src/test/java/tmltranslator/TMLComparingMethodTest.java
@@ -0,0 +1,1415 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ *
+ * ludovic.apvrille AT enst.fr
+ *
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ *
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ *
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ *
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ *
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ */
+
+
+package tmltranslator;
+
+import org.junit.Before;
+import org.junit.Test;
+import ui.AbstractUITest;
+
+import java.util.*;
+
+import static org.junit.Assert.*;
+
+
+/**
+ * class TMLComparingMethodTest
+ * This class consists of the methods for testing equalSpec() and comparing lists of Hardware nodes, activity elements, etc
+ * @version 1.0 27/09/2019
+ * @author Minh Hiep PHAM
+ */
+
+public class TMLComparingMethodTest extends AbstractUITest {
+
+    private TMLComparingMethod comparing;
+
+    private HwLink hwLink1, hwLink2, hwLink3;
+
+    private HwCPU hwCPU, cpu1, cpu2, cpu3, cpu4, cpu5, cpu6, cpu7, cpu8, cpu9, cpu10, cpu11, cpu12, cpu13, cpu14;
+    private HwA hwa, hwa1, hwa2, hwa3, hwa4, hwa5, hwa6;
+    private HwDMA hwDMA, dma1, dma2, dma3, dma4, dma5;
+    private HwMemory hwMemory, hwMemory2, hwMemory3, memory1, memory2, memory3, memory4, memory5, memory6;
+    private HwFPGA hwFPGA, fpga1, fpga2, fpga3, fpga4, fpga5, fpga6, fpga7, fpga8, fpga9, fpga10, fpga11, fpga12, fpga13;
+    private HwBus hwBus, bus1, bus2, bus3, bus4, bus5, bus6, bus7, bus8;
+    private HwBridge hwBridge, bridge1, bridge2, bridge3, bridge4;
+    private HwNoC hwNoC, noc1, noc2, noc3, noc4, noc5, noc6;
+
+    private List<HwNode> hwNodeList1, hwNodeList2, hwNodeList3, hwNodeList4, hwNodeList5, hwNodeList6;
+    private List<HwLink> hwLinkList1, hwLinkList2, hwLinkList3, hwLinkList4, hwLinkList5, hwLinkList6;
+    private List<HwExecutionNode> hwExecutionNodeList1, hwExecutionNodeList2, hwExecutionNodeList3, hwExecutionNodeList4, hwExecutionNodeList5,
+            hwExecutionNodeList6;
+    private List<HwCommunicationNode> hwCommunicationNodeList1, hwCommunicationNodeList2, hwCommunicationNodeList3, hwCommunicationNodeList4,
+            hwCommunicationNodeList5, hwCommunicationNodeList6;
+
+    private List<String[]> listOfStrArray1, listOfStrArray2, listOfStrArray3, listOfStrArray4, listOfStrArray5, listOfStrArray6;
+    private List<HwMemory> memoryList1, memoryList2, memoryList3, memoryList4, memoryList5, memoryList6;
+
+    private Map<SecurityPattern, List<HwMemory>> securityMap1, securityMap2, securityMap3, securityMap4, securityMap5, securityMap6;
+
+    private SecurityPattern securityPattern1, securityPattern2, securityPattern3, securityPattern4, securityPattern5, securityPattern6, secuPt1,
+    secuPt2, secuPt3, secuPt4, secuPt5, secuPt6, secuPt7, secuPt8, secuPt9, secuPt10, secuPt11, secuPt12;
+
+    private TMLElement tmlElement1, tmlElement2, tmlElement3;
+    private TMLActivity tmlActivity;
+    private List<TMLElement> tmlElementList1, tmlElementList2, tmlElementList3, tmlElementList4, tmlElementList5, tmlElementList6;
+
+    private TMLChannel channel1, channel2, channel3, channel4, tmlChannel, chl1, chl2, chl3, chl4, chl5, chl6, chl7, chl8, chl9, chl10, chl11,
+    chl12, chl13;
+    private TMLEvent event1, event2, event3, event4, tmlEvent, evt1, evt2, evt3, evt4, evt5, evt6, evt7, evt8, evt9;
+    private TMLRequest tmlRequest, request1, request2, request3, request4, request5, request6, request7, request8;
+    private TMLTask task1, task2, task3, tmlTask, tmlTask1, tmlTask2, tmlTask3, tmlTask4, tmlTask5, tmlTask6, tmlTask7, tmlTask8, tmlTask9,
+    tmlTask10;
+
+    private List<TMLTask> taskList1, taskList2, taskList3, taskList4, taskList5, taskList6;
+    private Set<TMLChannel> channelSet1, channelSet2, channelSet3, channelSet4, channelSet5, channelSet6;
+    private Set<TMLEvent> eventSet1, eventSet2, eventSet3, eventSet4, eventSet5, eventSet6;
+    private TMLPort port1, port2, port3, tmlPort, tmlP1, tmlP2, tmlP3, tmlP4, tmlP5, tmlP6;
+    private List<TMLPort> portList1, portList2, portList3, portList4, portList5, portList6;
+
+    // For testing list of activity elements
+    private TMLActionState tmlActionState;
+    private TMLExecC tmlExecC;
+    private TMLExecI tmlExecI;
+
+    private TMLReadChannel tmlReadChannel;
+    private TMLWriteChannel tmlWriteChannel;
+
+    private TMLNotifiedEvent tmlNotifiedEvent;
+    private TMLSendEvent tmlSendEvent;
+    private TMLWaitEvent tmlWaitEvent;
+
+    private TMLDelay tmlDelay;
+    private TMLExecCInterval tmlExecCInterval;
+    private TMLExecIInterval tmlExecIInterval;
+
+    private TMLForLoop tmlForLoop;
+    private TMLJunction tmlJunction;
+    private TMLRandom tmlRandom;
+    private TMLRandomSequence tmlRandomSequence;
+    private TMLSelectEvt tmlSelectEvt;
+    private TMLSendRequest tmlSendRequest;
+    private TMLSequence tmlSequence;
+    private TMLStartState tmlStartState;
+    private TMLStopState tmlStopState;
+    private TMLChoice tmlChoice;
+
+    private List<TMLActivityElement> tmlActEltList1, tmlActEltList2, tmlActEltList3, tmlActEltList4, tmlActEltList5, tmlActEltList6;
+
+
+
+    public TMLComparingMethodTest() {
+        super();
+        comparing = new TMLComparingMethod();
+    }
+
+
+    @Before
+    public void setUp() {
+        hwCPU = new HwCPU("CPU0");
+        hwa = new HwA("HWA0");
+        hwDMA = new HwDMA("DMA0");
+        hwMemory =  new HwMemory("Memory0");
+        hwMemory2 = new HwMemory("memory2");
+        hwMemory3 = new HwMemory("memory3");
+        hwFPGA = new HwFPGA("FPGA0");
+        hwBus = new HwBus("Bus0");
+        hwBridge = new HwBridge("Bridge0");
+        hwNoC = new HwNoC("NoC0");
+        hwNoC.placementMap = hwNoC.makePlacementMap("CPU0",2);
+
+        hwLink1 = new HwLink("link_Bridge0_to_Bus0");
+        hwLink1.setNodes(hwBus,hwBridge);
+        hwLink2 = new HwLink("link_CPU0_to_Bus0");
+        hwLink2.setNodes(hwBus,hwCPU);
+        hwLink3 = new HwLink("link_DMA0_to_Bus0");
+        hwLink3.setNodes(hwBus,hwDMA);
+
+        hwLinkList1 = new ArrayList<>();
+        hwLinkList2 = new ArrayList<>();
+        hwLinkList3 = new ArrayList<>();
+        hwLinkList4 = new ArrayList<>();
+        hwLinkList5 = new ArrayList<>();
+        hwLinkList6 = new ArrayList<>();
+
+        hwNodeList1 = new ArrayList<>();
+        hwNodeList2 = new ArrayList<>();
+        hwNodeList3 = new ArrayList<>();
+        hwNodeList4 = new ArrayList<>();
+        hwNodeList5 = new ArrayList<>();
+        hwNodeList6 = new ArrayList<>();
+
+        hwExecutionNodeList1 = new ArrayList<>();
+        hwExecutionNodeList2 = new ArrayList<>();
+        hwExecutionNodeList3 = new ArrayList<>();
+        hwExecutionNodeList4 = new ArrayList<>();
+        hwExecutionNodeList5 = new ArrayList<>();
+        hwExecutionNodeList6 = new ArrayList<>();
+
+        hwCommunicationNodeList1 = new ArrayList<>();
+        hwCommunicationNodeList2 = new ArrayList<>();
+        hwCommunicationNodeList3 = new ArrayList<>();
+        hwCommunicationNodeList4 = new ArrayList<>();
+        hwCommunicationNodeList5 = new ArrayList<>();
+        hwCommunicationNodeList6 = new ArrayList<>();
+
+        listOfStrArray1 = new ArrayList<>();
+        listOfStrArray2 = new ArrayList<>();
+        listOfStrArray3 = new ArrayList<>();
+        listOfStrArray4 = new ArrayList<>();
+        listOfStrArray5 = new ArrayList<>();
+        listOfStrArray6 = new ArrayList<>();
+
+        memoryList1 = new ArrayList<>();
+        memoryList2 = new ArrayList<>();
+        memoryList3 = new ArrayList<>();
+        memoryList4 = new ArrayList<>();
+        memoryList5 = new ArrayList<>();
+        memoryList6 = new ArrayList<>();
+
+        securityMap1 = new HashMap<>();
+        securityMap2 = new HashMap<>();
+        securityMap3 = new HashMap<>();
+        securityMap4 = new HashMap<>();
+        securityMap5 = new HashMap<>();
+        securityMap6 = new HashMap<>();
+
+        securityPattern1 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "100", "100", "None", "formula1", "Key1");
+
+        securityPattern2 = new SecurityPattern("securityPattern2","Advanced","6","256",
+                "200", "200", "None", "formula2", "Key2");
+
+        securityPattern3 = new SecurityPattern("securityPattern3","MAC","7","512",
+                "300", "300", "None", "formula3", "Key3");
+
+        securityPattern4 = new SecurityPattern("securityPattern3","Hash","8","200",
+                "400", "400", "None", "formula4", "Key3");
+
+        securityPattern5 = new SecurityPattern("securityPattern3","Advanced","9","500",
+                "500", "500", "None", "formula5", "Key3");
+
+        securityPattern6 = new SecurityPattern("securityPattern3","Nonce","10","600",
+                "600", "600", "None", "formula6", "Key3");
+
+
+        tmlElement1 = new TMLElement("tmlElement1", null);
+        tmlElement2 = new TMLElement("tmlElement2", null);
+        tmlElement3 = new TMLElement("tmlElement3", null);
+
+        tmlElementList1 = new ArrayList<>();
+        tmlElementList2 = new ArrayList<>();
+        tmlElementList3 = new ArrayList<>();
+        tmlElementList4 = new ArrayList<>();
+        tmlElementList5 = new ArrayList<>();
+        tmlElementList6 = new ArrayList<>();
+
+
+        channel1 = new TMLChannel("channel1", null);
+        channel2 = new TMLChannel("channel2", null);
+        channel3 = new TMLChannel("channel3", null);
+        channel4 = new TMLChannel("channel4", null);
+
+        event1 = new TMLEvent("event1",null, 3, false);
+        event2 = new TMLEvent("event2",null, 4, true);
+        event3 = new TMLEvent("event3",null, 5, true);
+        event4 = new TMLEvent("event4",null, 6, true);
+
+        task1 = new TMLTask("task1", null, null);
+        task2 = new TMLTask("task2", null, null);
+        task3 = new TMLTask("task3", null, null);
+
+        port1 = new TMLPort("port1", null);
+        port2 = new TMLPort("port2", null);
+        port3 = new TMLPort("port3", null);
+
+        tmlActivity = new TMLActivity("tmlActivity", null);
+
+        tmlActionState =  new TMLActionState("tmlACtionState", null);
+        tmlExecC = new TMLExecC("tmlExecC", null);
+        tmlExecI = new TMLExecI("tmlExecI", null);
+        tmlReadChannel = new TMLReadChannel("tmlReadChannel", null);
+        tmlWriteChannel = new TMLWriteChannel("tmlWriteChannel", null);
+        tmlNotifiedEvent = new TMLNotifiedEvent("tmlNotifiedEvent", null);
+        tmlSendEvent = new TMLSendEvent("tmlSendEvent", null);
+        tmlWaitEvent = new TMLWaitEvent("tmlWaitEvent", null);
+        tmlDelay = new TMLDelay("tmlDelay", null);
+        tmlExecCInterval = new TMLExecCInterval("tmlExecCInterval", null);
+        tmlExecIInterval = new TMLExecIInterval("tmlExecIInterval", null);
+        tmlForLoop = new TMLForLoop("tmlForLoop", null);
+        tmlJunction = new TMLJunction("tmlJunction", null);
+        tmlRandom = new TMLRandom("tmlRandom", null);
+        tmlRandomSequence = new TMLRandomSequence("tmlRandomSequence", null);
+        tmlSelectEvt = new TMLSelectEvt("tmlSelectEvt", null);
+        tmlSendRequest = new TMLSendRequest("tmlSendRequest", null);
+        tmlSequence = new TMLSequence("tmlSequence", null);
+        tmlStartState = new TMLStartState("tmlStartState", null);
+        tmlStopState = new TMLStopState("tmlStopState", null);
+        tmlChoice = new TMLChoice("tmlChoice", null);
+
+
+
+        taskList1 = new ArrayList<>();
+        taskList2 = new ArrayList<>();
+        taskList3 = new ArrayList<>();
+        taskList4 = new ArrayList<>();
+        taskList5 = new ArrayList<>();
+        taskList6 = new ArrayList<>();
+
+        channelSet1 = new HashSet<>();
+        channelSet2 = new HashSet<>();
+        channelSet3 = new HashSet<>();
+        channelSet4 = new HashSet<>();
+        channelSet5 = new HashSet<>();
+        channelSet6 = new HashSet<>();
+
+        eventSet1 = new HashSet<>();
+        eventSet2 = new HashSet<>();
+        eventSet3 = new HashSet<>();
+        eventSet4 = new HashSet<>();
+        eventSet5 = new HashSet<>();
+        eventSet6 = new HashSet<>();
+
+        portList1 = new ArrayList<>();
+        portList2 = new ArrayList<>();
+        portList3 = new ArrayList<>();
+        portList4 = new ArrayList<>();
+        portList5 = new ArrayList<>();
+        portList6 = new ArrayList<>();
+
+        tmlActEltList1 = new ArrayList<>();
+        tmlActEltList2 = new ArrayList<>();
+        tmlActEltList3 = new ArrayList<>();
+        tmlActEltList4 = new ArrayList<>();
+        tmlActEltList5 = new ArrayList<>();
+        tmlActEltList6 = new ArrayList<>();
+
+
+
+        createHwNodeList();
+        createHwCommunicationNodeList();
+        createHwExecutionNodeList();
+        createListOfStringArray();
+        createHwMemoryList();
+        createHwLinkList();
+        createSecurityMap();
+        createTMLElementList();
+        createChannelSets();
+        createEventSets();
+        createdTaskLists();
+        createdPortLists();
+        createTMLActivityElementList();
+        createHwCPUsForTestingDifferenceConfig();
+        createHwAsForTestingDifferenceConfig();
+        createHwFPGAForTestingDifferenceConfig();
+        createHwBusForTestingDifferenceConfig();
+        createHwBridgeForTestingDifferenceConfig();
+        createHwDMAForTestingDifferenceConfig();
+        createHwMemoryForTestingDifferenceConfig();
+        createTMLChannelForTestingConfigs();
+        createTMLEventForTestingConfigs();
+        createTMLRequestForTestingConfigs();
+        createTMLPortForTestingConfigs();
+        createTMLTaskForTestingConfigs();
+        createSecurityPatternForTestingConfigs();
+        createHwNoCForTestingDifferenceConfig();
+
+
+    }
+
+    private void createSecurityPatternForTestingConfigs() {
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt1 = new SecurityPattern("securityPattern1","Advanced","5","128",
+                "100", "100", "None", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt2 = new SecurityPattern("securityPattern1","Symmetric Encryption","10","128",
+                "100", "100", "None", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt3 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","256",
+                "100", "100", "None", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt4 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "200", "100", "None", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt5 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "100", "300", "None", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt6 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "100", "100", "Yes", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt7 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "100", "100", "None", "formula2", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt8 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "100", "100", "None", "formula1", "Key2");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt9 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "100", "100", "None", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt10 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "100", "100", "None", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt11 = new SecurityPattern("DifferenceName","Symmetric Encryption","5","128",
+                "100", "100", "None", "formula1", "Key1");
+
+        // For testing method equalSpec() in class SecurityPattern
+        secuPt12 = new SecurityPattern("securityPattern1","Symmetric Encryption","5","128",
+                "100", "100", "None", "formula1", "Key1");
+
+        secuPt9.originTask = "OriginTask";
+        secuPt10.algorithm = "EDF";
+    }
+
+    private void createTMLTaskForTestingConfigs() {
+        tmlTask = new TMLTask("tmlTask", null, null);
+        tmlTask1 = new TMLTask("tmlTask", null, null);
+        tmlTask2 = new TMLTask("tmlTask", null, null);
+        tmlTask3 = new TMLTask("tmlTask", null, null);
+        tmlTask4 = new TMLTask("tmlTask", null, null);
+        tmlTask5 = new TMLTask("tmlTask", null, null);
+        tmlTask6 = new TMLTask("tmlTask", null, null);
+        tmlTask7 = new TMLTask("tmlTask", null, null);
+        tmlTask8 = new TMLTask("tmlTask", null, null);
+        tmlTask9 = new TMLTask("tmlTaskDiffName", null, null);
+        tmlTask10 = new TMLTask("tmlTask", null, null);
+
+        tmlTask1.setRequested(true);
+        tmlTask2.setExit(true);
+        tmlTask3.setPriority(10);
+        tmlTask4.addOperationType(2);
+        tmlTask5.addOperation("operation");
+        tmlTask6.setDaemon(true);
+        tmlTask7.addOperationMEC("operationMEC");
+        tmlTask8.setAttacker(true);
+    }
+    private void createTMLPortForTestingConfigs() {
+        tmlPort = new TMLPort("tmlPort", null);
+        tmlP1 = new TMLPort("tmlPort", null);
+        tmlP2 = new TMLPort("tmlPort", null);
+        tmlP3 = new TMLPort("tmlPort", null);
+        tmlP4 = new TMLPort("tmlPort", null);
+        tmlP5 = new TMLPort("tmlPortDiffName", null);
+        tmlP6 = new TMLPort("tmlPort", null);
+
+        tmlP1.setPostex(true);
+        tmlP2.setPrex(true);
+
+        tmlP3.setAssociatedEvent("associatedEvent");
+        tmlP4.setDataFlowType("String");
+    }
+
+    private void createTMLRequestForTestingConfigs() {
+        tmlRequest = new TMLRequest("tmlRequest", null);
+        request1 = new TMLRequest("tmlRequest", null);
+        request2 = new TMLRequest("tmlRequest", null);
+        request3 = new TMLRequest("tmlRequest", null);
+        request4 = new TMLRequest("tmlRequest", null);
+        request5 = new TMLRequest("tmlRequest", null);
+        request6 = new TMLRequest("tmlRequest", null);
+        request7 = new TMLRequest("tmlRequestDiffName", null);
+        request8 = new TMLRequest("tmlRequest", null);
+
+        request1.confStatus = 10;
+        request2.checkConf = true;
+        request3.checkAuth = true;
+
+        request4.configLossy(true, 0, 0); // For testing isLossy
+        request5.configLossy(false, 0, 20); // For testing  max number of loss
+        request6.configLossy(false, 10, 0); // For testing difference lossy percentage*/
+
+    }
+
+    private void createTMLEventForTestingConfigs() {
+        tmlEvent = new TMLEvent("tmlEvent", null, 10, false);
+        evt1 = new TMLEvent("tmlEvent", null, 5, false); // Test maxEvt
+        evt2 = new TMLEvent("tmlEvent", null, 10, true); // Test isBlocking
+        evt3 = new TMLEvent("tmlEvent", null, 10, false);
+        evt4 = new TMLEvent("tmlEvent", null, 10, false);
+        evt5 = new TMLEvent("tmlEvent", null, 10, false);
+        evt6= new TMLEvent("tmlEvent", null, 10, false);
+        evt7 = new TMLEvent("tmlEvent", null, 10, false);
+        evt8 = new TMLEvent("tmlEvent", null, 10, false);
+        evt9 = new TMLEvent("tmlEvent", null, 10, false);
+
+        evt3.setNotified(true); // For testing canBeNotified
+        evt4.checkAuth = true;
+        evt5.checkConf = true;
+
+        evt6.configLossy(true, 0, 0); // For testing isLossy
+        evt7.configLossy(false, 0, 20); // For testing  max number of loss
+        evt8.configLossy(false, 10, 0); // For testing difference lossy percentage*/
+    }
+
+    private void createTMLChannelForTestingConfigs() {
+        tmlChannel = new TMLChannel("Channel", null);
+        chl1 = new TMLChannel("Channel", null);
+        chl2 = new TMLChannel("Channel", null);
+        chl3 = new TMLChannel("Channel", null);
+        chl4 = new TMLChannel("Channel", null);
+        chl5 = new TMLChannel("Channel", null);
+        chl6 = new TMLChannel("Channel", null);
+        chl7 = new TMLChannel("Channel", null);
+        chl8 = new TMLChannel("Channel", null);
+        chl9 = new TMLChannel("Channel", null);
+        chl10 = new TMLChannel("Channel", null);
+        chl11 = new TMLChannel("Channel", null);
+        chl12 = new TMLChannel("Channel", null);
+        chl13 = new TMLChannel("ChannelDiffName", null);
+
+        chl1.checkConf = true; // For testing difference checkConf
+        chl2.checkAuth = true; // For testing difference checkAuth
+        chl3.setSize(100); // For testing difference size
+        chl4.setType(2); // For testing difference type
+        chl5.setMax(100); // For testing difference max number if samples
+        chl6.setNumberOfSamples(10); // For testing difference number of samples
+        chl7.setPriority(3); // For testing difference priority
+        chl8.setVC(3); //For testing difference vc
+        chl9.configLossy(true, 0, 0); // For testing isLossy
+        chl10.configLossy(false, 0, 20); // For testing  max number of loss
+        chl11.configLossy(false, 10, 0); // For testing difference lossy percentage*/
+
+    }
+
+    @Test
+    public void Test_ComparingTwoSecurityPattern() {
+        assertFalse(securityPattern1.equalSpec(secuPt1));
+        assertFalse(securityPattern1.equalSpec(secuPt2));
+        assertFalse(securityPattern1.equalSpec(secuPt3));
+        assertFalse(securityPattern1.equalSpec(secuPt4));
+        assertFalse(securityPattern1.equalSpec(secuPt5));
+        assertFalse(securityPattern1.equalSpec(secuPt6));
+        assertFalse(securityPattern1.equalSpec(secuPt7));
+        assertFalse(securityPattern1.equalSpec(secuPt8));
+        assertFalse(securityPattern1.equalSpec(secuPt9));
+        assertFalse(securityPattern1.equalSpec(secuPt10));
+        assertFalse(securityPattern1.equalSpec(secuPt11));
+        assertTrue(securityPattern1.equalSpec(secuPt12));
+    }
+
+    @Test
+    public void Test_ComparingTwosTMLTasks() {
+        assertFalse(tmlTask.equalSpec(tmlTask1));
+        assertFalse(tmlTask.equalSpec(tmlTask2));
+        assertFalse(tmlTask.equalSpec(tmlTask3));
+        assertFalse(tmlTask.equalSpec(tmlTask4));
+        assertFalse(tmlTask.equalSpec(tmlTask5));
+        assertFalse(tmlTask.equalSpec(tmlTask6));
+        assertFalse(tmlTask.equalSpec(tmlTask7));
+        assertFalse(tmlTask.equalSpec(tmlTask8));
+        assertFalse(tmlTask.equalSpec(tmlTask9));
+        assertTrue(tmlTask.equalSpec(tmlTask10));
+
+    }
+
+    @Test
+    public void Test_ComparingTwoTMLPorts() {
+        assertFalse(tmlPort.equalSpec(tmlP1));
+        assertFalse(tmlPort.equalSpec(tmlP2));
+        assertFalse(tmlPort.equalSpec(tmlP3));
+        assertFalse(tmlPort.equalSpec(tmlP4));
+        assertFalse(tmlPort.equalSpec(tmlP5));
+        assertTrue(tmlPort.equalSpec(tmlP6));
+    }
+
+    @Test
+    public void Test_ComparingTwoTMLRequests() {
+        assertFalse(tmlRequest.equalSpec(request1));
+        assertFalse(tmlRequest.equalSpec(request2));
+        assertFalse(tmlRequest.equalSpec(request3));
+        assertFalse(tmlRequest.equalSpec(request4));
+        assertFalse(tmlRequest.equalSpec(request5));
+        assertFalse(tmlRequest.equalSpec(request6));
+        assertFalse(tmlRequest.equalSpec(request7));
+        assertTrue(tmlRequest.equalSpec(request8));
+    }
+
+    @Test
+    public void Test_ComparingTwoTMLEvents() {
+        assertFalse(tmlEvent.equalSpec(evt1));
+        assertFalse(tmlEvent.equalSpec(evt2));
+        assertFalse(tmlEvent.equalSpec(evt3));
+        assertFalse(tmlEvent.equalSpec(evt4));
+        assertFalse(tmlEvent.equalSpec(evt5));
+        assertFalse(tmlEvent.equalSpec(evt6));
+        assertFalse(tmlEvent.equalSpec(evt7));
+        assertFalse(tmlEvent.equalSpec(evt8));
+        assertTrue(tmlEvent.equalSpec(evt9));
+    }
+
+    @Test
+    public void Test_ComparingTwoTMLChannels() {
+        assertFalse(tmlChannel.equalSpec(chl1));
+        assertFalse(tmlChannel.equalSpec(chl2));
+        assertFalse(tmlChannel.equalSpec(chl3));
+        assertFalse(tmlChannel.equalSpec(chl4));
+        assertFalse(tmlChannel.equalSpec(chl5));
+        assertFalse(tmlChannel.equalSpec(chl6));
+        assertFalse(tmlChannel.equalSpec(chl7));
+        assertFalse(tmlChannel.equalSpec(chl8));
+        assertFalse(tmlChannel.equalSpec(chl9));
+        assertFalse(tmlChannel.equalSpec(chl10));
+        assertFalse(tmlChannel.equalSpec(chl11));
+        assertFalse(tmlChannel.equalSpec(chl13));
+        assertTrue(tmlChannel.equalSpec(chl12));
+
+    }
+
+    private void createHwCPUsForTestingDifferenceConfig() {
+        cpu1 = new HwCPU("CPU0");
+        cpu2 = new HwCPU("CPU0");
+        cpu3 = new HwCPU("CPU0");
+        cpu4 = new HwCPU("CPU0");
+        cpu5 = new HwCPU("CPU0");
+        cpu6 = new HwCPU("CPU0");
+        cpu7 = new HwCPU("CPU0");
+        cpu8 = new HwCPU("CPU0");
+        cpu9 = new HwCPU("CPU0");
+        cpu10 = new HwCPU("CPU0");
+        cpu11 = new HwCPU("CPU0");
+        cpu12 = new HwCPU("CPU0");
+        cpu13 = new HwCPU("CPU1");
+        cpu14 = new HwCPU("CPU0");
+
+        cpu1.encryption = 1; // For testing difference encryption;
+        cpu2.nbOfCores = HwCPU.DEFAULT_NB_OF_CORES + 1; // For testing difference number of cores
+        cpu3.byteDataSize = HwCPU.DEFAULT_BYTE_DATA_SIZE + 1; // For testing difference byte data size;
+        cpu4.pipelineSize = HwCPU.DEFAULT_PIPELINE_SIZE + 1; // For testing difference pipe line size
+        cpu5.goIdleTime = HwCPU.DEFAULT_GO_IDLE_TIME + 1; // For testing difference idle time
+        cpu6.maxConsecutiveIdleCycles = HwCPU.DEFAULT_MAX_CONSECUTIVE_IDLE_CYCLES + 1; // For testing difference maxConsecutiveIdleCycles
+        cpu7.taskSwitchingTime = HwCPU.DEFAULT_TASK_SWITCHING_TIME + 1; // For testing difference taskSwitchingTime
+        cpu8.branchingPredictionPenalty = HwCPU.DEFAULT_BRANCHING_PREDICTION_PENALTY + 1; // For testing difference branchingPredictionPenalty
+        cpu9.cacheMiss = HwCPU.DEFAULT_CACHE_MISS + 1; // For testing difference cacheMiss
+        cpu10.schedulingPolicy = HwCPU.DEFAULT_SCHEDULING + 1; // For testing difference schedulingPolicy
+        cpu11.sliceTime = HwCPU.DEFAULT_SLICE_TIME + 1; // For testing difference sliceTime
+        cpu14.setOperation("operation"); // For testing difference operation
+
+    }
+
+    private void createHwAsForTestingDifferenceConfig() {
+        hwa1 = new HwA("HWA0");
+        hwa2 = new HwA("HWA0");
+        hwa3 = new HwA("HWA0");
+        hwa4 = new HwA("HWA0");
+        hwa5 = new HwA("HWA0");
+        hwa6 = new HwA("HWA1");
+
+        hwa1.byteDataSize = HwA.DEFAULT_BYTE_DATA_SIZE + 1; // For testing difference data size
+        hwa2.execiTime = HwExecutionNode.DEFAULT_EXECI_TIME + 1; // For testing difference execiTime
+        hwa3.clockRatio = HwA.DEFAULT_CLOCK_RATIO + 1; // For testing difference clockRatio
+        hwa4.setOperation("Operation"); // For testing difference operation
+    }
+
+    private void createHwFPGAForTestingDifferenceConfig() {
+        fpga1 = new HwFPGA("FPGA0");
+        fpga2 = new HwFPGA("FPGA0");
+        fpga3 = new HwFPGA("FPGA0");
+        fpga4 = new HwFPGA("FPGA0");
+        fpga5 = new HwFPGA("FPGA0");
+        fpga6 = new HwFPGA("FPGA0");
+        fpga7 = new HwFPGA("FPGA0");
+        fpga8 = new HwFPGA("FPGA0");
+        fpga9 = new HwFPGA("FPGA0");
+        fpga10 = new HwFPGA("FPGA0");
+        fpga11 = new HwFPGA("FPGA0");
+        fpga12 = new HwFPGA("FPGA1");
+        fpga13 = new HwFPGA("FPGA0");
+
+        fpga1.byteDataSize = HwFPGA.DEFAULT_BYTE_DATA_SIZE + 1; // For testing difference byteDataSize
+        fpga2.capacity = HwFPGA.DEFAULT_CAPACITY + 1; // For testing difference overall mapping capacity
+        fpga3.mappingPenalty = HwFPGA.DEFAULT_MAPPING_PENALTY + 1; // For testing difference mapping penalty
+        fpga4.reconfigurationTime = HwFPGA.DEFAULT_RECONFIGURATION_TIME + 1; // For testing difference reconfigurationTime
+        fpga5.goIdleTime = HwFPGA.DEFAULT_GO_IDLE_TIME + 1; // For testing difference do idle time
+        fpga6.maxConsecutiveIdleCycles = HwFPGA.DEFAULT_MAX_CONSECUTIVE_IDLE_CYCLES + 1; // For testing difference maxConsecutiveIdleCycles
+        fpga7.execiTime = HwFPGA.DEFAULT_EXECI_TIME + 1; // For testing difference execiTime
+        fpga8.execcTime = HwFPGA.DEFAULT_EXECC_TIME + 1; // For testing difference execcTime
+        fpga9.setOperation("operation"); // For testing difference opereation;
+        fpga10.setScheduling("EDF"); // For testing difference scheduling;
+        fpga11.clockRatio = HwFPGA.DEFAULT_CLOCK_RATIO + 1; // For testing difference clockRatio
+    }
+
+    private void createHwNoCForTestingDifferenceConfig() {
+        noc1 = new HwNoC("NoC0");
+        noc2 = new HwNoC("NoC0");
+        noc3 = new HwNoC("NoC0");
+        noc4 = new HwNoC("NoC0");
+        noc5 = new HwNoC("NoCDiffName");
+        noc6 = new HwNoC("NoC0");
+
+        noc1.bufferByteSize = HwNoC.DEFAULT_BUFFER_BYTE_DATA_SIZE + 1;
+        noc2.latency = 1;
+        noc3.size = 3;
+        noc4.clockRatio = HwNoC.DEFAULT_CLOCK_RATIO + 1;
+    }
+    private void createHwBusForTestingDifferenceConfig() {
+        bus1 = new HwBus("Bus0");
+        bus2 = new HwBus("Bus0");
+        bus3 = new HwBus("Bus0");
+        bus4 = new HwBus("Bus0");
+        bus5 = new HwBus("Bus0");
+        bus6 = new HwBus("Bus0");
+        bus7 = new HwBus("Bus1");
+        bus8 = new HwBus("Bus0");
+
+        bus1.arbitration = HwBus.DEFAULT_ARBITRATION + 1; // For testing difference arbitration
+        bus2.byteDataSize = HwBus.DEFAULT_BYTE_DATA_SIZE + 1; // For testing difference byteDataSize
+        bus3.pipelineSize = HwBus.DEFAULT_PIPELINE_SIZE + 1; // for testing difference pipelineSize
+        bus4.sliceTime = HwBus.DEFAULT_SLICE_TIME + 1; // For testing difference slide time
+        bus5.clockRatio = HwBus.DEFAULT_CLOCK_RATIO + 1; // For testing difference clockRatio
+        bus6.privacy = HwBus.BUS_PRIVATE; // For testing difference bus privacy
+
+    }
+
+    private void createHwBridgeForTestingDifferenceConfig() {
+        bridge1 = new HwBridge("Bridge0");
+        bridge2 = new HwBridge("Bridge0");
+        bridge3 = new HwBridge("Bridge1");
+        bridge4 = new HwBridge("Bridge0");
+
+        bridge1.bufferByteSize = HwBridge.DEFAULT_BUFFER_BYTE_DATA_SIZE + 1; // For testing difference bufferByteSize
+        bridge2.clockRatio = HwBridge.DEFAULT_CLOCK_RATIO + 1; // For testing difference clockRatio
+    }
+
+    private void createHwDMAForTestingDifferenceConfig() {
+        dma1 = new HwDMA("DMA0");
+        dma2 = new HwDMA("DMA0");
+        dma3 = new HwDMA("DMA0");
+        dma4 = new HwDMA("DMA1");
+        dma5 = new HwDMA("DMA0");
+
+        dma1.byteDataSize = HwDMA.DEFAULT_BYTE_DATA_SIZE + 1; // For testing difference byteDataSize
+        dma2.nbOfChannels = HwDMA.DEFAULT_NB_OF_CHANNELS + 1; // For testing number of channels
+        dma3.clockRatio = HwDMA.DEFAULT_CLOCK_RATIO + 1; // For testing difference clockRatio
+    }
+
+    private void createHwMemoryForTestingDifferenceConfig() {
+        memory1 = new HwMemory("Memory0");
+        memory2 = new HwMemory("Memory0");
+        memory3 = new HwMemory("Memory0");
+        memory4 = new HwMemory("Memory0");
+        memory5 = new HwMemory("Memory5");
+        memory6 = new HwMemory("Memory0");
+
+        memory1.byteDataSize = HwMemory.DEFAULT_BYTE_DATA_SIZE + 1; // For testing difference byteDataSize
+        memory2.clockRatio = HwMemory.DEFAULT_CLOCK_RATIO + 1; // For testing difference clockRatio
+        memory3.memorySize = HwMemory.DEFAULT_MEMORY_SIZE + 1024; // For testing difference memorySize
+        memory4.bufferType = HwMemory.DEFAULT_BUFFER_TYPE + 100; // For testing difference bufferByteSize
+
+    }
+
+    @Test
+    public void Test_ComparingTwoHwNoCs() {
+        assertFalse(hwNoC.equalSpec(noc1));
+        assertFalse(hwNoC.equalSpec(noc2));
+        assertFalse(hwNoC.equalSpec(noc3));
+        assertFalse(hwNoC.equalSpec(noc4));
+        assertFalse(hwNoC.equalSpec(noc5));
+        assertTrue(hwNoC.equalSpec(noc6));
+    }
+
+    @Test
+    public void Test_ComparingTwoHwMemorys() {
+        assertFalse(hwMemory.equalSpec(memory1));
+        assertFalse(hwMemory.equalSpec(memory2));
+        assertFalse(hwMemory.equalSpec(memory3));
+        assertFalse(hwMemory.equalSpec(memory4));
+        assertFalse(hwMemory.equalSpec(memory5));
+        assertTrue(hwMemory.equalSpec(memory6));
+    }
+
+    @Test
+    public void Test_ComparingTwoHwDMAs() {
+        assertFalse(hwDMA.equalSpec(dma1));
+        assertFalse(hwDMA.equalSpec(dma2));
+        assertFalse(hwDMA.equalSpec(dma3));
+        assertFalse(hwDMA.equalSpec(dma4));
+        assertTrue(hwDMA.equalSpec(dma5));
+    }
+
+    @Test
+    public void Test_ComparingTwoHwBridge() {
+        assertFalse(hwBridge.equalSpec(bridge1));
+        assertFalse(hwBridge.equalSpec(bridge2));
+        assertFalse(hwBridge.equalSpec(bridge3));
+        assertTrue(hwBridge.equalSpec(bridge4));
+    }
+
+    @Test
+    public void Test_ComparingTwoHwBus() {
+        assertFalse(hwBus.equalSpec(bus1));
+        assertFalse(hwBus.equalSpec(bus2));
+        assertFalse(hwBus.equalSpec(bus3));
+        assertFalse(hwBus.equalSpec(bus4));
+        assertFalse(hwBus.equalSpec(bus5));
+        assertFalse(hwBus.equalSpec(bus6));
+        assertFalse(hwBus.equalSpec(bus7));
+        assertTrue(hwBus.equalSpec(bus8));
+    }
+
+    @Test
+    public void Test_ComparingTwoHwFPGA() {
+        assertFalse(hwFPGA.equalSpec(fpga1));
+        assertFalse(hwFPGA.equalSpec(fpga2));
+        assertFalse(hwFPGA.equalSpec(fpga3));
+        assertFalse(hwFPGA.equalSpec(fpga4));
+        assertFalse(hwFPGA.equalSpec(fpga5));
+        assertFalse(hwFPGA.equalSpec(fpga6));
+        assertFalse(hwFPGA.equalSpec(fpga7));
+        assertFalse(hwFPGA.equalSpec(fpga8));
+        assertFalse(hwFPGA.equalSpec(fpga9));
+        assertFalse(hwFPGA.equalSpec(fpga10));
+        assertFalse(hwFPGA.equalSpec(fpga11));
+        assertFalse(hwFPGA.equalSpec(fpga12));
+        assertTrue(hwFPGA.equalSpec(fpga13));
+    }
+
+    @Test
+    public void Test_ComparingTwoHwAs() {
+        assertFalse(hwa.equalSpec(hwa1));
+        assertFalse(hwa.equalSpec(hwa2));
+        assertFalse(hwa.equalSpec(hwa3));
+        assertFalse(hwa.equalSpec(hwa4));
+        assertTrue(hwa.equalSpec(hwa5));
+        assertFalse(hwa.equalSpec(hwa6));
+    }
+
+    @Test
+    public void Test_ComparingTwosHwCPUs() {
+        assertFalse(hwCPU.equalSpec(cpu1));
+        assertFalse(hwCPU.equalSpec(cpu2));
+        assertFalse(hwCPU.equalSpec(cpu3));
+        assertFalse(hwCPU.equalSpec(cpu4));
+        assertFalse(hwCPU.equalSpec(cpu5));
+        assertFalse(hwCPU.equalSpec(cpu6));
+        assertFalse(hwCPU.equalSpec(cpu7));
+        assertFalse(hwCPU.equalSpec(cpu8));
+        assertFalse(hwCPU.equalSpec(cpu9));
+        assertFalse(hwCPU.equalSpec(cpu10));
+        assertFalse(hwCPU.equalSpec(cpu11));
+        assertFalse(hwCPU.equalSpec(cpu13));
+        assertFalse(hwCPU.equalSpec(cpu14));
+        assertTrue(hwCPU.equalSpec(cpu12));
+    }
+
+
+    private void createHwCommunicationNodeList() {
+        hwCommunicationNodeList1.add(hwBus);
+        hwCommunicationNodeList1.add(hwBridge);
+        hwCommunicationNodeList1.add(hwDMA);
+        hwCommunicationNodeList1.add(hwNoC);
+        hwCommunicationNodeList1.add(hwMemory);
+
+        hwCommunicationNodeList2.add(hwMemory);
+        hwCommunicationNodeList2.add(hwDMA);
+        hwCommunicationNodeList2.add(hwBridge);
+        hwCommunicationNodeList2.add(hwBus);
+        hwCommunicationNodeList2.add(hwNoC);
+
+        hwCommunicationNodeList3.add(hwMemory);
+        hwCommunicationNodeList3.add(hwDMA);
+        hwCommunicationNodeList3.add(hwBridge);
+        hwCommunicationNodeList3.add(hwBus);
+        hwCommunicationNodeList3.add(hwBus);
+
+
+        hwCommunicationNodeList6.add(hwBus);
+        hwCommunicationNodeList6.add(hwBridge);
+        hwCommunicationNodeList6.add(hwDMA);
+        hwCommunicationNodeList6.add(hwNoC);
+        hwCommunicationNodeList6.add(hwMemory);
+        hwCommunicationNodeList6.add(hwMemory);
+    }
+
+    @Test
+    public void isOncommondesListEquals() {
+
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isOncommondesListEquals(hwCommunicationNodeList1,hwCommunicationNodeList2));
+
+        assertFalse("two lists have same size but difference context" +
+                "",comparing.isOncommondesListEquals(hwCommunicationNodeList1,hwCommunicationNodeList3));
+
+        assertTrue("two empty lists", comparing.isOncommondesListEquals(hwCommunicationNodeList4,hwCommunicationNodeList5));
+
+        assertFalse("two lists have difference size",comparing.isOncommondesListEquals(hwCommunicationNodeList1,hwCommunicationNodeList6));
+
+
+
+    }
+
+    private void createTMLElementList() {
+        tmlElementList1.add(tmlElement1);
+        tmlElementList1.add(tmlElement2);
+        tmlElementList1.add(tmlElement3);
+        tmlElementList1.add(tmlActivity);
+
+        tmlElementList2.add(tmlActivity);
+        tmlElementList2.add(tmlElement3);
+        tmlElementList2.add(tmlElement1);
+        tmlElementList2.add(tmlElement2);
+
+
+        tmlElementList3.add(tmlElement1);
+        tmlElementList3.add(tmlActivity);
+        tmlElementList3.add(tmlElement3);
+
+        tmlElementList6.add(tmlElement1);
+        tmlElementList6.add(tmlElement2);
+        tmlElementList6.add(tmlActivity);
+        tmlElementList6.add(tmlElement3);
+        tmlElementList6.add(tmlElement3);
+
+    }
+
+    @Test
+    public void isMappedcommeltsListEquals() {
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isMappedcommeltsListEquals(tmlElementList1,tmlElementList2));
+
+        assertFalse("two lists have same context but difference context" +
+                "",comparing.isMappedcommeltsListEquals(tmlElementList1,tmlElementList3));
+
+        assertTrue("two empty lists", comparing.isMappedcommeltsListEquals(tmlElementList4,tmlElementList5));
+
+        assertFalse("two lists have difference size",comparing.isMappedcommeltsListEquals(tmlElementList1,tmlElementList6));
+    }
+
+    private void createdTaskLists() {
+        taskList1.add(task1);
+        taskList1.add(task2);
+        taskList1.add(task3);
+
+        taskList2.add(task3);
+        taskList2.add(task1);
+        taskList2.add(task2);
+
+        taskList3.add(task1);
+        taskList3.add(task2);
+        taskList3.add(task2);
+
+        taskList6.add(task1);
+        taskList6.add(task2);
+        taskList6.add(task3);
+        taskList6.add(task3);
+
+    }
+
+    @Test
+    public void isTasksListEquals() {
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isTasksListEquals(taskList1,taskList2));
+
+        assertFalse("two lists have same context but difference context" +
+                "",comparing.isTasksListEquals(taskList1,taskList3));
+
+        assertTrue("two empty lists", comparing.isTasksListEquals(taskList4,taskList5));
+
+        assertFalse("two lists have difference size",comparing.isTasksListEquals(taskList1,taskList6));
+
+    }
+
+    private void createHwExecutionNodeList() {
+        hwExecutionNodeList1.add(hwCPU);
+        hwExecutionNodeList1.add(hwFPGA);
+        hwExecutionNodeList1.add(hwa);
+
+        hwExecutionNodeList2.add(hwa);
+        hwExecutionNodeList2.add(hwCPU);
+        hwExecutionNodeList2.add(hwFPGA);
+
+        hwExecutionNodeList3.add(hwCPU);
+        hwExecutionNodeList3.add(hwFPGA);
+        hwExecutionNodeList3.add(hwFPGA);
+
+
+        hwExecutionNodeList6.add(hwCPU);
+        hwExecutionNodeList6.add(hwFPGA);
+        hwExecutionNodeList6.add(hwa);
+        hwExecutionNodeList6.add(hwa);
+
+    }
+
+    @Test
+    public void isOnExecutionNodeListEquals() {
+
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isOnExecutionNodeListEquals(hwExecutionNodeList1,hwExecutionNodeList2));
+
+        assertFalse("two lists have difference context" +
+                "",comparing.isOnExecutionNodeListEquals(hwExecutionNodeList1,hwExecutionNodeList3));
+
+        assertTrue("two empty lists", comparing.isOnExecutionNodeListEquals(hwExecutionNodeList4,hwExecutionNodeList5));
+
+        assertFalse("two lists have difference size",comparing.isOnExecutionNodeListEquals(hwExecutionNodeList1,hwExecutionNodeList6));
+    }
+
+    private void createListOfStringArray() {
+        String[] str1 = {"#Authenticity", "#Confidentiality", "#PublicConstant", "#PrivateConstant", "#InitialSessionKnowledge",
+                "#InitialSystemKnowledge", "#PrivatePublicKeys", "#Public", "#SecrecyAssumption", "#Secret"};
+
+        String[] str2 = {"#Confidentiality", "#PublicConstant", "#PrivateConstant", "#InitialSessionKnowledge",
+                "#InitialSystemKnowledge", "#PrivatePublicKeys", "#Public", "#SecrecyAssumption", "#Secret"};
+
+        String[] str3 = {"#PublicConstant", "#PrivateConstant", "#InitialSessionKnowledge", "#Authenticity", "#Confidentiality",
+                "#InitialSystemKnowledge", "#PrivatePublicKeys", "#Public", "#SecrecyAssumption", "#Secret"};
+        String[] str4 = {};
+
+        listOfStrArray1.add(str1);
+        listOfStrArray1.add(str2);
+        listOfStrArray1.add(str3);
+        listOfStrArray1.add(str4);
+        listOfStrArray1.add(str2);
+        listOfStrArray1.add(str3);
+
+        listOfStrArray2.add(str2);
+        listOfStrArray2.add(str2);
+        listOfStrArray2.add(str1);
+        listOfStrArray2.add(str3);
+        listOfStrArray2.add(str4);
+        listOfStrArray2.add(str3);
+
+        listOfStrArray6.add(str1);
+        listOfStrArray6.add(str2);
+        listOfStrArray6.add(str3);
+        listOfStrArray6.add(str4);
+        listOfStrArray6.add(str2);
+        listOfStrArray6.add(str3);
+        listOfStrArray6.add(str3);
+    }
+
+    @Test
+    public void isListOfStringArrayEquals() {
+
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isListOfStringArrayEquals(listOfStrArray1,listOfStrArray2));
+
+        assertFalse("two lists have difference context" +
+                "",comparing.isListOfStringArrayEquals(listOfStrArray1,listOfStrArray3));
+
+        assertTrue("two empty lists", comparing.isListOfStringArrayEquals(listOfStrArray4, listOfStrArray5));
+
+        assertFalse("two lists have difference size",comparing.isListOfStringArrayEquals(listOfStrArray1,listOfStrArray6));
+    }
+
+    private void createSecurityMap() {
+        securityMap1.put(securityPattern1,memoryList1);
+        securityMap1.put(securityPattern2,memoryList2);
+        securityMap1.put(securityPattern3,memoryList3);
+        securityMap1.put(securityPattern4,memoryList4);
+        securityMap1.put(securityPattern5,memoryList5);
+
+        securityMap2.put(securityPattern3,memoryList3);
+        securityMap2.put(securityPattern2,memoryList2);
+        securityMap2.put(securityPattern1,memoryList1);
+        securityMap2.put(securityPattern5,memoryList5);
+        securityMap2.put(securityPattern4,memoryList4);
+
+        securityMap3.put(securityPattern1,memoryList1);
+        securityMap3.put(securityPattern2,memoryList2);
+        securityMap3.put(securityPattern3,memoryList3);
+        securityMap3.put(securityPattern4,memoryList3);
+        securityMap3.put(securityPattern5,memoryList4);
+
+        securityMap6.put(securityPattern1,memoryList1);
+        securityMap6.put(securityPattern2,memoryList2);
+        securityMap6.put(securityPattern3,memoryList3);
+        securityMap6.put(securityPattern4,memoryList4);
+        securityMap6.put(securityPattern5,memoryList5);
+        securityMap6.put(securityPattern6,memoryList5);
+
+    }
+
+    @Test
+    public void isSecurityPatternMapEquals() {
+
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isSecurityPatternMapEquals(securityMap1,securityMap2));
+
+        assertFalse("two lists have same size but difference context" +
+                "",comparing.isSecurityPatternMapEquals(securityMap1,securityMap3));
+
+        assertTrue("two empty lists", comparing.isSecurityPatternMapEquals(securityMap4,securityMap5));
+
+        assertFalse("two lists have difference size",comparing.isSecurityPatternMapEquals(securityMap1,securityMap6));
+
+    }
+
+    private void createHwMemoryList() {
+        memoryList1.add(hwMemory);
+        memoryList1.add(hwMemory2);
+        memoryList1.add(hwMemory3);
+
+        memoryList2.add(hwMemory2);
+        memoryList2.add(hwMemory3);
+        memoryList2.add(hwMemory);
+
+        memoryList3.add(hwMemory);
+        memoryList3.add(hwMemory2);
+        memoryList3.add(hwMemory);
+
+        memoryList6.add(hwMemory);
+        memoryList6.add(hwMemory2);
+        memoryList6.add(hwMemory3);
+        memoryList6.add(hwMemory3);
+    }
+
+    @Test
+    public void isHwMemoryListEquals() {
+
+
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isHwMemoryListEquals(memoryList1,memoryList2));
+
+        assertFalse("two lists have difference context" +
+                "",comparing.isHwMemoryListEquals(memoryList1,memoryList3));
+
+        assertTrue("two empty lists", comparing.isHwMemoryListEquals(memoryList4, memoryList5));
+
+        assertFalse("two lists have difference size",comparing.isHwMemoryListEquals(memoryList1,memoryList6));
+    }
+
+    private void createTMLActivityElementList() {
+        tmlActEltList1.add(tmlActionState);
+        tmlActEltList1.add(tmlExecC);
+        tmlActEltList1.add(tmlExecI);
+        tmlActEltList1.add(tmlReadChannel);
+        tmlActEltList1.add(tmlWriteChannel);
+        tmlActEltList1.add(tmlNotifiedEvent);
+        tmlActEltList1.add(tmlSendEvent);
+        tmlActEltList1.add(tmlWaitEvent);
+        tmlActEltList1.add(tmlDelay);
+        tmlActEltList1.add(tmlExecCInterval);
+        tmlActEltList1.add(tmlExecIInterval);
+        tmlActEltList1.add(tmlForLoop);
+        tmlActEltList1.add(tmlJunction);
+        tmlActEltList1.add(tmlRandom);
+        tmlActEltList1.add(tmlRandomSequence);
+        tmlActEltList1.add(tmlSelectEvt);
+        tmlActEltList1.add(tmlSendRequest);
+        tmlActEltList1.add(tmlSequence);
+        tmlActEltList1.add(tmlStartState);
+        tmlActEltList1.add(tmlStopState);
+        tmlActEltList1.add(tmlChoice);
+
+        tmlActEltList2.add(tmlSequence);
+        tmlActEltList2.add(tmlSendEvent);
+        tmlActEltList2.add(tmlNotifiedEvent);
+        tmlActEltList2.add(tmlActionState);
+        tmlActEltList2.add(tmlExecI);
+        tmlActEltList2.add(tmlSelectEvt);
+        tmlActEltList2.add(tmlRandom);
+        tmlActEltList2.add(tmlReadChannel);
+        tmlActEltList2.add(tmlStopState);
+        tmlActEltList2.add(tmlWriteChannel);
+        tmlActEltList2.add(tmlExecCInterval);
+        tmlActEltList2.add(tmlWaitEvent);
+        tmlActEltList2.add(tmlDelay);
+        tmlActEltList2.add(tmlExecIInterval);
+        tmlActEltList2.add(tmlForLoop);
+        tmlActEltList2.add(tmlJunction);
+        tmlActEltList2.add(tmlRandomSequence);
+        tmlActEltList2.add(tmlSendRequest);
+        tmlActEltList2.add(tmlStartState);
+        tmlActEltList2.add(tmlExecC);
+        tmlActEltList2.add(tmlChoice);
+
+
+        tmlActEltList3.add(tmlActionState);
+        tmlActEltList3.add(tmlExecC);
+        tmlActEltList3.add(tmlExecI);
+        tmlActEltList3.add(tmlReadChannel);
+        tmlActEltList3.add(tmlWriteChannel);
+        tmlActEltList3.add(tmlNotifiedEvent);
+        tmlActEltList3.add(tmlSendEvent);
+        tmlActEltList3.add(tmlWaitEvent);
+        tmlActEltList3.add(tmlDelay);
+        tmlActEltList3.add(tmlExecCInterval);
+        tmlActEltList3.add(tmlExecIInterval);
+        tmlActEltList3.add(tmlForLoop);
+        tmlActEltList3.add(tmlJunction);
+        tmlActEltList3.add(tmlRandom);
+        tmlActEltList3.add(tmlRandomSequence);
+        tmlActEltList3.add(tmlSelectEvt);
+        tmlActEltList3.add(tmlSendRequest);
+        tmlActEltList3.add(tmlStartState); // difference here
+        tmlActEltList3.add(tmlStartState);
+        tmlActEltList3.add(tmlStopState);
+        tmlActEltList3.add(tmlChoice);
+
+        tmlActEltList6.add(tmlActionState);
+        tmlActEltList6.add(tmlExecC);
+        tmlActEltList6.add(tmlExecI);
+        tmlActEltList6.add(tmlReadChannel);
+        tmlActEltList6.add(tmlWriteChannel);
+        tmlActEltList6.add(tmlNotifiedEvent);
+        tmlActEltList6.add(tmlSendEvent);
+        tmlActEltList6.add(tmlWaitEvent);
+        tmlActEltList6.add(tmlDelay);
+        tmlActEltList6.add(tmlExecCInterval);
+        tmlActEltList6.add(tmlExecIInterval);
+        tmlActEltList6.add(tmlForLoop);
+        tmlActEltList6.add(tmlJunction);
+        tmlActEltList6.add(tmlRandom);
+        tmlActEltList6.add(tmlRandomSequence);
+        tmlActEltList6.add(tmlSelectEvt);
+        tmlActEltList6.add(tmlSendRequest);
+        tmlActEltList6.add(tmlSequence);
+        tmlActEltList6.add(tmlStartState);
+        tmlActEltList6.add(tmlStopState);
+        tmlActEltList6.add(tmlChoice);
+        tmlActEltList6.add(tmlStopState);
+
+
+    }
+
+    @Test
+    public void isTMLActivityEltListEquals() {
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isTMLActivityEltListEquals(tmlActEltList1,tmlActEltList2));
+
+        assertFalse("two lists have difference context" +
+                "",comparing.isTMLActivityEltListEquals(tmlActEltList1,tmlActEltList3));
+
+        assertTrue("two empty lists", comparing.isTMLActivityEltListEquals(tmlActEltList4, tmlActEltList5));
+
+        assertFalse("two lists have difference size",comparing.isTMLActivityEltListEquals(tmlActEltList1,tmlActEltList6));
+    }
+
+    private void createHwNodeList() {
+        hwNodeList1.add(hwCPU);
+        hwNodeList1.add(hwa);
+        hwNodeList1.add(hwDMA);
+        hwNodeList1.add(hwMemory);
+        hwNodeList1.add(hwFPGA);
+        hwNodeList1.add(hwBridge);
+        hwNodeList1.add(hwBus);
+        hwNodeList1.add(hwNoC);
+
+        hwNodeList2.add(hwBridge);
+        hwNodeList2.add(hwMemory);
+        hwNodeList2.add(hwa);
+        hwNodeList2.add(hwCPU);
+        hwNodeList2.add(hwDMA);
+        hwNodeList2.add(hwNoC);
+        hwNodeList2.add(hwFPGA);
+        hwNodeList2.add(hwBus);
+
+        hwNodeList3.add(hwBridge);
+        hwNodeList3.add(hwMemory);
+        hwNodeList3.add(hwa);
+        hwNodeList3.add(hwCPU);
+        hwNodeList3.add(hwDMA);
+        hwNodeList3.add(hwNoC);
+        hwNodeList3.add(hwFPGA);
+        hwNodeList3.add(hwNoC);
+
+        hwNodeList6.add(hwCPU);
+        hwNodeList6.add(hwa);
+        hwNodeList6.add(hwDMA);
+        hwNodeList6.add(hwMemory);
+        hwNodeList6.add(hwFPGA);
+        hwNodeList6.add(hwBridge);
+        hwNodeList6.add(hwBus);
+        hwNodeList6.add(hwNoC);
+        hwNodeList6.add(hwNoC);
+    }
+
+    @Test
+    public void isHwNodeListEquals() {
+
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isHwNodeListEquals(hwNodeList1,hwNodeList2));
+
+        assertFalse("two lists have difference context" +
+                "",comparing.isHwNodeListEquals(hwNodeList1,hwNodeList3));
+
+        assertTrue("two empty lists", comparing.isHwNodeListEquals(hwNodeList4,hwNodeList5));
+
+        assertFalse("two lists have difference size",comparing.isHwNodeListEquals(hwNodeList1,hwNodeList6));
+
+    }
+
+    private void createHwLinkList() {
+        hwLinkList1.add(hwLink1);
+        hwLinkList1.add(hwLink2);
+        hwLinkList1.add(hwLink3);
+        hwLinkList1.add(hwLink1);
+        hwLinkList1.add(hwLink2);
+        hwLinkList1.add(hwLink3);
+
+        hwLinkList2.add(hwLink2);
+        hwLinkList2.add(hwLink3);
+        hwLinkList2.add(hwLink1);
+        hwLinkList2.add(hwLink2);
+        hwLinkList2.add(hwLink3);
+        hwLinkList2.add(hwLink1);
+
+        hwLinkList3.add(hwLink1);
+        hwLinkList3.add(hwLink2);
+        hwLinkList3.add(hwLink3);
+        hwLinkList3.add(hwLink1);
+        hwLinkList3.add(hwLink3);
+        hwLinkList3.add(hwLink3);
+
+        hwLinkList6.add(hwLink2);
+        hwLinkList6.add(hwLink3);
+        hwLinkList6.add(hwLink1);
+        hwLinkList6.add(hwLink2);
+        hwLinkList6.add(hwLink3);
+    }
+
+    @Test
+    public void isHwlinkListEquals() {
+
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isHwlinkListEquals(hwLinkList1,hwLinkList2));
+
+        assertFalse("two lists have difference context" +
+                "",comparing.isHwlinkListEquals(hwLinkList1,hwLinkList3));
+
+        assertTrue("two empty lists", comparing.isHwlinkListEquals(hwLinkList4, hwLinkList5));
+
+        assertFalse("two lists have difference size", comparing.isHwlinkListEquals(hwLinkList1, hwLinkList6));
+    }
+
+    private void createdPortLists() {
+        portList1.add(port1);
+        portList1.add(port2);
+        portList1.add(port3);
+
+        portList2.add(port3);
+        portList2.add(port1);
+        portList2.add(port2);
+
+        portList3.add(port1);
+        portList3.add(port2);
+        portList3.add(port2);
+
+        portList6.add(port1);
+        portList6.add(port2);
+        portList6.add(port3);
+        portList6.add(port3);
+    }
+
+    @Test
+    public void isPortListEquals() {
+        assertTrue("two lists have same context but difference element order" +
+                "",comparing.isPortListEquals(portList1,portList2));
+
+        assertFalse("two lists have difference context" +
+                "",comparing.isPortListEquals(portList1,portList3));
+
+        assertTrue("two empty lists", comparing.isPortListEquals(portList4, portList5));
+
+        assertFalse("two lists have difference size", comparing.isPortListEquals(portList1, portList6));
+
+    }
+
+    private void createChannelSets() {
+        channelSet1.add(channel1);
+        channelSet1.add(channel2);
+        channelSet1.add(channel3);
+
+        channelSet2.add(channel3);
+        channelSet2.add(channel1);
+        channelSet2.add(channel2);
+
+        channelSet3.add(channel1);
+        channelSet3.add(channel2);
+        channelSet3.add(channel4);
+
+        channelSet6.add(channel1);
+        channelSet6.add(channel2);
+        channelSet6.add(channel3);
+        channelSet6.add(channel4);
+    }
+
+    @Test
+    public void isTMLChannelSetEquals() {
+        assertTrue("two sets have same context but difference element order" +
+                "",comparing.isTMLChannelSetEquals(channelSet1,channelSet2));
+
+        assertFalse("two sets have difference context" +
+                "",comparing.isTMLChannelSetEquals(channelSet1,channelSet3));
+
+        assertTrue("two empty sets", comparing.isTMLChannelSetEquals(channelSet4, channelSet5));
+
+        assertFalse("two sets have difference size", comparing.isTMLChannelSetEquals(channelSet1, channelSet6));
+    }
+
+    private void createEventSets() {
+        eventSet1.add(event1);
+        eventSet1.add(event2);
+        eventSet1.add(event3);
+
+        eventSet2.add(event3);
+        eventSet2.add(event1);
+        eventSet2.add(event2);
+
+        eventSet3.add(event1);
+        eventSet3.add(event2);
+        eventSet3.add(event4);
+
+        eventSet6.add(event1);
+        eventSet6.add(event2);
+        eventSet6.add(event3);
+        eventSet6.add(event4);
+    }
+
+    @Test
+    public void isTMLEventSetEquals() {
+        assertTrue("two sets have same context but difference element order" +
+                "",comparing.isTMLEventSetEquals(eventSet1,eventSet2));
+
+        assertFalse("two sets have difference context" +
+                "",comparing.isTMLEventSetEquals(eventSet1,eventSet3));
+
+        assertTrue("two empty sets", comparing.isTMLEventSetEquals(eventSet4, eventSet5));
+
+        assertFalse("two sets have difference size", comparing.isTMLEventSetEquals(eventSet1, eventSet6));
+    }
+}
\ No newline at end of file
diff --git a/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java b/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java
index dc4895c6bb7247ef9426dd0337868ffff5884059..9c7ffb85ed513e784cca1c92836b8a0c2a5e7116 100644
--- a/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java
+++ b/ttool/src/test/java/ui/TDiagramPanelCloneArchitectureTest.java
@@ -1,48 +1,118 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ *
+ * ludovic.apvrille AT enst.fr
+ *
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ *
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ *
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ *
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ *
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ */
+
+
 package ui;
 
 import myutil.TraceManager;
 import org.junit.*;
-import tmltranslator.compareTMLTest.CompareTML;
+import tmltranslator.*;
 import ui.tmldd.TMLArchiDiagramPanel;
 
 import java.io.*;
 
+
 import static org.junit.Assert.*;
-/*
- * #issue 186
+
+
+/**
+ * Testing the clone function on architecture
  * author : Minh Hiep
+ * update test : 18/10/2019
  */
 public class TDiagramPanelCloneArchitectureTest extends AbstractUITest {
-    
-    static TDiagramPanel architecture;
-    static  TGComponent cpu1;
-
-    static TGComponent mapChannel;
 
+    private static final String PATH_TO_EXPECTED_MODEL = "/ui/diagram2tml/expected/Expected_CloneArchitecture.xml";
+    private static final String PATH_TO_SOURCE_MODEL = "/ui/diagram2tml/input/CloneCompositeComponentTest.xml";
+    private static String EXPECTED_FILE_MODEL;
 
-    final static String EXPECTED_FILE1 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec1.tmap";
-    final static String EXPECTED_FILE2 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec2.tarchi";
+    private TMLMapping tmlMapping_clone;
+    private TMLMapping tmlMapping_exp;
+    private TDiagramPanel architecture_clone;
+    private TGComponent CPU_Cl;
+    private TGComponent DMA_Cl;
+    private TGComponent FPGA_Cl;
+    private TGComponent HWA_Cl;
+    private TGComponent Bus_Cl;
+    private TGComponent Bridge_Cl;
+    private TGComponent Memory_Cl;
 
 
     @BeforeClass
     public static void setUpBeforeClass() throws Exception {
-        RESOURCES_DIR = getBaseResourcesDir() + "/ui/diagram2tml/input/CloneCompositeComponentTest.xml";
+        RESOURCES_DIR = getBaseResourcesDir() + PATH_TO_SOURCE_MODEL;
+        EXPECTED_FILE_MODEL = getBaseResourcesDir() + PATH_TO_EXPECTED_MODEL;
     }
 
     public TDiagramPanelCloneArchitectureTest() {
         super();
+
+        // Open expected model
+        mainGUI.openProjectFromFile(new File(EXPECTED_FILE_MODEL));
+
+        for(TURTLEPanel _tab : mainGUI.getTabs()) {
+            if(_tab instanceof TMLArchiPanel) {
+                for (TDiagramPanel tdp : _tab.getPanels()) {
+                    if (tdp instanceof TMLArchiDiagramPanel) {
+                        mainGUI.selectTab(tdp);
+                        break;
+                    }
+                }
+                break;
+            }
+        }
+
+
+        mainGUI.checkModelingSyntax(true);
+        tmlMapping_exp = mainGUI.gtm.getTMLMapping();
+
+        // Open testing model
         mainGUI.openProjectFromFile(new File(RESOURCES_DIR));
     }
 
     @Before
     public void setUp() {
-        architecture = null;
         for(TURTLEPanel _tab : mainGUI.getTabs()) {
             if(_tab instanceof TMLArchiPanel) {
                 for (TDiagramPanel tdp : _tab.getPanels()) {
                     if (tdp instanceof TMLArchiDiagramPanel) {
-                        architecture = tdp;
-                        mainGUI.selectTab(architecture);
+                        architecture_clone = tdp;
+                        mainGUI.selectTab(architecture_clone);
                         break;
                     }
                 }
@@ -50,60 +120,108 @@ public class TDiagramPanelCloneArchitectureTest extends AbstractUITest {
             }
         }
 
-        if (architecture != null) {
-            //TraceManager.addDev("architecture tab is non null");
-            for (TGComponent tgc : architecture.getAllComponentList()) {
-                if (tgc.getValue().equals("Application::PrimitiveComp1")) {
-                    mapChannel = tgc;
-                }
+        assertNotNull(architecture_clone);
 
-                if (tgc.getName().equals("CPU1")) {
-                    cpu1 = tgc;
-                }
+        for (TGComponent tgc : architecture_clone.getAllComponentList()) {
+
+            if (tgc.getName().equals("CPU1")) {
+                CPU_Cl = tgc;
             }
-        }
-    }
 
-    @Test
-    public void testCloneMapInArchitecture() throws Exception {
-        CompareTML compTML = new CompareTML();
-        TGComponent mapTaskClone = null;
-        architecture.cloneComponent(mapChannel);
-        architecture.removeComponent(mapChannel);
-        for (TGComponent tgc : architecture.getComponentList()) {
-            if (tgc.getValue().equals("Application::PrimitiveComp1")) {
-                mapTaskClone = tgc;
+            if (tgc.getName().equals("FPGA0")) {
+                FPGA_Cl = tgc;
+            }
+
+            if (tgc.getName().equals("Bridge0")) {
+                Bridge_Cl = tgc;
+            }
+
+            if (tgc.getName().equals("HWA0")) {
+                HWA_Cl = tgc;
+            }
+
+            if (tgc.getName().equals("Bus0")) {
+                Bus_Cl = tgc;
             }
-        }
 
-        if (mapTaskClone != null) {
-            //TraceManager.addDev("mapTaskClone is non null");
-            architecture.attach(mapTaskClone);
+            if (tgc.getName().equals("DMA0")) {
+                DMA_Cl = tgc;
+            }
+
+            if (tgc.getName().equals("Memory0")) {
+                Memory_Cl = tgc;
+            }
         }
-        mainGUI.checkModelingSyntax(true);
-        mainGUI.generateTMLTxt();
-        File f1 = new File(EXPECTED_FILE1);
-        File f2 = new File("spec.tmap");  // Generated file after executing "TML generation"
-        //assertTrue(compTML.compareTML(f1,f2));
+
     }
 
-    @Test
-    public void testCloneNodeInArchitecture() throws Exception {
-        CompareTML compTML = new CompareTML();
-        architecture.cloneComponent(cpu1);
-        for (TGComponent tgc : architecture.getComponentList()) {
+    public void cloneHwNodesOfTestingModel(){
+        architecture_clone.cloneComponent(CPU_Cl);
+        for (TGComponent tgc : architecture_clone.getComponentList()) {
             if (tgc.getName().equals("CPU1")) {
                 tgc.setName("CPU2");
                 break;
             }
         }
 
-        mainGUI.checkModelingSyntax(true);
-        mainGUI.generateTMLTxt();
-        File f1 = new File(EXPECTED_FILE2);
-        File f2 = new File("spec.tarchi");  // Generated file after executing "TML generation"
-        //assertTrue(compTML.compareTML(f1,f2));
+        architecture_clone.cloneComponent(FPGA_Cl);
+        for (TGComponent tgc : architecture_clone.getComponentList()) {
+            if (tgc.getName().equals("FPGA0")) {
+                tgc.setName("FPGA1");
+                break;
+            }
+        }
+
+        architecture_clone.cloneComponent(Bridge_Cl);
+        for (TGComponent tgc : architecture_clone.getComponentList()) {
+            if (tgc.getName().equals("Bridge0")) {
+                tgc.setName("Bridge1");
+                break;
+            }
+        }
+
+        architecture_clone.cloneComponent(Bus_Cl);
+        for (TGComponent tgc : architecture_clone.getComponentList()) {
+            if (tgc.getName().equals("Bus0")) {
+                tgc.setName("Bus1");
+                break;
+            }
+        }
+
+        architecture_clone.cloneComponent(DMA_Cl);
+        for (TGComponent tgc : architecture_clone.getComponentList()) {
+            if (tgc.getName().equals("DMA0")) {
+                tgc.setName("DMA1");
+                break;
+            }
+        }
+
+        architecture_clone.cloneComponent(Memory_Cl);
+        for (TGComponent tgc : architecture_clone.getComponentList()) {
+            if (tgc.getName().equals("Memory0")) {
+                tgc.setName("Memory1");
+                break;
+            }
+        }
+
+        architecture_clone.cloneComponent(HWA_Cl);
+        for (TGComponent tgc : architecture_clone.getComponentList()) {
+            if (tgc.getName().equals("HWA0")) {
+                tgc.setName("HWA1");
+                break;
+            }
+        }
+
+
     }
 
 
+    @Test
+    public void testTMLMapping() {
+        cloneHwNodesOfTestingModel();
+        mainGUI.checkModelingSyntax(true);
+        tmlMapping_clone = mainGUI.gtm.getTMLMapping();
+        assertTrue(tmlMapping_clone.equalSpec(tmlMapping_exp));
+    }
+
 }
\ No newline at end of file
diff --git a/ttool/src/test/java/ui/TDiagramPanelCloneTest.java b/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
index b977076687f8183f15772ff15bd697a6b37e6469..ad2249e85137c324d368e4e036c1e7ad5d54ece4 100644
--- a/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
+++ b/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
@@ -79,6 +79,9 @@ public class TDiagramPanelCloneTest extends AbstractUITest {
     public void testCloneCompositeComponentWithNullFather() throws Exception{
         CompareTML compTML = new CompareTML();
         diagramPanel.cloneComponent(tgComponent1);
+       // diagramPanel.cloneComponent(tgComponent2);
+        //diagramPanel.cloneComponent(tgComponent3);
+        //diagramPanel.cloneComponent(tgComponent4);
         mainGUI.checkModelingSyntax(true);
         mainGUI.generateTMLTxt();
         File f1 = new File(EXPECTED_FILE1);
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml
index af70a535bcc73013d2a8d0d5d6757af044f18136..7cd34eab0bf33868df2a5e9fd1e585a2734018fe 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml
@@ -1,6 +1,6 @@
 // TML Application - FORMAT 0.1
-// Application: /home/pham/Documents/TToolHelp/TTool/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
-// Generated: Thu Mar 21 16:19:07 CET 2019
+// Application: /home/pham/Documents/TToolDev/TTool/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+// Generated: Fri Sep 27 17:17:01 CEST 2019
 
 // Channels
 CHANNEL Application__channel BRBW 4 8 OUT Application__PrimitiveComp1 IN Application__PrimitiveComp2
@@ -112,19 +112,69 @@ ENDTASK
 TASK Application__PrimitiveComp5
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
 
     //Behavior
     WRITE Application__channel3 1
-    READ Application__channel3 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
 ENDTASK
 
 TASK Application__PrimitiveComp5_0
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
 
     //Behavior
     WRITE Application__channel3_0 1
-    READ Application__channel3_0 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_0 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
 ENDTASK
 
 TASK Application__PrimitiveComp6
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml
index 7158b20321fb2db04066f876c94771198ed5cc6d..fc9e7125802818869a6f286f1428b48763990d86 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml
@@ -1,6 +1,6 @@
 // TML Application - FORMAT 0.1
-// Application: /home/pham/Documents/TToolHelp/TTool/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
-// Generated: Thu Mar 21 16:19:37 CET 2019
+// Application: /home/pham/Documents/TToolDev/TTool/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+// Generated: Fri Sep 27 17:18:23 CEST 2019
 
 // Channels
 CHANNEL Application__channel BRBW 4 8 OUT Application__PrimitiveComp1 IN Application__PrimitiveComp2
@@ -80,19 +80,69 @@ ENDTASK
 TASK Application__PrimitiveComp5
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
 
     //Behavior
     WRITE Application__channel3 1
-    READ Application__channel3 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
 ENDTASK
 
 TASK Application__PrimitiveComp5_0
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
 
     //Behavior
     WRITE Application__channel3_0 1
-    READ Application__channel3_0 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_0 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
 ENDTASK
 
 TASK Application__PrimitiveComp6
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml
index 22f063c21ed98dc1e287b1c48042e71694ebea3a..75ba41ef403bd0c373c8f6c52c017e33bc39186b 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml
@@ -1,6 +1,6 @@
 // TML Application - FORMAT 0.1
-// Application: /home/pham/Documents/TToolHelp/TTool/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
-// Generated: Thu Mar 21 16:20:51 CET 2019
+// Application: /home/pham/Documents/TToolDev/TTool/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+// Generated: Fri Sep 27 17:18:55 CEST 2019
 
 // Channels
 CHANNEL Application__channel BRBW 4 8 OUT Application__PrimitiveComp1 IN Application__PrimitiveComp2
@@ -63,19 +63,69 @@ ENDTASK
 TASK Application__PrimitiveComp5
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
 
     //Behavior
     WRITE Application__channel3 1
-    READ Application__channel3 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
 ENDTASK
 
 TASK Application__PrimitiveComp5_0
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
 
     //Behavior
     WRITE Application__channel3_0 1
-    READ Application__channel3_0 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3_0 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
 ENDTASK
 
 TASK Application__PrimitiveComp6
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec4.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec4.tml
index 0187470adf443f2c3cd69fc220fb97f0e73a43cc..3e8fcfdc8bd65dbbdf2bf0a5c988ed724e8fbb7e 100644
--- a/ttool/src/test/resources/tmltranslator/expected/expected_spec4.tml
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec4.tml
@@ -1,6 +1,6 @@
 // TML Application - FORMAT 0.1
-// Application: /home/pham/Documents/TToolHelp/TTool/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
-// Generated: Thu Mar 21 16:24:12 CET 2019
+// Application: /home/pham/Documents/TToolDev/TTool/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+// Generated: Fri Sep 27 17:19:30 CEST 2019
 
 // Channels
 CHANNEL Application__channel BRBW 4 8 OUT Application__PrimitiveComp1 IN Application__PrimitiveComp2
@@ -63,10 +63,35 @@ ENDTASK
 TASK Application__PrimitiveComp5
     TASKOP
     //Local variables
+    int attr1
+    bool attr2
+    int loop__0 = 0
 
     //Behavior
     WRITE Application__channel3 1
-    READ Application__channel3 1
+    EXECI 10
+    EXECI 10 20
+    DELAY 10 ms
+    EXECC 100 encryption1 ADV 100 100 0 0
+    EXECC 100 encryption1 ADV 100 100 0 0
+    DELAY 10 20 ms
+    RANDOM 0 attr1 0 10
+    FOR( ; ; )
+        FOR(loop__0 = 0; loop__0<10; loop__0 = loop__0 + 1)
+            FOR(attr1=0; attr1<5; attr1 = attr1+1)
+                attr1=10
+                RANDOMSEQ
+                    SEQ
+                        attr1=2
+                    ENDSEQ
+                    SEQ
+                        attr2=true
+                        READ Application__channel3 1
+                    ENDSEQ
+                ENDRANDOMSEQ
+            ENDFOR
+        ENDFOR
+    ENDFOR
 ENDTASK
 
 TASK Application__PrimitiveComp6
diff --git a/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml b/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cc9752d03c7e5505e3fc14a980fb24579eb03760
--- /dev/null
+++ b/ttool/src/test/resources/ui/diagram2tml/expected/Expected_CloneArchitecture.xml
@@ -0,0 +1,2084 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="0">
+
+<Modeling type="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1$PrimitiveComp3$PrimitiveComp4$PrimitiveComp5$PrimitiveComp6" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="1" >
+<cdparam x="475" y="480" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="467" y="365" id="45" />
+<P2  x="514" y="364" id="56" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="2" >
+<cdparam x="1021" y="460" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="564" y="164" id="6" />
+<P2  x="430" y="163" id="19" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="3" >
+<cdparam x="878" y="469" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="430" y="208" id="21" />
+<P2  x="564" y="209" id="8" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="4" >
+<cdparam x="424" y="585" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="424" y="585" id="32" />
+<P2  x="521" y="585" id="34" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="5" >
+<cdparam x="1144" y="348" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="1144" y="348" id="87" />
+<P2  x="1144" y="405" id="85" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1200" id="84" >
+<cdparam x="186" y="10" />
+<sizeparam width="672" height="618" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Composite component" value="CompositeComp1" />
+<TGConnectingPoint num="0" id="76" />
+<TGConnectingPoint num="1" id="77" />
+<TGConnectingPoint num="2" id="78" />
+<TGConnectingPoint num="3" id="79" />
+<TGConnectingPoint num="4" id="80" />
+<TGConnectingPoint num="5" id="81" />
+<TGConnectingPoint num="6" id="82" />
+<TGConnectingPoint num="7" id="83" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1202" id="18" >
+<father id="84" num="0" />
+<cdparam x="577" y="116" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" />
+<infoparam name="Primitive component" value="PrimitiveComp2" />
+<TGConnectingPoint num="0" id="10" />
+<TGConnectingPoint num="1" id="11" />
+<TGConnectingPoint num="2" id="12" />
+<TGConnectingPoint num="3" id="13" />
+<TGConnectingPoint num="4" id="14" />
+<TGConnectingPoint num="5" id="15" />
+<TGConnectingPoint num="6" id="16" />
+<TGConnectingPoint num="7" id="17" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="7" >
+<father id="18" num="0" />
+<cdparam x="564" y="151" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel" />
+<TGConnectingPoint num="0" id="6" />
+<extraparam>
+<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="9" >
+<father id="18" num="1" />
+<cdparam x="564" y="196" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Event event" />
+<TGConnectingPoint num="0" id="8" />
+<extraparam>
+<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="31" >
+<father id="84" num="1" />
+<cdparam x="217" y="116" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" />
+<infoparam name="Primitive component" value="PrimitiveComp1" />
+<TGConnectingPoint num="0" id="23" />
+<TGConnectingPoint num="1" id="24" />
+<TGConnectingPoint num="2" id="25" />
+<TGConnectingPoint num="3" id="26" />
+<TGConnectingPoint num="4" id="27" />
+<TGConnectingPoint num="5" id="28" />
+<TGConnectingPoint num="6" id="29" />
+<TGConnectingPoint num="7" id="30" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="20" >
+<father id="31" num="0" />
+<cdparam x="404" y="150" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel" />
+<TGConnectingPoint num="0" id="19" />
+<extraparam>
+<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="22" >
+<father id="31" num="1" />
+<cdparam x="404" y="195" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Event event" />
+<TGConnectingPoint num="0" id="21" />
+<extraparam>
+<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1200" id="75" >
+<father id="84" num="2" />
+<cdparam x="266" y="278" />
+<sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" />
+<infoparam name="Composite component" value="CompositeComp2" />
+<TGConnectingPoint num="0" id="67" />
+<TGConnectingPoint num="1" id="68" />
+<TGConnectingPoint num="2" id="69" />
+<TGConnectingPoint num="3" id="70" />
+<TGConnectingPoint num="4" id="71" />
+<TGConnectingPoint num="5" id="72" />
+<TGConnectingPoint num="6" id="73" />
+<TGConnectingPoint num="7" id="74" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="44" >
+<father id="75" num="0" />
+<cdparam x="399" y="491" />
+<sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" />
+<infoparam name="Primitive component" value="PrimitiveComp5" />
+<TGConnectingPoint num="0" id="36" />
+<TGConnectingPoint num="1" id="37" />
+<TGConnectingPoint num="2" id="38" />
+<TGConnectingPoint num="3" id="39" />
+<TGConnectingPoint num="4" id="40" />
+<TGConnectingPoint num="5" id="41" />
+<TGConnectingPoint num="6" id="42" />
+<TGConnectingPoint num="7" id="43" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+<Attribute access="2" id="attr1" value="" type="0" typeOther="" />
+<Attribute access="2" id="attr2" value="" type="4" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="33" >
+<father id="44" num="0" />
+<cdparam x="411" y="559" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel channel3" />
+<TGConnectingPoint num="0" id="32" />
+<extraparam>
+<Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="35" >
+<father id="44" num="1" />
+<cdparam x="508" y="559" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel channel3" />
+<TGConnectingPoint num="0" id="34" />
+<extraparam>
+<Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="55" >
+<father id="75" num="1" />
+<cdparam x="285" y="318" />
+<sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" />
+<infoparam name="Primitive component" value="PrimitiveComp3" />
+<TGConnectingPoint num="0" id="47" />
+<TGConnectingPoint num="1" id="48" />
+<TGConnectingPoint num="2" id="49" />
+<TGConnectingPoint num="3" id="50" />
+<TGConnectingPoint num="4" id="51" />
+<TGConnectingPoint num="5" id="52" />
+<TGConnectingPoint num="6" id="53" />
+<TGConnectingPoint num="7" id="54" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="46" >
+<father id="55" num="0" />
+<cdparam x="441" y="352" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel2" />
+<TGConnectingPoint num="0" id="45" />
+<extraparam>
+<Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="66" >
+<father id="75" num="2" />
+<cdparam x="527" y="316" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" />
+<infoparam name="Primitive component" value="PrimitiveComp4" />
+<TGConnectingPoint num="0" id="58" />
+<TGConnectingPoint num="1" id="59" />
+<TGConnectingPoint num="2" id="60" />
+<TGConnectingPoint num="3" id="61" />
+<TGConnectingPoint num="4" id="62" />
+<TGConnectingPoint num="5" id="63" />
+<TGConnectingPoint num="6" id="64" />
+<TGConnectingPoint num="7" id="65" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="57" >
+<father id="66" num="0" />
+<cdparam x="514" y="351" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel2" />
+<TGConnectingPoint num="0" id="56" />
+<extraparam>
+<Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="97" >
+<cdparam x="931" y="292" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="PrimitiveComp6" />
+<TGConnectingPoint num="0" id="89" />
+<TGConnectingPoint num="1" id="90" />
+<TGConnectingPoint num="2" id="91" />
+<TGConnectingPoint num="3" id="92" />
+<TGConnectingPoint num="4" id="93" />
+<TGConnectingPoint num="5" id="94" />
+<TGConnectingPoint num="6" id="95" />
+<TGConnectingPoint num="7" id="96" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="86" >
+<father id="97" num="0" />
+<cdparam x="1118" y="392" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel4" />
+<TGConnectingPoint num="0" id="85" />
+<extraparam>
+<Prop commName="channel4" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="88" >
+<father id="97" num="1" />
+<cdparam x="1118" y="335" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel4" />
+<TGConnectingPoint num="0" id="87" />
+<extraparam>
+<Prop commName="channel4" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp2" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="99" >
+<cdparam x="520" y="416" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="98" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="101" >
+<cdparam x="397" y="418" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="100" />
+</COMPONENT>
+
+<COMPONENT type="1010" id="104" >
+<cdparam x="501" y="302" />
+<sizeparam width="59" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="wait event" value="event() " />
+<TGConnectingPoint num="0" id="102" />
+<TGConnectingPoint num="1" id="103" />
+<extraparam>
+<Data eventName="event" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1009" id="107" >
+<cdparam x="366" y="296" />
+<sizeparam width="82" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="channel(1) " />
+<TGConnectingPoint num="0" id="105" />
+<TGConnectingPoint num="1" id="106" />
+<extraparam>
+<Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1012" id="115" >
+<cdparam x="392" y="175" />
+<sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="111" />
+<TGConnectingPoint num="1" id="112" />
+<TGConnectingPoint num="2" id="113" />
+<TGConnectingPoint num="3" id="114" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="108" >
+<father id="115" num="0" />
+<cdparam x="367" y="185" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="109" >
+<father id="115" num="1" />
+<cdparam x="427" y="185" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="110" >
+<father id="115" num="2" />
+<cdparam x="412" y="220" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="117" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="116" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="119" >
+<cdparam x="447" y="190" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="447" y="190" id="113" />
+<P2  x="530" y="297" id="102" />
+<Point x="530" y="243" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="118" >
+<father id="119" num="0" />
+<cdparam x="530" y="243" />
+<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="115" id="120" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="65" id="116" />
+<P2  x="407" y="165" id="111" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="121" >
+<cdparam x="407" y="230" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="230" id="114" />
+<P2  x="407" y="291" id="105" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="122" >
+<cdparam x="407" y="321" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="321" id="106" />
+<P2  x="407" y="413" id="100" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="123" >
+<cdparam x="530" y="327" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="530" y="327" id="103" />
+<P2  x="530" y="411" id="98" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="131" >
+<cdparam x="397" y="440" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="130" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="133" >
+<cdparam x="302" y="444" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="132" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="136" >
+<cdparam x="285" y="326" />
+<sizeparam width="55" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="send event" value="event()" />
+<TGConnectingPoint num="0" id="134" />
+<TGConnectingPoint num="1" id="135" />
+<extraparam>
+<Data eventName="event" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="139" >
+<cdparam x="368" y="324" />
+<sizeparam width="78" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="channel(1)" />
+<TGConnectingPoint num="0" id="137" />
+<TGConnectingPoint num="1" id="138" />
+<extraparam>
+<Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="Yes" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1012" id="147" >
+<cdparam x="392" y="183" />
+<sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="143" />
+<TGConnectingPoint num="1" id="144" />
+<TGConnectingPoint num="2" id="145" />
+<TGConnectingPoint num="3" id="146" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="140" >
+<father id="147" num="0" />
+<cdparam x="367" y="193" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="141" >
+<father id="147" num="1" />
+<cdparam x="427" y="193" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="142" >
+<father id="147" num="2" />
+<cdparam x="412" y="228" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="149" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="148" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="151" >
+<cdparam x="367" y="198" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="367" y="198" id="144" />
+<P2  x="312" y="321" id="134" />
+<Point x="312" y="198" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="150" >
+<father id="151" num="0" />
+<cdparam x="312" y="198" />
+<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="115" id="152" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="65" id="148" />
+<P2  x="407" y="173" id="143" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="153" >
+<cdparam x="407" y="238" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="238" id="146" />
+<P2  x="407" y="319" id="137" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="154" >
+<cdparam x="312" y="351" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="312" y="351" id="135" />
+<P2  x="312" y="439" id="132" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="155" >
+<cdparam x="407" y="349" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="349" id="138" />
+<P2  x="407" y="435" id="130" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp3" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="157" >
+<cdparam x="397" y="269" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="156" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="160" >
+<cdparam x="364" y="143" />
+<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="channel2(1)" />
+<TGConnectingPoint num="0" id="158" />
+<TGConnectingPoint num="1" id="159" />
+<extraparam>
+<Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="162" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="161" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="163" >
+<cdparam x="407" y="168" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="168" id="159" />
+<P2  x="407" y="264" id="156" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="164" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="65" id="161" />
+<P2  x="407" y="138" id="158" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp4" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="166" >
+<cdparam x="397" y="274" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="165" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="169" >
+<cdparam x="362" y="162" />
+<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="channel2(1) " />
+<TGConnectingPoint num="0" id="167" />
+<TGConnectingPoint num="1" id="168" />
+<extraparam>
+<Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="171" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="170" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="172" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="65" id="170" />
+<P2  x="407" y="157" id="167" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="173" >
+<cdparam x="407" y="187" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="187" id="168" />
+<P2  x="407" y="269" id="165" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp5" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="175" >
+<cdparam x="1077" y="1208" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="174" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="179" >
+<cdparam x="503" y="270" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="177" />
+<TGConnectingPoint num="1" id="178" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="176" >
+<father id="179" num="0" />
+<cdparam x="518" y="290" />
+<sizeparam width="16" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="10" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1015" id="183" >
+<cdparam x="510" y="341" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execIInterval" value="null" />
+<TGConnectingPoint num="0" id="181" />
+<TGConnectingPoint num="1" id="182" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="180" >
+<father id="183" num="0" />
+<cdparam x="525" y="361" />
+<sizeparam width="51" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the time interval" value="[10, 20]" />
+<extraparam>
+<Interval minDelay="10" maxDelay="20" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1026" id="187" >
+<cdparam x="508" y="413" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="delay" value="null" />
+<TGConnectingPoint num="0" id="185" />
+<TGConnectingPoint num="1" id="186" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="184" >
+<father id="187" num="0" />
+<cdparam x="523" y="433" />
+<sizeparam width="39" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="10 ms" />
+<extraparam>
+<TimeDelay minDelay="10" maxDelay="nope" hasMaxDelay="false" unit="ms" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1028" id="191" >
+<cdparam x="496" y="677" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="delayInterval" value="null" />
+<TGConnectingPoint num="0" id="189" />
+<TGConnectingPoint num="1" id="190" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="188" >
+<father id="191" num="0" />
+<cdparam x="511" y="697" />
+<sizeparam width="73" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the interval delay" value="[10, 20] ms" />
+<extraparam>
+<TimeDelay minDelay="10" maxDelay="20" hasMaxDelay="true" unit="ms" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1032" id="199" >
+<cdparam x="969" y="1006" />
+<sizeparam width="150" height="5" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="sequence" value="null" />
+<TGConnectingPoint num="0" id="193" />
+<TGConnectingPoint num="1" id="194" />
+<TGConnectingPoint num="2" id="195" />
+<TGConnectingPoint num="3" id="196" />
+<TGConnectingPoint num="4" id="197" />
+<TGConnectingPoint num="5" id="198" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="192" >
+<father id="199" num="0" />
+<cdparam x="1123" y="1013" />
+<sizeparam width="20" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="154" maxX="154" minY="7" maxY="7" />
+<infoparam name="Sequence information" value="&gt;&gt;" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1001" id="201" >
+<cdparam x="844" y="947" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="200" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="203" >
+<cdparam x="981" y="1153" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="202" />
+</COMPONENT>
+
+<COMPONENT type="1011" id="206" >
+<cdparam x="959" y="1053" />
+<sizeparam width="67" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="action state" value="attr1 = 2" />
+<TGConnectingPoint num="0" id="204" />
+<TGConnectingPoint num="1" id="205" />
+</COMPONENT>
+
+<COMPONENT type="1011" id="209" >
+<cdparam x="1041" y="1054" />
+<sizeparam width="85" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="action state" value="attr2 = true" />
+<TGConnectingPoint num="0" id="207" />
+<TGConnectingPoint num="1" id="208" />
+</COMPONENT>
+
+<COMPONENT type="1011" id="212" >
+<cdparam x="973" y="951" />
+<sizeparam width="75" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="action state" value="attr1 = 10" />
+<TGConnectingPoint num="0" id="210" />
+<TGConnectingPoint num="1" id="211" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="214" >
+<cdparam x="682" y="897" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="213" />
+</COMPONENT>
+
+<COMPONENT type="1014" id="218" >
+<cdparam x="731" y="877" />
+<sizeparam width="241" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for loop" value="for(attr1=0;attr1&lt;5;attr1 = attr1+1)" />
+<TGConnectingPoint num="0" id="215" />
+<TGConnectingPoint num="1" id="216" />
+<TGConnectingPoint num="2" id="217" />
+<extraparam>
+<Data init="attr1=0" condition="attr1&lt;5" increment="attr1 = attr1+1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1020" id="222" >
+<cdparam x="648" y="836" />
+<sizeparam width="98" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for loop" value="10" />
+<TGConnectingPoint num="0" id="219" />
+<TGConnectingPoint num="1" id="220" />
+<TGConnectingPoint num="2" id="221" />
+</COMPONENT>
+
+<COMPONENT type="1030" id="225" >
+<cdparam x="456" y="799" />
+<sizeparam width="92" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for ever loop" value="Loop for ever" />
+<TGConnectingPoint num="0" id="223" />
+<TGConnectingPoint num="1" id="224" />
+</COMPONENT>
+
+<COMPONENT type="1024" id="228" >
+<cdparam x="420" y="736" />
+<sizeparam width="162" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="null" />
+<TGConnectingPoint num="0" id="226" />
+<TGConnectingPoint num="1" id="227" />
+<extraparam>
+<Data variable="attr1" minValue="0" maxValue="10" functionId="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1036" id="231" >
+<cdparam x="499" y="597" />
+<sizeparam width="15" height="35" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="decrypt" value="null" />
+<TGConnectingPoint num="0" id="229" />
+<TGConnectingPoint num="1" id="230" />
+<extraparam>
+<Data secPattern="encryption1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1035" id="234" >
+<cdparam x="504" y="503" />
+<sizeparam width="15" height="35" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="encrypt" value="null" />
+<TGConnectingPoint num="0" id="232" />
+<TGConnectingPoint num="1" id="233" />
+<extraparam>
+<Data secContext="encryption1" type="" overhead="" size="" encTime="100" decTime="100" nonce="" key="" algorithm="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1009" id="237" >
+<cdparam x="1037" y="1135" />
+<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="channel3(1) " />
+<TGConnectingPoint num="0" id="235" />
+<TGConnectingPoint num="1" id="236" />
+<extraparam>
+<Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="240" >
+<cdparam x="468" y="200" />
+<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="channel3(1)" />
+<TGConnectingPoint num="0" id="238" />
+<TGConnectingPoint num="1" id="239" />
+<extraparam>
+<Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="242" >
+<cdparam x="504" y="107" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="241" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="244" >
+<cdparam x="746" y="850" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="746" y="850" id="220" />
+<P2  x="851" y="872" id="215" />
+<Point x="859" y="844" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="243" >
+<father id="244" num="0" />
+<cdparam x="859" y="844" />
+<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="115" id="245" >
+<cdparam x="972" y="891" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="972" y="891" id="216" />
+<P2  x="1010" y="946" id="210" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="246" >
+<cdparam x="1083" y="1079" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="1083" y="1079" id="208" />
+<P2  x="1082" y="1130" id="235" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="247" >
+<cdparam x="511" y="122" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="511" y="122" id="241" />
+<P2  x="511" y="195" id="238" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="248" >
+<cdparam x="511" y="225" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="511" y="225" id="239" />
+<P2  x="508" y="265" id="177" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="249" >
+<cdparam x="508" y="305" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="508" y="305" id="178" />
+<P2  x="515" y="336" id="181" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="250" >
+<cdparam x="515" y="376" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="515" y="376" id="182" />
+<P2  x="513" y="408" id="185" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="251" >
+<cdparam x="513" y="448" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="513" y="448" id="186" />
+<P2  x="511" y="498" id="232" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="252" >
+<cdparam x="511" y="548" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="511" y="548" id="233" />
+<P2  x="506" y="592" id="229" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="253" >
+<cdparam x="506" y="642" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="506" y="642" id="230" />
+<P2  x="501" y="672" id="189" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="254" >
+<cdparam x="501" y="712" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="501" y="712" id="190" />
+<P2  x="501" y="731" id="226" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="255" >
+<cdparam x="501" y="761" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="501" y="761" id="227" />
+<P2  x="502" y="794" id="223" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="256" >
+<cdparam x="548" y="813" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="548" y="813" id="224" />
+<P2  x="697" y="831" id="219" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="257" >
+<cdparam x="697" y="861" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="697" y="861" id="221" />
+<P2  x="692" y="892" id="213" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="258" >
+<cdparam x="1010" y="976" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="1010" y="976" id="211" />
+<P2  x="1044" y="1006" id="193" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="259" >
+<cdparam x="1069" y="1011" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="1069" y="1011" id="197" />
+<P2  x="1083" y="1049" id="207" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="260" >
+<cdparam x="994" y="1011" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="994" y="1011" id="194" />
+<P2  x="992" y="1048" id="204" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="261" >
+<cdparam x="992" y="1078" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="992" y="1078" id="205" />
+<P2  x="991" y="1148" id="202" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="262" >
+<cdparam x="851" y="902" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="851" y="902" id="217" />
+<P2  x="854" y="942" id="200" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="263" >
+<cdparam x="1082" y="1160" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="1082" y="1160" id="236" />
+<P2  x="1087" y="1203" id="174" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp6" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="265" >
+<cdparam x="397" y="331" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="264" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="268" >
+<cdparam x="362" y="233" />
+<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="channel4(1) " />
+<TGConnectingPoint num="0" id="266" />
+<TGConnectingPoint num="1" id="267" />
+<extraparam>
+<Data channelName="channel4" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="271" >
+<cdparam x="364" y="133" />
+<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="channel4(1)" />
+<TGConnectingPoint num="0" id="269" />
+<TGConnectingPoint num="1" id="270" />
+<extraparam>
+<Data channelName="channel4" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="273" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="272" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="274" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="65" id="272" />
+<P2  x="407" y="128" id="269" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="275" >
+<cdparam x="407" y="158" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="158" id="270" />
+<P2  x="407" y="228" id="266" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="276" >
+<cdparam x="407" y="258" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="258" id="267" />
+<P2  x="407" y="326" id="264" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="Architecture" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1100" id="355" >
+<cdparam x="83" y="128" />
+<sizeparam width="552" height="225" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU0" value="name" />
+<TGConnectingPoint num="0" id="331" />
+<TGConnectingPoint num="1" id="332" />
+<TGConnectingPoint num="2" id="333" />
+<TGConnectingPoint num="3" id="334" />
+<TGConnectingPoint num="4" id="335" />
+<TGConnectingPoint num="5" id="336" />
+<TGConnectingPoint num="6" id="337" />
+<TGConnectingPoint num="7" id="338" />
+<TGConnectingPoint num="8" id="339" />
+<TGConnectingPoint num="9" id="340" />
+<TGConnectingPoint num="10" id="341" />
+<TGConnectingPoint num="11" id="342" />
+<TGConnectingPoint num="12" id="343" />
+<TGConnectingPoint num="13" id="344" />
+<TGConnectingPoint num="14" id="345" />
+<TGConnectingPoint num="15" id="346" />
+<TGConnectingPoint num="16" id="347" />
+<TGConnectingPoint num="17" id="348" />
+<TGConnectingPoint num="18" id="349" />
+<TGConnectingPoint num="19" id="350" />
+<TGConnectingPoint num="20" id="351" />
+<TGConnectingPoint num="21" id="352" />
+<TGConnectingPoint num="22" id="353" />
+<TGConnectingPoint num="23" id="354" />
+<extraparam>
+<info stereotype="CPU" nodeName="CPU0" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="285" >
+<father id="355" num="0" />
+<cdparam x="110" y="152" />
+<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
+<infoparam name="TGComponent" value="Application::PrimitiveComp1" />
+<TGConnectingPoint num="0" id="277" />
+<TGConnectingPoint num="1" id="278" />
+<TGConnectingPoint num="2" id="279" />
+<TGConnectingPoint num="3" id="280" />
+<TGConnectingPoint num="4" id="281" />
+<TGConnectingPoint num="5" id="282" />
+<TGConnectingPoint num="6" id="283" />
+<TGConnectingPoint num="7" id="284" />
+<extraparam>
+<info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="294" >
+<father id="355" num="1" />
+<cdparam x="111" y="201" />
+<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
+<infoparam name="TGComponent" value="Application::PrimitiveComp2" />
+<TGConnectingPoint num="0" id="286" />
+<TGConnectingPoint num="1" id="287" />
+<TGConnectingPoint num="2" id="288" />
+<TGConnectingPoint num="3" id="289" />
+<TGConnectingPoint num="4" id="290" />
+<TGConnectingPoint num="5" id="291" />
+<TGConnectingPoint num="6" id="292" />
+<TGConnectingPoint num="7" id="293" />
+<extraparam>
+<info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="303" >
+<father id="355" num="2" />
+<cdparam x="112" y="261" />
+<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
+<infoparam name="TGComponent" value="Application::PrimitiveComp3" />
+<TGConnectingPoint num="0" id="295" />
+<TGConnectingPoint num="1" id="296" />
+<TGConnectingPoint num="2" id="297" />
+<TGConnectingPoint num="3" id="298" />
+<TGConnectingPoint num="4" id="299" />
+<TGConnectingPoint num="5" id="300" />
+<TGConnectingPoint num="6" id="301" />
+<TGConnectingPoint num="7" id="302" />
+<extraparam>
+<info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="312" >
+<father id="355" num="3" />
+<cdparam x="393" y="144" />
+<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
+<infoparam name="TGComponent" value="Application::PrimitiveComp4" />
+<TGConnectingPoint num="0" id="304" />
+<TGConnectingPoint num="1" id="305" />
+<TGConnectingPoint num="2" id="306" />
+<TGConnectingPoint num="3" id="307" />
+<TGConnectingPoint num="4" id="308" />
+<TGConnectingPoint num="5" id="309" />
+<TGConnectingPoint num="6" id="310" />
+<TGConnectingPoint num="7" id="311" />
+<extraparam>
+<info value="Application::PrimitiveComp4" taskName="PrimitiveComp4" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="321" >
+<father id="355" num="4" />
+<cdparam x="371" y="203" />
+<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
+<infoparam name="TGComponent" value="Application::PrimitiveComp5" />
+<TGConnectingPoint num="0" id="313" />
+<TGConnectingPoint num="1" id="314" />
+<TGConnectingPoint num="2" id="315" />
+<TGConnectingPoint num="3" id="316" />
+<TGConnectingPoint num="4" id="317" />
+<TGConnectingPoint num="5" id="318" />
+<TGConnectingPoint num="6" id="319" />
+<TGConnectingPoint num="7" id="320" />
+<extraparam>
+<info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="330" >
+<father id="355" num="5" />
+<cdparam x="376" y="255" />
+<sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
+<infoparam name="TGComponent" value="Application::PrimitiveComp6" />
+<TGConnectingPoint num="0" id="322" />
+<TGConnectingPoint num="1" id="323" />
+<TGConnectingPoint num="2" id="324" />
+<TGConnectingPoint num="3" id="325" />
+<TGConnectingPoint num="4" id="326" />
+<TGConnectingPoint num="5" id="327" />
+<TGConnectingPoint num="6" id="328" />
+<TGConnectingPoint num="7" id="329" />
+<extraparam>
+<info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="380" >
+<cdparam x="1276" y="110" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU2" value="name" />
+<TGConnectingPoint num="0" id="356" />
+<TGConnectingPoint num="1" id="357" />
+<TGConnectingPoint num="2" id="358" />
+<TGConnectingPoint num="3" id="359" />
+<TGConnectingPoint num="4" id="360" />
+<TGConnectingPoint num="5" id="361" />
+<TGConnectingPoint num="6" id="362" />
+<TGConnectingPoint num="7" id="363" />
+<TGConnectingPoint num="8" id="364" />
+<TGConnectingPoint num="9" id="365" />
+<TGConnectingPoint num="10" id="366" />
+<TGConnectingPoint num="11" id="367" />
+<TGConnectingPoint num="12" id="368" />
+<TGConnectingPoint num="13" id="369" />
+<TGConnectingPoint num="14" id="370" />
+<TGConnectingPoint num="15" id="371" />
+<TGConnectingPoint num="16" id="372" />
+<TGConnectingPoint num="17" id="373" />
+<TGConnectingPoint num="18" id="374" />
+<TGConnectingPoint num="19" id="375" />
+<TGConnectingPoint num="20" id="376" />
+<TGConnectingPoint num="21" id="377" />
+<TGConnectingPoint num="22" id="378" />
+<TGConnectingPoint num="23" id="379" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU2" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1100" id="405" >
+<cdparam x="991" y="100" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU1" value="name" />
+<TGConnectingPoint num="0" id="381" />
+<TGConnectingPoint num="1" id="382" />
+<TGConnectingPoint num="2" id="383" />
+<TGConnectingPoint num="3" id="384" />
+<TGConnectingPoint num="4" id="385" />
+<TGConnectingPoint num="5" id="386" />
+<TGConnectingPoint num="6" id="387" />
+<TGConnectingPoint num="7" id="388" />
+<TGConnectingPoint num="8" id="389" />
+<TGConnectingPoint num="9" id="390" />
+<TGConnectingPoint num="10" id="391" />
+<TGConnectingPoint num="11" id="392" />
+<TGConnectingPoint num="12" id="393" />
+<TGConnectingPoint num="13" id="394" />
+<TGConnectingPoint num="14" id="395" />
+<TGConnectingPoint num="15" id="396" />
+<TGConnectingPoint num="16" id="397" />
+<TGConnectingPoint num="17" id="398" />
+<TGConnectingPoint num="18" id="399" />
+<TGConnectingPoint num="19" id="400" />
+<TGConnectingPoint num="20" id="401" />
+<TGConnectingPoint num="21" id="402" />
+<TGConnectingPoint num="22" id="403" />
+<TGConnectingPoint num="23" id="404" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1107" id="430" >
+<cdparam x="699" y="398" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="DMA0" value="name" />
+<TGConnectingPoint num="0" id="406" />
+<TGConnectingPoint num="1" id="407" />
+<TGConnectingPoint num="2" id="408" />
+<TGConnectingPoint num="3" id="409" />
+<TGConnectingPoint num="4" id="410" />
+<TGConnectingPoint num="5" id="411" />
+<TGConnectingPoint num="6" id="412" />
+<TGConnectingPoint num="7" id="413" />
+<TGConnectingPoint num="8" id="414" />
+<TGConnectingPoint num="9" id="415" />
+<TGConnectingPoint num="10" id="416" />
+<TGConnectingPoint num="11" id="417" />
+<TGConnectingPoint num="12" id="418" />
+<TGConnectingPoint num="13" id="419" />
+<TGConnectingPoint num="14" id="420" />
+<TGConnectingPoint num="15" id="421" />
+<TGConnectingPoint num="16" id="422" />
+<TGConnectingPoint num="17" id="423" />
+<TGConnectingPoint num="18" id="424" />
+<TGConnectingPoint num="19" id="425" />
+<TGConnectingPoint num="20" id="426" />
+<TGConnectingPoint num="21" id="427" />
+<TGConnectingPoint num="22" id="428" />
+<TGConnectingPoint num="23" id="429" />
+<extraparam>
+<info stereotype="DMA" nodeName="DMA0" />
+<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="455" >
+<cdparam x="344" y="601" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="431" />
+<TGConnectingPoint num="1" id="432" />
+<TGConnectingPoint num="2" id="433" />
+<TGConnectingPoint num="3" id="434" />
+<TGConnectingPoint num="4" id="435" />
+<TGConnectingPoint num="5" id="436" />
+<TGConnectingPoint num="6" id="437" />
+<TGConnectingPoint num="7" id="438" />
+<TGConnectingPoint num="8" id="439" />
+<TGConnectingPoint num="9" id="440" />
+<TGConnectingPoint num="10" id="441" />
+<TGConnectingPoint num="11" id="442" />
+<TGConnectingPoint num="12" id="443" />
+<TGConnectingPoint num="13" id="444" />
+<TGConnectingPoint num="14" id="445" />
+<TGConnectingPoint num="15" id="446" />
+<TGConnectingPoint num="16" id="447" />
+<TGConnectingPoint num="17" id="448" />
+<TGConnectingPoint num="18" id="449" />
+<TGConnectingPoint num="19" id="450" />
+<TGConnectingPoint num="20" id="451" />
+<TGConnectingPoint num="21" id="452" />
+<TGConnectingPoint num="22" id="453" />
+<TGConnectingPoint num="23" id="454" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="480" >
+<cdparam x="1363" y="461" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus1" value="name" />
+<TGConnectingPoint num="0" id="456" />
+<TGConnectingPoint num="1" id="457" />
+<TGConnectingPoint num="2" id="458" />
+<TGConnectingPoint num="3" id="459" />
+<TGConnectingPoint num="4" id="460" />
+<TGConnectingPoint num="5" id="461" />
+<TGConnectingPoint num="6" id="462" />
+<TGConnectingPoint num="7" id="463" />
+<TGConnectingPoint num="8" id="464" />
+<TGConnectingPoint num="9" id="465" />
+<TGConnectingPoint num="10" id="466" />
+<TGConnectingPoint num="11" id="467" />
+<TGConnectingPoint num="12" id="468" />
+<TGConnectingPoint num="13" id="469" />
+<TGConnectingPoint num="14" id="470" />
+<TGConnectingPoint num="15" id="471" />
+<TGConnectingPoint num="16" id="472" />
+<TGConnectingPoint num="17" id="473" />
+<TGConnectingPoint num="18" id="474" />
+<TGConnectingPoint num="19" id="475" />
+<TGConnectingPoint num="20" id="476" />
+<TGConnectingPoint num="21" id="477" />
+<TGConnectingPoint num="22" id="478" />
+<TGConnectingPoint num="23" id="479" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus1" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="505" >
+<cdparam x="316" y="416" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="481" />
+<TGConnectingPoint num="1" id="482" />
+<TGConnectingPoint num="2" id="483" />
+<TGConnectingPoint num="3" id="484" />
+<TGConnectingPoint num="4" id="485" />
+<TGConnectingPoint num="5" id="486" />
+<TGConnectingPoint num="6" id="487" />
+<TGConnectingPoint num="7" id="488" />
+<TGConnectingPoint num="8" id="489" />
+<TGConnectingPoint num="9" id="490" />
+<TGConnectingPoint num="10" id="491" />
+<TGConnectingPoint num="11" id="492" />
+<TGConnectingPoint num="12" id="493" />
+<TGConnectingPoint num="13" id="494" />
+<TGConnectingPoint num="14" id="495" />
+<TGConnectingPoint num="15" id="496" />
+<TGConnectingPoint num="16" id="497" />
+<TGConnectingPoint num="17" id="498" />
+<TGConnectingPoint num="18" id="499" />
+<TGConnectingPoint num="19" id="500" />
+<TGConnectingPoint num="20" id="501" />
+<TGConnectingPoint num="21" id="502" />
+<TGConnectingPoint num="22" id="503" />
+<TGConnectingPoint num="23" id="504" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1116" id="530" >
+<cdparam x="1355" y="573" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="FPGA1" value="name" />
+<TGConnectingPoint num="0" id="506" />
+<TGConnectingPoint num="1" id="507" />
+<TGConnectingPoint num="2" id="508" />
+<TGConnectingPoint num="3" id="509" />
+<TGConnectingPoint num="4" id="510" />
+<TGConnectingPoint num="5" id="511" />
+<TGConnectingPoint num="6" id="512" />
+<TGConnectingPoint num="7" id="513" />
+<TGConnectingPoint num="8" id="514" />
+<TGConnectingPoint num="9" id="515" />
+<TGConnectingPoint num="10" id="516" />
+<TGConnectingPoint num="11" id="517" />
+<TGConnectingPoint num="12" id="518" />
+<TGConnectingPoint num="13" id="519" />
+<TGConnectingPoint num="14" id="520" />
+<TGConnectingPoint num="15" id="521" />
+<TGConnectingPoint num="16" id="522" />
+<TGConnectingPoint num="17" id="523" />
+<TGConnectingPoint num="18" id="524" />
+<TGConnectingPoint num="19" id="525" />
+<TGConnectingPoint num="20" id="526" />
+<TGConnectingPoint num="21" id="527" />
+<TGConnectingPoint num="22" id="528" />
+<TGConnectingPoint num="23" id="529" />
+<extraparam>
+<info stereotype="FPGA" nodeName="FPGA1" />
+<attributes capacity="100" byteDataSize="4"  mappingPenalty="0"  reconfigurationTime="50"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  execiTime="1" execcTime="1" clockRatio="1" operation =""  scheduling ="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1116" id="555" >
+<cdparam x="74" y="596" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="FPGA0" value="name" />
+<TGConnectingPoint num="0" id="531" />
+<TGConnectingPoint num="1" id="532" />
+<TGConnectingPoint num="2" id="533" />
+<TGConnectingPoint num="3" id="534" />
+<TGConnectingPoint num="4" id="535" />
+<TGConnectingPoint num="5" id="536" />
+<TGConnectingPoint num="6" id="537" />
+<TGConnectingPoint num="7" id="538" />
+<TGConnectingPoint num="8" id="539" />
+<TGConnectingPoint num="9" id="540" />
+<TGConnectingPoint num="10" id="541" />
+<TGConnectingPoint num="11" id="542" />
+<TGConnectingPoint num="12" id="543" />
+<TGConnectingPoint num="13" id="544" />
+<TGConnectingPoint num="14" id="545" />
+<TGConnectingPoint num="15" id="546" />
+<TGConnectingPoint num="16" id="547" />
+<TGConnectingPoint num="17" id="548" />
+<TGConnectingPoint num="18" id="549" />
+<TGConnectingPoint num="19" id="550" />
+<TGConnectingPoint num="20" id="551" />
+<TGConnectingPoint num="21" id="552" />
+<TGConnectingPoint num="22" id="553" />
+<TGConnectingPoint num="23" id="554" />
+<extraparam>
+<info stereotype="FPGA" nodeName="FPGA0" />
+<attributes capacity="100" byteDataSize="4"  mappingPenalty="0"  reconfigurationTime="50"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  execiTime="1" execcTime="1" clockRatio="1" operation =""  scheduling ="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1106" id="580" >
+<cdparam x="1108" y="814" />
+<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bridge1" value="name" />
+<TGConnectingPoint num="0" id="556" />
+<TGConnectingPoint num="1" id="557" />
+<TGConnectingPoint num="2" id="558" />
+<TGConnectingPoint num="3" id="559" />
+<TGConnectingPoint num="4" id="560" />
+<TGConnectingPoint num="5" id="561" />
+<TGConnectingPoint num="6" id="562" />
+<TGConnectingPoint num="7" id="563" />
+<TGConnectingPoint num="8" id="564" />
+<TGConnectingPoint num="9" id="565" />
+<TGConnectingPoint num="10" id="566" />
+<TGConnectingPoint num="11" id="567" />
+<TGConnectingPoint num="12" id="568" />
+<TGConnectingPoint num="13" id="569" />
+<TGConnectingPoint num="14" id="570" />
+<TGConnectingPoint num="15" id="571" />
+<TGConnectingPoint num="16" id="572" />
+<TGConnectingPoint num="17" id="573" />
+<TGConnectingPoint num="18" id="574" />
+<TGConnectingPoint num="19" id="575" />
+<TGConnectingPoint num="20" id="576" />
+<TGConnectingPoint num="21" id="577" />
+<TGConnectingPoint num="22" id="578" />
+<TGConnectingPoint num="23" id="579" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="Bridge1" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1104" id="605" >
+<cdparam x="1393" y="804" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="HWA1" value="name" />
+<TGConnectingPoint num="0" id="581" />
+<TGConnectingPoint num="1" id="582" />
+<TGConnectingPoint num="2" id="583" />
+<TGConnectingPoint num="3" id="584" />
+<TGConnectingPoint num="4" id="585" />
+<TGConnectingPoint num="5" id="586" />
+<TGConnectingPoint num="6" id="587" />
+<TGConnectingPoint num="7" id="588" />
+<TGConnectingPoint num="8" id="589" />
+<TGConnectingPoint num="9" id="590" />
+<TGConnectingPoint num="10" id="591" />
+<TGConnectingPoint num="11" id="592" />
+<TGConnectingPoint num="12" id="593" />
+<TGConnectingPoint num="13" id="594" />
+<TGConnectingPoint num="14" id="595" />
+<TGConnectingPoint num="15" id="596" />
+<TGConnectingPoint num="16" id="597" />
+<TGConnectingPoint num="17" id="598" />
+<TGConnectingPoint num="18" id="599" />
+<TGConnectingPoint num="19" id="600" />
+<TGConnectingPoint num="20" id="601" />
+<TGConnectingPoint num="21" id="602" />
+<TGConnectingPoint num="22" id="603" />
+<TGConnectingPoint num="23" id="604" />
+<extraparam>
+<info stereotype="HWA" nodeName="HWA1" />
+<attributes byteDataSize="4"  execiTime="1"  clockRatio="1"  operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1104" id="630" >
+<cdparam x="672" y="681" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="HWA0" value="name" />
+<TGConnectingPoint num="0" id="606" />
+<TGConnectingPoint num="1" id="607" />
+<TGConnectingPoint num="2" id="608" />
+<TGConnectingPoint num="3" id="609" />
+<TGConnectingPoint num="4" id="610" />
+<TGConnectingPoint num="5" id="611" />
+<TGConnectingPoint num="6" id="612" />
+<TGConnectingPoint num="7" id="613" />
+<TGConnectingPoint num="8" id="614" />
+<TGConnectingPoint num="9" id="615" />
+<TGConnectingPoint num="10" id="616" />
+<TGConnectingPoint num="11" id="617" />
+<TGConnectingPoint num="12" id="618" />
+<TGConnectingPoint num="13" id="619" />
+<TGConnectingPoint num="14" id="620" />
+<TGConnectingPoint num="15" id="621" />
+<TGConnectingPoint num="16" id="622" />
+<TGConnectingPoint num="17" id="623" />
+<TGConnectingPoint num="18" id="624" />
+<TGConnectingPoint num="19" id="625" />
+<TGConnectingPoint num="20" id="626" />
+<TGConnectingPoint num="21" id="627" />
+<TGConnectingPoint num="22" id="628" />
+<TGConnectingPoint num="23" id="629" />
+<extraparam>
+<info stereotype="HWA" nodeName="HWA0" />
+<attributes byteDataSize="4"  execiTime="1"  clockRatio="1"  operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1107" id="655" >
+<cdparam x="1109" y="354" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="DMA1" value="name" />
+<TGConnectingPoint num="0" id="631" />
+<TGConnectingPoint num="1" id="632" />
+<TGConnectingPoint num="2" id="633" />
+<TGConnectingPoint num="3" id="634" />
+<TGConnectingPoint num="4" id="635" />
+<TGConnectingPoint num="5" id="636" />
+<TGConnectingPoint num="6" id="637" />
+<TGConnectingPoint num="7" id="638" />
+<TGConnectingPoint num="8" id="639" />
+<TGConnectingPoint num="9" id="640" />
+<TGConnectingPoint num="10" id="641" />
+<TGConnectingPoint num="11" id="642" />
+<TGConnectingPoint num="12" id="643" />
+<TGConnectingPoint num="13" id="644" />
+<TGConnectingPoint num="14" id="645" />
+<TGConnectingPoint num="15" id="646" />
+<TGConnectingPoint num="16" id="647" />
+<TGConnectingPoint num="17" id="648" />
+<TGConnectingPoint num="18" id="649" />
+<TGConnectingPoint num="19" id="650" />
+<TGConnectingPoint num="20" id="651" />
+<TGConnectingPoint num="21" id="652" />
+<TGConnectingPoint num="22" id="653" />
+<TGConnectingPoint num="23" id="654" />
+<extraparam>
+<info stereotype="DMA" nodeName="DMA1" />
+<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="680" >
+<cdparam x="1115" y="579" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Memory1" value="name" />
+<TGConnectingPoint num="0" id="656" />
+<TGConnectingPoint num="1" id="657" />
+<TGConnectingPoint num="2" id="658" />
+<TGConnectingPoint num="3" id="659" />
+<TGConnectingPoint num="4" id="660" />
+<TGConnectingPoint num="5" id="661" />
+<TGConnectingPoint num="6" id="662" />
+<TGConnectingPoint num="7" id="663" />
+<TGConnectingPoint num="8" id="664" />
+<TGConnectingPoint num="9" id="665" />
+<TGConnectingPoint num="10" id="666" />
+<TGConnectingPoint num="11" id="667" />
+<TGConnectingPoint num="12" id="668" />
+<TGConnectingPoint num="13" id="669" />
+<TGConnectingPoint num="14" id="670" />
+<TGConnectingPoint num="15" id="671" />
+<TGConnectingPoint num="16" id="672" />
+<TGConnectingPoint num="17" id="673" />
+<TGConnectingPoint num="18" id="674" />
+<TGConnectingPoint num="19" id="675" />
+<TGConnectingPoint num="20" id="676" />
+<TGConnectingPoint num="21" id="677" />
+<TGConnectingPoint num="22" id="678" />
+<TGConnectingPoint num="23" id="679" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory1" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1106" id="705" >
+<cdparam x="13" y="416" />
+<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bridge0" value="name" />
+<TGConnectingPoint num="0" id="681" />
+<TGConnectingPoint num="1" id="682" />
+<TGConnectingPoint num="2" id="683" />
+<TGConnectingPoint num="3" id="684" />
+<TGConnectingPoint num="4" id="685" />
+<TGConnectingPoint num="5" id="686" />
+<TGConnectingPoint num="6" id="687" />
+<TGConnectingPoint num="7" id="688" />
+<TGConnectingPoint num="8" id="689" />
+<TGConnectingPoint num="9" id="690" />
+<TGConnectingPoint num="10" id="691" />
+<TGConnectingPoint num="11" id="692" />
+<TGConnectingPoint num="12" id="693" />
+<TGConnectingPoint num="13" id="694" />
+<TGConnectingPoint num="14" id="695" />
+<TGConnectingPoint num="15" id="696" />
+<TGConnectingPoint num="16" id="697" />
+<TGConnectingPoint num="17" id="698" />
+<TGConnectingPoint num="18" id="699" />
+<TGConnectingPoint num="19" id="700" />
+<TGConnectingPoint num="20" id="701" />
+<TGConnectingPoint num="21" id="702" />
+<TGConnectingPoint num="22" id="703" />
+<TGConnectingPoint num="23" id="704" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="Bridge0" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1117" id="730" >
+<cdparam x="686" y="230" />
+<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="NoC0" value="name" />
+<TGConnectingPoint num="0" id="706" />
+<TGConnectingPoint num="1" id="707" />
+<TGConnectingPoint num="2" id="708" />
+<TGConnectingPoint num="3" id="709" />
+<TGConnectingPoint num="4" id="710" />
+<TGConnectingPoint num="5" id="711" />
+<TGConnectingPoint num="6" id="712" />
+<TGConnectingPoint num="7" id="713" />
+<TGConnectingPoint num="8" id="714" />
+<TGConnectingPoint num="9" id="715" />
+<TGConnectingPoint num="10" id="716" />
+<TGConnectingPoint num="11" id="717" />
+<TGConnectingPoint num="12" id="718" />
+<TGConnectingPoint num="13" id="719" />
+<TGConnectingPoint num="14" id="720" />
+<TGConnectingPoint num="15" id="721" />
+<TGConnectingPoint num="16" id="722" />
+<TGConnectingPoint num="17" id="723" />
+<TGConnectingPoint num="18" id="724" />
+<TGConnectingPoint num="19" id="725" />
+<TGConnectingPoint num="20" id="726" />
+<TGConnectingPoint num="21" id="727" />
+<TGConnectingPoint num="22" id="728" />
+<TGConnectingPoint num="23" id="729" />
+<extraparam>
+<info stereotype="NoC" nodeName="NoC0" />
+<attributes bufferByteDataSize="4"  size="2"  placement="CPU1 1 0"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="125" id="731" >
+<cdparam x="199" y="596" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="199" y="596" id="532" />
+<P2  x="378" y="466" id="495" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="732" >
+<cdparam x="262" y="461" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="263" y="466" id="685" />
+<P2  x="316" y="441" id="484" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="733" >
+<cdparam x="770" y="476" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="699" y="448" id="416" />
+<P2  x="566" y="441" id="485" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="734" >
+<cdparam x="298" y="533" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="444" y="601" id="432" />
+<P2  x="441" y="466" id="487" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="735" >
+<cdparam x="444" y="328" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="359" y="353" id="337" />
+<P2  x="441" y="416" id="482" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="736" >
+<cdparam x="759" y="623" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="722" y="681" id="614" />
+<P2  x="503" y="466" id="496" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+</TURTLEGMODELING>
\ No newline at end of file
diff --git a/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml b/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
index 85151e379290a631dffdd9344f818574cfbd5ce6..bbbc49773fd238e209b1ba99942efe83a7ec520a 100644
--- a/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+++ b/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
@@ -1,94 +1,94 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false">
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="0" LAST_SELECTED_SUB_TAB="0">
 
 <Modeling type="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1$PrimitiveComp3$PrimitiveComp4$PrimitiveComp5$PrimitiveComp6" >
 <TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
-<CONNECTOR type="126" id="1" >
-<cdparam x="1144" y="348" />
+<CONNECTOR type="126" id="5" >
+<cdparam x="475" y="480" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1131" y="335" id="87" />
-<P2  x="1131" y="392" id="85" />
+<P1  x="467" y="365" id="58" />
+<P2  x="514" y="364" id="69" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="2" >
-<cdparam x="424" y="585" />
+<CONNECTOR type="126" id="4" >
+<cdparam x="1021" y="460" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="424" y="559" id="32" />
-<P2  x="521" y="559" id="34" />
+<P1  x="564" y="164" id="19" />
+<P2  x="430" y="163" id="32" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="3" >
 <cdparam x="878" y="469" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="417" y="195" id="21" />
-<P2  x="577" y="196" id="8" />
+<P1  x="430" y="208" id="34" />
+<P2  x="564" y="209" id="21" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="4" >
-<cdparam x="1021" y="460" />
+<CONNECTOR type="126" id="2" >
+<cdparam x="424" y="585" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="577" y="151" id="6" />
-<P2  x="417" y="150" id="19" />
+<P1  x="424" y="585" id="45" />
+<P2  x="521" y="585" id="47" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="5" >
-<cdparam x="475" y="480" />
+<CONNECTOR type="126" id="1" >
+<cdparam x="1144" y="348" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="454" y="352" id="45" />
-<P2  x="527" y="351" id="56" />
+<P1  x="1144" y="348" id="8" />
+<P2  x="1144" y="405" id="6" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<COMPONENT type="1200" id="84" >
+<COMPONENT type="1200" id="97" >
 <cdparam x="186" y="10" />
 <sizeparam width="672" height="618" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="Composite component" value="CompositeComp1" />
-<TGConnectingPoint num="0" id="76" />
-<TGConnectingPoint num="1" id="77" />
-<TGConnectingPoint num="2" id="78" />
-<TGConnectingPoint num="3" id="79" />
-<TGConnectingPoint num="4" id="80" />
-<TGConnectingPoint num="5" id="81" />
-<TGConnectingPoint num="6" id="82" />
-<TGConnectingPoint num="7" id="83" />
+<TGConnectingPoint num="0" id="89" />
+<TGConnectingPoint num="1" id="90" />
+<TGConnectingPoint num="2" id="91" />
+<TGConnectingPoint num="3" id="92" />
+<TGConnectingPoint num="4" id="93" />
+<TGConnectingPoint num="5" id="94" />
+<TGConnectingPoint num="6" id="95" />
+<TGConnectingPoint num="7" id="96" />
 <extraparam>
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="18" >
-<father id="84" num="0" />
+<SUBCOMPONENT type="1202" id="31" >
+<father id="97" num="0" />
 <cdparam x="577" y="116" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" />
 <infoparam name="Primitive component" value="PrimitiveComp2" />
-<TGConnectingPoint num="0" id="10" />
-<TGConnectingPoint num="1" id="11" />
-<TGConnectingPoint num="2" id="12" />
-<TGConnectingPoint num="3" id="13" />
-<TGConnectingPoint num="4" id="14" />
-<TGConnectingPoint num="5" id="15" />
-<TGConnectingPoint num="6" id="16" />
-<TGConnectingPoint num="7" id="17" />
+<TGConnectingPoint num="0" id="23" />
+<TGConnectingPoint num="1" id="24" />
+<TGConnectingPoint num="2" id="25" />
+<TGConnectingPoint num="3" id="26" />
+<TGConnectingPoint num="4" id="27" />
+<TGConnectingPoint num="5" id="28" />
+<TGConnectingPoint num="6" id="29" />
+<TGConnectingPoint num="7" id="30" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="7" >
-<father id="18" num="0" />
+<SUBCOMPONENT type="1203" id="20" >
+<father id="31" num="0" />
 <cdparam x="564" y="151" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel" />
-<TGConnectingPoint num="0" id="6" />
+<TGConnectingPoint num="0" id="19" />
 <extraparam>
 <Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -98,14 +98,14 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="9" >
-<father id="18" num="1" />
+<SUBCOMPONENT type="1203" id="22" >
+<father id="31" num="1" />
 <cdparam x="564" y="196" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Event event" />
-<TGConnectingPoint num="0" id="8" />
+<TGConnectingPoint num="0" id="21" />
 <extraparam>
 <Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -115,33 +115,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="31" >
-<father id="84" num="1" />
+<SUBCOMPONENT type="1202" id="44" >
+<father id="97" num="1" />
 <cdparam x="217" y="116" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" />
 <infoparam name="Primitive component" value="PrimitiveComp1" />
-<TGConnectingPoint num="0" id="23" />
-<TGConnectingPoint num="1" id="24" />
-<TGConnectingPoint num="2" id="25" />
-<TGConnectingPoint num="3" id="26" />
-<TGConnectingPoint num="4" id="27" />
-<TGConnectingPoint num="5" id="28" />
-<TGConnectingPoint num="6" id="29" />
-<TGConnectingPoint num="7" id="30" />
+<TGConnectingPoint num="0" id="36" />
+<TGConnectingPoint num="1" id="37" />
+<TGConnectingPoint num="2" id="38" />
+<TGConnectingPoint num="3" id="39" />
+<TGConnectingPoint num="4" id="40" />
+<TGConnectingPoint num="5" id="41" />
+<TGConnectingPoint num="6" id="42" />
+<TGConnectingPoint num="7" id="43" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="20" >
-<father id="31" num="0" />
+<SUBCOMPONENT type="1203" id="33" >
+<father id="44" num="0" />
 <cdparam x="404" y="150" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel" />
-<TGConnectingPoint num="0" id="19" />
+<TGConnectingPoint num="0" id="32" />
 <extraparam>
 <Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -151,14 +151,14 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="22" >
-<father id="31" num="1" />
+<SUBCOMPONENT type="1203" id="35" >
+<father id="44" num="1" />
 <cdparam x="404" y="195" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Event event" />
-<TGConnectingPoint num="0" id="21" />
+<TGConnectingPoint num="0" id="34" />
 <extraparam>
 <Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -168,52 +168,54 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1200" id="75" >
-<father id="84" num="2" />
+<SUBCOMPONENT type="1200" id="88" >
+<father id="97" num="2" />
 <cdparam x="266" y="278" />
 <sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" />
 <infoparam name="Composite component" value="CompositeComp2" />
-<TGConnectingPoint num="0" id="67" />
-<TGConnectingPoint num="1" id="68" />
-<TGConnectingPoint num="2" id="69" />
-<TGConnectingPoint num="3" id="70" />
-<TGConnectingPoint num="4" id="71" />
-<TGConnectingPoint num="5" id="72" />
-<TGConnectingPoint num="6" id="73" />
-<TGConnectingPoint num="7" id="74" />
+<TGConnectingPoint num="0" id="80" />
+<TGConnectingPoint num="1" id="81" />
+<TGConnectingPoint num="2" id="82" />
+<TGConnectingPoint num="3" id="83" />
+<TGConnectingPoint num="4" id="84" />
+<TGConnectingPoint num="5" id="85" />
+<TGConnectingPoint num="6" id="86" />
+<TGConnectingPoint num="7" id="87" />
 <extraparam>
 <info hiddeni="false" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="44" >
-<father id="75" num="0" />
+<SUBCOMPONENT type="1202" id="57" >
+<father id="88" num="0" />
 <cdparam x="399" y="491" />
 <sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" />
 <infoparam name="Primitive component" value="PrimitiveComp5" />
-<TGConnectingPoint num="0" id="36" />
-<TGConnectingPoint num="1" id="37" />
-<TGConnectingPoint num="2" id="38" />
-<TGConnectingPoint num="3" id="39" />
-<TGConnectingPoint num="4" id="40" />
-<TGConnectingPoint num="5" id="41" />
-<TGConnectingPoint num="6" id="42" />
-<TGConnectingPoint num="7" id="43" />
+<TGConnectingPoint num="0" id="49" />
+<TGConnectingPoint num="1" id="50" />
+<TGConnectingPoint num="2" id="51" />
+<TGConnectingPoint num="3" id="52" />
+<TGConnectingPoint num="4" id="53" />
+<TGConnectingPoint num="5" id="54" />
+<TGConnectingPoint num="6" id="55" />
+<TGConnectingPoint num="7" id="56" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
+<Attribute access="2" id="attr1" value="" type="0" typeOther="" />
+<Attribute access="2" id="attr2" value="" type="4" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="33" >
-<father id="44" num="0" />
+<SUBCOMPONENT type="1203" id="46" >
+<father id="57" num="0" />
 <cdparam x="411" y="559" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" />
 <infoparam name="Primitive port" value="Channel channel3" />
-<TGConnectingPoint num="0" id="32" />
+<TGConnectingPoint num="0" id="45" />
 <extraparam>
 <Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -223,14 +225,14 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="35" >
-<father id="44" num="1" />
+<SUBCOMPONENT type="1203" id="48" >
+<father id="57" num="1" />
 <cdparam x="508" y="559" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" />
 <infoparam name="Primitive port" value="Channel channel3" />
-<TGConnectingPoint num="0" id="34" />
+<TGConnectingPoint num="0" id="47" />
 <extraparam>
 <Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -240,33 +242,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="55" >
-<father id="75" num="1" />
+<SUBCOMPONENT type="1202" id="68" >
+<father id="88" num="1" />
 <cdparam x="285" y="318" />
 <sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" />
 <infoparam name="Primitive component" value="PrimitiveComp3" />
-<TGConnectingPoint num="0" id="47" />
-<TGConnectingPoint num="1" id="48" />
-<TGConnectingPoint num="2" id="49" />
-<TGConnectingPoint num="3" id="50" />
-<TGConnectingPoint num="4" id="51" />
-<TGConnectingPoint num="5" id="52" />
-<TGConnectingPoint num="6" id="53" />
-<TGConnectingPoint num="7" id="54" />
+<TGConnectingPoint num="0" id="60" />
+<TGConnectingPoint num="1" id="61" />
+<TGConnectingPoint num="2" id="62" />
+<TGConnectingPoint num="3" id="63" />
+<TGConnectingPoint num="4" id="64" />
+<TGConnectingPoint num="5" id="65" />
+<TGConnectingPoint num="6" id="66" />
+<TGConnectingPoint num="7" id="67" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="46" >
-<father id="55" num="0" />
+<SUBCOMPONENT type="1203" id="59" >
+<father id="68" num="0" />
 <cdparam x="441" y="352" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel2" />
-<TGConnectingPoint num="0" id="45" />
+<TGConnectingPoint num="0" id="58" />
 <extraparam>
 <Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -276,33 +278,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="66" >
-<father id="75" num="2" />
+<SUBCOMPONENT type="1202" id="79" >
+<father id="88" num="2" />
 <cdparam x="527" y="316" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" />
 <infoparam name="Primitive component" value="PrimitiveComp4" />
-<TGConnectingPoint num="0" id="58" />
-<TGConnectingPoint num="1" id="59" />
-<TGConnectingPoint num="2" id="60" />
-<TGConnectingPoint num="3" id="61" />
-<TGConnectingPoint num="4" id="62" />
-<TGConnectingPoint num="5" id="63" />
-<TGConnectingPoint num="6" id="64" />
-<TGConnectingPoint num="7" id="65" />
+<TGConnectingPoint num="0" id="71" />
+<TGConnectingPoint num="1" id="72" />
+<TGConnectingPoint num="2" id="73" />
+<TGConnectingPoint num="3" id="74" />
+<TGConnectingPoint num="4" id="75" />
+<TGConnectingPoint num="5" id="76" />
+<TGConnectingPoint num="6" id="77" />
+<TGConnectingPoint num="7" id="78" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="57" >
-<father id="66" num="0" />
+<SUBCOMPONENT type="1203" id="70" >
+<father id="79" num="0" />
 <cdparam x="514" y="351" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel2" />
-<TGConnectingPoint num="0" id="56" />
+<TGConnectingPoint num="0" id="69" />
 <extraparam>
 <Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -313,32 +315,32 @@
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="1202" id="97" >
+<COMPONENT type="1202" id="18" >
 <cdparam x="931" y="292" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="Primitive component" value="PrimitiveComp6" />
-<TGConnectingPoint num="0" id="89" />
-<TGConnectingPoint num="1" id="90" />
-<TGConnectingPoint num="2" id="91" />
-<TGConnectingPoint num="3" id="92" />
-<TGConnectingPoint num="4" id="93" />
-<TGConnectingPoint num="5" id="94" />
-<TGConnectingPoint num="6" id="95" />
-<TGConnectingPoint num="7" id="96" />
+<TGConnectingPoint num="0" id="10" />
+<TGConnectingPoint num="1" id="11" />
+<TGConnectingPoint num="2" id="12" />
+<TGConnectingPoint num="3" id="13" />
+<TGConnectingPoint num="4" id="14" />
+<TGConnectingPoint num="5" id="15" />
+<TGConnectingPoint num="6" id="16" />
+<TGConnectingPoint num="7" id="17" />
 <extraparam>
 <Data isAttacker="No" daemon="false" Operation="" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1203" id="86" >
-<father id="97" num="0" />
+<SUBCOMPONENT type="1203" id="7" >
+<father id="18" num="0" />
 <cdparam x="1118" y="392" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel4" />
-<TGConnectingPoint num="0" id="85" />
+<TGConnectingPoint num="0" id="6" />
 <extraparam>
 <Prop commName="channel4" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -348,14 +350,14 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="88" >
-<father id="97" num="1" />
+<SUBCOMPONENT type="1203" id="9" >
+<father id="18" num="1" />
 <cdparam x="1118" y="335" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel4" />
-<TGConnectingPoint num="0" id="87" />
+<TGConnectingPoint num="0" id="8" />
 <extraparam>
 <Prop commName="channel4" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
@@ -370,81 +372,81 @@
 </TMLComponentTaskDiagramPanel>
 
 <TMLActivityDiagramPanel name="PrimitiveComp2" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="99" >
+<COMPONENT type="1001" id="113" >
 <cdparam x="520" y="416" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="98" />
+<TGConnectingPoint num="0" id="112" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="101" >
+<COMPONENT type="1001" id="115" >
 <cdparam x="397" y="418" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="100" />
+<TGConnectingPoint num="0" id="114" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="104" >
+<COMPONENT type="1010" id="118" >
 <cdparam x="501" y="302" />
 <sizeparam width="59" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="wait event" value="event() " />
-<TGConnectingPoint num="0" id="102" />
-<TGConnectingPoint num="1" id="103" />
+<TGConnectingPoint num="0" id="116" />
+<TGConnectingPoint num="1" id="117" />
 <extraparam>
 <Data eventName="event" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="107" >
+<COMPONENT type="1009" id="121" >
 <cdparam x="366" y="296" />
 <sizeparam width="82" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="read channel" value="channel(1) " />
-<TGConnectingPoint num="0" id="105" />
-<TGConnectingPoint num="1" id="106" />
+<TGConnectingPoint num="0" id="119" />
+<TGConnectingPoint num="1" id="120" />
 <extraparam>
 <Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1012" id="115" >
+<COMPONENT type="1012" id="129" >
 <cdparam x="392" y="175" />
 <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="111" />
-<TGConnectingPoint num="1" id="112" />
-<TGConnectingPoint num="2" id="113" />
-<TGConnectingPoint num="3" id="114" />
+<TGConnectingPoint num="0" id="125" />
+<TGConnectingPoint num="1" id="126" />
+<TGConnectingPoint num="2" id="127" />
+<TGConnectingPoint num="3" id="128" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="108" >
-<father id="115" num="0" />
+<SUBCOMPONENT type="-1" id="122" >
+<father id="129" num="0" />
 <cdparam x="367" y="185" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="109" >
-<father id="115" num="1" />
+<SUBCOMPONENT type="-1" id="123" >
+<father id="129" num="1" />
 <cdparam x="427" y="185" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="110" >
-<father id="115" num="2" />
+<SUBCOMPONENT type="-1" id="124" >
+<father id="129" num="2" />
 <cdparam x="412" y="220" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -452,143 +454,143 @@
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1000" id="117" >
+<COMPONENT type="1000" id="131" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="116" />
+<TGConnectingPoint num="0" id="130" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="119" >
+<CONNECTOR type="115" id="133" >
 <cdparam x="447" y="190" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="447" y="190" id="113" />
-<P2  x="530" y="297" id="102" />
-<Point x="530" y="190" />
+<P1  x="447" y="190" id="127" />
+<P2  x="530" y="297" id="116" />
+<Point x="530" y="243" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="118" >
-<father id="119" num="0" />
-<cdparam x="530" y="190" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="132" >
+<father id="133" num="0" />
+<cdparam x="530" y="243" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="120" >
+<CONNECTOR type="115" id="134" >
 <cdparam x="407" y="65" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="65" id="116" />
-<P2  x="407" y="165" id="111" />
+<P1  x="407" y="65" id="130" />
+<P2  x="407" y="165" id="125" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="121" >
+<CONNECTOR type="115" id="135" >
 <cdparam x="407" y="230" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="230" id="114" />
-<P2  x="407" y="291" id="105" />
+<P1  x="407" y="230" id="128" />
+<P2  x="407" y="291" id="119" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="122" >
+<CONNECTOR type="115" id="136" >
 <cdparam x="407" y="321" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="321" id="106" />
-<P2  x="407" y="413" id="100" />
+<P1  x="407" y="321" id="120" />
+<P2  x="407" y="413" id="114" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="123" >
+<CONNECTOR type="115" id="137" >
 <cdparam x="530" y="327" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="530" y="327" id="103" />
-<P2  x="530" y="411" id="98" />
+<P1  x="530" y="327" id="117" />
+<P2  x="530" y="411" id="112" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="PrimitiveComp1" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="125" >
+<COMPONENT type="1001" id="139" >
 <cdparam x="397" y="440" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="124" />
+<TGConnectingPoint num="0" id="138" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="127" >
+<COMPONENT type="1001" id="141" >
 <cdparam x="302" y="444" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="126" />
+<TGConnectingPoint num="0" id="140" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="130" >
+<COMPONENT type="1008" id="144" >
 <cdparam x="285" y="326" />
 <sizeparam width="55" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="send event" value="event()" />
-<TGConnectingPoint num="0" id="128" />
-<TGConnectingPoint num="1" id="129" />
+<TGConnectingPoint num="0" id="142" />
+<TGConnectingPoint num="1" id="143" />
 <extraparam>
 <Data eventName="event" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="133" >
+<COMPONENT type="1006" id="147" >
 <cdparam x="368" y="324" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="write channel" value="channel(1)" />
-<TGConnectingPoint num="0" id="131" />
-<TGConnectingPoint num="1" id="132" />
+<TGConnectingPoint num="0" id="145" />
+<TGConnectingPoint num="1" id="146" />
 <extraparam>
-<Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+<Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="Yes" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1012" id="141" >
+<COMPONENT type="1012" id="155" >
 <cdparam x="392" y="183" />
 <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="137" />
-<TGConnectingPoint num="1" id="138" />
-<TGConnectingPoint num="2" id="139" />
-<TGConnectingPoint num="3" id="140" />
+<TGConnectingPoint num="0" id="151" />
+<TGConnectingPoint num="1" id="152" />
+<TGConnectingPoint num="2" id="153" />
+<TGConnectingPoint num="3" id="154" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="134" >
-<father id="141" num="0" />
+<SUBCOMPONENT type="-1" id="148" >
+<father id="155" num="0" />
 <cdparam x="367" y="193" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="135" >
-<father id="141" num="1" />
+<SUBCOMPONENT type="-1" id="149" >
+<father id="155" num="1" />
 <cdparam x="427" y="193" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="136" >
-<father id="141" num="2" />
+<SUBCOMPONENT type="-1" id="150" >
+<father id="155" num="2" />
 <cdparam x="412" y="228" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -596,25 +598,25 @@
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1000" id="143" >
+<COMPONENT type="1000" id="157" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="142" />
+<TGConnectingPoint num="0" id="156" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="145" >
+<CONNECTOR type="115" id="159" >
 <cdparam x="367" y="198" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="367" y="198" id="138" />
-<P2  x="312" y="321" id="128" />
+<P1  x="367" y="198" id="152" />
+<P2  x="312" y="321" id="142" />
 <Point x="312" y="198" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="144" >
-<father id="145" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="158" >
+<father id="159" num="0" />
 <cdparam x="312" y="198" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -622,288 +624,681 @@
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="146" >
+<CONNECTOR type="115" id="160" >
 <cdparam x="407" y="65" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="65" id="142" />
-<P2  x="407" y="173" id="137" />
+<P1  x="407" y="65" id="156" />
+<P2  x="407" y="173" id="151" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="147" >
+<CONNECTOR type="115" id="161" >
 <cdparam x="407" y="238" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="238" id="140" />
-<P2  x="407" y="319" id="131" />
+<P1  x="407" y="238" id="154" />
+<P2  x="407" y="319" id="145" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="148" >
+<CONNECTOR type="115" id="162" >
 <cdparam x="312" y="351" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="312" y="351" id="129" />
-<P2  x="312" y="439" id="126" />
+<P1  x="312" y="351" id="143" />
+<P2  x="312" y="439" id="140" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="149" >
+<CONNECTOR type="115" id="163" >
 <cdparam x="407" y="349" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="349" id="132" />
-<P2  x="407" y="435" id="124" />
+<P1  x="407" y="349" id="146" />
+<P2  x="407" y="435" id="138" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="PrimitiveComp3" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="151" >
+<COMPONENT type="1001" id="165" >
 <cdparam x="397" y="269" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="150" />
+<TGConnectingPoint num="0" id="164" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="154" >
+<COMPONENT type="1006" id="168" >
 <cdparam x="364" y="143" />
 <sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="write channel" value="channel2(1)" />
-<TGConnectingPoint num="0" id="152" />
-<TGConnectingPoint num="1" id="153" />
+<TGConnectingPoint num="0" id="166" />
+<TGConnectingPoint num="1" id="167" />
 <extraparam>
 <Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="156" >
+<COMPONENT type="1000" id="170" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="155" />
+<TGConnectingPoint num="0" id="169" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="157" >
+<CONNECTOR type="115" id="171" >
 <cdparam x="407" y="168" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="168" id="153" />
-<P2  x="407" y="264" id="150" />
+<P1  x="407" y="168" id="167" />
+<P2  x="407" y="264" id="164" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="158" >
+<CONNECTOR type="115" id="172" >
 <cdparam x="407" y="65" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="65" id="155" />
-<P2  x="407" y="138" id="152" />
+<P1  x="407" y="65" id="169" />
+<P2  x="407" y="138" id="166" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="PrimitiveComp4" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="160" >
+<COMPONENT type="1001" id="174" >
 <cdparam x="397" y="274" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="159" />
+<TGConnectingPoint num="0" id="173" />
 </COMPONENT>
 
-<COMPONENT type="1009" id="163" >
+<COMPONENT type="1009" id="177" >
 <cdparam x="362" y="162" />
 <sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="read channel" value="channel2(1) " />
-<TGConnectingPoint num="0" id="161" />
-<TGConnectingPoint num="1" id="162" />
+<TGConnectingPoint num="0" id="175" />
+<TGConnectingPoint num="1" id="176" />
 <extraparam>
 <Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="165" >
+<COMPONENT type="1000" id="179" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="164" />
+<TGConnectingPoint num="0" id="178" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="166" >
+<CONNECTOR type="115" id="180" >
 <cdparam x="407" y="65" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="65" id="164" />
-<P2  x="407" y="157" id="161" />
+<P1  x="407" y="65" id="178" />
+<P2  x="407" y="157" id="175" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="167" >
+<CONNECTOR type="115" id="181" >
 <cdparam x="407" y="187" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="187" id="162" />
-<P2  x="407" y="269" id="159" />
+<P1  x="407" y="187" id="176" />
+<P2  x="407" y="269" id="173" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="PrimitiveComp5" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="169" >
-<cdparam x="397" y="342" />
+<COMPONENT type="1001" id="183" >
+<cdparam x="1077" y="1208" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="182" />
+</COMPONENT>
+
+<COMPONENT type="1013" id="187" >
+<cdparam x="503" y="270" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="185" />
+<TGConnectingPoint num="1" id="186" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="184" >
+<father id="187" num="0" />
+<cdparam x="518" y="290" />
+<sizeparam width="16" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="10" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1015" id="191" >
+<cdparam x="510" y="341" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="execIInterval" value="null" />
+<TGConnectingPoint num="0" id="189" />
+<TGConnectingPoint num="1" id="190" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="188" >
+<father id="191" num="0" />
+<cdparam x="525" y="361" />
+<sizeparam width="51" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the time interval" value="[10, 20]" />
+<extraparam>
+<Interval minDelay="10" maxDelay="20" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1026" id="195" >
+<cdparam x="508" y="413" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="delay" value="null" />
+<TGConnectingPoint num="0" id="193" />
+<TGConnectingPoint num="1" id="194" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="192" >
+<father id="195" num="0" />
+<cdparam x="523" y="433" />
+<sizeparam width="39" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="10 ms" />
+<extraparam>
+<TimeDelay minDelay="10" maxDelay="nope" hasMaxDelay="false" unit="ms" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1028" id="199" >
+<cdparam x="496" y="677" />
+<sizeparam width="10" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="delayInterval" value="null" />
+<TGConnectingPoint num="0" id="197" />
+<TGConnectingPoint num="1" id="198" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="196" >
+<father id="199" num="0" />
+<cdparam x="511" y="697" />
+<sizeparam width="73" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the interval delay" value="[10, 20] ms" />
+<extraparam>
+<TimeDelay minDelay="10" maxDelay="20" hasMaxDelay="true" unit="ms" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1032" id="207" >
+<cdparam x="969" y="1006" />
+<sizeparam width="150" height="5" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="sequence" value="null" />
+<TGConnectingPoint num="0" id="201" />
+<TGConnectingPoint num="1" id="202" />
+<TGConnectingPoint num="2" id="203" />
+<TGConnectingPoint num="3" id="204" />
+<TGConnectingPoint num="4" id="205" />
+<TGConnectingPoint num="5" id="206" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="200" >
+<father id="207" num="0" />
+<cdparam x="1123" y="1013" />
+<sizeparam width="20" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="154" maxX="154" minY="7" maxY="7" />
+<infoparam name="Sequence information" value="&gt;&gt;" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1001" id="209" >
+<cdparam x="844" y="947" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="208" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="211" >
+<cdparam x="981" y="1153" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="210" />
+</COMPONENT>
+
+<COMPONENT type="1011" id="214" >
+<cdparam x="959" y="1053" />
+<sizeparam width="67" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="action state" value="attr1 = 2" />
+<TGConnectingPoint num="0" id="212" />
+<TGConnectingPoint num="1" id="213" />
+</COMPONENT>
+
+<COMPONENT type="1011" id="217" >
+<cdparam x="1041" y="1054" />
+<sizeparam width="85" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="action state" value="attr2 = true" />
+<TGConnectingPoint num="0" id="215" />
+<TGConnectingPoint num="1" id="216" />
+</COMPONENT>
+
+<COMPONENT type="1011" id="220" >
+<cdparam x="973" y="951" />
+<sizeparam width="75" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="action state" value="attr1 = 10" />
+<TGConnectingPoint num="0" id="218" />
+<TGConnectingPoint num="1" id="219" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="222" >
+<cdparam x="682" y="897" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="168" />
+<TGConnectingPoint num="0" id="221" />
+</COMPONENT>
+
+<COMPONENT type="1014" id="226" >
+<cdparam x="731" y="877" />
+<sizeparam width="241" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for loop" value="for(attr1=0;attr1&lt;5;attr1 = attr1+1)" />
+<TGConnectingPoint num="0" id="223" />
+<TGConnectingPoint num="1" id="224" />
+<TGConnectingPoint num="2" id="225" />
+<extraparam>
+<Data init="attr1=0" condition="attr1&lt;5" increment="attr1 = attr1+1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1020" id="230" >
+<cdparam x="648" y="836" />
+<sizeparam width="98" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for loop" value="10" />
+<TGConnectingPoint num="0" id="227" />
+<TGConnectingPoint num="1" id="228" />
+<TGConnectingPoint num="2" id="229" />
+</COMPONENT>
+
+<COMPONENT type="1030" id="233" >
+<cdparam x="456" y="799" />
+<sizeparam width="92" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="for ever loop" value="Loop for ever" />
+<TGConnectingPoint num="0" id="231" />
+<TGConnectingPoint num="1" id="232" />
 </COMPONENT>
 
-<COMPONENT type="1009" id="172" >
-<cdparam x="362" y="238" />
+<COMPONENT type="1024" id="236" >
+<cdparam x="420" y="736" />
+<sizeparam width="162" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="null" />
+<TGConnectingPoint num="0" id="234" />
+<TGConnectingPoint num="1" id="235" />
+<extraparam>
+<Data variable="attr1" minValue="0" maxValue="10" functionId="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1036" id="239" >
+<cdparam x="499" y="597" />
+<sizeparam width="15" height="35" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="decrypt" value="null" />
+<TGConnectingPoint num="0" id="237" />
+<TGConnectingPoint num="1" id="238" />
+<extraparam>
+<Data secPattern="encryption1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1035" id="242" >
+<cdparam x="504" y="503" />
+<sizeparam width="15" height="35" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="encrypt" value="null" />
+<TGConnectingPoint num="0" id="240" />
+<TGConnectingPoint num="1" id="241" />
+<extraparam>
+<Data secContext="encryption1" type="" overhead="" size="" encTime="100" decTime="100" nonce="" key="" algorithm="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1009" id="245" >
+<cdparam x="1037" y="1135" />
 <sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="read channel" value="channel3(1) " />
-<TGConnectingPoint num="0" id="170" />
-<TGConnectingPoint num="1" id="171" />
+<TGConnectingPoint num="0" id="243" />
+<TGConnectingPoint num="1" id="244" />
 <extraparam>
 <Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="175" >
-<cdparam x="364" y="143" />
+<COMPONENT type="1006" id="248" >
+<cdparam x="468" y="200" />
 <sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="write channel" value="channel3(1)" />
-<TGConnectingPoint num="0" id="173" />
-<TGConnectingPoint num="1" id="174" />
+<TGConnectingPoint num="0" id="246" />
+<TGConnectingPoint num="1" id="247" />
 <extraparam>
 <Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="177" >
-<cdparam x="400" y="50" />
+<COMPONENT type="1000" id="250" >
+<cdparam x="504" y="107" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="176" />
+<TGConnectingPoint num="0" id="249" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="178" >
-<cdparam x="407" y="65" />
+<CONNECTOR type="115" id="252" >
+<cdparam x="746" y="850" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="746" y="850" id="228" />
+<P2  x="851" y="872" id="223" />
+<Point x="859" y="844" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="251" >
+<father id="252" num="0" />
+<cdparam x="859" y="844" />
+<sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="115" id="253" >
+<cdparam x="972" y="891" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="65" id="176" />
-<P2  x="407" y="138" id="173" />
+<P1  x="972" y="891" id="224" />
+<P2  x="1010" y="946" id="218" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="179" >
-<cdparam x="407" y="168" />
+<CONNECTOR type="115" id="254" >
+<cdparam x="1083" y="1079" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="168" id="174" />
-<P2  x="407" y="233" id="170" />
+<P1  x="1083" y="1079" id="216" />
+<P2  x="1082" y="1130" id="243" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="180" >
-<cdparam x="407" y="263" />
+<CONNECTOR type="115" id="255" >
+<cdparam x="511" y="122" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="511" y="122" id="249" />
+<P2  x="511" y="195" id="246" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="256" >
+<cdparam x="511" y="225" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="511" y="225" id="247" />
+<P2  x="508" y="265" id="185" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="257" >
+<cdparam x="508" y="305" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="508" y="305" id="186" />
+<P2  x="515" y="336" id="189" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="258" >
+<cdparam x="515" y="376" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="515" y="376" id="190" />
+<P2  x="513" y="408" id="193" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="259" >
+<cdparam x="513" y="448" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="513" y="448" id="194" />
+<P2  x="511" y="498" id="240" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="260" >
+<cdparam x="511" y="548" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="511" y="548" id="241" />
+<P2  x="506" y="592" id="237" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="261" >
+<cdparam x="506" y="642" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="506" y="642" id="238" />
+<P2  x="501" y="672" id="197" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="262" >
+<cdparam x="501" y="712" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="501" y="712" id="198" />
+<P2  x="501" y="731" id="234" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="263" >
+<cdparam x="501" y="761" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="501" y="761" id="235" />
+<P2  x="502" y="794" id="231" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="264" >
+<cdparam x="548" y="813" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="548" y="813" id="232" />
+<P2  x="697" y="831" id="227" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="265" >
+<cdparam x="697" y="861" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="697" y="861" id="229" />
+<P2  x="692" y="892" id="221" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="266" >
+<cdparam x="1010" y="976" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="1010" y="976" id="219" />
+<P2  x="1044" y="1006" id="201" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="267" >
+<cdparam x="1069" y="1011" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="1069" y="1011" id="205" />
+<P2  x="1083" y="1049" id="215" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="268" >
+<cdparam x="994" y="1011" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="994" y="1011" id="202" />
+<P2  x="992" y="1048" id="212" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="269" >
+<cdparam x="992" y="1078" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="263" id="171" />
-<P2  x="407" y="337" id="168" />
+<P1  x="992" y="1078" id="213" />
+<P2  x="991" y="1148" id="210" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="270" >
+<cdparam x="851" y="902" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="851" y="902" id="225" />
+<P2  x="854" y="942" id="208" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="271" >
+<cdparam x="1082" y="1160" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="1082" y="1160" id="244" />
+<P2  x="1087" y="1203" id="182" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="PrimitiveComp6" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="182" >
+<COMPONENT type="1001" id="273" >
 <cdparam x="397" y="331" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="181" />
+<TGConnectingPoint num="0" id="272" />
 </COMPONENT>
 
-<COMPONENT type="1009" id="185" >
+<COMPONENT type="1009" id="276" >
 <cdparam x="362" y="233" />
 <sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="read channel" value="channel4(1) " />
-<TGConnectingPoint num="0" id="183" />
-<TGConnectingPoint num="1" id="184" />
+<TGConnectingPoint num="0" id="274" />
+<TGConnectingPoint num="1" id="275" />
 <extraparam>
 <Data channelName="channel4" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="188" >
+<COMPONENT type="1006" id="279" >
 <cdparam x="364" y="133" />
 <sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="write channel" value="channel4(1)" />
-<TGConnectingPoint num="0" id="186" />
-<TGConnectingPoint num="1" id="187" />
+<TGConnectingPoint num="0" id="277" />
+<TGConnectingPoint num="1" id="278" />
 <extraparam>
 <Data channelName="channel4" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="190" >
+<COMPONENT type="1000" id="281" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="189" />
+<TGConnectingPoint num="0" id="280" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="191" >
+<CONNECTOR type="115" id="282" >
 <cdparam x="407" y="65" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="65" id="189" />
-<P2  x="407" y="128" id="186" />
+<P1  x="407" y="65" id="280" />
+<P2  x="407" y="128" id="277" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="192" >
+<CONNECTOR type="115" id="283" >
 <cdparam x="407" y="158" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="158" id="187" />
-<P2  x="407" y="228" id="183" />
+<P1  x="407" y="158" id="278" />
+<P2  x="407" y="228" id="274" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="193" >
+<CONNECTOR type="115" id="284" >
 <cdparam x="407" y="258" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="258" id="184" />
-<P2  x="407" y="326" id="181" />
+<P1  x="407" y="258" id="275" />
+<P2  x="407" y="326" id="272" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -916,330 +1311,510 @@
 
 <Modeling type="TML Architecture" nameTab="Architecture" >
 <TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
-<COMPONENT type="1107" id="218" >
-<cdparam x="648" y="377" />
-<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="DMA0" value="name" />
-<TGConnectingPoint num="0" id="194" />
-<TGConnectingPoint num="1" id="195" />
-<TGConnectingPoint num="2" id="196" />
-<TGConnectingPoint num="3" id="197" />
-<TGConnectingPoint num="4" id="198" />
-<TGConnectingPoint num="5" id="199" />
-<TGConnectingPoint num="6" id="200" />
-<TGConnectingPoint num="7" id="201" />
-<TGConnectingPoint num="8" id="202" />
-<TGConnectingPoint num="9" id="203" />
-<TGConnectingPoint num="10" id="204" />
-<TGConnectingPoint num="11" id="205" />
-<TGConnectingPoint num="12" id="206" />
-<TGConnectingPoint num="13" id="207" />
-<TGConnectingPoint num="14" id="208" />
-<TGConnectingPoint num="15" id="209" />
-<TGConnectingPoint num="16" id="210" />
-<TGConnectingPoint num="17" id="211" />
-<TGConnectingPoint num="18" id="212" />
-<TGConnectingPoint num="19" id="213" />
-<TGConnectingPoint num="20" id="214" />
-<TGConnectingPoint num="21" id="215" />
-<TGConnectingPoint num="22" id="216" />
-<TGConnectingPoint num="23" id="217" />
-<extraparam>
-<info stereotype="DMA" nodeName="DMA0" />
-<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1102" id="243" >
-<cdparam x="316" y="416" />
-<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="Bus0" value="name" />
-<TGConnectingPoint num="0" id="219" />
-<TGConnectingPoint num="1" id="220" />
-<TGConnectingPoint num="2" id="221" />
-<TGConnectingPoint num="3" id="222" />
-<TGConnectingPoint num="4" id="223" />
-<TGConnectingPoint num="5" id="224" />
-<TGConnectingPoint num="6" id="225" />
-<TGConnectingPoint num="7" id="226" />
-<TGConnectingPoint num="8" id="227" />
-<TGConnectingPoint num="9" id="228" />
-<TGConnectingPoint num="10" id="229" />
-<TGConnectingPoint num="11" id="230" />
-<TGConnectingPoint num="12" id="231" />
-<TGConnectingPoint num="13" id="232" />
-<TGConnectingPoint num="14" id="233" />
-<TGConnectingPoint num="15" id="234" />
-<TGConnectingPoint num="16" id="235" />
-<TGConnectingPoint num="17" id="236" />
-<TGConnectingPoint num="18" id="237" />
-<TGConnectingPoint num="19" id="238" />
-<TGConnectingPoint num="20" id="239" />
-<TGConnectingPoint num="21" id="240" />
-<TGConnectingPoint num="22" id="241" />
-<TGConnectingPoint num="23" id="242" />
-<extraparam>
-<info stereotype="BUS-RR" nodeName="Bus0" />
-<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1105" id="268" >
-<cdparam x="415" y="607" />
-<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="Memory0" value="name" />
-<TGConnectingPoint num="0" id="244" />
-<TGConnectingPoint num="1" id="245" />
-<TGConnectingPoint num="2" id="246" />
-<TGConnectingPoint num="3" id="247" />
-<TGConnectingPoint num="4" id="248" />
-<TGConnectingPoint num="5" id="249" />
-<TGConnectingPoint num="6" id="250" />
-<TGConnectingPoint num="7" id="251" />
-<TGConnectingPoint num="8" id="252" />
-<TGConnectingPoint num="9" id="253" />
-<TGConnectingPoint num="10" id="254" />
-<TGConnectingPoint num="11" id="255" />
-<TGConnectingPoint num="12" id="256" />
-<TGConnectingPoint num="13" id="257" />
-<TGConnectingPoint num="14" id="258" />
-<TGConnectingPoint num="15" id="259" />
-<TGConnectingPoint num="16" id="260" />
-<TGConnectingPoint num="17" id="261" />
-<TGConnectingPoint num="18" id="262" />
-<TGConnectingPoint num="19" id="263" />
-<TGConnectingPoint num="20" id="264" />
-<TGConnectingPoint num="21" id="265" />
-<TGConnectingPoint num="22" id="266" />
-<TGConnectingPoint num="23" id="267" />
-<extraparam>
-<info stereotype="MEMORY" nodeName="Memory0" />
-<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1100" id="293" >
-<cdparam x="792" y="120" />
-<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="CPU1" value="name" />
-<TGConnectingPoint num="0" id="269" />
-<TGConnectingPoint num="1" id="270" />
-<TGConnectingPoint num="2" id="271" />
-<TGConnectingPoint num="3" id="272" />
-<TGConnectingPoint num="4" id="273" />
-<TGConnectingPoint num="5" id="274" />
-<TGConnectingPoint num="6" id="275" />
-<TGConnectingPoint num="7" id="276" />
-<TGConnectingPoint num="8" id="277" />
-<TGConnectingPoint num="9" id="278" />
-<TGConnectingPoint num="10" id="279" />
-<TGConnectingPoint num="11" id="280" />
-<TGConnectingPoint num="12" id="281" />
-<TGConnectingPoint num="13" id="282" />
-<TGConnectingPoint num="14" id="283" />
-<TGConnectingPoint num="15" id="284" />
-<TGConnectingPoint num="16" id="285" />
-<TGConnectingPoint num="17" id="286" />
-<TGConnectingPoint num="18" id="287" />
-<TGConnectingPoint num="19" id="288" />
-<TGConnectingPoint num="20" id="289" />
-<TGConnectingPoint num="21" id="290" />
-<TGConnectingPoint num="22" id="291" />
-<TGConnectingPoint num="23" id="292" />
-<extraparam>
-<info stereotype="CPURR" nodeName="CPU1" />
-<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1100" id="372" >
+<COMPONENT type="1100" id="376" >
 <cdparam x="83" y="128" />
 <sizeparam width="552" height="225" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="CPU0" value="name" />
-<TGConnectingPoint num="0" id="348" />
-<TGConnectingPoint num="1" id="349" />
-<TGConnectingPoint num="2" id="350" />
-<TGConnectingPoint num="3" id="351" />
-<TGConnectingPoint num="4" id="352" />
-<TGConnectingPoint num="5" id="353" />
-<TGConnectingPoint num="6" id="354" />
-<TGConnectingPoint num="7" id="355" />
-<TGConnectingPoint num="8" id="356" />
-<TGConnectingPoint num="9" id="357" />
-<TGConnectingPoint num="10" id="358" />
-<TGConnectingPoint num="11" id="359" />
-<TGConnectingPoint num="12" id="360" />
-<TGConnectingPoint num="13" id="361" />
-<TGConnectingPoint num="14" id="362" />
-<TGConnectingPoint num="15" id="363" />
-<TGConnectingPoint num="16" id="364" />
-<TGConnectingPoint num="17" id="365" />
-<TGConnectingPoint num="18" id="366" />
-<TGConnectingPoint num="19" id="367" />
-<TGConnectingPoint num="20" id="368" />
-<TGConnectingPoint num="21" id="369" />
-<TGConnectingPoint num="22" id="370" />
-<TGConnectingPoint num="23" id="371" />
+<TGConnectingPoint num="0" id="352" />
+<TGConnectingPoint num="1" id="353" />
+<TGConnectingPoint num="2" id="354" />
+<TGConnectingPoint num="3" id="355" />
+<TGConnectingPoint num="4" id="356" />
+<TGConnectingPoint num="5" id="357" />
+<TGConnectingPoint num="6" id="358" />
+<TGConnectingPoint num="7" id="359" />
+<TGConnectingPoint num="8" id="360" />
+<TGConnectingPoint num="9" id="361" />
+<TGConnectingPoint num="10" id="362" />
+<TGConnectingPoint num="11" id="363" />
+<TGConnectingPoint num="12" id="364" />
+<TGConnectingPoint num="13" id="365" />
+<TGConnectingPoint num="14" id="366" />
+<TGConnectingPoint num="15" id="367" />
+<TGConnectingPoint num="16" id="368" />
+<TGConnectingPoint num="17" id="369" />
+<TGConnectingPoint num="18" id="370" />
+<TGConnectingPoint num="19" id="371" />
+<TGConnectingPoint num="20" id="372" />
+<TGConnectingPoint num="21" id="373" />
+<TGConnectingPoint num="22" id="374" />
+<TGConnectingPoint num="23" id="375" />
 <extraparam>
 <info stereotype="CPU" nodeName="CPU0" />
 <attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="302" >
-<father id="372" num="0" />
+<SUBCOMPONENT type="1101" id="306" >
+<father id="376" num="0" />
 <cdparam x="110" y="152" />
 <sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
 <infoparam name="TGComponent" value="Application::PrimitiveComp1" />
-<TGConnectingPoint num="0" id="294" />
-<TGConnectingPoint num="1" id="295" />
-<TGConnectingPoint num="2" id="296" />
-<TGConnectingPoint num="3" id="297" />
-<TGConnectingPoint num="4" id="298" />
-<TGConnectingPoint num="5" id="299" />
-<TGConnectingPoint num="6" id="300" />
-<TGConnectingPoint num="7" id="301" />
+<TGConnectingPoint num="0" id="298" />
+<TGConnectingPoint num="1" id="299" />
+<TGConnectingPoint num="2" id="300" />
+<TGConnectingPoint num="3" id="301" />
+<TGConnectingPoint num="4" id="302" />
+<TGConnectingPoint num="5" id="303" />
+<TGConnectingPoint num="6" id="304" />
+<TGConnectingPoint num="7" id="305" />
 <extraparam>
 <info value="Application::PrimitiveComp1" taskName="PrimitiveComp1" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="311" >
-<father id="372" num="1" />
+<SUBCOMPONENT type="1101" id="315" >
+<father id="376" num="1" />
 <cdparam x="111" y="201" />
 <sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
 <infoparam name="TGComponent" value="Application::PrimitiveComp2" />
-<TGConnectingPoint num="0" id="303" />
-<TGConnectingPoint num="1" id="304" />
-<TGConnectingPoint num="2" id="305" />
-<TGConnectingPoint num="3" id="306" />
-<TGConnectingPoint num="4" id="307" />
-<TGConnectingPoint num="5" id="308" />
-<TGConnectingPoint num="6" id="309" />
-<TGConnectingPoint num="7" id="310" />
+<TGConnectingPoint num="0" id="307" />
+<TGConnectingPoint num="1" id="308" />
+<TGConnectingPoint num="2" id="309" />
+<TGConnectingPoint num="3" id="310" />
+<TGConnectingPoint num="4" id="311" />
+<TGConnectingPoint num="5" id="312" />
+<TGConnectingPoint num="6" id="313" />
+<TGConnectingPoint num="7" id="314" />
 <extraparam>
 <info value="Application::PrimitiveComp2" taskName="PrimitiveComp2" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="320" >
-<father id="372" num="2" />
+<SUBCOMPONENT type="1101" id="324" >
+<father id="376" num="2" />
 <cdparam x="112" y="261" />
 <sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
 <infoparam name="TGComponent" value="Application::PrimitiveComp3" />
-<TGConnectingPoint num="0" id="312" />
-<TGConnectingPoint num="1" id="313" />
-<TGConnectingPoint num="2" id="314" />
-<TGConnectingPoint num="3" id="315" />
-<TGConnectingPoint num="4" id="316" />
-<TGConnectingPoint num="5" id="317" />
-<TGConnectingPoint num="6" id="318" />
-<TGConnectingPoint num="7" id="319" />
+<TGConnectingPoint num="0" id="316" />
+<TGConnectingPoint num="1" id="317" />
+<TGConnectingPoint num="2" id="318" />
+<TGConnectingPoint num="3" id="319" />
+<TGConnectingPoint num="4" id="320" />
+<TGConnectingPoint num="5" id="321" />
+<TGConnectingPoint num="6" id="322" />
+<TGConnectingPoint num="7" id="323" />
 <extraparam>
 <info value="Application::PrimitiveComp3" taskName="PrimitiveComp3" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="329" >
-<father id="372" num="3" />
-<cdparam x="370" y="147" />
+<SUBCOMPONENT type="1101" id="333" >
+<father id="376" num="3" />
+<cdparam x="393" y="144" />
 <sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
 <infoparam name="TGComponent" value="Application::PrimitiveComp4" />
-<TGConnectingPoint num="0" id="321" />
-<TGConnectingPoint num="1" id="322" />
-<TGConnectingPoint num="2" id="323" />
-<TGConnectingPoint num="3" id="324" />
-<TGConnectingPoint num="4" id="325" />
-<TGConnectingPoint num="5" id="326" />
-<TGConnectingPoint num="6" id="327" />
-<TGConnectingPoint num="7" id="328" />
+<TGConnectingPoint num="0" id="325" />
+<TGConnectingPoint num="1" id="326" />
+<TGConnectingPoint num="2" id="327" />
+<TGConnectingPoint num="3" id="328" />
+<TGConnectingPoint num="4" id="329" />
+<TGConnectingPoint num="5" id="330" />
+<TGConnectingPoint num="6" id="331" />
+<TGConnectingPoint num="7" id="332" />
 <extraparam>
 <info value="Application::PrimitiveComp4" taskName="PrimitiveComp4" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp4" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="338" >
-<father id="372" num="4" />
+<SUBCOMPONENT type="1101" id="342" >
+<father id="376" num="4" />
 <cdparam x="371" y="203" />
 <sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
 <infoparam name="TGComponent" value="Application::PrimitiveComp5" />
-<TGConnectingPoint num="0" id="330" />
-<TGConnectingPoint num="1" id="331" />
-<TGConnectingPoint num="2" id="332" />
-<TGConnectingPoint num="3" id="333" />
-<TGConnectingPoint num="4" id="334" />
-<TGConnectingPoint num="5" id="335" />
-<TGConnectingPoint num="6" id="336" />
-<TGConnectingPoint num="7" id="337" />
+<TGConnectingPoint num="0" id="334" />
+<TGConnectingPoint num="1" id="335" />
+<TGConnectingPoint num="2" id="336" />
+<TGConnectingPoint num="3" id="337" />
+<TGConnectingPoint num="4" id="338" />
+<TGConnectingPoint num="5" id="339" />
+<TGConnectingPoint num="6" id="340" />
+<TGConnectingPoint num="7" id="341" />
 <extraparam>
 <info value="Application::PrimitiveComp5" taskName="PrimitiveComp5" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp5" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="347" >
-<father id="372" num="5" />
+<SUBCOMPONENT type="1101" id="351" >
+<father id="376" num="5" />
 <cdparam x="376" y="255" />
 <sizeparam width="207" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="345" minY="0" maxY="185" />
 <infoparam name="TGComponent" value="Application::PrimitiveComp6" />
-<TGConnectingPoint num="0" id="339" />
-<TGConnectingPoint num="1" id="340" />
-<TGConnectingPoint num="2" id="341" />
-<TGConnectingPoint num="3" id="342" />
-<TGConnectingPoint num="4" id="343" />
-<TGConnectingPoint num="5" id="344" />
-<TGConnectingPoint num="6" id="345" />
-<TGConnectingPoint num="7" id="346" />
+<TGConnectingPoint num="0" id="343" />
+<TGConnectingPoint num="1" id="344" />
+<TGConnectingPoint num="2" id="345" />
+<TGConnectingPoint num="3" id="346" />
+<TGConnectingPoint num="4" id="347" />
+<TGConnectingPoint num="5" id="348" />
+<TGConnectingPoint num="6" id="349" />
+<TGConnectingPoint num="7" id="350" />
 <extraparam>
 <info value="Application::PrimitiveComp6" taskName="PrimitiveComp6" referenceTaskName="Application" priority="0" operationMEC="PrimitiveComp6" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
-<CONNECTOR type="125" id="373" >
+<COMPONENT type="1100" id="401" >
+<cdparam x="991" y="100" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU1" value="name" />
+<TGConnectingPoint num="0" id="377" />
+<TGConnectingPoint num="1" id="378" />
+<TGConnectingPoint num="2" id="379" />
+<TGConnectingPoint num="3" id="380" />
+<TGConnectingPoint num="4" id="381" />
+<TGConnectingPoint num="5" id="382" />
+<TGConnectingPoint num="6" id="383" />
+<TGConnectingPoint num="7" id="384" />
+<TGConnectingPoint num="8" id="385" />
+<TGConnectingPoint num="9" id="386" />
+<TGConnectingPoint num="10" id="387" />
+<TGConnectingPoint num="11" id="388" />
+<TGConnectingPoint num="12" id="389" />
+<TGConnectingPoint num="13" id="390" />
+<TGConnectingPoint num="14" id="391" />
+<TGConnectingPoint num="15" id="392" />
+<TGConnectingPoint num="16" id="393" />
+<TGConnectingPoint num="17" id="394" />
+<TGConnectingPoint num="18" id="395" />
+<TGConnectingPoint num="19" id="396" />
+<TGConnectingPoint num="20" id="397" />
+<TGConnectingPoint num="21" id="398" />
+<TGConnectingPoint num="22" id="399" />
+<TGConnectingPoint num="23" id="400" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1107" id="426" >
+<cdparam x="699" y="398" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="DMA0" value="name" />
+<TGConnectingPoint num="0" id="402" />
+<TGConnectingPoint num="1" id="403" />
+<TGConnectingPoint num="2" id="404" />
+<TGConnectingPoint num="3" id="405" />
+<TGConnectingPoint num="4" id="406" />
+<TGConnectingPoint num="5" id="407" />
+<TGConnectingPoint num="6" id="408" />
+<TGConnectingPoint num="7" id="409" />
+<TGConnectingPoint num="8" id="410" />
+<TGConnectingPoint num="9" id="411" />
+<TGConnectingPoint num="10" id="412" />
+<TGConnectingPoint num="11" id="413" />
+<TGConnectingPoint num="12" id="414" />
+<TGConnectingPoint num="13" id="415" />
+<TGConnectingPoint num="14" id="416" />
+<TGConnectingPoint num="15" id="417" />
+<TGConnectingPoint num="16" id="418" />
+<TGConnectingPoint num="17" id="419" />
+<TGConnectingPoint num="18" id="420" />
+<TGConnectingPoint num="19" id="421" />
+<TGConnectingPoint num="20" id="422" />
+<TGConnectingPoint num="21" id="423" />
+<TGConnectingPoint num="22" id="424" />
+<TGConnectingPoint num="23" id="425" />
+<extraparam>
+<info stereotype="DMA" nodeName="DMA0" />
+<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="451" >
+<cdparam x="344" y="601" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="427" />
+<TGConnectingPoint num="1" id="428" />
+<TGConnectingPoint num="2" id="429" />
+<TGConnectingPoint num="3" id="430" />
+<TGConnectingPoint num="4" id="431" />
+<TGConnectingPoint num="5" id="432" />
+<TGConnectingPoint num="6" id="433" />
+<TGConnectingPoint num="7" id="434" />
+<TGConnectingPoint num="8" id="435" />
+<TGConnectingPoint num="9" id="436" />
+<TGConnectingPoint num="10" id="437" />
+<TGConnectingPoint num="11" id="438" />
+<TGConnectingPoint num="12" id="439" />
+<TGConnectingPoint num="13" id="440" />
+<TGConnectingPoint num="14" id="441" />
+<TGConnectingPoint num="15" id="442" />
+<TGConnectingPoint num="16" id="443" />
+<TGConnectingPoint num="17" id="444" />
+<TGConnectingPoint num="18" id="445" />
+<TGConnectingPoint num="19" id="446" />
+<TGConnectingPoint num="20" id="447" />
+<TGConnectingPoint num="21" id="448" />
+<TGConnectingPoint num="22" id="449" />
+<TGConnectingPoint num="23" id="450" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="476" >
+<cdparam x="316" y="416" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="452" />
+<TGConnectingPoint num="1" id="453" />
+<TGConnectingPoint num="2" id="454" />
+<TGConnectingPoint num="3" id="455" />
+<TGConnectingPoint num="4" id="456" />
+<TGConnectingPoint num="5" id="457" />
+<TGConnectingPoint num="6" id="458" />
+<TGConnectingPoint num="7" id="459" />
+<TGConnectingPoint num="8" id="460" />
+<TGConnectingPoint num="9" id="461" />
+<TGConnectingPoint num="10" id="462" />
+<TGConnectingPoint num="11" id="463" />
+<TGConnectingPoint num="12" id="464" />
+<TGConnectingPoint num="13" id="465" />
+<TGConnectingPoint num="14" id="466" />
+<TGConnectingPoint num="15" id="467" />
+<TGConnectingPoint num="16" id="468" />
+<TGConnectingPoint num="17" id="469" />
+<TGConnectingPoint num="18" id="470" />
+<TGConnectingPoint num="19" id="471" />
+<TGConnectingPoint num="20" id="472" />
+<TGConnectingPoint num="21" id="473" />
+<TGConnectingPoint num="22" id="474" />
+<TGConnectingPoint num="23" id="475" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1116" id="501" >
+<cdparam x="74" y="596" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="FPGA0" value="name" />
+<TGConnectingPoint num="0" id="477" />
+<TGConnectingPoint num="1" id="478" />
+<TGConnectingPoint num="2" id="479" />
+<TGConnectingPoint num="3" id="480" />
+<TGConnectingPoint num="4" id="481" />
+<TGConnectingPoint num="5" id="482" />
+<TGConnectingPoint num="6" id="483" />
+<TGConnectingPoint num="7" id="484" />
+<TGConnectingPoint num="8" id="485" />
+<TGConnectingPoint num="9" id="486" />
+<TGConnectingPoint num="10" id="487" />
+<TGConnectingPoint num="11" id="488" />
+<TGConnectingPoint num="12" id="489" />
+<TGConnectingPoint num="13" id="490" />
+<TGConnectingPoint num="14" id="491" />
+<TGConnectingPoint num="15" id="492" />
+<TGConnectingPoint num="16" id="493" />
+<TGConnectingPoint num="17" id="494" />
+<TGConnectingPoint num="18" id="495" />
+<TGConnectingPoint num="19" id="496" />
+<TGConnectingPoint num="20" id="497" />
+<TGConnectingPoint num="21" id="498" />
+<TGConnectingPoint num="22" id="499" />
+<TGConnectingPoint num="23" id="500" />
+<extraparam>
+<info stereotype="FPGA" nodeName="FPGA0" />
+<attributes capacity="100" byteDataSize="4"  mappingPenalty="0"  reconfigurationTime="50"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  execiTime="1" execcTime="1" clockRatio="1" operation =""  scheduling ="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1104" id="526" >
+<cdparam x="672" y="681" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="HWA0" value="name" />
+<TGConnectingPoint num="0" id="502" />
+<TGConnectingPoint num="1" id="503" />
+<TGConnectingPoint num="2" id="504" />
+<TGConnectingPoint num="3" id="505" />
+<TGConnectingPoint num="4" id="506" />
+<TGConnectingPoint num="5" id="507" />
+<TGConnectingPoint num="6" id="508" />
+<TGConnectingPoint num="7" id="509" />
+<TGConnectingPoint num="8" id="510" />
+<TGConnectingPoint num="9" id="511" />
+<TGConnectingPoint num="10" id="512" />
+<TGConnectingPoint num="11" id="513" />
+<TGConnectingPoint num="12" id="514" />
+<TGConnectingPoint num="13" id="515" />
+<TGConnectingPoint num="14" id="516" />
+<TGConnectingPoint num="15" id="517" />
+<TGConnectingPoint num="16" id="518" />
+<TGConnectingPoint num="17" id="519" />
+<TGConnectingPoint num="18" id="520" />
+<TGConnectingPoint num="19" id="521" />
+<TGConnectingPoint num="20" id="522" />
+<TGConnectingPoint num="21" id="523" />
+<TGConnectingPoint num="22" id="524" />
+<TGConnectingPoint num="23" id="525" />
+<extraparam>
+<info stereotype="HWA" nodeName="HWA0" />
+<attributes byteDataSize="4"  execiTime="1"  clockRatio="1"  operation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1106" id="551" >
+<cdparam x="13" y="416" />
+<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bridge0" value="name" />
+<TGConnectingPoint num="0" id="527" />
+<TGConnectingPoint num="1" id="528" />
+<TGConnectingPoint num="2" id="529" />
+<TGConnectingPoint num="3" id="530" />
+<TGConnectingPoint num="4" id="531" />
+<TGConnectingPoint num="5" id="532" />
+<TGConnectingPoint num="6" id="533" />
+<TGConnectingPoint num="7" id="534" />
+<TGConnectingPoint num="8" id="535" />
+<TGConnectingPoint num="9" id="536" />
+<TGConnectingPoint num="10" id="537" />
+<TGConnectingPoint num="11" id="538" />
+<TGConnectingPoint num="12" id="539" />
+<TGConnectingPoint num="13" id="540" />
+<TGConnectingPoint num="14" id="541" />
+<TGConnectingPoint num="15" id="542" />
+<TGConnectingPoint num="16" id="543" />
+<TGConnectingPoint num="17" id="544" />
+<TGConnectingPoint num="18" id="545" />
+<TGConnectingPoint num="19" id="546" />
+<TGConnectingPoint num="20" id="547" />
+<TGConnectingPoint num="21" id="548" />
+<TGConnectingPoint num="22" id="549" />
+<TGConnectingPoint num="23" id="550" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="Bridge0" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1117" id="576" >
+<cdparam x="686" y="230" />
+<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="NoC0" value="name" />
+<TGConnectingPoint num="0" id="552" />
+<TGConnectingPoint num="1" id="553" />
+<TGConnectingPoint num="2" id="554" />
+<TGConnectingPoint num="3" id="555" />
+<TGConnectingPoint num="4" id="556" />
+<TGConnectingPoint num="5" id="557" />
+<TGConnectingPoint num="6" id="558" />
+<TGConnectingPoint num="7" id="559" />
+<TGConnectingPoint num="8" id="560" />
+<TGConnectingPoint num="9" id="561" />
+<TGConnectingPoint num="10" id="562" />
+<TGConnectingPoint num="11" id="563" />
+<TGConnectingPoint num="12" id="564" />
+<TGConnectingPoint num="13" id="565" />
+<TGConnectingPoint num="14" id="566" />
+<TGConnectingPoint num="15" id="567" />
+<TGConnectingPoint num="16" id="568" />
+<TGConnectingPoint num="17" id="569" />
+<TGConnectingPoint num="18" id="570" />
+<TGConnectingPoint num="19" id="571" />
+<TGConnectingPoint num="20" id="572" />
+<TGConnectingPoint num="21" id="573" />
+<TGConnectingPoint num="22" id="574" />
+<TGConnectingPoint num="23" id="575" />
+<extraparam>
+<info stereotype="NoC" nodeName="NoC0" />
+<attributes bufferByteDataSize="4"  size="2"  placement="CPU1 1 0"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="125" id="577" >
+<cdparam x="199" y="596" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="199" y="596" id="478" />
+<P2  x="378" y="466" id="466" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="578" >
+<cdparam x="262" y="461" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="263" y="466" id="531" />
+<P2  x="316" y="441" id="455" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="579" >
 <cdparam x="770" y="476" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="648" y="427" id="204" />
-<P2  x="566" y="441" id="223" />
+<P1  x="699" y="448" id="412" />
+<P2  x="566" y="441" id="456" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="374" >
+<CONNECTOR type="125" id="580" >
 <cdparam x="298" y="533" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="515" y="607" id="245" />
-<P2  x="441" y="466" id="225" />
+<P1  x="444" y="601" id="428" />
+<P2  x="441" y="466" id="458" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="375" >
+<CONNECTOR type="125" id="581" >
 <cdparam x="444" y="328" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="359" y="353" id="354" />
-<P2  x="441" y="416" id="220" />
+<P1  x="359" y="353" id="358" />
+<P2  x="441" y="416" id="453" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="582" >
+<cdparam x="759" y="623" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="722" y="681" id="510" />
+<P2  x="503" y="466" id="467" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
diff --git a/ttool/src/test/resources/ui/diagram2tml/input/Test_equalsFunction.xml b/ttool/src/test/resources/ui/diagram2tml/input/Test_equalsFunction.xml
new file mode 100644
index 0000000000000000000000000000000000000000..032cb3e3f60fcd1034d23a56814b2647d87537d2
--- /dev/null
+++ b/ttool/src/test/resources/ui/diagram2tml/input/Test_equalsFunction.xml
@@ -0,0 +1,1287 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="0">
+
+<Modeling type="TML Component Design" nameTab="Application" tabs="TML Component Task Diagram$Function0$Function1" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="1" >
+<cdparam x="944" y="253" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="1164" y="257" id="17" />
+<P2  x="1164" y="323" id="7" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="2" >
+<cdparam x="944" y="462" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="1164" y="466" id="13" />
+<P2  x="1164" y="394" id="15" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="3" >
+<cdparam x="699" y="575" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="962" y="510" id="9" />
+<P2  x="1070" y="510" id="11" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="4" >
+<cdparam x="894" y="228" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="661" y="255" id="30" />
+<P2  x="661" y="321" id="28" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="5" >
+<cdparam x="894" y="437" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="661" y="464" id="34" />
+<P2  x="661" y="392" id="32" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="6" >
+<cdparam x="649" y="550" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="459" y="508" id="38" />
+<P2  x="567" y="508" id="36" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1202" id="27" >
+<cdparam x="728" y="208" />
+<sizeparam width="423" height="289" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Function1" />
+<TGConnectingPoint num="0" id="19" />
+<TGConnectingPoint num="1" id="20" />
+<TGConnectingPoint num="2" id="21" />
+<TGConnectingPoint num="3" id="22" />
+<TGConnectingPoint num="4" id="23" />
+<TGConnectingPoint num="5" id="24" />
+<TGConnectingPoint num="6" id="25" />
+<TGConnectingPoint num="7" id="26" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+<Attribute access="2" id="attr1" value="" type="0" typeOther="" />
+<Attribute access="2" id="attr2" value="" type="4" typeOther="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="8" >
+<father id="27" num="0" />
+<cdparam x="1138" y="310" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Channel Ch_in_1" />
+<TGConnectingPoint num="0" id="7" />
+<extraparam>
+<Prop commName="Ch_in_1" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="10" >
+<father id="27" num="1" />
+<cdparam x="949" y="484" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Request Req_in_1" />
+<TGConnectingPoint num="0" id="9" />
+<extraparam>
+<Prop commName="Req_in_1" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="12" >
+<father id="27" num="2" />
+<cdparam x="1057" y="484" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Request Req_out_1" />
+<TGConnectingPoint num="0" id="11" />
+<extraparam>
+<Prop commName="Req_out_1" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="14" >
+<father id="27" num="3" />
+<cdparam x="1138" y="453" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Event Evt_In_1" />
+<TGConnectingPoint num="0" id="13" />
+<extraparam>
+<Prop commName="Evt_In_1" commType="1" origin="false" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="16" >
+<father id="27" num="4" />
+<cdparam x="1138" y="381" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Event Evt_out_1" />
+<TGConnectingPoint num="0" id="15" />
+<extraparam>
+<Prop commName="Evt_out_1" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="18" >
+<father id="27" num="5" />
+<cdparam x="1138" y="244" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Channel Ch_out_1" />
+<TGConnectingPoint num="0" id="17" />
+<extraparam>
+<Prop commName="Ch_out_1" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="48" >
+<cdparam x="225" y="206" />
+<sizeparam width="423" height="289" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Function0" />
+<TGConnectingPoint num="0" id="40" />
+<TGConnectingPoint num="1" id="41" />
+<TGConnectingPoint num="2" id="42" />
+<TGConnectingPoint num="3" id="43" />
+<TGConnectingPoint num="4" id="44" />
+<TGConnectingPoint num="5" id="45" />
+<TGConnectingPoint num="6" id="46" />
+<TGConnectingPoint num="7" id="47" />
+<extraparam>
+<Data isAttacker="No" daemon="false" Operation="" />
+<Attribute access="2" id="attr1" value="" type="0" typeOther="" />
+<Attribute access="2" id="attr2" value="" type="4" typeOther="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="29" >
+<father id="48" num="0" />
+<cdparam x="635" y="308" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Channel Ch_in" />
+<TGConnectingPoint num="0" id="28" />
+<extraparam>
+<Prop commName="Ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="31" >
+<father id="48" num="1" />
+<cdparam x="635" y="242" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Channel Ch_out" />
+<TGConnectingPoint num="0" id="30" />
+<extraparam>
+<Prop commName="Ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="33" >
+<father id="48" num="2" />
+<cdparam x="635" y="379" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Event Evt_out" />
+<TGConnectingPoint num="0" id="32" />
+<extraparam>
+<Prop commName="Evt_out" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="35" >
+<father id="48" num="3" />
+<cdparam x="635" y="451" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Event Evt_In" />
+<TGConnectingPoint num="0" id="34" />
+<extraparam>
+<Prop commName="Evt_In" commType="1" origin="false" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="37" >
+<father id="48" num="4" />
+<cdparam x="554" y="482" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Request Req_out" />
+<TGConnectingPoint num="0" id="36" />
+<extraparam>
+<Prop commName="Req_out" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="39" >
+<father id="48" num="5" />
+<cdparam x="446" y="482" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="410" minY="-13" maxY="276" />
+<infoparam name="Primitive port" value="Request Req_in" />
+<TGConnectingPoint num="0" id="38" />
+<extraparam>
+<Prop commName="Req_in" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="Function0" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="50" >
+<cdparam x="461" y="299" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="49" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="52" >
+<cdparam x="721" y="314" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="51" />
+</COMPONENT>
+
+<COMPONENT type="1012" id="60" >
+<cdparam x="431" y="74" />
+<sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="56" />
+<TGConnectingPoint num="1" id="57" />
+<TGConnectingPoint num="2" id="58" />
+<TGConnectingPoint num="3" id="59" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="53" >
+<father id="60" num="0" />
+<cdparam x="406" y="84" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="54" >
+<father id="60" num="1" />
+<cdparam x="466" y="84" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="55" >
+<father id="60" num="2" />
+<cdparam x="451" y="119" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1009" id="63" >
+<cdparam x="441" y="248" />
+<sizeparam width="65" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="Ch_in(1) " />
+<TGConnectingPoint num="0" id="61" />
+<TGConnectingPoint num="1" id="62" />
+<extraparam>
+<Data channelName="Ch_in" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="66" >
+<cdparam x="259" y="145" />
+<sizeparam width="136" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="send event" value="Evt_out(attr1, attr2)" />
+<TGConnectingPoint num="0" id="64" />
+<TGConnectingPoint num="1" id="65" />
+<extraparam>
+<Data eventName="Evt_out" nbOfParams="5" />
+<Param index="0" value="attr1" />
+<Param index="1" value="attr2" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="69" >
+<cdparam x="443" y="171" />
+<sizeparam width="71" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="Ch_out(1)" />
+<TGConnectingPoint num="0" id="67" />
+<TGConnectingPoint num="1" id="68" />
+<extraparam>
+<Data channelName="Ch_out" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="71" >
+<cdparam x="304" y="309" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="70" />
+</COMPONENT>
+
+<COMPONENT type="1010" id="74" >
+<cdparam x="263" y="211" />
+<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="wait event" value="Evt_In(attr1, attr2) " />
+<TGConnectingPoint num="0" id="72" />
+<TGConnectingPoint num="1" id="73" />
+<extraparam>
+<Data eventName="Evt_In" nbOfParams="5" />
+<Param index="0" value="attr1" />
+<Param index="1" value="attr2" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1034" id="77" >
+<cdparam x="648" y="245" />
+<sizeparam width="160" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read args" value="getReqArg (attr1, attr2)" />
+<TGConnectingPoint num="0" id="75" />
+<TGConnectingPoint num="1" id="76" />
+<extraparam>
+<Data nbOfParams="5" />
+<Param index="0" value="attr1" />
+<Param index="1" value="attr2" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1007" id="80" >
+<cdparam x="656" y="181" />
+<sizeparam width="141" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="send request" value="Req_out(attr1, attr2)" />
+<TGConnectingPoint num="0" id="78" />
+<TGConnectingPoint num="1" id="79" />
+<extraparam>
+<Data requestName="Req_out" nbOfParams="5" />
+<Param index="0" value="attr1" />
+<Param index="1" value="attr2" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="82" >
+<cdparam x="437" y="22" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="81" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="83" >
+<cdparam x="327" y="170" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="327" y="170" id="65" />
+<P2  x="328" y="206" id="72" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="84" >
+<cdparam x="478" y="196" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="478" y="196" id="68" />
+<P2  x="473" y="243" id="61" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="85" >
+<cdparam x="726" y="206" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="726" y="206" id="79" />
+<P2  x="728" y="240" id="75" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="86" >
+<cdparam x="446" y="129" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="446" y="129" id="59" />
+<P2  x="478" y="166" id="67" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="87" >
+<cdparam x="406" y="421" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="328" y="236" id="73" />
+<P2  x="314" y="304" id="70" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="88" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="444" y="37" id="81" />
+<P2  x="446" y="64" id="56" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="89" >
+<cdparam x="371" y="117" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="406" y="89" id="57" />
+<P2  x="327" y="140" id="64" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="90" >
+<cdparam x="451" y="117" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="486" y="89" id="58" />
+<P2  x="726" y="176" id="78" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="91" >
+<cdparam x="728" y="270" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="728" y="270" id="76" />
+<P2  x="731" y="309" id="51" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="92" >
+<cdparam x="473" y="273" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="473" y="273" id="62" />
+<P2  x="471" y="294" id="49" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Function1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="94" >
+<cdparam x="461" y="299" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="93" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="96" >
+<cdparam x="721" y="314" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="95" />
+</COMPONENT>
+
+<COMPONENT type="1012" id="104" >
+<cdparam x="431" y="74" />
+<sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="100" />
+<TGConnectingPoint num="1" id="101" />
+<TGConnectingPoint num="2" id="102" />
+<TGConnectingPoint num="3" id="103" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="97" >
+<father id="104" num="0" />
+<cdparam x="406" y="84" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="98" >
+<father id="104" num="1" />
+<cdparam x="466" y="84" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="99" >
+<father id="104" num="2" />
+<cdparam x="451" y="119" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1009" id="107" >
+<cdparam x="434" y="248" />
+<sizeparam width="79" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="Ch_in_1(1) " />
+<TGConnectingPoint num="0" id="105" />
+<TGConnectingPoint num="1" id="106" />
+<extraparam>
+<Data channelName="Ch_in_1" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="110" >
+<cdparam x="252" y="145" />
+<sizeparam width="150" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="send event" value="Evt_out_1(attr1, attr2)" />
+<TGConnectingPoint num="0" id="108" />
+<TGConnectingPoint num="1" id="109" />
+<extraparam>
+<Data eventName="Evt_out_1" nbOfParams="5" />
+<Param index="0" value="attr1" />
+<Param index="1" value="attr2" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="113" >
+<cdparam x="436" y="171" />
+<sizeparam width="85" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="Ch_out_1(1)" />
+<TGConnectingPoint num="0" id="111" />
+<TGConnectingPoint num="1" id="112" />
+<extraparam>
+<Data channelName="Ch_out_1" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="115" >
+<cdparam x="304" y="309" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="114" />
+</COMPONENT>
+
+<COMPONENT type="1010" id="118" >
+<cdparam x="256" y="211" />
+<sizeparam width="144" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="wait event" value="Evt_In_1(attr1, attr2) " />
+<TGConnectingPoint num="0" id="116" />
+<TGConnectingPoint num="1" id="117" />
+<extraparam>
+<Data eventName="Evt_In_1" nbOfParams="5" />
+<Param index="0" value="attr1" />
+<Param index="1" value="attr2" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1034" id="121" >
+<cdparam x="648" y="245" />
+<sizeparam width="160" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read args" value="getReqArg (attr1, attr2)" />
+<TGConnectingPoint num="0" id="119" />
+<TGConnectingPoint num="1" id="120" />
+<extraparam>
+<Data nbOfParams="5" />
+<Param index="0" value="attr1" />
+<Param index="1" value="attr2" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1007" id="124" >
+<cdparam x="649" y="181" />
+<sizeparam width="155" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="send request" value="Req_out_1(attr1, attr2)" />
+<TGConnectingPoint num="0" id="122" />
+<TGConnectingPoint num="1" id="123" />
+<extraparam>
+<Data requestName="Req_out_1" nbOfParams="5" />
+<Param index="0" value="attr1" />
+<Param index="1" value="attr2" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="126" >
+<cdparam x="437" y="22" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="125" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="127" >
+<cdparam x="327" y="170" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="327" y="170" id="109" />
+<P2  x="328" y="206" id="116" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="128" >
+<cdparam x="478" y="196" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="478" y="196" id="112" />
+<P2  x="473" y="243" id="105" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="129" >
+<cdparam x="726" y="206" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="726" y="206" id="123" />
+<P2  x="728" y="240" id="119" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="130" >
+<cdparam x="446" y="129" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="446" y="129" id="103" />
+<P2  x="478" y="166" id="111" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="131" >
+<cdparam x="406" y="421" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="328" y="236" id="117" />
+<P2  x="314" y="304" id="114" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="132" >
+<cdparam x="407" y="65" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="444" y="37" id="125" />
+<P2  x="446" y="64" id="100" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="133" >
+<cdparam x="371" y="117" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="406" y="89" id="101" />
+<P2  x="327" y="140" id="108" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="134" >
+<cdparam x="451" y="117" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="486" y="89" id="102" />
+<P2  x="726" y="176" id="122" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="135" >
+<cdparam x="728" y="270" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="728" y="270" id="120" />
+<P2  x="731" y="309" id="95" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="136" >
+<cdparam x="473" y="273" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="473" y="273" id="106" />
+<P2  x="471" y="294" id="93" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="Architecture" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1102" id="161" >
+<cdparam x="1066" y="517" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus1" value="name" />
+<TGConnectingPoint num="0" id="137" />
+<TGConnectingPoint num="1" id="138" />
+<TGConnectingPoint num="2" id="139" />
+<TGConnectingPoint num="3" id="140" />
+<TGConnectingPoint num="4" id="141" />
+<TGConnectingPoint num="5" id="142" />
+<TGConnectingPoint num="6" id="143" />
+<TGConnectingPoint num="7" id="144" />
+<TGConnectingPoint num="8" id="145" />
+<TGConnectingPoint num="9" id="146" />
+<TGConnectingPoint num="10" id="147" />
+<TGConnectingPoint num="11" id="148" />
+<TGConnectingPoint num="12" id="149" />
+<TGConnectingPoint num="13" id="150" />
+<TGConnectingPoint num="14" id="151" />
+<TGConnectingPoint num="15" id="152" />
+<TGConnectingPoint num="16" id="153" />
+<TGConnectingPoint num="17" id="154" />
+<TGConnectingPoint num="18" id="155" />
+<TGConnectingPoint num="19" id="156" />
+<TGConnectingPoint num="20" id="157" />
+<TGConnectingPoint num="21" id="158" />
+<TGConnectingPoint num="22" id="159" />
+<TGConnectingPoint num="23" id="160" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus1" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1106" id="186" >
+<cdparam x="1068" y="384" />
+<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bridge1" value="name" />
+<TGConnectingPoint num="0" id="162" />
+<TGConnectingPoint num="1" id="163" />
+<TGConnectingPoint num="2" id="164" />
+<TGConnectingPoint num="3" id="165" />
+<TGConnectingPoint num="4" id="166" />
+<TGConnectingPoint num="5" id="167" />
+<TGConnectingPoint num="6" id="168" />
+<TGConnectingPoint num="7" id="169" />
+<TGConnectingPoint num="8" id="170" />
+<TGConnectingPoint num="9" id="171" />
+<TGConnectingPoint num="10" id="172" />
+<TGConnectingPoint num="11" id="173" />
+<TGConnectingPoint num="12" id="174" />
+<TGConnectingPoint num="13" id="175" />
+<TGConnectingPoint num="14" id="176" />
+<TGConnectingPoint num="15" id="177" />
+<TGConnectingPoint num="16" id="178" />
+<TGConnectingPoint num="17" id="179" />
+<TGConnectingPoint num="18" id="180" />
+<TGConnectingPoint num="19" id="181" />
+<TGConnectingPoint num="20" id="182" />
+<TGConnectingPoint num="21" id="183" />
+<TGConnectingPoint num="22" id="184" />
+<TGConnectingPoint num="23" id="185" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="Bridge1" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1100" id="220" >
+<cdparam x="424" y="30" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU1" value="name" />
+<TGConnectingPoint num="0" id="196" />
+<TGConnectingPoint num="1" id="197" />
+<TGConnectingPoint num="2" id="198" />
+<TGConnectingPoint num="3" id="199" />
+<TGConnectingPoint num="4" id="200" />
+<TGConnectingPoint num="5" id="201" />
+<TGConnectingPoint num="6" id="202" />
+<TGConnectingPoint num="7" id="203" />
+<TGConnectingPoint num="8" id="204" />
+<TGConnectingPoint num="9" id="205" />
+<TGConnectingPoint num="10" id="206" />
+<TGConnectingPoint num="11" id="207" />
+<TGConnectingPoint num="12" id="208" />
+<TGConnectingPoint num="13" id="209" />
+<TGConnectingPoint num="14" id="210" />
+<TGConnectingPoint num="15" id="211" />
+<TGConnectingPoint num="16" id="212" />
+<TGConnectingPoint num="17" id="213" />
+<TGConnectingPoint num="18" id="214" />
+<TGConnectingPoint num="19" id="215" />
+<TGConnectingPoint num="20" id="216" />
+<TGConnectingPoint num="21" id="217" />
+<TGConnectingPoint num="22" id="218" />
+<TGConnectingPoint num="23" id="219" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="195" >
+<father id="220" num="0" />
+<cdparam x="442" y="80" />
+<sizeparam width="174" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="76" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="Application::Function1" />
+<TGConnectingPoint num="0" id="187" />
+<TGConnectingPoint num="1" id="188" />
+<TGConnectingPoint num="2" id="189" />
+<TGConnectingPoint num="3" id="190" />
+<TGConnectingPoint num="4" id="191" />
+<TGConnectingPoint num="5" id="192" />
+<TGConnectingPoint num="6" id="193" />
+<TGConnectingPoint num="7" id="194" />
+<extraparam>
+<info value="Application::Function1" taskName="Function1" referenceTaskName="Application" priority="0" operationMEC="Function1" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1105" id="245" >
+<cdparam x="814" y="382" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Memory1" value="name" />
+<TGConnectingPoint num="0" id="221" />
+<TGConnectingPoint num="1" id="222" />
+<TGConnectingPoint num="2" id="223" />
+<TGConnectingPoint num="3" id="224" />
+<TGConnectingPoint num="4" id="225" />
+<TGConnectingPoint num="5" id="226" />
+<TGConnectingPoint num="6" id="227" />
+<TGConnectingPoint num="7" id="228" />
+<TGConnectingPoint num="8" id="229" />
+<TGConnectingPoint num="9" id="230" />
+<TGConnectingPoint num="10" id="231" />
+<TGConnectingPoint num="11" id="232" />
+<TGConnectingPoint num="12" id="233" />
+<TGConnectingPoint num="13" id="234" />
+<TGConnectingPoint num="14" id="235" />
+<TGConnectingPoint num="15" id="236" />
+<TGConnectingPoint num="16" id="237" />
+<TGConnectingPoint num="17" id="238" />
+<TGConnectingPoint num="18" id="239" />
+<TGConnectingPoint num="19" id="240" />
+<TGConnectingPoint num="20" id="241" />
+<TGConnectingPoint num="21" id="242" />
+<TGConnectingPoint num="22" id="243" />
+<TGConnectingPoint num="23" id="244" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory1" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1106" id="279" >
+<cdparam x="162" y="504" />
+<sizeparam width="250" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bridge0" value="name" />
+<TGConnectingPoint num="0" id="255" />
+<TGConnectingPoint num="1" id="256" />
+<TGConnectingPoint num="2" id="257" />
+<TGConnectingPoint num="3" id="258" />
+<TGConnectingPoint num="4" id="259" />
+<TGConnectingPoint num="5" id="260" />
+<TGConnectingPoint num="6" id="261" />
+<TGConnectingPoint num="7" id="262" />
+<TGConnectingPoint num="8" id="263" />
+<TGConnectingPoint num="9" id="264" />
+<TGConnectingPoint num="10" id="265" />
+<TGConnectingPoint num="11" id="266" />
+<TGConnectingPoint num="12" id="267" />
+<TGConnectingPoint num="13" id="268" />
+<TGConnectingPoint num="14" id="269" />
+<TGConnectingPoint num="15" id="270" />
+<TGConnectingPoint num="16" id="271" />
+<TGConnectingPoint num="17" id="272" />
+<TGConnectingPoint num="18" id="273" />
+<TGConnectingPoint num="19" id="274" />
+<TGConnectingPoint num="20" id="275" />
+<TGConnectingPoint num="21" id="276" />
+<TGConnectingPoint num="22" id="277" />
+<TGConnectingPoint num="23" id="278" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="Bridge0" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="254" >
+<father id="279" num="0" />
+<cdparam x="178" y="539" />
+<sizeparam width="200" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="50" minY="0" maxY="60" />
+<infoparam name="TGComponent" value="Application::Ch_out__Ch_in" />
+<TGConnectingPoint num="0" id="246" />
+<TGConnectingPoint num="1" id="247" />
+<TGConnectingPoint num="2" id="248" />
+<TGConnectingPoint num="3" id="249" />
+<TGConnectingPoint num="4" id="250" />
+<TGConnectingPoint num="5" id="251" />
+<TGConnectingPoint num="6" id="252" />
+<TGConnectingPoint num="7" id="253" />
+<extraparam>
+<info value="Application::Ch_out__Ch_in" communicationName="Ch_out__Ch_in" referenceCommunicationName="Application" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="313" >
+<cdparam x="162" y="330" />
+<sizeparam width="250" height="84" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="289" />
+<TGConnectingPoint num="1" id="290" />
+<TGConnectingPoint num="2" id="291" />
+<TGConnectingPoint num="3" id="292" />
+<TGConnectingPoint num="4" id="293" />
+<TGConnectingPoint num="5" id="294" />
+<TGConnectingPoint num="6" id="295" />
+<TGConnectingPoint num="7" id="296" />
+<TGConnectingPoint num="8" id="297" />
+<TGConnectingPoint num="9" id="298" />
+<TGConnectingPoint num="10" id="299" />
+<TGConnectingPoint num="11" id="300" />
+<TGConnectingPoint num="12" id="301" />
+<TGConnectingPoint num="13" id="302" />
+<TGConnectingPoint num="14" id="303" />
+<TGConnectingPoint num="15" id="304" />
+<TGConnectingPoint num="16" id="305" />
+<TGConnectingPoint num="17" id="306" />
+<TGConnectingPoint num="18" id="307" />
+<TGConnectingPoint num="19" id="308" />
+<TGConnectingPoint num="20" id="309" />
+<TGConnectingPoint num="21" id="310" />
+<TGConnectingPoint num="22" id="311" />
+<TGConnectingPoint num="23" id="312" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="288" >
+<father id="313" num="0" />
+<cdparam x="177" y="368" />
+<sizeparam width="200" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="50" minY="0" maxY="44" />
+<infoparam name="TGComponent" value="Application::Ch_out__Ch_in" />
+<TGConnectingPoint num="0" id="280" />
+<TGConnectingPoint num="1" id="281" />
+<TGConnectingPoint num="2" id="282" />
+<TGConnectingPoint num="3" id="283" />
+<TGConnectingPoint num="4" id="284" />
+<TGConnectingPoint num="5" id="285" />
+<TGConnectingPoint num="6" id="286" />
+<TGConnectingPoint num="7" id="287" />
+<extraparam>
+<info value="Application::Ch_out__Ch_in" communicationName="Ch_out__Ch_in" referenceCommunicationName="Application" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1107" id="338" >
+<cdparam x="494" y="381" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="DMA1" value="name" />
+<TGConnectingPoint num="0" id="314" />
+<TGConnectingPoint num="1" id="315" />
+<TGConnectingPoint num="2" id="316" />
+<TGConnectingPoint num="3" id="317" />
+<TGConnectingPoint num="4" id="318" />
+<TGConnectingPoint num="5" id="319" />
+<TGConnectingPoint num="6" id="320" />
+<TGConnectingPoint num="7" id="321" />
+<TGConnectingPoint num="8" id="322" />
+<TGConnectingPoint num="9" id="323" />
+<TGConnectingPoint num="10" id="324" />
+<TGConnectingPoint num="11" id="325" />
+<TGConnectingPoint num="12" id="326" />
+<TGConnectingPoint num="13" id="327" />
+<TGConnectingPoint num="14" id="328" />
+<TGConnectingPoint num="15" id="329" />
+<TGConnectingPoint num="16" id="330" />
+<TGConnectingPoint num="17" id="331" />
+<TGConnectingPoint num="18" id="332" />
+<TGConnectingPoint num="19" id="333" />
+<TGConnectingPoint num="20" id="334" />
+<TGConnectingPoint num="21" id="335" />
+<TGConnectingPoint num="22" id="336" />
+<TGConnectingPoint num="23" id="337" />
+<extraparam>
+<info stereotype="DMA" nodeName="DMA1" />
+<attributes byteDataSize="4" nbOfChannels="1" clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1116" id="363" >
+<cdparam x="979" y="26" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="FPGA1" value="name" />
+<TGConnectingPoint num="0" id="339" />
+<TGConnectingPoint num="1" id="340" />
+<TGConnectingPoint num="2" id="341" />
+<TGConnectingPoint num="3" id="342" />
+<TGConnectingPoint num="4" id="343" />
+<TGConnectingPoint num="5" id="344" />
+<TGConnectingPoint num="6" id="345" />
+<TGConnectingPoint num="7" id="346" />
+<TGConnectingPoint num="8" id="347" />
+<TGConnectingPoint num="9" id="348" />
+<TGConnectingPoint num="10" id="349" />
+<TGConnectingPoint num="11" id="350" />
+<TGConnectingPoint num="12" id="351" />
+<TGConnectingPoint num="13" id="352" />
+<TGConnectingPoint num="14" id="353" />
+<TGConnectingPoint num="15" id="354" />
+<TGConnectingPoint num="16" id="355" />
+<TGConnectingPoint num="17" id="356" />
+<TGConnectingPoint num="18" id="357" />
+<TGConnectingPoint num="19" id="358" />
+<TGConnectingPoint num="20" id="359" />
+<TGConnectingPoint num="21" id="360" />
+<TGConnectingPoint num="22" id="361" />
+<TGConnectingPoint num="23" id="362" />
+<extraparam>
+<info stereotype="FPGA" nodeName="FPGA1" />
+<attributes capacity="100" byteDataSize="4"  mappingPenalty="0"  reconfigurationTime="50"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  execiTime="1" execcTime="1" clockRatio="1" operation =""  scheduling ="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1100" id="397" >
+<cdparam x="100" y="28" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU0" value="name" />
+<TGConnectingPoint num="0" id="373" />
+<TGConnectingPoint num="1" id="374" />
+<TGConnectingPoint num="2" id="375" />
+<TGConnectingPoint num="3" id="376" />
+<TGConnectingPoint num="4" id="377" />
+<TGConnectingPoint num="5" id="378" />
+<TGConnectingPoint num="6" id="379" />
+<TGConnectingPoint num="7" id="380" />
+<TGConnectingPoint num="8" id="381" />
+<TGConnectingPoint num="9" id="382" />
+<TGConnectingPoint num="10" id="383" />
+<TGConnectingPoint num="11" id="384" />
+<TGConnectingPoint num="12" id="385" />
+<TGConnectingPoint num="13" id="386" />
+<TGConnectingPoint num="14" id="387" />
+<TGConnectingPoint num="15" id="388" />
+<TGConnectingPoint num="16" id="389" />
+<TGConnectingPoint num="17" id="390" />
+<TGConnectingPoint num="18" id="391" />
+<TGConnectingPoint num="19" id="392" />
+<TGConnectingPoint num="20" id="393" />
+<TGConnectingPoint num="21" id="394" />
+<TGConnectingPoint num="22" id="395" />
+<TGConnectingPoint num="23" id="396" />
+<extraparam>
+<info stereotype="CPU" nodeName="CPU0" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" operation="" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="372" >
+<father id="397" num="0" />
+<cdparam x="135" y="81" />
+<sizeparam width="174" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="76" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="Application::Function0" />
+<TGConnectingPoint num="0" id="364" />
+<TGConnectingPoint num="1" id="365" />
+<TGConnectingPoint num="2" id="366" />
+<TGConnectingPoint num="3" id="367" />
+<TGConnectingPoint num="4" id="368" />
+<TGConnectingPoint num="5" id="369" />
+<TGConnectingPoint num="6" id="370" />
+<TGConnectingPoint num="7" id="371" />
+<extraparam>
+<info value="Application::Function0" taskName="Function0" referenceTaskName="Application" priority="0" operationMEC="Function0" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1104" id="422" >
+<cdparam x="718" y="31" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="HWA1" value="name" />
+<TGConnectingPoint num="0" id="398" />
+<TGConnectingPoint num="1" id="399" />
+<TGConnectingPoint num="2" id="400" />
+<TGConnectingPoint num="3" id="401" />
+<TGConnectingPoint num="4" id="402" />
+<TGConnectingPoint num="5" id="403" />
+<TGConnectingPoint num="6" id="404" />
+<TGConnectingPoint num="7" id="405" />
+<TGConnectingPoint num="8" id="406" />
+<TGConnectingPoint num="9" id="407" />
+<TGConnectingPoint num="10" id="408" />
+<TGConnectingPoint num="11" id="409" />
+<TGConnectingPoint num="12" id="410" />
+<TGConnectingPoint num="13" id="411" />
+<TGConnectingPoint num="14" id="412" />
+<TGConnectingPoint num="15" id="413" />
+<TGConnectingPoint num="16" id="414" />
+<TGConnectingPoint num="17" id="415" />
+<TGConnectingPoint num="18" id="416" />
+<TGConnectingPoint num="19" id="417" />
+<TGConnectingPoint num="20" id="418" />
+<TGConnectingPoint num="21" id="419" />
+<TGConnectingPoint num="22" id="420" />
+<TGConnectingPoint num="23" id="421" />
+<extraparam>
+<info stereotype="HWA" nodeName="HWA1" />
+<attributes byteDataSize="4"  execiTime="1"  clockRatio="1"  operation="" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="125" id="423" >
+<cdparam x="549" y="230" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="549" y="230" id="202" />
+<P2  x="412" y="330" id="291" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="424" >
+<cdparam x="408" y="345" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="287" y="228" id="388" />
+<P2  x="287" y="330" id="290" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="425" >
+<cdparam x="306" y="515" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="287" y="504" id="256" />
+<P2  x="287" y="414" id="295" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+</TURTLEGMODELING>
\ No newline at end of file