<?xml version="1.0"?>
<mxStylesheet>
    <!-- *** OVERLOADING DEFINITION *** -->
    <add as="defaultVertex">
        <add as="shape" value="label"/>
        <add as="perimeter" value="rectanglePerimeter"/>
        <add as="strokeColor" value="black"/>
        <add as="strokeWidth" value="0.5"/>
        <add as="fillColor" value="white"/>
        <add as="fontColor" value="black"/>
        <add as="noLabel" value="0"/>
    </add>
    <!-- *** GENERIC BLOCKS *** -->
    <add as="block" extend="defaultVertex">
        <add as="fillColor" value="#cdcdcd"/>
        <add as="gradientColor" value="white"/>
        <add as="rounded" value="1"/>
    </add>
    <add as="blockWithLabel" extend="defaultVertex">
        <add as="noLabel" value="0"/>
        <add as="spacing" value="13"/>
        <add as="fillColor" value="#cdcdcd"/>
        <add as="gradientColor" value="white"/>
        <add as="rounded" value="1"/>
    </add>
    <!-- *** BLOCK DEFINITION *** -->
    <!-- Affiche -->
    <add as="Affiche" extend="blockWithLabel"/>
    <add as="Split" extend="block">
        <add as="shape" value="rectangle"/>
        <add as="strokeColor" value="black"/>
        <add as="fillColor" value="orange"/>
        <remove as="gradientColor"/>
        <remove as="rounded"/>
    </add>
    <!-- Label -->
    <add as="Label" extend="defaultVertex">
        <add as="shape" value="rectangle"/>
        <add as="perimeter" value="rectanglePerimeter"/>
        <add as="fillColor" value="white"/>
        <add as="fontColor" value="black"/>
        <add as="noLabel" value="0"/>
        <add as="strokeColor" value="white"/>
    </add>
    <!-- Print (Label as block) -->
    <add as="Print" extend="blockWithLabel">
        <add as="displayedLabel" value="%s"/>
    </add>
    <!-- Gain -->
    <add as="Gain" extend="blockWithLabel">
        <add as="shape" value="triangle"/>
        <add as="perimeter" value="trianglePerimeter"/>
        <add as="direction" value="east"/>
        <add as="displayedLabel" value="%s"/>
    </add>
    <!-- Icon -->
    <add as="Icon" extend="block">
        <add as="imageBorder" value="black"/>
    </add>
    <!-- *** PORT DEFINITION *** -->
    <add as="Port" extend="defaultVertex">
        <add as="shape" value="triangle"/>
        <add as="perimeter" value="trianglePerimeter"/>
        <add as="noLabel" value="0"/>
    </add>
    <!-- Command Port -->
    <add as="CommandPort" extend="Port">
        <add as="strokeColor" value="red"/>
        <add as="fillColor" value="red"/>
        <add as="rotation" value="90"/>
        <add as="type" value="Command"/>
    </add>
    <!-- Control Port -->
    <add as="ControlPort" extend="Port">
        <add as="strokeColor" value="red"/>
        <add as="fillColor" value="red"/>
        <add as="rotation" value="90"/>
        <add as="type" value="Control"/>
    </add>
    <!-- Explicit Input -->
    <add as="ExplicitInputPort" extend="Port">
        <add as="strokeColor" value="black"/>
        <add as="fillColor" value="black"/>
        <add as="rotation" value="0"/>
    </add>
    <!-- Explicit Output -->
    <add as="ExplicitOutputPort" extend="Port">
        <add as="strokeColor" value="black"/>
        <add as="fillColor" value="black"/>
        <add as="rotation" value="0"/>
    </add>
    <!-- Implicit Input -->
    <add as="ImplicitInputPort" extend="Port">
        <add as="shape" value="rectangle"/>
        <add as="strokeColor" value="black"/>
        <add as="fillColor" value="black"/>
    </add>
    <!-- Implicit Output -->
    <add as="ImplicitOutputPort" extend="Port">
        <add as="shape" value="rectangle"/>
        <add as="strokeColor" value="black"/>
        <add as="fillColor" value="white"/>
    </add>
    <!-- *** LINK definition *** -->
    <add as="defaultEdge">
        <!--<add as="edgeStyle" value="entityRelationEdgeStyle"/>-->
        <add as="labelBackgroundColor" value="white"/>
        <!-- To have rounded links -->
        <!-- <add as="rounded" value="1"/> -->
        <!-- <add as="edgeStyle" value="elbowEdgeStyle"/> -->
        <add as="edgeStyle" value="wireEdgeStyle"/>
        <add as="elbow" value="horizontal"/>
        <add as="shape" value="connector"/>
        <add as="labelBackgroundColor" value="white"/>
        <add as="endArrow" value="classicnone"/>
        <add as="fontSize" value="20"/>
        <add as="fontStyle" value="0"/>
        <add as="align" value="center"/>
        <add as="verticalAlign" value="middle"/>
        <add as="strokeColor" value="black"/>
        <add as="perimeter" value="null"/>
    </add>
    <add as="CommandControlLink" extend="defaultEdge">
        <add as="strokeColor" value="red"/>
        <add as="elbow" value="vertical"/>
    </add>
    <add as="ExplicitLink" extend="defaultEdge">
        <add as="strokeColor" value="blue"/>
    </add>
    <add as="ImplicitLink" extend="defaultEdge">
        <add as="strokeColor" value="blue"/>
    </add>
    <!-- SOURCES -->
    <add as="CONST_m" extend="Print"/>
    <add as="CONST_f" extend="Print"/>
    <add as="CONST" extend="Print"/>
    <add as="GENSQR_f" extend="Icon">
        <add as="image" value="blocks/SQUARE_WAVE_f.svg"/>
    </add>
    <add as="RAMP" extend="Icon">
        <add as="image" value="blocks/RAMP.svg"/>
    </add>
    <add as="RAND_m" extend="blockWithLabel">
        <add as="displayedLabel" value="Random&lt;BR&gt;         generator"/>
    </add>
    <add as="RFILE_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Read from&lt;BR&gt;         input file"/>
    </add>
    <add as="CLKINV_f" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="rounded" value="1"/>
        <add as="fillColor" value="white"/>
        <add as="strokeColor" value="red"/>
    </add>
    <add as="CURV_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Curve"/>
    </add>
    <add as="INIMPL_f" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="rounded" value="1"/>
        <add as="fillColor" value="white"/>
		<add as="displayedLabel" value="%s"/>
    </add>
    <add as="READAU_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Read from .au&lt;BR&gt;         sound file"/>
    </add>
    <add as="SAWTOOTH_f" extend="Icon">
        <add as="image" value="blocks/sawtooth.svg"/>
    </add>
    <add as="STEP_FUNCTION" extend="Icon">
        <add as="image" value="blocks/STEP_FUNCTION.svg"/>
    </add>
    <add as="STEP" extend="Icon">
        <add as="image" value="blocks/STEP_FUNCTION.svg"/>
    </add>
    <add as="PULSE_SC" extend="Icon">
        <add as="image" value="blocks/PULSE_SC.svg"/>
    </add>
    <add as="CLOCK_c" extend="Icon">
      <add as="image" value="blocks/CLOCK_c.svg"/>
    </add>
    <add as="GENSIN_f" extend="Icon">
        <add as="image" value="blocks/SINUS_f.svg"/>
    </add>
    <add as="IN_f" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="rounded" value="1"/>
        <add as="fillColor" value="white"/>
		<add as="displayedLabel" value="%s"/>
    </add>
    <add as="READC_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Read from&lt;BR&gt;         C binary file"/>
    </add>
    <add as="TIME_f" extend="Icon">
        <add as="image" value="blocks/CLOCK_f.svg"/>
    </add>
    <add as="Modulo_Count" extend="blockWithLabel">
        <add as="displayedLabel" value="Counter&lt;BR&gt;Modulo %s"/>
    </add>
    <add as="Sigbuilder" extend="blockWithLabel">
        <add as="displayedLabel" value="Signal&lt;BR&gt;Builder"/>
    </add>
    <add as="SampleCLK" extend="Icon">
      <add as="image" value="blocks/SampleCLK.svg"/>
    </add>
    <add as="TKSCALE" extend="blockWithLabel">
        <add as="displayedLabel" value="TK Scale"/>
    </add>
    <add as="FROMWSB" extend="blockWithLabel">
        <!-- FIXME: update label from parameters (not as exprs) -->
        <add as="displayedLabel" value="From workspace"/>
    </add>
    <!-- CONTINUOUS -->
    <add as="DERIV" extend="blockWithLabel">
        <add as="displayedLabel" value="du / dt"/>
    </add>
    <add as="INTEGRAL_m" extend="Icon">
      <add as="image" value="blocks/INTEGRAL.svg"/>
    </add>
    <add as="INTEGRAL" extend="INTEGRAL_m"/>
    <add as="CLSS" extend="blockWithLabel">
        <add as="displayedLabel" value="&lt;TABLE&gt;         &lt;TR&gt;         &lt;TD ALIGN=&quot;RIGHT&quot;&gt;xd&lt;/TD&gt;         &lt;TD&gt;=&lt;/TD&gt;         &lt;TD&gt;Ax+Bu&lt;/TD&gt;         &lt;/TR&gt;         &lt;TR&gt;         &lt;TD ALIGN=&quot;RIGHT&quot;&gt;y&lt;/TD&gt;         &lt;TD&gt;=&lt;/TD&gt;         &lt;TD&gt;Cx+Du&lt;/TD&gt;         &lt;/TR&gt;         &lt;/TABLE&gt;"/>
    </add>
    <add as="CLSS_f" extend="CLSS"/>
    <add as="CLR" extend="blockWithLabel">
        <add as="displayedLabel" value="%s&lt;BR&gt;&lt;HR&gt;%s + &lt;i&gt;s&lt;/i&gt;"/>
    </add>
    <add as="CLR_f" extend="CLR"/>
    <add as="TIME_DELAY" extend="blockWithLabel">
        <add as="displayedLabel" value="Continuous&lt;BR&gt;         fix delay"/>
    </add>
    <add as="TCLSS" extend="blockWithLabel">
        <add as="displayedLabel" value="Jump&lt;BR&gt;         (A,B,C,D)"/>
    </add>
    <add as="TCLSS_f" extend="TCLSS"/>
    <add as="VARIABLE_DELAY" extend="blockWithLabel">
        <add as="displayedLabel" value="Variable&lt;BR&gt;         delay"/>
    </add>
    <add as="PID" extend="blockWithLabel">
        <add as="displayedLabel" value="PID"/>
    </add>
    <add as="INTEGRAL_f" extend="blockWithLabel">
        <add as="displayedLabel" value="1/s"/>
    </add>
    <!-- DISCONTINUOUS -->
    <add as="SATURATION" extend="Icon">
      <add as="image" value="blocks/SATURATION.svg"/>
    </add>
    <add as="DEADBAND" extend="Icon">
      <add as="image" value="blocks/DEADBAND.svg"/>
    </add>
    <add as="HYSTHERESIS" extend="Icon">
      <add as="image" value="blocks/HYSTHERESIS.svg"/>
    </add>
    <add as="BACKLASH" extend="blockWithLabel">
        <add as="displayedLabel" value="Backlash"/>
    </add>
    <add as="RATELIMITER" extend="blockWithLabel">
        <add as="displayedLabel" value="Rate limiter"/>
    </add>
    <add as="REGISTER" extend="blockWithLabel">
        <add as="displayedLabel" value="Shift&lt;BR&gt;         register"/>
    </add>
    <add as="DELAYV_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Variable&lt;BR&gt;         delay"/>
    </add>
    <!-- LOOKUP TABLES -->
    <add as="LOOKUP_f" extend="Icon">
      <add as="image" value="blocks/DSCOPE.svg"/>
    </add>
    <add as="INTRP2BLK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Interp 2"/>
    </add>
    <add as="INTRPLBLK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Interp"/>
    </add>
    <!-- SIGNAL PROCESSING -->
    <add as="MCLOCK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="2freq clock&lt;BR&gt;         f/n f"/>
    </add>
    <add as="QUANT_f" extend="Icon">
      <add as="image" value="blocks/QUANT_f.svg"/>
    </add>
    <add as="MFCLCK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="M. freq&lt;BR&gt;         clock"/>
    </add>
    <add as="SAMPHOLD_m" extend="blockWithLabel">
        <add as="displayedLabel" value="S / H"/>
    </add>
    <add as="SAMPLEHOLD_f" extend="SAMPHOLD_m"/>
    <!-- THRESHOLD -->
    <add as="NEGTOPOS_f" extend="blockWithLabel">
        <add as="displayedLabel" value="- to +"/>
    </add>
    <add as="POSTONEG_f" extend="blockWithLabel">
        <add as="displayedLabel" value="+ to -"/>
    </add>
    <add as="ZCROSS_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Zcross"/>
    </add>
    <add as="GENERAL_f" extend="blockWithLabel">
        <add as="displayedLabel" value="GENERAL"/>
    </add>
    <add as="CLINDUMMY_f" extend="blockWithLabel">
        <add as="displayedLabel" value="DUMMY&lt;BR&gt;         CLSS"/>
    </add>
    <!-- MATH OPERATIONS -->
    <add as="MAX_f" extend="blockWithLabel">
        <add as="displayedLabel" value="MAX"/>
    </add>
    <add as="MIN_f" extend="blockWithLabel">
        <add as="displayedLabel" value="MIN"/>
    </add>
    <add as="BIGSOM_f" extend="Icon">
      <add as="image" value="blocks/SUM.svg"/>
    </add>
    <add as="POWBLK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="u^a"/>
    </add>
    <add as="INVBLK" extend="blockWithLabel">
        <add as="displayedLabel" value="1/u"/>
    </add>
    <add as="INVBLK_f" extend="INVBLK"/>
    <add as="SINBLK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="SIN"/>
    </add>
    <add as="COSBLK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="COS"/>
    </add>
    <add as="TANBLK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="TAN"/>
    </add>
    <add as="MATDIV" extend="blockWithLabel">
        <add as="displayedLabel" value="A / B"/>
    </add>
    <add as="EXPBLK_m" extend="blockWithLabel">
        <add as="displayedLabel" value="a^u"/>
    </add>
    <add as="PROD_f" extend="blockWithLabel">
        <add as="shape" value="ellipse"/>
        <remove as="image"/>
        <add as="fontSize" value="20"/>
    </add>
    <add as="MATZREIM" extend="blockWithLabel">
        <add as="displayedLabel" value="Re &amp; Im"/>
    </add>
    <add as="MATMAGPHI" extend="blockWithLabel">
        <add as="displayedLabel" value="Mag &amp; Phi"/>
    </add>
    <add as="SQRT" extend="blockWithLabel"/>
    <add as="GAINBLK_f" extend="Gain"/>
    <add as="LOGBLK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="LOG"/>
    </add>
    <add as="SUMMATION" extend="Icon">
      <add as="image" value="blocks/SUM.svg"/>
    </add>
    <add as="TrigFun" extend="blockWithLabel">
        <add as="displayedLabel" value="Trig function"/>
    </add>
    <add as="PRODUCT" extend="Icon">
        <add as="image" value="blocks/PRODUCT.svg"/>
        <add as="noLabel" value="0"/>
        <!--
			<add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt;
			&lt;TD&gt;*&lt;/TD&gt; &lt;TD ROWSPAN=&quot;2&quot;&gt; &lt;FONT
			SIZE=&quot;6&quot;&gt;&#8719;&lt;/FONT&gt; &lt;TD&gt; &lt;/TR&gt;
			&lt;TR&gt; &lt;TD&gt;/&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt;
			&lt;/TABLE&gt;"/>
		-->
    </add>
    <add as="MAXMIN" extend="blockWithLabel">
        <add as="displayedLabel" value="MIN / MAX"/>
    </add>
    <add as="ABS_VALUE" extend="blockWithLabel">
        <add as="displayedLabel" value="ABS"/>
    </add>
    <add as="SIGNUM" extend="blockWithLabel">
        <add as="displayedLabel" value="SIGN"/>
    </add>
    <add as="SUM_f" extend="blockWithLabel">
        <add as="shape" value="ellipse"/>
        <remove as="image"/>
        <add as="fontSize" value="20"/>
    </add>
    <add as="SOM_f" extend="blockWithLabel">
        <add as="shape" value="ellipse"/>
        <remove as="image"/>
        <add as="fontSize" value="20"/>
        <add as="displayedLabel" value="+"/>
    </add>
    <add as="CONSTRAINT_c" extend="blockWithLabel">
        <add as="displayedLabel" value="x == %s"/>
    </add>
    <add as="CONSTRAINT2_c" extend="blockWithLabel">
        <add as="displayedLabel" value="x  == %s&lt;br/&gt;x' == %s"/>
    </add>
    <!-- MODELICA -->
    <add as="MBLOCK" extend="blockWithLabel">
        <add as="displayedLabel" value="Modelica&lt;BR&gt; generic"/>
    </add>
    <add as="FROMMO" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="fillColor" value="white"/>
        <add as="displayedLabel" value="%s"/>
    </add>
    <add as="GOTOMO" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="fillColor" value="white"/>
        <add as="displayedLabel" value="%s"/>
    </add>
    <add as="GotoTagVisibilityMO" extend="blockWithLabel">
        <add as="displayedLabel" value="&lt;FONT SIZE=&quot;6&quot;&gt;{%s}&lt;/FONT&gt;"/>
        <add as="shape" value="ellipse"/>
        <add as="strokeColor" value="green"/>
    </add>
    <add as="OUTIMPL_f" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="fillColor" value="white"/>
		<add as="displayedLabel" value="%s"/>
    </add>
    <!-- INTEGER -->
    <add as="BITCLEAR" extend="blockWithLabel">
        <add as="displayedLabel" value="Clear bit %s"/>
    </add>
    <add as="BITSET" extend="blockWithLabel">
        <add as="displayedLabel" value="Set bit %s"/>
    </add>
    <add as="CONVERT" extend="blockWithLabel">
        <!-- FIXME: update label from parameters -->
        <add as="displayedLabel" value="Convert to"/>
    </add>
    <add as="EXTRACTBITS" extend="blockWithLabel">
        <add as="displayedLabel" value="Extract Bits %s"/>
    </add>
    <add as="INTMUL" extend="blockWithLabel">
        <add as="displayedLabel" value="INTMUL"/>
    </add>
    <add as="SHIFT" extend="blockWithLabel">
        <add as="displayedLabel" value="Arithmetic&lt;BR&gt;         shift %s"/>
    </add>
    <add as="LOGIC" extend="blockWithLabel">
        <add as="displayedLabel" value="LOGIC"/>
    </add>
    <add as="DLATCH" extend="blockWithLabel">
        <add as="displayedLabel" value="&lt;TABLE&gt;           &lt;TR&gt;             &lt;TD&gt;D&lt;/TD&gt;      &lt;TD&gt;Q&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD&gt;C&lt;/TD&gt;      &lt;TD&gt;!Q&lt;/TD&gt;           &lt;/TR&gt;         &lt;/TABLE&gt;"/>
    </add>
    <add as="DFLIPFLOP" extend="blockWithLabel">
        <add as="displayedLabel" value="&lt;TABLE&gt;           &lt;TR&gt;             &lt;TD&gt;D&lt;/TD&gt;             &lt;TD/&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD/&gt;      &lt;TD&gt;Q&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD&gt;clk&lt;/TD&gt;      &lt;TD/&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD/&gt;      &lt;TD&gt;!Q&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD&gt;en&lt;/TD&gt;      &lt;TD/&gt;           &lt;/TR&gt;         &lt;/TABLE&gt;"/>
    </add>
    <add as="JKFLIPFLOP" extend="blockWithLabel">
        <add as="displayedLabel" value="&lt;TABLE&gt;           &lt;TR&gt;             &lt;TD&gt;J&lt;/TD&gt;      &lt;TD/&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD/&gt;             &lt;TD&gt;Q&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD&gt;clk&lt;/TD&gt;             &lt;TD/&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD/&gt;             &lt;TD&gt;!Q&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD&gt;K&lt;/TD&gt;             &lt;TD/&gt;           &lt;/TR&gt;         &lt;/TABLE&gt;"/>
    </add>
    <add as="SRFLIPFLOP" extend="blockWithLabel">
        <add as="displayedLabel" value="&lt;TABLE&gt;           &lt;TR&gt;             &lt;TD&gt;S&lt;/TD&gt;             &lt;TD&gt;Q&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD&gt;R&lt;/TD&gt;             &lt;TD&gt;!Q&lt;/TD&gt;           &lt;/TR&gt;         &lt;/TABLE&gt;"/>
    </add>
    <!-- MATRIX -->
    <add as="CUMSUM" extend="blockWithLabel">
        <add as="displayedLabel" value="CUMSUM"/>
    </add>
    <add as="SUBMAT" extend="blockWithLabel"/>
    <add as="MATBKSL" extend="blockWithLabel">
        <add as="displayedLabel" value="A \ B"/>
    </add>
    <add as="MATINV" extend="blockWithLabel">
        <add as="displayedLabel" value="INV"/>
    </add>
    <add as="MATCATV" extend="blockWithLabel">
        <add as="displayedLabel" value="Vert&lt;BR&gt;         Cat"/>
    </add>
    <add as="MATSUM" extend="blockWithLabel"/>
    <add as="RICC" extend="blockWithLabel"/>
    <add as="ROOTCOEF" extend="blockWithLabel">
        <add as="displayedLabel" value="ROOT&lt;BR&gt;COEF"/>
    </add>
    <add as="MATCATH" extend="blockWithLabel">
        <add as="displayedLabel" value="Horiz&lt;BR&gt;         Cat"/>
    </add>
    <add as="MATLU" extend="blockWithLabel">
        <add as="displayedLabel" value="LU"/>
    </add>
    <add as="MATZCONJ" extend="blockWithLabel">
        <add as="displayedLabel" value="CONJ"/>
    </add>
    <add as="EXTRACT" extend="blockWithLabel"/>
    <add as="MATEXPM" extend="blockWithLabel">
        <add as="displayedLabel" value="EXPM"/>
    </add>
    <add as="MATDET" extend="blockWithLabel">
        <add as="displayedLabel" value="DET"/>
    </add>
    <add as="MATPINV" extend="blockWithLabel">
        <add as="displayedLabel" value="PINV"/>
    </add>
    <add as="EXTTRI" extend="blockWithLabel">
        <add as="displayedLabel" value="Tri/Diag&lt;BR&gt;         Extraction"/>
    </add>
    <add as="MATMUL" extend="blockWithLabel"/>
    <add as="MATTRAN" extend="blockWithLabel"/>
    <add as="MATSING" extend="blockWithLabel">
        <add as="displayedLabel" value="SVD"/>
    </add>
    <add as="MATRESH" extend="blockWithLabel">
        <add as="displayedLabel" value="RESHAPE"/>
    </add>
    <add as="MATDIAG" extend="blockWithLabel">
        <add as="displayedLabel" value="DIAG"/>
    </add>
    <add as="MATEIG" extend="blockWithLabel">
        <add as="displayedLabel" value="EIG"/>
    </add>
    <!-- SINKS -->
    <add as="CFSCOPE" extend="Icon">
        <add as="image" value="blocks/ASCOPE.svg"/>
    </add>
    <add as="BARXY" extend="Icon">
        <add as="image" value="blocks/BARXY.svg"/>
    </add>
    <add as="CANIMXY" extend="Icon">
        <add as="image" value="blocks/3DSCOPE.svg"/>
    </add>
    <add as="CSCOPE" extend="Icon">
        <add as="image" value="blocks/ASCOPE.svg"/>
    </add>
    <add as="CSCOPXY" extend="Icon">
      <add as="image" value="blocks/CSCOPXY.svg"/>
    </add>
    <add as="TOWS_c" extend="blockWithLabel">
        <add as="displayedLabel" value="To workspace&lt;BR&gt;%s [%s]"/>
    </add>
    <add as="CMAT3D" extend="blockWithLabel">
        <add as="image" value="blocks/ASCOPE.svg"/>
        <add as="verticalLabelPosition" value="bottom"/>
        <add as="verticalAlign" value="top"/>
        <add as="spacing" value="2"/>
        <add as="displayedLabel" value="Mat. 3D"/>
    </add>
    <add as="CSCOPXY3D" extend="Icon">
        <add as="image" value="blocks/CSCOPXY3D.svg"/>
    </add>
    <add as="CANIMXY3D" extend="Icon">
        <add as="image" value="blocks/3DSCOPE.svg"/>
    </add>
    <add as="CMATVIEW" extend="blockWithLabel">
        <add as="image" value="blocks/ASCOPE.svg"/>
        <add as="verticalLabelPosition" value="bottom"/>
        <add as="verticalAlign" value="top"/>
        <add as="spacing" value="2"/>
        <add as="displayedLabel" value="Mat. View"/>
    </add>
    <add as="CMSCOPE" extend="Icon">
      <add as="image" value="blocks/ASCOPE.svg"/>
    </add>
    <add as="AFFICH_m" extend="Affiche"/>
    <add as="AFFICH_f" extend="Affiche"/>
    <add as="TRASH_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Trash"/>
    </add>
    <!-- PORT ACTION -->
    <add as="Extract_Activation" extend="blockWithLabel">
        <add as="displayedLabel" value="Extract&lt;BR&gt;         activation"/>
    </add>
    <add as="IFTHEL_f" extend="blockWithLabel">
        <add as="displayedLabel" value="if in&gt;0&lt;BR&gt;         then else"/>
    </add>
    <add as="ESELECT_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Event select"/>
    </add>
    <add as="EDGE_TRIGGER" extend="blockWithLabel">
        <add as="displayedLabel" value="Edge&lt;BR&gt;         trigger"/>
    </add>
    <!-- DISCRETE -->
    <add as="DLRADAPT_f" extend="blockWithLabel">
        <add as="displayedLabel" value="N(z,p)&lt;BR&gt;&lt;HR&gt;D(z,p)"/>
    </add>
    <add as="DLR" extend="blockWithLabel">
        <add as="displayedLabel" value="%s&lt;BR&gt;&lt;HR&gt;%s + &lt;i&gt;z&lt;/i&gt;"/>
    </add>
    <add as="DLR_f" extend="DLR"/>
    <add as="DLSS" extend="blockWithLabel">
        <add as="displayedLabel" value="&lt;TABLE&gt;           &lt;TR&gt;             &lt;TD ALIGN=&quot;RIGHT&quot;&gt;x&lt;/TD&gt;             &lt;TD ALIGN=&quot;CENTER&quot;&gt;+=&lt;/TD&gt;             &lt;TD&gt;Ax+Bu&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD ALIGN=&quot;RIGHT&quot;&gt;y&lt;/TD&gt;             &lt;TD ALIGN=&quot;CENTER&quot;&gt;=&lt;/TD&gt;             &lt;TD&gt;Cx+Du&lt;/TD&gt;           &lt;/TR&gt;         &lt;/TABLE&gt;"/>
    </add>
    <add as="DELAY_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Delay"/>
    </add>
    <add as="DOLLAR_f" extend="blockWithLabel">
        <add as="displayedLabel" value="1/z"/>
    </add>
    <add as="DOLLAR" extend="DOLLAR_f"/>
    <!-- EVENTS -->
    <add as="CLKFROM" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="fillColor" value="white"/>
        <add as="strokeColor" value="red"/>
        <add as="displayedLabel" value="%s"/>
    </add>
    <add as="CLKGOTO" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="fillColor" value="white"/>
        <add as="strokeColor" value="red"/>
        <add as="displayedLabel" value="%s"/>
    </add>
    <add as="CLKGotoTagVisibility" extend="blockWithLabel">
        <add as="fontSize" value="20"/>
        <add as="displayedLabel" value="{%s}"/>
        <add as="shape" value="ellipse"/>
        <add as="strokeColor" value="red"/>
    </add>
    <add as="CLKOUTV_f" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="fillColor" value="white"/>
        <add as="strokeColor" value="red"/>
    </add>
    <add as="CLKOUT_f" extend="CLKOUTV_f"/>
    <add as="CLKSOMV_f" extend="blockWithLabel">
        <add as="shape" value="ellipse"/>
        <add as="displayedLabel" value="+"/>
        <add as="fontColor" value="red"/>
        <add as="strokeColor" value="red"/>
        <add as="fontSize" value="20"/>
        <add as="spacing" value="5"/>
        <add as="spacingLeft" value="6"/>
        <add as="spacingRight" value="6"/>
    </add>
    <add as="EVTGEN_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Event at&lt;BR&gt;         time %s"/>
    </add>
    <add as="EVTVARDLY" extend="blockWithLabel">
        <add as="displayedLabel" value="Event&lt;BR&gt;         delay"/>
    </add>
    <add as="M_freq" extend="blockWithLabel">
        <add as="displayedLabel" value="Multiple&lt;BR&gt;         frequency"/>

    </add>
    <add as="ANDBLK" extend="Icon">
      <add as="image" value="blocks/ANDBLK.svg"/>
    </add>
    <add as="HALT_f" extend="blockWithLabel">
        <add as="displayedLabel" value="HALT"/>
    </add>
    <add as="freq_div" extend="blockWithLabel">
        <add as="displayedLabel" value="Frequency&lt;BR&gt;         division"/>
    </add>
    <add as="ANDLOG_f" extend="blockWithLabel">
        <add as="displayedLabel" value="LOGICAL&lt;BR&gt;         AND"/>
    </add>
    <add as="EVTDLY_c" extend="blockWithLabel">
        <add as="displayedLabel" value="Delay: %s"/>
    </add>
    <add as="CEVENTSCOPE" extend="Icon">
        <add as="image" value="blocks/DSCOPE.svg"/>
    </add>
    <!-- SIGNAL ROUTING -->
    <add as="SELF_SWITCH_ON" extend="Icon">
        <add as="image" value="blocks/Self_Switch_on.svg"/>
    </add>
    <add as="SELF_SWITCH_OFF" extend="Icon">
        <add as="image" value="blocks/Self_Switch_off.svg"/>
    </add>
    <add as="ISELECT_m" extend="blockWithLabel">
        <add as="displayedLabel" value="Selector"/>
    </add>
    <add as="RELAY_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Relay"/>
    </add>
    <add as="WRITEAU_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Write AU to&lt;BR&gt;         /dev/audio"/>
    </add>
    <add as="SELECT_m" extend="blockWithLabel">
        <add as="displayedLabel" value="Selector"/>
    </add>
    <add as="SELECT_f" extend="SELECT_m"/>
    <add as="EXTRACTOR" extend="blockWithLabel">
        <add as="displayedLabel" value="Extractor"/>
    </add>
    <add as="M_SWITCH" extend="Icon">
        <add as="verticalLabelPosition" value="bottom"/>
        <add as="verticalAlign" value="top"/>
        <add as="spacing" value="2"/>
        <add as="noLabel" value="0"/>
        <add as="displayedLabel" value="Dynamic index"/>
        <add as="image" value="blocks/SWITCH.svg"/>
    </add>
    <add as="SWITCH_f" extend="Icon">
        <add as="verticalLabelPosition" value="bottom"/>
        <add as="verticalAlign" value="top"/>
        <add as="spacing" value="2"/>
        <add as="noLabel" value="0"/>
        <add as="displayedLabel" value="Static: %s"/>
        <add as="image" value="blocks/SWITCH.svg"/>
    </add>
    <add as="SWITCH2_m" extend="Icon">
      <add as="verticalLabelPosition" value="bottom"/>
      <add as="verticalAlign" value="top"/>
      <add as="spacing" value="2"/>
      <add as="noLabel" value="0"/>
      <add as="displayedLabel" value="Dynamic"/>
      <add as="image" value="blocks/SWITCH.svg"/>
    </add>
    <add as="NRMSOM_f" extend="blockWithLabel">
        <add as="verticalLabelPosition" value="bottom"/>
        <add as="verticalAlign" value="top"/>
        <add as="spacing" value="2"/>
        <add as="displayedLabel" value="Bus creator"/>
    </add>
    <add as="WRITEC_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Write to&lt;BR&gt;C binary file"/>
    </add>
    <add as="GOTO" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="fillColor" value="white"/>
        <add as="displayedLabel" value="%s"/>
    </add>
    <add as="GotoTagVisibility" extend="blockWithLabel">
        <add as="displayedLabel" value="&lt;FONT SIZE=&quot;6&quot;&gt;{%s}&lt;/FONT&gt;"/>
    </add>
    <add as="FROM" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="fillColor" value="white"/>
        <add as="displayedLabel" value="%s"/>
    </add>
    <add as="WFILE_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Write to&lt;BR&gt;         output file"/>
    </add>
    <add as="MUX" extend="blockWithLabel">
        <add as="verticalLabelPosition" value="bottom"/>
        <add as="verticalAlign" value="top"/>
        <add as="displayedLabel" value="MUX"/>
        <add as="spacing" value="2"/>
    </add>
    <add as="DEMUX" extend="blockWithLabel">
        <add as="verticalLabelPosition" value="bottom"/>
        <add as="verticalAlign" value="top"/>
        <add as="displayedLabel" value="DEMUX"/>
        <add as="spacing" value="2"/>
    </add>
    <add as="SCALAR2VECTOR" extend="blockWithLabel">
        <add as="displayedLabel" value="SCALAR&lt;BR&gt;to VECTOR"/>
    </add>
    <!-- COMMONLY USED BLOCKS -->
    <add as="OUT_f" extend="blockWithLabel">
        <add as="shape" value="hexagon"/>
        <add as="rounded" value="1"/>
        <add as="fillColor" value="white"/>
		<add as="displayedLabel" value="%s"/>
    </add>
    <add as="RELATIONALOP" extend="blockWithLabel">
        <add as="displayedLabel" value="Relational&lt;BR&gt;         op : &amp;&lt;"/>
        <!-- new value for the label defined in the interface function of block -->
    </add>
    <add as="TEXT_f" extend="Label">
        <!-- <add as="displayedLabel" value="Text"/>  -->
        <add as="strokeColor" value="none"/>
        <add as="fillColor" value="none"/>
    </add>
    <!-- USER-DEFINED FUNCTIONS -->
    <add as="PDE" extend="blockWithLabel"/>
    <add as="fortran_block" extend="blockWithLabel">
        <add as="displayedLabel" value="Fortran block:&lt;BR&gt;%s"/>
    </add>
    <add as="DEBUG" extend="blockWithLabel">
        <add as="displayedLabel" value="Debug:&lt;BR&gt;%s"/>
    </add>
    <add as="EXPRESSION" extend="blockWithLabel">
        <add as="displayedLabel" value="Expression:&lt;BR&gt;%s"/>
    </add>
    <add as="scifunc_block_m" extend="blockWithLabel">
        <add as="displayedLabel" value="Function:&lt;BR&gt;%s"/>
    </add>
    <add as="scifunc_block" extend="scifunc_block_m"/>
    <add as="CBLOCK" extend="blockWithLabel">
        <add as="displayedLabel" value="C block 2:&lt;BR&gt;%s"/>
    </add>
    <add as="CBLOCK4" extend="blockWithLabel">
        <add as="displayedLabel" value="C block 4:&lt;BR&gt;%s"/>
    </add>
    <add as="generic_block3" extend="blockWithLabel">
        <add as="displayedLabel" value="native block:&lt;BR&gt;%s"/>
    </add>
    <add as="c_block" extend="blockWithLabel">
        <add as="displayedLabel" value="C block:&lt;BR&gt;%s"/>
    </add>
    <add as="SUPER_f" extend="Icon">
        <add as="image" value="blocks/SUPER.svg"/>
    </add>
    <add as="DSUPER" extend="SUPER_f"/>
    <!-- ELECTRICAL -->
    <add as="Capacitor" extend="Icon">
        <add as="image" value="blocks/Capacitor.svg"/>
    </add>
    <add as="Ground" extend="Icon">
        <add as="image" value="blocks/Ground.svg"/>
    </add>
    <add as="VVsourceAC" extend="blockWithLabel">
        <add as="shape" value="ellipse"/>
        <add as="perimeter" value="ellipsePerimeter"/>
        <add as="displayedLabel" value="1 V&lt;br/&gt;~ %s"/>
    </add>
    <add as="ConstantVoltage" extend="Icon">
        <add as="image" value="blocks/ConstantVoltage.svg"/>
    </add>
    <add as="Inductor" extend="Icon">
        <add as="image" value="blocks/Inductor.svg"/>
    </add>
    <add as="PotentialSensor" extend="Icon">
        <add as="image" value="blocks/PotentialSensor.svg"/>
    </add>
    <add as="VariableResistor" extend="Icon">
        <add as="image" value="blocks/VariableResistor.svg"/>
    </add>
    <add as="CurrentSensor" extend="Icon">
        <add as="image" value="blocks/CurrentSensor.svg"/>
    </add>
    <add as="Resistor" extend="Icon">
        <add as="image" value="blocks/Resistor.svg"/>
    </add>
    <add as="VoltageSensor" extend="Icon">
        <add as="image" value="blocks/VoltageSensor.svg"/>
    </add>
    <add as="Diode" extend="Icon">
        <add as="image" value="blocks/Diode.svg"/>
    </add>
    <add as="VsourceAC" extend="blockWithLabel">
        <add as="shape" value="ellipse"/>
        <add as="perimeter" value="ellipsePerimeter"/>
        <add as="textAlign" value="center"/>
        <add as="displayedLabel" value="%s V&lt;br/&gt;~ %s"/>
    </add>
    <add as="NPN" extend="Icon">
        <add as="image" value="blocks/NPN.svg"/>
    </add>
    <add as="PNP" extend="Icon">
        <add as="image" value="blocks/PNP.svg"/>
    </add>
    <add as="SineVoltage" extend="blockWithLabel">
        <add as="shape" value="ellipse"/>
        <add as="perimeter" value="ellipsePerimeter"/>
        <add as="displayedLabel" value="%s V&lt;br/&gt;~"/>
    </add>
    <add as="Switch" extend="Icon">
        <add as="image" value="blocks/SWITCH.svg"/>
    </add>
    <add as="OpAmp" extend="blockWithLabel">
        <add as="shape" value="triangle"/>
        <add as="perimeter" value="trianglePerimeter"/>
        <add as="direction" value="east"/>
        <add as="displayedLabel" value="&lt;TABLE&gt;           &lt;TR&gt;             &lt;TD&gt;+&lt;/TD&gt;             &lt;TD&gt;&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD&gt;&lt;/TD&gt;             &lt;TD&gt;OP&lt;/TD&gt;           &lt;/TR&gt;           &lt;TR&gt;             &lt;TD&gt;-&lt;/TD&gt;             &lt;TD&gt;&lt;/TD&gt;           &lt;/TR&gt;         &lt;/TABLE&gt;"/>
        <add as="spacing" value="0"/>
        <add as="spacingRight" value="5"/>
        <add as="spacingTop" value="7"/>
        <add as="spacingBottom" value="7"/>
    </add>
    <add as="PMOS" extend="Icon">
        <add as="image" value="blocks/PMOS.svg"/>
    </add>
    <add as="NMOS" extend="Icon">
        <add as="image" value="blocks/NMOS.svg"/>
    </add>
    <add as="CCS" extend="Icon">
        <add as="image" value="blocks/CCS.svg"/>
    </add>
    <add as="CVS" extend="Icon">
        <add as="image" value="blocks/CVS.svg"/>
    </add>
    <add as="IdealTransformer" extend="Icon">
        <add as="image" value="blocks/IdealTransformer.svg"/>
    </add>
    <add as="Gyrator" extend="Icon">
        <add as="image" value="blocks/Gyrator.svg"/>
    </add>
    <!-- THERMO-HYDRAULICS -->
    <add as="Bache" extend="Icon">
        <add as="image" value="blocks/BACHE.svg"/>
    </add>
    <add as="VanneReglante" extend="Icon">
        <add as="image" value="blocks/VanneReglante.svg"/>
    </add>
    <add as="PerteDP" extend="Icon">
        <add as="image" value="blocks/PerteDP.svg"/>
    </add>
    <add as="PuitsP" extend="Icon">
        <add as="image" value="blocks/PuitP.svg"/>
    </add>
    <add as="SourceP" extend="Icon">
        <add as="image" value="blocks/SourceP.svg"/>
    </add>
    <add as="Flowmeter" extend="Icon">
        <add as="image" value="blocks/Flowmeter.svg"/>
    </add>
    <!-- DEMONSTRATION BLOCKS -->
    <add as="BOUNCE" extend="blockWithLabel">
        <add as="displayedLabel" value="Bouncing&lt;BR&gt;         balls"/>
    </add>
    <add as="BOUNCEXY" extend="Icon">
        <add as="image" value="blocks/3DSCOPE.svg"/>
    </add>
    <add as="BPLATFORM" extend="Icon">
        <add as="image" value="blocks/BPLATFORM.svg"/>
    </add>
    <add as="AUTOMAT" extend="blockWithLabel">
        <!-- FIXME : Show parameters over block  -->
        <add as="displayedLabel" value="Automaton&lt;BR&gt;         nM=2, nX=1"/>
    </add>
    <!-- GENERATED BLOCKS -->
    <add as="SPLIT_f" extend="Split"/>
    <!--
	<add as="SCALAR2VECTOR" extend="Icon">
		<add as="image" value="blocks/SCALAR2VECTOR.gif" />
	</add>
	-->
    <add as="SAT_f" extend="SATURATION"/>
    <!-- RAND_f and RAND_m looks exactly the same -->
    <add as="RAND_f" extend="RAND_m"/>
    <add as="MUX_f" extend="MUX"/>
    <add as="MEMORY_f" extend="blockWithLabel"/>
    <add as="LOGICAL_OP" extend="blockWithLabel">
        <add as="displayedLabel" value="AND"/>
    </add>
    <add as="generic_block" extend="blockWithLabel">
        <add as="displayedLabel" value="GENERIC"/>
    </add>
    <add as="GAINBLK" extend="Gain"/>
    <add as="GAIN_f" extend="Gain"/>
    <add as="EVTDLY_f" extend="blockWithLabel">
        <add as="displayedLabel" value="Delay"/>
    </add>
    <add as="END_c" extend="blockWithLabel">
        <add as="displayedLabel" value="END"/>
    </add>
    <add as="ENDBLK" extend="blockWithLabel">
        <add as="displayedLabel" value="END"/>
    </add>
    <add as="EDGETRIGGER" extend="blockWithLabel">
        <add as="displayedLabel" value="Edge &lt;BR&gt;trigger"/>
    </add>
    <add as="DOLLAR_m" extend="DOLLAR_f"/>
    <add as="DIFF_f" extend="blockWithLabel">
        <add as="displayedLabel" value="S"/>
    </add>
    <add as="DEMUX_f" extend="DEMUX"/>
    <add as="DEADBAND" extend="Icon">
      <add as="image" value="blocks/DEADBAND.svg"/>
    </add>
    <add as="Counter" extend="blockWithLabel">
        <add as="displayedLabel" value="Counter&lt;BR&gt;%s &amp;#8594; %s"/>
    </add>
    <add as="CLOCK_f" extend="Icon">
      <add as="image" value="blocks/CLOCK_c.svg"/>
    </add>
    <add as="VirtualCLK0" extend="CLOCK_f"/>
    <add as="CLKSPLIT_f" extend="Split"/>
    <add as="IMPSPLIT_f" extend="Split"/>
    <add as="CLKSOM_f" extend="CLKSOMV_f"/>
    <add as="CLKOUT_f" extend="Icon">
        <add as="image" value="blocks/CLKOUT_f.gif"/>
    </add>
    <add as="ABSBLK_f" extend="blockWithLabel">
        <add as="displayedLabel" value="y = |u|"/>
    </add>
</mxStylesheet>