<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:109.0) Gecko/20100101 Firefox/115.0" version="26.2.9">
  <diagram id="MgQ8iZ1HcKcTAxv5I0mx" name="Page-1">
    <mxGraphModel dx="1067" dy="892" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="Z2IcUivewJbPsal0SKzA-1" value="&lt;b&gt;DONE&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="250" y="80" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-2" value="startKex" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-1" target="Z2IcUivewJbPsal0SKzA-11" edge="1">
          <mxGeometry x="0.76" relative="1" as="geometry">
            <mxPoint x="310" y="200" as="targetPoint" />
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-5" value="&lt;b&gt;RUN&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="250" y="380" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-6" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-5" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="310" y="490" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-27" value="exchange KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-6" vertex="1" connectable="0">
          <mxGeometry y="1" relative="1" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-11" value="INIT" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=0;resizeLast=1;container=0;fontColor=#000000;collapsible=0;rounded=1;arcSize=30;strokeColor=#ff0000;fillColor=#ffffc0;swimlaneFillColor=#ffffc0;dropTarget=0;" parent="1" vertex="1">
          <mxGeometry x="440" y="200" width="160" height="90" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-12" value="&lt;div&gt;prepare KEX data&lt;br&gt;&lt;/div&gt;&lt;div&gt;send KEX_INIT&lt;/div&gt;&lt;div&gt;stop flushing&lt;br&gt;&lt;/div&gt;&lt;div&gt;start queuing&lt;br&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;fontColor=#000000;" parent="Z2IcUivewJbPsal0SKzA-11" vertex="1">
          <mxGeometry y="30" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-13" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-11" target="Z2IcUivewJbPsal0SKzA-5" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="410" y="400" as="targetPoint" />
            <Array as="points">
              <mxPoint x="520" y="400" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-14" value="receiveKexInit" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-13" vertex="1" connectable="0">
          <mxGeometry x="-0.4" y="2" relative="1" as="geometry">
            <mxPoint x="-2" y="-37" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-15" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-1" target="Z2IcUivewJbPsal0SKzA-18" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="310" y="180" as="targetPoint" />
            <mxPoint x="470" y="280" as="sourcePoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-21" value="receiveKexInit" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-15" vertex="1" connectable="0">
          <mxGeometry x="0.4425" y="2" relative="1" as="geometry">
            <mxPoint x="-2" y="-18" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-18" value="RUN" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=0;resizeLast=1;container=0;fontColor=#000000;collapsible=0;rounded=1;arcSize=30;strokeColor=#ff0000;fillColor=#ffffc0;swimlaneFillColor=#ffffc0;dropTarget=0;" parent="1" vertex="1">
          <mxGeometry x="230" y="200" width="160" height="90" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-19" value="&lt;div&gt;prepare KEX data&lt;/div&gt;&lt;div&gt;send KEX_INIT&lt;/div&gt;&lt;div&gt;stop flushing&lt;br&gt;&lt;/div&gt;&lt;div&gt;start queuing&lt;br&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;fontColor=#000000;" parent="Z2IcUivewJbPsal0SKzA-18" vertex="1">
          <mxGeometry y="30" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-20" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-18" target="Z2IcUivewJbPsal0SKzA-5" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="310" y="360" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-22" value="KEYS" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=0;resizeLast=1;container=0;fontColor=#000000;collapsible=0;rounded=1;arcSize=30;strokeColor=#ff0000;fillColor=#ffffc0;swimlaneFillColor=#ffffc0;dropTarget=0;" parent="1" vertex="1">
          <mxGeometry x="230" y="580" width="160" height="70" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-23" value="&lt;div&gt;send NEW_KEYS&lt;/div&gt;&lt;div&gt;start flushing&lt;br&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;fontColor=#000000;" parent="Z2IcUivewJbPsal0SKzA-22" vertex="1">
          <mxGeometry y="30" width="160" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-24" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-22" target="Z2IcUivewJbPsal0SKzA-1" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="310" y="620" as="targetPoint" />
            <Array as="points">
              <mxPoint x="310" y="660" />
              <mxPoint x="150" y="660" />
              <mxPoint x="150" y="100" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-26" value="receiveNewKeys" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-24" vertex="1" connectable="0">
          <mxGeometry x="0.1714" y="1" relative="1" as="geometry">
            <mxPoint y="22" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-28" value="KEX finished?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="260" y="490" width="100" height="50" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-29" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-28" target="Z2IcUivewJbPsal0SKzA-5" edge="1">
          <mxGeometry x="-0.8621" relative="1" as="geometry">
            <mxPoint x="450" y="510" as="targetPoint" />
            <Array as="points">
              <mxPoint x="220" y="515" />
              <mxPoint x="220" y="400" />
            </Array>
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-30" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-28" target="Z2IcUivewJbPsal0SKzA-22" edge="1">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="310" y="570" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-31" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="295" y="10" width="30" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-32" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-31" target="Z2IcUivewJbPsal0SKzA-1" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="720" y="180" as="targetPoint" />
            <mxPoint x="655" y="130" as="sourcePoint" />
            <Array as="points">
              <mxPoint x="310" y="70" />
              <mxPoint x="310" y="70" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-43" value="ClientSession" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="160" y="680" width="80" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-44" value="ServerSession" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="520" y="680" width="80" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-45" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-70" target="Z2IcUivewJbPsal0SKzA-43" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1160" as="sourcePoint" />
            <mxPoint x="230" y="800" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-46" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-49" target="Z2IcUivewJbPsal0SKzA-44" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1160" as="sourcePoint" />
            <mxPoint x="370" y="770" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-49" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="550" y="840" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-50" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-81" target="Z2IcUivewJbPsal0SKzA-49" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1160" as="sourcePoint" />
            <mxPoint x="560" y="760" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-47" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;exitX=0.95;exitY=0.992;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-74" target="Z2IcUivewJbPsal0SKzA-49" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="310" y="820" as="sourcePoint" />
            <mxPoint x="390" y="820" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-48" value="KEX_INIT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-47" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="26" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-51" value="receiveKexInit" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="585" y="830" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-52" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.083;exitY=1.008;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-55" target="Z2IcUivewJbPsal0SKzA-76" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="460" y="930" as="sourcePoint" />
            <mxPoint x="250" y="930" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-53" value="KEX_INIT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-52" vertex="1" connectable="0">
          <mxGeometry x="-0.0108" relative="1" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-54" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-49" target="Z2IcUivewJbPsal0SKzA-49" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-55" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;" parent="1" vertex="1">
          <mxGeometry x="645" y="880" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-56" value="sendKexInit" style="html=1;verticalAlign=bottom;endArrow=block;entryX=0;entryY=0;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-49" target="Z2IcUivewJbPsal0SKzA-55" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="575" y="890" as="sourcePoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-58" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="990" as="sourcePoint" />
            <mxPoint x="560" y="1000" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-59" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-58" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="26" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-60" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1010" as="sourcePoint" />
            <mxPoint x="200" y="1020" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-61" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-60" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="-12" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-62" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1030" as="sourcePoint" />
            <mxPoint x="560" y="1040" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-63" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-62" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="26" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-64" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1050" as="sourcePoint" />
            <mxPoint x="200" y="1060" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-65" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-64" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="-12" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-68" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="190" y="1160" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-69" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" target="Z2IcUivewJbPsal0SKzA-68" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1240" as="sourcePoint" />
            <mxPoint x="200" y="810" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-70" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="190" y="740" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-71" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-83" target="Z2IcUivewJbPsal0SKzA-70" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1060" as="sourcePoint" />
            <mxPoint x="200" y="720" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-72" value="startKex" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="130" y="730" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-74" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;" parent="1" vertex="1">
          <mxGeometry x="285" y="780" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-75" value="sendKexInit" style="html=1;verticalAlign=bottom;endArrow=block;entryX=0;entryY=0;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" parent="1" target="Z2IcUivewJbPsal0SKzA-74" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="210" y="780" as="sourcePoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-76" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="190" y="940" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-77" value="receiveKexInit" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="110" y="930" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-78" value="sendNewKeys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="110" y="1080" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-79" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1070" as="sourcePoint" />
            <mxPoint x="560" y="1080" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-80" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-79" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="26" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-81" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="550" y="1090" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-82" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-91" target="Z2IcUivewJbPsal0SKzA-81" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1240" as="sourcePoint" />
            <mxPoint x="560" y="880" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-83" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="190" y="1090" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-84" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-68" target="Z2IcUivewJbPsal0SKzA-83" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1170" as="sourcePoint" />
            <mxPoint x="200" y="780" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-85" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-83" target="Z2IcUivewJbPsal0SKzA-91" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1140" as="sourcePoint" />
            <mxPoint x="560" y="1160" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-86" value="NEW_KEYS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-85" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="-86" y="-11" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-87" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-81" target="Z2IcUivewJbPsal0SKzA-68" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="220" y="1140" as="sourcePoint" />
            <mxPoint x="570" y="1170" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-88" value="NEW_KEYS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-87" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="82" y="-13" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-89" value="sendNewKeys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="590" y="1080" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-90" value="receiveNewKeys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="110" y="1150" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-91" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="550" y="1160" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-92" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" target="Z2IcUivewJbPsal0SKzA-91" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1240" as="sourcePoint" />
            <mxPoint x="560" y="1130" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-93" value="receiveNewKeys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="590" y="1150" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-94" value="DONE" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="700" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-95" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-94" target="Z2IcUivewJbPsal0SKzA-96" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="70" y="790" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-96" value="INIT" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="790" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-97" value="RUN" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="950" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-98" value="KEYS" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="1110" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-99" value="DONE" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="1190" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-100" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-96" target="Z2IcUivewJbPsal0SKzA-97" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="90" y="800" as="targetPoint" />
            <mxPoint x="90" y="730" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-101" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="Z2IcUivewJbPsal0SKzA-98" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="90" y="960" as="targetPoint" />
            <mxPoint x="80" y="970" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-102" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-98" target="Z2IcUivewJbPsal0SKzA-99" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="90" y="1120" as="targetPoint" />
            <mxPoint x="100" y="1140" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-104" value="DONE" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="700" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-105" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-104" target="Z2IcUivewJbPsal0SKzA-107" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="710" y="790" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-107" value="RUN" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="860" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-108" value="KEYS" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="1110" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-109" value="DONE" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="1190" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-111" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-107" target="Z2IcUivewJbPsal0SKzA-108" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="720" y="960" as="targetPoint" />
            <mxPoint x="710" y="970" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-112" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-108" target="Z2IcUivewJbPsal0SKzA-109" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="720" y="1120" as="targetPoint" />
            <mxPoint x="730" y="1140" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-113" value="ClientSession" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="160" y="1280" width="80" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-114" value="ServerSession" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="520" y="1280" width="80" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-115" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-137" target="Z2IcUivewJbPsal0SKzA-113" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1760" as="sourcePoint" />
            <mxPoint x="230" y="1400" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-116" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-176" target="Z2IcUivewJbPsal0SKzA-114" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1760" as="sourcePoint" />
            <mxPoint x="370" y="1370" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-117" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="550" y="1440" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-118" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-147" target="Z2IcUivewJbPsal0SKzA-117" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1760" as="sourcePoint" />
            <mxPoint x="560" y="1360" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-119" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;exitX=0.95;exitY=0.992;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-140" target="Z2IcUivewJbPsal0SKzA-117" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="310" y="1420" as="sourcePoint" />
            <mxPoint x="390" y="1420" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-120" value="KEX_INIT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-119" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="-40" y="-7" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-121" value="receiveKexInit" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="585" y="1430" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-122" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;exitX=-0.017;exitY=0.975;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-179" target="Z2IcUivewJbPsal0SKzA-142" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="630" y="1420" as="sourcePoint" />
            <mxPoint x="250" y="1530" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-123" value="KEX_INIT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-122" vertex="1" connectable="0">
          <mxGeometry x="-0.0108" relative="1" as="geometry">
            <mxPoint x="88" y="-11" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-117" target="Z2IcUivewJbPsal0SKzA-117" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-127" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1500" as="sourcePoint" />
            <mxPoint x="560" y="1510" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-128" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-127" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="26" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-129" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1520" as="sourcePoint" />
            <mxPoint x="200" y="1530" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-130" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-129" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="-12" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-131" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1540" as="sourcePoint" />
            <mxPoint x="560" y="1550" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-132" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-131" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="26" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-133" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1560" as="sourcePoint" />
            <mxPoint x="200" y="1570" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-134" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-133" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="-12" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-135" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="190" y="1670" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-136" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" target="Z2IcUivewJbPsal0SKzA-135" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1750" as="sourcePoint" />
            <mxPoint x="200" y="1320" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-137" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="190" y="1340" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-138" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-149" target="Z2IcUivewJbPsal0SKzA-137" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1660" as="sourcePoint" />
            <mxPoint x="200" y="1320" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-139" value="startKex" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="130" y="1330" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-140" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;" parent="1" vertex="1">
          <mxGeometry x="285" y="1380" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-141" value="sendKexInit" style="html=1;verticalAlign=bottom;endArrow=block;entryX=0;entryY=0;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" parent="1" target="Z2IcUivewJbPsal0SKzA-140" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="210" y="1380" as="sourcePoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-142" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="190" y="1440" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-143" value="receiveKexInit" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="110" y="1430" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-144" value="sendNewKeys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="110" y="1590" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-145" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;dashPattern=1 1;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1580" as="sourcePoint" />
            <mxPoint x="560" y="1590" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-146" value="KEX messages" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-145" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="26" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-147" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="550" y="1600" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-148" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-157" target="Z2IcUivewJbPsal0SKzA-147" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1750" as="sourcePoint" />
            <mxPoint x="560" y="1390" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-149" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="190" y="1600" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-150" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-135" target="Z2IcUivewJbPsal0SKzA-149" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="1680" as="sourcePoint" />
            <mxPoint x="200" y="1290" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-151" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-149" target="Z2IcUivewJbPsal0SKzA-157" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1650" as="sourcePoint" />
            <mxPoint x="560" y="1670" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-152" value="NEW_KEYS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-151" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="-86" y="-11" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-153" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-147" target="Z2IcUivewJbPsal0SKzA-135" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="220" y="1650" as="sourcePoint" />
            <mxPoint x="570" y="1680" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-154" value="NEW_KEYS" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Z2IcUivewJbPsal0SKzA-153" vertex="1" connectable="0">
          <mxGeometry x="-0.2212" y="1" relative="1" as="geometry">
            <mxPoint x="82" y="-13" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-155" value="sendNewKeys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="590" y="1590" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-156" value="receiveNewKeys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="110" y="1660" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-157" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="550" y="1670" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-158" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" target="Z2IcUivewJbPsal0SKzA-157" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1750" as="sourcePoint" />
            <mxPoint x="560" y="1640" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-159" value="receiveNewKeys" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="590" y="1660" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-160" value="DONE" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="1300" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-161" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-160" target="Z2IcUivewJbPsal0SKzA-162" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="70" y="1390" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-162" value="INIT" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="1390" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-163" value="RUN" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="1460" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-164" value="KEYS" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="1620" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-165" value="DONE" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="40" y="1700" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-166" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-162" target="Z2IcUivewJbPsal0SKzA-163" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="90" y="1400" as="targetPoint" />
            <mxPoint x="90" y="1330" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-167" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="Z2IcUivewJbPsal0SKzA-164" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="90" y="1470" as="targetPoint" />
            <mxPoint x="80" y="1480" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-168" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-164" target="Z2IcUivewJbPsal0SKzA-165" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="90" y="1630" as="targetPoint" />
            <mxPoint x="100" y="1650" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-169" value="DONE" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="1300" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-170" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-181" target="Z2IcUivewJbPsal0SKzA-171" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="710" y="1390" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-171" value="RUN" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="1460" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-172" value="KEYS" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="1620" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-173" value="DONE" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="1700" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-174" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-171" target="Z2IcUivewJbPsal0SKzA-172" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="720" y="1560" as="targetPoint" />
            <mxPoint x="710" y="1570" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-175" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-172" target="Z2IcUivewJbPsal0SKzA-173" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="720" y="1630" as="targetPoint" />
            <mxPoint x="730" y="1650" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-176" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="550" y="1340" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-177" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=none;" parent="1" source="Z2IcUivewJbPsal0SKzA-117" target="Z2IcUivewJbPsal0SKzA-176" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="560" y="1440" as="sourcePoint" />
            <mxPoint x="560" y="1320" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-178" value="startKex" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="570" y="1330" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-179" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;" parent="1" vertex="1">
          <mxGeometry x="645" y="1380" width="20" height="40" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-180" value="sendKexInit" style="html=1;verticalAlign=bottom;endArrow=block;entryX=0;entryY=0;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" parent="1" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="570" y="1379.33" as="sourcePoint" />
            <Array as="points" />
            <mxPoint x="645" y="1379.33" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-181" value="INIT" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" parent="1" vertex="1">
          <mxGeometry x="670" y="1390" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="Z2IcUivewJbPsal0SKzA-182" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=none;endSize=8;strokeColor=#ff0000;rounded=0;dashed=1;dashPattern=1 1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="Z2IcUivewJbPsal0SKzA-169" target="Z2IcUivewJbPsal0SKzA-181" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="710" y="1460" as="targetPoint" />
            <mxPoint x="710" y="1320" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
