From 45792ea2651ce422405986dfe52fb41737156d77 Mon Sep 17 00:00:00 2001
From: 1004268 <isaac.pedrozaaguirre@student.unimelb.edu.au>
Date: Tue, 22 Oct 2019 13:54:57 +1100
Subject: [PATCH] Implementation of Admin Functions: Kick Out and Assign Admin

---
 .idea/misc.xml                                |   4 -
 .idea/workspace.xml                           | 398 +++---------------
 .../infinitymonkeys/GUI/ChatScreen$1.class    | Bin 1569 -> 1556 bytes
 .../infinitymonkeys/GUI/ChatScreen$2.class    | Bin 2451 -> 3049 bytes
 .../infinitymonkeys/GUI/ChatScreen.class      | Bin 6649 -> 8074 bytes
 .../infinitymonkeys/GUI/ColorPallete.class    | Bin 2217 -> 2217 bytes
 .../infinitymonkeys/GUI/DrawingArea$1.class   | Bin 862 -> 846 bytes
 .../GUI/DrawingArea$Mode.class                | Bin 1208 -> 1189 bytes
 .../infinitymonkeys/GUI/DrawingArea.class     | Bin 8658 -> 8659 bytes
 .../infinitymonkeys/GUI/MenuBar.class         | Bin 393 -> 393 bytes
 .../infinitymonkeys/GUI/PaintGUI$1.class      | Bin 4424 -> 4408 bytes
 .../infinitymonkeys/GUI/PaintGUI.class        | Bin 3484 -> 3460 bytes
 .../infinitymonkeys/GUI/StartScreen$1.class   | Bin 1478 -> 1555 bytes
 .../infinitymonkeys/GUI/StartScreen.class     | Bin 3291 -> 3835 bytes
 .../infinitymonkeys/GUI/ToolBar.class         | Bin 302 -> 302 bytes
 .../infinitymonkeys/GUI/Tools.class           | Bin 252 -> 252 bytes
 .../infinitymonkeys/client/ChatUpdate.class   | Bin 1949 -> 1626 bytes
 .../infinitymonkeys/client/Client.class       | Bin 3669 -> 3542 bytes
 .../client/ClientUpdate$1.class               | Bin 0 -> 728 bytes
 .../infinitymonkeys/client/ClientUpdate.class | Bin 1433 -> 2588 bytes
 .../client/DrawingUpdate.class                | Bin 1231 -> 1231 bytes
 .../remote/IChatController.class              | Bin 479 -> 479 bytes
 .../infinitymonkeys/remote/IChatUpdate.class  | Bin 375 -> 375 bytes
 .../remote/IClientController$Action.class     | Bin 0 -> 1081 bytes
 .../remote/IClientController.class            | Bin 478 -> 684 bytes
 .../remote/IClientUpdate$Action.class         | Bin 0 -> 1049 bytes
 .../remote/IClientUpdate.class                | Bin 343 -> 509 bytes
 .../remote/IDrawingController.class           | Bin 267 -> 267 bytes
 .../remote/IDrawingUpdate.class               | Bin 284 -> 284 bytes
 .../server/ChatController.class               | Bin 3112 -> 2833 bytes
 .../server/ClientController$1.class           | Bin 0 -> 760 bytes
 .../server/ClientController.class             | Bin 3745 -> 5290 bytes
 .../server/DrawingController.class            | Bin 1429 -> 1432 bytes
 .../infinitymonkeys/server/Server.class       | Bin 2116 -> 2119 bytes
 .../infinitymonkeys/server/User.class         | Bin 1273 -> 1273 bytes
 src/GUI/ChatScreen.form                       |   2 +-
 src/GUI/ChatScreen.java                       |  61 ++-
 src/client/Client.java                        |  27 +-
 src/client/ClientUpdate.java                  |  38 +-
 src/remote/IClientController.java             |   8 +-
 src/remote/IClientUpdate.java                 |   7 +-
 src/server/ClientController.java              |  80 +++-
 42 files changed, 228 insertions(+), 397 deletions(-)
 create mode 100644 out/production/infinitymonkeys/client/ClientUpdate$1.class
 create mode 100644 out/production/infinitymonkeys/remote/IClientController$Action.class
 create mode 100644 out/production/infinitymonkeys/remote/IClientUpdate$Action.class
 create mode 100644 out/production/infinitymonkeys/server/ClientController$1.class

diff --git a/.idea/misc.xml b/.idea/misc.xml
index a07277e..e208459 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,10 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-<<<<<<< HEAD
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="12" project-jdk-type="JavaSDK">
-=======
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
->>>>>>> 37a6af2e6d36ab514d01a93dbd5be6538a2572c7
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index d977b68..0a7fbaa 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,11 +2,45 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="688d774d-cfc7-4b0d-b00c-5ca931aba600" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$2.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$2.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ColorPallete.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ColorPallete.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$Mode.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$Mode.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/MenuBar.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/MenuBar.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/PaintGUI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/StartScreen.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ToolBar.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ToolBar.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/Tools.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/Tools.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ChatUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ChatUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/Client.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/Client.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ClientUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/DrawingUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/DrawingUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IChatController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IChatController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IChatUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IChatUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IClientController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IClientController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IClientUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IClientUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ChatController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ChatController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/ClientController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/DrawingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/DrawingController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/Server.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/Server.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/User.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/User.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/ChatScreen.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/ChatScreen.form" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/GUI/ChatScreen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/ChatScreen.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/server/User.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/server/User.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/client/Client.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/client/Client.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/client/ClientUpdate.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/client/ClientUpdate.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/remote/IClientController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/remote/IClientController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/remote/IClientUpdate.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/remote/IClientUpdate.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/server/ClientController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/server/ClientController.java" afterDir="false" />
     </list>
-    <ignored path="$PROJECT_DIR$/out/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -17,19 +51,6 @@
     <option name="testRunner" value="GRADLE" />
     <option name="delegatedBuild" value="true" />
   </component>
-  <component name="FileEditorManager">
-    <leaf>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/GUI/ChatScreen.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="323">
-              <caret line="81" selection-start-line="81" selection-end-line="81" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-    </leaf>
-  </component>
   <component name="FindInProjectRecents">
     <findStrings>
       <find>RMI</find>
@@ -52,25 +73,6 @@
       </map>
     </option>
   </component>
-  <component name="IdeDocumentHistory">
-    <option name="CHANGED_PATHS">
-      <list>
-        <option value="$PROJECT_DIR$/src/server/Server.java" />
-        <option value="$PROJECT_DIR$/src/client/ChatUpdate.java" />
-        <option value="$PROJECT_DIR$/src/client/Client.java" />
-        <option value="$PROJECT_DIR$/src/server/ChatController.java" />
-        <option value="$PROJECT_DIR$/src/remote/IChatController.java" />
-        <option value="$PROJECT_DIR$/src/remote/IChatUpdate.java" />
-        <option value="$PROJECT_DIR$/src/server/ClientController.java" />
-        <option value="$PROJECT_DIR$/src/remote/IClientController.java" />
-        <option value="$PROJECT_DIR$/src/client/ClientUpdate.java" />
-        <option value="$PROJECT_DIR$/src/remote/IClientUpdate.java" />
-        <option value="$PROJECT_DIR$/src/GUI/ChatScreen.form" />
-        <option value="$PROJECT_DIR$/src/server/User.java" />
-        <option value="$PROJECT_DIR$/src/GUI/ChatScreen.java" />
-      </list>
-    </option>
-  </component>
   <component name="ProjectConfigurationFiles">
     <option name="files">
       <list>
@@ -78,75 +80,16 @@
       </list>
     </option>
   </component>
-  <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="-3" />
-    <option name="width" value="1946" />
-    <option name="height" value="876" />
-  </component>
-  <component name="ProjectView">
-    <navigator proportions="" version="1">
-      <foldersAlwaysOnTop value="true" />
-    </navigator>
-    <panes>
-      <pane id="ProjectPane">
-        <subPane>
-          <expand>
-            <path>
-              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
-              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
-              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
-              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="client" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
-              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="GUI" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
-              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="GUI" type="462c0819:PsiDirectoryNode" />
-              <item name="ChatScreen" type="e9f4de52:FormNode" />
-            </path>
-            <path>
-              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
-              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="remote" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="infinitymonkeys" type="b2602c69:ProjectViewProjectNode" />
-              <item name="infinitymonkeys" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="server" type="462c0819:PsiDirectoryNode" />
-            </path>
-          </expand>
-          <select />
-        </subPane>
-      </pane>
-      <pane id="PackagesPane" />
-      <pane id="Scope" />
-    </panes>
-  </component>
+  <component name="ProjectId" id="1SVgnDiSFxSanFbLYY5D9RJaXPS" />
   <component name="PropertiesComponent">
     <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
+    <property name="UI_DESIGNER_EDITOR_MODE.UIDesignerToolWindowManager.WIDTH" value="387" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
     <property name="last_opened_file_path" value="$PROJECT_DIR$/../Git Projects" />
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
     <property name="nodejs_npm_path_reset_for_default_project" value="true" />
-    <property name="project.structure.last.edited" value="Global Libraries" />
+    <property name="project.structure.last.edited" value="Project" />
     <property name="project.structure.proportion" value="0.15" />
     <property name="project.structure.side.proportion" value="0.2" />
   </component>
@@ -162,11 +105,11 @@
       </list>
     </option>
   </component>
-  <component name="RunManager" selected="Application.Client2">
+  <component name="RunManager" selected="Application.Client 3">
     <configuration name="Client 3" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="client.Client" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="Eldar -Djava.rmi.server.codebase=file:&quot;C:\infinitemonkeys\out\production\infinitemonkeys\&quot;" />
+      <option name="PROGRAM_PARAMETERS" value="Eldar -Djava.rmi.server.codebase=file:&quot;G:\My Drive\UniMelb\2nd Semester\Distributed Systems\Assignment 2\Code\comp90015-dsass2-infinitymonkeys-remaster\out\production\comp90015-dsass2-infinitymonkeys-remaster&quot;" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -174,7 +117,7 @@
     <configuration name="Client1" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="client.Client" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="Max -Djava.rmi.server.codebase=file:&quot;C:\infinitemonkeys\out\production\infinitemonkeys\&quot;" />
+      <option name="PROGRAM_PARAMETERS" value="Max -Djava.rmi.server.codebase=file:&quot;G:\My Drive\UniMelb\2nd Semester\Distributed Systems\Assignment 2\Code\comp90015-dsass2-infinitymonkeys-remaster\out\production\comp90015-dsass2-infinitymonkeys-remaster&quot;" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -182,7 +125,7 @@
     <configuration name="Client2" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="client.Client" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="Hai -Djava.rmi.server.codebase=file:&quot;C:\infinitemonkeys\out\production\infinitemonkeys\&quot;" />
+      <option name="PROGRAM_PARAMETERS" value="Hai -Djava.rmi.server.codebase=file:&quot;G:\My Drive\UniMelb\2nd Semester\Distributed Systems\Assignment 2\Code\comp90015-dsass2-infinitymonkeys-remaster\out\production\comp90015-dsass2-infinitymonkeys-remaster&quot;" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -190,7 +133,7 @@
     <configuration name="Server" type="Application" factoryName="Application">
       <option name="MAIN_CLASS_NAME" value="server.Server" />
       <module name="infinitymonkeys" />
-      <option name="PROGRAM_PARAMETERS" value="-Djava.rmi.server.codebase=file:&quot;C:\infinitemonkeys\out\production\infinitemonkeys\&quot;" />
+      <option name="PROGRAM_PARAMETERS" value="-Djava.rmi.server.codebase=file:&quot;G:\My Drive\UniMelb\2nd Semester\Distributed Systems\Assignment 2\Code\comp90015-dsass2-infinitymonkeys-remaster\out\production\comp90015-dsass2-infinitymonkeys-remaster&quot;" />
       <method v="2">
         <option name="Make" enabled="true" />
       </method>
@@ -213,6 +156,7 @@
       <option name="presentableId" value="Default" />
       <updated>1571631720382</updated>
       <workItem from="1571631723795" duration="17601000" />
+      <workItem from="1571654347656" duration="17476000" />
     </task>
     <task id="LOCAL-00001" summary="Changed the join method to send over a reference of the ClientUpdate Interface">
       <created>1571646862883</created>
@@ -224,45 +168,6 @@
     <option name="localTasksCounter" value="2" />
     <servers />
   </component>
-  <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="17601000" />
-  </component>
-  <component name="ToolWindowManager">
-    <frame x="-7" y="-7" width="1295" height="704" extended-state="6" />
-    <editor active="true" />
-    <layout>
-      <window_info id="Designer" />
-      <window_info id="Image Layers" />
-      <window_info id="Capture Tool" />
-      <window_info id="UI Designer" />
-      <window_info id="Favorites" side_tool="true" />
-      <window_info id="JavaEE:App" side_tool="true" />
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24939272" />
-      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
-      <window_info anchor="bottom" id="Terminal" visible="true" weight="0.26923078" />
-      <window_info anchor="bottom" id="Docker" show_stripe_button="false" />
-      <window_info anchor="bottom" id="Event Log" side_tool="true" />
-      <window_info anchor="bottom" id="Messages" weight="0.32867134" />
-      <window_info anchor="bottom" id="Database Changes" />
-      <window_info anchor="bottom" id="Version Control" weight="0.32867134" />
-      <window_info anchor="bottom" id="Message" order="0" />
-      <window_info anchor="bottom" id="Find" order="1" />
-      <window_info anchor="bottom" id="Run" order="2" weight="0.32867134" />
-      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
-      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
-      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
-      <window_info anchor="bottom" id="TODO" order="6" />
-      <window_info anchor="right" id="Maven" />
-      <window_info anchor="right" id="Palette" />
-      <window_info anchor="right" id="Capture Analysis" />
-      <window_info anchor="right" id="Database" />
-      <window_info anchor="right" id="Palette&#9;" />
-      <window_info anchor="right" id="Theme Preview" />
-      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
-      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
-      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
-    </layout>
-  </component>
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="1" />
   </component>
@@ -276,208 +181,19 @@
       </list>
     </option>
   </component>
+  <component name="Vcs.Log.Tabs.Properties">
+    <option name="TAB_STATES">
+      <map>
+        <entry key="MAIN">
+          <value>
+            <State />
+          </value>
+        </entry>
+      </map>
+    </option>
+  </component>
   <component name="VcsManagerConfiguration">
     <MESSAGE value="Changed the join method to send over a reference of the ClientUpdate Interface" />
     <option name="LAST_COMMIT_MESSAGE" value="Changed the join method to send over a reference of the ClientUpdate Interface" />
   </component>
-  <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/GUI/StartScreen.form">
-      <provider selected="true" editor-type-id="ui-designer" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/client/DrawingUpdate.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="170">
-          <caret line="15" column="28" selection-start-line="15" selection-start-column="28" selection-end-line="15" selection-end-column="28" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/GUI/PaintGUI.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="186">
-          <caret line="218" lean-forward="true" selection-start-line="218" selection-end-line="218" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/server/DrawingController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="16" lean-forward="true" selection-start-line="16" selection-end-line="16" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/server/Server.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-650">
-          <caret line="10" lean-forward="true" selection-start-line="10" selection-end-line="10" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/remote/IChatController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="12" lean-forward="true" selection-start-line="12" selection-end-line="12" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/remote/IChatUpdate.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="170">
-          <caret line="12" lean-forward="true" selection-start-line="12" selection-end-line="12" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/GUI/ChatScreen.form">
-      <provider selected="true" editor-type-id="ui-designer" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/needsDebugging/client/ChatUpdate.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="68">
-          <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/client/ClientUpdate.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="663">
-          <caret line="39" column="31" lean-forward="true" selection-start-line="39" selection-start-column="31" selection-end-line="39" selection-end-column="31" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/server/ChatController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-939">
-          <caret line="9" column="45" selection-start-line="9" selection-start-column="45" selection-end-line="9" selection-end-column="45" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/remote/IClientController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="187">
-          <caret line="12" selection-start-line="12" selection-end-line="12" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/remote/IClientUpdate.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="170">
-          <caret line="12" selection-start-line="12" selection-end-line="12" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/client/Client.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="119">
-          <caret line="133" column="104" selection-start-line="133" selection-start-column="104" selection-end-line="133" selection-end-column="104" />
-          <folding>
-            <element signature="e#892#893#0" expanded="true" />
-            <element signature="e#923#924#0" expanded="true" />
-            <element signature="e#969#970#0" expanded="true" />
-            <element signature="e#1002#1003#0" expanded="true" />
-            <element signature="e#1059#1060#0" expanded="true" />
-            <element signature="e#1102#1103#0" expanded="true" />
-            <element signature="e#1157#1158#0" expanded="true" />
-            <element signature="e#1194#1195#0" expanded="true" />
-            <element signature="e#1252#1253#0" expanded="true" />
-            <element signature="e#1291#1292#0" expanded="true" />
-            <element signature="e#1427#1428#0" expanded="true" />
-            <element signature="e#1467#1468#0" expanded="true" />
-            <element signature="e#1506#1507#0" expanded="true" />
-            <element signature="e#1542#1543#0" expanded="true" />
-            <element signature="e#1604#1605#0" expanded="true" />
-            <element signature="e#1654#1655#0" expanded="true" />
-            <element signature="e#3373#3374#0" expanded="true" />
-            <element signature="e#3411#3412#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/client/ChatUpdate.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="114">
-          <caret line="25" column="65" selection-start-line="25" selection-start-column="65" selection-end-line="25" selection-end-column="65" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/server/User.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="186">
-          <caret line="47" lean-forward="true" selection-start-line="47" selection-end-line="47" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/server/ClientController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1602">
-          <caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/GUI/ChatScreen.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="323">
-          <caret line="81" selection-start-line="81" selection-end-line="81" />
-        </state>
-      </provider>
-    </entry>
-  </component>
-  <component name="masterDetails">
-    <states>
-      <state key="GlobalLibrariesConfigurable.UI">
-        <settings>
-          <last-edited>JavaFX-11</last-edited>
-          <splitter-proportions>
-            <option name="proportions">
-              <list>
-                <option value="0.2" />
-              </list>
-            </option>
-          </splitter-proportions>
-        </settings>
-      </state>
-      <state key="JdkListConfigurable.UI">
-        <settings>
-          <last-edited>12</last-edited>
-          <splitter-proportions>
-            <option name="proportions">
-              <list>
-                <option value="0.2" />
-              </list>
-            </option>
-          </splitter-proportions>
-        </settings>
-      </state>
-      <state key="ProjectJDKs.UI">
-        <settings>
-          <last-edited>12</last-edited>
-          <splitter-proportions>
-            <option name="proportions">
-              <list>
-                <option value="0.2" />
-              </list>
-            </option>
-          </splitter-proportions>
-        </settings>
-      </state>
-      <state key="ProjectLibrariesConfigurable.UI">
-        <settings>
-          <splitter-proportions>
-            <option name="proportions">
-              <list>
-                <option value="0.2" />
-              </list>
-            </option>
-          </splitter-proportions>
-        </settings>
-      </state>
-    </states>
-  </component>
 </project>
\ No newline at end of file
diff --git a/out/production/infinitymonkeys/GUI/ChatScreen$1.class b/out/production/infinitymonkeys/GUI/ChatScreen$1.class
index ad070b4025d27146d6f511cc46e339e0c5c90c9d..e5351eda8653b944c5b5a1c45e528d33b5f893e6 100644
GIT binary patch
delta 342
zcmZ3;GleJm)W2Q(7#J8#7~(h?gcuA#gb^2mFoQ7%g9!(NDLaE17XurEIVXb!gC!S(
z6@xVggAItb<zld7um=$i+zgHkPV5ZMTnzjSE?f*246f`9ZtM*18>6Eb+1=O~JlGkW
zCvRgk7WL#|kYMoQVGv^w=V1_G5Cw6)Cv!5zrus1WvNQPcF!(bBurmbmFa$9KGcpJS
zmS&ceWagzS6sHy!XXfXD#6#E_LU|a%7{YlNA{Zjs8KQU?q8UOM86>h2%M$gAax?XV
zQgic5Qe7*OQwvJKnqnBdc^G0Df;XRLGG=15o&2ArP1TWsi@}9KkinHfl);@rmcfg`
zfWe=^n8Am^gu#!&f+2vxh9PM3Dpq>~O?Cz?Mg~T925lB*24)5w1_lNu23-a{1_lNe
V27Lwt1~~=>1}+9h1|bG8000|IHt_%e

delta 331
zcmbQjvydnH)W2Q(7#JAL8DcpZgcuA!gdrD$FoO{XgE0q#2|I%+7XurE87G4|g9R6Z
zC4&_QgEfe@;bO35umchH+zbv3j_eFhTnzjS&Rh)U3@+>puIvnM8>6Eb8QmxEVKi3o
z;9-zp@ML7*@JlT&@yIVO;b9PC5a(eKVGsq$cui(uigoa2@L^~0<zet+@MmWT;9&@4
z2x4Rq2rSJkDap)BS13*`F3!x)1BnN-GlcLkgffKjFoZKiuroyRFhnr~PhQ9*%Ms1s
z#lsN85VZLilQ9#c_2geHZL0PRTntVOf(*_Kq71GKvJ4&!1`NIo#tdEzCJa6d77Tt2
zHVgrim$KSh2(dG0GBPl-Gw`!8Gq5mdF)%PNF=#XBFfcH%Fz7PqG3bLubQ$Cr7#O%1
K7#V~ZzyJWpNiiV+

diff --git a/out/production/infinitymonkeys/GUI/ChatScreen$2.class b/out/production/infinitymonkeys/GUI/ChatScreen$2.class
index 07582e35529293a7e6d54c86eba62b526188a63b..85463d202dcded639b7ad7d60bf5bb0d22da1512 100644
GIT binary patch
delta 1688
zcmbO%{8GIB)W2Q(7#J8#7*=sIs4#ePF{m<laWQx^_;4|JF!+K9KQ0D;h5!zRKoA`S
z5((yF2w@22WC&vj=U|B7Vu)mj0trWRF~l&$f=r0xV2I~pNMJ|=DNN#KNM=X@5vlA9
zX<Q6q4Cx@%86de#Qx1kKZiZ}z9FR~hh{yvG`5X)dAmKs~r-*~07{n=IXDDT7C}U?R
z-#B$Kqd)~aLnS*y8d$K3ouPWN6O*x14G)7lg9Z<SCPOVdLlqB09YZ}2Ljyx24?`0}
zGdn{I4?`<M8zTb)4?{ac2M<FhLl-+kHxEM(LoYi+9}h!6!-UEEnItSG@-R#S$xmjO
z!p<<2hhZAXnCT#$%#JxZ><kq=3^N#J@-WO|Xk%xn<YAc2Fo%a>F2lUZoXoQI^BHP+
z7#4u+T*$D9kwL<>BC|xHC_g_}A*r;aBtK7~peVJtI5mZxp_+$bG02)FARS9VI+ig^
zVPp{Z&P>i$$S*BH)4;>99AwW5hDJsP#ekyx-29SMg_3-Q+{C=Z^wc7#YF?Q6JPa!t
z=1h)Yejc8foSa%*tYTnbz{sGk;o~0asqdVTSQ4CEl$x4nt?84MSe96!UtFG<m#**S
z1a_n~BLf#yn;}S>78Y%j`&h&#cd^7Pz*HK6R4QVsocx((F<g-`NRcL{qRs1BWf{3)
zMwu8GOuo-%SI?JPky(OpEW%Z$AY)*v%|INE?9Als(Bjl0gd%g0ICo-kab|j+V@hsj
z9)kjd3WF*GBZC?PqksS?tuQb!FflMNXfkLqFfwQ}FfiCLFo8w5w6wP}OpavduGe8;
zU|?flWME)uV9;e?U=V}IGw3lGFn|CT*c?U%Mg~I$BZw)?rVK0$tPBi{Dcai@n6<Vr
zFz#SrS;kNUVX<ywVDp7Ch1j<-a6s6c+Zed~HZgDu@oZz@g$VI&W8k0sm|a9{2LtCe
z24S6@3?j@7;maAsb;0tJc{!x&?<1^`SjJ!hmH?@i^aYtEwT*#S2QDVOlR=t^0mR+L
zAhVo-!%ue`gZOfWIS3<UmoYel<iQq7LR~4hje&m~g8<lZ@~8&t*6(Cc0K19HibawI
zY@8p$IK^cQ4tR}ILNjhBgEER~8yQ#_3>c~yY8k{B7BK8*IK&{v@R5<5k&i))(Vj7q
zF{YkDjDeW}6i15~G#D5dni=>QS{Wo6+89(B+8GQOx)>}NdKlap`WONkCNQKiOkt>E
zn8i@bFrA^EVJ1Th!)%6jhB*vV8Rju8U|7hof?*NE4u-`H`x#a+9Aa3?aF}5^!*Pa{
z45t`YG2CES%kY?C9m7Y4jSN2-HZgKDY-i+SsNcdUz_5)`lwl{M1j8;yHHN*6h79`{
z?HLX-x-%SNjAS^*7{hRcF^=IVV=}`@a02RM;A3!SFlI1jFkxU}sAphhFl8`fU}2DC
z$YwBSFkxU~FklE_uwbxcU}iYXzyg+KW>~<W&S1r0&A`Mc0N3%D!KfZ0$ncRt1#BQQ
zV;oGH5tJSwTI^x6pfm|fxr`|cHVn25j0|=R3=GK(y#GMOsXaS`13QELF9u;Jb_U0v
z3~WsQ8LSwX*%_SJ8JyV}To@SH861BxurU2+aAsg(X9$3bvoqL(r64-MQkXIf%nYvJ
f9OuU1&cMLH!r;Ncz@X2-z`(`8$e;qsObiSFy~=0-

delta 1103
zcmaDUK3TZ_)W2Q(7#JAL876Zw$TB!`F~~7EaWPmiICC=CGq`{VS1txO26qky4-oAM
z67k|<@MiGgWbkG1<6!XTVhCUe1PKRmF$6P&fJ_MGU<l)4uwV!WDU9G|uw;k?5mD?6
z(Oe8-3^5?pu^_oPF%E`!ZU$?H1TF?&hD3ITBzA^mc7~LVTNX2NrLr@mu`{HzGh|Fo
zXEOH6WMts*OD!(($S*G8VNhUD<Y7=^$l_thX2{`T$YsdmVaR7FU}q@gVJKoKW@KRC
zVJKlJ<zXmeC}(G=;9;m_sA6ZR=3%H|sGWR=Ny4a(hoK%M-@wqw&d|ie&<rxB1*DVN
zF(-$Ip_QSHhoPOJn1`W*p_7N9i=lh64zsLL56H@1kZpYo{frC}t`(Uj3Pt((xe7_8
zB_;WJ3I#=}#l@*9JPZ>+rcY#;H2Es?bCcrKyc8#}0!9W=pRB~P#0vf5^31$+eJ_Zx
zH6sI0az<i_XI?>RiBo<BBZI_bA=WZ3w&a}5)VvZ#2L8z_SQkr*f(-IaEiO(>PYua;
z&d*KC2P+oeoXsZ7C@hp(ky#Rwky#v+pPvgcc=BX+I~^8~I3oj#hNos2g93vrgB$}R
zgFFMHfB+~U85kIt7#J9o7?c?p8B``aa7fpyGB7Z(F)%VPFr+i6F)%QQfmLuZs559X
zfB+X*A0q=JgBF7}NEZVG<2eQv237_JhNIfs7?`!TFfeXmU|Ggc17WdlV_@@zGKJW;
zF>pZGoZA?<{5COg3-N4Y;DreBZDZiC-^L(d#UjZfB)E-1XeNV%E<}oR8-uXUP6iQX
zhVbPK;z)v$EIK<GL|H(>Tp)eh7{r$|I3V01v5dh8ZiJ*S$U>=Y47@sUG2xvI(o77@
zI~Zh^GjRCn)^B4F-^jqkV8BqtP|G03uz+C?!+r)a24)6Oz(g^KF)%P>G4L_uFi0}w
zGN>}-F&HouGFUJaGq^L9G6XV|Go&$8GgL7&GSo8EG1N0OFtji<F|;!@GfZV@Wmv$_
z!LWj%lVJx#7sDQgeun)FJq!mJ`WTKdOaupZ5JNo&gFAyUgARi(0}Dev11p0bgFXWb
zgCs*Xg8_ps*kK_Ih73jw%nSz@SirK(3=0@k7>pTAz%g|c9#cmdOc~4=7#YkN7#Q>!
z*#Cj@lm$D3B|C$~F9u;Jb_TJZ3~WsQ8O#}&*%@Tn8LZeDtQm|M*%`!sF|aVOFxY@o
jhb@C00|NsKgFOQSg9BK^o<W0wfq{#GkwF%eAQ%_`p=Z=4

diff --git a/out/production/infinitymonkeys/GUI/ChatScreen.class b/out/production/infinitymonkeys/GUI/ChatScreen.class
index d4722fd42983973ce3fd9102362ac5251df9d15d..71a58897e8c0cc4cf66f42a9f276ff7ab10ec343 100644
GIT binary patch
literal 8074
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

literal 6649
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
asJ52`5ey6rA>c|llp&0Pfq@MyF9`r~6_K(4

diff --git a/out/production/infinitymonkeys/GUI/ColorPallete.class b/out/production/infinitymonkeys/GUI/ColorPallete.class
index 8df577c8690fd5e0b3d5b25f8cf23b457129201b..0795201c54134b35416d2e9bc194cb3e30720c7b 100644
GIT binary patch
delta 17
ZcmZ1}xKfbg)W2Q(7#J8#HgYWF002J~22%h4

delta 17
ZcmZ1}xKfbg)W2Q(7#JALH*zfG002KE237z7

diff --git a/out/production/infinitymonkeys/GUI/DrawingArea$1.class b/out/production/infinitymonkeys/GUI/DrawingArea$1.class
index 3bf3599b49fa2317bb5c547aebf4ecbf58871f0c..153fe6661e260df1c185996c6d8e8f84cc9d88a2 100644
GIT binary patch
delta 99
zcmcb|c8-nX)W2Q(7#J8#CUUG}W@nI}xXpCqH%TUUQ3hXj1`NUvB*wtZAjZJJz{DWV
mAi==Ez``KOz`&r!z`!8Hz{J4Kz`(#Dz`-EJAjzQRAOQdba1F))

delta 115
zcmX@dc8`tY)W2Q(7#JALCvvQtxYLxIk%7Z6wYbD1zqn-MJ4q&gRt8^o1`NUvB*wtP
zAj-hNz{DWNAkM(Rz``KGz`!607Lj03V_;wqVqjw6W?*1o5a3{tVvu0aa*zN3v!xKe

diff --git a/out/production/infinitymonkeys/GUI/DrawingArea$Mode.class b/out/production/infinitymonkeys/GUI/DrawingArea$Mode.class
index d3026d6d41527de6d5356b7e70e33b406f1832ec..300ae0e92370228635ee2d2eda3cef4cc4aadaae 100644
GIT binary patch
delta 194
zcmdnNxs)^J)W2Q(7#J8#7+g3RSQw1B7>pTA*cs&68O*pCL>SCLgarqKC>H|@g9S*1
zB?p5fh_>QjkOI-x91PMR+J=Kc21MI(Fvx;vJ9Y;9jWGupg?Sj{K*q`QFgP$cvNJd_
zGKfrU6k+9IP+@SM9L!`kc{Y>00Ka>vr@l*3VtHm>x?@pl;^rMp*BKR=8FUyJ7?>FJ
Z84SR*A%i#r0|OTWBLfSADTA1U1OPtB8vOtO

delta 213
zcmZ3=xq~z2)W2Q(7#JAL8C*FTSQt#W7)%+=*cs&68O*sDL>MeUge3=qC>H|@gC$6X
z6$gVPh_>cnkOI**91PMR+LnVs21MI&Fvx;vdv*qgjWGup<ro<_{8EccJo1Z6*clvo
z800{P%kwZeF*q|ah)ir0VdY^^VQ`u3!DJ@D?;h%@?^2Xlo|%{KSd^MLxrRw`^LnPM
pjG8PAIt&a9Obq%A24LEd!3aznGl(-VFmN$2GO#chGl)4z008|>9-ROH

diff --git a/out/production/infinitymonkeys/GUI/DrawingArea.class b/out/production/infinitymonkeys/GUI/DrawingArea.class
index 11e1ba0dc65316974a4a077932d3b3990b954bd1..e8789e03a5bde6470e969558471b15342c72b15e 100644
GIT binary patch
delta 1717
zcmccQeA&7F)W2Q(7#J8#7_+z-!WfQlGO#lo<zx_GIL5`m&Tt$=oM2}-$<A<!i-C>d
zG)Vdkh;^2o;T(u_o|EAM!$lBriHm`o;W9hJ6)pw=h{CI!4ABhNK&q~Th#MfoZi0wg
zAmTR2zB~2o40pL0q!{jjgzkfc9&j-{WOxM9`WR&56A<x~i{Tl=a}e=@o8cwHD|Uw0
zTnwrVZ#Wp<vNOEnV0h2PpuzBgi{T@~Cw7L<Tnsu4Z$O+cAXC1Ah;Ja`JBawf#qg8i
z7sx%oK}7u@PKHQ^zg!H_4FA{}{&O){FdSiLWaMJ70?|xd3^pK|nTx@Wkp)Dsax$<p
zvT-u9Gjeb-{AA?hV&r1v261^nTwV~DkDZa9i@}3YfSpm0i;<mC2t)|8IjAsz0T+W8
zqX-uRH=`&>v4I$y16Y`Wft^vDiy?$jgq=}>ol%mVQHq^WnvsFWGcPZ-$T=smxHz?#
zol$1<T1FivW_E_VlW#I_6=XQa&TxgD;S@WgEIXqdJHzYAlUdZ6*%>}>-o=v4#3(;m
zj$K!VhoP9EnTH{nA%%xgfgy*7QIS!Jhf$ePg^@vK@*F;y$rIVdEL3?I@)-(v7}Xfn
z85xAL63Y_x6U$5V-HQ?nGBT5kja+yb3K@#n88vtqH5qky7<C!-co_8=4JO}bm#8;n
z$m3zi1rezXX*`TZjK(~SCXA*$jAo4HJPdUV^^6Qca3ftZb5rw*GxPI!7>XG!co;1~
zj%#6PWoMM-VYFhj=3%s9$m3zO1v%1=p_ZM|o`=za(UFJIiP4#zQI3bvh0&FfK>}=E
zQEsMwP^wUFeo3lpMRICE3CLJRH-_fPO&o@t?(B>nJdB=<UX%B5NEmxF`tUINf{gY9
z5&j?|fFX~aQJ#k}kTHmdA(J74hasIIgNHGgF@%RPlrd~F3um8iIAa74V<ck)4?`A1
z20LRE55pdYI3C7m#xQoq7#_x0#yB2^y&#cz#xNen1ja;01`)91K;f63nxCuhlbM%l
z<if+4#F#w!KBtUSG|0qw5Rt-|%EOq(P|L%Z&X~c-AUWBeQ*yH&S2-hN=H_MGGuRk8
zCff_Cus1R=GBhzXPtFo5XKrC=o%}@TT74TsI|D0&3WEnIUKp4dEE$X$Iv8>om>K*T
zWEnacx)@j(7#MOHDi|uk2`rbPo1uq+k)eTsfkBgjRpJkW3_C-w6FWoSe+C@}R(6Jd
zc7_S;4880Oee4Vq85r3aCjDSwV_;;M%+Soh$WY3_z);G-%D}|Hz#yZwg<-O#h@a9F
zhN%pUAOWZ?AhX#Sn8Mf@rm-+EGE8TfF?pp(qz*_KNS_E)83Tg|!%T)*P{*({F!@0>
z%x0J|Sx+<$u0a&8K@?SkH&nwMhUUpTL>-yuGBi*ABkIUJkD+<8gP0@pe1_)9En<$$
z3mBRwpAd6oUdYfqnMd4_c@abN<N$FW=EV%nljn<jFfU<fo?Iv?I{Cl2Df3dWoakg9
z33KLU49%0<B>b3{L*?H{m@=<`vMnV|nOB0@Ud*e&wCLo^lBUe7q52i1%$e6f+4)lD
z%xl4F#3vt+GG<=K&^-B@lpphYu)M_Ncxe;n4Ghhbr%C%UZv=~pPW~fp&b*0X^W-^l
z@{>blB)O+BY++zzU}V_Juz7N&%x*~t9~9Ia3@pDH9C&%T7#JD0F>IdfEBj3hA<N3Z
zY@i^@z{s#2Y?#92N;wI*VLQNL7I6MfhRuub%Q0o_V%W{V#=yXs4-0w5d<KY-;*1fX
zgwMdlpvLG4O7INK4Cag$4Eq@37+4rQ7}Xi}GsH2lg435Y1N(o53I;ZCqB_9H$jHdR
zU?lRJ!NFEcn1PYuAlPz+$?1v`{1C&L7!ENoFfcJ3o;*uYMuw4rfs?_C!3#{=Fob|;
MMlFU5jM^-m0A|8&6951J

delta 1714
zcmccYe95`~)W2Q(7#JAL8I!me!Wi~*GO#lo;A9YBILO7o&Tt4s9A;-Y!p?A%i-C>d
z7)bg!h;@RU;UtK2ij(0q!x<29mWzR#;T$`|c`gP4h{6k;4ABf1L8>l+h|3_uu7HTE
zAmSRxzU%eu3^%wKq!@03gl>U^ZgVm8Fx&xYy$dq&9*DTl#qfaPA&7Xy&Ctv6n4RGX
z7lSIpQx1k_><rI27+!EOXfV9wVtB>ynw{Yd7lRJNQxNAZ$dq>=;ysA?03tqeG3;Xa
z1ai-35K;eylOdAfD;GmF!#8$@?_3NP4Exy`esVEbf#_dc3^pM8Hy48)!ygdw7o_PQ
zC&Pb61}=tOjEr22OpMGRE(?gu3gWV{GqQ6rcrbFXGjeh<{Ac6>5!`GJDhy!2#o)!r
z!^ObO$O}?zz{lnQ7G_{zXXNK%2w~)5XB1#(6l7-<VrLX)WZ?14%S$bC&PgmTPAz6<
z6xqC%QHN>r9p<g9jH2v}Vv`rKsBb>QlFY;?KG}d>SDlf8+b^}a#5XlJDYdAWhoP9E
ziH9MXA%%xgf+2^8QIb)Lhf$hQW^x(3X}v5DLq0<R52GBTJR^f}R$^JAeqwovzI#z(
zK}KeBv5^Z8Lm@*EJEH;*qavdU52Grh8V{p7qXr`bA6&6>eolT74?{M{a7~6h9)?^H
zk;;(9!>Glm&BLg}sLR8s$EeT4P{&Zu$RGsQ=#n{Ei-X(HfQQi#<iuu%79K_;Mq?gE
z6NWq<MpKYG%@}Ig8O?bZEf_6%7_Atsc^GXNZ71h&$THh8G)?Z|FbuS3XLR6UbYygb
zxj!>s-_zf<B0067Br`vchtZkQg@@4<WTG30a0d|{Ai|T;i-#eTA%lk@ogssV(VNkS
zhtZeOZ?Yg~pP@fv01smzV*n3B7DEO*V-OF+HikGJ#$ZN2cE%7M#!$vE9)|58k#I&o
z9>xg9$jKKtC7GibqbI-Nlo1aG=?(`GF^sW1jByOLJdE*-37h4)CNnZ7Zr;p2gN>1W
zvX77oyA%T>LnA}e<Z_{M=4OVL$sdKT)weRVF|abIFnEB1o`H$MlEIjvogs&TnZchy
zmZ5{8lYxbSfgzWnf}s+eY;qa87`ho485$TE7&IAJCH^qTurqKwu`>w#XV76_WoKY#
zXXs&P;AUqKU}xxMU}R@d{lUP-z{t?Y(8R#VP|Co-P|Co{z{J47AfvT~VX~WupHe@=
z1O`Ts0Mr(c+3XBVVeAY#EDVec6B#B=-X;>M15yUkCjwQ*z#zgfnPCdlG3*RXeozfl
z8757(7L9{z5QS?HMb+R9)i8~rY4Sud;mJ2d^_Zta*)n2!%rl_u1Tj74nP9df^DHne
zJo$x~9`kG{TSr`vc@9I<<XCYZ=D7?_lh=rQFwbLXnrtX3Hknt#gn2$g(_|M3ALa!N
zO_L`}_%Sa8%SlZBBVok62+a0kUJRy1Cr_3%WnKbii%otgX~Mjep=q*&ln?VVhNj8s
zQa;Sf!E&OLPfM9HuV84J%q;E4yb^4;#N-@l6XsP6O_LW(`!TO(Xqx;*+J|`!!`jI!
z<>V(P$w+edGpu7^WME`i&#-oKo6K%W2p<&O91JYK860?dxfmE3HZZK693}fr3?a+P
zz-*u(%D~955p0;k<Tg18xM7>XVis`zW`?zk-^el5Z(-QVz{bG9m=6nm#(V~dk>ZRI
zpcKx)#GuCL2};=v%nas?77RNW;uu&MJQ&p(b~3~<u!7T=Gz0s8h6)BYaKhTf$jHdZ
zz+fcuo58_WOqhX@VK>8CXsR-0U;w8o#*JV`+2jLqoRdowC8QyCGBfM}i|=Is)jn(t
lObn3>(UWH@%E&PMVBlo1V(<dfHVh#kno)`2G@~*LCjd!XX4wD$

diff --git a/out/production/infinitymonkeys/GUI/MenuBar.class b/out/production/infinitymonkeys/GUI/MenuBar.class
index 9d80cbd3e3d7cc30dc751bb56542a73faf046c17..a24c9fc484961be8f3ca5d24268b42ed44163d5e 100644
GIT binary patch
delta 17
YcmeBV?qudT^>5cc1_lO`jU0`P068iJ&;S4c

delta 17
YcmeBV?qudT^>5cc1_lQ6jU0`P0694Y(*OVf

diff --git a/out/production/infinitymonkeys/GUI/PaintGUI$1.class b/out/production/infinitymonkeys/GUI/PaintGUI$1.class
index 05dffb8fa1c36748b9542754e26f8c8e15359c41..cc90a9c6246be3e81b09d9081b834ead1f6cc592 100644
GIT binary patch
delta 192
zcmX@1v_nbz)W2Q(7#J8#7#TSk{26k&7y=mbxES&o3OE^Z7z#l|5f?)-LkTBC&O~i_
zl^li|kXS8<sN-S~XQ&4e4Im|rAh9Npx;!!N9ENr-h7N{K5VwCCW6owZ#!g0Nc81=`
z>zRx;zhQdA%aXy)kTLm=fQ|)-!N>;!+!{O}@PmPqftewbfq{XEA&ViKfq{XAA%}s1
QA&P;4fs28W!Jh#P08-H=3IG5A

delta 208
zcmdm?bV5n{)W2Q(7#JAL85ubl{26k&7y=mbxES&o3OE_E845u}5f?)-LkTBC_C#%Y
zm28F@kXS8<sN-S~XQ&4e4Im|rAh9Npx;!!NY=(9&h7N{K5VwCCWA<h>#!kk`o0yEa
z85ubIQj1GG@{3D0KVf>q%OcOtAV2wvfQ|!*!N>;!+!{O}@PmPqfrTN1fq{XEA(J7C
dfq{XAA)A4LAqOmy%@D=Fz`(`8$l%Wa1_1poC}aQt

diff --git a/out/production/infinitymonkeys/GUI/PaintGUI.class b/out/production/infinitymonkeys/GUI/PaintGUI.class
index 165d1af870b042236228c40f2dae99862c758f71..592ac85cd5cd5ffa4ac44a16db9b3f65232a079d 100644
GIT binary patch
delta 406
zcmbOu-6E}Z>ff$?3=9k=43D@Nq#5ei8R|J08aNmlIT)Ha7@9d4S~wV5IT->N+Bhbv
z>(_%=)7cqjfasa*470cxWEtu}oY^2^4v3h`&M=RQL5X2Lh_e7hEM#X`#KoY-uo%Qy
z!p^Xii$Rm24rJXjc829#3_1)eKr$;qtW_Y^Y7lD;JHuKIhIL#FMhxpgf*ZIPjC>hZ
zaWHHI@iuWVYzEO=I2g8q=xrPf+d=dW4u+i|dKbv}-5d;iK=fV?hJEY|`#Bg6a51<-
zOgqTM;5u1>QGuDA;pAoy#;r`7xmgSt8Ba~NVRc|W&2VONJ*$l9SssQIhGZUwa}4Ks
z7?MD&3k(-0Z(vnoyfpbTtDC@OhAWH=tbX}LB^f*nml>{3)?~9+yvA^yhv5dpO&*3@
z47Yh0?l9ctVYmkpyU*}|hv6Z^_064ZAJ`<B7-|?87?>Dp83Gv?7`PZ18I%~n004~6
BUc~?a

delta 431
zcmZpXo+GV(>ff$?3=9nB43D`Oq#5ej85%ek8aWu6I2f8a7+N?OS~(cnI2i&aYU$T=
zFihuU2w<4O&M*^1&thko&BY+gP!HnF0TFXS#5{I}`CJT23=2S<g&<-PJHuiw1~rBy
zAkI>DhGkp~nhf<I>z1=Ktl(nMVOR;0Sp{OP2C>$FSZmoC)^RYb=VCBo*Z>mT=nZ17
z=3v+a;%(+&*aD)raxiQI(c3u~c7W)e91Oca^lp&xdpH>Og6Mr54Exy`4sb9W<YI6I
zn>JaMQGo-*Imym&YO@F9Rwh1125!I9;u7D~+@#c^;>~}V4Hy|uPu62~U_Qfec5)%B
zjOaNYh7^Wm9)|M_7kC(wK&*=lmnJV_Rbsq6`6#QKz!iq8j0~)P`9&oeJPcPDu1%I^
zvsb*%aD#{8Cc`ZrhT9Bxco^<7+~Z-m4-$L8@Q{b$5yOqm)odTwl$jZ77#J9s7-|{n
X7#J8>7#JCp7y=m>7`VVJ1`q%MDE?&#

diff --git a/out/production/infinitymonkeys/GUI/StartScreen$1.class b/out/production/infinitymonkeys/GUI/StartScreen$1.class
index 5f3fca41b1bc9a34e71f5e61b6c7e4a5112503d2..1a7d5b7bdb4598ed53bab3ee9d3b760ec703980b 100644
GIT binary patch
delta 589
zcmX@cJ(;Ke)W2Q(7#J8#7!o)cgc&rs7(^JfxEQn<bhsEa7<55|9*EHAVlZGZ<YF*l
zFa~i=KrB-bVaCaz!C=nCV8LJsBCOaMthpHY8EiNhY(Wa`*ct5E864Od92ptdN-{Ew
zRSXyz1by5?J@tc25{pVU*2^$vI`J@wF^KapNH93FGq~_DxH7o$Ft{^#@Gy8Xc=0fJ
zGx)GG`0_CLG5E7H1n@8fG6eB31T*;XFob|up$uU>4B-qB><p1S3{ecxJPa`m&WsFv
zAUm8h5=(-Ui&9hbK&Hn|=4Vo7j$??QY|6B#J~25twYXTtz`%f!K|=%KB#3%zO`oj9
zvcwAg;_}SAbbT+U(vp(=JZnY<E~q{ukUk}B`jT@pQ}asnoxv264nvR*ZI}+8#3HEE
ztTlZm+cS$zwq~w`8E$M~FnJ$yy9tbM0@A7m(~8gucB6hyVqUs_a7j^SUb?kr*yJ#l
z2ICzJEXx=&w6-uX?qFbrP;A>6*taooKsZn_POumkSZp#UtE%7*2G;Ei0^!RUctB!8
rf;%SLv&JYhGpI5!FfcKwF{m>zFt9LaFfcI4F)%Q2F)%U+Gk^gAFyes0

delta 508
zcmbQtbBw$G)W2Q(7#JAL84@@dgc-EB7(^Jfxfpa9bU7I`81z7dK8P^jVlZSd;$kpn
zFadE*K`b*6VGiP2a4}diSb+#@b_N?R27U%x4hB0e1`P&#b_NG_21j-VCq@Rgl8nq^
z6$3^FK_B-}PyOJM#G;ao^)ih0&WsEkeyPPJ9{I&3JPcwC;yerz3@+>pt~?BG4DLJ(
z9t@s53|<W0JPbYzzU&NsJPiH}0qhKcJPbh$!8{Bh48A-Jp&(WmLpTpZ1Vbb{Llh4~
zG(!vzLo9;}BLg4EI_HeUlHlZ`)YLqX>2Zt<a?bgsIVlQx`IGsXB$(qFf+uS+E%M9C
z&&+cwEh)**V`LEZ$x19stk5qm&&*5L_ksvpGcvFx=VYell`t~!`#@Ow&R_v+Mh32u
z)QS?f%+#C|BSr=ZpUH*HVv}>3D-ptmlRq%G3knox<d?e^73CNCrWO|`rl(F`&C+1J
zg@I)mLx$EC2F5K6tPqNA8w2|`1`Y@ZD#i&G;{uCKj$>67+`_=Rok1XcIRg(!Oh|Cs
j<SDE%j4YEsvI>i9GB7YOF=#NzF)%Q2F)%U+Gk^gA!J}>r

diff --git a/out/production/infinitymonkeys/GUI/StartScreen.class b/out/production/infinitymonkeys/GUI/StartScreen.class
index 6144e540958fa2d41f60d7e6557e4fd56278e677..88ef04241f6adbc213948d6042d7c6c09d930b94 100644
GIT binary patch
delta 2236
zcmcaD`CGRB)W2Q(7#J8#7`AaSh%-2IGKe#{fCyI*;RYhyxfmoEJlGjLxfs|Pyg(w}
z91K3}48B|p+zftP4E_uO><ob%3_)BBd<?-L`4A8h3gU)=h;R@Q0U{#V8KT%3q8S-@
zJoEBWi=1;3Hx^uCR7^}xPAx80F)%P-WYEy?aS!#>4=zb8DhW<5N=?nP*7TXYkXcyM
znvsF2!hn&13#!}@q+A<|@`-1p<DhDcKx&k*sPRe8$xO{F(RT(@)(BILK{{Yon1DEH
znA#^ZGKn!WRTxgTXHu}?VK87Y<YACwkmq4gWl-Z`Py(?O7!-LJG#N}883fV%qhbh>
zh~Z&SXV92Dl}Uv=mLZOvA)bdJfgy47NhVcAO^|WQ3@SVfQVh~O3`q>hJPauesXPp6
z45mB`=?od0`I#daIWiecK~a`9IiE$GGlz>Im%)RPL2t4mo9yH@EW(WWlMk?nh!!$3
zuxogFdU|Sxfov`2VklxLnf#JPo<ozNjEkXwp?tCct2krjWDQmw?rMe_E`}<GT1EyP
zurW2Pf{gW(`&fNAG#MJX7#bLwCO={|;b>uK1u1KrEXSsy+`+}r39?uyE3quGLch2?
zGcR4=%O^1@HHV#{n~R}`!DDhJo4jZrBLjPJYDq|HMF|hX1O`Kp%*4ra*`x#}b1_U|
z@Ze#PVUPu-n`x7ev#ChVU}WGfPAzdw$t+1s%1Py6n8lF6#W0g$_GA|J9EZ6e=0rvY
zu%-Hm<t6$qnYpQX#hLke><kMS8CW%79$v)7u#jOfBLi1terb_HUSe*l6$iu8$s5?E
zxtDV>tYGi}rC*Q957<Q*S5N-RE-$l|i(wtZL`DX#;MAhB)FK7X04olL4U7y791NQ#
zTX9&{i!(?tfOt%x*kNE`U;;TDOv^FIgJ}f@MKG-d<})xTGpK<1stjrjAfV2m!N9=4
z#lXm*$)Lr+$e_)@z!1g2%D}|Hz#yfyoq<hjHv@a5mezKL?ClI3TNyaDw6`)aZv>m6
zQ_sM_AjH7Jz`!8Nz``KMAi^NVAju%kpv%C(AO<mlL61QnWDkQBC_OSTGBANsDAXcH
z1{Sa?PDX7ZE~Xs}JWzANE&{p0l7WN48p$|LxN)2eMhwQ042%qn3?>YwQ1faTSQr=?
z7#OUzwlJ`2ZDHWt#=xt!n}IJ<h<`hSz*Yu9tu0_Iw2eU+#AMsXAOfPdF^GaFmTe4T
zP!~)-#i?8m@&*sYK#08p91La*=1|M@!Im?CEn?jO2@nPb1~#w;POzgPnpqhvKw%)j
z!C=W?g+((94$bvolMuSC8EmlVX2zi#O|valtC{d=u18pH$6yb&+KPb*9A#`;+S?fz
zp`nH5ZAjF!LA(u?b6_xLU=(0t$b>}|QxAh610MqeQ^RhC+{o<=c|M?YC8WKZp&*it
zWj8}nBr|h8GxK(aQYI!4Rk4ks4yw{u2U!tF5=o7=&TfW=NM>dh7G^d!HbzFq?F`M^
z7}|F;bVhDx=<?Ii1xd4jq*(;mSdip<BDXX2TCqs72=#Acn4}}gvYVkEVvqm_Gcz-i
z$|;fC8KzpXYDuzgWtc9>%DjzXjwGwlylo8gbtG9q#<PNqXA@u(U}N0PurN}PVVZ!^
zc7`Qzr-1!y#U{yy&mWR(yXzSmA|Ym>_ypooc1d=jW!o4gNwP_@gDeGk8QrBTBDXWF
zwBpc`<k-r<B*`Yp0a6I^yZ{G_02?#Rbxg>P^N-xlu*!;4OOkVIJp-#Gr_h>h4C^J?
zBsoEP!LDIpLk<myXSgJ}@Op*|q#I;2wpg*^mgJJ;hO2-_Og$v#ApYf%<Pq8k@-LSp
z4@fC)|MF@{@@{2dk>nNHyp3VLB$p&FNIl5uIK2%@#tZ_C3|knsLX){510#b5s3-vy
bBSN5D0xDc3!37f|13S1xV_<Lu=Xxgq-ME&5

delta 1745
zcmew@dt0*p)W2Q(7#JAL8CG#Ih%%V5GnjKRFfmwgGKer(f(R=P25WW(8!iTR23ru{
zj*G#b!GWE@k%PgBi-DWL86@ZeB3waSHxS_tB0NBZCp&`|JA*eP1CM83UTTqZPGWI!
zYB3`NTR~!8YK|cz!^XbDjFX+2WrZ0TxcyR#OMFvvlTwR{c^K3fj3(DHi}9*4`0y~O
zFsSk{C^0Bcp2Msn;LG60!ywBb$Ijr-!w|p_IQcZQs-hZ$9uI>8gCY-uID-TaLl8qS
z4?_q;C=WvzgAoryI77r{L6!(cjz|V0E(Q^XsL6$_;%qTo46zJmllxeWwc;5W__Gqr
z67>_yOY}YSic?F9*%=ZU8Q3*EJv}`&!$9sy=3+=<NSXYaRbD}jA&rY6fgzodK?ttP
zIX|x?F*7f<h@ByGvKE^TM>aza7ef|9?&LT&L&p5c6WDw>)EEl67z!AQCO=^_;V5A!
z1<999R$$j)tKed&WH6iT$1cuR&Bai|U^Y3MU0$?~k%7H9wIn39qJ)Q`fk6)>(>QrP
zyOcmP7efn!84rUbgA^$2+a{l6SCQ;sWZ*7NEpbiBEJ;ktN#$YaVu;{k=w#@g%*K)9
z+zVnhB0Je7GdDG_I5R(wonZna1FHtir<1rCCNfNBWZ;U-FD+8YOUzBR;$WD{$RIX(
zJ(HLYJHvD?h8ZBsr5R*Emd^qu2{T3pelLGdKZS4)&k$E9f5#vf4u-jt-*U*S&F5lR
zz|hFZz!jWYRF+z#;2B`W!LW#jK^~%g2_pjo2g9<-8l0B(A`GGoARZGa8W|WEm_Qx`
z)6xtwU|N<z4ou5~`3#^q2lJH}lo>!kg+Y~pfq|8QkwJ|?oq>@-gMon|ih-4ZiGhJZ
zN^3g<qt<Q)rbsQV?F`Y|8JM>+uxM#-WnkS1HbZmr15WXJEd~Y#F^GBwZ3Z2Xp$t->
z)W^Wcz{H@-pa(V8k%0xQijz@Wh>d9n0|(R)1_lOD7GhwqWZ+=1W<VIn2{(?DL7%~Z
zfsuic!H~fSYFsS?3j-qq1A~*b))od%tt|{J+ZedCb~A8C3h``b;N8l=r?mx)`L{6$
zfS7FC7z9D|HU=RO#j=e-80vz_JGhj=-rxb7XbrJffQcazW*buvgCGMR0|QgTZid*%
z?F?}~pkUzF-p!B@$;PsqAt{oXnVESzLn;#!h|1W;kOx)htAj_4w$5&bf=Fg&78d4u
zHa0d!M#k+7#oHLlcQaH*ZfB_S)6oUVvw-AT1lU-R<ZB|gGt^qKNU{jkZ)0fEkz@fW
z1Q{g2!OYBzq_8D&J434#tCl3|R)%&-R_1LCJ(8?KecKrNbtG9qnpi=mvkBC*39vEl
zW|$Z$$S_U7Xgk9cxKqIXwPKTG!{-r@Y(XT%EEJDG9Lg@qE;MZ$Lz5(%Bs<7bOqbU0
zW|$GVonfXGhn6JAR)*P<Y?2%xl_1XxaIgrlF~eNPgzPx`$n6YstT?qKIkz%!N^%O#
z+s3d^l1-8mq!sKM7B=M2fcS+=k_*Ex^@y0$21yr0f^25S5-V2Rl3bG9APc}Mutp4z
zB#+Qykbk)(c|a;L{R{Ihua+e5R)(dL#k@kxw=wifa!K-nG=SWW)7zkA%OJqWu!3PF
sG&2Z-GY10$tJW3<{te(P$jl%H&RL*L2o_*424`9m22%zGaNc180G2aLw*UYD

diff --git a/out/production/infinitymonkeys/GUI/ToolBar.class b/out/production/infinitymonkeys/GUI/ToolBar.class
index 86440c28b7ba58855af71c32d05357aaef175bb9..a261bb8a4822e43418c1708eeb8e113b94739e4a 100644
GIT binary patch
delta 17
ZcmZ3-w2q16)W2Q(7#J8#Hgc#j0suVr1-$?O

delta 17
ZcmZ3-w2q16)W2Q(7#JALH*%;k0suV)1;79R

diff --git a/out/production/infinitymonkeys/GUI/Tools.class b/out/production/infinitymonkeys/GUI/Tools.class
index 9620099b39c681d78c05e11f2192a974d533a6ef..b27fffe3334a1604da267722f9a0490a7cd01d2a 100644
GIT binary patch
delta 16
Ycmeyv_=l0>)W2Q(7#J8#CUSfM06?z?1ONa4

delta 16
Ycmeyv_=l0>)W2Q(7#JALCvtoN06@D32LJ#7

diff --git a/out/production/infinitymonkeys/client/ChatUpdate.class b/out/production/infinitymonkeys/client/ChatUpdate.class
index d3d43bbf0dbe0a7b388beca7ad07b42d699e904d..67a49f505beee840b3e57a9e85b034dd23bf2d8c 100644
GIT binary patch
delta 873
zcmbQse~Tyh)W2Q(7#J8#7=pMM1R3-=83Y*g*%=JD7?>IKI2a5;v=Ik`F$aSQh-u2f
zV8+E@&S1gCV98*`#bC`~!@*$7!C=SEV9(Crz|P>v&fqlBc`~E(#OqTTT_)!;#-)of
zxbiTFFo-fTh-W31CF<uS=B4WgmlS2@r8|{o=A@(+F*5K41bK!zhPWzdq!s1oD)2D4
zF}O1_Fl$;VFfuT5@i2HWcrr3DSt+nHc=0fJGx)GG`0_CLG5E7H1c1~AGBSuwzQ-)V
zC^A`*MP#xB(=1*_2DZe4g4DbeMh0Dt$^V#CB%qdAGcs_L<U{OdWDwENoUF(wGFg|o
zZ*n7}Xnh!iB7*>fAOjPF5Q8uSBLfr2<qQlAEDVecVhrL8ObikX3=D1zObkp63=CXa
z+Zh<Ow6`)aZDe3zU}BJDU|`^5U}j)o;AdcA5MbbB5M+>IU|<k~sAiC6kYNA;F0iSL
z46;y@<ro+l<QWtgnCijCUtwTkU}a!nh?Jelpt+lYIdVG#ixBHJ1~%<&3~WN|+Zfn%
zKn#v;3~bvNIIUQgGbln;ffaCJDA3x%z_g8ldm96fB+E7iUY0cs3=GU**NTBHl3-wA
zkYdnckgI3#U{GWTXHW$@+m3;aL7jn_L6Jd;fd%9qxCbH`lo^y57{OvH3`$_{MKY)|
zs4*}zcrXY;b*M8iFmN(3Y5if4WoOVp@vSC<7BnoQ7?{D@l|YWHhqw~iH+&FZ!ki5W
zWG=84Ed~V!ZLmur0jvafpAyu4$N{X4-AWW2L%{*akK0NE1_cH~qOH^crwUyFj$Ck6

delta 1150
zcmcb`Gne1_)W2Q(7#JAL8KSrtxEVA!8MqiUg%}tZbcGlg8FaZA^cf7e7z`PVxEPEX
zOoSMi7|etim>JC287$ZtEZG^X*cq%R22W<RnfQDvqwVBc#yDRA20I=GJ_de91_7u1
z{F365qQnB<)RK(+lwy81273+$2Ob7T1}6>%XLbe`9tKwiH+BYh9tIBvPj&_`9tLj)
z9}WgzkP<%*2LH+VOtUPx7y=jq85u+Zf;__<LtGU!(u(qP6&N+G6d1V}8N_oFvs0b(
z^O6%w!ZS-Uob&UFOA_-+iWwO!CVp3)tideAY0b#M$_P?DIfZ!wJ6mEwL26#g<bFnR
zxiCfsaYluV#A1c4{LH-66orzERE47a{9HXQMh3OXqRguG){G3I5G6UOX(dPs*cpOA
z&J1H@P{~RxOVrOv%uCnL%qz>!PSp=CDay=Chq%fuF}WnasFIx_f{}sECqF;Cw1AO;
z$1^W4wa7UqvA8(3n2}+Ih7X1rkU-=2NX$#gNi9}^=(L{rL$)4j2}D6iWkISnl5U9A
z*3n2p{z+M>$tBjBNJ3B}oD*|$f-_4}t=SnO85vY@xB=A(j7|)4_!TlJGJsMO69W$e
zF9Rb36DT<_Ffgz%Ffs@*2r@7+2u;>uk**hJU|`^5U}j)o;AdcA5MbbB5M&TxU|<kq
zU}9ik;9?ME5MuxVF0g(^263nv5)6zCk_=KHa~K#HmNGCgure?(XvxlG;MdmK1v1cz
zWjO;6h|R*lV8x=fg@I`s1M4;hHc6Ik4D2jx7#J9s8HDS>R)MriFt9L4F$gfoF-S5f
zGH5WUf}LT<z{bGKz|0`cAj7}{vH<QNEe2Tz83snMm>h!)*tuE^@(c<L%nXtYf>0fb
z3=9mM3`_!l7&zD&lu%r+%%H-+RL=m)Xub?gVEv*9S8DHK;9y{Yxs-_k6i!@VMOqBP
z4BBAFLBdEB?j%vDlaRwm6=Vx;OKKT7vD;$6Ak1J$q%F)0Y77hvObqG_q2M@UWC&&m
fX9!`CWYA(@V31;9VbEq^WY7VVdSKENOqv4#atzCv

diff --git a/out/production/infinitymonkeys/client/Client.class b/out/production/infinitymonkeys/client/Client.class
index c77e62aac733fe7def8e84b41a6801f5ef591816..8383d03a66abfaa23c51240fa8b3f0efaf8e1da2 100644
GIT binary patch
delta 1566
zcmcaAb4{A-)W2Q(7#J8#7}ibX(qhz`Xd3Ln#URDd#>F7U(9X`#!NnlY(8<Nn#n8>k
zAjQzb!O+Xi(8tiv&M<+4VIn)jBo2nj><m-58Ppl3axzR~n9jj4gNtD%!z^}&*&9#a
zU}l^%c?pZNFgrsBBLjPKeqLT`atR{?vxa8WWJOlldKU&)9tI}{XC4N31`i$v69!Wr
z1~Ue89tH~rOCAP&1_K@jLlBX`Fqe@*I5{UXHLpb98BB#1q$HN4@-QSY%;RCOVz6dp
z5QNERB$mKrZ5V7B8APBGE=7sunR)3jIXeakdqxI+_fSv$;F83mlHlZ`)YLp41_uVm
z$yZs8gc2BHco?!7a(Ea57y@}1<}=Kl%+DsFxqx9VJHtXAhD8jEc^Hfsj2RjDoHG(j
zob&Tait=-EQj6FbmhdnvWmq;jfUQz<Il~HehLt=Fs~A=@G6*|ELLfCop(J0SIJKw@
zq<Rex!&-)z$=}($r6h|}OMDaa64O(QLh|!-io-ICGm|oNGD|8qJFr(V*6T4aFz_)j
zfkK9Xfq@AWIAGd{!5B=NFqndAGX`@oZNXp(rmYyP!L$v7Ets}rum{r)431#hiNP66
zyD+$dX*UJ~FzwFZ!N9=4!@$Vk$>7DnSkK_iz`&r-z{tSJz`($&wS|Fk16Z980|Nsa
zSWtt(7pjASftA6J!JmPFfe{pd42&3>nb0-sVbvVO5DeAqX~)3Czyz{OOM5E=^G3Mc
zTwqaS237_Wun}TlJ{#12klR8SJiyKlWe5WqHkpx2Oda8BORz4GKapJ>&JY1sYsV#4
zk5FreRc$0g6i6*v@UWr#&=ITVXoeW5W)u&yBRrS~@u4dND}x)@2uvU9GZ=t<7|Rd`
zH4HhT*wJ0$1vUoV%kdDGOm^fJHwAeaVy!;|D?<QSJ*KsWP-_zyVi=ehyeIc^Co}p?
z{>ZIe4@w9S^+E862x3SCt50HJU|?ZjWJqS<WJrO>Z#M%AIN}s`Ge|{hF&k}XkoM8u
z#vl`}y^TS38-v_(1`ZHkVIw%Hi8Dws$TKiAfZQp^z|O$HkjTKzki;Oskjx;?kWtSd
z#gNJ%&5+I@&yWdryaEF=12+Q?Ln?zm10#bp0}DeMLps<f1%?c8O3!3qU|?rpiehKT
z0=X`mAqN_iPZ?OjE-Td1+QPuGgF$gCgA$0TB&58PL4}Fo0E6mQ1{R2j8bqX?L47L&
zD?~^GBE+D%m4Qub3pnSnYi(iR*V@9sqqT)WXeWafE5l3%-c1bJLOR<RbXnHGyvn==
z?7%dJEVy6w7`Pc27z!A;8HyNW8HyS78A=!&8Oj)987df38LAl485$U}7;5bpvKi_b
j@)?@Ieg{QFHj<AEp-}?zF&6{#Z-#UysHbzmxhf9;Hht-~

delta 1643
zcmca6eN~3*)W2Q(7#JAL8P-hX(qhz|Xd3Ly&d|oiAj{Cs#n8df$;lwa(8a;f&CSrm
z(96!y$HCCg&M<+4VIn)jByI*(hRK`^Qy8XlFihiOn9eW*q<SVh!>o-LZZI>>p1hL9
z*@}^YJvl!wFEzP@k%3u5Gm4QxC_S|#C^b1Xvn(~mH?_DpF+G)$L8ur*aPof^Sv_Y4
z7aj&j1}7c{HwJee24e;j9tKkeGad$W1`8erJqCRq1_KZg&oGCPL3r{-Mqy<hhIod#
zJPei$R*VdS$vK&+c_sSJ8HpvK1u2OosXPqU3^tP+SS6)w8SEGt_}xQ2^@B?ii%No%
zi&9hbco^&%942pOHR6tEh~{C)WXJ*;dyqv~n}=Z@!yI;o`8*5@7#8v{7%~_!GVp=S
zb<WQ#Day~uNiAY$Sj5Aym|@9e3${w`r3}m18J6=ftYBC<c@LWe_bMKS)gU8X8T2RL
zV)NeY$X>x%ugk!|z{kJ@@(2S10~5$EVA_zu2uvF@n1E?h1~V{i&R_wiEg7u9v^9eb
zn6_oG1Jm{l4q)1m!3j(|Gq`|hR|b7B?Z)5^wvmy+gTa%5v7W(;fq_Avfsuicfq{Wl
zYYPM82CzDB1_lN;u%HHm4+8@O517r$;LG60z`(%B;Li}iz=)xl30<=uR?UG7K~T+}
zb_`4mOdz|ow6`)aZ-m>;1r{}CU}Z1?8zBbfvq9|#xh<H%9qjB7hER}Uleom{5stP5
zYeIK)7(+NnDVmR2(H(7vRdWPGBo@tVNSf=xVdRKacN9Z3R5yx`+0lLM%D~Ft1~viH
z$9m9+ieZR_nuQ#3>>G68p$CaMFR(f2fe;6A$z%s^aZ^x$K|<P}ft4WutRB-|1E{_6
z4ABfs3|^CaxRV*ZCx779t_P(Ii25LS%mgtcfYm25Ffgz%Fft@Da55yrBfNou1ss!-
zyBVY+wU~{zGf4YrZ)1=NU(Ub*V#sX-2ciIjFoP@uGXuzhQVeVi3=D}3+zd$!0t}f9
z!VGB)A`BS}5)AcOU>7SeFf(v7urj1D_%Sdth%m4)q%x#|jge$X2dDQ81_lOp2Bu(k
z23e4kG8wX<0r-@G73`csEv+pK96K1~w=yVzm<mFQI~kOi7!EKfZ)ISCh^RnCRJSs)
zLPR*#phD`Cb$KQ0HCP#DGVpF<&=k_z#-Poz2IeK^HDJf2F=WC0q{qO`z`)SJz|GLa
zAj{CqpwH04;K<O%5X;cPkjl`-kj^lHA&a4xA)BF}A)jFq*qfk$&PMWFAvDNAp5tO*
z{$0<I?gaH<Hr5oPgOpamE}9ND7d?UGKoST80|QD@)j?0Ha~N0|=7LQCxr~898aa1@
N${SFjk_%3gc>o%;-FpB4

diff --git a/out/production/infinitymonkeys/client/ClientUpdate$1.class b/out/production/infinitymonkeys/client/ClientUpdate$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..52c7050bf27d1bfb74566e3771a7334deedadfee
GIT binary patch
literal 728
zcmX^0Z`VEs1_l!b9WDkj260XXb_NMf1~CRn5Lb$wK^nx7VP}wKXOL%PP*Vvm&n!vK
z@J%dGDN4=FFG*GLbk504%_|8lNJ%V7RdGx%$;{7VWMGQ+WMts5NzTd4%Pg^DWMJ0N
z3}a+qan4UkWn|#@$;?ajE6q(xEec6Y%1LEp5c0`SPRt2QEXoA&p@O`@C5g$|zKI23
zK0AXnBLi1(erZv1s#_*VlOVFqdRd8OiHr>Vu6fBh`Nf%e>AtBY8Tl#f3<~TFN<0iI
z45~Z~oD5t%3~CJOJPaBPnv4umAT9biiFxVze)++r$r)~$sW~aGMMe2VJPcY4>WmDc
z$zZ?fBU_|m$jHFsnU|MZ<eZaOT%20W$RL0)$UiA7HMxY5K^Tipb_Q)m25CsJ>0=Kz
zHdy$vl_lnsg3MOX(2VxMqsN+&f!*8F+1o!fgpom(kjng`l+3)u9B_PiGBR*G1_yh(
z`#HM!dipUkh+wluK!JgsfrEj8fl)vL6o4QW0|x^)0}lfu11|#uLly%w10w?igT@X9
z#(jIZHZw470wLyY3@j}E%Nba_!Cba&3@of*?nVYC22KVM25|;f1_=gb1~mp&24)66
z1_lN;usQY&{0s~XObiSR0t^fcJPa)1><oeoz952unL!9FC(Iziz`(%5Aj-hNAjiPK
WAjH7Lz|H{D!oeWMpva)?APE4+zo-fT

literal 0
HcmV?d00001

diff --git a/out/production/infinitymonkeys/client/ClientUpdate.class b/out/production/infinitymonkeys/client/ClientUpdate.class
index f3d25e75dcea30aad35683b0aedc4e92e2561079..e9016f67a3275ae7307131c6afe81eb63077fb97 100644
GIT binary patch
literal 2588
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
WAjH7LAPe%100)B&gEWJ!gCqbI)?!lt

delta 787
zcmbOuGLzf!)W2Q(7#JAL8N9g|xEZuK8Mqj<xfpa9bh#Mx81%Uq)ENvwgdqom5lGmW
zi@}7!l%2thoxz-)!GfK^a^j4sURI0@JbC#gnQ4{IIhm<>C5#N}8a`QxWr_MZiFxVz
z!6ikRdFj@eBAQW*3|whN`MEG{LX#a>MR>ULQp-b&Q;YHvb5kelF&a!RW^@wf4K7Jc
z&h||#2uV!JNo8kHVrQ7#$E0E^z+l6}z{kMP&S1;KV8>w3&fvhq;K<;_!{E%|!o%Ro
zV8h73?3k0o!{El?&d%V$!{Eu_HMx;FXEG~`F$=SXX4vF(mio!OtV;ZRMX9;@WvPxi
zIi4k{xy6%pS=B=X(7nOPz?NEAnwV3}$RLXBN&lp*)Z`Lt%_s&%22fBkG4L?(GB7eQ
zfgH!cz`)GF$RNNV$iT!PH2FW9biFVG0|OreGXn#IAOj175CbQJFoOsK1A`a?69WSS
z7lSB+7y}4!f%P*oh%+!SurM$(NH8!mNHR!)%wb?)2x4FYn<1dJg@I`s1M@Zp7M*Pj
ztSoC77#NrsKz49}&68l@V~_%yuK-bB54S*oL7G8^fsuiML4ZM)L56_|#VR=ld8k!q
z8JHN@85kHm5LWr>Y-3>45n|uQz^d)1yU&b;*^E_`Rg`5BgNm*wtC1C(BpXCA$2JDe
zSqz*yl5E=;SX)>bm;bN74R#|l*o{gI91IK$N(|f#Dh&J#Y7C+b8VuSDS`1bUIt&gB
z8Vqg>24J^qF|aUbGl()MFvu{lft&*Oga?BngAxNH12=;$gEE5(0~3QP0|SFJ1M`0d
jIR-X%1}=66HFgGdb_O*@Mg|7O9}J?bDBjcnhnFS*VFP&b

diff --git a/out/production/infinitymonkeys/client/DrawingUpdate.class b/out/production/infinitymonkeys/client/DrawingUpdate.class
index 0d069f263b5239d56e9d5cbba428006c12a08e44..a3b8302dd9e3252b1941eb2af93b54760ea2b35b 100644
GIT binary patch
delta 17
ZcmX@ld7hKw)W2Q(7#J8#HgX(i0RTfS2C)DD

delta 17
ZcmX@ld7hKw)W2Q(7#JALH*y?j0RTfh2DAVG

diff --git a/out/production/infinitymonkeys/remote/IChatController.class b/out/production/infinitymonkeys/remote/IChatController.class
index e45f4bf9040a0c82a58b3ef00527c279fade4b20..53c3ebdbeb067f1865fe93a3e90ce8ef69e59d0b 100644
GIT binary patch
delta 17
Zcmcc5e4m-))W2Q(7#J8#Hga5N1OP;q2GRfk

delta 17
Zcmcc5e4m-))W2Q(7#JALH*#EO1OP;(2Gsxn

diff --git a/out/production/infinitymonkeys/remote/IChatUpdate.class b/out/production/infinitymonkeys/remote/IChatUpdate.class
index d5575ab470b8e67f3224b6e865177ce1dee04ee2..f84138bb8bf132eae71b572e7f8c37323da8ae93 100644
GIT binary patch
delta 17
Zcmey)^qq<0)W2Q(7#J8#Hge=M0suy+2ABW<

delta 17
Zcmey)^qq<0)W2Q(7#JALH*(}N0suz02Aco?

diff --git a/out/production/infinitymonkeys/remote/IClientController$Action.class b/out/production/infinitymonkeys/remote/IClientController$Action.class
new file mode 100644
index 0000000000000000000000000000000000000000..035ddf1381adff501a6e806d89ed427882488ad0
GIT binary patch
literal 1081
zcmX^0Z`VEs1_l!b6HW#e1~o1Qbp{P~24QvvEiMKg25k_b!@<DI#lXU#15%;O!5|2t
z_1GEo85!8UJ)OP%LqixD*c_8fGV}8o8F)PN@=}YOa}tY-Q;QiH6n%<PbMs45^*x<)
zGE?(Pob&Tait=-EQj1g|I;<HPxE+IoJ>C5rU3@+L7#Y}A!W?}<U4t1Jl%k2y%vP3|
zQwp+4MMIMq^(@Z$DXEMM{63j^seYxoNvTC4iAg!Bj125xgZ$GN8B8^NvJ%S@^>Y&Q
z()EK&iZb)ktu={oijYr!a$-(cVo@f@M5wVWd5O8Hj0{4UMlv$6*<|Krme?^eh+(nO
zQ!|W_fu$rPvzU>AGdMFnFR`SwD3y_cSpy`&VUwH#)ohGpv};~zt_?w_+F3I)a0Ta=
z7A2>;WrF-Jh7mh@pb+3;5CSCyVIBqp219lRBSr>!0<p=%Ai-eF!ywBb$HTzOAi%>Q
z$RNPTzy~r65}Y6hGBU6x=j7+5GBSv0Xd*e@KPf9Uxx|{0K?0X8XmJBhW!6Y0z#|LQ
zLTd*@1{MY$1_lOZ2T72-7#JKRK~7^}5Rd}-k%57Mg@Kbngh7;nkwJ`sfkBCZkpTp_
zHZd@6V_-VKz`TKhfq{`hoPmLX4J^mOz{w!NAPH4(!oUO;<q~4i+QGnjfPn?1o(V<0
z6axbT4@4D%G=mHS0|OH%pct6IHX1T8GcYqSFtBTB%WP+0+X$9Mwhp14ok5;KfPsNQ
z0jx%mfrCMbK@sW@HwG4vyBYL$Gq6Mou`_RH;MmN-3FdIIfH~Z(dl^_FnKv<T21l}N
pV&D$m%)kh;4b^kZP}7weRKT{VGVn7nFmN$2GO#dcGVnP_0sy8a@E!mF

literal 0
HcmV?d00001

diff --git a/out/production/infinitymonkeys/remote/IClientController.class b/out/production/infinitymonkeys/remote/IClientController.class
index af990bfd9d6831459f2f3939f2d796d185906326..d438a291276cb8f60071c2bb1916a305991156c4 100644
GIT binary patch
delta 356
zcmcb|yoOcp)W2Q(7#J8#7^K-5#Ml|c*%>6*86+7Q*c_8fGV}8o8F)PN@=}YOa}tY-
zQ;R1G=W|FgGO!euW|mCcAkH7g$iSUgT%4Jn=a`b4nK$vW&csvP(&9-)`H3mXiNz(p
ziFt|XsYSl2#l?x~sf-L}6J=$sb23x&N}TiaN{aGxa#D*_AU0WRMlmvQq^FjEO=4sa
z(a`kCN-Rs%&q>Tn*AFf!%FIi*p7=LILB1$8H@_rR-_sepL6egiHR{<|7#Y|ZI2afi
zI2jliSQr=?xL6n&xEXlRM0gqa&_wt#L<ATF(bNbr2qTLyFfoWQFfcGNh%&G-Ffed2
MFmiycWOa}P037W}Z2$lO

delta 133
zcmZ3(dXHK7)W2Q(7#JAL8AR9_1lSn_*%^c;>g6*EPn@UEB&sp-q2k1|T9eBe(<c9C
zR10QdVPs%oU}a!rU}IolU}0cnU}s@u;9%fH6X9auMib#-;6)Z;U}WH9U|?Wk;0FL=
CP7k~Q

diff --git a/out/production/infinitymonkeys/remote/IClientUpdate$Action.class b/out/production/infinitymonkeys/remote/IClientUpdate$Action.class
new file mode 100644
index 0000000000000000000000000000000000000000..e8c67716e8ad38b3061fe7b87f09a74c4e8dc8a5
GIT binary patch
literal 1049
zcmX^0Z`VEs1_l!b6HW#e1~o1Qbp{P~24QvvEiMKg25k_b!@<DI#lXU#15%;O!5|2t
z_1GEo85!8UJ)OP%LqixD*c_8fGV}8o8F)PN@=}YOa}tY-Q;QiHWPOTKbMs45^*x<)
zGE?(PLJLw7OHx%Js;wCrxE+IoJ>C5rU3@+L7#Y}A!W?}<U4t1J<e~{^WGhR|DFxY}
zprJ`fEsJx0N-84*zfWdfs$XetQfg61Vp2{jBLh3w5dSnr215;>ti-ZJ{hY+Sbp7Cx
zqRhN>YfS=95c0`SPRt2QEXo9#1~rl;FEKZjkwFO4I7S9Go6Nk-5<5l)F)X%uYKAc~
zu#{wE7Bez%24|+{C6<&Hr7|)wYk(v;Y?5=Jn)Q*4cFilzwZZF5J8MP;uHgLAqU2P!
zOpu?2P+~$4<ZB)VAyAYH^Dr1N7_u`MF)~Qwi8USu2?k>x23ZC<9tK_p0UicH1_4F}
zK9E6>-~%~|k%2WiCqFNhkwHX56Uo8;Nm;4MCDx1#BG_zTWH3bz8E`7HM$!$B7*xxw
z9Sj**7<d>M7?>R-L2hDTaF7H!i-AEv3gkBi1_l-eP6iPMQ3gf^F$M+(B?d+Y5a8Ox
zz_^Wp=>P-s1_lNOMh0;P1_m~;947-Og9L*lRJ{oU6Ihf>h(&7$1M2|>7La--6!lUJ
z3=BLFRSeP$G7Jn1OrStwU;^7{$iU3N%)r3FuB9!roq=s5SQ^<ngm!iYc?JOn1_lMN
z8bt;U1|<eXs6*TsSU~P((A&+x5-G&ayq$q#GXp1>!^HyTaI@}ZV2Nbj#K0LG$+C%o
nJ9sk#Bgi&X&oM(yS7uNF+oH<A&%nUI#lXnG!l22(=O76Hy#C?(

literal 0
HcmV?d00001

diff --git a/out/production/infinitymonkeys/remote/IClientUpdate.class b/out/production/infinitymonkeys/remote/IClientUpdate.class
index fa0006f9dd46ac92c7dd4b02ade6b505c33797d2..7d8923621a39f42b6628c674a2a110f8b54dd03d 100644
GIT binary patch
delta 320
zcmcc4^q1N2)W2Q(7#J8#7$n&lgxMKH*cn9G8N}Eb#2Fdb9Ft2j^Ya)Pcs%p+Qj45(
z5{rvdizmkG*1J|Drxt+ZirE<?7#Vm=Qj2mk^Abx^oih?k7#Wx~G{YDfMDp@WGSe!3
z6Y~<&Q;Q&G6*DpzY4~I%mL=-vB<7{-2bUCO=A~Qv6s6|om!#@@I_G4j=9PpNq$HN4
zsz9_@gUsSBPAv(`EY3{I%*iaNoY+||BaKJP#D7}JEG&!+91NTcj0{{13=Av`j11f?
tj0`*syl5hP4E$&!0;p;jm>2{Z7#Nrsgc#Tv7#O%17#Ua@7#Y|cBmpdqNcI2#

delta 127
zcmey%e4WYq)W2Q(7#JAL8HCswc-a~F*ctfQ83Y&^c=GZ~GSe!Zb23x&N*Ec`HGHxX
z%M$f-67$magG-7s^U|#+x+^mZPBhe=_@HER5u=7a6AL2)D+3z?BLh1F0|N^KBLfEu
VBLgP`7qSQgBLg=B0|OHS4*<k&7nJ}2

diff --git a/out/production/infinitymonkeys/remote/IDrawingController.class b/out/production/infinitymonkeys/remote/IDrawingController.class
index ed5925c413644c2148bd9b14149a734e51f912e3..77e8bd2728f2914be430a512c07dfd1396cf82db 100644
GIT binary patch
delta 17
YcmeBX>Sp3N^>5cc1_lO`jU3F3060(uQ~&?~

delta 17
YcmeBX>Sp3N^>5cc1_lQ6jU3F3061R-R{#J2

diff --git a/out/production/infinitymonkeys/remote/IDrawingUpdate.class b/out/production/infinitymonkeys/remote/IDrawingUpdate.class
index 04552df1f1be58eafbbc8c8a7aa9177c13b188b4..e988f5b56317e1471a72d9c155b99fb2765377fd 100644
GIT binary patch
delta 17
ZcmbQkG>3`f)W2Q(7#J8#HgbqC0suOa1&06t

delta 17
ZcmbQkG>3`f)W2Q(7#JALH*$zD0suOp1&ROw

diff --git a/out/production/infinitymonkeys/server/ChatController.class b/out/production/infinitymonkeys/server/ChatController.class
index 9e315892458c07ba08f68892312f539f23895f84..b56eaad1cdbc2c794f9ab2a79109a88eb63fa3fb 100644
GIT binary patch
delta 1133
zcmZ1>F;T4k)W2Q(7#J8#7&^EZq#5iv8Kf8-I2jxnoH!Vqxfom+Tsaxs7~HuSJQzH=
z8N3+0L4*%GgD)2Y7lR)+gFiz62SXr;4q|5r=3?Myum=$#91Ni#It*k)I7m8zgCP=R
zR1_COG(!x?yjXUIICc((cy@*ac80`>mD3rMCJQpIXH1@aknx9r0z(Q9gB*iAJ3}fD
zLmET+<daMq^%*=2nG9L%4B0#kISje%40${Z`3wc@49PqUg$zYJ48;s3j11hxsYPX}
zMf#z|sYN^tr3_{44COow6%3V(3><oTdM^Hcu3S6}RSc$#4B}adWr_MZiFxVz!6ikR
zdFf82nK>ySZPg4lj0~a*8HvRTS^1fHsVNF28L5-^v9g)-Fw`>C@i5dgWbrUGfD91^
ztIA1DD*>rdD9X>z)#G7kWN2b%Xy##PVQA%HXk%#KT*a)z#KXwImRL}bnwP@JpgZ{?
ztExEELTg3_j*@(c8yFcxG$wyxHJWV8)}zFr$RNca&A`MU!ywDR$iM^&5(WkaRt81}
z1qMY1CI+R+G91#*$_xw)d<@JC3=I4XEDQn+oD6~tDhvz^Vhl_S3=CWhstjrjAixFI
z&&Z(8z`(%5z{sG%z{sG<panLkiX(zidGcir<!q2n69!fWEd~JwZ3Z0%Rt5tGUItwT
zJ+KY#aMRow^cf5o7#SEC+!+iR3>cUgj2IXgco>-eGKes+GZ_D5&_J=tguxVK69WUo
zMFwUDRt5%!=*fwk&T_jM_#?M72xxC(5EK&H#vr(jL3kU32+JA<1_ovZ<;hz)l~W@b
zOu!z}VqjrVXW#=ni-kd#fg9{BkSC+z&WeUQ3+@<Uh+|Yx9Ak#nF@^@BObp@6|KHoh
zz%0bOje&I&12eMo#4w#VkxRKglEID2&NFAQfQHq51{MZ31_p*Wtt|{pTNuQ3wlPSU
zu|PT6AP(zfV{TDX$pZ{r+ZedDby;>Y@USq1LsYPdvTkEQmttAN3=7;^ZsinEeA_|n
zfCpk6G!PjW;utK!aSLLBVwstNmm!eBiou$Jg+YqJg~5iwnt>G@^Xv?ae;HyJQInS~
K0|NsSgB<{(ldh})

delta 1396
zcmbOzwnC!*)W2Q(7#JAL8Tz;w#2KtP8N?WDI2mji>^K<gxfmQ6961@B7@WBnTo_!r
z8T1+4K!iIxg9jG_7lS7^gBOE02ZIlY_7!4aU<d?h2?BA0g%}ta0zsNXxfsG2!a*iP
zuroxmGeog7M6)x*Ffy<erxs1@oyZtFS)Oq{W8CEPj6Vcq7~**tq!^^x84`FH5*d;v
zUuV*&Pv&7rVMt|XNaJBhXUJe@$mC(jV#wxU$YIFkVaQ|1XJp_mPAw`+Ez%DyPA%eL
zC}1dLXDH%fC}t>OWZ=-#({u6nbLHY;C}l8YWDs!5&o3!1DM~ExO)bgDPbubSV<_Wb
zDCc3QV5sC_sA5RvVW?&><Y1`bVW?%OV`r%6;$diDXyjpNVrbsHn^}j6lZ&B+p_P$A
zjB#>4v#2a1gLrOYcB*rJUUFhdcxFk4bADcNNn&0}F(ZT8<c%yMliAq>Cp)q!h>9>O
zWF!_V<fNvRD3oNRDir1C=ju(4XX~qHXJ`Z2-^IwFl9gDNsGpOVm#&|gSC*fhsvlfZ
zl$n<fG2SgPxg@`+lAWQ4k%7%8KR>&)fRTa6GcPZ-$T=smxHz?#kzt004~7{KuX-fr
zrR1a*t3WhbBa}_v!75x2wGN^*q_Q9tNdeRm*3k$(`u<5-smUeQnn*%WBb*a+a)L8U
zQmxq;dKnp1iE<626N4Ong$#-eVhrL8ObikXk_?OtOrT`Kz`(%Dz{nuOAj`nSAUBzx
zUD{cmfq{XKfti7UfuDheL4bjiL6AX#fq_Acfr){Efr~+rL5TqbxWM`u8I&0q7+4q>
z8B`b;8B`h6z~<z#M=;7yKE|$`4bo}Cz{;S-Ai$u`puxb(V8Fo3pvj;Gw!s~4nmdCw
zgAM~D0|SFQgD!&(0~3QD0|NsO1Jhpy5e9Y!{htgPC^i`|7=mnKU|=}Hz{J4Hz`)=)
z*_P9Aaw~_Bp!O~Xeg=kZ3<4}`7#J9s8RRE#<xo!bVK4#vLyLihL7jmQ>>3sZT?THj
zYe0VUgS*BL>KeEkgduKFL2-i-b~h*sGBJcN|9@{21G5nCHU`#B49wcQ7=%z=G>=oc
z-iN`B$}TcyFoA~3eFhc=HU<WUIIS%VOj{U)b+$2xn6W@P+8_?=WCt!$8PNj_T-zA9
zwRKr`GVri4ghN!YiL!2E5S?7eCBY~^xr<A=9u$ps5Ch?X6bB6?28K8WQ*e}lSfI#b
zX5eKAWH4heXJBEFVsK%wU@&K31xF}51LI$Y7)In&!^~jGz`(%7V8zf0PG5`+?F`)v
a9So8Te&CeI#Nf}s$;c4E;LpIw5CQ;D0R<BP

diff --git a/out/production/infinitymonkeys/server/ClientController$1.class b/out/production/infinitymonkeys/server/ClientController$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..638165f68d21b9d922e0ae61d1a9b8491e1d12d3
GIT binary patch
literal 760
zcmX^0Z`VEs1_l!b9WDkj260XXb_NMf1~CRn5Lb$wK^nx7VP}wKXOL%P&{7F5&n!vK
z@J%dGDN4=FFG*GLbk504%`0)v&nqd)&&f$GQgKW!$;{7VWMGQ+WMts5NzTd4%Pg^D
zWMJ0N3}a+qan4UkWn|#@$;?ajE6q(xEec6Y%1LEp5c0`SPRt2QEXoA&p@O`@C5g$|
zzKI23K0AXnBLi1(erZv1s#_*VlPJ3FdRd8OiHr>Vu6fBh`Nf%e>AtBY8Tl#f3<~TF
zN<0iI45~Z~oD5t%3~CJOJPaBPnv4umAT9biiFxVze)++r$r)~$sW~aGMMe2VJPcY4
z>WmDM#i>PQsYUwemZ=yrGVplj<)s!m=Oh*vrxr6Z2p|mePs&P7E@5O4$Dx~@L7S05
z9ukcDxPy@m7M^Tni8-YpJ5)3@qkRbIvu0#q_x5!5_74qVWKbkVb$(GwW?o_rIG#Ki
z8MqyTgFW5-99?`p{TLY}a9Jmyz`)MH!N9=4C?Ej}SP+YWgMpiYhk=oSmw|yHi-DPe
zk%56hV+RA{zCB!<8JISK5c4($78d{I3@qMYF55N+7FIBKBLfoyCxZxsI0Gw#1cNez
z8Urf>GXoz30|Oh_oS6*#3=9lR3=9kc3=9lB3@qX741x^4AcBFJK?p1-%pk(Rz`(*F
d%D})N$H2fK#K6SB&H&QF!63$<$e`>X2>|f;w!8oU

literal 0
HcmV?d00001

diff --git a/out/production/infinitymonkeys/server/ClientController.class b/out/production/infinitymonkeys/server/ClientController.class
index fe0b87bb2045cdd4eb764eff6cfed1a0ac766134..182374ac80a0f963d89850cb7ae67fa2d3c75199 100644
GIT binary patch
literal 5290
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
TI2Z~Tj2Q|YBpFsPOb5{bv9T5a

delta 2003
zcmZ3bxlp$L)W2Q(7#JAL8P;(z$TIkIGRQCla54lk1aUD0GlZ}+gmN*kGK7Id!nqhC
z7$QML6o`lhNyKn6#4^MQF)%PBaWNz_q;N6FFr<QrG?0>XkQo^ub(tU{i;F>wA)B2c
z2PBuv&EUh3$1TO+!;lY>EZ}A+WGG^1C}w9UVP`01XDFM@#yFF)eDeZE1x7AL2A0Co
z%o0Wh(aDM&!jm5`DKUasQkqeW3|xsRxtV#Mc`2zCj0_yvnaSCq#i>P;m~~i~%QNyP
z&tR@%@nUDFnEZrAy<UmIorghzL6M!Il82#+p_-kchKHe+!IqJMyEwI|EVW1<q?d<5
ziJ^{%p`M|EouQG3p^2fHhoOa`m4~5?p`C}JgQ1h1p^Jy1o1ur1LBJ_LzofXND6zmd
zwIm}yrI??Mp_hZ9kB6b3VFEkDL>`7o43<0$ZXkP|7(AVM7$$?vn8IMo!!VU$8V|#C
zh8a8zGZ~s083eKt%M$f-67$magG-7s^U`@3W--j>VVDC_HkV-@55s(h1?&t9c^DQk
zES|iOtz@zxyY%EFcG1Z*+4DCma7Z$8axpAnSjxyC$vC-&RYI1LK|D7xJJmTqFFCO!
zJhLRjIX|zsBr&g~n2|vZ9FP&5LX6gvYdIsi(^E@8KKDz^O`WXBB00H$D|GT>PS?pt
zxisq88J2;(vx<>H1>wZZyt4f4RH#cKR=6c5m*f{!vNNn<WMK2j&(AI`U}WI&%*#tH
za?VLCE>10GWSF7hgJA|F<UA7dQgTv@RUjIz5z6YJmLLh~Lv4rX45=(gMV5qwo^>?B
z2z~#gtkmQZYfU5}s1eSIIXS_ZC8^fz3~Lz~RIxa&9u%*ru4817!=eyL9fKl+41+8K
z6N4OsJOd*G6DZ9wFfgz)urMewC^IlIs4y@vxG^v>FflMNaA|F4VARsy%D}Xdfq{XE
zL6w1lfscWifq_AYfrUYMGCvQiwHgBhgBV0LgF1r-0|;<|O=V=zWME)mVPIs?Vqj#@
zX3&9}exHGjfsKKIA#$=mkC&+SE(Tr(hHVUdTH6@-S=KNxFfcQyPTtKUUmwh%#t_b+
z!2q(s4x$5YLnMPPgB}AT$P@;B1_QADkqm|mMqt-PG8i+MFt9L4G1xPhGMF*2GMF<k
zFmNz1{$X%uXJAEfmj#0*)LpF%OkmyWTH4zf1Z>r1W;4iZZDC;A!oV)GjX^LR!e-Xq
z#vl|9ax5rJm>E<jH}J~WgWRY9(G7Q_I@FD942ld^4Au-xU{|n#T%m><HZ}~lP&ZUT
z-Jk$*gUoCOafr1bCvY8LU}f3Hz|FFT85&ODuxDjpsAsTcU}Lan;9_uOkYR9UkYjKI
z2OGpm3UDVWz?~$;V2A1?IaDXvGdMt<w2gs@ft7)Q!Cp&e8-suy*kNWYqAc?m^knBT
zXn~zq&%iFqvW)@cz-<h|GZ{p|q73Y^;BW&+ERvJu7}yyY7<?Gm82lJ`83Guz8G;zh
z8A2GW8NwKB86v?hH-Xp*cey>(<qQn=42}$X3``7c43^+vWoF=I&@cjfhXowM><o;5
z8EhF*{o};o%)rQ?GC5s9uU<rZ8-wUf1`b)<<qVuH%#6$bUy?xtD8zMf3``6O3_=V^
z3|b5+3_1*{4EhWS45kd3VAp9eurRPN7&5ppSc4<o9PUnYs5_Y$Oc`9^A<WId{Fi}+
zkx}ax11ke36R6Y$h3;foK?z2&$!3De^&-J7OpMF_--ZU<HU@EDot+F4j0`gwq;+;O
zNHQ`UU|{vr-NqoLy^}$ji6MOX|3}aS$iTp$#K6J8z>vql$56l^$56yz#8ALs!BEN&
z#!$|X$WXzM!cYl!w*Z3%*xgJFVGP_19t>t6AH*}HLcPGp5YFJq;KjfQ4ogu6mcI-F
z><r$FzZlg2FmSOm`21o}K*~VO48Gu^!H;1jsK8)gWLVCynqdWlBttwT%P}M{Fft?p
E0C)Lwo&W#<

diff --git a/out/production/infinitymonkeys/server/DrawingController.class b/out/production/infinitymonkeys/server/DrawingController.class
index 28a0e95f65317dc06d0c1e3f0830495787b51dc4..54810ef813fa516a548036a63fa70a7be2a0c5c5 100644
GIT binary patch
delta 151
zcmbQrJ%gL;)W2Q(7#J8#7{VuVDJz;Xm~k_hGMKY7Sa30LF<5dlSTR_0Fxap&*s?R&
zu`}3D^qa-#F!AMKM#sr(8MXMFco+m3gxDFJc^F(6Tqi$e)Ua{mVQ^>gU}x~;Ven$`
zW@qr>Ven<}V`p&WVen@N;9&@42x4U5E>0~fOD)n5Elw@sVF+djVP^>CVF=so#^lco
E0QC7CbpQYW

delta 148
zcmbQiJ(Zj5)W2Q(7#JAL8Nw!VDJ!Zom~u0yGnlb6m~%03F<5XjSTa~~Fj%uQ*swF$
zvNPCC^qa+KKk?;ZMu*938MXKvc^Cv4gxDFJco>`+TqZwd)Ub5rVQ^z`XJ_!>Ven+|
zVrTH?Venz_<zet+@aJI&U<hPn;4V%rDoZWW4=qkD;$aA42xeyp;b92f?8)TM3;>l}
B9P$7F

diff --git a/out/production/infinitymonkeys/server/Server.class b/out/production/infinitymonkeys/server/Server.class
index 5ea7e2c5c0df974a0d3f05bf71dbdd9279cd976c..0c1967b8f8157aa219773025b224455fa21cf3ef 100644
GIT binary patch
delta 350
zcmX>ia9p7N)W2Q(7#J8#7>c+UWEfo88Qi!Sm>66+8Tc67*%>^z7+4uRK^!l325&9~
z4hYAGoxzujfg8f{V`uQ^V&G$N1rY)441rt>f($`i48aT`AR?55A&i3|oP!~Pn<0`R
zijyIlA%=q?mWv^dA)cLqF=1naGb3Z-<Rgql%<K$-o6VRk7#Wi$=QD?BTQX=cG6-iS
zmL=-vB<7{-yH+Hp7L;V>=kYKkGib0gr0_7LGNkb^q%&kpe#dO3k;%i5#gNU;ki)}}
z%aF&&z#p7iRF+z#kXfuyl$w}Q$<C0^!%)CbxH*931{0eF3j-sA<zzkfgP~Ro)(ngc
zd<<R;HVn25Obmhy?hJMewhYV+q72Rq_6)WREDZ7tmJEsv4h*aenhg33$_$PSYz)Q>
dstl?OP7Le}dJGH<AoKJY7#W-y7#NrsTmZG-Iimmo

delta 362
zcmX>ua73W~)W2Q(7#JAL849@=WEfo78C<y-m>66*8Tc67*csfp7+4uRKpanY1}`oK
z4hYAaoxz8Tfg8f{WoPi?V&G$N0TKS}3;|pWf((IN3_%RRAR>f=A(Vq5jDsPZn<0WB
zl9M5dA)13BhKnJVA&#AaF@9r%Gb3*TBLhorVrCvAgP2D2<cq8#lb<jKZMI~xU}Q|3
zT*MrrZNZ?y$RM1RSeB@tlbDyT?^=<ZT2PXipU1<H#Gt{>kj%r7!jQ_tkj9Wc`6IKH
zMg|W<CPNlGLpBdX4nr;@1AlO8QCVt{LT0f-QEFmJB|AeN4?{jf!RBC=8%%71EDVec
z7LyIx4~AMYSTQg%@G*EXSToo#Ffj-+xHH%?*f20Nh%z`c*fH2JurSCoSTZOw*fX#)
qXfo(CC^I-PurU}js4}QBI5My^=rJ%bfXvfpU}SJ&U|?Wka0UQOpFF+*

diff --git a/out/production/infinitymonkeys/server/User.class b/out/production/infinitymonkeys/server/User.class
index 17261fd1d0f03ebf8fb8b05a1c22619d50174f68..a82ad43f335c18a83de06d206fede36f98e49c41 100644
GIT binary patch
delta 56
zcmey#`ID35)W2Q(7#J8#HgY^=oGi<vH~B52!DeqJXQs)gS=1+QWf7a)$0EpRIC%k!
ND7zX10|OI-Isi+(5bFQ{

delta 52
zcmey#`ID35)W2Q(7#JALH*!2>oGi^`F!?Q`-ezwmXQs)gSp*q%CNE&op4`Wx&aTG5
Jz`(?y4gmWi51Rl0

diff --git a/src/GUI/ChatScreen.form b/src/GUI/ChatScreen.form
index 9d8893e..c84b144 100644
--- a/src/GUI/ChatScreen.form
+++ b/src/GUI/ChatScreen.form
@@ -67,7 +67,7 @@
                 <properties/>
                 <border type="none" title="Manager's Tools"/>
                 <children>
-                  <component id="b7068" class="javax.swing.JComboBox" binding="userSelectComboBox">
+                  <component id="b7068" class="javax.swing.JComboBox" binding="kickUserComboBox">
                     <constraints>
                       <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
                     </constraints>
diff --git a/src/GUI/ChatScreen.java b/src/GUI/ChatScreen.java
index 8dda5bb..d338a03 100644
--- a/src/GUI/ChatScreen.java
+++ b/src/GUI/ChatScreen.java
@@ -19,7 +19,7 @@ public class ChatScreen {
     private JPanel othersPanel;
     private JComboBox sendMessageToComboBox;
     private JTextArea chatDisplayBox;
-    private JComboBox userSelectComboBox;
+    private JComboBox kickUserComboBox;
     private JButton kickOutButton;
     private JButton promoteToManagerButton;
     private JTextField chatInputBox;
@@ -42,9 +42,11 @@ public class ChatScreen {
     {
         this.client = client;
         yourNameDisplay.setText(client.getUserName());
-//        sentMessageToComboBox.addItem(client.getUserName());
         quitButton.addActionListener(actionListener);
         sendButton.addActionListener(actionListener);
+        kickOutButton.addActionListener(actionListener);
+        promoteToManagerButton.addActionListener(actionListener);
+
         frame = new JFrame("Application");
         frame.setContentPane(panel2);
         createUIComponents();
@@ -95,10 +97,32 @@ public class ChatScreen {
         return sendMessageToComboBox;
     }
 
+    public JComboBox getKickUserComboBox()
+    {
+        return kickUserComboBox;
+    }
+
     public JPanel getDrawingPanel() {
         return drawingPanel;
     }
 
+    public void setManagerToolsVisibility() {
+        try {
+            if (client.getClientController().getAdmin().equals(client.getUserName())){
+                managersPanel.setVisible(true);
+            }
+            else {
+                managersPanel.setVisible(false);
+            }
+        } catch (RemoteException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void exitChatScreen() {
+        System.exit(0);
+    }
+
 
     ActionListener actionListener = new ActionListener()
     {
@@ -136,13 +160,44 @@ public class ChatScreen {
                 {
                     System.out.println("Exit room button pressed");
                     clientController.quit(client.getUserName());
-                    System.exit(0);
+                    exitChatScreen();
                 }
                 catch (RemoteException ex)
                 {
                     ex.printStackTrace();
                 }
             }
+            else if (e.getSource() == kickOutButton)
+            {
+
+                IClientController clientController = client.getClientController();
+                String toUser = kickUserComboBox.getSelectedItem().toString();
+
+                try {
+                    System.out.println("Kick out button pressed");
+                    clientController.kickUser(client.getUserName(), toUser);
+                }
+                catch (RemoteException ex) {
+
+                    ex.printStackTrace();
+                }
+
+            }
+            else if (e.getSource() == promoteToManagerButton)
+            {
+
+                IClientController clientController = client.getClientController();
+                String toUser = kickUserComboBox.getSelectedItem().toString();
+
+                try {
+                    System.out.println("Promote to manager button pressed");
+                    clientController.assignAdmin(client.getUserName(), toUser);
+                }
+                catch (RemoteException ex) {
+                    ex.printStackTrace();
+                }
+
+            }
         }
 
     };
diff --git a/src/client/Client.java b/src/client/Client.java
index b5c34ee..71445f3 100644
--- a/src/client/Client.java
+++ b/src/client/Client.java
@@ -96,8 +96,7 @@ public class Client
         {
             Client client = new Client(args[0]);
             client.connect();
-//            client.startScreen.go();
-//            client.getPaintGUI().showGUI();
+            client.getChatScreen().setManagerToolsVisibility();
         }
         catch (Exception e)
         {
@@ -105,21 +104,6 @@ public class Client
         }
     }
 
-//    public void doSomething()
-//    {
-////        new ChatScreen();
-//
-//        try
-//        {
-//            new ChatScreen(this);
-//            System.out.println("Sleeping...");
-//            TimeUnit.MINUTES.sleep(5);
-//        }
-//        catch(Exception e)
-//        {
-//            e.printStackTrace();
-//        }
-//    }
 
     public boolean connect()
     {
@@ -146,13 +130,4 @@ public class Client
         return false;
     }
 
-    public String getReceivedMessage()
-    {
-        return receivedMessage;
-    }
-
-    public void setReceivedMessage(String receivedMessage)
-    {
-        this.receivedMessage = receivedMessage;
-    }
 }
\ No newline at end of file
diff --git a/src/client/ClientUpdate.java b/src/client/ClientUpdate.java
index 83967bc..6f5e380 100644
--- a/src/client/ClientUpdate.java
+++ b/src/client/ClientUpdate.java
@@ -18,22 +18,16 @@ public class ClientUpdate extends UnicastRemoteObject implements IClientUpdate,
         this.client = client;
     }
 
-    @Override
-    public boolean notifyClient(String fromClient, String newUsername) throws RemoteException
-    {
-        client.getChatScreen().getSendMessageToComboBox().addItem(newUsername);
-
-        return true;
-    }
-
     @Override
     public boolean updateUserList(String[] users) throws RemoteException
     {
         //client.setConnectedUsers(users);
 
         JComboBox userBox = client.getChatScreen().getSendMessageToComboBox();
+        JComboBox kickUserBox = client.getChatScreen().getKickUserComboBox();
 
         userBox.removeAllItems();
+        kickUserBox.removeAllItems();
 
         userBox.addItem("All");
 
@@ -43,8 +37,36 @@ public class ClientUpdate extends UnicastRemoteObject implements IClientUpdate,
             {
                 userBox.addItem(s);
             }
+
+            if( !s.equals(client.getClientController().getAdmin()) )
+            {
+                kickUserBox.addItem(s);
+            }
+
         }
 
         return true;
     }
+
+    @Override
+    public void terminateChat() throws RemoteException {
+        client.getChatScreen().exitChatScreen();
+    }
+
+    @Override
+    public void setVisibility() {
+        client.getChatScreen().setManagerToolsVisibility();
+    }
+
+    @Override
+    public void notifyManagerActions(String toClient, Action action) throws RemoteException {
+        switch (action) {
+            case KICKOUT:
+                client.getChatScreen().getChatDisplayBox().append(toClient + " has been kicked out by the manager.\n");
+                break;
+            case ASSIGNADMIN:
+                client.getChatScreen().getChatDisplayBox().append(toClient + " is the new manager.\n");
+                break;
+        }
+    }
 }
diff --git a/src/remote/IClientController.java b/src/remote/IClientController.java
index bde0a0f..349297d 100644
--- a/src/remote/IClientController.java
+++ b/src/remote/IClientController.java
@@ -5,11 +5,17 @@ import java.rmi.RemoteException;
 
 public interface IClientController extends Remote
 {
+    enum Action {KICKOUT, ASSIGNADMIN};
+
     boolean join(String username, IChatUpdate clientChat, IClientUpdate clientUpdate, IDrawingUpdate clientDrawing) throws RemoteException;
 
     void quit(String username) throws RemoteException;
 
-    boolean assignAdmin(String username) throws RemoteException;
+    boolean assignAdmin(String oldAdmin, String newAdmin) throws RemoteException;
 
     boolean kickUser(String username, String who) throws RemoteException;
+
+    boolean broadcastManagerMessage(String toClient, Action action) throws RemoteException;
+
+    String getAdmin() throws RemoteException;
 }
diff --git a/src/remote/IClientUpdate.java b/src/remote/IClientUpdate.java
index c1337f9..1d4dea6 100644
--- a/src/remote/IClientUpdate.java
+++ b/src/remote/IClientUpdate.java
@@ -6,7 +6,10 @@ import java.rmi.RemoteException;
 
 public interface IClientUpdate extends Remote, Serializable {
 
-    boolean notifyClient(String fromClient, String newUsername) throws RemoteException;
-
+    enum Action {KICKOUT, ASSIGNADMIN};
     boolean updateUserList(String[] users) throws RemoteException;
+    void terminateChat() throws RemoteException;
+    void notifyManagerActions(String toClient, Action action) throws RemoteException;
+    void setVisibility() throws RemoteException;
+
 }
diff --git a/src/server/ClientController.java b/src/server/ClientController.java
index bcfd261..9a82aa0 100644
--- a/src/server/ClientController.java
+++ b/src/server/ClientController.java
@@ -56,13 +56,17 @@ public class ClientController extends UnicastRemoteObject implements IClientCont
     }
 
     @Override
-    public boolean assignAdmin(String username) throws RemoteException
+    public boolean assignAdmin(String oldAdmin, String newAdmin) throws RemoteException
     {
-        int adminIndex = getUserIndex(username);
+        int oldAdminIndex = getUserIndex(oldAdmin);
+        int newAdminIndex = getUserIndex(newAdmin);
 
-        if( adminIndex >= 0 )
+        if( newAdminIndex >= 0 && server.users.get(oldAdminIndex).isAdmin())
         {
-            server.users.get(adminIndex).setAdmin(true);
+            server.users.get(oldAdminIndex).setAdmin(false);
+            server.users.get(newAdminIndex).setAdmin(true);
+            broadcastUserList();
+            broadcastManagerMessage(newAdmin, Action.ASSIGNADMIN);
 
             return true;
         }
@@ -71,17 +75,25 @@ public class ClientController extends UnicastRemoteObject implements IClientCont
     }
 
     @Override
-    public boolean kickUser(String username, String who) throws RemoteException
+    public boolean kickUser(String manager, String kickedUser) throws RemoteException
     {
-        int userIndex = getUserIndex(who);
+        int userIndex = getUserIndex(kickedUser);
 
-        int adminIndex = getUserIndex(username);
+        int adminIndex = getUserIndex(manager);
 
-        if ( adminIndex > 0 && userIndex > 0 && server.users.get(adminIndex).isAdmin() )
+        if ( adminIndex >= 0 && userIndex >= 0 && server.users.get(adminIndex).isAdmin() )
         {
-            server.users.remove(userIndex);
 
-            broadcastUserList();
+            try {
+                server.users.get(userIndex).getIClientUpdate().terminateChat();
+            }
+            finally {
+                System.out.print(server.users);
+                server.users.remove(userIndex);
+                System.out.print(server.users);
+                broadcastUserList();
+                broadcastManagerMessage(kickedUser, Action.KICKOUT);
+            }
 
             return true;
         }
@@ -105,7 +117,7 @@ public class ClientController extends UnicastRemoteObject implements IClientCont
         return index;
     }
 
-    private void broadcastUserList() throws RemoteException
+    public void broadcastUserList() throws RemoteException
     {
         String[] connectedUsers = new String[server.users.size()];
 
@@ -119,4 +131,50 @@ public class ClientController extends UnicastRemoteObject implements IClientCont
             u.getIClientUpdate().updateUserList(connectedUsers);
         }
     }
+
+    @Override
+    public String getAdmin() throws RemoteException
+    {
+        String adminName = "";
+        for( User u : server.users )
+        {
+            if (u.isAdmin()) {
+                adminName = u.getUserName();
+            }
+        }
+        return adminName;
+    }
+
+    @Override
+    public boolean broadcastManagerMessage(String toClient, Action action) throws RemoteException {
+        System.out.print("Broadcasting message to everyone...");
+        IClientUpdate client;
+
+        switch (action){
+            case KICKOUT:
+                for( User u : server.users )
+                {
+                    client = u.getIClientUpdate();
+                    client.notifyManagerActions(toClient, remote.IClientUpdate.Action.KICKOUT);
+                }
+
+                System.out.print("...DONE\n");
+                System.out.println(toClient + " has been kicked out the room.");
+                break;
+
+            case ASSIGNADMIN:
+                for( User u : server.users )
+                {
+                    client = u.getIClientUpdate();
+                    client.notifyManagerActions(toClient, remote.IClientUpdate.Action.ASSIGNADMIN);
+                    client.setVisibility();
+                }
+
+                System.out.print("...DONE\n");
+                System.out.println(toClient + " is the new manager.");
+                break;
+        }
+
+        return true;
+    }
 }
-- 
GitLab