<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:UMLLabProfile="http:///schemas/UMLLabProfile/NS/0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/UMLLabProfile/NS/0 pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile-Annotation_2-UMLLabProfile">
  <uml:Model xmi:id="_xR78UMR4EeW_3q3XSh-SYw" name="Gizmo_Ball">
    <eAnnotations xmi:id="_xd_bUMR4EeW_3q3XSh-SYw" source="http://ns.yatta.de/umllab">
      <contents xmi:type="ecore:EAnnotation" xmi:id="_xeACYMR4EeW_3q3XSh-SYw" source="codegen">
        <details xmi:id="_xeACYcR4EeW_3q3XSh-SYw" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
        <details xmi:id="_ydCdgMR4EeW_3q3XSh-SYw" key="AssociatedSourceCode" value="/GitHub-Gizmo Ball/src/controller/AMainListener.java;2795724307/1;/GitHub-Gizmo Ball/src/controller/AddGizmoListener.java;4287659270/1;/GitHub-Gizmo Ball/src/controller/BuildModeMainListener.java;111695609/1;/GitHub-Gizmo Ball/src/controller/ConnectGizmoListener.java;4017036422/1;/GitHub-Gizmo Ball/src/controller/ConnectKeyListener.java;2923214179/1;/GitHub-Gizmo Ball/src/controller/DeleteGizmoListener.java;2085229515/1;/GitHub-Gizmo Ball/src/controller/LoadFileListener.java;4196494579/1;/GitHub-Gizmo Ball/src/view/PlayBoard.java;1527831542/1;/GitHub-Gizmo Ball/src/controller/MoveGizmoListener.java;3234179510/1;/GitHub-Gizmo Ball/src/controller/PlayGameListener.java;834296855/1;/GitHub-Gizmo Ball/src/controller/PlayModeMainListener.java;3162224122/1;/GitHub-Gizmo Ball/src/controller/RotateGizmoListener.java;3404834027/1;/GitHub-Gizmo Ball/src/controller/SaveFileListener.java;333695327/1;/GitHub-Gizmo Ball/src/controller/StartGameListener.java;2480748991/1;/GitHub-Gizmo Ball/src/controller/StopGameListener.java;560753830/1;/GitHub-Gizmo Ball/src/controller/UndoRedoListener.java;3450596372/1;/GitHub-Gizmo Ball/src/controller/WindowListener.java;1807637302/1;/GitHub-Gizmo Ball/src/model/AGizmoComponent.java;2332719026/1;/GitHub-Gizmo Ball/src/model/Absorber.java;3387887953/1;/GitHub-Gizmo Ball/src/model/Ball.java;3605082374/1;/GitHub-Gizmo Ball/src/model/CircularBumper.java;4017894084/1;/GitHub-Gizmo Ball/src/model/CollisionDetails.java;2157275101/1;/GitHub-Gizmo Ball/src/model/Connections.java;1492499204/1;/GitHub-Gizmo Ball/src/model/IMainEngine.java;3281182909/1;/GitHub-Gizmo Ball/src/model/ISaveDataEngine.java;260802257/1;/GitHub-Gizmo Ball/src/model/Line.java;450795291/1;/GitHub-Gizmo Ball/src/view/IMenu.java;3664531813/1;/GitHub-Gizmo Ball/src/model/PhysicsConfig.java;3706190285/1;/GitHub-Gizmo Ball/src/model/SaveDataEngine.java;602007569/1;/GitHub-Gizmo Ball/src/model/SquareBumper.java;2757019581/1;/GitHub-Gizmo Ball/src/model/TriangularBumper.java;2249361924/1;/GitHub-Gizmo Ball/src/model/Walls.java;208570895/1;/GitHub-Gizmo Ball/src/view/BuildBoard.java;1971978686/1;/GitHub-Gizmo Ball/src/view/BuildMenu.java;1565996257/1;/GitHub-Gizmo Ball/src/view/GameWindow.java;3603679478/1;/GitHub-Gizmo Ball/src/view/IBoard.java;1290430175/1;/GitHub-Gizmo Ball/src/view/IGameWindow.java;573000427/1;/GitHub-Gizmo Ball/src/model/MainEngine.java;2670343364/1;/GitHub-Gizmo Ball/src/controller/MagicKeyListenerWrapper.java;3942618863/1;/GitHub-Gizmo Ball/src/view/PlayMenu.java;1636838318/1;/GitHub-Gizmo Ball/src/model/LeftFlipper.java;937899609/1;/GitHub-Gizmo Ball/src/model/RightFlipper.java;837315490/1;"/>
      </contents>
      <contents xmi:type="ecore:EAnnotation" xmi:id="_Ee-WsMoQEeWsA83iBWrPKA" source="preferences">
        <contents xmi:type="ecore:EAnnotation" xmi:id="_Ee-WscoQEeWsA83iBWrPKA" source="com.yattasolutions.codegen.reverse">
          <details xmi:id="_Ee-WssoQEeWsA83iBWrPKA" key="com.yattasolutions.codegen.reverse.roundtrip.ReverseEngineerNewFiles" value="true"/>
          <details xmi:id="_Ee-Ws8oQEeWsA83iBWrPKA" key="com.yattasolutions.codegen.reverse.roundtrip.ReverseEngineerChangedFiles" value="true"/>
          <details xmi:id="_Ee-WtMoQEeWsA83iBWrPKA" key="com.yattasolutions.codegen.reverse.roundtrip.RemoveDeletedFiles" value="true"/>
        </contents>
      </contents>
    </eAnnotations>
    <elementImport xmi:id="_xvEkQMR4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
    </elementImport>
    <elementImport xmi:id="_xvFLUMR4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#byte"/>
    </elementImport>
    <elementImport xmi:id="_xvFLUcR4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#char"/>
    </elementImport>
    <elementImport xmi:id="_xvFLUsR4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
    </elementImport>
    <elementImport xmi:id="_xvFLU8R4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#float"/>
    </elementImport>
    <elementImport xmi:id="_xvFyYMR4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
    </elementImport>
    <elementImport xmi:id="_xvFyYcR4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
    </elementImport>
    <elementImport xmi:id="_xvFyYsR4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#short"/>
    </elementImport>
    <elementImport xmi:id="_xvGZcMR4EeW_3q3XSh-SYw">
      <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </elementImport>
    <packagedElement xmi:type="uml:Class" xmi:id="_K74RQMonEeWI07Wu9tqfCA" name="ActionListener"/>
    <packagedElement xmi:type="uml:Package" xmi:id="_xvL5AMR4EeW_3q3XSh-SYw" name="java">
      <packagedElement xmi:type="uml:Package" xmi:id="_xvMgEMR4EeW_3q3XSh-SYw" name="awt">
        <packagedElement xmi:type="uml:Class" xmi:id="_xyrR4MR4EeW_3q3XSh-SYw" name="Component"/>
        <packagedElement xmi:type="uml:Package" xmi:id="_xvNHIMR4EeW_3q3XSh-SYw" name="event">
          <packagedElement xmi:type="uml:Class" xmi:id="_xyazMMR4EeW_3q3XSh-SYw" name="ActionEvent"/>
          <packagedElement xmi:type="uml:Class" xmi:id="_xyg50MR4EeW_3q3XSh-SYw" name="KeyEvent"/>
          <packagedElement xmi:type="uml:Class" xmi:id="_xylLQMR4EeW_3q3XSh-SYw" name="MouseEvent"/>
          <packagedElement xmi:type="uml:Interface" xmi:id="_xylyUcR4EeW_3q3XSh-SYw" name="MouseListener"/>
          <packagedElement xmi:type="uml:Interface" xmi:id="_xypcsMR4EeW_3q3XSh-SYw" name="MouseMotionListener"/>
          <packagedElement xmi:type="uml:Interface" xmi:id="_IRJl0MomEeWI07Wu9tqfCA" name="ActionListener"/>
          <packagedElement xmi:type="uml:Interface" xmi:id="_IRKz8MomEeWI07Wu9tqfCA" name="KeyListener"/>
        </packagedElement>
        <packagedElement xmi:type="uml:Class" xmi:id="_xy4tQMR4EeW_3q3XSh-SYw" name="Graphics"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3j10MoQEeWsA83iBWrPKA" name="Color"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3kc4coQEeWsA83iBWrPKA" name="Dimension"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3oHQcoQEeWsA83iBWrPKA" name="Button"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3ouUcoQEeWsA83iBWrPKA" name="EventQueue"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3pVYcoQEeWsA83iBWrPKA" name="FlowLayout"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3p8ccoQEeWsA83iBWrPKA" name="Font"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3qjgcoQEeWsA83iBWrPKA" name="GridBagConstraints"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3rKkMoQEeWsA83iBWrPKA" name="GridBagLayout"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3rxoMoQEeWsA83iBWrPKA" name="GridLayout"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_hBFaIM-TEeWOGvD12nE26A" name="Shape"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="_xvv5ssR4EeW_3q3XSh-SYw" name="util">
        <packagedElement xmi:type="uml:Interface" xmi:id="_xytHEcR4EeW_3q3XSh-SYw" name="Set"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_xyuVMcR4EeW_3q3XSh-SYw" name="HashSet"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_xyu8QcR4EeW_3q3XSh-SYw" name="Iterator"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_xy57YcR4EeW_3q3XSh-SYw" name="Observable"/>
        <packagedElement xmi:type="uml:Interface" xmi:id="_xy7JgcR4EeW_3q3XSh-SYw" name="Observer"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Package" xmi:id="_xznGAMR4EeW_3q3XSh-SYw" name="lang">
        <packagedElement xmi:type="uml:Interface" xmi:id="_xznGAcR4EeW_3q3XSh-SYw" name="Runnable"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_xzuawMR4EeW_3q3XSh-SYw" name="Object"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_xvTNwMR4EeW_3q3XSh-SYw" name="controller">
      <packagedElement xmi:type="uml:Class" xmi:id="_xwx0ccR4EeW_3q3XSh-SYw" name="MagicKeyListenerWrapper">
        <eAnnotations xmi:id="_ajxioM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_ajxioc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_ajxios9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedComment xmi:id="_rT8awc93EeWej54JrL5caA">
          <body>**************************************************************************&#xD;
Copyright (C) 2001 by the Massachusetts Institute of Technology,&#xD;
                      Cambridge, Massachusetts.&#xD;
 *&#xD;
                       All Rights Reserved&#xD;
 *&#xD;
Permission to use, copy, modify, and distribute this software and&#xD;
its documentation for any purpose and without fee is hereby&#xD;
granted, provided that the above copyright notice appear in all&#xD;
copies and that both that copyright notice and this permission&#xD;
notice appear in supporting documentation, and that MIT's name not&#xD;
be used in advertising or publicity pertaining to distribution of&#xD;
the software without specific, written prior permission.&#xD;
 *&#xD;
THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY DISCLAIMS ALL WARRANTIES&#xD;
WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF&#xD;
MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE MASSACHUSETTS&#xD;
INSTITUTE OF TECHNOLOGY BE LIABLE FOR ANY SPECIAL, INDIRECT OR&#xD;
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS&#xD;
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,&#xD;
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN&#xD;
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.&#xD;
 *&#xD;
 **************************************************************************</body>
        </ownedComment>
        <ownedAttribute xmi:id="_xz1vgMR4EeW_3q3XSh-SYw" name="adaptee" visibility="private" isLeaf="true" type="_IRKz8MomEeWI07Wu9tqfCA" isReadOnly="true" association="_x0SbcMR4EeW_3q3XSh-SYw"/>
        <ownedAttribute xmi:id="_xz2WkcR4EeW_3q3XSh-SYw" name="real" visibility="private" isLeaf="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xz29oMR4EeW_3q3XSh-SYw" value="*"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_xz29ocR4EeW_3q3XSh-SYw" value="new HashSet&lt;Integer>()"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_xz3kscR4EeW_3q3XSh-SYw" name="announced" visibility="private" isLeaf="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xz4LwMR4EeW_3q3XSh-SYw" value="*"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_xz4LwcR4EeW_3q3XSh-SYw" value="new HashSet&lt;Integer>()"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_xz4y0cR4EeW_3q3XSh-SYw" name="assumeAllReleased" visibility="private" isLeaf="true" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
        </ownedAttribute>
        <interfaceRealization xmi:id="_z8j10MomEeWI07Wu9tqfCA" client="_xwx0ccR4EeW_3q3XSh-SYw" supplier="_IRKz8MomEeWI07Wu9tqfCA" contract="_IRKz8MomEeWI07Wu9tqfCA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0JRgMR4EeW_3q3XSh-SYw" name="MagicKeyListenerWrapper" specification="_xzjboMR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_9hBOoMomEeWI07Wu9tqfCA" name="adaptee" type="_IRKz8MomEeWI07Wu9tqfCA"/>
          <ownedParameter xmi:id="_9hBOocomEeWI07Wu9tqfCA" type="_xwx0ccR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>this(adaptee, false);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0JRhMR4EeW_3q3XSh-SYw" name="marker" specification="_xzkpwMR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_x0JRhcR4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
          <ownedParameter xmi:id="_x0JRhsR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          </ownedParameter>
          <language>java</language>
          <body>return new Integer(e.getKeyCode());&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0JRh8R4EeW_3q3XSh-SYw" name="eventFromMarker" specification="_xzlQ0MR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_x0JRiMR4EeW_3q3XSh-SYw" name="marker">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          </ownedParameter>
          <ownedParameter xmi:id="_x0JRicR4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
          <ownedParameter xmi:id="_x0JRisR4EeW_3q3XSh-SYw" type="_xyg50MR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>Component source = e.getComponent();&#xD;
		int id = e.getID();&#xD;
		long when = e.getWhen();&#xD;
		int modifiers = e.getModifiers();&#xD;
		int keyCode = marker.intValue();&#xD;
		char keyChar = e.getKeyChar();&#xD;
&#xD;
		return new KeyEvent(source, id, when, modifiers, keyCode, keyChar);&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0J4kMR4EeW_3q3XSh-SYw" name="keyPressed" specification="_xzl34MR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_x0J4kcR4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
          <language>java</language>
          <body>real.add(marker(e));&#xD;
		SwingUtilities.invokeLater(new KeyPressedLater(e));&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0J4ksR4EeW_3q3XSh-SYw" name="keyReleased" specification="_xzme8MR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_x0J4k8R4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
          <language>java</language>
          <body>real.remove(marker(e));&#xD;
		SwingUtilities.invokeLater(new KeyReleasedLater(e));&#xD;
&#xD;
		if (assumeAllReleased) {&#xD;
			while (!real.isEmpty()) {&#xD;
				Integer marker;&#xD;
				{&#xD;
					Iterator&lt;Integer> chooser = real.iterator();&#xD;
					marker = chooser.next();&#xD;
					chooser.remove();&#xD;
				}&#xD;
				KeyEvent event = eventFromMarker(marker, e);&#xD;
				SwingUtilities.invokeLater(new KeyReleasedLater(event));&#xD;
			}&#xD;
		}&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0J4lMR4EeW_3q3XSh-SYw" name="keyTyped" specification="_xzme8sR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_x0J4lcR4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
          <language>java</language>
          <body>SwingUtilities.invokeLater(new KeyTypedLater(e));&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_z8lrAsomEeWI07Wu9tqfCA" name="MagicKeyListenerWrapper" specification="_z8iAoMomEeWI07Wu9tqfCA">
          <ownedParameter xmi:id="_9hAnkMomEeWI07Wu9tqfCA" type="_xwx0ccR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <ownedParameter xmi:id="_9hAnkcomEeWI07Wu9tqfCA" name="adaptee" type="_IRKz8MomEeWI07Wu9tqfCA"/>
          <ownedParameter xmi:id="_9hAnksomEeWI07Wu9tqfCA" name="assumeAllReleased">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
          <language>java</language>
          <body>if (adaptee == null)&#xD;
			throw new IllegalArgumentException();&#xD;
		this.adaptee = adaptee;&#xD;
		this.assumeAllReleased = assumeAllReleased;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_xzjboMR4EeW_3q3XSh-SYw" name="MagicKeyListenerWrapper" method="_x0JRgMR4EeW_3q3XSh-SYw">
          <eAnnotations xmi:id="_xzkCsMR4EeW_3q3XSh-SYw" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_xzkCscR4EeW_3q3XSh-SYw" key="create"/>
          </eAnnotations>
          <ownedComment xmi:id="_rT9B0M93EeWej54JrL5caA">
            <body>@requires adaptee != null&#xD;
	 * &#xD;
	 * @effects creates a new MagicKeyListener without the generation of&#xD;
	 * additional key release events (the third option given in the&#xD;
	 * class overview is disabled).</body>
          </ownedComment>
          <ownedParameter xmi:id="_xzjbocR4EeW_3q3XSh-SYw" name="adaptee" type="_IRKz8MomEeWI07Wu9tqfCA"/>
          <ownedParameter xmi:id="_xzkCssR4EeW_3q3XSh-SYw" type="_xwx0ccR4EeW_3q3XSh-SYw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_xzkpwMR4EeW_3q3XSh-SYw" name="marker" visibility="private" isStatic="true" method="_x0JRhMR4EeW_3q3XSh-SYw">
          <ownedComment xmi:id="_rT9B0s93EeWej54JrL5caA">
            <body>@returns an immutable object which is representative of the key&#xD;
	 * associated with the given event</body>
          </ownedComment>
          <ownedParameter xmi:id="_xzkpwcR4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
          <ownedParameter xmi:id="_xzkpwsR4EeW_3q3XSh-SYw" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_xzlQ0MR4EeW_3q3XSh-SYw" name="eventFromMarker" visibility="private" isStatic="true" method="_x0JRh8R4EeW_3q3XSh-SYw">
          <ownedComment xmi:id="_rT9B0893EeWej54JrL5caA">
            <body>@returns an event which is constructed from the given immutable&#xD;
	 * key (from the marker method) and a template event.</body>
          </ownedComment>
          <ownedParameter xmi:id="_xzlQ0cR4EeW_3q3XSh-SYw" name="marker">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          </ownedParameter>
          <ownedParameter xmi:id="_xzlQ0sR4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
          <ownedParameter xmi:id="_xzlQ08R4EeW_3q3XSh-SYw" type="_xyg50MR4EeW_3q3XSh-SYw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_xzl34MR4EeW_3q3XSh-SYw" name="keyPressed" method="_x0J4kMR4EeW_3q3XSh-SYw">
          <ownedComment xmi:id="_rT9B1M93EeWej54JrL5caA">
            <body>@effects Acts on the given event as specified in the class overview.</body>
          </ownedComment>
          <ownedParameter xmi:id="_xzl34cR4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_xzme8MR4EeW_3q3XSh-SYw" name="keyReleased" method="_x0J4ksR4EeW_3q3XSh-SYw">
          <ownedComment xmi:id="_rT9B1c93EeWej54JrL5caA">
            <body>@effects Acts on the given event as specified in the class overview.</body>
          </ownedComment>
          <ownedParameter xmi:id="_xzme8cR4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_xzme8sR4EeW_3q3XSh-SYw" name="keyTyped" method="_x0J4lMR4EeW_3q3XSh-SYw">
          <ownedComment xmi:id="_rT9B1s93EeWej54JrL5caA">
            <body>@effects Acts on the given event as specified in the class overview</body>
          </ownedComment>
          <ownedParameter xmi:id="_xzme88R4EeW_3q3XSh-SYw" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_z8iAoMomEeWI07Wu9tqfCA" name="MagicKeyListenerWrapper" method="_z8lrAsomEeWI07Wu9tqfCA">
          <eAnnotations xmi:id="_z8iApMomEeWI07Wu9tqfCA" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_z8insMomEeWI07Wu9tqfCA" key="create"/>
          </eAnnotations>
          <ownedComment xmi:id="_rT9B0c93EeWej54JrL5caA">
            <body>@requires adaptee != null&#xD;
	 *&#xD;
	 * @param assumeAllReleased enables the third option listed in the&#xD;
	 * class overview, namely that any key release event implies that&#xD;
	 * all keys have been released.&#xD;
	 *&#xD;
	 * @effects creates a new MagicKeyListener.</body>
          </ownedComment>
          <ownedParameter xmi:id="_z8iAo8omEeWI07Wu9tqfCA" type="_xwx0ccR4EeW_3q3XSh-SYw" direction="return"/>
          <ownedParameter xmi:id="_xziNgcR4EeW_3q3XSh-SYw" name="adaptee" type="_IRKz8MomEeWI07Wu9tqfCA"/>
          <ownedParameter xmi:id="_z8lrBMomEeWI07Wu9tqfCA" name="assumeAllReleased">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
          </ownedParameter>
        </ownedOperation>
        <nestedClassifier xmi:type="uml:Class" xmi:id="_xw3UAMR4EeW_3q3XSh-SYw" name="KeyTypedLater" visibility="private">
          <ownedComment xmi:id="_rT9B1893EeWej54JrL5caA">
            <body>A simple class which forms a closure around a key typed event.&#xD;
	 * When run, it fires the event to the keyTyped method of the&#xD;
	 * adaptee.</body>
          </ownedComment>
          <ownedAttribute xmi:id="_xz5Z4cR4EeW_3q3XSh-SYw" name="event" visibility="private" isLeaf="true" type="_xyg50MR4EeW_3q3XSh-SYw" isReadOnly="true" association="_x0TpkMR4EeW_3q3XSh-SYw"/>
          <interfaceRealization xmi:id="_xzntEcR4EeW_3q3XSh-SYw" client="_xw3UAMR4EeW_3q3XSh-SYw" supplier="_xznGAcR4EeW_3q3XSh-SYw" contract="_xznGAcR4EeW_3q3XSh-SYw"/>
          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0J4lsR4EeW_3q3XSh-SYw" name="KeyTypedLater" specification="_xzoUIMR4EeW_3q3XSh-SYw">
            <ownedParameter xmi:id="_x0J4l8R4EeW_3q3XSh-SYw" name="event" type="_xyg50MR4EeW_3q3XSh-SYw"/>
            <ownedParameter xmi:id="_x0J4mMR4EeW_3q3XSh-SYw" type="_xw3UAMR4EeW_3q3XSh-SYw" direction="return">
              <name xsi:nil="true"/>
            </ownedParameter>
            <language>java</language>
            <body>this.event = event;&#xD;
		</body>
          </ownedBehavior>
          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0J4mcR4EeW_3q3XSh-SYw" name="run" specification="_xw6XUMR4EeW_3q3XSh-SYw">
            <language>java</language>
            <body>adaptee.keyTyped(event);&#xD;
		</body>
          </ownedBehavior>
          <ownedOperation xmi:id="_xw6XUMR4EeW_3q3XSh-SYw" name="run" method="_x0J4mcR4EeW_3q3XSh-SYw"/>
          <ownedOperation xmi:id="_xzoUIMR4EeW_3q3XSh-SYw" name="KeyTypedLater" visibility="private" method="_x0J4lsR4EeW_3q3XSh-SYw">
            <eAnnotations xmi:id="_xzoUIsR4EeW_3q3XSh-SYw" source="http://www.eclipse.org/uml2/2.0.0/UML">
              <details xmi:id="_xzoUI8R4EeW_3q3XSh-SYw" key="create"/>
            </eAnnotations>
            <ownedParameter xmi:id="_xzoUIcR4EeW_3q3XSh-SYw" name="event" type="_xyg50MR4EeW_3q3XSh-SYw"/>
            <ownedParameter xmi:id="_xzoUJMR4EeW_3q3XSh-SYw" type="_xw3UAMR4EeW_3q3XSh-SYw" direction="return"/>
          </ownedOperation>
        </nestedClassifier>
        <nestedClassifier xmi:type="uml:Class" xmi:id="_xw9aoMR4EeW_3q3XSh-SYw" name="KeyPressedLater" visibility="private">
          <ownedComment xmi:id="_rT9B2M93EeWej54JrL5caA">
            <body>A simple class which forms a closure around an key pressed event.&#xD;
	 * When run, it fires the event to the keyPressed method of the&#xD;
	 * adaptee only if the pressed keyset still contains this key and&#xD;
	 * the adaptee has not already been informed.</body>
          </ownedComment>
          <ownedAttribute xmi:id="_xz6A8cR4EeW_3q3XSh-SYw" name="event" visibility="private" isLeaf="true" type="_xyg50MR4EeW_3q3XSh-SYw" isReadOnly="true" association="_x0UQocR4EeW_3q3XSh-SYw"/>
          <interfaceRealization xmi:id="_xzo7MMR4EeW_3q3XSh-SYw" client="_xw9aoMR4EeW_3q3XSh-SYw" supplier="_xznGAcR4EeW_3q3XSh-SYw" contract="_xznGAcR4EeW_3q3XSh-SYw"/>
          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0KfoMR4EeW_3q3XSh-SYw" name="KeyPressedLater" specification="_xzo7McR4EeW_3q3XSh-SYw">
            <ownedParameter xmi:id="_x0KfocR4EeW_3q3XSh-SYw" name="event" type="_xyg50MR4EeW_3q3XSh-SYw"/>
            <ownedParameter xmi:id="_x0KfosR4EeW_3q3XSh-SYw" type="_xw9aoMR4EeW_3q3XSh-SYw" direction="return">
              <name xsi:nil="true"/>
            </ownedParameter>
            <language>java</language>
            <body>this.event = event;&#xD;
		</body>
          </ownedBehavior>
          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0Kfo8R4EeW_3q3XSh-SYw" name="run" specification="_xw-owMR4EeW_3q3XSh-SYw">
            <language>java</language>
            <body>Integer key = marker(event);&#xD;
			if (real.contains(key) &amp;&amp; !announced.contains(key)) {&#xD;
				announced.add(key);&#xD;
				adaptee.keyPressed(event);&#xD;
			}&#xD;
		</body>
          </ownedBehavior>
          <ownedOperation xmi:id="_xw-owMR4EeW_3q3XSh-SYw" name="run" method="_x0Kfo8R4EeW_3q3XSh-SYw"/>
          <ownedOperation xmi:id="_xzo7McR4EeW_3q3XSh-SYw" name="KeyPressedLater" visibility="private" method="_x0KfoMR4EeW_3q3XSh-SYw">
            <eAnnotations xmi:id="_xzpiQcR4EeW_3q3XSh-SYw" source="http://www.eclipse.org/uml2/2.0.0/UML">
              <details xmi:id="_xzpiQsR4EeW_3q3XSh-SYw" key="create"/>
            </eAnnotations>
            <ownedParameter xmi:id="_xzpiQMR4EeW_3q3XSh-SYw" name="event" type="_xyg50MR4EeW_3q3XSh-SYw"/>
            <ownedParameter xmi:id="_xzpiQ8R4EeW_3q3XSh-SYw" type="_xw9aoMR4EeW_3q3XSh-SYw" direction="return"/>
          </ownedOperation>
        </nestedClassifier>
        <nestedClassifier xmi:type="uml:Class" xmi:id="_xxAd8MR4EeW_3q3XSh-SYw" name="KeyReleasedLater" visibility="private">
          <ownedComment xmi:id="_rT9B2c93EeWej54JrL5caA">
            <body>A simple class which forms a closure around an key released&#xD;
	 * event.  When run, it fires the event to the keyReleased method of&#xD;
	 * the adaptee only if the pressed keyset does not contains this key&#xD;
	 * and the adaptee has not already been informed of the release.</body>
          </ownedComment>
          <ownedAttribute xmi:id="_xz6oAcR4EeW_3q3XSh-SYw" name="event" visibility="private" isLeaf="true" type="_xyg50MR4EeW_3q3XSh-SYw" isReadOnly="true" association="_x0VewMR4EeW_3q3XSh-SYw"/>
          <interfaceRealization xmi:id="_xzqJUMR4EeW_3q3XSh-SYw" client="_xxAd8MR4EeW_3q3XSh-SYw" supplier="_xznGAcR4EeW_3q3XSh-SYw" contract="_xznGAcR4EeW_3q3XSh-SYw"/>
          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0KfpMR4EeW_3q3XSh-SYw" name="KeyReleasedLater" specification="_xzqJUcR4EeW_3q3XSh-SYw">
            <ownedParameter xmi:id="_x0KfpcR4EeW_3q3XSh-SYw" name="event" type="_xyg50MR4EeW_3q3XSh-SYw"/>
            <ownedParameter xmi:id="_x0KfpsR4EeW_3q3XSh-SYw" type="_xxAd8MR4EeW_3q3XSh-SYw" direction="return">
              <name xsi:nil="true"/>
            </ownedParameter>
            <language>java</language>
            <body>this.event = event;&#xD;
		</body>
          </ownedBehavior>
          <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_x0Kfp8R4EeW_3q3XSh-SYw" name="run" specification="_xxBsEMR4EeW_3q3XSh-SYw">
            <language>java</language>
            <body>Integer key = marker(event);&#xD;
			if (!real.contains(key) &amp;&amp; announced.contains(key)) {&#xD;
				announced.remove(key);&#xD;
				adaptee.keyReleased(event);&#xD;
			}&#xD;
		</body>
          </ownedBehavior>
          <ownedOperation xmi:id="_xxBsEMR4EeW_3q3XSh-SYw" name="run" method="_x0Kfp8R4EeW_3q3XSh-SYw"/>
          <ownedOperation xmi:id="_xzqJUcR4EeW_3q3XSh-SYw" name="KeyReleasedLater" visibility="private" method="_x0KfpMR4EeW_3q3XSh-SYw">
            <eAnnotations xmi:id="_xzqwYMR4EeW_3q3XSh-SYw" source="http://www.eclipse.org/uml2/2.0.0/UML">
              <details xmi:id="_xzqwYcR4EeW_3q3XSh-SYw" key="create"/>
            </eAnnotations>
            <ownedParameter xmi:id="_xzqJUsR4EeW_3q3XSh-SYw" name="event" type="_xyg50MR4EeW_3q3XSh-SYw"/>
            <ownedParameter xmi:id="_xzqwYsR4EeW_3q3XSh-SYw" type="_xxAd8MR4EeW_3q3XSh-SYw" direction="return"/>
          </ownedOperation>
        </nestedClassifier>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_x0SbcMR4EeW_3q3XSh-SYw" name="" memberEnd="_x0SbccR4EeW_3q3XSh-SYw _xz1vgMR4EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_x0SbccR4EeW_3q3XSh-SYw" name="" type="_xwx0ccR4EeW_3q3XSh-SYw" association="_x0SbcMR4EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_x0TpkMR4EeW_3q3XSh-SYw" name="" memberEnd="_x0TpkcR4EeW_3q3XSh-SYw _xz5Z4cR4EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_x0TpkcR4EeW_3q3XSh-SYw" name="" type="_xw3UAMR4EeW_3q3XSh-SYw" association="_x0TpkMR4EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_x0UQocR4EeW_3q3XSh-SYw" name="" memberEnd="_x0UQosR4EeW_3q3XSh-SYw _xz6A8cR4EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_x0UQosR4EeW_3q3XSh-SYw" name="" type="_xw9aoMR4EeW_3q3XSh-SYw" association="_x0UQocR4EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_x0VewMR4EeW_3q3XSh-SYw" name="" memberEnd="_x0VewcR4EeW_3q3XSh-SYw _xz6oAcR4EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_x0VewcR4EeW_3q3XSh-SYw" name="" type="_xxAd8MR4EeW_3q3XSh-SYw" association="_x0VewMR4EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_E3mSEMoQEeWsA83iBWrPKA" name="AddGizmoListener">
        <eAnnotations xmi:id="_ajoYsM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_ajoYsc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_ajo_wM9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PG-QIMoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHTAQMoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_G5R-gMonEeWI07Wu9tqfCA" client="_E3mSEMoQEeWsA83iBWrPKA" supplier="_IRLbAMomEeWI07Wu9tqfCA" contract="_IRLbAMomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PF88cMoQEeWsA83iBWrPKA" name="mouseDragged">
          <ownedParameter xmi:id="_PF9jgMoQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PF-xoMoQEeWsA83iBWrPKA" name="mouseMoved">
          <ownedParameter xmi:id="_PF-xocoQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PF_YssoQEeWsA83iBWrPKA" name="mouseClicked">
          <ownedParameter xmi:id="_PF_Ys8oQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PF__w8oQEeWsA83iBWrPKA" name="mouseEntered">
          <ownedParameter xmi:id="_PF__xMoQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGAm08oQEeWsA83iBWrPKA" name="mouseExited">
          <ownedParameter xmi:id="_PGAm1MoQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGBN4soQEeWsA83iBWrPKA" name="mousePressed">
          <ownedParameter xmi:id="_PGB08MoQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGCcAsoQEeWsA83iBWrPKA" name="mouseReleased">
          <ownedParameter xmi:id="_PGCcA8oQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_E3m5IMoQEeWsA83iBWrPKA" name="ConnectGizmoListener">
        <eAnnotations xmi:id="_ajrcAM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_ajrcAc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_ajrcAs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHAsYMoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHU1ccoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_Fwtz8MonEeWI07Wu9tqfCA" client="_E3m5IMoQEeWsA83iBWrPKA" supplier="_IRLbAMomEeWI07Wu9tqfCA" contract="_IRLbAMomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGH7kcoQEeWsA83iBWrPKA" name="mouseClicked">
          <ownedParameter xmi:id="_PGIioMoQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGJJssoQEeWsA83iBWrPKA" name="mouseEntered">
          <ownedParameter xmi:id="_PGJJs8oQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGKX0MoQEeWsA83iBWrPKA" name="mouseExited">
          <ownedParameter xmi:id="_PGKX0coQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGK-4soQEeWsA83iBWrPKA" name="mousePressed">
          <ownedParameter xmi:id="_PGK-48oQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGLl88oQEeWsA83iBWrPKA" name="mouseReleased">
          <ownedParameter xmi:id="_PGMNAMoQEeWsA83iBWrPKA" name="arg0" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGM0EsoQEeWsA83iBWrPKA" name="mouseDragged">
          <ownedParameter xmi:id="_PGM0E8oQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGNbIsoQEeWsA83iBWrPKA" name="mouseMoved">
          <ownedParameter xmi:id="_PGOCMMoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_E3ngMcoQEeWsA83iBWrPKA" name="WindowListener">
        <eAnnotations xmi:id="_aj--AM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj--Ac9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj--As9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHHaEMoQEeWsA83iBWrPKA" name="model" visibility="private" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_PHZt8coQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_sF0jEMomEeWI07Wu9tqfCA" client="_E3ngMcoQEeWsA83iBWrPKA" supplier="_IRJl0MomEeWI07Wu9tqfCA" contract="_IRJl0MomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGz4EMoQEeWsA83iBWrPKA" name="actionPerformed">
          <ownedParameter xmi:id="_PGz4EcoQEeWsA83iBWrPKA" name="e" type="_xyazMMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PE9d8MoQEeWsA83iBWrPKA" name="BuildModeMainListener">
        <eAnnotations xmi:id="_ajq08M9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_ajq08c9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_ajq08s9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <generalization xmi:id="_IQrrwMomEeWI07Wu9tqfCA" general="_IQgFkMomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGFfUMoQEeWsA83iBWrPKA" name="actionPerformed">
          <ownedParameter xmi:id="_PGFfUcoQEeWsA83iBWrPKA" name="arg0" type="_xyazMMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFELoMoQEeWsA83iBWrPKA" name="ConnectKeyListener">
        <eAnnotations xmi:id="_ajt4QM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_ajt4Qc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_ajt4Qs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHBTcMoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHU1dMoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_E9sbkMonEeWI07Wu9tqfCA" client="_PFELoMoQEeWsA83iBWrPKA" supplier="_IRKz8MomEeWI07Wu9tqfCA" contract="_IRKz8MomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGP3YMoQEeWsA83iBWrPKA" name="keyPressed">
          <ownedParameter xmi:id="_PGP3YcoQEeWsA83iBWrPKA" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGRFgcoQEeWsA83iBWrPKA" name="keyReleased">
          <ownedParameter xmi:id="_PGRFgsoQEeWsA83iBWrPKA" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGRsk8oQEeWsA83iBWrPKA" name="keyTyped">
          <ownedParameter xmi:id="_PGRslMoQEeWsA83iBWrPKA" name="e" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFGA0MoQEeWsA83iBWrPKA" name="DeleteGizmoListener">
        <eAnnotations xmi:id="_ajvGYM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_ajvGYc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_ajvGYs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHB6gMoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHVcgcoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_ERgrAMonEeWI07Wu9tqfCA" client="_PFGA0MoQEeWsA83iBWrPKA" supplier="_IRLbAMomEeWI07Wu9tqfCA" contract="_IRLbAMomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGUI0coQEeWsA83iBWrPKA" name="mouseDragged">
          <ownedParameter xmi:id="_PGUI0soQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGVW8MoQEeWsA83iBWrPKA" name="mouseMoved">
          <ownedParameter xmi:id="_PGVW8coQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGV-AsoQEeWsA83iBWrPKA" name="mouseClicked">
          <ownedParameter xmi:id="_PGWlEMoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGXMIsoQEeWsA83iBWrPKA" name="mouseEntered">
          <ownedParameter xmi:id="_PGXMI8oQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGXzMsoQEeWsA83iBWrPKA" name="mouseExited">
          <ownedParameter xmi:id="_PGXzM8oQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGYaQsoQEeWsA83iBWrPKA" name="mousePressed">
          <ownedParameter xmi:id="_PGYaQ8oQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGZBU8oQEeWsA83iBWrPKA" name="mouseReleased">
          <ownedParameter xmi:id="_PGZBVMoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFJrMMoQEeWsA83iBWrPKA" name="LoadFileListener">
        <eAnnotations xmi:id="_ajwUgM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_ajw7kM9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_ajw7kc9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_QCjx0MoUEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_QCkY4MoUEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_7VqKUMomEeWI07Wu9tqfCA" client="_PFJrMMoQEeWsA83iBWrPKA" supplier="_IRJl0MomEeWI07Wu9tqfCA" contract="_IRJl0MomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGa2gsoQEeWsA83iBWrPKA" name="actionPerformed">
          <ownedParameter xmi:id="_PGa2g8oQEeWsA83iBWrPKA" name="arg0" type="_xyazMMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFKSQMoQEeWsA83iBWrPKA" name="MoveGizmoListener">
        <eAnnotations xmi:id="_aj10EM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj10Ec9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj2bIM9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHChkMoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHWDkMoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_zS500MomEeWI07Wu9tqfCA" client="_PFKSQMoQEeWsA83iBWrPKA" supplier="_IRLbAMomEeWI07Wu9tqfCA" contract="_IRLbAMomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGcEocoQEeWsA83iBWrPKA" name="mouseDragged">
          <ownedParameter xmi:id="_PGcEosoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGdSwcoQEeWsA83iBWrPKA" name="mouseMoved">
          <ownedParameter xmi:id="_PGdSwsoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGeg4soQEeWsA83iBWrPKA" name="mouseClicked">
          <ownedParameter xmi:id="_PGeg48oQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGfH88oQEeWsA83iBWrPKA" name="mouseEntered">
          <ownedParameter xmi:id="_PGfH9MoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGfvA8oQEeWsA83iBWrPKA" name="mouseExited">
          <ownedParameter xmi:id="_PGgWEMoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGg9IcoQEeWsA83iBWrPKA" name="mousePressed">
          <ownedParameter xmi:id="_PGg9IsoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGhkMsoQEeWsA83iBWrPKA" name="mouseReleased">
          <ownedParameter xmi:id="_PGhkM8oQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFNVkMoQEeWsA83iBWrPKA" name="PlayGameListener">
        <eAnnotations xmi:id="_aj4QUM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj4QUc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj4QUs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHDIoMoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHWDk8oQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_yngHYMomEeWI07Wu9tqfCA" client="_PFNVkMoQEeWsA83iBWrPKA" supplier="_IRKz8MomEeWI07Wu9tqfCA" contract="_IRKz8MomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGiyUcoQEeWsA83iBWrPKA" name="keyPressed">
          <ownedParameter xmi:id="_PGiyUsoQEeWsA83iBWrPKA" name="arg0" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGjZY8oQEeWsA83iBWrPKA" name="keyReleased">
          <ownedParameter xmi:id="_PGjZZMoQEeWsA83iBWrPKA" name="arg0" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGkAc8oQEeWsA83iBWrPKA" name="keyTyped">
          <ownedParameter xmi:id="_PGkAdMoQEeWsA83iBWrPKA" name="arg0" type="_xyg50MR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFPKwMoQEeWsA83iBWrPKA" name="PlayModeMainListener">
        <eAnnotations xmi:id="_aj5ecM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj5ecc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj5ecs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <generalization xmi:id="_IQ2D0MomEeWI07Wu9tqfCA" general="_IQgFkMomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGl1oMoQEeWsA83iBWrPKA" name="actionPerformed">
          <ownedParameter xmi:id="_PGl1ocoQEeWsA83iBWrPKA" name="e" type="_xyazMMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFQ_8MoQEeWsA83iBWrPKA" name="RotateGizmoListener">
        <eAnnotations xmi:id="_aj6FgM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj6Fgc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj6Fgs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHE90MoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHX4xMoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_vzQeIMomEeWI07Wu9tqfCA" client="_PFQ_8MoQEeWsA83iBWrPKA" supplier="_IRLbAMomEeWI07Wu9tqfCA" contract="_IRLbAMomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGoR4MoQEeWsA83iBWrPKA" name="mouseDragged">
          <ownedParameter xmi:id="_PGoR4coQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGo48soQEeWsA83iBWrPKA" name="mouseMoved">
          <ownedParameter xmi:id="_PGo488oQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGpgAsoQEeWsA83iBWrPKA" name="mouseClicked">
          <ownedParameter xmi:id="_PGpgA8oQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGqHE8oQEeWsA83iBWrPKA" name="mouseEntered">
          <ownedParameter xmi:id="_PGqHFMoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGquI8oQEeWsA83iBWrPKA" name="mouseExited">
          <ownedParameter xmi:id="_PGquJMoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGrVM8oQEeWsA83iBWrPKA" name="mousePressed">
          <ownedParameter xmi:id="_PGrVNMoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_PGsjUMoQEeWsA83iBWrPKA" name="mouseReleased">
          <ownedParameter xmi:id="_PGsjUcoQEeWsA83iBWrPKA" name="e" type="_xylLQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFUDQMoQEeWsA83iBWrPKA" name="SaveFileListener">
        <eAnnotations xmi:id="_aj8hwM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj8hwc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj8hws9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHFk4MoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHYf0coQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_wVS0MMomEeWI07Wu9tqfCA" client="_PFUDQMoQEeWsA83iBWrPKA" supplier="_IRJl0MomEeWI07Wu9tqfCA" contract="_IRJl0MomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGtxccoQEeWsA83iBWrPKA" name="actionPerformed">
          <ownedParameter xmi:id="_PGtxcsoQEeWsA83iBWrPKA" name="e" type="_xyazMMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFVRYMoQEeWsA83iBWrPKA" name="StartGameListener">
        <eAnnotations xmi:id="_aj9I0M9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj9I0c9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj9I0s9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHGL8MoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHYf1MoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_w-KyEMomEeWI07Wu9tqfCA" client="_PFVRYMoQEeWsA83iBWrPKA" supplier="_IRJl0MomEeWI07Wu9tqfCA" contract="_IRJl0MomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGu_kcoQEeWsA83iBWrPKA" name="actionPerformed">
          <ownedParameter xmi:id="_PGvmoMoQEeWsA83iBWrPKA" name="arg0" type="_xyazMMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFXGkMoQEeWsA83iBWrPKA" name="StopGameListener">
        <eAnnotations xmi:id="_aj9v4M9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj9v4c9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj9v4s9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHGL8soQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHZG4coQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_xl3EMMomEeWI07Wu9tqfCA" client="_PFXGkMoQEeWsA83iBWrPKA" supplier="_IRJl0MomEeWI07Wu9tqfCA" contract="_IRJl0MomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGw0wMoQEeWsA83iBWrPKA" name="actionPerformed">
          <ownedParameter xmi:id="_PGw0wcoQEeWsA83iBWrPKA" name="e" type="_xyazMMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_PFY7wMoQEeWsA83iBWrPKA" name="UndoRedoListener">
        <eAnnotations xmi:id="_aj-W8M9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj-W8c9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj-W8s9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_PHGzAcoQEeWsA83iBWrPKA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_PHZG5MoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_s3i68MomEeWI07Wu9tqfCA" client="_PFY7wMoQEeWsA83iBWrPKA" supplier="_IRJl0MomEeWI07Wu9tqfCA" contract="_IRJl0MomEeWI07Wu9tqfCA"/>
        <ownedOperation xmi:id="_PGyC4coQEeWsA83iBWrPKA" name="actionPerformed">
          <ownedParameter xmi:id="_PGyC4soQEeWsA83iBWrPKA" name="e" type="_xyazMMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHTAQMoQEeWsA83iBWrPKA" name="" memberEnd="_PHTAQcoQEeWsA83iBWrPKA _PG-QIMoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHTAQcoQEeWsA83iBWrPKA" name="" type="_E3mSEMoQEeWsA83iBWrPKA" association="_PHTAQMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHU1ccoQEeWsA83iBWrPKA" name="" memberEnd="_PHU1csoQEeWsA83iBWrPKA _PHAsYMoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHU1csoQEeWsA83iBWrPKA" name="" type="_E3m5IMoQEeWsA83iBWrPKA" association="_PHU1ccoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHU1dMoQEeWsA83iBWrPKA" name="" memberEnd="_PHU1dcoQEeWsA83iBWrPKA _PHBTcMoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHU1dcoQEeWsA83iBWrPKA" name="" type="_PFELoMoQEeWsA83iBWrPKA" association="_PHU1dMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHVcgcoQEeWsA83iBWrPKA" name="" memberEnd="_PHVcgsoQEeWsA83iBWrPKA _PHB6gMoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHVcgsoQEeWsA83iBWrPKA" name="" type="_PFGA0MoQEeWsA83iBWrPKA" association="_PHVcgcoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHWDkMoQEeWsA83iBWrPKA" name="" memberEnd="_PHWDkcoQEeWsA83iBWrPKA _PHChkMoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHWDkcoQEeWsA83iBWrPKA" name="" type="_PFKSQMoQEeWsA83iBWrPKA" association="_PHWDkMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHWDk8oQEeWsA83iBWrPKA" name="" memberEnd="_PHWDlMoQEeWsA83iBWrPKA _PHDIoMoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHWDlMoQEeWsA83iBWrPKA" name="" type="_PFNVkMoQEeWsA83iBWrPKA" association="_PHWDk8oQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHX4xMoQEeWsA83iBWrPKA" name="" memberEnd="_PHX4xcoQEeWsA83iBWrPKA _PHE90MoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHX4xcoQEeWsA83iBWrPKA" name="" type="_PFQ_8MoQEeWsA83iBWrPKA" association="_PHX4xMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHYf0coQEeWsA83iBWrPKA" name="" memberEnd="_PHYf0soQEeWsA83iBWrPKA _PHFk4MoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHYf0soQEeWsA83iBWrPKA" name="" type="_PFUDQMoQEeWsA83iBWrPKA" association="_PHYf0coQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHYf1MoQEeWsA83iBWrPKA" name="" memberEnd="_PHYf1coQEeWsA83iBWrPKA _PHGL8MoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHYf1coQEeWsA83iBWrPKA" name="" type="_PFVRYMoQEeWsA83iBWrPKA" association="_PHYf1MoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHZG4coQEeWsA83iBWrPKA" name="" memberEnd="_PHZG4soQEeWsA83iBWrPKA _PHGL8soQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHZG4soQEeWsA83iBWrPKA" name="" type="_PFXGkMoQEeWsA83iBWrPKA" association="_PHZG4coQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHZG5MoQEeWsA83iBWrPKA" name="" memberEnd="_PHZG5coQEeWsA83iBWrPKA _PHGzAcoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHZG5coQEeWsA83iBWrPKA" name="" type="_PFY7wMoQEeWsA83iBWrPKA" association="_PHZG5MoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_PHZt8coQEeWsA83iBWrPKA" name="" memberEnd="_PHZt8soQEeWsA83iBWrPKA _PHHaEMoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_PHZt8soQEeWsA83iBWrPKA" name="" type="_E3ngMcoQEeWsA83iBWrPKA" association="_PHZt8coQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_QCkY4MoUEeWsA83iBWrPKA" name="" memberEnd="_QCkY4coUEeWsA83iBWrPKA _QCjx0MoUEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_QCkY4coUEeWsA83iBWrPKA" name="" type="_PFJrMMoQEeWsA83iBWrPKA" association="_QCkY4MoUEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_IQgFkMomEeWI07Wu9tqfCA" name="AMainListener" isAbstract="true">
        <eAnnotations xmi:id="_ajnKkM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_ajnKkc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_ajnKks9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_8SdUUMonEeWI07Wu9tqfCA" name="model" visibility="private" type="_PF7uUMoQEeWsA83iBWrPKA" association="_8SeicMonEeWI07Wu9tqfCA"/>
        <ownedAttribute xmi:id="_8Sd7YMonEeWI07Wu9tqfCA" name="mouseHandler" visibility="private" type="_IRLbAMomEeWI07Wu9tqfCA" association="_8SfJgconEeWI07Wu9tqfCA"/>
        <ownedAttribute xmi:id="_8Sd7YconEeWI07Wu9tqfCA" name="keyHandler" visibility="private" type="_IRKz8MomEeWI07Wu9tqfCA" association="_8SfJhMonEeWI07Wu9tqfCA"/>
        <interfaceRealization xmi:id="_IROeUMomEeWI07Wu9tqfCA" client="_IQgFkMomEeWI07Wu9tqfCA" supplier="_IRJl0MomEeWI07Wu9tqfCA" contract="_IRJl0MomEeWI07Wu9tqfCA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_8Sd7YsonEeWI07Wu9tqfCA" name="setKeyBoardListener" specification="_IRPFYMomEeWI07Wu9tqfCA">
          <ownedParameter xmi:id="_8Sd7Y8onEeWI07Wu9tqfCA" name="kl" type="_IRKz8MomEeWI07Wu9tqfCA"/>
          <language>java</language>
          <body>keyHandler = kl;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_8Sd7ZMonEeWI07Wu9tqfCA" name="setMouseListener" specification="_IRQTgMomEeWI07Wu9tqfCA">
          <ownedParameter xmi:id="_8Sd7ZconEeWI07Wu9tqfCA" name="ml" type="_IRLbAMomEeWI07Wu9tqfCA"/>
          <language>java</language>
          <body>mouseHandler = ml;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_IRPFYMomEeWI07Wu9tqfCA" name="setKeyBoardListener" visibility="public" method="_8Sd7YsonEeWI07Wu9tqfCA">
          <ownedParameter xmi:id="_IRPFYcomEeWI07Wu9tqfCA" name="kl" type="_IRKz8MomEeWI07Wu9tqfCA"/>
        </ownedOperation>
        <ownedOperation xmi:id="_IRQTgMomEeWI07Wu9tqfCA" name="setMouseListener" visibility="public" method="_8Sd7ZMonEeWI07Wu9tqfCA">
          <ownedParameter xmi:id="_IRQTgcomEeWI07Wu9tqfCA" name="ml" type="_IRLbAMomEeWI07Wu9tqfCA"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_8SeicMonEeWI07Wu9tqfCA" name="" memberEnd="_8SeicconEeWI07Wu9tqfCA _8SdUUMonEeWI07Wu9tqfCA">
        <ownedEnd xmi:id="_8SeicconEeWI07Wu9tqfCA" name="" type="_IQgFkMomEeWI07Wu9tqfCA" association="_8SeicMonEeWI07Wu9tqfCA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_8SfJgconEeWI07Wu9tqfCA" name="" memberEnd="_8SfJgsonEeWI07Wu9tqfCA _8Sd7YMonEeWI07Wu9tqfCA">
        <ownedEnd xmi:id="_8SfJgsonEeWI07Wu9tqfCA" name="" type="_IQgFkMomEeWI07Wu9tqfCA" association="_8SfJgconEeWI07Wu9tqfCA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_8SfJhMonEeWI07Wu9tqfCA" name="" memberEnd="_8SfJhconEeWI07Wu9tqfCA _8Sd7YconEeWI07Wu9tqfCA">
        <ownedEnd xmi:id="_8SfJhconEeWI07Wu9tqfCA" name="" type="_IQgFkMomEeWI07Wu9tqfCA" association="_8SfJhMonEeWI07Wu9tqfCA"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_xvcXsMR4EeW_3q3XSh-SYw" name="model">
      <packagedElement xmi:type="uml:Class" xmi:id="_xwhVwMR4EeW_3q3XSh-SYw" name="Walls">
        <eAnnotations xmi:id="_akMZYM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akMZYc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akMZYs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedOperation xmi:id="_akqTd89KEeWD9JA5XZkC8g" name="Walls">
          <eAnnotations xmi:id="_akq6gs9KEeWD9JA5XZkC8g" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_akq6g89KEeWD9JA5XZkC8g" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_hAI-8M-TEeWOGvD12nE26A" type="_xwhVwMR4EeW_3q3XSh-SYw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwp4oMR4EeW_3q3XSh-SYw" name="Absorber">
        <eAnnotations xmi:id="_akBaQM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akBaQc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akBaQs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <generalization xmi:id="_E3zGYMoQEeWsA83iBWrPKA" general="_E3x4QMoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak6LFM9KEeWD9JA5XZkC8g" name="Absorber" specification="_akmpEs9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_GrH2Mc-XEeWOGvD12nE26A" type="_xwp4oMR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <ownedParameter xmi:id="_GrH2Ms-XEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_GrH2M8-XEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_GrH2NM-XEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_GrH2Nc-XEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <language>java</language>
          <body>super(name, x, y, color);&#xD;
		this.triggeredColour = color;&#xD;
		this.rotationAngle = new Angle(0);&#xD;
		// TODO Auto-generated constructor stub&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_hBfp1c-TEeWOGvD12nE26A" name="getShape" specification="_g_68gM-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBfp1s-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return null;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_akCBUM9KEeWD9JA5XZkC8g" name="triggerAction"/>
        <ownedOperation xmi:id="_akmpEs9KEeWD9JA5XZkC8g" name="Absorber" method="_ak6LFM9KEeWD9JA5XZkC8g">
          <eAnnotations xmi:id="_aknQJc9KEeWD9JA5XZkC8g" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_aknQJs9KEeWD9JA5XZkC8g" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_aknQJM9KEeWD9JA5XZkC8g" type="_xwp4oMR4EeW_3q3XSh-SYw" direction="return"/>
          <ownedParameter xmi:id="_hArxgM-TEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_aknQIM9KEeWD9JA5XZkC8g" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_aknQIc9KEeWD9JA5XZkC8g" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_aknQIs9KEeWD9JA5XZkC8g" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
        </ownedOperation>
        <ownedOperation xmi:id="_g_68gM-TEeWOGvD12nE26A" name="getShape" method="_hBfp1c-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBPLIM-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_g_68gc-TEeWOGvD12nE26A" name="rotate">
          <ownedParameter xmi:id="_GrH2MM-XEeWOGvD12nE26A" name="radians">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwrGwMR4EeW_3q3XSh-SYw" name="Ball">
        <eAnnotations xmi:id="_akCoYs9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akDPcM9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akDPcc9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwrt0MR4EeW_3q3XSh-SYw" name="CircularBumper">
        <eAnnotations xmi:id="_akDPcs9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akDPc89KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akDPdM9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <generalization xmi:id="_E3ztcMoQEeWsA83iBWrPKA" general="_E3x4QMoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak6yIM9KEeWD9JA5XZkC8g" name="CircularBumper" specification="_aknQJ89KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_kETeEM-UEeWOGvD12nE26A" type="_xwrt0MR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <ownedParameter xmi:id="_kEUFIM-UEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_kEUFIc-UEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_kEUFIs-UEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_kEUFI8-UEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_kEUFJM-UEeWOGvD12nE26A" name="triggeredColor" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <language>java</language>
          <body>super(name, x, y, color);&#xD;
		this.triggeredColour = triggeredColor;&#xD;
		this.rotationAngle = new Angle(0);&#xD;
		// TODO Auto-generated constructor stub&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_hBgQ5s-TEeWOGvD12nE26A" name="getShape" specification="_g_9YwM-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBgQ58-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return null;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_akD2gM9KEeWD9JA5XZkC8g" name="triggerAction"/>
        <ownedOperation xmi:id="_aknQJ89KEeWD9JA5XZkC8g" name="CircularBumper" method="_ak6yIM9KEeWD9JA5XZkC8g">
          <eAnnotations xmi:id="_akn3Nc9KEeWD9JA5XZkC8g" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_akn3Ns9KEeWD9JA5XZkC8g" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_akn3NM9KEeWD9JA5XZkC8g" type="_xwrt0MR4EeW_3q3XSh-SYw" direction="return"/>
          <ownedParameter xmi:id="_hAsYkM-TEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akn3MM9KEeWD9JA5XZkC8g" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akn3Mc9KEeWD9JA5XZkC8g" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akn3Ms9KEeWD9JA5XZkC8g" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_akn3M89KEeWD9JA5XZkC8g" name="triggeredColor" type="_E3j10MoQEeWsA83iBWrPKA"/>
        </ownedOperation>
        <ownedOperation xmi:id="_g_9YwM-TEeWOGvD12nE26A" name="getShape" method="_hBgQ5s-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBPyMM-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_g_9_0s-TEeWOGvD12nE26A" name="rotate">
          <ownedParameter xmi:id="_1zbq4M-XEeWOGvD12nE26A" name="radians">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xws78MR4EeW_3q3XSh-SYw" name="CollisionDetails">
        <eAnnotations xmi:id="_akD2g89KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akEdkM9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akEdkc9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwtjAMR4EeW_3q3XSh-SYw" name="Connections">
        <eAnnotations xmi:id="_akEdks9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akEdk89KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akEdlM9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwuxIMR4EeW_3q3XSh-SYw" name="Line">
        <eAnnotations xmi:id="_akFrts9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akGSwM9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akGSwc9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <generalization xmi:id="_E3ztcsoQEeWsA83iBWrPKA" general="_E3x4QMoQEeWsA83iBWrPKA"/>
        <ownedAttribute xmi:id="_ak0rgM9KEeWD9JA5XZkC8g" name="xpos2" visibility="private">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_ak0rgs9KEeWD9JA5XZkC8g" name="ypos2" visibility="private">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak6yLM9KEeWD9JA5XZkC8g" name="Line" specification="_akpFUM9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_C62UcM-VEeWOGvD12nE26A" type="_xwuxIMR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62Ucc-VEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62Ucs-VEeWOGvD12nE26A" name="x1">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62Uc8-VEeWOGvD12nE26A" name="y1">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62UdM-VEeWOGvD12nE26A" name="x2">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62Udc-VEeWOGvD12nE26A" name="y2">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>super(name, x1, y2, new Color(0, 0, 0, 0)); // &quot; new Color(0, 0, 0, 0) &quot; is transparent&#xD;
		this.triggeredColour = new Color(0, 0, 0, 0);&#xD;
		// TODO need to make LineSegments first		this.rotationAngle = ;&#xD;
&#xD;
		xpos2 = x2;&#xD;
		ypos2 = y2;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak7ZMM9KEeWD9JA5XZkC8g" name="getX2" specification="_akHg4M9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_ak7ZMc9KEeWD9JA5XZkC8g" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>return xpos2;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak7ZMs9KEeWD9JA5XZkC8g" name="getY2" specification="_akHg4c9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_ak7ZM89KEeWD9JA5XZkC8g" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>return ypos2;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_hBg39M-TEeWOGvD12nE26A" name="getShape" specification="_hAAcEM-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBg39c-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return null;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_akG50M9KEeWD9JA5XZkC8g" name="triggerAction"/>
        <ownedOperation xmi:id="_akHg4M9KEeWD9JA5XZkC8g" name="getX2" method="_ak7ZMM9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_akpFWs9KEeWD9JA5XZkC8g" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_akHg4c9KEeWD9JA5XZkC8g" name="getY2" method="_ak7ZMs9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_akpsYM9KEeWD9JA5XZkC8g" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_akpFUM9KEeWD9JA5XZkC8g" name="Line" method="_ak6yLM9KEeWD9JA5XZkC8g">
          <eAnnotations xmi:id="_akpFWM9KEeWD9JA5XZkC8g" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_akpFWc9KEeWD9JA5XZkC8g" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_akpFV89KEeWD9JA5XZkC8g" type="_xwuxIMR4EeW_3q3XSh-SYw" direction="return"/>
          <ownedParameter xmi:id="_hAs_oM-TEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akpFUc9KEeWD9JA5XZkC8g" name="x1">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akpFUs9KEeWD9JA5XZkC8g" name="y1">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akpFU89KEeWD9JA5XZkC8g" name="x2">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akpFVM9KEeWD9JA5XZkC8g" name="y2">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_hAAcEM-TEeWOGvD12nE26A" name="getShape" method="_hBg39M-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBQZQM-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_hABDIs-TEeWOGvD12nE26A" name="rotate">
          <ownedParameter xmi:id="_PqS7MM-YEeWOGvD12nE26A" name="radians">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwvYMMR4EeW_3q3XSh-SYw" name="MainEngine">
        <eAnnotations xmi:id="_akHg4s9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akHg489KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akIH8M9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <generalization xmi:id="_pvgv0MoiEeWI07Wu9tqfCA" general="_xy57YcR4EeW_3q3XSh-SYw"/>
        <ownedAttribute xmi:id="_QlgF4MR5EeW_3q3XSh-SYw" name="linesSet" visibility="private" type="_xwuxIMR4EeW_3q3XSh-SYw" association="_n03IccR5EeW_3q3XSh-SYw">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Qlgs8MR5EeW_3q3XSh-SYw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_QljJMMR5EeW_3q3XSh-SYw" name="ballSet" visibility="private" type="_xwrGwMR4EeW_3q3XSh-SYw" association="_n02hYcR5EeW_3q3XSh-SYw">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QljJMcR5EeW_3q3XSh-SYw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_QljwQcR5EeW_3q3XSh-SYw" name="gws" visibility="private" type="_xwhVwMR4EeW_3q3XSh-SYw" association="_QloBsMR5EeW_3q3XSh-SYw"/>
        <ownedAttribute xmi:id="_n00sMMR5EeW_3q3XSh-SYw" name="circleSet" visibility="private" type="_xwrt0MR4EeW_3q3XSh-SYw" association="_n016UMR5EeW_3q3XSh-SYw">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n00sMcR5EeW_3q3XSh-SYw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_4lXRMMR5EeW_3q3XSh-SYw" name="squareSet" visibility="private" type="_xwxNYMR4EeW_3q3XSh-SYw" association="_4lYfUMR5EeW_3q3XSh-SYw">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4lXRMcR5EeW_3q3XSh-SYw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_4lXRM8R5EeW_3q3XSh-SYw" name="triangleSet" visibility="private" type="_xwx0cMR4EeW_3q3XSh-SYw" association="_4lZGYcR5EeW_3q3XSh-SYw">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4lXRNMR5EeW_3q3XSh-SYw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_-Du-YMR5EeW_3q3XSh-SYw" name="leftFlipperSet" visibility="private" type="_hBRAUM-TEeWOGvD12nE26A" association="_fKigg8-ZEeWOGvD12nE26A">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-Du-YcR5EeW_3q3XSh-SYw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_YCXYsMR8EeW_3q3XSh-SYw" name="absorberSet" visibility="private" type="_xwp4oMR4EeW_3q3XSh-SYw" association="_YCZN4MR8EeW_3q3XSh-SYw">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YCX_wMR8EeW_3q3XSh-SYw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_64WgIMR8EeW_3q3XSh-SYw" name="physicsSettings" visibility="private" type="_xwv_QMR4EeW_3q3XSh-SYw" association="_64YVUMR8EeW_3q3XSh-SYw"/>
        <ownedAttribute xmi:id="_VC_oEMR9EeW_3q3XSh-SYw" name="customConnections" visibility="private" type="_xwtjAMR4EeW_3q3XSh-SYw" association="_VDAPIMR9EeW_3q3XSh-SYw"/>
        <ownedAttribute xmi:id="_fKhSYM-ZEeWOGvD12nE26A" name="rightFlipperSet" visibility="private" type="_841usM-UEeWOGvD12nE26A" association="_fKiggM-ZEeWOGvD12nE26A">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fKhSYc-ZEeWOGvD12nE26A" value="*"/>
        </ownedAttribute>
        <interfaceRealization xmi:id="_q9N-QMoQEeWsA83iBWrPKA" client="_xwvYMMR4EeW_3q3XSh-SYw" supplier="_PF7uUMoQEeWsA83iBWrPKA" contract="_PF7uUMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwv_QMR4EeW_3q3XSh-SYw" name="PhysicsConfig">
        <eAnnotations xmi:id="_akJ9IM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akJ9Ic9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akJ9Is9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwwmUMR4EeW_3q3XSh-SYw" name="SaveDataEngine">
        <eAnnotations xmi:id="_akJ9I89KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akJ9JM9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akJ9Jc9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <interfaceRealization xmi:id="_t06kIMoQEeWsA83iBWrPKA" client="_xwwmUMR4EeW_3q3XSh-SYw" supplier="_is7jEMoQEeWsA83iBWrPKA" contract="_is7jEMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwxNYMR4EeW_3q3XSh-SYw" name="SquareBumper">
        <eAnnotations xmi:id="_p1EfQM9GEeWcl7az0iEBww" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_p1EfQc9GEeWcl7az0iEBww" source="codegen">
            <details xmi:id="_p1EfQs9GEeWcl7az0iEBww" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <generalization xmi:id="_E30UgMoQEeWsA83iBWrPKA" general="_E3x4QMoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_p1XaOM9GEeWcl7az0iEBww" name="SquareBumper" specification="_p1XaMM9GEeWcl7az0iEBww">
          <ownedParameter xmi:id="_C62Uds-VEeWOGvD12nE26A" type="_xwxNYMR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62Ud8-VEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62UeM-VEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62Uec-VEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_C62Ues-VEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_C627gM-VEeWOGvD12nE26A" name="triggeredColor" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <language>java</language>
          <body>super(name, x, y, color);&#xD;
		this.triggeredColour = triggeredColor;&#xD;
		this.rotationAngle = new Angle(0);&#xD;
		// TODO Auto-generated constructor stub&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_hBhfA8-TEeWOGvD12nE26A" name="getShape" specification="_hAF7oM-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBhfBM-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return null;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_p1EfQ89GEeWcl7az0iEBww" name="triggerAction"/>
        <ownedOperation xmi:id="_p1XaMM9GEeWcl7az0iEBww" name="SquareBumper" method="_p1XaOM9GEeWcl7az0iEBww">
          <eAnnotations xmi:id="_p1XaNc9GEeWcl7az0iEBww" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_p1XaNs9GEeWcl7az0iEBww" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_p1XaN89GEeWcl7az0iEBww" type="_xwxNYMR4EeW_3q3XSh-SYw" direction="return"/>
          <ownedParameter xmi:id="_hAtmsM-TEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_p1XaMc9GEeWcl7az0iEBww" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_p1XaMs9GEeWcl7az0iEBww" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_p1XaM89GEeWcl7az0iEBww" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_p1XaNM9GEeWcl7az0iEBww" name="triggeredColor" type="_E3j10MoQEeWsA83iBWrPKA"/>
        </ownedOperation>
        <ownedOperation xmi:id="_hAF7oM-TEeWOGvD12nE26A" name="getShape" method="_hBhfA8-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBRnYM-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_hAF7o8-TEeWOGvD12nE26A" name="rotate">
          <ownedParameter xmi:id="_jEd04M-YEeWOGvD12nE26A" name="radians">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xwx0cMR4EeW_3q3XSh-SYw" name="TriangularBumper">
        <eAnnotations xmi:id="_akLLQM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akLLQc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akLLQs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <generalization xmi:id="_E30UgcoQEeWsA83iBWrPKA" general="_E3x4QMoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak7ZNM9KEeWD9JA5XZkC8g" name="TriangularBumper" specification="_akpsYc9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_kWahwM-UEeWOGvD12nE26A" type="_xwx0cMR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <ownedParameter xmi:id="_kWahwc-UEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_kWahws-UEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_kWahw8-UEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_kWahxM-UEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_kWahxc-UEeWOGvD12nE26A" name="triggeredColor" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <language>java</language>
          <body>super(name, x, y, color);&#xD;
		this.triggeredColour = triggeredColor;&#xD;
		this.rotationAngle = new Angle(0);&#xD;
		// TODO Auto-generated constructor stub&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_hBhfC8-TEeWOGvD12nE26A" name="getShape" specification="_hAHw0M-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBhfDM-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return null;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_akLyUM9KEeWD9JA5XZkC8g" name="triggerAction"/>
        <ownedOperation xmi:id="_akpsYc9KEeWD9JA5XZkC8g" name="TriangularBumper" method="_ak7ZNM9KEeWD9JA5XZkC8g">
          <eAnnotations xmi:id="_akqTdc9KEeWD9JA5XZkC8g" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_akqTds9KEeWD9JA5XZkC8g" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_akqTdM9KEeWD9JA5XZkC8g" type="_xwx0cMR4EeW_3q3XSh-SYw" direction="return"/>
          <ownedParameter xmi:id="_hAuNwM-TEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akqTcM9KEeWD9JA5XZkC8g" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akqTcc9KEeWD9JA5XZkC8g" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akqTcs9KEeWD9JA5XZkC8g" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_akqTc89KEeWD9JA5XZkC8g" name="triggeredColor" type="_E3j10MoQEeWsA83iBWrPKA"/>
        </ownedOperation>
        <ownedOperation xmi:id="_hAHw0M-TEeWOGvD12nE26A" name="getShape" method="_hBhfC8-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBSOcM-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_hAHw08-TEeWOGvD12nE26A" name="rotate">
          <ownedParameter xmi:id="_lO5sIM-YEeWOGvD12nE26A" name="radians">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_QloBsMR5EeW_3q3XSh-SYw" name="" memberEnd="_QloBscR5EeW_3q3XSh-SYw _QljwQcR5EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_QloBscR5EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_QloBsMR5EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_n016UMR5EeW_3q3XSh-SYw" name="" memberEnd="_n016UcR5EeW_3q3XSh-SYw _n00sMMR5EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_n016UcR5EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_n016UMR5EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_n02hYcR5EeW_3q3XSh-SYw" name="" memberEnd="_n02hYsR5EeW_3q3XSh-SYw _QljJMMR5EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_n02hYsR5EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_n02hYcR5EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_n03IccR5EeW_3q3XSh-SYw" name="" memberEnd="_n03IcsR5EeW_3q3XSh-SYw _QlgF4MR5EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_n03IcsR5EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_n03IccR5EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_4lYfUMR5EeW_3q3XSh-SYw" name="" memberEnd="_4lYfUcR5EeW_3q3XSh-SYw _4lXRMMR5EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_4lYfUcR5EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_4lYfUMR5EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_4lZGYcR5EeW_3q3XSh-SYw" name="" memberEnd="_4lZGYsR5EeW_3q3XSh-SYw _4lXRM8R5EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_4lZGYsR5EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_4lZGYcR5EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_YCZN4MR8EeW_3q3XSh-SYw" name="" memberEnd="_YCZN4cR8EeW_3q3XSh-SYw _YCXYsMR8EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_YCZN4cR8EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_YCZN4MR8EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_64YVUMR8EeW_3q3XSh-SYw" name="" memberEnd="_64YVUcR8EeW_3q3XSh-SYw _64WgIMR8EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_64YVUcR8EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_64YVUMR8EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_VDAPIMR9EeW_3q3XSh-SYw" name="" memberEnd="_VDAPIcR9EeW_3q3XSh-SYw _VC_oEMR9EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_VDAPIcR9EeW_3q3XSh-SYw" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_VDAPIMR9EeW_3q3XSh-SYw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_E3x4QMoQEeWsA83iBWrPKA" name="AGizmoComponent" isAbstract="true">
        <eAnnotations xmi:id="_aj_lEM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_aj_lEc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_aj_lEs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_akzdYM9KEeWD9JA5XZkC8g" name="xpos" visibility="private">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_akzdYc9KEeWD9JA5XZkC8g" name="ypos" visibility="private">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_akzdYs9KEeWD9JA5XZkC8g" name="colour" type="_E3j10MoQEeWsA83iBWrPKA" isReadOnly="true" association="_alEjIM9KEeWD9JA5XZkC8g"/>
        <ownedAttribute xmi:id="_ak0Ecc9KEeWD9JA5XZkC8g" name="triggeredColour" visibility="protected" type="_E3j10MoQEeWsA83iBWrPKA" isReadOnly="true" association="_alFKMc9KEeWD9JA5XZkC8g"/>
        <ownedAttribute xmi:id="_hBWf4M-TEeWOGvD12nE26A" name="gizmoID" isReadOnly="true">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_hBXG8c-TEeWOGvD12nE26A" name="rotationAngle" visibility="protected" type="_nOTqAM-WEeWOGvD12nE26A"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak5kAM9KEeWD9JA5XZkC8g" name="AGizmoComponent" specification="_akla8M9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_nOU4Ic-WEeWOGvD12nE26A" type="_E3x4QMoQEeWsA83iBWrPKA" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <ownedParameter xmi:id="_nOVfMM-WEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_nOVfMc-WEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_nOVfMs-WEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_nOVfM8-WEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <language>java</language>
          <body>gizmoID = name;&#xD;
		xpos = x;&#xD;
		ypos = y;&#xD;
		this.colour = color;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak6LEM9KEeWD9JA5XZkC8g" name="getX" specification="_akAzMM9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_ak6LEc9KEeWD9JA5XZkC8g" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>return xpos;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ak6LEs9KEeWD9JA5XZkC8g" name="getY" specification="_akAzMc9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_ak6LE89KEeWD9JA5XZkC8g" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <language>java</language>
          <body>return ypos;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_hBfCwM-TEeWOGvD12nE26A" name="getTriggeredColour" specification="_g_4gQM-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBfCwc-TEeWOGvD12nE26A" type="_E3j10MoQEeWsA83iBWrPKA" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return triggeredColour;&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_hBfCws-TEeWOGvD12nE26A" name="getRotation" specification="_akNAcM9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_cIXa4M-XEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
          <language>java</language>
          <body>return rotationAngle.radians();&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_akAzMM9KEeWD9JA5XZkC8g" name="getX" method="_ak6LEM9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_akmpEM9KEeWD9JA5XZkC8g" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_akAzMc9KEeWD9JA5XZkC8g" name="getY" method="_ak6LEs9KEeWD9JA5XZkC8g">
          <ownedParameter xmi:id="_akmpEc9KEeWD9JA5XZkC8g" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_akAzMs9KEeWD9JA5XZkC8g" name="triggerAction" isAbstract="true">
          <ownedComment xmi:id="_hBmXgc-TEeWOGvD12nE26A">
            <body>Action that is executed when a Ball has a collision with this component, or from a connection of triggers. &#xD;
	 * Keep in mind there are no graphical procedures here.&#xD;
	 * @modify this&#xD;
	 * @effect varies with each Gizmo component; see individual class</body>
          </ownedComment>
        </ownedOperation>
        <ownedOperation xmi:id="_akla8M9KEeWD9JA5XZkC8g" name="AGizmoComponent" method="_ak5kAM9KEeWD9JA5XZkC8g">
          <eAnnotations xmi:id="_akmCBc9KEeWD9JA5XZkC8g" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_akmCBs9KEeWD9JA5XZkC8g" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_akmCBM9KEeWD9JA5XZkC8g" type="_E3x4QMoQEeWsA83iBWrPKA" direction="return"/>
          <ownedParameter xmi:id="_ak5kBM9KEeWD9JA5XZkC8g" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akmCAM9KEeWD9JA5XZkC8g" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akmCAc9KEeWD9JA5XZkC8g" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_akmCAs9KEeWD9JA5XZkC8g" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
        </ownedOperation>
        <ownedOperation xmi:id="_akNAcM9KEeWD9JA5XZkC8g" name="getRotation" method="_hBfCws-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_hBGoQM-TEeWOGvD12nE26A" direction="return">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_g_35MM-TEeWOGvD12nE26A" name="rotate" isAbstract="true">
          <ownedComment xmi:id="_hBmXgM-TEeWOGvD12nE26A">
            <body>Method called when the user decides to rotate a Gizmo component.&#xD;
	 * @param degree - how many degree to rotate by &#xD;
	 * @modify this&#xD;
	 * @effect varies with each Gizmo component; see individual class</body>
          </ownedComment>
          <ownedParameter xmi:id="_8J8WcM-WEeWOGvD12nE26A" name="radians">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_g_35Mc-TEeWOGvD12nE26A" name="getShape" isAbstract="true">
          <ownedComment xmi:id="_hBmXgs-TEeWOGvD12nE26A">
            <body>TODO&#xD;
	 * @return</body>
          </ownedComment>
          <ownedParameter xmi:id="_hBOkEM-TEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_g_4gQM-TEeWOGvD12nE26A" name="getTriggeredColour" method="_hBfCwM-TEeWOGvD12nE26A">
          <ownedParameter xmi:id="_g_4gQc-TEeWOGvD12nE26A" type="_E3j10MoQEeWsA83iBWrPKA" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Interface" xmi:id="_PF7uUMoQEeWsA83iBWrPKA" name="IMainEngine">
        <eAnnotations xmi:id="_akFrsM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akFrsc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akFrss9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
      </packagedElement>
      <packagedElement xmi:type="uml:Interface" xmi:id="_is7jEMoQEeWsA83iBWrPKA" name="ISaveDataEngine">
        <eAnnotations xmi:id="_akFrs89KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akFrtM9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akFrtc9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_alEjIM9KEeWD9JA5XZkC8g" name="" memberEnd="_alEjIc9KEeWD9JA5XZkC8g _akzdYs9KEeWD9JA5XZkC8g">
        <ownedEnd xmi:id="_alEjIc9KEeWD9JA5XZkC8g" name="" type="_E3x4QMoQEeWsA83iBWrPKA" association="_alEjIM9KEeWD9JA5XZkC8g"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_alFKMc9KEeWD9JA5XZkC8g" name="" memberEnd="_alFKMs9KEeWD9JA5XZkC8g _ak0Ecc9KEeWD9JA5XZkC8g">
        <ownedEnd xmi:id="_alFKMs9KEeWD9JA5XZkC8g" name="" type="_E3x4QMoQEeWsA83iBWrPKA" association="_alFKMc9KEeWD9JA5XZkC8g"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_hBRAUM-TEeWOGvD12nE26A" name="LeftFlipper">
        <generalization xmi:id="_O1NqJM-UEeWOGvD12nE26A" general="_E3x4QMoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_O1ORMM-UEeWOGvD12nE26A" name="LeftFlipper" specification="_O1NDEM-UEeWOGvD12nE26A">
          <ownedParameter xmi:id="_O1ORMc-UEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_O1ORMs-UEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_O1ORM8-UEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_O1ORNM-UEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_O1ORNc-UEeWOGvD12nE26A" type="_hBRAUM-TEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>super(name, x, y, color);&#xD;
		this.triggeredColour = color;&#xD;
		this.rotationAngle = new Angle(0);&#xD;
		// TODO Auto-generated constructor stub&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_O1ORNs-UEeWOGvD12nE26A" name="getShape" specification="_O1FuUM-UEeWOGvD12nE26A">
          <ownedParameter xmi:id="_O1ORN8-UEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return null;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_O1FuUM-UEeWOGvD12nE26A" name="getShape" method="_O1ORNs-UEeWOGvD12nE26A">
          <ownedParameter xmi:id="_O1NqI8-UEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_O1HjgM-UEeWOGvD12nE26A" name="rotate">
          <ownedParameter xmi:id="_-k_nIM-XEeWOGvD12nE26A" name="degree">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_O1IKks-UEeWOGvD12nE26A" name="triggerAction"/>
        <ownedOperation xmi:id="_O1NDEM-UEeWOGvD12nE26A" name="LeftFlipper" method="_O1ORMM-UEeWOGvD12nE26A">
          <eAnnotations xmi:id="_O1NqIM-UEeWOGvD12nE26A" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_O1NqIc-UEeWOGvD12nE26A" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_O1NDEc-UEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_O1NDEs-UEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_O1NDE8-UEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_O1NDFM-UEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_O1NqIs-UEeWOGvD12nE26A" type="_hBRAUM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_841usM-UEeWOGvD12nE26A" name="RightFlipper">
        <generalization xmi:id="_849Dcs-UEeWOGvD12nE26A" general="_E3x4QMoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_849qgM-UEeWOGvD12nE26A" name="RightFlipper" specification="_848cYM-UEeWOGvD12nE26A">
          <ownedParameter xmi:id="_849qgc-UEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_849qgs-UEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_849qg8-UEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_849qhM-UEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_849qhc-UEeWOGvD12nE26A" type="_841usM-UEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>super(name, x, y, color);&#xD;
		this.triggeredColour = color;&#xD;
		this.rotationAngle = new Angle(0);&#xD;
		// TODO Auto-generated constructor stub&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_849qhs-UEeWOGvD12nE26A" name="getShape" specification="_842VwM-UEeWOGvD12nE26A">
          <ownedParameter xmi:id="_849qh8-UEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return null;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_842VwM-UEeWOGvD12nE26A" name="getShape" method="_849qhs-UEeWOGvD12nE26A">
          <ownedParameter xmi:id="_849Dcc-UEeWOGvD12nE26A" type="_hBFaIM-TEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_844K8M-UEeWOGvD12nE26A" name="rotate">
          <ownedParameter xmi:id="_URDq8M-YEeWOGvD12nE26A" name="degree">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#double"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_844K9M-UEeWOGvD12nE26A" name="triggerAction"/>
        <ownedOperation xmi:id="_848cYM-UEeWOGvD12nE26A" name="RightFlipper" method="_849qgM-UEeWOGvD12nE26A">
          <eAnnotations xmi:id="_848cZc-UEeWOGvD12nE26A" source="http://www.eclipse.org/uml2/2.0.0/UML">
            <details xmi:id="_848cZs-UEeWOGvD12nE26A" key="create"/>
          </eAnnotations>
          <ownedParameter xmi:id="_848cYc-UEeWOGvD12nE26A" name="name">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          </ownedParameter>
          <ownedParameter xmi:id="_848cYs-UEeWOGvD12nE26A" name="x">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_848cY8-UEeWOGvD12nE26A" name="y">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
          </ownedParameter>
          <ownedParameter xmi:id="_848cZM-UEeWOGvD12nE26A" name="color" type="_E3j10MoQEeWsA83iBWrPKA"/>
          <ownedParameter xmi:id="_849DcM-UEeWOGvD12nE26A" type="_841usM-UEeWOGvD12nE26A" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_fKiggM-ZEeWOGvD12nE26A" name="" memberEnd="_fKiggc-ZEeWOGvD12nE26A _fKhSYM-ZEeWOGvD12nE26A">
        <ownedEnd xmi:id="_fKiggc-ZEeWOGvD12nE26A" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_fKiggM-ZEeWOGvD12nE26A"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_fKigg8-ZEeWOGvD12nE26A" name="" memberEnd="_fKighM-ZEeWOGvD12nE26A _-Du-YMR5EeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_fKighM-ZEeWOGvD12nE26A" name="" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_fKigg8-ZEeWOGvD12nE26A"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_xvv5sMR4EeW_3q3XSh-SYw" name="javax">
      <packagedElement xmi:type="uml:Package" xmi:id="_xvv5scR4EeW_3q3XSh-SYw" name="swing">
        <packagedElement xmi:type="uml:Package" xmi:id="_E2s6MMoQEeWsA83iBWrPKA" name="event">
          <packagedElement xmi:type="uml:Interface" xmi:id="_IRLbAMomEeWI07Wu9tqfCA" name="MouseInputListener"/>
        </packagedElement>
        <packagedElement xmi:type="uml:Class" xmi:id="_xysgAcR4EeW_3q3XSh-SYw" name="SwingUtilities"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_xy7wkcR4EeW_3q3XSh-SYw" name="JPanel"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_xzBQIMR4EeW_3q3XSh-SYw" name="JFrame"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3lD8coQEeWsA83iBWrPKA" name="BorderFactory"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3rxosoQEeWsA83iBWrPKA" name="JLabel"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3sYscoQEeWsA83iBWrPKA" name="JMenu"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3s_wMoQEeWsA83iBWrPKA" name="JMenuBar"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3s_wsoQEeWsA83iBWrPKA" name="JMenuItem"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3uN4coQEeWsA83iBWrPKA" name="JSeparator"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_E3u08MoQEeWsA83iBWrPKA" name="JTextArea"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_PGERMMoQEeWsA83iBWrPKA" name="JComponent"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_WQOf4MoSEeWsA83iBWrPKA" name="ButtonGroup"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_WQPG8coSEeWsA83iBWrPKA" name="JButton"/>
        <packagedElement xmi:type="uml:Class" xmi:id="_WQPuAMoSEeWsA83iBWrPKA" name="JRadioButton"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_xv_xUMR4EeW_3q3XSh-SYw" name="view">
      <packagedElement xmi:type="uml:Class" xmi:id="_xxSKwMR4EeW_3q3XSh-SYw" name="BuildBoard">
        <eAnnotations xmi:id="_akNngM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akNngc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akNngs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_EnhpcMmGEeWJ3ZYnwbU2iQ" name="gameBoard" visibility="private" type="_xy7wkcR4EeW_3q3XSh-SYw" association="_E4HPccoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_-0bHUMoSEeWsA83iBWrPKA" client="_xxSKwMR4EeW_3q3XSh-SYw" supplier="_E32wwMoQEeWsA83iBWrPKA" contract="_E32wwMoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_xzr-gMR4EeW_3q3XSh-SYw" client="_xxSKwMR4EeW_3q3XSh-SYw" supplier="_xy7JgcR4EeW_3q3XSh-SYw" contract="_xy7JgcR4EeW_3q3XSh-SYw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_vF3e0MmFEeWJ3ZYnwbU2iQ" name="paintComponent" specification="_xzslkMR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_vF3e0cmFEeWJ3ZYnwbU2iQ" name="g" type="_xy4tQMR4EeW_3q3XSh-SYw"/>
          <language>java</language>
          <body>// TODO&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_E38QUMoQEeWsA83iBWrPKA" name="initialize" specification="_E2vWcMoQEeWsA83iBWrPKA">
          <language>java</language>
          <body>//start of right panel (the game panel)&#xD;
		gameBoard = new JPanel();&#xD;
		gameBoard.setPreferredSize(new Dimension(500, 500));&#xD;
		gameBoard.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1, true));&#xD;
		gameBoard.setBackground(Color.WHITE);&#xD;
		//end of the right panel&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_E383YMoQEeWsA83iBWrPKA" name="getBoard" specification="_E2v9gMoQEeWsA83iBWrPKA">
          <ownedParameter xmi:id="_E383YcoQEeWsA83iBWrPKA" type="_xy7wkcR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return gameBoard;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_xzslkMR4EeW_3q3XSh-SYw" name="paintComponent" method="_vF3e0MmFEeWJ3ZYnwbU2iQ">
          <ownedParameter xmi:id="_xzslkcR4EeW_3q3XSh-SYw" name="g" type="_xy4tQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_xzvB0MR4EeW_3q3XSh-SYw" name="update">
          <ownedParameter xmi:id="_xzvB0cR4EeW_3q3XSh-SYw" name="arg0" type="_xy57YcR4EeW_3q3XSh-SYw"/>
          <ownedParameter xmi:id="_xzvB0sR4EeW_3q3XSh-SYw" name="arg1" type="_xzuawMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_E2vWcMoQEeWsA83iBWrPKA" name="initialize" method="_E38QUMoQEeWsA83iBWrPKA"/>
        <ownedOperation xmi:id="_E2v9gMoQEeWsA83iBWrPKA" name="getBoard" method="_E383YMoQEeWsA83iBWrPKA">
          <ownedParameter xmi:id="_E2v9gcoQEeWsA83iBWrPKA" type="_xy7wkcR4EeW_3q3XSh-SYw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xxXDQMR4EeW_3q3XSh-SYw" name="PlayBoard">
        <eAnnotations xmi:id="_akTHEM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akTHEc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akTHEs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_5suv0MmFEeWJ3ZYnwbU2iQ" name="gameBoard" visibility="private" type="_xy7wkcR4EeW_3q3XSh-SYw" association="_E4HPdMoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_E33X0MoQEeWsA83iBWrPKA" client="_xxXDQMR4EeW_3q3XSh-SYw" supplier="_E32wwMoQEeWsA83iBWrPKA" contract="_E32wwMoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_xzwP8cR4EeW_3q3XSh-SYw" client="_xxXDQMR4EeW_3q3XSh-SYw" supplier="_xy7JgcR4EeW_3q3XSh-SYw" contract="_xy7JgcR4EeW_3q3XSh-SYw"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_wVXX0MmFEeWJ3ZYnwbU2iQ" name="paintComponent" specification="_xzw3AMR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_wVXX0cmFEeWJ3ZYnwbU2iQ" name="g" type="_xy4tQMR4EeW_3q3XSh-SYw"/>
          <language>java</language>
          <body>// TODO&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_E3-FgMoQEeWsA83iBWrPKA" name="initialize" specification="_E26VkMoQEeWsA83iBWrPKA">
          <language>java</language>
          <body>//start of right panel (the game panel)&#xD;
		gameBoard = new JPanel();&#xD;
		gameBoard.setPreferredSize(new Dimension(500, 500));&#xD;
		gameBoard.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1, true));&#xD;
		gameBoard.setBackground(Color.BLACK);&#xD;
		//end of the right panel&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_E3-FgcoQEeWsA83iBWrPKA" name="getBoard" specification="_xzfxQMR4EeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_E3-FgsoQEeWsA83iBWrPKA" type="_xy7wkcR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return gameBoard;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_xzw3AMR4EeW_3q3XSh-SYw" name="paintComponent" method="_wVXX0MmFEeWJ3ZYnwbU2iQ">
          <ownedParameter xmi:id="_xzw3AcR4EeW_3q3XSh-SYw" name="g" type="_xy4tQMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_xzyFIMR4EeW_3q3XSh-SYw" name="update">
          <ownedParameter xmi:id="_xzyFIcR4EeW_3q3XSh-SYw" name="arg0" type="_xy57YcR4EeW_3q3XSh-SYw"/>
          <ownedParameter xmi:id="_xzyFIsR4EeW_3q3XSh-SYw" name="arg1" type="_xzuawMR4EeW_3q3XSh-SYw"/>
        </ownedOperation>
        <ownedOperation xmi:id="_xzfxQMR4EeW_3q3XSh-SYw" name="getBoard" method="_E3-FgcoQEeWsA83iBWrPKA">
          <ownedParameter xmi:id="_E25ugMoQEeWsA83iBWrPKA" type="_xy7wkcR4EeW_3q3XSh-SYw" direction="return"/>
        </ownedOperation>
        <ownedOperation xmi:id="_E26VkMoQEeWsA83iBWrPKA" name="initialize" method="_E3-FgMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_xxb7wMR4EeW_3q3XSh-SYw" name="GameWindow">
        <eAnnotations xmi:id="_akPcsM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akPcsc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akPcss9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_1IYd4MSCEeW_3q3XSh-SYw" name="gameBoard" visibility="private" type="_xxXDQMR4EeW_3q3XSh-SYw" association="_vVXogMmHEeWJ3ZYnwbU2iQ"/>
        <ownedAttribute xmi:id="_1IZE8cSCEeW_3q3XSh-SYw" name="buildBoard" visibility="private" type="_xxSKwMR4EeW_3q3XSh-SYw" association="_vVY2ocmHEeWJ3ZYnwbU2iQ"/>
        <ownedAttribute xmi:id="_QVfIYMSDEeW_3q3XSh-SYw" name="model" visibility="private" type="_xwvYMMR4EeW_3q3XSh-SYw" association="_vVdIEcmHEeWJ3ZYnwbU2iQ"/>
        <ownedAttribute xmi:id="_m9iTUMSDEeW_3q3XSh-SYw" name="window1" visibility="private" type="_xzBQIMR4EeW_3q3XSh-SYw" association="_E4GoY8oQEeWsA83iBWrPKA"/>
        <ownedAttribute xmi:id="_PgVmEMmGEeWJ3ZYnwbU2iQ" name="playmenu" visibility="private" type="_E31iosoQEeWsA83iBWrPKA" association="_E4GBUcoQEeWsA83iBWrPKA"/>
        <ownedAttribute xmi:id="_E34l8MoQEeWsA83iBWrPKA" name="buildmenu" visibility="private" type="_E31iosoQEeWsA83iBWrPKA" association="_E4EMIMoQEeWsA83iBWrPKA"/>
        <ownedAttribute xmi:id="_E35NAcoQEeWsA83iBWrPKA" name="buildboard" visibility="private" type="_E32wwMoQEeWsA83iBWrPKA" association="_E4FaQcoQEeWsA83iBWrPKA"/>
        <ownedAttribute xmi:id="_E3-skMoQEeWsA83iBWrPKA" name="window2" visibility="private" type="_xzBQIMR4EeW_3q3XSh-SYw" association="_E4FaRMoQEeWsA83iBWrPKA"/>
        <ownedAttribute xmi:id="_E3_TocoQEeWsA83iBWrPKA" name="playboard" visibility="private" type="_E32wwMoQEeWsA83iBWrPKA" association="_E4GoYMoQEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_E31iocoQEeWsA83iBWrPKA" client="_xxb7wMR4EeW_3q3XSh-SYw" supplier="_E307kMoQEeWsA83iBWrPKA" contract="_E307kMoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_79uvoMSDEeW_3q3XSh-SYw" name="main" specification="_79rsUMSDEeW_3q3XSh-SYw">
          <ownedParameter xmi:id="_E39ecMoQEeWsA83iBWrPKA" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <ownedParameter xmi:id="_E39eccoQEeWsA83iBWrPKA" name="args">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E39ecsoQEeWsA83iBWrPKA" value="*"/>
          </ownedParameter>
          <language>java</language>
          <body>EventQueue.invokeLater(new Runnable() {&#xD;
			public void run() {&#xD;
				try {&#xD;
					GameWindow window = new GameWindow();&#xD;
					window.initialize();&#xD;
					window.window1.setVisible(true);&#xD;
				} catch (Exception e) {&#xD;
					e.printStackTrace();&#xD;
				}&#xD;
			}&#xD;
		});&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_E39ec8oQEeWsA83iBWrPKA" name="initialize" specification="_E21dEMoQEeWsA83iBWrPKA">
          <language>java</language>
          <body>window1 = new JFrame(&quot;Play Mode&quot;);&#xD;
		window1.setBounds(100, 100, 720, 600);&#xD;
		window1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&#xD;
&#xD;
		//start of drop menu&#xD;
		JMenuBar menuBar = new JMenuBar();&#xD;
		window1.setJMenuBar(menuBar);&#xD;
&#xD;
		JMenu mnFolio = new JMenu(&quot;Game&quot;);&#xD;
		menuBar.add(mnFolio);&#xD;
&#xD;
		JMenuItem mntmOpen = new JMenuItem(&quot;Load&quot;);&#xD;
		mnFolio.add(mntmOpen);&#xD;
&#xD;
		JMenuItem mntmSave = new JMenuItem(&quot;Save&quot;);&#xD;
		mnFolio.add(mntmSave);&#xD;
&#xD;
		JSeparator separator = new JSeparator();&#xD;
		mnFolio.add(separator);&#xD;
&#xD;
		JMenuItem mntmExit = new JMenuItem(&quot;Exit&quot;);&#xD;
		mnFolio.add(mntmExit);&#xD;
		window1.getContentPane().setLayout(new FlowLayout());&#xD;
		//end of menu bar&#xD;
&#xD;
		JSeparator separator1 = new JSeparator();&#xD;
		window1.getContentPane().add(separator1);&#xD;
&#xD;
		// TODO&#xD;
		buildmenu = new BuildMenu();&#xD;
		buildboard = new BuildBoard();&#xD;
&#xD;
		buildmenu.initialize();&#xD;
		buildboard.initialize();&#xD;
&#xD;
		window1.add(buildmenu.getMenu());&#xD;
		window1.add(buildboard.getBoard());&#xD;
&#xD;
		JLabel tips = new JLabel(&quot;Action Tip:&quot;);&#xD;
		tips.setFont(new Font(&quot;Arial&quot;, 1, 12));&#xD;
		tips.setForeground(Color.BLUE);&#xD;
		window1.add(tips);&#xD;
&#xD;
		JTextArea textarea = new JTextArea(1, 50);&#xD;
		textarea.setBackground(Color.WHITE);&#xD;
		textarea.setEditable(false);&#xD;
		window1.add(textarea);&#xD;
&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_79rsUMSDEeW_3q3XSh-SYw" name="main" isStatic="true" method="_79uvoMSDEeW_3q3XSh-SYw">
          <ownedComment xmi:id="_rT7zsM93EeWej54JrL5caA">
            <body>Launch the application.</body>
          </ownedComment>
          <ownedParameter xmi:id="_vVSwAMmHEeWJ3ZYnwbU2iQ" direction="return"/>
          <ownedParameter xmi:id="_E3C4cMoQEeWsA83iBWrPKA" name="args">
            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E3C4ccoQEeWsA83iBWrPKA" value="*"/>
          </ownedParameter>
        </ownedOperation>
        <ownedOperation xmi:id="_E21dEMoQEeWsA83iBWrPKA" name="initialize" visibility="private" method="_E39ec8oQEeWsA83iBWrPKA">
          <ownedComment xmi:id="_rT8awM93EeWej54JrL5caA">
            <body>Initialize the contents of the frame.</body>
          </ownedComment>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_vVXogMmHEeWJ3ZYnwbU2iQ" name="" memberEnd="_vVXogcmHEeWJ3ZYnwbU2iQ _1IYd4MSCEeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_vVXogcmHEeWJ3ZYnwbU2iQ" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_vVXogMmHEeWJ3ZYnwbU2iQ"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_vVY2ocmHEeWJ3ZYnwbU2iQ" name="" memberEnd="_vVY2osmHEeWJ3ZYnwbU2iQ _1IZE8cSCEeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_vVY2osmHEeWJ3ZYnwbU2iQ" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_vVY2ocmHEeWJ3ZYnwbU2iQ"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_vVdIEcmHEeWJ3ZYnwbU2iQ" name="" memberEnd="_vVdIEsmHEeWJ3ZYnwbU2iQ _QVfIYMSDEeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_vVdIEsmHEeWJ3ZYnwbU2iQ" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_vVdIEcmHEeWJ3ZYnwbU2iQ"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Interface" xmi:id="_E307kMoQEeWsA83iBWrPKA" name="IGameWindow">
        <eAnnotations xmi:id="_akSgAM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akSgAc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akSgAs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
      </packagedElement>
      <packagedElement xmi:type="uml:Interface" xmi:id="_E31iosoQEeWsA83iBWrPKA" name="IMenu">
        <eAnnotations xmi:id="_akSgA89KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akSgBM9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akSgBc9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_WP-oQcoSEeWsA83iBWrPKA" name="menu" type="_xy7wkcR4EeW_3q3XSh-SYw" isReadOnly="true" association="_WQT_c8oSEeWsA83iBWrPKA"/>
        <ownedOperation xmi:id="_WP-oQMoSEeWsA83iBWrPKA" name="initialize"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Interface" xmi:id="_E32wwMoQEeWsA83iBWrPKA" name="IBoard">
        <eAnnotations xmi:id="_akR48M9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akR48c9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akR48s9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_WP8zEcoSEeWsA83iBWrPKA" name="board" type="_xy7wkcR4EeW_3q3XSh-SYw" isReadOnly="true" association="_WQT_cMoSEeWsA83iBWrPKA"/>
        <ownedOperation xmi:id="_WP8zEMoSEeWsA83iBWrPKA" name="initialize"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_E4EMIMoQEeWsA83iBWrPKA" name="" memberEnd="_E4EMIcoQEeWsA83iBWrPKA _E34l8MoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_E4EMIcoQEeWsA83iBWrPKA" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_E4EMIMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_E4FaQcoQEeWsA83iBWrPKA" name="" memberEnd="_E4FaQsoQEeWsA83iBWrPKA _E35NAcoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_E4FaQsoQEeWsA83iBWrPKA" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_E4FaQcoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_E4FaRMoQEeWsA83iBWrPKA" name="" memberEnd="_E4FaRcoQEeWsA83iBWrPKA _E3-skMoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_E4FaRcoQEeWsA83iBWrPKA" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_E4FaRMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_E4GBUcoQEeWsA83iBWrPKA" name="" memberEnd="_E4GBUsoQEeWsA83iBWrPKA _PgVmEMmGEeWJ3ZYnwbU2iQ">
        <ownedEnd xmi:id="_E4GBUsoQEeWsA83iBWrPKA" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_E4GBUcoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_E4GoYMoQEeWsA83iBWrPKA" name="" memberEnd="_E4GoYcoQEeWsA83iBWrPKA _E3_TocoQEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_E4GoYcoQEeWsA83iBWrPKA" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_E4GoYMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_E4GoY8oQEeWsA83iBWrPKA" name="" memberEnd="_E4GoZMoQEeWsA83iBWrPKA _m9iTUMSDEeW_3q3XSh-SYw">
        <ownedEnd xmi:id="_E4GoZMoQEeWsA83iBWrPKA" name="" type="_xxb7wMR4EeW_3q3XSh-SYw" association="_E4GoY8oQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_E4HPccoQEeWsA83iBWrPKA" name="" memberEnd="_E4HPcsoQEeWsA83iBWrPKA _EnhpcMmGEeWJ3ZYnwbU2iQ">
        <ownedEnd xmi:id="_E4HPcsoQEeWsA83iBWrPKA" name="" type="_xxSKwMR4EeW_3q3XSh-SYw" association="_E4HPccoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_E4HPdMoQEeWsA83iBWrPKA" name="" memberEnd="_E4HPdcoQEeWsA83iBWrPKA _5suv0MmFEeWJ3ZYnwbU2iQ">
        <ownedEnd xmi:id="_E4HPdcoQEeWsA83iBWrPKA" name="" type="_xxXDQMR4EeW_3q3XSh-SYw" association="_E4HPdMoQEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_WP5vwMoSEeWsA83iBWrPKA" name="BuildMenu">
        <eAnnotations xmi:id="_akO1oM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akO1oc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akO1os9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_WQRjMcoSEeWsA83iBWrPKA" name="buttonMenu" visibility="private" type="_xy7wkcR4EeW_3q3XSh-SYw" association="_WQUmgcoSEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_WQPuAsoSEeWsA83iBWrPKA" client="_WP5vwMoSEeWsA83iBWrPKA" supplier="_E31iosoQEeWsA83iBWrPKA" contract="_E31iosoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WQSxUsoSEeWsA83iBWrPKA" name="initialize" specification="_WP6W0MoSEeWsA83iBWrPKA">
          <language>java</language>
          <body>buttonMenu = new JPanel();&#xD;
		buttonMenu.setPreferredSize(new Dimension(170, 500));&#xD;
		buttonMenu.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1, true));&#xD;
		buttonMenu.setLayout(new GridLayout(0, 1));&#xD;
&#xD;
		//JButton leftFlipper = new JButton(&quot;Add left flipper&quot;);&#xD;
		//JButton rightFlipper = new JButton(&quot;Add right flipper&quot;);&#xD;
		//JButton square = new JButton(&quot;Add a square&quot;);&#xD;
		//JButton triangle = new JButton(&quot;Add a trangle&quot;);&#xD;
		//JButton circle = new JButton(&quot;Add a circle&quot;);&#xD;
		JButton absorber = new JButton(&quot;Add absorber&quot;);&#xD;
		JButton connect = new JButton(&quot;Connect gizmos&quot;);&#xD;
		JButton disconnect = new JButton(&quot;Disconnect gismoz&quot;);&#xD;
		JButton keyPress = new JButton(&quot;Connect key&quot;);&#xD;
		JButton keyDisconnect = new JButton(&quot;Disconnect key&quot;);&#xD;
		JButton delete = new JButton(&quot;Delete gizmo&quot;);&#xD;
		JButton rotate = new JButton(&quot;Rotate gizmo&quot;);&#xD;
		JButton undo = new JButton(&quot;Undo&quot;);&#xD;
		JButton redo = new JButton(&quot;Redo&quot;);&#xD;
		JButton reload = new JButton(&quot;Reload Board&quot;);&#xD;
		JButton clear = new JButton(&quot;Clear Board&quot;);&#xD;
		JButton play = new JButton(&quot;Play&quot;);&#xD;
&#xD;
		JLabel label = new JLabel(&quot;  Choose a gizmo to add:&quot;);&#xD;
		label.setFont(new Font(&quot;Arial&quot;, 1, 13));&#xD;
		buttonMenu.add(label);&#xD;
&#xD;
		JRadioButton leftFlipper = new JRadioButton(&quot;left flipper&quot;);&#xD;
		JRadioButton rightFlipper = new JRadioButton(&quot;right flipper&quot;);&#xD;
		JRadioButton square = new JRadioButton(&quot;square&quot;);&#xD;
		JRadioButton triangle = new JRadioButton(&quot;circle&quot;);&#xD;
		JRadioButton circle = new JRadioButton(&quot;triangle&quot;);&#xD;
		JRadioButton ball = new JRadioButton(&quot;ball&quot;);&#xD;
		ButtonGroup bg = new ButtonGroup();&#xD;
		bg.add(leftFlipper);&#xD;
		bg.add(rightFlipper);&#xD;
		bg.add(square);&#xD;
		bg.add(triangle);&#xD;
		bg.add(circle);&#xD;
		buttonMenu.add(leftFlipper);&#xD;
		buttonMenu.add(rightFlipper);&#xD;
		buttonMenu.add(square);&#xD;
		buttonMenu.add(triangle);&#xD;
		buttonMenu.add(circle);&#xD;
		buttonMenu.add(ball);&#xD;
		JButton add = new JButton(&quot;Add&quot;);&#xD;
		buttonMenu.add(add);&#xD;
&#xD;
		//JTextArea textarea = new JTextArea(1,10);&#xD;
		//textarea.setBackground(Color.LIGHT_GRAY);&#xD;
		//textarea.setEditable(false);&#xD;
		//buttonMenu.add(textarea);&#xD;
&#xD;
		JLabel separator = new JLabel(&quot;  Additional functionality:&quot;);&#xD;
		separator.setFont(new Font(&quot;Arial&quot;, 1, 13));&#xD;
		buttonMenu.add(separator);&#xD;
&#xD;
		//buttonMenu.add(leftFlipper);&#xD;
		//buttonMenu.add(rightFlipper);&#xD;
		//buttonMenu.add(square);&#xD;
		//buttonMenu.add(triangle);&#xD;
		//buttonMenu.add(circle);&#xD;
		buttonMenu.add(absorber);&#xD;
		buttonMenu.add(connect);&#xD;
		buttonMenu.add(disconnect);&#xD;
		buttonMenu.add(keyPress);&#xD;
		buttonMenu.add(keyDisconnect);&#xD;
		buttonMenu.add(delete);&#xD;
		buttonMenu.add(rotate);&#xD;
		buttonMenu.add(undo);&#xD;
		buttonMenu.add(redo);&#xD;
		buttonMenu.add(reload);&#xD;
		buttonMenu.add(clear);&#xD;
		buttonMenu.add(play);&#xD;
&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WQSxU8oSEeWsA83iBWrPKA" name="getMenu" specification="_WP694MoSEeWsA83iBWrPKA">
          <ownedParameter xmi:id="_WQSxVMoSEeWsA83iBWrPKA" type="_xy7wkcR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return buttonMenu;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_WP6W0MoSEeWsA83iBWrPKA" name="initialize" method="_WQSxUsoSEeWsA83iBWrPKA">
          <ownedComment xmi:id="_rT7MoM93EeWej54JrL5caA">
            <body>Initialize the contents of the frame.</body>
          </ownedComment>
        </ownedOperation>
        <ownedOperation xmi:id="_WP694MoSEeWsA83iBWrPKA" name="getMenu" method="_WQSxU8oSEeWsA83iBWrPKA">
          <ownedParameter xmi:id="_WQQVEMoSEeWsA83iBWrPKA" type="_xy7wkcR4EeW_3q3XSh-SYw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_WP_2YMoSEeWsA83iBWrPKA" name="PlayMenu">
        <eAnnotations xmi:id="_akUVMM9KEeWD9JA5XZkC8g" source="http://ns.yatta.de/umllab">
          <contents xmi:type="ecore:EAnnotation" xmi:id="_akUVMc9KEeWD9JA5XZkC8g" source="codegen">
            <details xmi:id="_akUVMs9KEeWD9JA5XZkC8g" key="codegenDirectory" value="/GitHub-Gizmo Ball/src"/>
          </contents>
        </eAnnotations>
        <ownedAttribute xmi:id="_WQSxUMoSEeWsA83iBWrPKA" name="buttonMenu" visibility="private" type="_xy7wkcR4EeW_3q3XSh-SYw" association="_WQUmhMoSEeWsA83iBWrPKA"/>
        <interfaceRealization xmi:id="_WQQ8IMoSEeWsA83iBWrPKA" client="_WP_2YMoSEeWsA83iBWrPKA" supplier="_E31iosoQEeWsA83iBWrPKA" contract="_E31iosoQEeWsA83iBWrPKA"/>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WQSxVcoSEeWsA83iBWrPKA" name="initialize" specification="_WQAdcMoSEeWsA83iBWrPKA">
          <language>java</language>
          <body>buttonMenu = new JPanel();&#xD;
		buttonMenu.setPreferredSize(new Dimension(170, 500));&#xD;
		buttonMenu.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1, true));&#xD;
		buttonMenu.setLayout(new GridLayout(0, 1));&#xD;
&#xD;
		JButton start = new JButton(&quot;Start&quot;);&#xD;
		start.setFont(new Font(&quot;Arial&quot;, Font.PLAIN, 40));&#xD;
		JButton tick = new JButton(&quot;Tick&quot;);&#xD;
		tick.setFont(new Font(&quot;Arial&quot;, Font.PLAIN, 40));&#xD;
		JButton stop = new JButton(&quot;Stop&quot;);&#xD;
		stop.setFont(new Font(&quot;Arial&quot;, Font.PLAIN, 40));&#xD;
		JButton reload = new JButton(&quot;Reload&quot;);&#xD;
		reload.setFont(new Font(&quot;Arial&quot;, Font.PLAIN, 40));&#xD;
		//JButton shoot = new JButton(&quot;&lt;html>Shoot ball&lt;br />(idea)&lt;/html>&quot;);&#xD;
		//shoot.setFont(new Font(&quot;Arial&quot;, Font.PLAIN, 30));&#xD;
		JButton buildMode = new JButton(&quot;&lt;html>Build&lt;br />Mode&lt;/html>&quot;);&#xD;
		buildMode.setFont(new Font(&quot;Arial&quot;, Font.PLAIN, 30));&#xD;
&#xD;
		buttonMenu.add(start);&#xD;
		buttonMenu.add(stop);&#xD;
		buttonMenu.add(tick);&#xD;
		buttonMenu.add(reload);&#xD;
		//buttonMenu.add(shoot);&#xD;
		buttonMenu.add(buildMode);&#xD;
&#xD;
	</body>
        </ownedBehavior>
        <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WQTYYMoSEeWsA83iBWrPKA" name="getMenu" specification="_WQAdccoSEeWsA83iBWrPKA">
          <ownedParameter xmi:id="_WQTYYcoSEeWsA83iBWrPKA" type="_xy7wkcR4EeW_3q3XSh-SYw" direction="return">
            <name xsi:nil="true"/>
          </ownedParameter>
          <language>java</language>
          <body>return buttonMenu;&#xD;
	</body>
        </ownedBehavior>
        <ownedOperation xmi:id="_WQAdcMoSEeWsA83iBWrPKA" name="initialize" method="_WQSxVcoSEeWsA83iBWrPKA">
          <ownedComment xmi:id="_rT9o4M93EeWej54JrL5caA">
            <body>Initialize the contents of the frame.</body>
          </ownedComment>
        </ownedOperation>
        <ownedOperation xmi:id="_WQAdccoSEeWsA83iBWrPKA" name="getMenu" method="_WQTYYMoSEeWsA83iBWrPKA">
          <ownedParameter xmi:id="_WQRjMMoSEeWsA83iBWrPKA" type="_xy7wkcR4EeW_3q3XSh-SYw" direction="return"/>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_WQT_cMoSEeWsA83iBWrPKA" name="" memberEnd="_WQT_ccoSEeWsA83iBWrPKA _WP8zEcoSEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_WQT_ccoSEeWsA83iBWrPKA" name="" type="_E32wwMoQEeWsA83iBWrPKA" association="_WQT_cMoSEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_WQT_c8oSEeWsA83iBWrPKA" name="" memberEnd="_WQT_dMoSEeWsA83iBWrPKA _WP-oQcoSEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_WQT_dMoSEeWsA83iBWrPKA" name="" type="_E31iosoQEeWsA83iBWrPKA" association="_WQT_c8oSEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_WQUmgcoSEeWsA83iBWrPKA" name="" memberEnd="_WQUmgsoSEeWsA83iBWrPKA _WQRjMcoSEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_WQUmgsoSEeWsA83iBWrPKA" name="" type="_WP5vwMoSEeWsA83iBWrPKA" association="_WQUmgcoSEeWsA83iBWrPKA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_WQUmhMoSEeWsA83iBWrPKA" name="" memberEnd="_WQUmhcoSEeWsA83iBWrPKA _WQSxUMoSEeWsA83iBWrPKA">
        <ownedEnd xmi:id="_WQUmhcoSEeWsA83iBWrPKA" name="" type="_WP_2YMoSEeWsA83iBWrPKA" association="_WQUmhMoSEeWsA83iBWrPKA"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="_K74RQsonEeWI07Wu9tqfCA" name="KeyListener"/>
    <packagedElement xmi:type="uml:Class" xmi:id="_K75fYconEeWI07Wu9tqfCA" name="MouseInputListener"/>
    <packagedElement xmi:type="uml:Package" xmi:id="_g_zAsM-TEeWOGvD12nE26A" name="enums">
      <packagedElement xmi:type="uml:Enumeration" xmi:id="_hBGBMM-TEeWOGvD12nE26A" name="Rotations"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_nOPYkM-WEeWOGvD12nE26A" name="physics">
      <packagedElement xmi:type="uml:Class" xmi:id="_nOTqAM-WEeWOGvD12nE26A" name="Angle"/>
    </packagedElement>
    <profileApplication xmi:id="_xeDswMR4EeW_3q3XSh-SYw">
      <eAnnotations xmi:id="_xeJMUMR4EeW_3q3XSh-SYw" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile-Annotation_2-UMLLabProfile"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UMLLAB_PROFILES/UMLLab.profile.uml#UMLLabProfile"/>
    </profileApplication>
  </uml:Model>
  <UMLLabProfile:TargetLanguage xmi:id="_xeQhEMR4EeW_3q3XSh-SYw" base_Package="_xR78UMR4EeW_3q3XSh-SYw">
    <languageName>java</languageName>
  </UMLLabProfile:TargetLanguage>
  <UMLLabProfile:Reference xmi:id="_xycoYMR4EeW_3q3XSh-SYw" base_Element="_xyazMMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xyiH8MR4EeW_3q3XSh-SYw" base_Element="_xyg50MR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xylyUMR4EeW_3q3XSh-SYw" base_Element="_xylLQMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xynAcMR4EeW_3q3XSh-SYw" base_Element="_xylyUcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xyqDwMR4EeW_3q3XSh-SYw" base_Element="_xypcsMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xysgAMR4EeW_3q3XSh-SYw" base_Element="_xyrR4MR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xytHEMR4EeW_3q3XSh-SYw" base_Element="_xysgAcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xyuVMMR4EeW_3q3XSh-SYw" base_Element="_xytHEcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xyu8QMR4EeW_3q3XSh-SYw" base_Element="_xyuVMcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xyvjUMR4EeW_3q3XSh-SYw" base_Element="_xyu8QcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xy57YMR4EeW_3q3XSh-SYw" base_Element="_xy4tQMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xy7JgMR4EeW_3q3XSh-SYw" base_Element="_xy57YcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xy7wkMR4EeW_3q3XSh-SYw" base_Element="_xy7JgcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xy8-sMR4EeW_3q3XSh-SYw" base_Element="_xy7wkcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xzCeQMR4EeW_3q3XSh-SYw" base_Element="_xzBQIMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_xzntEMR4EeW_3q3XSh-SYw" base_Element="_xznGAcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Annotations xmi:id="_xztzsMR4EeW_3q3XSh-SYw" base_Element="_xzslkMR4EeW_3q3XSh-SYw">
    <annotations xmi:id="_xztzscR4EeW_3q3XSh-SYw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="_xzuawcR4EeW_3q3XSh-SYw" base_Element="_xzuawMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_xzvB08R4EeW_3q3XSh-SYw" base_Element="_xzvB0MR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Annotations xmi:id="_xzvo4MR4EeW_3q3XSh-SYw" base_Element="_xzvB0MR4EeW_3q3XSh-SYw">
    <annotations xmi:id="_xzvo4cR4EeW_3q3XSh-SYw" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_xzysMcR4EeW_3q3XSh-SYw" base_Element="_xzyFIMR4EeW_3q3XSh-SYw">
    <annotations xmi:id="_uzYyQMmGEeWJ3ZYnwbU2iQ" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_xz2WkMR4EeW_3q3XSh-SYw" base_Element="_xz1vgMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_xz3ksMR4EeW_3q3XSh-SYw" base_Element="_xz2WkcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_xz4y0MR4EeW_3q3XSh-SYw" base_Element="_xz3kscR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_xz5Z4MR4EeW_3q3XSh-SYw" base_Element="_xz4y0cR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_xz6A8MR4EeW_3q3XSh-SYw" base_Element="_xz5Z4cR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_xz6oAMR4EeW_3q3XSh-SYw" base_Element="_xz6A8cR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_xz6oAsR4EeW_3q3XSh-SYw" base_Element="_xz6oAcR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_x0TCgMR4EeW_3q3XSh-SYw" base_Element="_x0SbcMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_x0UQoMR4EeW_3q3XSh-SYw" base_Element="_x0TpkMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_x0U3sMR4EeW_3q3XSh-SYw" base_Element="_x0UQocR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_x0WF0MR4EeW_3q3XSh-SYw" base_Element="_x0VewMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_QliiIMR5EeW_3q3XSh-SYw" base_Element="_QlgF4MR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_QljwQMR5EeW_3q3XSh-SYw" base_Element="_QljJMMR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_QlkXUMR5EeW_3q3XSh-SYw" base_Element="_QljwQcR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_QloowMR5EeW_3q3XSh-SYw" base_Element="_QloBsMR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_n00sMsR5EeW_3q3XSh-SYw" base_Element="_n00sMMR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_n02hYMR5EeW_3q3XSh-SYw" base_Element="_n016UMR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_n03IcMR5EeW_3q3XSh-SYw" base_Element="_n02hYcR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_n03vgMR5EeW_3q3XSh-SYw" base_Element="_n03IccR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_4lXRMsR5EeW_3q3XSh-SYw" base_Element="_4lXRMMR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_4lX4QMR5EeW_3q3XSh-SYw" base_Element="_4lXRM8R5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_4lZGYMR5EeW_3q3XSh-SYw" base_Element="_4lYfUMR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_4lZGY8R5EeW_3q3XSh-SYw" base_Element="_4lZGYcR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_-DvlcMR5EeW_3q3XSh-SYw" base_Element="_-Du-YMR5EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_YCX_wcR8EeW_3q3XSh-SYw" base_Element="_YCXYsMR8EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_YCZ08MR8EeW_3q3XSh-SYw" base_Element="_YCZN4MR8EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_64XHMMR8EeW_3q3XSh-SYw" base_Element="_64WgIMR8EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_64YVUsR8EeW_3q3XSh-SYw" base_Element="_64YVUMR8EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_VC_oEcR9EeW_3q3XSh-SYw" base_Element="_VC_oEMR9EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_VDA2MMR9EeW_3q3XSh-SYw" base_Element="_VDAPIMR9EeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_1IZE8MSCEeW_3q3XSh-SYw" base_Element="_1IYd4MSCEeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_1IZsAMSCEeW_3q3XSh-SYw" base_Element="_1IZE8cSCEeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_QVfvcMSDEeW_3q3XSh-SYw" base_Element="_QVfIYMSDEeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_m9i6YMSDEeW_3q3XSh-SYw" base_Element="_m9iTUMSDEeW_3q3XSh-SYw"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_5svW4MmFEeWJ3ZYnwbU2iQ" base_Element="_5suv0MmFEeWJ3ZYnwbU2iQ"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_Eni3kMmGEeWJ3ZYnwbU2iQ" base_Element="_EnhpcMmGEeWJ3ZYnwbU2iQ"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PgW0MMmGEeWJ3ZYnwbU2iQ" base_Element="_PgVmEMmGEeWJ3ZYnwbU2iQ"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_uzancMmGEeWJ3ZYnwbU2iQ" base_Element="_xzyFIMR4EeW_3q3XSh-SYw"/>
  <UMLLabProfile:Reference xmi:id="_vVY2oMmHEeWJ3ZYnwbU2iQ" base_Element="_vVXogMmHEeWJ3ZYnwbU2iQ"/>
  <UMLLabProfile:Reference xmi:id="_vVaEwMmHEeWJ3ZYnwbU2iQ" base_Element="_vVY2ocmHEeWJ3ZYnwbU2iQ"/>
  <UMLLabProfile:Reference xmi:id="_vVeWMMmHEeWJ3ZYnwbU2iQ" base_Element="_vVdIEcmHEeWJ3ZYnwbU2iQ"/>
  <UMLLabProfile:MultiDeclaration xmi:id="_E2yZwMoQEeWsA83iBWrPKA" base_Property="_m9iTUMSDEeW_3q3XSh-SYw" siblings="_E3-skMoQEeWsA83iBWrPKA" root="true"/>
  <UMLLabProfile:MultiDeclaration xmi:id="_E2zn4MoQEeWsA83iBWrPKA" base_Property="_PgVmEMmGEeWJ3ZYnwbU2iQ"/>
  <UMLLabProfile:Reference xmi:id="_E3kc4MoQEeWsA83iBWrPKA" base_Element="_E3j10MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3lD8MoQEeWsA83iBWrPKA" base_Element="_E3kc4coQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3lrAMoQEeWsA83iBWrPKA" base_Element="_E3lD8coQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3ouUMoQEeWsA83iBWrPKA" base_Element="_E3oHQcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3pVYMoQEeWsA83iBWrPKA" base_Element="_E3ouUcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3p8cMoQEeWsA83iBWrPKA" base_Element="_E3pVYcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3qjgMoQEeWsA83iBWrPKA" base_Element="_E3p8ccoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3qjgsoQEeWsA83iBWrPKA" base_Element="_E3qjgcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3rKkcoQEeWsA83iBWrPKA" base_Element="_E3rKkMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3rxocoQEeWsA83iBWrPKA" base_Element="_E3rxoMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3sYsMoQEeWsA83iBWrPKA" base_Element="_E3rxosoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3sYssoQEeWsA83iBWrPKA" base_Element="_E3sYscoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3s_wcoQEeWsA83iBWrPKA" base_Element="_E3s_wMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3uN4MoQEeWsA83iBWrPKA" base_Element="_E3s_wsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3uN4soQEeWsA83iBWrPKA" base_Element="_E3uN4coQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E3u08coQEeWsA83iBWrPKA" base_Element="_E3u08MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:MultiDeclaration xmi:id="_E34l8coQEeWsA83iBWrPKA" base_Property="_E34l8MoQEeWsA83iBWrPKA" siblings="_PgVmEMmGEeWJ3ZYnwbU2iQ" root="true"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_E35NAMoQEeWsA83iBWrPKA" base_Element="_E34l8MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:MultiDeclaration xmi:id="_E350EMoQEeWsA83iBWrPKA" base_Property="_E35NAcoQEeWsA83iBWrPKA" siblings="_E3_TocoQEeWsA83iBWrPKA" root="true"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_E350EcoQEeWsA83iBWrPKA" base_Element="_E35NAcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:MultiDeclaration xmi:id="_E3-skcoQEeWsA83iBWrPKA" base_Property="_E3-skMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_E3_ToMoQEeWsA83iBWrPKA" base_Element="_E3-skMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:MultiDeclaration xmi:id="_E3_6sMoQEeWsA83iBWrPKA" base_Property="_E3_TocoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_E3_6scoQEeWsA83iBWrPKA" base_Element="_E3_TocoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E4FaQMoQEeWsA83iBWrPKA" base_Element="_E4EMIMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E4FaQ8oQEeWsA83iBWrPKA" base_Element="_E4FaQcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E4GBUMoQEeWsA83iBWrPKA" base_Element="_E4FaRMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E4GBU8oQEeWsA83iBWrPKA" base_Element="_E4GBUcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E4GoYsoQEeWsA83iBWrPKA" base_Element="_E4GoYMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E4HPcMoQEeWsA83iBWrPKA" base_Element="_E4GoY8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E4HPc8oQEeWsA83iBWrPKA" base_Element="_E4HPccoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_E4H2gMoQEeWsA83iBWrPKA" base_Element="_E4HPdMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PF9jgcoQEeWsA83iBWrPKA" base_Element="_PF88cMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PF-KkMoQEeWsA83iBWrPKA" base_Element="_PF88cMoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PF-KkcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PF-xosoQEeWsA83iBWrPKA" base_Element="_PF-xoMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PF_YsMoQEeWsA83iBWrPKA" base_Element="_PF-xoMoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PF_YscoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PF__wMoQEeWsA83iBWrPKA" base_Element="_PF_YssoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PF__wcoQEeWsA83iBWrPKA" base_Element="_PF_YssoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PF__wsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGAm0MoQEeWsA83iBWrPKA" base_Element="_PF__w8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGAm0coQEeWsA83iBWrPKA" base_Element="_PF__w8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGAm0soQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGAm1coQEeWsA83iBWrPKA" base_Element="_PGAm08oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGBN4MoQEeWsA83iBWrPKA" base_Element="_PGAm08oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGBN4coQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGB08coQEeWsA83iBWrPKA" base_Element="_PGBN4soQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGCcAMoQEeWsA83iBWrPKA" base_Element="_PGBN4soQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGCcAcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGCcBMoQEeWsA83iBWrPKA" base_Element="_PGCcAsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGDDEMoQEeWsA83iBWrPKA" base_Element="_PGCcAsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGDDEcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="_PGERMcoQEeWsA83iBWrPKA" base_Element="_PGERMMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGFfUsoQEeWsA83iBWrPKA" base_Element="_PGFfUMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGGGYMoQEeWsA83iBWrPKA" base_Element="_PGFfUMoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGGGYcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGIiocoQEeWsA83iBWrPKA" base_Element="_PGH7kcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGJJsMoQEeWsA83iBWrPKA" base_Element="_PGH7kcoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGJJscoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGJwwMoQEeWsA83iBWrPKA" base_Element="_PGJJssoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGJwwcoQEeWsA83iBWrPKA" base_Element="_PGJJssoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGJwwsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGKX0soQEeWsA83iBWrPKA" base_Element="_PGKX0MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGK-4MoQEeWsA83iBWrPKA" base_Element="_PGKX0MoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGK-4coQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGLl8MoQEeWsA83iBWrPKA" base_Element="_PGK-4soQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGLl8coQEeWsA83iBWrPKA" base_Element="_PGK-4soQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGLl8soQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGMNAcoQEeWsA83iBWrPKA" base_Element="_PGLl88oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGM0EMoQEeWsA83iBWrPKA" base_Element="_PGLl88oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGM0EcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGM0FMoQEeWsA83iBWrPKA" base_Element="_PGM0EsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGNbIMoQEeWsA83iBWrPKA" base_Element="_PGM0EsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGNbIcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGOCMcoQEeWsA83iBWrPKA" base_Element="_PGNbIsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGOpQMoQEeWsA83iBWrPKA" base_Element="_PGNbIsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGOpQcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGQecMoQEeWsA83iBWrPKA" base_Element="_PGP3YMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGQeccoQEeWsA83iBWrPKA" base_Element="_PGP3YMoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGRFgMoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGRskMoQEeWsA83iBWrPKA" base_Element="_PGRFgcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGRskcoQEeWsA83iBWrPKA" base_Element="_PGRFgcoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGRsksoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGSToMoQEeWsA83iBWrPKA" base_Element="_PGRsk8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGS6sMoQEeWsA83iBWrPKA" base_Element="_PGRsk8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGS6scoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGUv4MoQEeWsA83iBWrPKA" base_Element="_PGUI0coQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGUv4coQEeWsA83iBWrPKA" base_Element="_PGUI0coQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGUv4soQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGVW8soQEeWsA83iBWrPKA" base_Element="_PGVW8MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGV-AMoQEeWsA83iBWrPKA" base_Element="_PGVW8MoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGV-AcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGWlEcoQEeWsA83iBWrPKA" base_Element="_PGV-AsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGXMIMoQEeWsA83iBWrPKA" base_Element="_PGV-AsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGXMIcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGXMJMoQEeWsA83iBWrPKA" base_Element="_PGXMIsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGXzMMoQEeWsA83iBWrPKA" base_Element="_PGXMIsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGXzMcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGXzNMoQEeWsA83iBWrPKA" base_Element="_PGXzMsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGYaQMoQEeWsA83iBWrPKA" base_Element="_PGXzMsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGYaQcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGZBUMoQEeWsA83iBWrPKA" base_Element="_PGYaQsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGZBUcoQEeWsA83iBWrPKA" base_Element="_PGYaQsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGZBUsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGZBVcoQEeWsA83iBWrPKA" base_Element="_PGZBU8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGZoYMoQEeWsA83iBWrPKA" base_Element="_PGZBU8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGZoYcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGbdkMoQEeWsA83iBWrPKA" base_Element="_PGa2gsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGbdkcoQEeWsA83iBWrPKA" base_Element="_PGa2gsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGbdksoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGcrsMoQEeWsA83iBWrPKA" base_Element="_PGcEocoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGcrscoQEeWsA83iBWrPKA" base_Element="_PGcEocoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGdSwMoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGd50MoQEeWsA83iBWrPKA" base_Element="_PGdSwcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGeg4MoQEeWsA83iBWrPKA" base_Element="_PGdSwcoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGeg4coQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGfH8MoQEeWsA83iBWrPKA" base_Element="_PGeg4soQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGfH8coQEeWsA83iBWrPKA" base_Element="_PGeg4soQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGfH8soQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGfvAMoQEeWsA83iBWrPKA" base_Element="_PGfH88oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGfvAcoQEeWsA83iBWrPKA" base_Element="_PGfH88oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGfvAsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGgWEcoQEeWsA83iBWrPKA" base_Element="_PGfvA8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGgWEsoQEeWsA83iBWrPKA" base_Element="_PGfvA8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGg9IMoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGg9I8oQEeWsA83iBWrPKA" base_Element="_PGg9IcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGhkMMoQEeWsA83iBWrPKA" base_Element="_PGg9IcoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGhkMcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGhkNMoQEeWsA83iBWrPKA" base_Element="_PGhkMsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGiLQMoQEeWsA83iBWrPKA" base_Element="_PGhkMsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGiLQcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGjZYMoQEeWsA83iBWrPKA" base_Element="_PGiyUcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGjZYcoQEeWsA83iBWrPKA" base_Element="_PGiyUcoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGjZYsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGkAcMoQEeWsA83iBWrPKA" base_Element="_PGjZY8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGkAccoQEeWsA83iBWrPKA" base_Element="_PGjZY8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGkAcsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGkAdcoQEeWsA83iBWrPKA" base_Element="_PGkAc8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGkngMoQEeWsA83iBWrPKA" base_Element="_PGkAc8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGkngcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGl1osoQEeWsA83iBWrPKA" base_Element="_PGl1oMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGmcsMoQEeWsA83iBWrPKA" base_Element="_PGl1oMoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGmcscoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGoR4soQEeWsA83iBWrPKA" base_Element="_PGoR4MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGo48MoQEeWsA83iBWrPKA" base_Element="_PGoR4MoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGo48coQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGo49MoQEeWsA83iBWrPKA" base_Element="_PGo48soQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGpgAMoQEeWsA83iBWrPKA" base_Element="_PGo48soQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGpgAcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGqHEMoQEeWsA83iBWrPKA" base_Element="_PGpgAsoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGqHEcoQEeWsA83iBWrPKA" base_Element="_PGpgAsoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGqHEsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGquIMoQEeWsA83iBWrPKA" base_Element="_PGqHE8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGquIcoQEeWsA83iBWrPKA" base_Element="_PGqHE8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGquIsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGrVMMoQEeWsA83iBWrPKA" base_Element="_PGquI8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGrVMcoQEeWsA83iBWrPKA" base_Element="_PGquI8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGrVMsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGr8QMoQEeWsA83iBWrPKA" base_Element="_PGrVM8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGr8QcoQEeWsA83iBWrPKA" base_Element="_PGrVM8oQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGr8QsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGsjUsoQEeWsA83iBWrPKA" base_Element="_PGsjUMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGtKYMoQEeWsA83iBWrPKA" base_Element="_PGsjUMoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGtKYcoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGuYgMoQEeWsA83iBWrPKA" base_Element="_PGtxccoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGuYgcoQEeWsA83iBWrPKA" base_Element="_PGtxccoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGuYgsoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGvmocoQEeWsA83iBWrPKA" base_Element="_PGu_kcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGvmosoQEeWsA83iBWrPKA" base_Element="_PGu_kcoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGvmo8oQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGw0wsoQEeWsA83iBWrPKA" base_Element="_PGw0wMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGxb0MoQEeWsA83iBWrPKA" base_Element="_PGw0wMoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGxb0coQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGyp8MoQEeWsA83iBWrPKA" base_Element="_PGyC4coQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGyp8coQEeWsA83iBWrPKA" base_Element="_PGyC4coQEeWsA83iBWrPKA">
    <annotations xmi:id="_PGyp8soQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PGz4EsoQEeWsA83iBWrPKA" base_Element="_PGz4EMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Annotations xmi:id="_PGz4E8oQEeWsA83iBWrPKA" base_Element="_PGz4EMoQEeWsA83iBWrPKA">
    <annotations xmi:id="_PG0fIMoQEeWsA83iBWrPKA" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PG-3MMoQEeWsA83iBWrPKA" base_Element="_PG-QIMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHAsYcoQEeWsA83iBWrPKA" base_Element="_PHAsYMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHBTccoQEeWsA83iBWrPKA" base_Element="_PHBTcMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHB6gcoQEeWsA83iBWrPKA" base_Element="_PHB6gMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHChkcoQEeWsA83iBWrPKA" base_Element="_PHChkMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHDvsMoQEeWsA83iBWrPKA" base_Element="_PHDIoMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHE90coQEeWsA83iBWrPKA" base_Element="_PHE90MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHFk4coQEeWsA83iBWrPKA" base_Element="_PHFk4MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHGL8coQEeWsA83iBWrPKA" base_Element="_PHGL8MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHGzAMoQEeWsA83iBWrPKA" base_Element="_PHGL8soQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHGzAsoQEeWsA83iBWrPKA" base_Element="_PHGzAcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_PHHaEcoQEeWsA83iBWrPKA" base_Element="_PHHaEMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHTnUMoQEeWsA83iBWrPKA" base_Element="_PHTAQMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHU1c8oQEeWsA83iBWrPKA" base_Element="_PHU1ccoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHVcgMoQEeWsA83iBWrPKA" base_Element="_PHU1dMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHVcg8oQEeWsA83iBWrPKA" base_Element="_PHVcgcoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHWDksoQEeWsA83iBWrPKA" base_Element="_PHWDkMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHWqoMoQEeWsA83iBWrPKA" base_Element="_PHWDk8oQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHYf0MoQEeWsA83iBWrPKA" base_Element="_PHX4xMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHYf08oQEeWsA83iBWrPKA" base_Element="_PHYf0coQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHZG4MoQEeWsA83iBWrPKA" base_Element="_PHYf1MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHZG48oQEeWsA83iBWrPKA" base_Element="_PHZG4coQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHZt8MoQEeWsA83iBWrPKA" base_Element="_PHZG5MoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_PHZt88oQEeWsA83iBWrPKA" base_Element="_PHZt8coQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_is5G0MoQEeWsA83iBWrPKA" base_Element="_E3x4QMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_WQPG8MoSEeWsA83iBWrPKA" base_Element="_WQOf4MoSEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_WQPG8soSEeWsA83iBWrPKA" base_Element="_WQPG8coSEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_WQPuAcoSEeWsA83iBWrPKA" base_Element="_WQPuAMoSEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_WQSKQMoSEeWsA83iBWrPKA" base_Element="_WQRjMcoSEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_WQSxUcoSEeWsA83iBWrPKA" base_Element="_WQSxUMoSEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_WQT_csoSEeWsA83iBWrPKA" base_Element="_WQT_cMoSEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_WQUmgMoSEeWsA83iBWrPKA" base_Element="_WQT_c8oSEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_WQUmg8oSEeWsA83iBWrPKA" base_Element="_WQUmgcoSEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_WQVNkMoSEeWsA83iBWrPKA" base_Element="_WQUmhMoSEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_QCjx0coUEeWsA83iBWrPKA" base_Element="_QCjx0MoUEeWsA83iBWrPKA"/>
  <UMLLabProfile:Reference xmi:id="_QCkY4soUEeWsA83iBWrPKA" base_Element="_QCkY4MoUEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_IRCREMomEeWI07Wu9tqfCA" base_Element="_IQgFkMomEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_IRKM4MomEeWI07Wu9tqfCA" base_Element="_IRJl0MomEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_IRKz8comEeWI07Wu9tqfCA" base_Element="_IRKz8MomEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_IRMCEMomEeWI07Wu9tqfCA" base_Element="_IRLbAMomEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_K74RQconEeWI07Wu9tqfCA" base_Element="_K74RQMonEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_K75fYMonEeWI07Wu9tqfCA" base_Element="_K74RQsonEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_K75fYsonEeWI07Wu9tqfCA" base_Element="_K75fYconEeWI07Wu9tqfCA"/>
  <UMLLabProfile:StyledElement xmi:id="_8SctQMonEeWI07Wu9tqfCA" base_Element="_IRPFYMomEeWI07Wu9tqfCA"/>
  <UMLLabProfile:StyledElement xmi:id="_8SctQconEeWI07Wu9tqfCA" base_Element="_IRQTgMomEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_8SfJgMonEeWI07Wu9tqfCA" base_Element="_8SeicMonEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_8SfJg8onEeWI07Wu9tqfCA" base_Element="_8SfJgconEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Reference xmi:id="_8SfwkMonEeWI07Wu9tqfCA" base_Element="_8SfJhMonEeWI07Wu9tqfCA"/>
  <UMLLabProfile:Array xmi:id="_ZP1poMooEeWI07Wu9tqfCA" base_Element="_E3C4cMoQEeWsA83iBWrPKA"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_p1EfRM9GEeWcl7az0iEBww" base_Element="_p1EfQ89GEeWcl7az0iEBww"/>
  <UMLLabProfile:Annotations xmi:id="_p1OQQM9GEeWcl7az0iEBww" base_Element="_p1EfQ89GEeWcl7az0iEBww">
    <annotations xmi:id="_p1OQQc9GEeWcl7az0iEBww" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_akCoYM9KEeWD9JA5XZkC8g" base_Element="_akCBUM9KEeWD9JA5XZkC8g">
    <annotations xmi:id="_akCoYc9KEeWD9JA5XZkC8g" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_akD2gc9KEeWD9JA5XZkC8g" base_Element="_akD2gM9KEeWD9JA5XZkC8g">
    <annotations xmi:id="_akD2gs9KEeWD9JA5XZkC8g" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_akG50c9KEeWD9JA5XZkC8g" base_Element="_akG50M9KEeWD9JA5XZkC8g">
    <annotations xmi:id="_akG50s9KEeWD9JA5XZkC8g" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_akLyUc9KEeWD9JA5XZkC8g" base_Element="_akLyUM9KEeWD9JA5XZkC8g">
    <annotations xmi:id="_akLyUs9KEeWD9JA5XZkC8g" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_akNAcc9KEeWD9JA5XZkC8g" base_Element="_akNAcM9KEeWD9JA5XZkC8g">
    <annotations xmi:id="_akNAcs9KEeWD9JA5XZkC8g" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:StyledElement xmi:id="_akdfIM9KEeWD9JA5XZkC8g" base_Element="_akAzMM9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:StyledElement xmi:id="_akdfIc9KEeWD9JA5XZkC8g" base_Element="_akAzMc9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_akeGMM9KEeWD9JA5XZkC8g" base_Element="_akCBUM9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_akeGMc9KEeWD9JA5XZkC8g" base_Element="_akD2gM9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_akfUUM9KEeWD9JA5XZkC8g" base_Element="_akG50M9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_akf7YM9KEeWD9JA5XZkC8g" base_Element="_akLyUM9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:StyledElement xmi:id="_akmCB89KEeWD9JA5XZkC8g" base_Element="_akla8M9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:StyledElement xmi:id="_ak0EcM9KEeWD9JA5XZkC8g" base_Element="_akzdYs9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_ak0rgc9KEeWD9JA5XZkC8g" base_Element="_ak0rgM9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_ak0rg89KEeWD9JA5XZkC8g" base_Element="_ak0rgs9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:Reference xmi:id="_alFKMM9KEeWD9JA5XZkC8g" base_Element="_alEjIM9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:Reference xmi:id="_alFxQM9KEeWD9JA5XZkC8g" base_Element="_alFKMc9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:Annotations xmi:id="_g_68gs-TEeWOGvD12nE26A" base_Element="_g_68gc-TEeWOGvD12nE26A">
    <annotations xmi:id="_g_7jkM-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_g_9_0M-TEeWOGvD12nE26A" base_Element="_g_9YwM-TEeWOGvD12nE26A">
    <annotations xmi:id="_g_9_0c-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_g_9_08-TEeWOGvD12nE26A" base_Element="_g_9_0s-TEeWOGvD12nE26A">
    <annotations xmi:id="_g_9_1M-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_hABDIM-TEeWOGvD12nE26A" base_Element="_hAAcEM-TEeWOGvD12nE26A">
    <annotations xmi:id="_hABDIc-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_hABDI8-TEeWOGvD12nE26A" base_Element="_hABDIs-TEeWOGvD12nE26A">
    <annotations xmi:id="_hABDJM-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_hAF7oc-TEeWOGvD12nE26A" base_Element="_hAF7oM-TEeWOGvD12nE26A">
    <annotations xmi:id="_hAF7os-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_hAF7pM-TEeWOGvD12nE26A" base_Element="_hAF7o8-TEeWOGvD12nE26A">
    <annotations xmi:id="_hAGisM-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_hAHw0c-TEeWOGvD12nE26A" base_Element="_hAHw0M-TEeWOGvD12nE26A">
    <annotations xmi:id="_hAHw0s-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Annotations xmi:id="_hAIX4M-TEeWOGvD12nE26A" base_Element="_hAHw08-TEeWOGvD12nE26A">
    <annotations xmi:id="_hAIX4c-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:StyledElement xmi:id="_hAdIAM-TEeWOGvD12nE26A" base_Element="_g_35MM-TEeWOGvD12nE26A"/>
  <UMLLabProfile:StyledElement xmi:id="_hAdvEM-TEeWOGvD12nE26A" base_Element="_akAzMs9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:StyledElement xmi:id="_hAdvEc-TEeWOGvD12nE26A" base_Element="_g_35Mc-TEeWOGvD12nE26A"/>
  <UMLLabProfile:StyledElement xmi:id="_hAdvEs-TEeWOGvD12nE26A" base_Element="_g_4gQM-TEeWOGvD12nE26A"/>
  <UMLLabProfile:StyledElement xmi:id="_hAeWIM-TEeWOGvD12nE26A" base_Element="_akNAcM9KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAe9Mc-TEeWOGvD12nE26A" base_Element="_g_68gc-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAfkQM-TEeWOGvD12nE26A" base_Element="_g_9YwM-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAfkQc-TEeWOGvD12nE26A" base_Element="_g_9_0s-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAgLUM-TEeWOGvD12nE26A" base_Element="_hAAcEM-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAgLUc-TEeWOGvD12nE26A" base_Element="_hABDIs-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAiAgM-TEeWOGvD12nE26A" base_Element="_hAF7oM-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAiAgc-TEeWOGvD12nE26A" base_Element="_hAF7o8-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAinkM-TEeWOGvD12nE26A" base_Element="_hAHw0M-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAjOoM-TEeWOGvD12nE26A" base_Element="_hAHw08-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_hAjOoc-TEeWOGvD12nE26A" base_Element="_akqTd89KEeWD9JA5XZkC8g"/>
  <UMLLabProfile:Reference xmi:id="_hBFaIc-TEeWOGvD12nE26A" base_Element="_hBFaIM-TEeWOGvD12nE26A"/>
  <UMLLabProfile:Reference xmi:id="_hBGBMc-TEeWOGvD12nE26A" base_Element="_hBGBMM-TEeWOGvD12nE26A"/>
  <UMLLabProfile:StyledElement xmi:id="_hBXG8M-TEeWOGvD12nE26A" base_Element="_hBWf4M-TEeWOGvD12nE26A"/>
  <UMLLabProfile:Annotations xmi:id="_n5k78M-TEeWOGvD12nE26A" base_Element="_g_68gM-TEeWOGvD12nE26A">
    <annotations xmi:id="_n5ljAM-TEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_n5mKEM-TEeWOGvD12nE26A" base_Element="_g_68gM-TEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_O1GVYM-UEeWOGvD12nE26A" base_Element="_O1FuUM-UEeWOGvD12nE26A"/>
  <UMLLabProfile:Annotations xmi:id="_O1G8cM-UEeWOGvD12nE26A" base_Element="_O1FuUM-UEeWOGvD12nE26A">
    <annotations xmi:id="_O1G8cc-UEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_O1Hjgc-UEeWOGvD12nE26A" base_Element="_O1HjgM-UEeWOGvD12nE26A"/>
  <UMLLabProfile:Annotations xmi:id="_O1IKkM-UEeWOGvD12nE26A" base_Element="_O1HjgM-UEeWOGvD12nE26A">
    <annotations xmi:id="_O1IKkc-UEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_O1IKk8-UEeWOGvD12nE26A" base_Element="_O1IKks-UEeWOGvD12nE26A"/>
  <UMLLabProfile:Annotations xmi:id="_O1IxoM-UEeWOGvD12nE26A" base_Element="_O1IKks-UEeWOGvD12nE26A">
    <annotations xmi:id="_O1Ixoc-UEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_84280M-UEeWOGvD12nE26A" base_Element="_842VwM-UEeWOGvD12nE26A"/>
  <UMLLabProfile:Annotations xmi:id="_843j4M-UEeWOGvD12nE26A" base_Element="_842VwM-UEeWOGvD12nE26A">
    <annotations xmi:id="_843j4c-UEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_844K8c-UEeWOGvD12nE26A" base_Element="_844K8M-UEeWOGvD12nE26A"/>
  <UMLLabProfile:Annotations xmi:id="_844K8s-UEeWOGvD12nE26A" base_Element="_844K8M-UEeWOGvD12nE26A">
    <annotations xmi:id="_844K88-UEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:LegacyStyledElement xmi:id="_844yAM-UEeWOGvD12nE26A" base_Element="_844K9M-UEeWOGvD12nE26A"/>
  <UMLLabProfile:Annotations xmi:id="_844yAc-UEeWOGvD12nE26A" base_Element="_844K9M-UEeWOGvD12nE26A">
    <annotations xmi:id="_844yAs-UEeWOGvD12nE26A" name="Override"/>
  </UMLLabProfile:Annotations>
  <UMLLabProfile:Reference xmi:id="_nOUREM-WEeWOGvD12nE26A" base_Element="_nOTqAM-WEeWOGvD12nE26A"/>
  <UMLLabProfile:LegacyStyledElement xmi:id="_fKhSYs-ZEeWOGvD12nE26A" base_Element="_fKhSYM-ZEeWOGvD12nE26A"/>
  <UMLLabProfile:Reference xmi:id="_fKiggs-ZEeWOGvD12nE26A" base_Element="_fKiggM-ZEeWOGvD12nE26A"/>
  <UMLLabProfile:Reference xmi:id="_fKjHkM-ZEeWOGvD12nE26A" base_Element="_fKigg8-ZEeWOGvD12nE26A"/>
</xmi:XMI>
