<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" version="29.6.4">
  <diagram name="Page-1" id="fcKXBXAK-RZxZyPxtbHf">
    <mxGraphModel dx="4098" dy="3397" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="rI1OaAFCajbdnf7306Pc-1" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="a: App" vertex="1">
          <mxGeometry height="60" width="120" x="270" y="200" as="geometry" />
        </mxCell>
        <mxCell id="rI1OaAFCajbdnf7306Pc-2" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="pf: PlayerFactory" vertex="1">
          <mxGeometry height="60" width="120" x="270" y="400" as="geometry" />
        </mxCell>
        <mxCell id="rI1OaAFCajbdnf7306Pc-3" edge="1" parent="1" source="rI1OaAFCajbdnf7306Pc-1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" target="rI1OaAFCajbdnf7306Pc-2" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="390" y="480" as="sourcePoint" />
            <mxPoint x="440" y="430" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="gGYZZo9AR8bD0Jy5BW3r-1" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt; Player choses to play as SnowPlow" vertex="1">
          <mxGeometry height="440" width="670" x="170" y="100" as="geometry" />
        </mxCell>
        <mxCell id="gGYZZo9AR8bD0Jy5BW3r-2" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: buildSnowPlowPlayer(name: string)">
          <mxGeometry relative="1" x="-1" as="geometry">
            <mxPoint x="340" y="320" as="sourcePoint" />
            <mxPoint x="340" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="gGYZZo9AR8bD0Jy5BW3r-4" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=right;verticalAlign=top;rounded=0;dashed=1;" value="3: true">
          <mxGeometry relative="1" y="-10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="520" y="790" as="sourcePoint" />
            <mxPoint x="520" y="830" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="gGYZZo9AR8bD0Jy5BW3r-5" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="550" y="400" as="geometry" />
        </mxCell>
        <mxCell id="gGYZZo9AR8bD0Jy5BW3r-6" edge="1" parent="1" source="rI1OaAFCajbdnf7306Pc-2" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="gGYZZo9AR8bD0Jy5BW3r-5" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="480" y="390" as="sourcePoint" />
            <mxPoint x="480" y="530" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="gGYZZo9AR8bD0Jy5BW3r-8" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="2: &amp;lt;&amp;lt;create&amp;gt;&amp;gt;">
          <mxGeometry relative="1" x="-1" as="geometry">
            <mxPoint x="430" y="440" as="sourcePoint" />
            <mxPoint x="490" y="440" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-1" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="a: App" vertex="1">
          <mxGeometry height="60" width="120" x="980" y="200" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-2" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="pf: PlayerFactory" vertex="1">
          <mxGeometry height="60" width="120" x="980" y="400" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-3" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-2" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1100" y="480" as="sourcePoint" />
            <mxPoint x="1150" y="430" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-4" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt; Player choses to play as Bus" vertex="1">
          <mxGeometry height="440" width="670" x="880" y="100" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-5" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: buildBusPlayer(name: string)">
          <mxGeometry relative="1" x="-1" as="geometry">
            <mxPoint x="1050" y="320" as="sourcePoint" />
            <mxPoint x="1050" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-6" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="1260" y="400" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-7" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-2" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-6" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1190" y="390" as="sourcePoint" />
            <mxPoint x="1190" y="530" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-8" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="2: &amp;lt;&amp;lt;create&amp;gt;&amp;gt;">
          <mxGeometry relative="1" x="-1" as="geometry">
            <mxPoint x="1140" y="440" as="sourcePoint" />
            <mxPoint x="1200" y="440" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-9" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="200" y="837.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-10" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs_new: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="200" y="667.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-11" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-9" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-10" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="360" y="1117.5" as="sourcePoint" />
            <mxPoint x="410" y="1067.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-12" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;SnowPlow player moves and cleans with DragonHead" vertex="1">
          <mxGeometry height="532.5" width="700" x="50" y="585" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-13" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="4: accept(rs_old, sp)">
          <mxGeometry relative="1" x="0.2" y="-14" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="420" y="810" as="sourcePoint" />
            <mxPoint x="370" y="760" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-14" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="470" y="1037.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-15" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-10" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-26" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="450" y="1027.5" as="sourcePoint" />
            <mxPoint x="450" y="1167.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-17" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="sp: SnowPlow" vertex="1">
          <mxGeometry height="60" width="120" x="550" y="200" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-18" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="3: &amp;lt;&amp;lt;create&amp;gt;&amp;gt;">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="630" y="370" as="sourcePoint" />
            <mxPoint x="630" y="310" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-19" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="609.66" y="260" as="sourcePoint" />
            <mxPoint x="609.66" y="400" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-20" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="b: Bus" vertex="1">
          <mxGeometry height="60" width="120" x="1260" y="200" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-21" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="3: &amp;lt;&amp;lt;create&amp;gt;&amp;gt;">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1340" y="370" as="sourcePoint" />
            <mxPoint x="1340" y="310" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-22" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1319.6599999999999" y="260" as="sourcePoint" />
            <mxPoint x="1319.6599999999999" y="400" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-23" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="sp: SnowPlow" vertex="1">
          <mxGeometry height="60" width="120" x="470" y="837.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-24" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: update(m, rs_old)">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="540" y="1007.5" as="sourcePoint" />
            <mxPoint x="540" y="947.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-25" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="529.66" y="897.5" as="sourcePoint" />
            <mxPoint x="529.66" y="1037.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-26" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="dh: DragonHead" vertex="1">
          <mxGeometry height="60" width="120" x="470" y="667.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-27" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-23" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-26" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="650" y="932.5" as="sourcePoint" />
            <mxPoint x="760" y="932.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-28" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="6:&amp;nbsp;doCleaning(m, rs_new)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="540" y="772.5" as="sourcePoint" />
            <mxPoint x="540" y="740" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-29" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="7: clear()">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="450" y="707.5" as="sourcePoint" />
            <mxPoint x="390" y="707.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-30" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs_old: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="200" y="1037.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-31" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-30" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-14" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="360" y="1057.5" as="sourcePoint" />
            <mxPoint x="460" y="1057.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-32" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-23" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-10" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="330" y="897.5" as="sourcePoint" />
            <mxPoint x="330" y="787.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-33" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=right;verticalAlign=top;rounded=0;dashed=1;" value="5: true">
          <mxGeometry relative="1" x="0.6" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="350" y="770" as="sourcePoint" />
            <mxPoint x="400" y="820" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-34" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-30" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-9" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="250" y="1077.5" as="sourcePoint" />
            <mxPoint x="250" y="967.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-35" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-9" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="360" y="1029" as="sourcePoint" />
            <mxPoint x="470" y="870" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-36" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;SnowPlow player moves to an dense, uncleanable road" vertex="1">
          <mxGeometry height="532.5" width="670" x="790" y="585" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-57" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="2: canBeUsedBy(p)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="540" y="832.5" as="sourcePoint" />
            <mxPoint x="540" y="800" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-59" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=right;verticalAlign=top;rounded=0;dashed=1;" value="3: false">
          <mxGeometry relative="1" y="-10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1300" y="775" as="sourcePoint" />
            <mxPoint x="1300" y="815" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-60" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="980" y="822.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-61" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs_new: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="980" y="652.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-62" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-60" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-61" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1140" y="1102.5" as="sourcePoint" />
            <mxPoint x="1190" y="1052.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-63" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="4: accept(rs_old, sp)">
          <mxGeometry relative="1" x="0.2" y="-14" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1200" y="795" as="sourcePoint" />
            <mxPoint x="1150" y="745" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-64" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="1250" y="1022.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-65" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-61" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-69" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1230" y="1012.5" as="sourcePoint" />
            <mxPoint x="1230" y="1152.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-66" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="sp: SnowPlow" vertex="1">
          <mxGeometry height="60" width="120" x="1250" y="822.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-67" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: update(m, rs_old)">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1320" y="992.5" as="sourcePoint" />
            <mxPoint x="1320" y="932.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-68" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1309.6599999999999" y="882.5" as="sourcePoint" />
            <mxPoint x="1309.6599999999999" y="1022.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-69" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="dh: DragonHead" vertex="1">
          <mxGeometry height="60" width="120" x="1250" y="652.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-70" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-66" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-69" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1430" y="917.5" as="sourcePoint" />
            <mxPoint x="1540" y="917.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-71" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="6:&amp;nbsp;doCleaning(m, rs_new)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1320" y="757.5" as="sourcePoint" />
            <mxPoint x="1320" y="725" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-73" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs_old: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="980" y="1022.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-74" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-73" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-64" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1140" y="1042.5" as="sourcePoint" />
            <mxPoint x="1240" y="1042.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-75" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-66" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-61" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1110" y="882.5" as="sourcePoint" />
            <mxPoint x="1110" y="772.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-76" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=right;verticalAlign=top;rounded=0;dashed=1;" value="5: false">
          <mxGeometry relative="1" x="0.6" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1130" y="755" as="sourcePoint" />
            <mxPoint x="1180" y="805" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-77" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-73" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-60" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1030" y="1062.5" as="sourcePoint" />
            <mxPoint x="1030" y="952.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-78" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-60" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1140" y="1014" as="sourcePoint" />
            <mxPoint x="1250" y="855" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-79" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="2: canBeUsedBy(p)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1320" y="817.5" as="sourcePoint" />
            <mxPoint x="1320" y="785" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-80" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="i: Intersection" vertex="1">
          <mxGeometry height="60" width="120" x="60" y="837.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-81" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-30" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-80" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="130" y="1090" as="sourcePoint" />
            <mxPoint x="130" y="950" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-83" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-10" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-80" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="180" y="910" as="sourcePoint" />
            <mxPoint x="100" y="740" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-84" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-80" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="FLftAIpvXATORVA35k_5-9" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="320" y="920" as="sourcePoint" />
            <mxPoint x="470" y="922" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-85" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="i: Intersection" vertex="1">
          <mxGeometry height="60" width="120" x="840" y="822" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-86" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-85" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="980" y="1052.5" as="sourcePoint" />
            <mxPoint x="910" y="934.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-87" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-85" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="980" y="682.5" as="sourcePoint" />
            <mxPoint x="880" y="724.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-88" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-85" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1100" y="904.5" as="sourcePoint" />
            <mxPoint x="980" y="852.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-89" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;SnowPlow cleans road using&amp;nbsp;IcebreakerHead" vertex="1">
          <mxGeometry height="532.5" width="630" x="1500" y="586.25" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-90" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=right;verticalAlign=top;rounded=0;dashed=1;" value="3: true">
          <mxGeometry relative="1" y="-10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1970" y="776.25" as="sourcePoint" />
            <mxPoint x="1970" y="816.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-91" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="1650" y="823.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-92" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs1: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="1650" y="653.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-93" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-91" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-92" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1810" y="1103.75" as="sourcePoint" />
            <mxPoint x="1860" y="1053.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-95" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="1920" y="1023.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-96" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-92" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-100" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1900" y="1013.75" as="sourcePoint" />
            <mxPoint x="1900" y="1153.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-97" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="sp: SnowPlow" vertex="1">
          <mxGeometry height="60" width="120" x="1920" y="823.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-98" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: update(m, rs_old)">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1990" y="993.75" as="sourcePoint" />
            <mxPoint x="1990" y="933.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-99" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1979.6599999999999" y="883.75" as="sourcePoint" />
            <mxPoint x="1979.6599999999999" y="1023.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-100" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="h: IcebreakerHead" vertex="1">
          <mxGeometry height="60" width="120" x="1920" y="653.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-101" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-97" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-100" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2100" y="918.75" as="sourcePoint" />
            <mxPoint x="2210" y="918.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-102" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="4:&amp;nbsp;doCleaning(m, rs_new)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1990" y="758.75" as="sourcePoint" />
            <mxPoint x="1990" y="726.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-105" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-97" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-92" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1780" y="883.75" as="sourcePoint" />
            <mxPoint x="1780" y="773.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-108" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-91" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1810" y="1015.25" as="sourcePoint" />
            <mxPoint x="1920" y="856.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-109" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="2: canBeUsedBy(p)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1990" y="818.75" as="sourcePoint" />
            <mxPoint x="1990" y="786.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-110" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="i: Intersection" vertex="1">
          <mxGeometry height="60" width="120" x="1510" y="823.25" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-112" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-110" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1650" y="683.75" as="sourcePoint" />
            <mxPoint x="1550" y="725.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-113" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-110" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1770" y="905.75" as="sourcePoint" />
            <mxPoint x="1650" y="853.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-115" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="5: tryBreakIce()">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1880" y="697.08" as="sourcePoint" />
            <mxPoint x="1820" y="697.08" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-116" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;SnowPlow cleans road using&amp;nbsp;SplittingHead" vertex="1">
          <mxGeometry height="532.5" width="690" x="2170" y="588.25" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-117" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=right;verticalAlign=top;rounded=0;dashed=1;" value="3: true">
          <mxGeometry relative="1" y="-10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2710" y="777" as="sourcePoint" />
            <mxPoint x="2710" y="817" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-118" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="2320" y="824.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-119" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs1: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="2320" y="654.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-120" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-118" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-119" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2480" y="1104.5" as="sourcePoint" />
            <mxPoint x="2530" y="1054.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-121" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="2660" y="1024.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-122" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-119" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-126" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2570" y="1014.5" as="sourcePoint" />
            <mxPoint x="2570" y="1154.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-123" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="sp: SnowPlow" vertex="1">
          <mxGeometry height="60" width="120" x="2660" y="824.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-124" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: update(m, rs_old)">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2730" y="994.5" as="sourcePoint" />
            <mxPoint x="2730" y="934.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-125" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2719.58" y="884.5" as="sourcePoint" />
            <mxPoint x="2719.58" y="1024.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-126" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="h: SplittingHead" vertex="1">
          <mxGeometry height="60" width="120" x="2660" y="654.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-127" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-123" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-126" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2770" y="919.5" as="sourcePoint" />
            <mxPoint x="2880" y="919.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-128" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="4:&amp;nbsp;doCleaning(m, rs_new)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2730" y="759.5" as="sourcePoint" />
            <mxPoint x="2730" y="727" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-129" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs2: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="2320" y="1024.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-130" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-129" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-121" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2480" y="1044.5" as="sourcePoint" />
            <mxPoint x="2580" y="1044.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-131" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-129" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-126" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2450" y="884.5" as="sourcePoint" />
            <mxPoint x="2450" y="774.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-132" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-129" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-118" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2370" y="1064.5" as="sourcePoint" />
            <mxPoint x="2370" y="954.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-133" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-118" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="FLftAIpvXATORVA35k_5-123" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2480" y="1016" as="sourcePoint" />
            <mxPoint x="2590" y="857" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-134" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="2: canBeUsedBy(p)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2730" y="819.5" as="sourcePoint" />
            <mxPoint x="2730" y="787" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-135" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="i: Intersection" vertex="1">
          <mxGeometry height="60" width="120" x="2180" y="824" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-136" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-135" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2320" y="1054.5" as="sourcePoint" />
            <mxPoint x="2250" y="936.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-137" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-135" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2320" y="684.5" as="sourcePoint" />
            <mxPoint x="2220" y="726.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-138" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-135" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2440" y="906.5" as="sourcePoint" />
            <mxPoint x="2320" y="854.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-139" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="5: getRandomAdjecentRoadSection()">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2515" y="697.08" as="sourcePoint" />
            <mxPoint x="2455" y="697.08" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-141" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=right;verticalAlign=top;rounded=0;dashed=1;" value="6: rs2">
          <mxGeometry relative="1" x="0.6667" y="27" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2470" y="667.5" as="sourcePoint" />
            <mxPoint x="2530" y="667.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-142" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="7: transferSnowTo(from: rs1)">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2530" y="910" as="sourcePoint" />
            <mxPoint x="2490" y="970" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-143" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;SnowPlow cleans road using&amp;nbsp;SweeperHead" vertex="1">
          <mxGeometry height="532.5" width="690" x="2895" y="587.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-144" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=right;verticalAlign=top;rounded=0;dashed=1;" value="3: true">
          <mxGeometry relative="1" y="-10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="3435" y="776.25" as="sourcePoint" />
            <mxPoint x="3435" y="816.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-145" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="3045" y="823.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-146" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs1: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="3045" y="653.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-147" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-145" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-146" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3205" y="1103.75" as="sourcePoint" />
            <mxPoint x="3255" y="1053.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-148" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="3385" y="1023.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-149" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-146" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-153" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3295" y="1013.75" as="sourcePoint" />
            <mxPoint x="3295" y="1153.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-150" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="sp: SnowPlow" vertex="1">
          <mxGeometry height="60" width="120" x="3385" y="823.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-151" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: update(m, rs_old)">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="3455" y="993.75" as="sourcePoint" />
            <mxPoint x="3455" y="933.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-152" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3444.58" y="883.75" as="sourcePoint" />
            <mxPoint x="3444.58" y="1023.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-153" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="h: SweeperHead" vertex="1">
          <mxGeometry height="60" width="120" x="3385" y="653.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-154" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-150" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-153" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3495" y="918.75" as="sourcePoint" />
            <mxPoint x="3605" y="918.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-155" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="4:&amp;nbsp;doCleaning(m, rs_new)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="3455" y="758.75" as="sourcePoint" />
            <mxPoint x="3455" y="726.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-156" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs2: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="3045" y="1023.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-157" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-156" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-148" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3205" y="1043.75" as="sourcePoint" />
            <mxPoint x="3305" y="1043.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-158" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-156" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-153" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3175" y="883.75" as="sourcePoint" />
            <mxPoint x="3175" y="773.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-159" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-156" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-145" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3095" y="1063.75" as="sourcePoint" />
            <mxPoint x="3095" y="953.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-160" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-145" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="FLftAIpvXATORVA35k_5-150" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3205" y="1015.25" as="sourcePoint" />
            <mxPoint x="3315" y="856.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-161" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="2: canBeUsedBy(p)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="3455" y="818.75" as="sourcePoint" />
            <mxPoint x="3455" y="786.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-162" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="i: Intersection" vertex="1">
          <mxGeometry height="60" width="120" x="2905" y="823.25" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-163" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-162" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3045" y="1053.75" as="sourcePoint" />
            <mxPoint x="2975" y="935.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-164" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-162" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3045" y="683.75" as="sourcePoint" />
            <mxPoint x="2945" y="725.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-165" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-162" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="3165" y="905.75" as="sourcePoint" />
            <mxPoint x="3045" y="853.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-166" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="5: getRandomParallelRoadSection()">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="3240" y="696.33" as="sourcePoint" />
            <mxPoint x="3180" y="696.33" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-167" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=right;verticalAlign=top;rounded=0;dashed=1;" value="6: rs2">
          <mxGeometry relative="1" x="0.6667" y="27" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="3195" y="666.75" as="sourcePoint" />
            <mxPoint x="3255" y="666.75" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-168" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="7: transferSnowTo(from: rs1)">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="3255" y="909.25" as="sourcePoint" />
            <mxPoint x="3215" y="969.25" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-169" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;SnowPlow cleans road using&amp;nbsp;SalterHead" vertex="1">
          <mxGeometry height="532.5" width="630" x="1590" y="7.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-170" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=right;verticalAlign=top;rounded=0;dashed=1;" value="3: true">
          <mxGeometry relative="1" y="-10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2060" y="197.5" as="sourcePoint" />
            <mxPoint x="2060" y="237.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-171" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="1740" y="245" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-172" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs1: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="1740" y="75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-173" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-171" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-172" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1900" y="525" as="sourcePoint" />
            <mxPoint x="1950" y="475" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-174" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="2010" y="445" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-175" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-172" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-179" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1990" y="435" as="sourcePoint" />
            <mxPoint x="1990" y="575" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-176" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="sp: SnowPlow" vertex="1">
          <mxGeometry height="60" width="120" x="2010" y="245" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-177" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: update(m, rs_old)">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2080" y="415" as="sourcePoint" />
            <mxPoint x="2080" y="355" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-178" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2069.66" y="305" as="sourcePoint" />
            <mxPoint x="2069.66" y="445" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-179" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="h: SalterHead" vertex="1">
          <mxGeometry height="60" width="120" x="2010" y="75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-180" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-176" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-179" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2190" y="340" as="sourcePoint" />
            <mxPoint x="2300" y="340" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-181" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="4:&amp;nbsp;doCleaning(m, rs_new)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2080" y="180" as="sourcePoint" />
            <mxPoint x="2080" y="147.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-182" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-176" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-172" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1870" y="305" as="sourcePoint" />
            <mxPoint x="1870" y="195" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-183" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-171" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1900" y="436.5" as="sourcePoint" />
            <mxPoint x="2010" y="277.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-184" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="2: canBeUsedBy(p)">
          <mxGeometry relative="1" x="0.8462" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2080" y="240" as="sourcePoint" />
            <mxPoint x="2080" y="207.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-185" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="i: Intersection" vertex="1">
          <mxGeometry height="60" width="120" x="1600" y="244.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-186" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-185" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1740" y="105" as="sourcePoint" />
            <mxPoint x="1640" y="147" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-187" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-185" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1860" y="327" as="sourcePoint" />
            <mxPoint x="1740" y="275" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-188" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="5: setSalty()">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1970" y="118.33000000000004" as="sourcePoint" />
            <mxPoint x="1910" y="118.33000000000004" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-189" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;Car creation and move to goal" vertex="1">
          <mxGeometry height="750.75" width="690" x="2270" y="-220.75" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-191" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="2420" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-192" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs1: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="2420" y="-170" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-193" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-191" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-192" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2580" y="280" as="sourcePoint" />
            <mxPoint x="2630" y="230" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-194" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="a: App" vertex="1">
          <mxGeometry height="60" width="120" x="2690" y="200" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-196" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="c: Car" vertex="1">
          <mxGeometry height="60" width="120" x="2690" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-197" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="1: &amp;lt;&amp;lt;create&amp;gt;&amp;gt;">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2760" y="190.37" as="sourcePoint" />
            <mxPoint x="2760" y="150" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-198" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2749.66" y="60" as="sourcePoint" />
            <mxPoint x="2749.66" y="200" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-202" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-196" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-192" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2550" y="60" as="sourcePoint" />
            <mxPoint x="2550" y="-50" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-205" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="i1: Intersection" vertex="1">
          <mxGeometry height="60" width="120" x="2280" y="-0.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-206" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-205" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2420" y="-140" as="sourcePoint" />
            <mxPoint x="2320" y="-98" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-207" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-205" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2540" y="82" as="sourcePoint" />
            <mxPoint x="2420" y="30" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-209" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="rs2: RoadSection" vertex="1">
          <mxGeometry height="60" width="120" x="2420" y="200.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-210" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-209" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2470" y="240.5" as="sourcePoint" />
            <mxPoint x="2480" y="61" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-211" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2420" y="230.5" as="sourcePoint" />
            <mxPoint x="2340" y="60" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-212" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="i2: Intersection" vertex="1">
          <mxGeometry height="60" width="120" x="2420" y="430" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-213" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-212" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-209" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2400" y="450" as="sourcePoint" />
            <mxPoint x="2400" y="310" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-214" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="2: setFixRoute(route: {i1, i2})">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2760" y="125.19" as="sourcePoint" />
            <mxPoint x="2760" y="84.82" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-216" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-191" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="FLftAIpvXATORVA35k_5-196" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2600" y="40" as="sourcePoint" />
            <mxPoint x="2750" y="240" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-217" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="3: accept(from: null, c)">
          <mxGeometry relative="1" x="0.2" y="-14" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2640" y="-30" as="sourcePoint" />
            <mxPoint x="2590" y="-80" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-218" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=right;verticalAlign=top;rounded=0;dashed=1;" value="4: true">
          <mxGeometry relative="1" x="0.6" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2580" y="-60" as="sourcePoint" />
            <mxPoint x="2630" y="-10" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-219" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-209" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-196" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2690" y="340" as="sourcePoint" />
            <mxPoint x="2540" y="200" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-220" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="5: accept(from: rs1, c)">
          <mxGeometry relative="1" x="0.2" y="-14" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2650" y="110" as="sourcePoint" />
            <mxPoint x="2600" y="160" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-221" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=right;verticalAlign=top;rounded=0;dashed=1;" value="6: true">
          <mxGeometry relative="1" x="0.5" y="14" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2590" y="140" as="sourcePoint" />
            <mxPoint x="2630" y="100" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-222" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <Array as="points">
              <mxPoint x="2750" y="-60" />
              <mxPoint x="2860" y="-60" />
              <mxPoint x="2860" y="30" />
            </Array>
            <mxPoint x="2750" y="2.2737367544323206e-13" as="sourcePoint" />
            <mxPoint x="2810" y="30.000000000000227" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-224" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="7:&amp;nbsp;hasReachedDestination()">
          <mxGeometry relative="1" x="-1" y="30" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2770" y="-70" as="sourcePoint" />
            <mxPoint x="2830" y="-70" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-225" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=right;verticalAlign=top;rounded=0;dashed=1;" value="8: true">
          <mxGeometry relative="1" x="0.6" y="10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2850" y="20" as="sourcePoint" />
            <mxPoint x="2850" y="-30" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-226" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=left;verticalAlign=top;rounded=0;" value="9: &amp;lt;&amp;lt;delete&amp;gt;&amp;gt;">
          <mxGeometry relative="1" x="-0.2941" y="10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2870" y="-34.99999999999999" as="sourcePoint" />
            <mxPoint x="2870" y="7.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-227" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;SnowPlow got stunned so it skips turn" vertex="1">
          <mxGeometry height="532.5" width="630" x="1500" y="1180" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-229" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="1590" y="1397.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-232" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="1860" y="1597.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-234" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="sp: SnowPlow" vertex="1">
          <mxGeometry height="60" width="120" x="1860" y="1397.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-235" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: update(m, rs_old)">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1930" y="1567.5" as="sourcePoint" />
            <mxPoint x="1930" y="1507.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-236" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1919.6599999999999" y="1457.5" as="sourcePoint" />
            <mxPoint x="1919.6599999999999" y="1597.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-237" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="h: IcebreakerHead" vertex="1">
          <mxGeometry height="60" width="120" x="1860" y="1227.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-238" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-234" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" target="FLftAIpvXATORVA35k_5-237" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2040" y="1492.5" as="sourcePoint" />
            <mxPoint x="2150" y="1492.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-241" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-229" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1750" y="1589" as="sourcePoint" />
            <mxPoint x="1860" y="1430" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-248" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-234" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="FLftAIpvXATORVA35k_5-234" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <Array as="points">
              <mxPoint x="2030" y="1428" />
              <mxPoint x="2030" y="1340" />
              <mxPoint x="1950" y="1340" />
            </Array>
            <mxPoint x="2060" y="1430" as="sourcePoint" />
            <mxPoint x="2210" y="1432" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-250" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="&lt;span&gt;2:&amp;nbsp;&lt;span style=&quot;font-size: 12px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;isStunned&lt;/span&gt;()&lt;/span&gt;">
          <mxGeometry relative="1" x="-1" y="30" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1960" y="1330" as="sourcePoint" />
            <mxPoint x="2020" y="1330" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-251" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=right;verticalAlign=top;rounded=0;dashed=1;" value="3: true">
          <mxGeometry relative="1" x="0.6" y="10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2020" y="1410" as="sourcePoint" />
            <mxPoint x="2020" y="1360" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-252" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="a: App" vertex="1">
          <mxGeometry height="60" width="120" x="1590" y="1597.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-253" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="4: endTurn()">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="1810" y="1640" as="sourcePoint" />
            <mxPoint x="1750" y="1640" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-254" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1710" y="1626.5" as="sourcePoint" />
            <mxPoint x="1860" y="1628.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-255" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-252" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="1649.17" y="1567.5" as="sourcePoint" />
            <mxPoint x="1649.17" y="1457.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-256" parent="1" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=300;height=30;" value="&lt;b&gt;sd&lt;/b&gt;&amp;nbsp;Car got stunned so it skips turn" vertex="1">
          <mxGeometry height="532.5" width="630" x="2180" y="1180" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-257" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="m: Map" vertex="1">
          <mxGeometry height="60" width="120" x="2270" y="1397.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-260" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="p: Player" vertex="1">
          <mxGeometry height="60" width="120" x="2540" y="1597.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-261" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="c: Car" vertex="1">
          <mxGeometry height="60" width="120" x="2540" y="1397.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-262" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="1: update(m, rs_old)">
          <mxGeometry relative="1" x="-0.3333" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2610" y="1567.5" as="sourcePoint" />
            <mxPoint x="2610" y="1507.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-263" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2599.66" y="1457.5" as="sourcePoint" />
            <mxPoint x="2599.66" y="1597.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-266" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-257" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2430" y="1589" as="sourcePoint" />
            <mxPoint x="2540" y="1430" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-267" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-261" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" target="FLftAIpvXATORVA35k_5-261" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <Array as="points">
              <mxPoint x="2710" y="1428" />
              <mxPoint x="2710" y="1340" />
              <mxPoint x="2630" y="1340" />
            </Array>
            <mxPoint x="2740" y="1430" as="sourcePoint" />
            <mxPoint x="2890" y="1432" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-268" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="&lt;span&gt;2:&amp;nbsp;&lt;span style=&quot;font-size: 12px; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;isStunned&lt;/span&gt;()&lt;/span&gt;">
          <mxGeometry relative="1" x="-1" y="30" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2640" y="1330" as="sourcePoint" />
            <mxPoint x="2700" y="1330" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-269" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;align=right;verticalAlign=top;rounded=0;dashed=1;" value="3: true">
          <mxGeometry relative="1" x="0.6" y="10" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2700" y="1410" as="sourcePoint" />
            <mxPoint x="2700" y="1360" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-270" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="a: App" vertex="1">
          <mxGeometry height="60" width="120" x="2270" y="1597.5" as="geometry" />
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-271" edge="1" parent="1" style="endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;rounded=0;" value="4: endTurn()">
          <mxGeometry relative="1" x="0.6667" as="geometry">
            <mxPoint as="offset" />
            <mxPoint x="2490" y="1640" as="sourcePoint" />
            <mxPoint x="2430" y="1640" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-272" edge="1" parent="1" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2390" y="1626.5" as="sourcePoint" />
            <mxPoint x="2540" y="1628.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="FLftAIpvXATORVA35k_5-273" edge="1" parent="1" source="FLftAIpvXATORVA35k_5-270" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="2329.17" y="1567.5" as="sourcePoint" />
            <mxPoint x="2329.17" y="1457.5" as="targetPoint" />
          </mxGeometry>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
