From 74627c9c7a53a486f90f259e251ad575a52d8ad8 Mon Sep 17 00:00:00 2001 From: Thor Harald Johansen Date: Mon, 14 Sep 2020 07:52:25 +0200 Subject: [PATCH] Intial commit --- .classpath | 14 + .gitignore | 8 + build.xml | 42 + lib/TableLayout-bin-jdk1.5-2009-08-26.jar | Bin 0 -> 13455 bytes lib/jspeex.jar | Bin 0 -> 105547 bytes lib/jtablet-2010-04-13-1.jar | Bin 0 -> 8035 bytes lib/jtablet2-thin-2010-04-13-1.jar | Bin 0 -> 39925 bytes lib/proguard.jar | Bin 0 -> 673280 bytes lib/proguard_task.properties | 2 + sketcher2-client-20120527-1225.jar | Bin 0 -> 156334 bytes sketcher2-client-20120527-1225.map | 1215 ++++++++++++ sketcher2-client-resources-20120527-1225.jar | Bin 0 -> 448864 bytes sketcher2-server-20120527-1225.jar | Bin 0 -> 94958 bytes src/com/jotuntech/sketcher/client/Client.java | 626 ++++++ .../sketcher/client/ClientApplet.java | 54 + .../jotuntech/sketcher/client/Command.java | 8 + .../sketcher/client/CommandEntry.java | 24 + .../jotuntech/sketcher/client/Connection.java | 113 ++ src/com/jotuntech/sketcher/client/Editor.java | 1278 ++++++++++++ .../sketcher/client/JCollapsiblePanel.java | 154 ++ .../client/JCollapsiblePanelGroup.java | 7 + .../jotuntech/sketcher/client/JUserEntry.java | 74 + .../jotuntech/sketcher/client/JUserList.java | 57 + .../sketcher/client/LookAndFeel.java | 81 + .../jotuntech/sketcher/client/PSDEncoder.java | 568 ++++++ .../sketcher/client/PackBitsOutputStream.java | 141 ++ .../jotuntech/sketcher/client/Smoother.java | 150 ++ .../sketcher/client/UserInterface.java | 1723 +++++++++++++++++ .../jotuntech/sketcher/client/audio/chat.wav | Bin 0 -> 12904 bytes .../jotuntech/sketcher/client/audio/intro.wav | Bin 0 -> 132160 bytes .../jotuntech/sketcher/client/audio/kick.wav | Bin 0 -> 55194 bytes .../sketcher/client/audio/outtro.wav | Bin 0 -> 88096 bytes .../jotuntech/sketcher/client/audio/query.wav | Bin 0 -> 17250 bytes .../sketcher/client/audio/signin.wav | Bin 0 -> 61534 bytes .../sketcher/client/audio/signout.wav | Bin 0 -> 36964 bytes .../client/command/CanvasCommand.java | 56 + .../client/command/CreateLayerCommand.java | 56 + .../client/command/CursorCommand.java | 56 + .../client/command/DeleteLayerCommand.java | 74 + .../client/command/FilterCommand.java | 82 + .../sketcher/client/command/KickCommand.java | 58 + .../client/command/LayerDataCommand.java | 66 + .../sketcher/client/command/LineCommand.java | 73 + .../sketcher/client/command/MergeCommand.java | 45 + .../sketcher/client/command/MoveCommand.java | 68 + .../sketcher/client/command/PingCommand.java | 32 + .../sketcher/client/command/SayCommand.java | 62 + .../client/command/ServerMessageCommand.java | 41 + .../client/command/SetBrushCommand.java | 57 + .../client/command/SetColorCommand.java | 53 + .../client/command/SetLayerCommand.java | 64 + .../client/command/SignInCommand.java | 96 + .../client/command/SignOutCommand.java | 49 + .../sketcher/client/command/UndoCommand.java | 35 + .../client/command/UndoDataCommand.java | 45 + .../client/command/UndoEntryCommand.java | 46 + .../sketcher/client/command/VoiceCommand.java | 37 + .../sketcher/client/images/about.png | Bin 0 -> 24638 bytes .../jotuntech/sketcher/client/images/ad1.png | Bin 0 -> 54047 bytes .../sketcher/client/images/bezier.png | Bin 0 -> 302 bytes .../jotuntech/sketcher/client/images/blue.png | Bin 0 -> 348 bytes .../sketcher/client/images/brightness.png | Bin 0 -> 781 bytes .../sketcher/client/images/brush.png | Bin 0 -> 489 bytes .../jotuntech/sketcher/client/images/cmy.png | Bin 0 -> 317 bytes .../sketcher/client/images/color.png | Bin 0 -> 507 bytes .../sketcher/client/images/crosshair.gif | Bin 0 -> 105 bytes .../jotuntech/sketcher/client/images/cyan.png | Bin 0 -> 274 bytes .../sketcher/client/images/dummybanner.png | Bin 0 -> 45252 bytes .../sketcher/client/images/eraser.png | Bin 0 -> 2934 bytes .../sketcher/client/images/eyedropper.gif | Bin 0 -> 913 bytes .../jotuntech/sketcher/client/images/flow.png | Bin 0 -> 216 bytes .../sketcher/client/images/freehand.png | Bin 0 -> 297 bytes .../sketcher/client/images/green.png | Bin 0 -> 324 bytes .../jotuntech/sketcher/client/images/hand.gif | Bin 0 -> 128 bytes .../sketcher/client/images/hardness.png | Bin 0 -> 342 bytes .../jotuntech/sketcher/client/images/hsb.png | Bin 0 -> 592 bytes .../jotuntech/sketcher/client/images/hue.png | Bin 0 -> 422 bytes .../jotuntech/sketcher/client/images/ink.png | Bin 0 -> 2959 bytes .../sketcher/client/images/jitter.png | Bin 0 -> 308 bytes .../sketcher/client/images/layers.png | Bin 0 -> 153 bytes .../jotuntech/sketcher/client/images/line.png | Bin 0 -> 244 bytes .../sketcher/client/images/madeinsketcher.png | Bin 0 -> 622 bytes .../sketcher/client/images/magenta.png | Bin 0 -> 265 bytes .../jotuntech/sketcher/client/images/move.png | Bin 0 -> 309 bytes .../sketcher/client/images/noise.png | Bin 0 -> 398 bytes .../sketcher/client/images/opacity.png | Bin 0 -> 292 bytes .../jotuntech/sketcher/client/images/oval.png | Bin 0 -> 306 bytes .../jotuntech/sketcher/client/images/pen.png | Bin 0 -> 2934 bytes .../sketcher/client/images/pencil.png | Bin 0 -> 2912 bytes .../sketcher/client/images/pin_normal.png | Bin 0 -> 416 bytes .../sketcher/client/images/pin_stuck.png | Bin 0 -> 614 bytes .../sketcher/client/images/rectangle.png | Bin 0 -> 244 bytes .../jotuntech/sketcher/client/images/red.png | Bin 0 -> 335 bytes .../jotuntech/sketcher/client/images/rgb.png | Bin 0 -> 436 bytes .../sketcher/client/images/saturation.png | Bin 0 -> 840 bytes .../sketcher/client/images/select.png | Bin 0 -> 238 bytes .../jotuntech/sketcher/client/images/size.png | Bin 0 -> 383 bytes .../sketcher/client/images/sketcherlogo.png | Bin 0 -> 982 bytes .../sketcher/client/images/smoothing.png | Bin 0 -> 293 bytes .../sketcher/client/images/spacing.png | Bin 0 -> 243 bytes .../sketcher/client/images/strength.png | Bin 0 -> 292 bytes .../sketcher/client/images/tools.png | Bin 0 -> 342 bytes .../sketcher/client/images/trailing.png | Bin 0 -> 2889 bytes .../sketcher/client/images/water.png | Bin 0 -> 313 bytes .../sketcher/client/images/water2.png | Bin 0 -> 2985 bytes .../sketcher/client/images/waterarea.png | Bin 0 -> 2926 bytes .../jotuntech/sketcher/client/images/wipe.png | Bin 0 -> 2988 bytes .../sketcher/client/images/yellow.png | Bin 0 -> 286 bytes .../jotuntech/sketcher/client/images/zoom.png | Bin 0 -> 3032 bytes .../sketcher/client/voice/Highpass24.java | 34 + .../sketcher/client/voice/VoiceChannel.java | 197 ++ .../sketcher/client/voice/VoiceClient.java | 310 +++ .../sketcher/client/voice/VoiceDetector.java | 39 + .../sketcher/client/voice/VoiceEvent.java | 120 ++ .../sketcher/client/voice/VoiceListener.java | 6 + .../sketcher/client/voice/VoiceMixer.java | 172 ++ .../sketcher/client/voice/aec/AEC.java | 237 +++ .../sketcher/client/voice/aec/FIRHP13.java | 42 + .../sketcher/client/voice/aec/IIR1.java | 24 + .../sketcher/client/voice/aec/IIR2.java | 36 + .../sketcher/client/voice/aec/IIRHP.java | 16 + .../sketcher/common/BitmapLayer.java | 962 +++++++++ .../jotuntech/sketcher/common/BitmapTile.java | 232 +++ .../sketcher/common/BitmapTileDiff.java | 15 + .../sketcher/common/BitmapUndoData.java | 56 + src/com/jotuntech/sketcher/common/Brush.java | 269 +++ src/com/jotuntech/sketcher/common/Canvas.java | 78 + .../sketcher/common/ConsoleOutputStream.java | 24 + .../jotuntech/sketcher/common/Copyable.java | 5 + .../jotuntech/sketcher/common/DiffPacker.java | 55 + .../sketcher/common/DiffUnpacker.java | 49 + src/com/jotuntech/sketcher/common/Input.java | 69 + src/com/jotuntech/sketcher/common/Layer.java | 34 + .../jotuntech/sketcher/common/LayerType.java | 7 + src/com/jotuntech/sketcher/common/Log.java | 84 + .../sketcher/common/PixelPacker.java | 99 + .../sketcher/common/PixelUnpacker.java | 77 + src/com/jotuntech/sketcher/common/Pixels.java | 129 ++ .../jotuntech/sketcher/common/Streamable.java | 13 + .../sketcher/common/StreamableUtils.java | 17 + .../sketcher/common/TwoWayHashMap.java | 194 ++ .../jotuntech/sketcher/common/UndoData.java | 8 + .../jotuntech/sketcher/common/UndoEntry.java | 24 + src/com/jotuntech/sketcher/common/User.java | 136 ++ .../common/filter/AutoContrastFilter.java | 101 + .../sketcher/common/filter/BlurFilter.java | 120 ++ .../sketcher/common/filter/Filter.java | 15 + .../sketcher/server/AccessController.java | 11 + .../jotuntech/sketcher/server/Command.java | 7 + .../sketcher/server/CommandEntry.java | 24 + .../jotuntech/sketcher/server/Connection.java | 128 ++ src/com/jotuntech/sketcher/server/Server.java | 713 +++++++ .../jotuntech/sketcher/server/Service.java | 244 +++ .../sketcher/server/VoiceServer.java | 98 + .../server/command/CanvasCommand.java | 36 + .../server/command/CreateLayerCommand.java | 74 + .../server/command/CursorCommand.java | 58 + .../server/command/DeleteLayerCommand.java | 86 + .../server/command/FilterCommand.java | 83 + .../sketcher/server/command/KickCommand.java | 73 + .../server/command/LayerDataCommand.java | 40 + .../sketcher/server/command/LineCommand.java | 76 + .../sketcher/server/command/MergeCommand.java | 50 + .../sketcher/server/command/MoveCommand.java | 69 + .../sketcher/server/command/PingCommand.java | 32 + .../sketcher/server/command/SayCommand.java | 69 + .../server/command/ServerMessageCommand.java | 37 + .../server/command/SetBrushCommand.java | 49 + .../server/command/SetColorCommand.java | 48 + .../server/command/SetLayerCommand.java | 61 + .../server/command/SignInCommand.java | 241 +++ .../server/command/SignOutCommand.java | 47 + .../sketcher/server/command/UndoCommand.java | 38 + .../server/command/UndoDataCommand.java | 32 + .../server/command/UndoEntryCommand.java | 31 + .../sketcher/server/command/VoiceCommand.java | 44 + .../jotuntech/sketcher/tests/CacheTest.java | 54 + .../sketcher/tests/PackBitsTest.java | 80 + 178 files changed, 14428 insertions(+) create mode 100755 .classpath create mode 100644 .gitignore create mode 100755 build.xml create mode 100755 lib/TableLayout-bin-jdk1.5-2009-08-26.jar create mode 100755 lib/jspeex.jar create mode 100755 lib/jtablet-2010-04-13-1.jar create mode 100755 lib/jtablet2-thin-2010-04-13-1.jar create mode 100755 lib/proguard.jar create mode 100755 lib/proguard_task.properties create mode 100755 sketcher2-client-20120527-1225.jar create mode 100755 sketcher2-client-20120527-1225.map create mode 100755 sketcher2-client-resources-20120527-1225.jar create mode 100755 sketcher2-server-20120527-1225.jar create mode 100755 src/com/jotuntech/sketcher/client/Client.java create mode 100755 src/com/jotuntech/sketcher/client/ClientApplet.java create mode 100755 src/com/jotuntech/sketcher/client/Command.java create mode 100755 src/com/jotuntech/sketcher/client/CommandEntry.java create mode 100755 src/com/jotuntech/sketcher/client/Connection.java create mode 100755 src/com/jotuntech/sketcher/client/Editor.java create mode 100755 src/com/jotuntech/sketcher/client/JCollapsiblePanel.java create mode 100755 src/com/jotuntech/sketcher/client/JCollapsiblePanelGroup.java create mode 100755 src/com/jotuntech/sketcher/client/JUserEntry.java create mode 100755 src/com/jotuntech/sketcher/client/JUserList.java create mode 100755 src/com/jotuntech/sketcher/client/LookAndFeel.java create mode 100755 src/com/jotuntech/sketcher/client/PSDEncoder.java create mode 100755 src/com/jotuntech/sketcher/client/PackBitsOutputStream.java create mode 100755 src/com/jotuntech/sketcher/client/Smoother.java create mode 100755 src/com/jotuntech/sketcher/client/UserInterface.java create mode 100755 src/com/jotuntech/sketcher/client/audio/chat.wav create mode 100755 src/com/jotuntech/sketcher/client/audio/intro.wav create mode 100755 src/com/jotuntech/sketcher/client/audio/kick.wav create mode 100755 src/com/jotuntech/sketcher/client/audio/outtro.wav create mode 100755 src/com/jotuntech/sketcher/client/audio/query.wav create mode 100755 src/com/jotuntech/sketcher/client/audio/signin.wav create mode 100755 src/com/jotuntech/sketcher/client/audio/signout.wav create mode 100755 src/com/jotuntech/sketcher/client/command/CanvasCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/CreateLayerCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/CursorCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/DeleteLayerCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/FilterCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/KickCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/LayerDataCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/LineCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/MergeCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/MoveCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/PingCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/SayCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/ServerMessageCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/SetBrushCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/SetColorCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/SetLayerCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/SignInCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/SignOutCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/UndoCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/UndoDataCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/UndoEntryCommand.java create mode 100755 src/com/jotuntech/sketcher/client/command/VoiceCommand.java create mode 100755 src/com/jotuntech/sketcher/client/images/about.png create mode 100755 src/com/jotuntech/sketcher/client/images/ad1.png create mode 100755 src/com/jotuntech/sketcher/client/images/bezier.png create mode 100755 src/com/jotuntech/sketcher/client/images/blue.png create mode 100755 src/com/jotuntech/sketcher/client/images/brightness.png create mode 100755 src/com/jotuntech/sketcher/client/images/brush.png create mode 100755 src/com/jotuntech/sketcher/client/images/cmy.png create mode 100755 src/com/jotuntech/sketcher/client/images/color.png create mode 100755 src/com/jotuntech/sketcher/client/images/crosshair.gif create mode 100755 src/com/jotuntech/sketcher/client/images/cyan.png create mode 100755 src/com/jotuntech/sketcher/client/images/dummybanner.png create mode 100755 src/com/jotuntech/sketcher/client/images/eraser.png create mode 100755 src/com/jotuntech/sketcher/client/images/eyedropper.gif create mode 100755 src/com/jotuntech/sketcher/client/images/flow.png create mode 100755 src/com/jotuntech/sketcher/client/images/freehand.png create mode 100755 src/com/jotuntech/sketcher/client/images/green.png create mode 100755 src/com/jotuntech/sketcher/client/images/hand.gif create mode 100755 src/com/jotuntech/sketcher/client/images/hardness.png create mode 100755 src/com/jotuntech/sketcher/client/images/hsb.png create mode 100755 src/com/jotuntech/sketcher/client/images/hue.png create mode 100755 src/com/jotuntech/sketcher/client/images/ink.png create mode 100755 src/com/jotuntech/sketcher/client/images/jitter.png create mode 100755 src/com/jotuntech/sketcher/client/images/layers.png create mode 100755 src/com/jotuntech/sketcher/client/images/line.png create mode 100755 src/com/jotuntech/sketcher/client/images/madeinsketcher.png create mode 100755 src/com/jotuntech/sketcher/client/images/magenta.png create mode 100755 src/com/jotuntech/sketcher/client/images/move.png create mode 100755 src/com/jotuntech/sketcher/client/images/noise.png create mode 100755 src/com/jotuntech/sketcher/client/images/opacity.png create mode 100755 src/com/jotuntech/sketcher/client/images/oval.png create mode 100755 src/com/jotuntech/sketcher/client/images/pen.png create mode 100755 src/com/jotuntech/sketcher/client/images/pencil.png create mode 100755 src/com/jotuntech/sketcher/client/images/pin_normal.png create mode 100755 src/com/jotuntech/sketcher/client/images/pin_stuck.png create mode 100755 src/com/jotuntech/sketcher/client/images/rectangle.png create mode 100755 src/com/jotuntech/sketcher/client/images/red.png create mode 100755 src/com/jotuntech/sketcher/client/images/rgb.png create mode 100755 src/com/jotuntech/sketcher/client/images/saturation.png create mode 100755 src/com/jotuntech/sketcher/client/images/select.png create mode 100755 src/com/jotuntech/sketcher/client/images/size.png create mode 100755 src/com/jotuntech/sketcher/client/images/sketcherlogo.png create mode 100755 src/com/jotuntech/sketcher/client/images/smoothing.png create mode 100755 src/com/jotuntech/sketcher/client/images/spacing.png create mode 100755 src/com/jotuntech/sketcher/client/images/strength.png create mode 100755 src/com/jotuntech/sketcher/client/images/tools.png create mode 100755 src/com/jotuntech/sketcher/client/images/trailing.png create mode 100755 src/com/jotuntech/sketcher/client/images/water.png create mode 100755 src/com/jotuntech/sketcher/client/images/water2.png create mode 100755 src/com/jotuntech/sketcher/client/images/waterarea.png create mode 100755 src/com/jotuntech/sketcher/client/images/wipe.png create mode 100755 src/com/jotuntech/sketcher/client/images/yellow.png create mode 100755 src/com/jotuntech/sketcher/client/images/zoom.png create mode 100755 src/com/jotuntech/sketcher/client/voice/Highpass24.java create mode 100755 src/com/jotuntech/sketcher/client/voice/VoiceChannel.java create mode 100755 src/com/jotuntech/sketcher/client/voice/VoiceClient.java create mode 100755 src/com/jotuntech/sketcher/client/voice/VoiceDetector.java create mode 100755 src/com/jotuntech/sketcher/client/voice/VoiceEvent.java create mode 100755 src/com/jotuntech/sketcher/client/voice/VoiceListener.java create mode 100755 src/com/jotuntech/sketcher/client/voice/VoiceMixer.java create mode 100755 src/com/jotuntech/sketcher/client/voice/aec/AEC.java create mode 100755 src/com/jotuntech/sketcher/client/voice/aec/FIRHP13.java create mode 100755 src/com/jotuntech/sketcher/client/voice/aec/IIR1.java create mode 100755 src/com/jotuntech/sketcher/client/voice/aec/IIR2.java create mode 100755 src/com/jotuntech/sketcher/client/voice/aec/IIRHP.java create mode 100755 src/com/jotuntech/sketcher/common/BitmapLayer.java create mode 100755 src/com/jotuntech/sketcher/common/BitmapTile.java create mode 100755 src/com/jotuntech/sketcher/common/BitmapTileDiff.java create mode 100755 src/com/jotuntech/sketcher/common/BitmapUndoData.java create mode 100755 src/com/jotuntech/sketcher/common/Brush.java create mode 100755 src/com/jotuntech/sketcher/common/Canvas.java create mode 100755 src/com/jotuntech/sketcher/common/ConsoleOutputStream.java create mode 100755 src/com/jotuntech/sketcher/common/Copyable.java create mode 100755 src/com/jotuntech/sketcher/common/DiffPacker.java create mode 100755 src/com/jotuntech/sketcher/common/DiffUnpacker.java create mode 100755 src/com/jotuntech/sketcher/common/Input.java create mode 100755 src/com/jotuntech/sketcher/common/Layer.java create mode 100755 src/com/jotuntech/sketcher/common/LayerType.java create mode 100755 src/com/jotuntech/sketcher/common/Log.java create mode 100755 src/com/jotuntech/sketcher/common/PixelPacker.java create mode 100755 src/com/jotuntech/sketcher/common/PixelUnpacker.java create mode 100755 src/com/jotuntech/sketcher/common/Pixels.java create mode 100755 src/com/jotuntech/sketcher/common/Streamable.java create mode 100755 src/com/jotuntech/sketcher/common/StreamableUtils.java create mode 100755 src/com/jotuntech/sketcher/common/TwoWayHashMap.java create mode 100755 src/com/jotuntech/sketcher/common/UndoData.java create mode 100755 src/com/jotuntech/sketcher/common/UndoEntry.java create mode 100755 src/com/jotuntech/sketcher/common/User.java create mode 100755 src/com/jotuntech/sketcher/common/filter/AutoContrastFilter.java create mode 100755 src/com/jotuntech/sketcher/common/filter/BlurFilter.java create mode 100755 src/com/jotuntech/sketcher/common/filter/Filter.java create mode 100755 src/com/jotuntech/sketcher/server/AccessController.java create mode 100755 src/com/jotuntech/sketcher/server/Command.java create mode 100755 src/com/jotuntech/sketcher/server/CommandEntry.java create mode 100755 src/com/jotuntech/sketcher/server/Connection.java create mode 100755 src/com/jotuntech/sketcher/server/Server.java create mode 100755 src/com/jotuntech/sketcher/server/Service.java create mode 100755 src/com/jotuntech/sketcher/server/VoiceServer.java create mode 100755 src/com/jotuntech/sketcher/server/command/CanvasCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/CreateLayerCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/CursorCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/DeleteLayerCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/FilterCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/KickCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/LayerDataCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/LineCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/MergeCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/MoveCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/PingCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/SayCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/ServerMessageCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/SetBrushCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/SetColorCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/SetLayerCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/SignInCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/SignOutCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/UndoCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/UndoDataCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/UndoEntryCommand.java create mode 100755 src/com/jotuntech/sketcher/server/command/VoiceCommand.java create mode 100755 src/com/jotuntech/sketcher/tests/CacheTest.java create mode 100755 src/com/jotuntech/sketcher/tests/PackBitsTest.java diff --git a/.classpath b/.classpath new file mode 100755 index 0000000..5fb44ea --- /dev/null +++ b/.classpath @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..52f8a89 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +**/.DS_Store +**/*.p12 +.settings +.project + +bin/ + +obfuscate-sketcher1.xml diff --git a/build.xml b/build.xml new file mode 100755 index 0000000..8f8e4ab --- /dev/null +++ b/build.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + -libraryjars "${java.home}/lib/rt.jar" + -libraryjars lib/ + -injars sketcher2-client-internal-${DSTAMP}-${TSTAMP}.jar + -outjars sketcher2-client-${DSTAMP}-${TSTAMP}.jar + -printmapping sketcher2-client-${DSTAMP}-${TSTAMP}.map + -keep public class * extends java.applet.Applet + -keep public class * extends com.jotuntech.sketcher.client.Command + -keep public class * extends com.jotuntech.sketcher.common.filter.Filter + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/TableLayout-bin-jdk1.5-2009-08-26.jar b/lib/TableLayout-bin-jdk1.5-2009-08-26.jar new file mode 100755 index 0000000000000000000000000000000000000000..b2e2b3dc82e0783010a15d3e4d32cab43bd2b65c GIT binary patch literal 13455 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
kNH%os`*;W2ePcmf)us*k`L572e(7{F3v~&V9pk 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 literal 0 HcmV?d00001 diff --git a/lib/jtablet-2010-04-13-1.jar b/lib/jtablet-2010-04-13-1.jar new file mode 100755 index 0000000000000000000000000000000000000000..a8cf53f679e55cf0c0be013d1005e5c976de689c GIT binary patch literal 8035 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 literal 0 HcmV?d00001 diff --git a/lib/jtablet2-thin-2010-04-13-1.jar b/lib/jtablet2-thin-2010-04-13-1.jar new file mode 100755 index 0000000000000000000000000000000000000000..c55b65e0541a6bdfd732db4efeec44253a34ee93 GIT binary patch literal 39925 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 literal 0 HcmV?d00001 diff --git a/lib/proguard.jar b/lib/proguard.jar new file mode 100755 index 0000000000000000000000000000000000000000..dce7fdb90ba97d6765ed57918a4bcdec805c9a13 GIT binary patch literal 673280 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

@3pYS3<0Sb0GTdXsfjmnG95R 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

<2?VEc3c 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 Y>%_sO02?Aqsb{J0&-`Fn!Fh!uu7#W-K8w7dQ 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 JYY4`w`#-0&QfB}F literal 0 HcmV?d00001 diff --git a/lib/proguard_task.properties b/lib/proguard_task.properties new file mode 100755 index 0000000..b676db7 --- /dev/null +++ b/lib/proguard_task.properties @@ -0,0 +1,2 @@ +proguard = proguard.ant.ProGuardTask +proguardconfiguration = proguard.ant.ConfigurationTask diff --git a/sketcher2-client-20120527-1225.jar b/sketcher2-client-20120527-1225.jar new file mode 100755 index 0000000000000000000000000000000000000000..4f61c4c4278b8f23670f13219a4b8e09c7503f9c GIT binary patch literal 156334 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

JuMbd8QN{f%i!3EbbLRQhd(KemeO^ zS%tDpa?Jb_pUE8L$cTgjBb!DD@Goz4T@}8MUajpx<@e1URCxST0ho@uyQGv!H?czX z&PS;CrDfZ9F%uyp3Nm*h)tKFZvUf<~{BorAdfRc&fSd!O-@oWnW22$p?+(ly$SM;s zu8B)+AQ4;+gYJ)eiW2VzN;H9gzHF9dx*e=jo^=cQnsvA42HgEk@uHfL2X?)G^Cpet zzlFpW|ANGlDvI(jsyKpEKr1zxu~{J|j>qYh=$V!RnRUrFBr(0{owC9?nFrKWY5x4~ z=?X&(TGM)nT-CKZQ;tk;MX-R$YG0}1J`M+>9^Q3 zX9#D-u9~YsD%mQhqauW>v)$S97rgzYF;6Y0ebk?1pLOS$M5UpQLRpvJC6FT`&h$z0 znaL(H$+z{nQ{}Jjg&vqKcF|8jgduSr5-Oc8m-FrMKZY|zcnFJ+SB+# zGX#ftf%~leI$O0il$17X5qXhtzA#M?aviRk<38baM%2^|vZ#)M=PfZ!3p6FLr4}&k z{qZH|?N_9x^42R8ucn~J{7n6(E0&ES{&}?OlKGfyDDh%c{G$_!#pA+oz*f`M#~9wl_<-9Z4Up9ht#Le8O(@Jo)o(*7$q}*0aR3hV2Ba6#Srs6uhLE+#CQ1+kiEOb>oV4HGA`%*r1ju z|0RW$ot5p&8wwPPcPQ^T!jb+~Oqp-aTC87Xpvc$HedIvh&Z=K zj{Vu>ec2W!`@x?W0^gV5`fKC&`OA4H$JOME=P~M+fjfD-4Wy*)0ksa*$d6P+Nzl*` z7Am4-Cxt$3tXO$Ka$Jg&Sf4Bs5UG?hD+Ssd;@APrOEx7ICxl3W`8#(xP9=eQqbfn? z>@qr<@GOh0>%ACeI#YFlrr6>kTMl4f;JLX9pdH`?@Bu!IerOaX)k@8W$p)oGf8rf= zR_3KPVSu!_7zBR@aC4Nsia)~QRYchJ#YBnAX2^@|O&o5l>r<>fc^v&9fiPlJeo#k< zwnazi66h2n&i-RCF51&%*elgk*eKEY4a=|>I{L6z?!^1vBxgYFC{Iu-$nQ&1G8D z9*}%3o}!0u9HTb|t1wx=lYwcFete{=xUIyn`Ciw?NG&628JggS}@nLHQn zmK3 zulNJcxMFWjSgnh;H+qY(v$Kcfz@E3y32@B878-yrG{a(j$9_5_Q>4R>+A)6 zOe&kA}-hsWW zp~~Twn%hP=Js$2RSLY* zk5xE=q%&P6E+WkZ{uRLJ;|zkx{>jGRs`ot>TlS-ZcL(? zMwW^n-1smSJsP;rApT%ka#9u)a%I_;%HSfM3Xn1HwHCvy%iBa|zb<5* zt^A_mL6??LbF#ec?fg7dx?Ad^=&8mFl>~oICf>)Oj}+PMCPgm!u8-bK2K6vZ-~AeE zSUpnbhKU>U)8LmpTm^*RGJOk^>&aqJW}67B8Q_d$9z6317YOg?%F;`wjxO5w%1m== z7c=h|(I{A#$Sh18&z5m!Kx#buonfOea~GJ0|E4F8 z$8($t5H*s-F{z&Q#4gR!Of*xOjGvg zR&9Eay4`z!1hc;vvU~JQ%2*#GX8DLT{Kd#AW}7vmasbr~S8G!?`b2 zfke0*B`u74L6XWEjhy*$2czS*AfnnauV^y6X2j}FNZ`B#h!FC2TjOhfJG1`0svg#X zAE2lGIAe z!Cu#kZ`w}mx2Eni_up2;If;6hOZT&fSUZDeE4Db41tT_T>2>?~l>~#=)>kYylnlrI zAJX0eHnJ^Q7Hu;#Gcz;0&CJZq%+zLPW@ct)W@cu)4Q*y>w_lwz=j!Qy{X6rekzCrU zl1i>xt5#(0%*co~+hiWqCCWxFypqt0D9XGGuNR3`u#n83h<(E7CiO}p$AO)S>J+D4 zQpP!>*%H0-Uy&q;!G;I+2LzqHJR}_?Jc%&j&?03#N2=$=YuPw;KY^VyKnVc-)D=nK8U{<{E21_*!u8&L${w_$JhKQxgM4NC)MKv!rj zarcK8ax3Y@8_^UvnayaUV-l)iujSw=eHgjSE*#Q`=}h>9bp>ERVGLRrQGTtdD$@DVS;L_tE^D-5=K-dpomy zFS##IS^9u9-n~8zj)f5f+&^pDKLaZ`18ax`a`Z%WFCoUg56nQvoWujwaEJsndCNN* zV2n=Is%CUSwo2c~NBmJg4ouu7Z}LObt#2G3aU+O$i=vS}0Zi0Q#RMVZ(lEhC#AHn5 zIeZ)+ZNr%OhmMJS_+|SzKXoGt@kjbNKYb(Mxnu$#S!0>#bM&|zw7Va|Yo5bP++5r< zf8z;`S^ZEN)Gkpv`72-Gcj8y}fjq?DXan-o3h>IH`XsM(fqNW5&`F>ykkJ{2Kp=t0 zEVRJ{$lD@>8$yYm`%$2E6XWh7``81R1MRTzuebvkka`sDVz;T$c!nX$LGDn#L_xrP zlD9mdeiFBIf#1nr`3K^l{)Fz^L;cC!KL!1gxvgW4eOohe7~n7|Cq0o$j~{^3CvF#U z$k>MqtOC_1^Uw~ZeucrRJV1c#mAu6Z{7&*JANZAM2vls6{YC@Ymwe#%>Wr1zZ;#@g zwl5C)C2$)D`XzE}5Bfzkq=Y@i?4cTp4OffuyA5`#qA)cdp5HzI`qedX3e+CCTh<|H z-<_@=5>O1#dj%Tk)5yp74ca$H*8tL|@JQR2hw_!WbqDPue07Im?bk>4o&zTEuS5Ku zyl<|yIy?z^g3=C!j<_vWpKg$nVr!69QytTyrAfhpBmv3}Oc4;3pJ_l85Vr3YC<;0S z`5W{C@|x_dzR}jEB*iD3O>4tV&C--7+#aF{g%XrL@CT%VC&g1&l2~VwhFhWyhO@?o zU81Y9ZCk3gXno2zRWAv2BZB%yMiyk7hDJR#E7OmP5#QE@Nn+L&O2wxHDS|B%Q;2nl z8ro42nhW#5lo8F86tZ+1Q^~*}*2SRekx6h$4hax!qn~Q*G9!k>e8bq)myBrQ=_`}5 zhz}GMQ_9P4P01gq6S>CJK=eChP;$yqrxkH?3fE23=BDQ91Cz6h{(AYYo(U_O8`76@ zG&rW{G(2P1^^Fg#fiTT#7?kb_P8b{9;Gvm6akv163zGsBn!BqQyr?#i`1n@qyofSl zg?vHQm@3DUZDBt`1MfZ?7}Y$SXbL|EJ`X~lhI)Dq0vyUyq(W3ZRLx%uJoXhlzNuzg zreNN)ySTj=A~+B8gn}2|eRc$4;YW^QYlRJh3>1JatedMgLnJwy@C*(|Iq%He@q>?M z{`{d$wIN|`Sh+E-Y&=7*g({`hV#1+ncc=ukq=t-XtyR$poy2vd^Bp%PqrCZ)<+ zi{mHlaHj@9l`{TJo*cYLxLKw&Q*Cy1X=howiX4$DDQie7;?%>9%IrpacQxtE{!AJc zZY*q&FClaQVguBYn!4(*D)GxWr* zxm^n>Q!(+|RQ|%x}k0OZV{X7i( z)=^;ap%7rbkb80!lK1HEi00-KOg!QRgK9Z(5y*JMiiDBmDLGLeAK^*gos+qM>;vIF zg^7cqgwquTWvMl>ROD=r=D$dY%kne-Q4zP zyAk}fWhg?qTQ9-wrSsYH%imK&2Mq)prj`{gs&Jj%BLz3Ix10{HU2VIxpl3YyVr}W@ zJXqMTp?(B{7|!iGAj?}|s?!}rfFcwyUQ3<@-QvauALVKgV-EU0_Gk~}o7}+b+!5|} z4=6ykVLR&5ie;D}n@76tyj~2z{elu#wEGni5(L6oPOR5cF6OQnlUs;gP>5}zB)zvc zqnS*trBYN^J{nMn-B5`A*-pUe$b^blJTt0{gAIv)0v^WpnsjRehbxE?HKIp*2y1-& z?C{`a906*F-&;6PpND!vWEU=)bb;cba<{KlpY67xRl&v|4&Maf2}WDcK|*5Y24Ot3 ztPd)V3zs`IXjaRM1op)(pSgXuw8SIF*vPw#@h_!kh2&=Wp z04B?p24@Jdh+>XbnDqfnvo(-I?2M#g6S?4l9s!TaK4!Ug;jJ$S@U5O|Q8z^Uat?#guK|GLVEs`oxuDN zef`s@M>@MkmfD+kuU5Xzn1|)6k%p*LT}VkJyKYKCdcX=T;S|z=Nuz}LJmp2t-~lz_ z6w-pvH-e-qTz7z@PJpF$43qaay2{54`-D`IONM1Ceba!!!#b}qqs)U-2Kj*vRE=Rj z!=As@60K@lG%GlWzKYML6SP~$@pLnf!)idR|6bylX$KI^FUOFJCp0-0vsKIqI!z~| zDS_rn4(jb@wysjXZYCF>A5n;qVC&ZXZuFt}%9q5DSeH zgoE%pznI$d@-JY=cdP38!2)vzBKX6|_<`csptj?83 zJUEa{A)6YXC=}XrnF~-lA1fT!Z_>=-b`KMwVf*&|t#p-UgMYW5E)jN3H!rBA$xQu@ z*Jpp9t`tS<#Gy+MpNpHdQJpsLkD}>(2d6C!-XKkrNu^E_CAJ}2=Y^V!s1Hj9OLK|P zouvIz@^Mcz820;Cpq2RvidzO{%nW}e3tzNl$a@0Mx^eQoyS1ZY(vWji#WV?jw0Yx- zF*vjGk`cwqO*vXW%RuKMsvWn(0zp?8Wrh7*&$-0P8Tm*?%ls^O zqeS3oQaYo6Zm~*yUU6aG$nM-iImM-UBgV^mUNbvvk(#dS9JiK_%fUV6y7#O>cIdcFCfcC%zbai449W7RQ2%{Kfglwe$ELYW%Bj zqj-`TxIE`U>}Q#ZGQnh!&yI&(yXJ9}sA~U^+hwu5k|>?=Xyz?edfbE$Lx2x7IykDN zU>OIzI72}_$En3ow7i(Wc`r-8L8E#Ci3*lu^01OZrL+PWJ5U^lVZ)ZWqU`#DxEyvD zFh9+zi1&jE3j8?H3*S$gl}5Gc)C%AT1(I_V6{e)Ji05eRFjW*YA)o9ibLq5fhczJj zhOTH<8(uK}uvAqWBI=Zf#2y$hH+l!BfEsCKHK)oh3Boe%2c-}-yh)WRt&8~8%~a)? ziI`Net`f)Ik_A)CY86}{eKh&tF$M&(@l zgBS;-SW^@F5?#I$C7X zRj8$^_m(N%TBh_h*(E73OOtQSPW&~zX|2T4+KTC|#Cd=H8PV5dmZ-ukRlYS_@z-#t zt)`Z=pp~}#T-v<1v~{+O(bO_F)H3F;Vai+O3~SZ0UplK@O~Hv-;nK=lmYO`snWjS3&m{J(*eM~^$f%eI*3*%ys9g>`si;)BzU6w29=PlGcs8m)#Kv#2~N1kwWxDW1ZSnD-m?Ic&jO zz&&df<#ijd z#m~gon*XT$njIcczsn&re4j+69fO!ovTZt&*>3fD%AjoG!!v!4aXtUmu(Mx;9hKMHCG9G{NNr@9&y=s0d>irEWJ@*0o8k!YnZb(?~NcWg7vxhvlw!~dW zm96)P^8R>^weK97Rd%SGs(je!5zb<;QTg-JKR)jKXjk-w1 zT3Ci`UEREXLt`r$1Ea+EPwMr#dV5bMRLd-23OO(N zE{?A#;2)jy7+`%=A54Vb^-xO-XnTr@y>utLf*sedF?5aCjk7O4?k2cn5j_B_sMG>?|TZ4@#zLW zHMoExW-sNsvjWw1xn|^*AJF(01mHE7(e=z>3||?6;=sHYHDN0iXXY~k?PQT&gl=Tk z?lYFqAfB$5(40aupG62%I+aNEe6J>!+1-m3omw7K%0;mYOp;Cz=U3ikU6%+uWT+U| z7Ig5f)_itm)-LQU?)csjKdo_n+_#j{pnfqt=+fm}v0FXaW{uh^GvyQxU8bo{IAMb@ ztk`h*pvzn;)x139?|+E(6OYIjlAk0h-p)szcqCC18ugp1l-Nyb#`JnpX-rP7>dBJi zkg>_kcW6s{V;@m&mu8k%s-RI(30GvGY(%>(&>xxBuvMDen|7lyZ%BE&l`N}QCcjN8 zIV{GgH;$<128z(_4ww9P4%qVqY3<530hKF36*jOGaWq&A2}oB~RC}dn{LQYsI)9#+ z;#49NmGy*fsugu_15;9nGI8o^sQ)uL*?7Xs_as>U6Ea_>g+B1hKZ^z(^#m1d#+FV|06y@94D z+T15ekI(_EGo@($$12;E}_d|X4S%RjP z<~e^`1=RlBd*52_t|0vNwqbyAh{I=QWFsz+gOEAM>?EV5q9voHw_^#zQDAk!h0YAZ zSx7Ot;Vd|3=Vu%?{bQ5BN#(G@_hE-LLBL}(+9MxeQzLw{joZf^A_mx*`VYR(Ls!?PeG@6Xbhxp9N z=gP^UTA^8&p7fM^*%esu`JH%$6!MrWb}ChAy$RZNW!MxJbcp$stI&Cp6x&y`|AfxA zaAN}Ek9IiA!#J}kY_t>)iPbHi={@Nx=}LF&>2%LOSaHV)SI}9bMck7=n7wD0E&a6+ zweundy7}oT;`Y5R6QCPn18jXyh-vnWI8(p$&7(KVz^ZL^fAlI@bu%DlXL2{?spX5#X0 zoYvyT;(ME&&@Dzy*)2aI?&Kuz(;S9xh&Y&z-Dlis`8Cwue`xqVTyn#E2gCY^QCe90 z)+IK?fR)hw>FTGjCTecUukjNTJGT`IDUIwdqWcUjT=a&e%FrH5aK)Y7^wLcj&3^a8 zq2JUZmb2OdhLLW+WY`sU&`p1Kr|ykK*G3+_WK0mT92s;7OiBQyh!G*-S|sc(DUPJ% zDiIoCSDf9*gr*S&$jkHPhJQhYeuXP!E?UL~X(P8vChN`GDmyF_8m#FzKD{T#1Xz$w zv5a8geJ)ZW><`kLHtCJp|J4RZgN?2FOQB-v-;Un?=Q{g8(-&;9fUf9Y422b?lJc(- zI(8Hoo`$<`=*T!#ZZZnZP(wd7!$pQcJSZK@79_9TXLA6`1N?iZIQ@{i5OffD7@%wU zCJOAgQsV_@1(A_q+};RqL8XE?`~$xbQiBIgFm4``4dxPCh>z7^fWdT#(nudooKO`D z85-1_Xl8$u{8Y;U)h9^OxCO0&@D$(+`_N+fq zY_i&p^FU*S2TR}(>Wahg0#C!@W_F)JwH=>J@Yl-x-UE#p1N0YA{w;gsKd;O`B%F}H z{oGOijJj@ZH#dIFOxEf(R(L~E6GRdU(m+DrS?Z>#Rqd2FoQ-@fhXjM_2l=YFiUmOu zY4+amoMy3@yPr;vooa*hb0=aKVjE!}Vym%MTkT`7vQ~feGm=~CECv@#67XWKP+>1p zWiA$sOALg=qYZI)G9HiN0_IyjHH0)41B*q!r;>@1l9AdPgbGH8$YU)_aMQW6BvRqH zgZHs!JNv3oYL~8Cxffog+9d3y(7j76o&T1+NRV4|o1lt74RW8O(}F#SKG(Zzq@j+j zm&w}G(->^7!I67Txp2tp^t`8lohC$uBp;go`oXP^%A>Z9M^k&QT`q6`@DlT5AZ{m- z1T#>!h*&D^cYk|J6F3^UZ;u)OD~0~L`|u11-j}QBJlXC1@tHSdXEuf|EW!w@#G&V8 zU~#lc%nIWxBx?=X^dDM`dD*OhCBoiAsm4x{m8|MgKqpwa02{o~wO$9VCrlo)n?xZ@ zNb`#YIC*TvLzs?SZ=d8W7(eg}ZD3vM5Y5ND=H&qAuN{`l#~X~7<~rGWhB9sY-% zQ=_77kE4qCXVvj=tD&d&KtS6I3d0;E-Koq{+M$0RnR5T+kS^XP`-v_hMh7AyFJQmq zFr=+l1P$_1im>J8H>H7@&upip+%g9742QGXNmfSAQBvR6+XIpR)ET&Rv9Jb=Az$zn z;xD305yXD7&{ND@bB_RkUpDX%?_Yy6jHp<8rtQx~Qblnx~J3fg!UViKpc3BWgYvP^ql(nC_WR3jF-@9g?$Wgzx>r&UTsapfUe9hmtz+xH6?EaEcYW0k4y)BFSS5F%W-)ICJLd0jEi+27 z#xA+j|30)+5eum}U}Zk{3L7rg&kG&`wZbC0lBPhyOULT@Z$oA11mX5idFyjPK}A5K*RH zQd)L+p2@p)FJnKtl%-@Zc{Scn^MIqoQPTJGr*3iYBRACdk|n--3dt`UzJ6sj=r4Gr z)@c}Fk?Lk9k!5Ijq$VR_$kxNvWkjgf#7ma9bO0UBC>&N>)7mgR-Zk|i`-u6CFl|EC zIp;Sl#$-sl68&_E6H;wToKu5Nbk$GLv?+>qJ$gAXKaj7xd1v(Q%aYNl3 zDLP|M?tOM6BppZj9-4~J_1NX-5XdjyR(-~%voK%u@_Ep_V;pH`-8Du&WZeZL+E;T$ zfBiA!S9p=D@F?3|S3p6&)ACqcXm5EgDXPDMU{Bpygtx0QWPhffrsSgD)tUTDZ)s^M za(8}lDa_aX>K04X-YRTP=32Ll`-?zVx~ucDxGNQ3{joI_pJ3_k@3^6rGeQ9Z&{WI& zx0-7I8CCuvW`)G}$PEb~2Af}z%0)xLgHpaBg)of>!WBlG(Jn0DnBO5B(~gJ_S`!5b zpz?l02w5j-9;dk4xxOr0vgqyo&JUDrxHeQ8Mu%XGum!?->w^f+uk#23+kkEm+^eVBVtUeu~Z$ok*=)EMKXa%B|jQV7pu_;X13{ z`W51ZQ9?gMR=`qGCc|m*nJGYJSO;cJ<|JfsRRO_NTx(A=3v2lGeN1u#bCs6@G)5Ax zZkbAsj7c5%!e3}Cl(c|bNf@-yPNI#ZN%i;ZG1|^6+%C%{)`Zz-9M+U|hVSpdYaTBe z;J?|hXu){bzX4&mY7;<1fWGD!vkA^Vh9VBL`tYtpv%K$ z-Y_;(z@-kG3vOw9zxlluu%MPQAH8n51L%}cPj(VW&Bn6ir`NmAH`hB!+uomd=Pdq6 z0MA9@gNk5tWHZufX^r@L%7c*LG-N%n{&|M|N`D}rAmCcIfe>lg+kEwYQy^j4+X%~V zJ%a5E7{M3~grvhkw@01d$im5WkPy?D0+4`=neh#E`uTv8nDLKlqb-@F4g;b!WhNvJ z07AByDNJEJ%!}=0#!wul-Jz5Fu_MYV#z*%`!%Ud#-SB)Umo7 zRHUZCjo_?2vJedu)+Z7-V@pa~n_Y7yBBZOA{X!SPT#@VB)ec9P88*)k*7wX2JAx?w z=(aQ$p$tuJ*Dsso7J6tgXl^^)^EId%dM9-jXe+bIXL8Nq#g5|MS`r>aXqf2|!sY);YjOovg8x_5D%}4X(ez&wzDp*!x2eUGNe}6_s zLU>`fp5hYjqw*}Vp19pE^yPb>=d-+f&rS8(_2n;=`(Ue&8KY*o1tOlF75Q^x_?&zb zqNYld6Pr(X$AU=6q2Ku2p*fk`8O=(fWiUf>M0@hj0}OvW=wmVE*raMqZ(Lbn; zxG8oQWq$=amH8bmk12=xTdv?J#CBi{?4U!C2%t@=j+)84j;I%K;NWQGx%4^WnrT;m zpo3!jeZ74=AGOR1NzZ&7t*Xu%z0+w13k=5q@=WlsEp6;Ku9G)US zBiHs;nFLuYmJfdkwQ#HQ-BP+!-mBG(#7#49rmBn}cr(eTqz!^otQaX!lre3mPI&03 zzsjDr?m1Ns#FWwi{6?x^mPbnH?W#tCz`-sa>z3@+hUm;$PsO^|7H~{{@amv~&abe8SaC@JV@8oqbp@1H;>aP>~yAi#dwqOEqSn)68I!w9V zcdazt1Nx9FI`wW9pW~UjSp(2)4(=6yc*Gz!SZL>F;|cZ~he_+;FDX`}(W7%Ivh&by zB#-l+vAoJH8QRhfV{7UKam3K5xHYD+8PdxvNRtANd6;Bc%SEoCV}En)`YVIBzQz)77n z00~CAJ+KZalTA}SNNFlhb}F$;B%Y-#nI!f!N}AFBOsTQujZibf@d=uVwd~7`9G)c zMjqg4#updUYNIM>5a=(Ax$bI(_vbb64kVFGIyGOP)VFEb&Lwu$pzKh;Bw`C$_BY7y zqUh7qMMRb+`j_pcm)VY&-p8w#Jc7P&%XcE;vSYeW7{ zb%2&M5H(OKp|%+n2QmdT4R(SPn#$?*?cBgEI)?=ZKZxvDlL>MQCE zRJCyL18U40mKW!d!|p{o+ELj{j7b4LE?_3b>%Q>C|J!zEZu&p6vY_-*=B z{S>8;0fagmrjibeb3p zjoDmnZ{tX66L&h(RYH^B8V7DM{z7iSlRTMoK)O@>Z?*mYa|UVk54AsW1|X3I&^~L} zs?BS$TG>^(jpqaFxt5hOEtn75FUW0Vx(vI9=xXRqoZBCOxGfkqiFjP)WPBh=`p$wv zzV|&(|C=4-9n-U;oP%VL=d616o%={*AVs1mIsKs;JIzKg=+XBH8U~c-{7gXD>l61&4#~gGTt?_bSzIN84?ar{ zs=QWy&D=tt)G=kFH|n&y;pfGbrVwVPj?#JUv3JWoBl3gis6WG9d4V=VXof?1PMeQj@E(JvHL*dz+>tz_K0r`A~p^%eU>tGAmKdzjdK*3Gu#^J z(RevHfQZg63zD#UM3v4igR$k{+jV+9WAz9c-S`cn4V_&&XLJ_1m*b8IftU;^lZhcX zLbFG?s7e$C`eAxoe1CSxX?k;gxo#?x;Q?B%rbkSA2Cgd(nbf;W5yhWTk*$&mcx$akeztQFRU0l`+aehnJIS%w_Bg+#JQzCHn6#$b zEzgs_65RfvI+Vld2}e>NZ9e3Z=xijq7HQoyY1CxVhi0|PK#^^o+Q@L)k*6slU_Hw( zr(9F$X(4;kqT|4n2;X_|Hp}W;xUnbBh(Uu*c3&AX;no~T`6{lYFXiT;MZymBys=zr z>yh5Yc20nXV7zrtmsmDP4H=#}>eLB%X1jJ*_ncQ4$w`_I(c4J=w2{~&=e+oNNf#O< zxA0;r2WUNYS-ME>Q7pDtfx~+1R)QsvbuPs$7i~$&z4xx$^}@n_+DaLp?f8HJOqv{- zaX-YHv~${Eq*|5Ok#FpmWILCy;8PBU^*xx9X1W?TJjz?%Vk~6g3^=pvR4KD-$n-gb zZ>bMY&h#kj6j8rOw+m&e7o3OB8@^FC|Cx|Hdd!zO0wQW^<_@ttt7{AFRjD_J5T9y) zgags9qFiDS+i8k36LX%Ez$&vk5iE>eomo1o$Rt72sKA3&L6k{x>e*eBe3*&Tg7%XtU!7m(ex&&)yr&Q;sLl|TN^KxXqlK~UOx zO9haE+DJEgr>qyW$^HuNPt$@hUV{8Oz}6oe~kr|x4|r zLGKXSdaZqOjZ(V$AiKXJaE;CdN07pWC#3%1H6$OS^@m}>`Mb7Z5urmhXH(;q_i1uw zY@cc;wi~bCMYlj9XA}B?Ye0q3Psv%OIqTIOc*Q59klc*O{*1$X3*|}Q z+9mKNXQmVf(1=*eQ)QAoV6(F{rm{O%AkpVuWGB|mMw_3^y$Oj*b|xzC0yduVjY)oA zupmE-@hVuO-MQZ^iS#Qv4_@FW!I4%ODWI0?x_WnIX183iIBdyR-Gm>^CFpDstN5`5 zXARe;Ozci`E6tHNWx=1efXry8@URmqjdP*5ohtBbL0^@%1<-Hd^gQkqTIo*h>Q;8% zD!_OJrubtX3tUFA%Aq_+t?9rtJpa43H~Sn`D8>$c0Vy4Pf9%-@dme`(-^x%vD@V%{htG|WcIwF zTZpY`nx@IkPTSNJPn@G9$r3WPkI=KS5qjUqaW9!!kx;>g@mXx129ieKW>b?As+$If zcSal83K_OqmKqZ_3W+4@l4^|>6*IvJQPYizz4v%wL@nX+=tL38oysjN(QIlYGMI@N z>Led2egU_Zx`)6`H zPgw)p$w&LLWXuvBtCLtOEH^b`>Ljc2mR`#(WC$C`0#P}H9FL9*JkvAcOE*I-Fobp> zbvuzzQ-l)y=@tnO#T0G{D8pfNJ0BS8bF-o=0$HZr0V5XfeLrTs|2#eO`E$-fOB$Eb z6{r3zj_*K_kdOe}E+(f}cK>GV>*k^@)$4wHXZraPQNdtsEq|Vz{{H4uI+N7Qk|5!p zbe5WJ!@GyPw90Wi1_ESA|6$V3IBNPm4Mc~SStOd8Gj<62$w6p<)CH`}QDp!NSA{Wz zM5ho|jxO`cs-T+e$;5@_!>O~$;5TMfzRaix;Wx@Hl0WF9j1akua5J->KPh&jc zWLEZ0Sh|zoi)8ukUt41~AK#wFuK0*ldoD(vd%lk!e<8knm%tsfA%&#q@fV_xBB}i0 zXz5}ZhTT@d$ON3nSqvVb6me+r%AnG;Kn47kbA*()ls(0JKlJbl1x}poQIj%F{Tqp3 zYRRhY=U6WMbFB&SmG9|7Z`70*Nw`!o$-0u6?mZ@z1zQAG)j{* zubhA)2Hk&|o!R~Cr}%$obm0L5x^CcZV&G74dDX*>BA?yU-aciMi7I7_&CSci|4ii) z${Cr&%g@fO%uO;-&Cp27&dxK;%F#*AO3*DrK%btRo}V%?L;A;zOHNC#y~s~W$qCzfbM{=XhxUuWu8hYO4-t zIQd?a*IPCsT2Lu$ZEmg!^tWuTs#&!d*({Y35)-~I(r3|Z)NjOe;eh%@`t>vT)}M|a zh|D&8Ue4WyHP70xLls258|Lx2U$Z!y=WVcjtWACY1L^>m8)=HRSK(23SOG0O(h03B zsu`kk*AoechK9Dv1S!MRJ(FJsb#FzNH7y5!_$Ku`3ICN_W4$@w9z+{F64g11Id+P?2XZ;F{z)IWrM0UbPdp7|6 zp>`J$%H~~qVC`LbfD>x(C@-9XzOudK7ZqA*4R_kG_uK*X+)k})xhQZ2aULRv?Xp-abPmo`5xT>zuLQy`Z;B ztDA@%e)UtRlp0kVoCX}IpY>GW)cNTF8$&!fv72@X6L5JCdO^cJL(5=4j?*|4n)_As zM?z+QuI0jHf7Q7u*KwFiZx*9aXO?q7en8!9uw&&`cW5sM7u$b|M4dp05o$}8uY786 z6X%&>h%OF+NE~npJjfhSA=a`&THuvBXJQ9CH+SLP2b@pvWv6e4b#{g==)xv$h@VX8 znoP(faJ5Di_)t#p;rf9GM_9;-SlTIMlGdOk^%*mMUl|?&JsF>s<8YK5fX-5Wo9_|g zfRq11FUhAuDH&G`fvzzhL^afi7`j&kkDP2PLN_XE+$kSuFK>}s)<8{(C_hDOmW*mB zwqb}cvk<{9NqLfXE+wChfG_hxJrzn57G}$JE}7C4pgN2e2eTZ;Dh!lcf@#$n=&^Hm z3B^vxS2b5dF)!ch+h=V#h6}*J)S$Z()+W;(&1$do|6K;^>-*&1RVJMyf>D$>szsKA zWJ&`$Gvx#D`Tnc zr3~ZShlR!ZqQa8GT76P5u&xw&2&NL%a6)Qhr7?&nl_(xsva3o%g)t6SsBV#`(GQYq zkAWH-$gVMaaN_zOgQv^*p7ieUsRg4VXyH!PJW&XAZBz1FvGpKUW6>vEL%9vN*(LRk z;b<{$NhbPymtCLx;Y7Zdx=^8`$gS3WVsC{*48d%iD0l}jYv|2$v|gLAPhfvAkk?!= zbdeZMzP!xK{~QH4sZlD#Q#1G7#t;{0eoNX&OtnZUnlxF<7X0yTPz~&2!7bwtScuiA zx7hDSwxLPX2m%|rL8*o0W-h@)qzU!<5BqXN!MAzX{7it3M;(!>$!WDrzOQfW-)WgL zd@7zGpiZi))BY6jH?z1-$7jIL{ifX19f@3eMg0JZd#aheZcA(8*7}&)QuhPl zjKdguHNyP<%fY4kV*J|pIH*jhJX|!hJuC(2H6R>-h1z2=!vea4 zM-BZb+ejXfd7!xi=e5CO=w(8&$t3Iiko;I&XT2d$wE8(pGf z4^=o#Sf?18YluvzX{^&34;ePDL)5CDp{G+e3!Ajk-?funqX7EObBSpmh8;c)Qp1_# zY7-kyw5K8VHIvmh9wE>a8L)6@iyAZ+WR0#BHy^HRH1S@5aHfN*T0bpntw{;Ww9+N71lF}+ z#xldph-GCGjpk!Vv^ckiQRzl6(PKH7WZOFNzOM3m>|qGl6SfB|V4O{&*CPVZ`7Ma= zC|-xK)HkvGN}@qXdtTC+c7_WGui%Z`-pOK{ZyklUMi*?Suj@$U__|kXN#qjU`IFya z!v3tY>{(?YEY;zsabYK?@6s_v-=nH;Hk~RXX5*`^f!pue?+)_yLrLcCDOqDNX%ia;7)D1`W7eU$a^C zaUo?+wbwGryC?3c+WPRy=ncSye0bD9-TioEIQ(e!jQ!Im@=8^*ScjzB%HkG^|9t+f z?QX%Y?)L949?CI>K_MVih(rCmP{9X)>3=^5Z)R!Z0zt=eWTt`Q^<`7HEUi;+Zs6qa6?HaNk=I4{hR0j=rV0qh)w4Nv!P?<(PQoI z2G-3ARvAXmxh#(Wmg_6f?vJB5q`8e9Qib`uL*BWM+?$8%jqiW{xDxb}Rf{{aL~1K~ zqmGOrqmz0QA1FiVOS~!xX$I08w%{OjPsf{jgdDJiDu%9M(f`F(A|KM;QHW0>Iv@*; zg2lp8)Ja%~QOBZZiJpje)DuIXXDr6rRbvcs$0A4D76>p5G!z@K)lp`g>eTF=JpciF zz*MgvFCz<`yDbPL&Xa!2aaSfcP#LBr20rcswzFNPmw%)|sD&ouUjQ%%*U$w$N&S#q<+P|1)!GDY4!_@2+O z+ptr$^MRA(Mod^U5{qFh4D$=5>lNi ztUAoZH%jbn(qo`QY7#M3CK>6nvf;+uGUv>1ljls^jX0llW*pnFYb{lrv)pCY$}?wh zD=y?n+RQfScWUiBW{Z~`vffL1t|~xve(NW&&Tf3URV$zJ0`(}Y+b9_s#+c+3OBp3B zgFfcnngAQ+xcAj`9pm3no~T)u9zb(GG2}glKMbyA)k;DQxqi|Yt>hzg50uz&i|URc zjBveUnap>ggnERXm%-fKd&zuU+!^&t17U#BgLUKHO7%BS4(}wV{XrdkIWI+q8BVxl z$@T&EsKjZ=H@#!YJaT z)vZlVfClk0nPBg2?TGVfltE3VT|?Wdh4g$55wK1Y%KtGK zB94iBQkmUQH%#>*HU*~NGIM$?{CF3^_R)v?JL3u7$Q0tPXyGogj2Bh*bXj=Z`~7ae zu8i{u$15`P7M3L20prx|?vOr_PI#PScnh2!&0KwwM}YShWoF3M{G6^lSstWXX{%?r z9b+X+1kNiWq5MixWwn_+!ZXQ2yok*n`AVUAHCKd(RdU^4gO5Gp45yhS$>LJV6JCxW}o6>@A?z1mn)f36dhp7-!-b z{(38QFNKM5bnLz9zV0x;=6d)%Evpk@6^>)=tXlwy!MAE=1~77f(!L$} z)A&R6s|vs(LXdu2`?dxo*>B>1z`O6{-#y>$0_4CX5IE|RNiJNbnF*Zkzr{T>kR6mN z#0o|SmkvQYubYDogw>C1ka2z13_T9)4M(RnN?-laC*RdDU;~FW102%rAGNAe?n0!Kf`-9$K_iYH8U5g__q!i`A$ZyoWop z8Xc>qA894Ci}_Hwfd+T;gfM-qaa%#|tz2YWbe?+5-`i%Q5?K<{NFSEAx~aKnGR*s< z@%E8eX6w<+)Y5%M#Us558+Dspq(jAD)6+EB3en-7jyO!clZ)`p`U=J}(cvChO1-cq z5&j6IylK1Gu3}*SSeX!$w`@)_=3SG7@)&x&a5Z1yEIr^rWjjRYNUDFG46m19F+zVs zu-wt$A=l4N^4@|4X_1wSx`42!3JT9ODElR*^4c73pzWN4o&5(h%XjV6oGe(ogPvQV zi8E1HP6~I?Tn*U51{Z4W{2u5b4IcmmHS4l_UL+W)EST%f5+_W*tP9EY|w{pWkEuzsIhqd$IGq{h)1M{S;NvIL)%etJpeoUH6MK zJ3Cj~W%j<`&^a@V;f`|R7tUF#07UzsOs+L$MMvD-LuoayeZ&(%kK zkJl!-gdcAhUOhHo&zwVNQX6b5R|f8%?%xu7dX@B1?|7Hv3d1D^_7+!{ogKB_U{kJo zK++BU{3==V*|xoj2NsVv-vFjuhwmhrp1y^o{RK?!@B${+fX3Nr-6RtCQ4;v8@Du1W z+0)T4$ah4bXON$-Pw3>~fxbdQP@Z4s^*~rBBAkG~{!Iw*aUAL7>E%2;R7B{bnk9?r zB9WZzDv?+cDtu#0BZP!{@|ED;Bemq6%6SPqC51pw$W_uhKBI@QCrRyZmC~FC5+W~# zJKVenoN&OBND~JPsW}%RM3(or*u%ZP?*(iWC6O+0rinF`Yu8e9pg@Sc)-T?u5uEl0 zyiX$MJ7P#p)(Vl*qM2zkKtoRmiBpFo;kUz53@L3>)-y3NPMOl)CWLg?2gg?|0#+q_ zNrhDtFuG>Ty%3pnxp`J3xHSbDG>QDe4?}7;hzgNr=H}69fQvE^B47ApNX-^rA#z>d zI?u`AR!i6+Olo;75JPJA0|}8MDqfX1g5d!o!=pklq-L9l5ZNhz?C`#TJ0nWbM^F{g zo}!w~5JKe4t*VXFLCZRkmO zY7>aItw_sEIfm2}`h-Yj&eC@qhe{-;V}*v-DKVsG0Ji~<W7h%|iLJ`CweM`lQ3|6KyO zt0FD$7GlVBI?~IuyGIMulH6dXKx+BmI}GVXM$$-@1c_Wuieh>?DTtr6V1FpZhHro)4n%l>LYyzoaAm8u#6c z0mDy=QvJ+14CzNlzII;~wg$B91z0jX>6b91KOH&rP3xFA=r+beB9X|cS1{xRI?{CT zNr@q7xKtGJUhuG@y}y*vk)h>g$AZD|uSMZWx`81B>Bxv6uPqADa-v8}%PI^RKu4x; zRCnSwicc3IEAC*(AUZPoZQb?DV00~{I~g9o`xtT}9ci4mYTLXp+rz2A)e%6;B9*3tGata;k zy4wG#(2)~<#gJ3!Nc$@9SKO*?tf-Cu{2W6@(2?%S;HvY0oDaxB zFze{}{L+je<&4Mu&XpsVo&jc(i23>@%4F0|Dl;YzIt5IXh-vg1WipBD;=z}3@PaMU z_JUz3lTl1KU|-ra0CemjYDW<+D3ek1=x+D!h!@yyD6;+5XDE|Vp}22#spmsro`ZZM zZJ*POnGY2MSNI%c0C|tSHFs2#$ zB$>I8*>yb1^r6qePPN25ECk!HLq3su20=9u(UVc8@aY=k)&#s_QGQPFN12QQP5nmw z|HgnXSBr8f1D=l&JsGu+laKCaXL2zTF}*@jCZqTfcd%ir5%5e!?Z_q!Wisjt{?CfP z$Ok<`ML9oj3d&?uR93FHI%W-e7KrqmITd9xiWQ43FJy6T^JkHsRgox@QKkvGWu|@v ziMbsX1jr|B39Q0sk2@pfLl*|va;py9X<1lRy<3R^7f%S!=v=U zs||p5+!Zw}|6PvBGm}I3qMHwJZS0-zf zRbN$~lK|f0CfB4%zEF|V9)Q2RB~49MtF((5HNSotw{CL+`Zv-fYq;J_H!Og2ou#PKv=oA{q(y4w5pn+gek3x-1VgeilXqzuiM$Gv7#O&z!+Lvo80!H1yR1m0Z+8sISO(zV*hC_i zn`21EDgghY8WP!Tfgu@-0Q^fdNTjS6hGeV(@GnCkk@_|mlCcD^S>ACY0f}7G7eg{u z0QiTSNo1rghGZ-N@J}O?NQFIyWYquphiOTq0hDsJr#hqj&p)b1A`1p$NJjOaf23y| z(W|c=iXo8`f5P6Le-45>Bh>LJbJS6k@WhZ%1poBGuns=_*6gICh`(2^4Pd4NCk^1| NH0(^Tc82+y com.jotuntech.sketcher.client.a: + com.jotuntech.sketcher.client.UserInterface userInterface -> b + com.jotuntech.sketcher.common.TwoWayHashMap userMap -> c + com.jotuntech.sketcher.common.User[] userArray -> d + com.jotuntech.sketcher.common.Canvas canvas -> e + long lastLayerClean -> f + com.jotuntech.sketcher.client.Connection connection -> g + java.util.concurrent.BlockingQueue commandQueue -> h + java.nio.ByteBuffer commandBuffer -> i + java.lang.String login -> j + java.lang.String password -> k + java.lang.String hostname -> l + int port -> m + com.jotuntech.sketcher.client.voice.VoiceClient voiceClient -> n + boolean soundEnabled -> o + boolean ads -> p + java.util.Properties props -> q + java.io.File propsFile -> r + java.util.Timer propsTimer -> s + com.jotuntech.sketcher.common.Brush[] defaultBrushes -> t + com.jotuntech.sketcher.common.Brush[] brushes -> a + void resetProps() -> a + void loadProps() -> m + void saveProps() -> n + void close(java.lang.String) -> a + com.jotuntech.sketcher.common.TwoWayHashMap getUserMap() -> b + com.jotuntech.sketcher.common.User[] getUserArray() -> c + com.jotuntech.sketcher.common.Canvas getCanvas() -> d + void setCanvas(com.jotuntech.sketcher.common.Canvas) -> a + com.jotuntech.sketcher.client.UserInterface getUserInterface() -> e + com.jotuntech.sketcher.client.Connection getConnection() -> f + void run() -> run + java.util.concurrent.BlockingQueue getCommandQueue() -> g + boolean isVoiceEnabled() -> h + void setVoiceEnabled(boolean) -> a + void setSoundEnabled(boolean) -> b + boolean isSoundEnabled() -> i + boolean isAds() -> j + java.lang.String getLogin() -> k + java.lang.String getPassword() -> l + com.jotuntech.sketcher.common.TwoWayHashMap access$0(com.jotuntech.sketcher.client.Client) -> a + void access$1(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User[]) -> a + void access$2(com.jotuntech.sketcher.client.Client) -> b + com.jotuntech.sketcher.client.UserInterface access$3(com.jotuntech.sketcher.client.Client) -> c +com.jotuntech.sketcher.client.Client$1 -> com.jotuntech.sketcher.client.b: + com.jotuntech.sketcher.client.Client this$0 -> a + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.Client$2 -> com.jotuntech.sketcher.client.c: + com.jotuntech.sketcher.client.Client this$0 -> a + void run() -> run +com.jotuntech.sketcher.client.Client$3 -> com.jotuntech.sketcher.client.d: + com.jotuntech.sketcher.client.Client this$0 -> a + java.lang.Integer val$peerKey -> b + void voiceEvent(com.jotuntech.sketcher.client.voice.VoiceEvent) -> a +com.jotuntech.sketcher.client.ClientApplet -> com.jotuntech.sketcher.client.ClientApplet: + com.jotuntech.sketcher.client.Client client -> a + java.lang.String login -> b + java.lang.String password -> c + java.lang.String hostname -> d + int port -> e + boolean ads -> f + void init() -> init + void start() -> start + void stop() -> stop + void destroy() -> destroy +com.jotuntech.sketcher.client.Command -> com.jotuntech.sketcher.client.e: + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a +com.jotuntech.sketcher.client.CommandEntry -> com.jotuntech.sketcher.client.f: + java.lang.Integer sourceKey -> a + com.jotuntech.sketcher.client.Command command -> b + java.lang.Integer getSourceKey() -> a + com.jotuntech.sketcher.client.Command getCommand() -> b +com.jotuntech.sketcher.client.Connection -> com.jotuntech.sketcher.client.g: + java.nio.channels.SocketChannel channel -> a + com.jotuntech.sketcher.common.User user -> b + java.nio.ByteBuffer inputBuffer -> c + java.nio.ByteBuffer outputBuffer -> d + java.util.concurrent.ArrayBlockingQueue sendQueue -> e + long timeOfDeath -> f + long lastPing -> g + void setUser(com.jotuntech.sketcher.common.User) -> a + com.jotuntech.sketcher.common.User getUser() -> a + void setChannel(java.nio.channels.SocketChannel) -> a + java.nio.channels.SocketChannel getChannel() -> b + java.nio.ByteBuffer getInputBuffer() -> c + java.nio.ByteBuffer getOutputBuffer() -> d + java.util.concurrent.ArrayBlockingQueue getSendQueue() -> e + void setTimeOfDeath(long) -> a + boolean isTimeOfDeath() -> f + void setLastPing(long) -> b + long getLastPing() -> g +com.jotuntech.sketcher.client.Editor -> com.jotuntech.sketcher.client.h: + com.jotuntech.sketcher.client.Client client -> a + java.awt.image.BufferedImage image -> b + float zoom -> c + boolean smoothZoom -> d + java.awt.Dimension size -> e + cello.tablet.JTablet jTablet1 -> f + boolean jTablet2 -> g + com.jotuntech.sketcher.client.Smoother smoother -> h + java.awt.Cursor currentNativeCursor -> i + java.awt.Cursor crosshair -> j + java.awt.Cursor blank -> k + java.awt.Cursor eyedropper -> l + java.awt.Cursor hand -> m + javax.swing.Timer tagTimer -> n + javax.swing.Timer selectTimer -> o + javax.swing.Timer yieldTimer -> p + java.awt.Color canvasBackground -> q + long lastCursorCommand -> r + int dashPhase -> s + boolean tagsEnabled -> t + com.jotuntech.sketcher.client.Editor$State _state -> u + com.jotuntech.sketcher.client.Editor$State _oldState -> v + int buttonDown -> w + com.jotuntech.sketcher.client.Editor$CursorType cursorType -> x + boolean cursorVisible -> y + boolean softwareCursorEnabled -> z + java.awt.image.BufferedImage ad -> A + java.awt.Point adPosition -> B + int pressure -> C + float scrollSpeedX -> D + float scrollSpeedY -> E + float originX -> F + float originY -> G + float slowLOSX -> H + float slowLOSY -> I + java.awt.Point los -> J + javax.swing.Timer scrollTimer -> K + float currentX -> L + float currentY -> M + float x1 -> N + float y1 -> O + float x2 -> P + float y2 -> Q + float x3 -> R + float y3 -> S + float x4 -> T + float y4 -> U + int iOriginX -> V + int iOriginY -> W + java.awt.Rectangle select -> X + int[] $SWITCH_TABLE$com$jotuntech$sketcher$client$Editor$State -> Y + int[] $SWITCH_TABLE$com$jotuntech$sketcher$client$Editor$CursorType -> Z + void adjust() -> a + void setZoom(float) -> a + void setState(com.jotuntech.sketcher.client.Editor$State) -> a + com.jotuntech.sketcher.client.Editor$State getState() -> b + boolean storeState() -> i + void restoreState() -> j + void setNativeCursor(java.awt.Cursor) -> a + void setCursorVisible(boolean) -> d + void setCursorType(com.jotuntech.sketcher.client.Editor$CursorType) -> a + float bezier(float,float,float,float,float) -> a + void paint(java.awt.Graphics) -> paint + boolean imageUpdate(java.awt.Image,int,int,int,int,int) -> imageUpdate + void mouseDragged(java.awt.event.MouseEvent) -> mouseDragged + void mouseMoved(java.awt.event.MouseEvent) -> mouseMoved + void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + void mousePressed(java.awt.event.MouseEvent) -> mousePressed + void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased + void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + void mouseExited(java.awt.event.MouseEvent) -> mouseExited + void eyedrop(java.awt.event.MouseEvent) -> a + void setCanvas(com.jotuntech.sketcher.common.Canvas) -> a + void setCanvasBackground(java.awt.Color) -> a + java.awt.Color getCanvasBackground() -> c + boolean hasJTablet() -> d + void paintMouseCursor() -> k + void yieldForPaint() -> l + void cursorEntered(cello.jtablet.event.TabletEvent) -> cursorEntered + void cursorExited(cello.jtablet.event.TabletEvent) -> cursorExited + void cursorGestured(cello.jtablet.event.TabletEvent) -> cursorGestured + void cursorMoved(cello.jtablet.event.TabletEvent) -> cursorMoved + void cursorPressed(cello.jtablet.event.TabletEvent) -> cursorPressed + void cursorDragged(cello.jtablet.event.TabletEvent) -> cursorDragged + void cursorReleased(cello.jtablet.event.TabletEvent) -> cursorReleased + void cursorScrolled(cello.jtablet.event.TabletEvent) -> cursorScrolled + void levelChanged(cello.jtablet.event.TabletEvent) -> levelChanged + java.awt.image.BufferedImage getImage() -> e + void setSmoothZoom(boolean) -> a + void setTagsEnabled(boolean) -> b + boolean isTagsEnabled() -> f + void setAd(java.awt.image.BufferedImage) -> a + void setAdPosition(int,int) -> a + java.awt.Rectangle getSelect() -> g + boolean isSoftwareCursorEnabled() -> h + void setSoftwareCursorEnabled(boolean) -> c + long access$0(com.jotuntech.sketcher.client.Editor) -> a + com.jotuntech.sketcher.client.Smoother access$1(com.jotuntech.sketcher.client.Editor) -> b + void access$2(com.jotuntech.sketcher.client.Editor,long) -> a + boolean access$3(com.jotuntech.sketcher.client.Editor) -> c + float access$4(com.jotuntech.sketcher.client.Editor) -> d + java.awt.Rectangle access$5(com.jotuntech.sketcher.client.Editor) -> e + int access$6(com.jotuntech.sketcher.client.Editor) -> f + void access$7(com.jotuntech.sketcher.client.Editor,int) -> a + int access$8(com.jotuntech.sketcher.client.Editor) -> g + boolean access$9(com.jotuntech.sketcher.client.Editor) -> h + void access$10(com.jotuntech.sketcher.client.Editor) -> i + int[] $SWITCH_TABLE$com$jotuntech$sketcher$client$Editor$State() -> m + int[] $SWITCH_TABLE$com$jotuntech$sketcher$client$Editor$CursorType() -> n + com.jotuntech.sketcher.client.Client access$13(com.jotuntech.sketcher.client.Editor) -> j + float access$14(com.jotuntech.sketcher.client.Editor) -> k + java.awt.Point access$15(com.jotuntech.sketcher.client.Editor) -> l + void access$16(com.jotuntech.sketcher.client.Editor,float) -> a + float access$17(com.jotuntech.sketcher.client.Editor) -> m + void access$18(com.jotuntech.sketcher.client.Editor,float) -> b + float access$19(com.jotuntech.sketcher.client.Editor) -> n + void access$20(com.jotuntech.sketcher.client.Editor,float) -> c + float access$21(com.jotuntech.sketcher.client.Editor) -> o + void access$22(com.jotuntech.sketcher.client.Editor,float) -> d + void access$23(com.jotuntech.sketcher.client.Editor,float) -> e + void access$24(com.jotuntech.sketcher.client.Editor,float) -> f + float access$25(com.jotuntech.sketcher.client.Editor) -> p + float access$26(com.jotuntech.sketcher.client.Editor) -> q + javax.swing.Timer access$27(com.jotuntech.sketcher.client.Editor) -> r + void access$28(com.jotuntech.sketcher.client.Editor,javax.swing.Timer) -> a +com.jotuntech.sketcher.client.Editor$1 -> com.jotuntech.sketcher.client.i: + com.jotuntech.sketcher.client.Editor this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.Editor$2 -> com.jotuntech.sketcher.client.j: + com.jotuntech.sketcher.client.Client val$client -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.Editor$3 -> com.jotuntech.sketcher.client.k: + com.jotuntech.sketcher.client.Editor this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.Editor$4 -> com.jotuntech.sketcher.client.l: + com.jotuntech.sketcher.client.Editor this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.Editor$5 -> com.jotuntech.sketcher.client.m: + com.jotuntech.sketcher.client.Editor this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.Editor$6 -> com.jotuntech.sketcher.client.n: + com.jotuntech.sketcher.client.Editor this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.Editor$7 -> com.jotuntech.sketcher.client.o: + com.jotuntech.sketcher.client.Editor this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.Editor$CursorType -> com.jotuntech.sketcher.client.p: + com.jotuntech.sketcher.client.Editor$CursorType NATIVE -> a + com.jotuntech.sketcher.client.Editor$CursorType SOFTWARE -> b + com.jotuntech.sketcher.client.Editor$CursorType[] ENUM$VALUES -> c + com.jotuntech.sketcher.client.Editor$CursorType[] values() -> a +com.jotuntech.sketcher.client.Editor$State -> com.jotuntech.sketcher.client.q: + com.jotuntech.sketcher.client.Editor$State DISABLED -> a + com.jotuntech.sketcher.client.Editor$State DRAW_HOVER -> b + com.jotuntech.sketcher.client.Editor$State DRAW_PRESS -> c + com.jotuntech.sketcher.client.Editor$State LINE_HOVER -> d + com.jotuntech.sketcher.client.Editor$State LINE_PRESS -> e + com.jotuntech.sketcher.client.Editor$State RECT_HOVER -> f + com.jotuntech.sketcher.client.Editor$State RECT_PRESS -> g + com.jotuntech.sketcher.client.Editor$State OVAL_HOVER -> h + com.jotuntech.sketcher.client.Editor$State OVAL_PRESS -> i + com.jotuntech.sketcher.client.Editor$State BEZIER_HOVER -> j + com.jotuntech.sketcher.client.Editor$State BEZIER_PRESS -> k + com.jotuntech.sketcher.client.Editor$State BEZIER_HOVER2 -> l + com.jotuntech.sketcher.client.Editor$State BEZIER_PRESS_P2 -> m + com.jotuntech.sketcher.client.Editor$State BEZIER_PRESS_P3 -> n + com.jotuntech.sketcher.client.Editor$State EYEDROP_PRESS -> o + com.jotuntech.sketcher.client.Editor$State SCROLL_HOVER -> p + com.jotuntech.sketcher.client.Editor$State SCROLL_PRESS -> q + com.jotuntech.sketcher.client.Editor$State SELECT_HOVER -> r + com.jotuntech.sketcher.client.Editor$State SELECT_PRESS -> s + com.jotuntech.sketcher.client.Editor$State SELECT_INSIDE -> t + com.jotuntech.sketcher.client.Editor$State SELECT_MOVE -> u + com.jotuntech.sketcher.client.Editor$State MOVE_HOVER -> v + com.jotuntech.sketcher.client.Editor$State MOVE_INSIDE -> w + com.jotuntech.sketcher.client.Editor$State MOVE_PRESS -> x + com.jotuntech.sketcher.client.Editor$State AD_HOVER -> y + com.jotuntech.sketcher.client.Editor$State AD_PRESS -> z + com.jotuntech.sketcher.client.Editor$State[] ENUM$VALUES -> A + com.jotuntech.sketcher.client.Editor$State[] values() -> a +com.jotuntech.sketcher.client.JCollapsiblePanel -> com.jotuntech.sketcher.client.r: + javax.swing.Icon expandedIcon -> a + javax.swing.Icon collapsedIcon -> b + javax.swing.Icon pinNormalIcon -> c + javax.swing.Icon pinStuckIcon -> d + javax.swing.JLabel label -> e + javax.swing.JLabel pin -> f + javax.swing.JPanel contentPane -> g + com.jotuntech.sketcher.client.JCollapsiblePanelGroup group -> h + boolean stuck -> i + int id -> j + boolean expandedByDefault -> k + boolean stuckByDefault -> l + javax.swing.JPanel getContentPane() -> a + void setExpanded(boolean,boolean) -> a + boolean isExpanded() -> b + void setGroup(com.jotuntech.sketcher.client.JCollapsiblePanelGroup) -> a + void setStuck(boolean) -> a + boolean isStuck() -> c + int getId() -> d + boolean isExpandedByDefault() -> e + boolean isStuckByDefault() -> f + boolean access$0(com.jotuntech.sketcher.client.JCollapsiblePanel) -> a + javax.swing.JPanel access$1(com.jotuntech.sketcher.client.JCollapsiblePanel) -> b +com.jotuntech.sketcher.client.JCollapsiblePanel$1 -> com.jotuntech.sketcher.client.s: + com.jotuntech.sketcher.client.JCollapsiblePanel this$0 -> a + void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + void mouseExited(java.awt.event.MouseEvent) -> mouseExited + void mousePressed(java.awt.event.MouseEvent) -> mousePressed + void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased +com.jotuntech.sketcher.client.JCollapsiblePanel$2 -> com.jotuntech.sketcher.client.t: + com.jotuntech.sketcher.client.JCollapsiblePanel this$0 -> a + void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + void mouseExited(java.awt.event.MouseEvent) -> mouseExited + void mousePressed(java.awt.event.MouseEvent) -> mousePressed + void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased +com.jotuntech.sketcher.client.JCollapsiblePanelGroup -> com.jotuntech.sketcher.client.u: +com.jotuntech.sketcher.client.JUserEntry -> com.jotuntech.sketcher.client.v: + javax.swing.JLabel nameLabel -> a + javax.swing.JPanel infoPanel -> b + javax.swing.JProgressBar volumeBar -> c + double slowVolume -> d + int[] delayLine -> e + void setVolume(int,int) -> a + void clearVoice() -> a +com.jotuntech.sketcher.client.JUserList -> com.jotuntech.sketcher.client.w: + com.jotuntech.sketcher.common.TwoWayHashMap userMap -> a + java.util.Map entryMap -> b + void redo() -> b + com.jotuntech.sketcher.client.JUserEntry getEntry(java.lang.Integer) -> a + void clearVoice() -> a + void access$0(com.jotuntech.sketcher.client.JUserList) -> a +com.jotuntech.sketcher.client.JUserList$1 -> com.jotuntech.sketcher.client.x: + com.jotuntech.sketcher.client.JUserList this$0 -> a + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.LookAndFeel -> com.jotuntech.sketcher.client.y: + com.jotuntech.sketcher.client.LookAndFeel NIMBUS -> a + com.jotuntech.sketcher.client.LookAndFeel SYSTEM -> b + java.lang.String getName() -> a + boolean activate() -> b +com.jotuntech.sketcher.client.LookAndFeel$1 -> com.jotuntech.sketcher.client.z: + java.lang.String name -> c + java.lang.String getName() -> a +com.jotuntech.sketcher.client.LookAndFeel$2 -> com.jotuntech.sketcher.client.A: + java.lang.String getName() -> a +com.jotuntech.sketcher.client.PSDEncoder -> com.jotuntech.sketcher.client.B: + java.io.RandomAccessFile raf -> a + java.awt.image.BufferedImage image -> b + com.jotuntech.sketcher.common.BitmapLayer[] layers -> c + long[][] channelLengthPositions -> d + void encode() -> a + void writeAllLayersPixelData(java.io.RandomAccessFile) -> a + void writeImagePixelData(java.io.RandomAccessFile) -> b +com.jotuntech.sketcher.client.PackBitsOutputStream -> com.jotuntech.sketcher.client.C: + java.io.DataOutput mdo -> a + int[] inBuffer -> b + int inBufferWritePos -> c + int inBufferReadPos -> d + int inBufferMark -> e + byte[] outBuffer -> f + int outBufferWritePos -> g + void write(int) -> write + void write(byte[]) -> write + void write(byte[],int,int) -> write + void flush() -> flush + void output(int) -> a + void pack() -> a + void close() -> close + int available() -> b + int peek() -> c + int read() -> d + void reset() -> e +com.jotuntech.sketcher.client.Smoother -> com.jotuntech.sketcher.client.D: + float threshold -> a + float smoothness -> b + boolean enabled -> c + com.jotuntech.sketcher.common.Input[] cursor -> d + void add(com.jotuntech.sketcher.common.Input) -> a + java.util.List get() -> a + com.jotuntech.sketcher.common.Input getIndex(int) -> a + void segment(java.util.List,com.jotuntech.sketcher.common.Input,com.jotuntech.sketcher.common.Input,com.jotuntech.sketcher.common.Input) -> a + void setSmoothness(float) -> a + void setEnabled(boolean) -> a +com.jotuntech.sketcher.client.UserInterface -> com.jotuntech.sketcher.client.E: + java.awt.Insets NO_INSETS -> a + com.jotuntech.sketcher.client.Client client -> b + javax.swing.JSplitPane splitPane -> k + javax.swing.JScrollPane editorPane -> l + com.jotuntech.sketcher.client.Editor editor -> m + javax.swing.JPanel rightPanel -> n + javax.swing.JMenuBar menuBar -> o + javax.swing.JMenu filterMenu -> p + javax.swing.JCheckBoxMenuItem soundItem -> q + javax.swing.JCheckBoxMenuItem tagsItem -> r + com.jotuntech.sketcher.client.JCollapsiblePanelGroup mainGroup -> s + javax.swing.JScrollPane chatPane -> t + javax.swing.JTextArea chatLog -> u + javax.swing.JTextField chatField -> v + com.jotuntech.sketcher.client.UserInterface$BrushButton[] brushButtons -> w + javax.swing.JLabel zoomLabel -> x + javax.swing.JSpinner zoomSpin -> y + javax.swing.JCheckBox smoothBox -> c + javax.swing.JCheckBox opacityBox -> z + javax.swing.JCheckBox flowBox -> A + javax.swing.JCheckBox radiusBox -> B + javax.swing.JCheckBox lockTransBox -> C + com.jotuntech.sketcher.client.JUserList userList -> D + javax.swing.JList layerList -> E + javax.swing.JSlider hardnessSlider -> F + javax.swing.JSlider sizeSlider -> G + javax.swing.JSlider opacitySlider -> H + javax.swing.JSlider flowSlider -> I + javax.swing.JSlider spacingSlider -> J + javax.swing.JSlider jitterSlider -> K + javax.swing.JSlider noiseSlider -> L + javax.swing.JSlider waterSlider -> M + javax.swing.JSlider waterAreaSlider -> N + javax.swing.JSlider redSlider -> O + javax.swing.JSlider greenSlider -> P + javax.swing.JSlider blueSlider -> Q + javax.swing.JPanel rgbColor -> R + javax.swing.JSlider hueSlider -> S + javax.swing.JSlider satSlider -> T + javax.swing.JSlider brightSlider -> U + javax.swing.JPanel hsbColor -> V + javax.swing.JSlider cyanSlider -> W + javax.swing.JSlider magentaSlider -> X + javax.swing.JSlider yellowSlider -> Y + javax.swing.JPanel cmyColor -> Z + com.jotuntech.sketcher.client.JCollapsiblePanel brushPanel -> aa + com.jotuntech.sketcher.client.JCollapsiblePanel brushSettingsPanel -> ab + com.jotuntech.sketcher.client.JCollapsiblePanel colorPanel -> ac + com.jotuntech.sketcher.client.JCollapsiblePanel inputPanel -> ad + javax.swing.JToggleButton selectButton -> ae + javax.swing.JToggleButton moveButton -> af + javax.swing.JToggleButton freehandButton -> ag + javax.swing.JToggleButton lineButton -> ah + javax.swing.JToggleButton bezierButton -> ai + javax.swing.JToggleButton rectangleButton -> aj + javax.swing.JToggleButton ovalButton -> ak + boolean smoothZoom -> al + boolean colorAdjusting -> am + boolean brushAdjusting -> d + boolean layerAdjusting -> an + java.applet.AudioClip AUDIO_INTRO -> e + java.applet.AudioClip AUDIO_SIGN_IN -> f + java.applet.AudioClip AUDIO_SIGN_OUT -> g + java.applet.AudioClip AUDIO_KICK -> h + java.applet.AudioClip AUDIO_CHAT -> i + java.applet.AudioClip AUDIO_OUTTRO -> j + javax.swing.Icon[] brushIcons -> ao + javax.swing.ImageIcon loadImageIcon(java.lang.String) -> c + void updateBrushSliders() -> a + void setColorSliders(int) -> a + void setRGBSliders(int) -> b + void setHSBSliders(int) -> c + void setCMYSliders(int) -> d + void println(java.lang.String) -> a + void print(java.lang.String) -> b + void scroll() -> b + void setCanvas(com.jotuntech.sketcher.common.Canvas) -> a + com.jotuntech.sketcher.client.Editor getEditor() -> c + javax.swing.JScrollPane getEditorPane() -> d + void setSmoothZoom(boolean) -> a + boolean isSmoothZoom() -> e + javax.swing.JCheckBoxMenuItem getSoundItem() -> f + javax.swing.JCheckBoxMenuItem getTagsItem() -> g + java.util.Set getToolPanels() -> h + com.jotuntech.sketcher.client.JUserList getUserList() -> i + void updateLayer() -> j + com.jotuntech.sketcher.client.UserInterface$BrushButton[] getBrushButtons() -> k + com.jotuntech.sketcher.client.Editor access$0(com.jotuntech.sketcher.client.UserInterface) -> a + javax.swing.JScrollPane access$1(com.jotuntech.sketcher.client.UserInterface) -> b + boolean access$2(com.jotuntech.sketcher.client.UserInterface) -> c + void access$3(com.jotuntech.sketcher.client.UserInterface,boolean) -> a + javax.swing.JSpinner access$4(com.jotuntech.sketcher.client.UserInterface) -> d + void access$5(com.jotuntech.sketcher.client.UserInterface,boolean) -> b + void access$6(com.jotuntech.sketcher.client.UserInterface) -> e + javax.swing.JSlider access$7(com.jotuntech.sketcher.client.UserInterface) -> f + javax.swing.JSlider access$8(com.jotuntech.sketcher.client.UserInterface) -> g + javax.swing.JSlider access$9(com.jotuntech.sketcher.client.UserInterface) -> h + javax.swing.JSlider access$10(com.jotuntech.sketcher.client.UserInterface) -> i + javax.swing.JSlider access$11(com.jotuntech.sketcher.client.UserInterface) -> j + javax.swing.JSlider access$12(com.jotuntech.sketcher.client.UserInterface) -> k + javax.swing.JSlider access$13(com.jotuntech.sketcher.client.UserInterface) -> l + javax.swing.JSlider access$14(com.jotuntech.sketcher.client.UserInterface) -> m + javax.swing.JSlider access$15(com.jotuntech.sketcher.client.UserInterface) -> n + javax.swing.JCheckBox access$16(com.jotuntech.sketcher.client.UserInterface) -> o + javax.swing.JCheckBox access$17(com.jotuntech.sketcher.client.UserInterface) -> p + javax.swing.JCheckBox access$18(com.jotuntech.sketcher.client.UserInterface) -> q + javax.swing.JCheckBox access$19(com.jotuntech.sketcher.client.UserInterface) -> r + boolean access$20(com.jotuntech.sketcher.client.UserInterface) -> s + javax.swing.JSlider access$21(com.jotuntech.sketcher.client.UserInterface) -> t + javax.swing.JSlider access$22(com.jotuntech.sketcher.client.UserInterface) -> u + javax.swing.JSlider access$23(com.jotuntech.sketcher.client.UserInterface) -> v + javax.swing.JPanel access$24(com.jotuntech.sketcher.client.UserInterface) -> w + javax.swing.JSlider access$25(com.jotuntech.sketcher.client.UserInterface) -> x + javax.swing.JSlider access$26(com.jotuntech.sketcher.client.UserInterface) -> y + javax.swing.JSlider access$27(com.jotuntech.sketcher.client.UserInterface) -> z + javax.swing.JPanel access$28(com.jotuntech.sketcher.client.UserInterface) -> A + javax.swing.JSlider access$29(com.jotuntech.sketcher.client.UserInterface) -> B + javax.swing.JSlider access$30(com.jotuntech.sketcher.client.UserInterface) -> C + javax.swing.JSlider access$31(com.jotuntech.sketcher.client.UserInterface) -> D + javax.swing.JPanel access$32(com.jotuntech.sketcher.client.UserInterface) -> E + javax.swing.JTextField access$33(com.jotuntech.sketcher.client.UserInterface) -> F + javax.swing.JScrollPane access$34(com.jotuntech.sketcher.client.UserInterface) -> G + javax.swing.JTextArea access$35(com.jotuntech.sketcher.client.UserInterface) -> H + javax.swing.JList access$36(com.jotuntech.sketcher.client.UserInterface) -> I + boolean access$37(com.jotuntech.sketcher.client.UserInterface) -> J +com.jotuntech.sketcher.client.UserInterface$1 -> com.jotuntech.sketcher.client.F: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + boolean val$selectionOnly -> b + java.io.File val$file -> c + javax.swing.JFileChooser val$fileChooser -> d + void run() -> run +com.jotuntech.sketcher.client.UserInterface$10 -> com.jotuntech.sketcher.client.G: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$11 -> com.jotuntech.sketcher.client.H: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$11$1 -> com.jotuntech.sketcher.client.I: + com.jotuntech.sketcher.client.UserInterface$11 this$1 -> a + javax.swing.JDialog val$blurDialog -> b + com.jotuntech.sketcher.client.Client val$client -> c + java.awt.Rectangle val$select -> d + javax.swing.SpinnerNumberModel val$sizeModel -> e + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$11$2 -> com.jotuntech.sketcher.client.J: + com.jotuntech.sketcher.client.UserInterface$11 this$1 -> a + javax.swing.JDialog val$blurDialog -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$12 -> com.jotuntech.sketcher.client.K: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$13 -> com.jotuntech.sketcher.client.L: + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$13$1 -> com.jotuntech.sketcher.client.M: + javax.swing.JDialog val$aboutDialog -> a + void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + void mouseExited(java.awt.event.MouseEvent) -> mouseExited + void mousePressed(java.awt.event.MouseEvent) -> mousePressed + void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased +com.jotuntech.sketcher.client.UserInterface$14 -> com.jotuntech.sketcher.client.N: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered + void mouseExited(java.awt.event.MouseEvent) -> mouseExited + void mousePressed(java.awt.event.MouseEvent) -> mousePressed + void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased +com.jotuntech.sketcher.client.UserInterface$15 -> com.jotuntech.sketcher.client.O: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$16 -> com.jotuntech.sketcher.client.P: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$17 -> com.jotuntech.sketcher.client.Q: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + javax.swing.JSlider val$backgroundSlider -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$18 -> com.jotuntech.sketcher.client.R: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$19 -> com.jotuntech.sketcher.client.S: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$2 -> com.jotuntech.sketcher.client.T: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void adjustmentValueChanged(java.awt.event.AdjustmentEvent) -> adjustmentValueChanged +com.jotuntech.sketcher.client.UserInterface$20 -> com.jotuntech.sketcher.client.U: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$21 -> com.jotuntech.sketcher.client.V: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$22 -> com.jotuntech.sketcher.client.W: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$23 -> com.jotuntech.sketcher.client.X: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$24 -> com.jotuntech.sketcher.client.Y: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$25 -> com.jotuntech.sketcher.client.Z: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$26 -> com.jotuntech.sketcher.client.aa: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$27 -> com.jotuntech.sketcher.client.ab: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$28 -> com.jotuntech.sketcher.client.ac: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$29 -> com.jotuntech.sketcher.client.ad: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$3 -> com.jotuntech.sketcher.client.ae: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$30 -> com.jotuntech.sketcher.client.af: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$31 -> com.jotuntech.sketcher.client.ag: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$32 -> com.jotuntech.sketcher.client.ah: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$33 -> com.jotuntech.sketcher.client.ai: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$34 -> com.jotuntech.sketcher.client.aj: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$35 -> com.jotuntech.sketcher.client.ak: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$36 -> com.jotuntech.sketcher.client.al: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$37 -> com.jotuntech.sketcher.client.am: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$38 -> com.jotuntech.sketcher.client.an: + com.jotuntech.sketcher.client.Client val$client -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$39 -> com.jotuntech.sketcher.client.ao: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$4 -> com.jotuntech.sketcher.client.ap: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$40 -> com.jotuntech.sketcher.client.aq: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$41 -> com.jotuntech.sketcher.client.ar: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$42 -> com.jotuntech.sketcher.client.as: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$43 -> com.jotuntech.sketcher.client.at: + javax.swing.JSlider val$smoothSlider -> a + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$44 -> com.jotuntech.sketcher.client.au: + javax.swing.JCheckBox val$curveSmoothBox -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$45 -> com.jotuntech.sketcher.client.av: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void componentHidden(java.awt.event.ComponentEvent) -> componentHidden + void componentMoved(java.awt.event.ComponentEvent) -> componentMoved + void componentResized(java.awt.event.ComponentEvent) -> componentResized + void componentShown(java.awt.event.ComponentEvent) -> componentShown +com.jotuntech.sketcher.client.UserInterface$46 -> com.jotuntech.sketcher.client.aw: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$47 -> com.jotuntech.sketcher.client.ax: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + java.lang.String val$str -> b + void run() -> run +com.jotuntech.sketcher.client.UserInterface$48 -> com.jotuntech.sketcher.client.ay: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.client.UserInterface$48$1 -> com.jotuntech.sketcher.client.az: + java.lang.Object[] val$array -> a + int getSize() -> getSize + java.lang.Object getElementAt(int) -> getElementAt +com.jotuntech.sketcher.client.UserInterface$49 -> com.jotuntech.sketcher.client.aA: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.common.Canvas val$canvas -> b + void valueChanged(javax.swing.event.ListSelectionEvent) -> valueChanged +com.jotuntech.sketcher.client.UserInterface$5 -> com.jotuntech.sketcher.client.aB: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$5$1 -> com.jotuntech.sketcher.client.aC: + javax.swing.JDialog val$uploadDialog -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$5$2 -> com.jotuntech.sketcher.client.aD: + com.jotuntech.sketcher.client.UserInterface$5 this$1 -> a + javax.swing.JTextField val$titleField -> b + javax.swing.JDialog val$uploadDialog -> c + javax.swing.JTextArea val$descArea -> d + javax.swing.JButton val$uploadButton -> e + javax.swing.JRadioButton val$jpegButton -> f + javax.swing.JRadioButton val$pngButton -> g + javax.swing.JCheckBox val$matureBox -> h + java.awt.Rectangle val$s -> i + javax.swing.JProgressBar val$progressBar -> j + com.jotuntech.sketcher.client.Client val$client -> k + javax.swing.JButton val$cancelButton -> l + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$5$2$1 -> com.jotuntech.sketcher.client.aE: + com.jotuntech.sketcher.client.UserInterface$5$2 this$2 -> a + javax.swing.JTextField val$titleField -> b + javax.swing.JDialog val$uploadDialog -> c + javax.swing.JTextArea val$descArea -> d + javax.swing.JButton val$uploadButton -> e + javax.swing.JRadioButton val$jpegButton -> f + javax.swing.JRadioButton val$pngButton -> g + javax.swing.JCheckBox val$matureBox -> h + java.awt.Rectangle val$s -> i + javax.swing.JProgressBar val$progressBar -> j + com.jotuntech.sketcher.client.Client val$client -> k + javax.swing.JButton val$cancelButton -> l + void run() -> run +com.jotuntech.sketcher.client.UserInterface$6 -> com.jotuntech.sketcher.client.aF: + com.jotuntech.sketcher.client.Client val$client -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$7 -> com.jotuntech.sketcher.client.aG: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$8 -> com.jotuntech.sketcher.client.aH: + com.jotuntech.sketcher.client.Client val$client -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$9 -> com.jotuntech.sketcher.client.aI: + com.jotuntech.sketcher.client.UserInterface this$0 -> a + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.UserInterface$BrushButton -> com.jotuntech.sketcher.client.aJ: +com.jotuntech.sketcher.client.UserInterface$BrushButton$1 -> com.jotuntech.sketcher.client.aK: + com.jotuntech.sketcher.client.UserInterface val$parent -> a + com.jotuntech.sketcher.common.Brush[] val$brushArray -> b + int val$brushIndex -> c + void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +com.jotuntech.sketcher.client.command.CanvasCommand -> com.jotuntech.sketcher.client.command.CanvasCommand: + int width -> a + int height -> b + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.CanvasCommand$1 -> com.jotuntech.sketcher.client.command.a: + com.jotuntech.sketcher.client.command.CanvasCommand this$0 -> a + com.jotuntech.sketcher.client.Client val$client -> b + void run() -> run +com.jotuntech.sketcher.client.command.CreateLayerCommand -> com.jotuntech.sketcher.client.command.CreateLayerCommand: + int layerKey -> a + int type -> b + java.lang.String name -> c + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.CursorCommand -> com.jotuntech.sketcher.client.command.CursorCommand: + com.jotuntech.sketcher.common.Input input -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.DeleteLayerCommand -> com.jotuntech.sketcher.client.command.DeleteLayerCommand: + int layerKey -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.FilterCommand -> com.jotuntech.sketcher.client.command.FilterCommand: + com.jotuntech.sketcher.common.filter.Filter filter -> a + int x -> b + int y -> c + int w -> d + int h -> e + float a -> f + float b -> g + float c -> h + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.KickCommand -> com.jotuntech.sketcher.client.command.KickCommand: + int targetKey -> a + java.lang.String reason -> b + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.LayerDataCommand -> com.jotuntech.sketcher.client.command.LayerDataCommand: + int layerKey -> a + boolean phantom -> b + byte[] data -> c + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.LineCommand -> com.jotuntech.sketcher.client.command.LineCommand: + com.jotuntech.sketcher.common.Input input -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.MergeCommand -> com.jotuntech.sketcher.client.command.MergeCommand: + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.MoveCommand -> com.jotuntech.sketcher.client.command.MoveCommand: + float sx -> a + float sy -> b + float dx -> c + float dy -> d + float w -> e + float h -> f + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.PingCommand -> com.jotuntech.sketcher.client.command.PingCommand: + long timestamp -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.SayCommand -> com.jotuntech.sketcher.client.command.SayCommand: + boolean isAction -> a + java.lang.String text -> b + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.ServerMessageCommand -> com.jotuntech.sketcher.client.command.ServerMessageCommand: + java.lang.String text -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.SetBrushCommand -> com.jotuntech.sketcher.client.command.SetBrushCommand: + com.jotuntech.sketcher.common.Brush brush -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.SetColorCommand -> com.jotuntech.sketcher.client.command.SetColorCommand: + boolean firstWhite -> a + int color -> b + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.SetLayerCommand -> com.jotuntech.sketcher.client.command.SetLayerCommand: + java.lang.Integer layerKey -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.SignInCommand -> com.jotuntech.sketcher.client.command.SignInCommand: + java.lang.Integer peerKey -> a + java.lang.String login -> b + java.lang.String password -> c + boolean viewer -> d + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a +com.jotuntech.sketcher.client.command.SignOutCommand -> com.jotuntech.sketcher.client.command.SignOutCommand: + java.lang.String message -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.UndoCommand -> com.jotuntech.sketcher.client.command.UndoCommand: + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.UndoDataCommand -> com.jotuntech.sketcher.client.command.UndoDataCommand: + byte[] data -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.UndoEntryCommand -> com.jotuntech.sketcher.client.command.UndoEntryCommand: + java.lang.Integer layerKey -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.command.VoiceCommand -> com.jotuntech.sketcher.client.command.VoiceCommand: + boolean voiceEnabled -> a + int perform(com.jotuntech.sketcher.client.Client,com.jotuntech.sketcher.common.User) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.client.voice.Highpass24 -> com.jotuntech.sketcher.client.a.a: + float li1 -> a + float li2 -> b + float li3 -> c + float li4 -> d + float lo1 -> e + float lo2 -> f + float lo3 -> g + float lo4 -> h +com.jotuntech.sketcher.client.voice.VoiceChannel -> com.jotuntech.sketcher.client.a.b: + org.xiph.speex.SpeexDecoder decoder -> a + java.nio.ByteBuffer[] packetArray -> b + int expectedPacketNumber -> c + int newestPacketNumber -> d + float qualityPercent -> e + java.nio.ByteBuffer audioBuffer -> f + com.jotuntech.sketcher.client.voice.VoiceMixer voiceMixer -> g + java.lang.Integer channelKey -> h + boolean buffering -> i + long lastPlayTime -> j + boolean dead -> k + com.jotuntech.sketcher.client.voice.VoiceListener listener -> l + void packet(java.nio.ByteBuffer) -> a + void process() -> a + boolean isDead() -> b + void setListener(com.jotuntech.sketcher.client.voice.VoiceListener) -> a +com.jotuntech.sketcher.client.voice.VoiceClient -> com.jotuntech.sketcher.client.a.c: + java.nio.channels.DatagramChannel channel -> a + com.jotuntech.sketcher.client.voice.VoiceMixer voiceMixer -> b + java.util.Map voiceChannels -> c + java.lang.Integer peerKey -> d + javax.sound.sampled.AudioFormat targetFormat -> e + javax.sound.sampled.TargetDataLine target -> f + org.xiph.speex.SpeexEncoder encoder -> g + java.nio.ByteBuffer recordBuffer -> h + java.net.InetSocketAddress serverAddress -> i + int packetNumber -> j + boolean bigEndian -> k + float gain -> l + float gain2 -> m + com.jotuntech.sketcher.client.voice.VoiceListener listener -> n + com.jotuntech.sketcher.client.voice.Highpass24 highpass -> o + com.jotuntech.sketcher.client.voice.VoiceDetector detector -> p + void run() -> run + void setListener(com.jotuntech.sketcher.client.voice.VoiceListener) -> a +com.jotuntech.sketcher.client.voice.VoiceDetector -> com.jotuntech.sketcher.client.a.d: + float[] delayLine -> a + float alpha -> b + float mean -> c + float process(float) -> a +com.jotuntech.sketcher.client.voice.VoiceEvent -> com.jotuntech.sketcher.client.a.e: + int type -> a + java.lang.Integer channel -> b + int data1 -> c + int getType() -> a + java.lang.Integer getChannel() -> b + int getVolume() -> c +com.jotuntech.sketcher.client.voice.VoiceListener -> com.jotuntech.sketcher.client.a.f: + void voiceEvent(com.jotuntech.sketcher.client.voice.VoiceEvent) -> a +com.jotuntech.sketcher.client.voice.VoiceMixer -> com.jotuntech.sketcher.client.a.g: + javax.sound.sampled.SourceDataLine source -> a + javax.sound.sampled.AudioFormat sourceFormat -> b + int bufferSize -> c + java.util.Map channelMap -> d + java.nio.ByteBuffer mixBuffer -> e + void write(java.lang.Integer,java.nio.ByteBuffer) -> a + int available(java.lang.Integer) -> a + void drop(java.lang.Integer) -> b + boolean mix() -> a + void close() -> b + int getBufferSize() -> c +com.jotuntech.sketcher.common.BitmapLayer -> com.jotuntech.sketcher.common.a: + java.lang.String name -> a + float opacity -> b + int blendMode -> c + java.util.Map tiles -> d + java.awt.image.ImageObserver observer -> e + com.jotuntech.sketcher.common.BitmapTile currentTile -> f + java.awt.Point currentTilePoint -> g + com.jotuntech.sketcher.common.PixelUnpacker unpacker -> h + com.jotuntech.sketcher.common.BitmapTile tempTile -> i + void draw(java.awt.Graphics2D) -> a + void draw(java.awt.Graphics2D,java.util.Set) -> a + float getOpacity() -> a + com.jotuntech.sketcher.common.Input line(com.jotuntech.sketcher.common.Input,com.jotuntech.sketcher.common.Input,int,com.jotuntech.sketcher.common.Brush,com.jotuntech.sketcher.common.Layer) -> a + int getColor(com.jotuntech.sketcher.common.Input) -> a + int getPixel(int,int) -> a + void addImageObserver(java.awt.image.ImageObserver) -> a + java.awt.image.ImageObserver getImageObserver() -> b + java.lang.String getName() -> c + com.jotuntech.sketcher.common.BitmapTile getBitmapTile(int,int,boolean) -> a + void blendPixel(int,int,int,int,int) -> a + java.awt.Rectangle daub(com.jotuntech.sketcher.common.Input,com.jotuntech.sketcher.common.Brush,int,com.jotuntech.sketcher.common.BitmapLayer) -> a + void clean() -> d + void decode(byte[]) -> a + void setOpacity(float) -> a + boolean isEmpty() -> e + java.util.Map getTiles() -> f + com.jotuntech.sketcher.common.UndoData merge(com.jotuntech.sketcher.common.Layer) -> a + void setAlphaRule(int) -> a + void undo(com.jotuntech.sketcher.common.UndoData) -> a + com.jotuntech.sketcher.common.UndoData copyTo(com.jotuntech.sketcher.common.Layer,java.awt.image.ImageObserver,boolean,float,float,float,float,float,float) -> a + void applyFilter(com.jotuntech.sketcher.common.filter.Filter,java.awt.image.ImageObserver,int,int,int,int) -> a +com.jotuntech.sketcher.common.BitmapTile -> com.jotuntech.sketcher.common.b: + java.awt.image.BufferedImage image -> a + int[] pixels -> b + void blendPixel(int,int,int,int,int) -> a + java.awt.image.BufferedImage getImage() -> a + int[] getPixels() -> b +com.jotuntech.sketcher.common.BitmapTileDiff -> com.jotuntech.sketcher.common.c: + short[] diffAlpha -> a + short[] diffRed -> b + short[] diffGreen -> c + short[] diffBlue -> d +com.jotuntech.sketcher.common.BitmapUndoData -> com.jotuntech.sketcher.common.d: + com.jotuntech.sketcher.common.DiffUnpacker unpacker -> a + void decode(byte[]) -> a +com.jotuntech.sketcher.common.Brush -> com.jotuntech.sketcher.common.e: + java.lang.String name -> a + int opacity -> b + int flow -> c + float radius -> d + int hardness -> e + float spacing -> f + boolean pressureToOpacity -> g + boolean pressureToFlow -> h + boolean pressureToRadius -> i + float jitter -> j + int noise -> k + int water -> l + float waterArea -> m + boolean lockTransparency -> n + java.lang.String getName() -> a + void setName(java.lang.String) -> a + com.jotuntech.sketcher.common.Brush copy() -> b + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b + void setOpacity(int) -> a + int getOpacity() -> c + void setFlow(int) -> b + int getFlow() -> d + void setRadius(float) -> a + float getRadius() -> e + void setHardness(int) -> c + int getHardness() -> f + void setSpacing(float) -> b + float getSpacing() -> g + void setPressureToFlow(boolean) -> a + boolean isPressureToFlow() -> h + void setPressureToRadius(boolean) -> b + boolean isPressureToRadius() -> i + void setJitter(float) -> c + float getJitter() -> j + void setNoise(int) -> d + int getNoise() -> k + void setWater(int) -> e + int getWater() -> l + void setWaterArea(float) -> d + float getWaterArea() -> m + void setLockTransparency(boolean) -> c + boolean isLockTransparency() -> n + void setPressureToOpacity(boolean) -> d + boolean isPressureToOpacity() -> o +com.jotuntech.sketcher.common.Canvas -> com.jotuntech.sketcher.common.f: + int width -> a + int height -> b + com.jotuntech.sketcher.common.TwoWayHashMap layerMap -> c + java.util.Set observers -> d + boolean drawing -> e + int getWidth() -> a + int getHeight() -> b + com.jotuntech.sketcher.common.TwoWayHashMap getLayerMap() -> c + void addImageObserver(java.awt.image.ImageObserver) -> a + boolean imageUpdate(java.awt.Image,int,int,int,int,int) -> imageUpdate + void setDrawing(boolean) -> a + boolean isDrawing() -> d + void access$0(com.jotuntech.sketcher.common.Canvas) -> a +com.jotuntech.sketcher.common.Canvas$1 -> com.jotuntech.sketcher.common.g: + com.jotuntech.sketcher.common.Canvas this$0 -> a + void stateChanged(javax.swing.event.ChangeEvent) -> stateChanged +com.jotuntech.sketcher.common.DiffUnpacker -> com.jotuntech.sketcher.common.h: + java.util.zip.Inflater inflater -> a + byte[] encodedDiff -> b + void unpack(byte[],int,int,short[],short[],short[],short[]) -> a +com.jotuntech.sketcher.common.Input -> com.jotuntech.sketcher.common.i: + int pressure -> a + com.jotuntech.sketcher.common.Input difference(com.jotuntech.sketcher.common.Input) -> a + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b + java.lang.Object clone() -> clone +com.jotuntech.sketcher.common.Layer -> com.jotuntech.sketcher.common.j: + java.lang.String getName() -> c + void draw(java.awt.Graphics2D) -> a + com.jotuntech.sketcher.common.UndoData copyTo(com.jotuntech.sketcher.common.Layer,java.awt.image.ImageObserver,boolean,float,float,float,float,float,float) -> a + com.jotuntech.sketcher.common.UndoData merge(com.jotuntech.sketcher.common.Layer) -> a + void undo(com.jotuntech.sketcher.common.UndoData) -> a + void setAlphaRule(int) -> a + void setOpacity(float) -> a + com.jotuntech.sketcher.common.Input line(com.jotuntech.sketcher.common.Input,com.jotuntech.sketcher.common.Input,int,com.jotuntech.sketcher.common.Brush,com.jotuntech.sketcher.common.Layer) -> a + int getColor(com.jotuntech.sketcher.common.Input) -> a + void addImageObserver(java.awt.image.ImageObserver) -> a + java.awt.image.ImageObserver getImageObserver() -> b + void clean() -> d + boolean isEmpty() -> e + void decode(byte[]) -> a +com.jotuntech.sketcher.common.Log -> com.jotuntech.sketcher.common.k: + java.text.DateFormat df -> a + void debug(java.lang.String) -> a + void info(java.lang.String) -> b + void error(java.lang.String) -> c + void error(java.lang.Throwable) -> a + void warn(java.lang.String) -> d +com.jotuntech.sketcher.common.PixelUnpacker -> com.jotuntech.sketcher.common.l: + java.util.zip.Inflater inflater -> a + byte[] encodedPixels -> b + void unpack(byte[],int,int,int[]) -> a +com.jotuntech.sketcher.common.Pixels -> com.jotuntech.sketcher.common.m: + int[] randomNumbers -> a + int randomCounter -> b + int random() -> a + int getChannel1(int) -> a + int getChannel2(int) -> b + int pack(int,int,int) -> a + int pack(int,int,int,int) -> a + float gammaDecode(float) -> a + int gammaEncode(float) -> b +com.jotuntech.sketcher.common.Streamable -> com.jotuntech.sketcher.common.n: + void decode(java.nio.ByteBuffer) -> a + void encode(java.nio.ByteBuffer) -> b +com.jotuntech.sketcher.common.TwoWayHashMap -> com.jotuntech.sketcher.common.o: + java.util.Map keyMap -> a + java.util.Map valueMap -> b + java.util.List changeListeners -> c + java.lang.Object put(java.lang.Object,java.lang.Object) -> put + java.lang.Object remove(java.lang.Object) -> remove + java.lang.Object removeByValue(java.lang.Object) -> a + java.lang.Object get(java.lang.Object) -> get + java.lang.Object getKeyForValue(java.lang.Object) -> b + java.util.Set entrySet() -> entrySet + java.util.Set keySet() -> keySet + java.util.Collection values() -> values + void addChangeListener(javax.swing.event.ChangeListener) -> a + void change() -> a + void clear() -> clear + boolean containsKey(java.lang.Object) -> containsKey + boolean containsValue(java.lang.Object) -> containsValue + boolean isEmpty() -> isEmpty + void putAll(java.util.Map) -> putAll + int size() -> size +com.jotuntech.sketcher.common.UndoData -> com.jotuntech.sketcher.common.p: +com.jotuntech.sketcher.common.UndoEntry -> com.jotuntech.sketcher.common.q: + java.lang.ref.WeakReference layer -> a + com.jotuntech.sketcher.common.UndoData undoData -> b + void setLayer(com.jotuntech.sketcher.common.Layer) -> a + com.jotuntech.sketcher.common.Layer getLayer() -> a + void setUndoData(com.jotuntech.sketcher.common.UndoData) -> a + com.jotuntech.sketcher.common.UndoData getUndoData() -> b +com.jotuntech.sketcher.common.User -> com.jotuntech.sketcher.common.r: + java.lang.String name -> a + boolean viewer -> b + java.lang.ref.WeakReference layer -> c + com.jotuntech.sketcher.common.Layer phantomLayer -> d + com.jotuntech.sketcher.common.Brush brush -> e + int color -> f + com.jotuntech.sketcher.common.Input cursor -> g + java.util.Deque undoDeque -> h + java.awt.Rectangle tag -> i + java.lang.String getName() -> a + void setLayer(com.jotuntech.sketcher.common.Layer) -> a + com.jotuntech.sketcher.common.Layer getLayer() -> b + void setBrush(com.jotuntech.sketcher.common.Brush) -> a + com.jotuntech.sketcher.common.Brush getBrush() -> c + void setColor(int) -> a + int getColor() -> d + void setCursor(com.jotuntech.sketcher.common.Input) -> a + com.jotuntech.sketcher.common.Input getCursor() -> e + void setTag(java.awt.Rectangle) -> a + java.awt.Rectangle getTag() -> f + com.jotuntech.sketcher.common.Layer getPhantomLayer() -> g + java.util.Deque getUndoDeque() -> h + void setViewer(boolean) -> a + boolean isViewer() -> i + int compareTo(java.lang.Object) -> compareTo +com.jotuntech.sketcher.common.filter.AutoContrastFilter -> com.jotuntech.sketcher.common.filter.AutoContrastFilter: + int[] alphaHistogram -> a + int[] colorHistogram -> b + int alphaBlackPoint -> c + int alphaWhitePoint -> d + int colorBlackPoint -> e + int colorWhitePoint -> f + int totalPixels -> g + int alphaRange -> h + int colorRange -> i + float maxBlackFraction -> j + void setSize(int,int) -> a + void setParameterA(float) -> a + boolean isPass1ReadOnly() -> a + boolean isPass2Reversed() -> b + void startPass1() -> c + int processPass1Pixel(int) -> a + void startPass2() -> d + int processPass2Pixel(int) -> b +com.jotuntech.sketcher.common.filter.BlurFilter -> com.jotuntech.sketcher.common.filter.BlurFilter: + float xAlpha -> a + float xRed -> b + float xGreen -> c + float xBlue -> d + float cutoff -> e + float[] yAlpha -> f + float[] yRed -> g + float[] yGreen -> h + float[] yBlue -> i + int width -> j + int x -> k + int y -> l + boolean[] yAlphaWait -> m + void setSize(int,int) -> a + void setParameterA(float) -> a + int processPass1Pixel(int) -> a + int processPass2Pixel(int) -> b + boolean isPass1ReadOnly() -> a + boolean isPass2Reversed() -> b + void startPass1() -> c + void startPass2() -> d +com.jotuntech.sketcher.common.filter.Filter -> com.jotuntech.sketcher.common.filter.a: + void setSize(int,int) -> a + void setParameterA(float) -> a + boolean isPass1ReadOnly() -> a + boolean isPass2Reversed() -> b + void startPass1() -> c + int processPass1Pixel(int) -> a + void startPass2() -> d + int processPass2Pixel(int) -> b diff --git a/sketcher2-client-resources-20120527-1225.jar b/sketcher2-client-resources-20120527-1225.jar new file mode 100755 index 0000000000000000000000000000000000000000..c972726c35bd438b0efa71857025d26314adfced GIT binary patch literal 448864 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

UUz{)6 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

k5#)+-p_kLA@|NP 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 z

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

80(B$Iba#-;9 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 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/eyedropper.gif b/src/com/jotuntech/sketcher/client/images/eyedropper.gif new file mode 100755 index 0000000000000000000000000000000000000000..5d189a3c02930bff7a6d83427b7da1b0b41f52af GIT binary patch literal 913 zcmZ?wbhEHbRA5kGXlF3|&+wmtf#LuE{|62n08$JM4M6TF7!83D5(0`pSr|cH)d3Np zJi*S9$H2%TJZT{`%)pW=wycq z?>w2AMGuZm*5wRR31CR}naPx~$fdG4?d)vU+D|N84jO^eE$ih(B^;gy&2*mcHP>tF Vs;jFbHfP;EwRQFNHH?f5)&RshI!yoo literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/flow.png b/src/com/jotuntech/sketcher/client/images/flow.png new file mode 100755 index 0000000000000000000000000000000000000000..99c925dfb9d2fe405a8631c376723eb8646386f0 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP*5S+ zBgmJ5p-Pp3p`n?9;pcxK{gQ#9)PRBERRRNp)eHs(@%%~gN8NyG<2+p)Ln?0FnH3j(0WZ`5pfR6i720*6W(^<_b*}6lqY2)yX=wG;6jWLxjYUaL!k!@5!)! zO-rr~6a4z&;I$veOjrDTD;+IUE4R_uN3!=b9|Obx|I7@53l)NQU9s-~+Qi`L>gTe~ HDWM4flukpz literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/freehand.png b/src/com/jotuntech/sketcher/client/images/freehand.png new file mode 100755 index 0000000000000000000000000000000000000000..dab3170778e904335e174d59fe6ec50ade64bbe0 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hVB_jGX#skoK&=l_3u=A8`_Cw{bdU@#0^B*`Jc$kfpq;%i{$VcfySp&*tdvN+p` zje+q<)A`CHJGc}YPVg~HFmNci#cXUi%Y9=Hvw%a-6F22Evw=#SR-JvJ2b2>lV&-RK z0Ge~7;<#upNa93)%MqXer)_EDk0lkX3Jnn*p1D6592goGPn^(e5S|naH0MJ}gZ{4% dl6(RQ3{j~e@&|q^9RWI(!PC{xWt~$(695$TT8;n! literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/green.png b/src/com/jotuntech/sketcher/client/images/green.png new file mode 100755 index 0000000000000000000000000000000000000000..7c3e36814f9b78a5326825516258713a62d2bc88 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hVh@^o!NS0Jq{V-dL^vahfN)!{iWG-{ zLrbi~0f7dFLnR06bsipQh~`mfnDN2$(G=%RED8-A$C;R?Ww?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hUm@pN$vskoK&=l_3uW>p4-hKK@B10$oP89ZBh1S4gRuyZJ=zFcK#DU7hO3o^!bv?9O8afB#9hy_8aF#KnH1z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ-#z{m$RCwBA{Qv(y10y5je+DuDP%k4u0I`5HgLOLs zaV`-1GBE7^$H_43CLhD5M{*3m_^cQhRKgh;zF9IbbR1=1*mjLU>Df1iJO&A{#Q*`s zgxh>ZFoIYG;ll8LxC8?OKmZ{O!08E~1S2DgJR=eZAb^;VEkv^)y8xO+00G1TChO}N z7^HtQFv$F5V0inTLFwynhS0Zv8FW7~GyHwS$-waRA_K$6M?kq73=ABP7zBAfF_`~k zWnchm0SG_>xuXC8gD~{<{wGzdg@SuS9YP?#A#2XmY&YBsr(h>UfIFB8;_%T@Ue(Vo zb)EoXLia8rv|vt03QUj!kYz~H00G3rfN27HWTVNU1}H!PF%b?aMyMfBm!YLOfB+nj zxe)*`2*aqtVKTJY93_=?;wk()upLwq$*eGf1vh+O@~}A;DO}-_oih_F08Mj@1t1Ip zQSe*C0}07;|C_3X#nf~CotcrDRNeGyw#0l!Nb?fsh~CYrA|h~i9sz_Ii2oTe5)Ldd zVF?IX3Lt=(Q1$-@>jx)R#{UrWVBY@^Ns-{3gJc3g0AUTp|Ih$~lmC$%2ogbxMt}ff eq%=DN1Q-B-s*697ZAfwe0000?0v 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 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/layers.png b/src/com/jotuntech/sketcher/client/images/layers.png new file mode 100755 index 0000000000000000000000000000000000000000..81989de9aab695110f2549efb0658a10bdb3242a GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEeDKa=YrIV^RH0r;G7P7TtscTRL3$4`xG!;#?)lD83Um>Jr>mdKI;Vst0BSZu*Z=?k literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/madeinsketcher.png b/src/com/jotuntech/sketcher/client/images/madeinsketcher.png new file mode 100755 index 0000000000000000000000000000000000000000..00f06716f7e924af5df58c88da72654d2e7fa91e GIT binary patch literal 622 zcmV-!0+IcRP)q*B=q03Zm8|NrQ&=~g7RR!_XPh;oH3_$Kb0iPq5|Yq2lKSo`MjlS}%{`g_IKMZWI9|MypKHHtr)jq;yy26L1B z1p1-Yh?@YERWT9(Fa%rr|1ay%b0;Kd#|oMv4oJ)cKvG6Rkqj!{DHP;tATU6}zZB5T z&V#*kIt-WM&`m-7Y_UzId)wB445V$i{QQ%uTNg7cYPPBTtRG_oUjf8~t&~A`8%PYj zM8f4UV$@+P(Xbf@Q-iLK5;qd#W_)5eN?x31Q$w6mH=*lA(?=2@BHmEckrO9`(jyE2 z1P}|Ur4Fej7Nr4!tHdEt@{;5RT-7kCB`>xNhAZO{DgK`rcM___@HL}ooq&m~WywlY z00G2;E!^=`YZ#>jdhw5B>3*!X0RHUI<|0BVy>2a?05WdHyG07*qo IM6N<$f`&f^Y5)KL literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/magenta.png b/src/com/jotuntech/sketcher/client/images/magenta.png new file mode 100755 index 0000000000000000000000000000000000000000..751ea5561eb3dd075f1bce129184cbaee6dc58f5 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP*5S+ zBgmJ5p-Pp3p`n?9;pcxK{gQ#9)PRBERRRNp)eHs(@%%~gN8NyG`#oJ8Ln>}9nY>Y` zMS;g9eubultm^mw^1H5QBwDmwUXnQJ!=}T0YMjQx{7#c36&ie&1w=&Nys;ug=6UmD zi>as1ojc^TaKcH6PLn%Ldg<1mdZHa<`VO!O%r;&XbmxbD!HNWyOpznpfuU=b?oL~O zy|!8K&6bZ-xdkVsJ@vo2LRtQ{#p(sz9TVcWnSIXR|GAvujiIS%Y~q#IK<yy85}S Ib4q9e0ByrwQUCw| literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/move.png b/src/com/jotuntech/sketcher/client/images/move.png new file mode 100755 index 0000000000000000000000000000000000000000..cfe5840c733ac0f96df7ae0ad289a6566309cc60 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hU$_H=O!skoJtl92G@yaUsZ|NrfkjpP*?A{>r9O<&)6X^pmOmm-^hgU$~Tfn);* zhK&oj6|$KmJx&NTFeDvP=e*SOPRq^h*#8p}Ks^#3EZ*DSG;Cg6Ya_wH)X~}K#30}x zA`K*bS{C&NC@`@IaPQlprY6P6)X{pS!kwLg@ko<)s~|T}F{^EE^CL0KRUC{B42vwp qfFeoEKtk{ZYtIs|E=C4MHiiNpofjq7mOcbJo59o7&t;ucLK6Uv$68zf literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/noise.png b/src/com/jotuntech/sketcher/client/images/noise.png new file mode 100755 index 0000000000000000000000000000000000000000..7ae4ffefcd43dc838704fc638afc9f0dbcbb68a1 GIT binary patch literal 398 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx-l>?vUs{UhE&{2`t$$4J+mry!aM5zT1DzH za44v;aWOhD1m-X}FdW?b;m^l&#MlF*_|lUP8~ki*Yx}RTmw~Y*k%7ZGMdIJ_ zBS#*Xh@=5+Fl^!ou)49Y)|%Pc+WPSM`Syjs>d()!P59q@#irr|!yG;aCJs4ng|h}y zEskA@ITCHGaz45o3@idR0;;O2fjQouo(H9+H#D$tD0E#$IJ@A%0me-{K+m{&Z8mmj bU}Ug=)v|K4Gs_EL*fDsz`njxgN@xNAHHn54 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/opacity.png b/src/com/jotuntech/sketcher/client/images/opacity.png new file mode 100755 index 0000000000000000000000000000000000000000..9588b45349647a6651b0210b3bbeadae8162c3d6 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hVB@^op4-h6o21Wo6~aWemFMEF21I66yv96BaI9$k@{_XUnzB zah>yW$D$MK*fUslrVa>9pGW$Q0R(f5O5IL z4K!7wjM0H1@C{P~!=f9k42&)txfz%`lEfKU1di!s)EHJxD*aOjzmmfpa?%n;J4 Wvik`0tt6l;89ZJ6T-G@yGywqf$4$uq literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/oval.png b/src/com/jotuntech/sketcher/client/images/oval.png new file mode 100755 index 0000000000000000000000000000000000000000..9eb5406a13b1efa30f3ab0d15af0f50ad550779c GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hU$@N{tuskoK&=l_3uX0rn)PIM?Sh8*wkm33g)_~25-&zsq69=%{=WD!u_#O=^^ z!E_OGtY)ByGXqmcr^s1@>5A3-3Jo(nF7})iXkbW6S|Gr{B5*=qODHxvC lB-uA_CQ$3dOK*4t5*VJ@24qjx{tF5b22WQ%mvv4FO#rfSUIPFC literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/pen.png b/src/com/jotuntech/sketcher/client/images/pen.png new file mode 100755 index 0000000000000000000000000000000000000000..f5fe9ba6a90693312e757c11c5fbcf46e67f5aab GIT binary patch literal 2934 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 KMNUMnLSTZV@~m?J literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/pin_stuck.png b/src/com/jotuntech/sketcher/client/images/pin_stuck.png new file mode 100755 index 0000000000000000000000000000000000000000..3a914bed92e312901ba0c09adccde607f6e24cb5 GIT binary patch literal 614 zcmV-s0-61ZP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ->`6pHRCwCdlRIdWaTLXW|1a;>`k7d(X>4OGu~-yANyNISgCbReodV)x5Zpv) ztKw@=p~Q+fM8(KD}Y+p03x;N#ETIQi*YfD8&`sAW? zvD5=01UqicbXCih$sU*8qvgvu9W7iQwDUCs)8BL=UuMrfI^w*(h^v#(6Aam^<A=Qyi45ct?>Vv8gDzn<3yK0( zlY+}(Q(CO1Ktlqvy1IYB3zaGeqZy|P9tBpZ(A^FzTET1pgCbfR5|ndu(h6*GgHViI z8jq0y3<7cm(1CcSKq~$7ZbJesI`Jm-x`cl@bZqc3_wgC~ho3MJ)p-{$^K|Nm{`}?J ztNG-oXbmK#tabaggD!XA!hHCHlu0RN@IhL7kKdM^drr!=`%cO317|J*_{X9(Ox*?R zgQ2AMd2%pxemEbvHqEbGkuKi=YVS@gcGpy8VgBa7L8{Ba_8Tz(Vt0;iHMOlAGA(oX zgvp{+^VxeAyX*e<7vYkBEJ|dgkA^||KcDH(0Gox)PJoLVoB#j-07*qoM6N<$f-2<{ AG5`Po literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/rectangle.png b/src/com/jotuntech/sketcher/client/images/rectangle.png new file mode 100755 index 0000000000000000000000000000000000000000..15e8c9c1df2828e1c8c478fd5798e15d4209f93a GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hT@dAc};RNP8RNl5r{-hq*ULqSZS@aN6!O(w6sI*k}u1caGe859~c%*ZDsG|!%6 bU}R&s@sw5m>uwVvpsfs^u6{1-oD!M?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hT5^>lFzskoK&=l_3uW@Y8a^=w8A0s6`g3>y!a6f+yj3vfGbln@eYzqH6fhv`UD zz*dF542(xw616;-=C94DX<%?NY?#=PmcyXXFk{2aK7EG^x(pl&O>qiOlo}Wgy<$y@ zVPa-rY`MCm&||1Ey>MC@S|aHxp=An$8zrq9SCa4#Z3#)YSWqQYj+|GO94Rq-fxGqVVs^pw0S3bNjN(!>*67z7-8rlh4eFfcQGJFY7d TD|_ob&_fKKu6{1-oD!M?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx-l>?YI(XihE&{2`t$$4J+rd%<9aqDh5&tK2ZoIYOp2Ke?FG1*HW~J1C7qc?Kv=Ub?T8YafP;>~ zF?}<(w)1azc%s07xvbQ0HL2x`Fws(H27k1{Q%s-ghoc z5Nt{^+#(>-nv|H~(d;CXq2a(_n7HGk{jBK!i&7VF4L0VJ9^5H@b0SAwlOk!P47fjTy8F)$uE;&6fg2UABQqe8<5i4XF+DnQ&J_Cp*ryw)z$3Gajl+Q9CcpW& UBxPGaUz@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ;zDYzuRCwBA{Qv(y10y5je+DuDP%k4u0FK5W1z-?} zfm87R?-Xr|miD5%Y@>$|CL|=SalA%!hbBJ_>Lkk2fUHbR9mJ*1Eq;+n|g35qJq9P)7J$Qf z#{mEYVE|g-{`WMPpqrZbs}3w}^2!HjvN)*N2wiX{StgPUxV~#}LSY?6i5iED03W&n z2y6fYGZOw zD%{Dy01!YB16Y|E7e=jW;+A(3xekH4&u{ABdwD(jm>xRFmX`asPn=ly%h?pqYR$_0vo`>^q+y71SM{AA!^`^F%|`I$lb?j^W$ij|@M6mi+qvjbRc{FF*i6 z3;_C{i}@b|2N3iB{|yYEKS2B&Nd9E__y0SP{SAn}0`V6h|1;3NpTT^P0RRC6HUQ`V za5ysj1rlHy6w-g8_#c7|4opz|gQEu=1^@vB2}BV4I}m?kWMKFT)chHUK^_E#AXc7Qa{inXJ!!)W^QFrXqYjq|d-2a5RpAL!oOg1G2)62Yi|=J4MVm7+542V#Ola Ur*3sB0lJ03)78&qol`;+01>4^YybcN literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/size.png b/src/com/jotuntech/sketcher/client/images/size.png new file mode 100755 index 0000000000000000000000000000000000000000..76ba2faf71a60de3e50d7f08cb4876f358ed9d29 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hUG^>lFzskoK&=l_3uW>p4-h8YPwZf?i^EBLHpWMDkPblIl#RmcuUhXWpKK>VgN zJ4;>)-4U1}p?H{qse^SH$Fj_WO{@hcA0O`*E)jHK*r;%u#rVm=W_FFPghw}cm^c)~ zYR=8JELNLQ_vs0zUo!&}$6jy2HsBMyo{Iky;3$rNV2a0?5I1F>8J4i(9aA_)fR z%?FNliyK~HU=dK>cZTJ&`ib)j6XwtFpJ>I%)G=|!oeq6PMxfNvo019#7+hlN(zL6t R@c;vW!PC{xWt~$(6969De^LMd literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/sketcherlogo.png b/src/com/jotuntech/sketcher/client/images/sketcherlogo.png new file mode 100755 index 0000000000000000000000000000000000000000..8b984c2600081ce026f7f8de24bfe1868fd34166 GIT binary patch literal 982 zcmV;{11bE8P)LIq20000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#cu7P-RCwC#T8ojKFbuVCQUE2m1eZWM zpaePy9WbfDCG4aE(g8^Yqyv%)xDIq?R?g_O@&}gP++^^K&b!981b#?Q+S34_&UUs( zwNL9Gt)thCmoHwdmsc-ez5M!s_fex=uji3|jP}=WT|L;1R9@V58Z2H$(uX+)zguDb zGo?j4>nG|2Cb@aiIyxqOF4;$A_D?hFnP+_@ zxc1C}f?o0zkO3bQ=qR0k1i;?)0bnmIbb4=~etY?heX2EHzTX+D4fcQTSij1TXHyI& zsixUFEnL@ZJT{iIN&jQ&rTO!C*-4gb?7v~}L!9znPYpZBxgtQd1a!1{o~68(QceK* z+I}98Bv=Akn>ajR0H6<5Cjh4zIQ5+XS4?kiZ!KKc>_yRq0Ltm1Z2#TMI0`O%5ki>5 z@eo!6XXAXV$8lg`%;L3?TnqY!2*;X*kUS7OLUK|IoUS7KNFjMdab(VABN5*cO80zfUYl&R}q#aumfIi{; zHj)$spjTv_-2gBsC;>o**l#8Gu%q;lE4iq`J+k(10a%ZV3@cB}#KVj%d~yS%dYNNh zLLneq0@AslOhU^kj@dd1wp%ux36x6|>(5u0QImM-cjr(k!yJ@ddfCVq(81I<` z09wYGLdY}3D;Rg96U{L7cqJ>sRc*saHKPQAR9!_d@uyy3E5bJkpGZOn23&^0gD3Do|)fcvPgaYyUy7j+1>;g0Qx)2u6MjM-v9sr07*qoM6N<$ Ef|X~y9RL6T literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/smoothing.png b/src/com/jotuntech/sketcher/client/images/smoothing.png new file mode 100755 index 0000000000000000000000000000000000000000..805b8fe18b12c9f14b3f1518e3cdfce0f7e8f658 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hVB_H=O!skoK&=l_3uW>p4-h6slvv(588j9f!PM0}Wa(^)ta#AZCWx;mUQtE8ZS z;W9g)3`4R215h+6mo>93(}|6N@rX-j8c0Zujf>HN!7wn%nuCEw;HVx*$Sa4Pv4LUH z4OXzSw+ajb4kEjO_RP@OD9ggY)WI4aq$&nf&0X{?BO^oMCPM>5(h?JEW)=ws-qpGf Ur`EMi0y>ky)78&qol`;+0992=>Hq)$ literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/spacing.png b/src/com/jotuntech/sketcher/client/images/spacing.png new file mode 100755 index 0000000000000000000000000000000000000000..ac9920e2f8de7bcb5077ab243d38394c3216e772 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hT@db&7?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hVB@^op4-h6o21Wo6~aWemFMEF21I66yv96BaI9$k@{_XUnzB zah>yW$D$MK*fUslrVa>9pGW$Q0R(f5O5IL z4K!7wjM0H1@C{P~!=f9k42&)txfz%`lEfKU1di!s)EHJxD*aOjzmmfpa?%n;J4 Wvik`0tt6l;89ZJ6T-G@yGywqf$4$uq literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/tools.png b/src/com/jotuntech/sketcher/client/images/tools.png new file mode 100755 index 0000000000000000000000000000000000000000..6d2d690e7c225eec0f3228353a26e022558beb57 GIT binary patch literal 342 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 nQD=;vOwC?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hU$_jGX#skoK&=l_3uW>p4-h6slvtHalOn5F*u@{;H4*RMScj7OM+chvp0iqvD^ zP*AIx#K*_S!V6-uaWOhD1m-X}Fc>~8wKHhrsAN`XnDHT#jajD6#Kfc_vwC$g8#^>GGE9pyNPAJO-VJm*gQu&X%Q~loCIH8CRe=Bi literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/water2.png b/src/com/jotuntech/sketcher/client/images/water2.png new file mode 100755 index 0000000000000000000000000000000000000000..3e6c9833f0d0b0b6ad507ca731cdf4f5add49dcb GIT binary patch literal 2985 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 Y0N1=;cG)Ce?*IS*07*qoM6N<$g7fol+yDRo literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/wipe.png b/src/com/jotuntech/sketcher/client/images/wipe.png new file mode 100755 index 0000000000000000000000000000000000000000..a1c6926d9f99cc5dfde77690507789eacb464705 GIT binary patch literal 2988 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 packetArray.length - 1) { + /** Packet overflow */ + + /** Decode the N packets up to, and including, the overflowed packet */ + expectedPacketNumber = packetNumber - packetArray.length + 1; + newestPacketNumber = packetNumber; + + /** Place overflowing packet at head of the queue */ + packetArray[packetNumber % packetArray.length] = packetBuffer; + + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_PACKET_OVERFLOW, channelKey)); + } + } else if(packetNumber < expectedPacketNumber) { + /** Packet arrived too late and is dropped */ + } else { + /** Packet has arrived in order. */ + packetArray[packetNumber % packetArray.length] = packetBuffer; + if(packetNumber > newestPacketNumber) { + /** Tell decoder to expect newer packets. */ + newestPacketNumber = packetNumber; + } + } + } + + public void process() throws IOException { + if(lastPlayTime < System.currentTimeMillis() - 10000) { + dead = true; + return; + } + + /** Hold off playback until we are buffered up */ + if(expectedPacketNumber == -1 || (buffering && newestPacketNumber - expectedPacketNumber < packetArray.length - 1)) { + if(listener != null) { + int bufferPercent = expectedPacketNumber == -1 ? 0 : Math.max(0, ((newestPacketNumber - expectedPacketNumber) * 200) / packetArray.length); + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_PACKET_BUFFERING, channelKey, bufferPercent)); + } + return; + } + + buffering = false; + + /** Attempt to decode packets if there is room for them in the voice mixer buffer. */ + while(voiceMixer.available(channelKey) >= SPEEX_FRAME_BYTES) { + /** Look for the next expected packet */ + ByteBuffer packetBuffer = packetArray[expectedPacketNumber % packetArray.length]; + if(packetBuffer == null) { + /** We have no packet. What to do? */ + if(voiceMixer.available(channelKey) >= voiceMixer.getBufferSize() / 2) { + /** Playback buffer is half empty, so we "decode" a lost packet. */ + decoder.processData(true); + + /** Reduce quality average for missing packets */ + qualityPercent -= qualityPercent * 0.1f; + + if(expectedPacketNumber > newestPacketNumber) { + /** Packet underflow */ + buffering = true; + expectedPacketNumber = -1; + if(listener != null) { + int bufferPercent = Math.max(0, ((newestPacketNumber - expectedPacketNumber) * 200) / packetArray.length); + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_PACKET_UNDERFLOW, channelKey, bufferPercent, (int) qualityPercent)); + } + break; + } else { + /** Packet missing */ + ++expectedPacketNumber; + if(listener != null) { + int bufferPercent = Math.max(0, ((newestPacketNumber - expectedPacketNumber) * 200) / packetArray.length); + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_PACKET_LOST, channelKey, bufferPercent, (int) qualityPercent)); + } + } + } else { + /** Playback buffer is good, so we wait for the packet. */ + break; + } + } else { + /** We have a packet and we retrieve it. */ + byte[] packetBufferArray = packetBuffer.array(); + int dataOffset = packetBuffer.arrayOffset() + packetBuffer.position(); + int dataLength = packetBuffer.remaining(); + + /** Decode the packet. */ + decoder.processData(packetBufferArray, dataOffset, dataLength); + + /** Erase packet and increment counter */ + packetArray[expectedPacketNumber++ % packetArray.length] = null; + + /** Update last play time */ + lastPlayTime = System.currentTimeMillis(); + + if(listener != null) { + int bufferPercent = ((newestPacketNumber - expectedPacketNumber) * 200) / packetArray.length; + qualityPercent += (100 - qualityPercent) * 0.1f; + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_PACKET_RECEIVED, channelKey, bufferPercent, (int) qualityPercent)); + } + } + + /** Read the decoded packet into audio buffer */ + int audioByteLength = decoder.getProcessedDataByteSize(); + if(audioBuffer == null || audioByteLength > audioBuffer.capacity()) { + audioBuffer = ByteBuffer.allocate(audioByteLength); + audioBuffer.order(ByteOrder.LITTLE_ENDIAN); + System.err.println("Created " + audioByteLength + " byte audio buffer."); + } + audioBuffer.clear(); + decoder.getProcessedData(audioBuffer.array(), audioBuffer.arrayOffset() + audioBuffer.position()); + audioBuffer.position(audioBuffer.position() + audioByteLength); + audioBuffer.flip(); + + if(listener != null) { + /** Measure peak volume of audio buffer */ + int peak = 0; + for(int i = audioBuffer.position(); i < audioBuffer.limit(); i += 2) { + int absSample = Math.abs(audioBuffer.getShort(i)); + if(absSample > peak) { + peak = absSample; + } + } + + /** Notify listener of peak volume */ + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_PACKET_VOLUME, channelKey, peak)); + } + + + /** Write audio buffer to voice mixer. */ + voiceMixer.write(channelKey, audioBuffer); + } + } + + public boolean isDead() { + return dead; + } + + public void setListener(VoiceListener listener) { + this.listener = listener; + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/client/voice/VoiceClient.java b/src/com/jotuntech/sketcher/client/voice/VoiceClient.java new file mode 100755 index 0000000..0df3c45 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/VoiceClient.java @@ -0,0 +1,310 @@ +package com.jotuntech.sketcher.client.voice; + +import java.io.IOException; +import java.net.DatagramSocket; +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.channels.DatagramChannel; +import java.util.HashMap; +import java.util.Map; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.TargetDataLine; + +import org.xiph.speex.SpeexEncoder; + + +public class VoiceClient extends Thread { + private static final int bufferSize = VoiceChannel.SPEEX_FRAME_BYTES * 4; + private DatagramChannel channel; + private VoiceMixer voiceMixer; + private Map voiceChannels; + private Integer peerKey; + private AudioFormat targetFormat; + private TargetDataLine target; + private SpeexEncoder encoder; + private ByteBuffer recordBuffer; + private InetSocketAddress serverAddress; + private int packetNumber; + private boolean bigEndian = false; + private float gain, gain2; + private VoiceListener listener; + private Highpass24 highpass; + private VoiceDetector detector; + + public VoiceClient(InetSocketAddress serverAddress, Integer peerKey) { + super("VoiceClient"); + setPriority(Thread.MAX_PRIORITY); + voiceChannels = new HashMap(); + this.serverAddress = serverAddress; + this.peerKey = peerKey; + packetNumber = 0; + bigEndian = false; + targetFormat = new AudioFormat(16000, 16, 1, true, false); + gain = 1f; + gain2 = 1f; + } + + public void run() { + try { + channel = DatagramChannel.open(); + channel.configureBlocking(true); + DatagramSocket socket = channel.socket(); + socket.bind(new InetSocketAddress(0)); + System.err.println("Bound to address " + socket.getLocalAddress().toString() + ":" + socket.getLocalPort()); + channel.configureBlocking(false); + + voiceMixer = new VoiceMixer(VoiceChannel.SPEEX_FRAME_BYTES * 16); + + System.err.println("Voice client ready."); + + while(!interrupted()) { + sleep(10); + + if(target == null) { + try { + target = AudioSystem.getTargetDataLine(targetFormat); + } catch(IllegalArgumentException e) { + System.err.println("Mono 16-bit 16000 Hz little-endian target data line not supported."); + System.err.println("Java exception:"); + e.printStackTrace(); + System.err.println("Attempting to open big-endian target data line instead."); + targetFormat = new AudioFormat(16000, 16, 1, true, true); + try { + target = AudioSystem.getTargetDataLine(targetFormat); + bigEndian = true; + } catch(IllegalArgumentException e2) { + System.err.println("Big-endian target data line not supported either."); + System.err.println("Java exception:"); + e.printStackTrace(); + System.err.println("Continuing in playback-only mode!"); + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_WARN, "The sound device does not support the required format.")); + } + } + } + + if(target != null) { + target.open(targetFormat, VoiceChannel.SPEEX_FRAME_BYTES * 4); + target.start(); + System.err.println("Target data line successfully opened and started."); + } + } + + if(target != null) { + if(recordBuffer == null) { + recordBuffer = ByteBuffer.allocate(bufferSize); + if(bigEndian) { + recordBuffer.order(ByteOrder.BIG_ENDIAN); + System.err.println("Allocated " + bufferSize + " byte big-endian recording buffer."); + } else { + recordBuffer.order(ByteOrder.LITTLE_ENDIAN); + System.err.println("Allocated " + bufferSize + " byte little-endian recording buffer."); + } + highpass = new Highpass24(); + detector = new VoiceDetector(16000f, 0.1f); + } + + recordBuffer.clear(); + + while(target.available() >= VoiceChannel.SPEEX_FRAME_BYTES && recordBuffer.remaining() >= VoiceChannel.SPEEX_FRAME_BYTES) { + int bytesRead = target.read(recordBuffer.array(), recordBuffer.arrayOffset() + recordBuffer.position(), VoiceChannel.SPEEX_FRAME_BYTES); + recordBuffer.position(recordBuffer.position() + bytesRead); + } + + recordBuffer.flip(); + + if(recordBuffer.remaining() >= VoiceChannel.SPEEX_FRAME_BYTES) { + if(bigEndian) { + for(int i = recordBuffer.position(); i < recordBuffer.limit(); i += 2) { + byte a = recordBuffer.get(i); + byte b = recordBuffer.get(i + 1); + recordBuffer.put(i, b); + recordBuffer.put(i + 1, a); + } + } + + float minimumChange = 0.01f; + //float avgChange = 0f; + //float numSamples = recordBuffer.remaining() / 2f; + + int peakSample = 0; + + for(int i = recordBuffer.position(); i < recordBuffer.limit(); i += 2) { + int rawSample = recordBuffer.getShort(i); + int absSample = Math.abs(rawSample); + + if(absSample > peakSample) { + peakSample = absSample; + } + + /** Get sample and perform 100 Hz highpass */ + float sample = highpass.process(rawSample / 32767f, 0.0125f); + + /** Detect voice activity */ + float change = detector.process(sample); + //avgChange += change; + + /** Apply automatic gain */ + float gainSample = sample * gain; + + /** Absolute sample with gain applied */ + float absGainSample = Math.abs(gainSample); + + if(gain > 1f && absGainSample >= 1f) { + /** Brickwall limit output to 0dB */ + gain /= absGainSample; + gainSample = sample * gain; + } else if(gain > 1f && absGainSample > 1f) { + /** 2 second release */ + gain -= gain * 0.00003125f; + } else if(gain < 8f && absGainSample > 0 && absGainSample < 1f) { + /** 2 second attack */ + gain += gain * 0.00003125f; + } + + if(gain2 < 1f && change > minimumChange) { + /** 1/16th second attack */ + gain2 += (1f - gain2) * 0.001f; + } else if(gain2 > 0.03125f && change < minimumChange) { + /** 1 second release */ + gain2 -= gain2 * 0.000125f; + } + + /** Apply voice activity gain */ + gainSample *= gain2; + + /** Clip sample */ + if(gainSample < -1f) { + gainSample = -1f; + } else if(gainSample > 1f) { + gainSample = 1f; + } + + recordBuffer.putShort(i, (short) (gainSample * 32767f)); + } + + //avgChange /= numSamples; + + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_PACKET_VOLUME, peerKey, peakSample)); + } + + //System.err.println("Gain = " + gain + ", Gain2 = " + gain2 + ", µChange = " + (long) (avgChange * 1000000f)); + + while(recordBuffer.remaining() >= VoiceChannel.SPEEX_FRAME_BYTES) { + if(encoder == null) { + /** Start encoder */ + encoder = new SpeexEncoder(); + encoder.init(1, 4, 16000, 1); + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_START, null, target.getBufferSize())); + } + System.err.println("Speex encoder initialized and started."); + } + + if(encoder.processData(recordBuffer.array(), recordBuffer.arrayOffset() + recordBuffer.position(), VoiceChannel.SPEEX_FRAME_BYTES)) { + recordBuffer.position(recordBuffer.position() + VoiceChannel.SPEEX_FRAME_BYTES); + int bytesProcessed = encoder.getProcessedDataByteSize(); + ByteBuffer packetBuffer = ByteBuffer.allocate(bytesProcessed + 8); + packetBuffer.putInt(peerKey); + packetBuffer.putInt(packetNumber); + encoder.getProcessedData(packetBuffer.array(), packetBuffer.arrayOffset() + packetBuffer.position()); + packetBuffer.position(packetBuffer.position() + bytesProcessed); + packetBuffer.flip(); + int bytesSent = channel.send(packetBuffer, serverAddress); + if(bytesSent > 0) { + ++packetNumber; + } + } else { + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_ERROR, "An unknown error occurred while encoding a voice packet.")); + } + System.err.println("An unknown error occurred while encoding a voice packet."); + return; + } + } + } + } /** End of recording specific section */ + + ByteBuffer packetBuffer = ByteBuffer.allocate(VoiceChannel.SPEEX_FRAME_BYTES + 8); + for(SocketAddress address = channel.receive(packetBuffer); address != null; address = channel.receive(packetBuffer)) { + packetBuffer.flip(); + if(packetBuffer.remaining() > 4) { + Integer voiceChannelKey = packetBuffer.getInt(); + VoiceChannel voiceChannel = voiceChannels.get(voiceChannelKey); + if(voiceChannel == null) { + voiceChannel = new VoiceChannel(voiceMixer, voiceChannelKey); + voiceChannels.put(voiceChannelKey, voiceChannel); + System.err.println("Creating new voice channel #" + voiceChannelKey); + if(listener != null) { + voiceChannel.setListener(listener); + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_CHANNEL_NEW, voiceChannelKey)); + } + } + + voiceChannel.packet(packetBuffer); + } + packetBuffer = ByteBuffer.allocate(VoiceChannel.SPEEX_FRAME_BYTES + 8); + } + + for(VoiceChannel voiceChannel : voiceChannels.values()) { + voiceChannel.process(); + } + + /** Remove dead voice channels, one at a time, to avoid ConcurrentModificationException */ + for(Map.Entry e : voiceChannels.entrySet()) { + if(e.getValue().isDead()) { + System.err.println("Voice channel #" + e.getKey() + " is dead and was dropped."); + voiceMixer.drop(e.getKey()); + voiceChannels.remove(e.getKey()); + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_CHANNEL_DEAD, e.getKey())); + } + break; + } + } + + if(!voiceMixer.mix()) { + break; + } + } + } catch (IOException e) { + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_ERROR, e.getMessage())); + } + } catch (InterruptedException e) { + + } catch (LineUnavailableException e) { + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_ERROR, "The sound device is busy.")); + } + } + + voiceMixer.close(); + + if(target != null) { + target.stop(); + target.close(); + } + + try { channel.close(); } catch(IOException e) { } + + if(listener != null) { + listener.voiceEvent(new VoiceEvent(VoiceEvent.TYPE_STOP)); + } + + System.err.println("Voice client terminated."); + } + + public void setListener(VoiceListener listener) { + this.listener = listener; + for(VoiceChannel channel : voiceChannels.values()) { + channel.setListener(listener); + } + } +} diff --git a/src/com/jotuntech/sketcher/client/voice/VoiceDetector.java b/src/com/jotuntech/sketcher/client/voice/VoiceDetector.java new file mode 100755 index 0000000..072ced7 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/VoiceDetector.java @@ -0,0 +1,39 @@ +package com.jotuntech.sketcher.client.voice; + +import java.util.Arrays; + +/** Class for detecting voice activity. Calculates a moving root-mean-square + * and stores measurements in a delay line. Returns the absolute difference + * between the current and oldest RMS measurements. The length of the + * delay line and the moving average is determined by the 'windows' variable, + * specified in seconds (fraction of the sample rate). + */ + +public class VoiceDetector { + private float delayLine[]; + private float alpha; + private float mean; + + public VoiceDetector(float sampleRate, float window) { + delayLine = new float[(int) (sampleRate * window)]; + Arrays.fill(delayLine, 0f); + alpha = 1f / delayLine.length; + mean = 0f; + } + + public float process(float x) { + /** Shift delay line backwards by one sample */ + for(int i = 1; i < delayLine.length; i++) { + delayLine[i - 1] = delayLine[i]; + } + + /** Calculate moving Root-Mean */ + mean += (Math.sqrt(Math.abs(x)) - mean) * alpha; + + /** Place at head of delay line */ + delayLine[delayLine.length - 1] = mean; + + /** Return difference of Root-Means */ + return Math.abs(mean - delayLine[0]); + } +} diff --git a/src/com/jotuntech/sketcher/client/voice/VoiceEvent.java b/src/com/jotuntech/sketcher/client/voice/VoiceEvent.java new file mode 100755 index 0000000..e7502f3 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/VoiceEvent.java @@ -0,0 +1,120 @@ +package com.jotuntech.sketcher.client.voice; + +public class VoiceEvent { + /** No-operation type */ + public final static int TYPE_NONE = 0; + + /** Sent after voice client and recording line is running */ + public final static int TYPE_START = 10; + + /** Sent after voice client has shut down completely */ + public final static int TYPE_STOP = 20; + + /** Sent if there was an error starting the recording or playback lines */ + public final static int TYPE_ERROR = 30; + + /** Sent if there was a non-critical error starting the recording or playback lines */ + public final static int TYPE_WARN = 31; + + /** Sent when a channel is receiving too many packets (non-critical) */ + public final static int TYPE_PACKET_OVERFLOW = 40; + + /** Sent when a channel is receiving too few packets (non-critical) */ + public final static int TYPE_PACKET_UNDERFLOW = 50; + + /** Sent when a channel packet is received normally */ + public final static int TYPE_PACKET_RECEIVED = 60; + + /** Sent when a channel packet is lost (non-critical) */ + public final static int TYPE_PACKET_LOST = 70; + + /** Sent when a channel is receiving packets for buffering */ + public final static int TYPE_PACKET_BUFFERING = 80; + + /** Sent when a new voice channel is added */ + public final static int TYPE_CHANNEL_NEW = 90; + + /** Sent when a voice channel dies */ + public final static int TYPE_CHANNEL_DEAD = 100; + + /** Volume, sent when a packet is decoded */ + public final static int TYPE_PACKET_VOLUME = 110; + + private int type; + private Integer channel; + private int data1; + private int data2; + private String errorMessage; + + public VoiceEvent() { + type = TYPE_NONE; + } + + public VoiceEvent(int type) { + this.type = type; + } + + public VoiceEvent(int type, String errorMessage) { + this.type = type; + this.errorMessage = errorMessage; + } + + public VoiceEvent(int type, Integer channel) { + this.type = type; + this.channel = channel; + } + + public VoiceEvent(int type, Integer channel, int data1) { + this.type = type; + this.channel = channel; + this.data1 = data1; + } + + public VoiceEvent(int type, Integer channel, int data1, int data2) { + this.type = type; + this.channel = channel; + this.data1 = data1; + this.data2 = data2; + } + + public VoiceEvent(int type, Integer channel, String errorMessage) { + this.type = type; + this.channel = channel; + this.errorMessage = errorMessage; + } + + /** Returns a type from list of constants above */ + public int getType() { + return type; + } + + /** Channel number the event is coming from or null if none */ + public Integer getChannel() { + return channel; + } + + /** Error message associated with event or null if none */ + public String getErrorMessage() { + return errorMessage; + } + + /** Buffer size percentage or 0 if none */ + public int getBufferPercent() { + return data1; + } + + /** Recording buffer size in bytes, or 0 if none */ + public int getBufferSize() { + return data1; + } + + /** Moving average of quality (packet received vs packet lost) percentage or 0 if none */ + public int getQualityPercent() { + return data2; + } + + /** Peak volume of this packet */ + public int getVolume() { + return data1; + } +} diff --git a/src/com/jotuntech/sketcher/client/voice/VoiceListener.java b/src/com/jotuntech/sketcher/client/voice/VoiceListener.java new file mode 100755 index 0000000..704c3fd --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/VoiceListener.java @@ -0,0 +1,6 @@ +package com.jotuntech.sketcher.client.voice; + + +public interface VoiceListener { + void voiceEvent(VoiceEvent e); +} diff --git a/src/com/jotuntech/sketcher/client/voice/VoiceMixer.java b/src/com/jotuntech/sketcher/client/voice/VoiceMixer.java new file mode 100755 index 0000000..50cfb9c --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/VoiceMixer.java @@ -0,0 +1,172 @@ +package com.jotuntech.sketcher.client.voice; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.HashMap; +import java.util.Map; + +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.SourceDataLine; + +public class VoiceMixer { + private SourceDataLine source; + private AudioFormat sourceFormat; + private int bufferSize; + private Map channelMap; + private ByteBuffer mixBuffer; + + public VoiceMixer(int bufferSize) { + sourceFormat = new AudioFormat(16000, 16, 1, true, false); + channelMap = new HashMap(); + this.bufferSize = bufferSize; + } + + public void write(Integer channelKey, ByteBuffer data) { + ByteBuffer channel = channelMap.get(channelKey); + if(channel == null) { + /** Open new channel */ + channel = ByteBuffer.allocate(bufferSize); + channel.order(ByteOrder.LITTLE_ENDIAN); + channelMap.put(channelKey, channel); + } + channel.put(data); + } + + public int available(Integer channelKey) { + ByteBuffer channel = channelMap.get(channelKey); + if(channel == null) { + return bufferSize; + } + + return channel.remaining(); + } + + public void drop(Integer channelKey) { + channelMap.remove(channelKey); + } + + public boolean mix() { + if(channelMap.size() == 0) { + /** No mixing or playback takes place unless we have channels */ + return true; + } + + /** Attempt to mix when playback buffer is half empty */ + if(source == null || source.available() >= source.getBufferSize() / 2) { + /** We can not mix more audio than we can write to the source */ + int maximumWrite = source == null ? bufferSize : source.available(); + int underflows = 0; + + /** Scan available channels */ + for(Map.Entry e : channelMap.entrySet()) { + ByteBuffer channel = e.getValue(); + + /** Flip channel for reading */ + channel.flip(); + + /** Shorten mix to shortest individual channel, excluding too short ones */ + if(channel.remaining() <= bufferSize / 2) { + /** Channel is underflowing and we will not include it in the mix */ + //System.err.println("Channel " + e.getKey() + " underflowing."); + ++underflows; + } else if(channel.remaining() < maximumWrite) { + /** Channel has the least remaining audio and we must shorten the mix */ + maximumWrite = channel.remaining(); + } + } + + if(underflows == channelMap.size()) { + /** Do not write anything if all channels are empty */ + maximumWrite = 0; + } + + if(maximumWrite > 0) { + /** Prepare the mix buffer */ + if(mixBuffer == null) { + mixBuffer = ByteBuffer.allocate(bufferSize); + mixBuffer.order(ByteOrder.LITTLE_ENDIAN); // Speex uses 16-bit little-endian samples + } + mixBuffer.clear(); + mixBuffer.limit(maximumWrite); + + boolean firstChannel = true; + for(ByteBuffer channel : channelMap.values()) { + /** Ignore underflowing channels */ + if(channel.remaining() > bufferSize / 2) { + /** Position buffer for mixing a new channel */ + mixBuffer.position(0); + + for(int i = 0; i < maximumWrite; i += 2) { + /** Mix samples additively */ + int sample = channel.getShort(); + if(firstChannel) { + mixBuffer.putShort((short) sample); + } else { + sample += mixBuffer.getShort(i); + /** Handle clipping */ + if(sample > 32767) { + mixBuffer.putShort((short) 32767); + } else if(sample < -32768) { + mixBuffer.putShort((short) -32768); + } else { + /** Write mixed sample to mix buffer */ + mixBuffer.putShort((short) sample); + } + } + } + + firstChannel = false; + } + } + + /** Flip mix buffer for reading (i.e. writing to source) */ + mixBuffer.flip(); + + if(mixBuffer.remaining() > 0) { + if(source == null) { + try { + /** Start source data line */ + System.err.println("Voice mixer opening source data line for playback."); + source = AudioSystem.getSourceDataLine(sourceFormat); + source.open(sourceFormat, bufferSize); + source.start(); + bufferSize = source.getBufferSize(); + } catch (LineUnavailableException e) { + System.err.println("Voice mixer unable to open target data line."); + System.err.println("Java exception:"); + e.printStackTrace(); + return false; + } + } + + /** Write mix to source */ + source.write(mixBuffer.array(), mixBuffer.arrayOffset(), mixBuffer.limit()); + } + } + + /** Prepare channels, previously flipped under scan, for writing again */ + for(ByteBuffer channel : channelMap.values()) { + channel.compact(); + } + } + + return true; + } + + public void close() { + if(source != null) { + source.stop(); + source.close(); + } + } + + public int getBufferSize() { + if(source == null) { + return bufferSize; + } else { + return source.getBufferSize(); + } + } +} diff --git a/src/com/jotuntech/sketcher/client/voice/aec/AEC.java b/src/com/jotuntech/sketcher/client/voice/aec/AEC.java new file mode 100755 index 0000000..36efa95 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/aec/AEC.java @@ -0,0 +1,237 @@ +package com.jotuntech.sketcher.client.voice.aec; + +public class AEC { + /* dB Values */ + final static float M0dB = 1.0f; + final static float M3dB = 0.71f; + final static float M6dB = 0.50f; + final static float M9dB = 0.35f; + final static float M12dB = 0.25f; + final static float M18dB = 0.125f; + final static float M24dB = 0.063f; + + /* dB values for 16bit PCM */ + /* MxdB_PCM = 32767 * 10 ^(x / 20) */ + final static float M10dB_PCM = 10362.0f; + final static float M20dB_PCM = 3277.0f; + final static float M25dB_PCM = 1843.0f; + final static float M30dB_PCM = 1026.0f; + final static float M35dB_PCM = 583.0f; + final static float M40dB_PCM = 328.0f; + final static float M45dB_PCM = 184.0f; + final static float M50dB_PCM = 104.0f; + final static float M55dB_PCM = 58.0f; + final static float M60dB_PCM = 33.0f; + final static float M65dB_PCM = 18.0f; + final static float M70dB_PCM = 10.0f; + final static float M75dB_PCM = 6.0f; + final static float M80dB_PCM = 3.0f; + final static float M85dB_PCM = 2.0f; + final static float M90dB_PCM = 1.0f; + + final static float MAXPCM = 32767.0f; + + /* Design final staticants (Change to fine tune the algorithms */ + + /* The following values are for hardware AEC and studio quality + * microphone */ + + /* maximum NLMS filter length in taps. A longer filter length gives + * better Echo Cancellation, but slower convergence speed and + * needs more CPU power (Order of NLMS is linear) */ + final static int NLMS_LEN = 80 * 8; + + /* convergence speed. Range: >0 to <1 (0.2 to 0.7). Larger values give + * more AEC in lower frequencies, but less AEC in higher frequencies. */ + final static float Stepsize = 0.7f; + + /* minimum energy in xf. Range: M70dB_PCM to M50dB_PCM. Should be equal + * to microphone ambient Noise level */ + final static float Min_xf = M75dB_PCM; + + /* Double Talk Detector Speaker/Microphone Threshold. Range <=1 + * Large value (M0dB) is good for Single-Talk Echo cancellation, + * small value (M12dB) is good for Doulbe-Talk AEC */ + final static float GeigelThreshold = M6dB; + + /* Double Talk Detector hangover in taps. Not relevant for Single-Talk + * AEC */ + final static int Thold = 30 * 8; + + /* for Non Linear Processor. Range >0 to 1. Large value (M0dB) is good + * for Double-Talk, small value (M12dB) is good for Single-Talk */ + final static float NLPAttenuation = M12dB; + + // Extention in taps to reduce mem copies + final static int NLMS_EXT = 10 * 8; + + // block size in taps to optimize DTD calculation + final static int DTD_LEN = 16; + + // Time domain Filters + IIRHP hp00, hp1; // DC-level remove Highpass) + FIRHP13 hp0; // 300Hz cut-off Highpass + IIR1 Fx, Fe; // pre-whitening Highpass for x, e + + // Geigel DTD (Double Talk Detector) + float max_max_x; // max(|x[0]|, .. |x[L-1]|) + int hangover; + // optimize: less calculations for max() + float max_x[]; + int dtdCnt; + int dtdNdx; + + // NLMS-pw + float x[]; // tap delayed loudspeaker signal + float xf[]; // pre-whitening tap delayed signal + float w[]; // tap weights + int j; // optimize: less memory copies + int lastupdate; // optimize: iterative dotp(x,x) + double dotp_xf_xf; // double to avoid loss of precision + double Min_dotp_xf_xf; + float s0avg; + + /* Vector Dot Product */ + private float dotp(float a[], float b[], int boffset) { + float sum0 = 0.0f, sum1 = 0.0f; + int j; + + for (j = 0; j < NLMS_LEN; j += 2) { + // optimize: partial loop unrolling + sum0 += a[j] * b[j + boffset]; + sum1 += a[j + 1] * b[j + 1 + boffset]; + } + return sum0 + sum1; + } + + public float getAmbient() { + return s0avg; + }; + + public void setAmbient(float Min_xf) { + dotp_xf_xf = Min_dotp_xf_xf = NLMS_LEN * Min_xf * Min_xf; + }; + + public AEC() { + hp00 = new IIRHP(); + hp1 = new IIRHP(); + hp0 = new FIRHP13(); + Fx = new IIR1(); + Fe = new IIR1(); + + max_x = new float[NLMS_LEN / DTD_LEN]; + + x = new float[NLMS_LEN + NLMS_EXT]; + xf = new float[NLMS_LEN + NLMS_EXT]; + w = new float[NLMS_LEN]; + + max_max_x = 0.0f; + hangover = 0; + dtdCnt = dtdNdx = 0; + + j = NLMS_EXT; + lastupdate = 0; + s0avg = M80dB_PCM; + setAmbient(Min_xf); + } + + public float nlms_pw(float mic, float spk, boolean update) { + float d = mic; // desired signal + x[j] = spk; + xf[j] = Fx.highpass(spk); // pre-whitening of x + + // calculate error value + // (mic signal - estimated mic signal from spk signal) + float e = d - dotp(w, x, j); + float ef = Fe.highpass(e); // pre-whitening of e + // optimize: iterative dotp(xf, xf) + dotp_xf_xf += (xf[j] * xf[j] - xf[j + NLMS_LEN - 1] * xf[j + NLMS_LEN - 1]); + if (update) { + // calculate variable step size + float mikro_ef = (float) (Stepsize * ef / dotp_xf_xf); + + // update tap weights (filter learning) + int i; + for (i = 0; i < NLMS_LEN; i += 2) { + // optimize: partial loop unrolling + w[i] += mikro_ef * xf[i + j]; + w[i+1] += mikro_ef * xf[i + j + 1]; + } + } + + if (--j < 0) { + // optimize: decrease number of memory copies + j = NLMS_EXT; + System.arraycopy(x, 0, x, j + 1, NLMS_LEN - 1); + System.arraycopy(xf, 0, xf, j + 1, NLMS_LEN - 1); + } + + return e; + } + + public boolean dtd(float d, float x) { + // optimized implementation of max(|x[0]|, |x[1]|, .., |x[L-1]|): + // calculate max of block (DTD_LEN values) + x = Math.abs(x); + if (x > max_x[dtdNdx]) { + max_x[dtdNdx] = x; + if (x > max_max_x) { + max_max_x = x; + } + } + if (++dtdCnt >= DTD_LEN) { + dtdCnt = 0; + // calculate max of max + max_max_x = 0.0f; + for (int i = 0; i < NLMS_LEN/DTD_LEN; ++i) { + if (max_x[i] > max_max_x) { + max_max_x = max_x[i]; + } + } + // rotate Ndx + if (++dtdNdx >= NLMS_LEN/DTD_LEN) dtdNdx = 0; + max_x[dtdNdx] = 0.0f; + } + + // The Geigel DTD algorithm with Hangover timer Thold + if (Math.abs(d) >= GeigelThreshold * max_max_x) { + hangover = Thold; + } + + if(hangover != 0) --hangover; + + return (hangover > 0); + } + + + public float doAEC(int d, int x) { + float s0 = (float)d; + float s1 = (float)x; + + // Mic Highpass Filter - to remove DC + s0 = hp00.highpass(s0); + + // Mic Highpass Filter - telephone users are used to 300Hz cut-off + s0 = hp0.highpass(s0); + + // ambient mic level estimation + s0avg += 1e-4f * (Math.abs(s0) - s0avg); + + // Spk Highpass Filter - to remove DC + s1 = hp1.highpass(s1); + + // Double Talk Detector + boolean update = !dtd(s0, s1); + + // Acoustic Echo Cancellation + s0 = nlms_pw(s0, s1, update); + + // Acoustic Echo Suppression + if (update) { + // Non Linear Processor (NLP): attenuate low volumes + s0 *= NLPAttenuation; + } + + return s0; + } +} diff --git a/src/com/jotuntech/sketcher/client/voice/aec/FIRHP13.java b/src/com/jotuntech/sketcher/client/voice/aec/FIRHP13.java new file mode 100755 index 0000000..dd6cdf8 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/aec/FIRHP13.java @@ -0,0 +1,42 @@ +package com.jotuntech.sketcher.client.voice.aec; + +/* 13 taps FIR Finite Impulse Response filter + * Coefficients calculated with + * www.dsptutor.freeuk.com/KaiserFilterDesign/KaiserFilterDesign.html + */ + +public class FIRHP13 { + private final static float a[] = { + // Kaiser Window FIR Filter, Filter type: High pass + // Passband: 300.0 - 4000.0 Hz, Order: 12 + // Transition band: 100.0 Hz, Stopband attenuation: 10.0 dB + -0.043183226f, -0.046636667f, -0.049576525f, -0.051936015f, + -0.053661242f, -0.054712527f, 0.82598513f, -0.054712527f, + -0.053661242f, -0.051936015f, -0.049576525f, -0.046636667f, + -0.043183226f, 0.0f + }; + + private float z[]; + + public FIRHP13() { + z = new float[14]; + } + + float highpass(float in) { + System.arraycopy(z, 0, z, 1, z.length - 1); + for(int i = a.length - 2; i >= 0; i--) { + z[i + 1] = z[i]; + } + z[0] = in; + + float sum0 = 0.0f, sum1 = 0.0f; + int j; + for (j = 0; j < a.length; j += 2) { + // optimize: partial loop unrolling + sum0 += a[j] * z[j]; + sum1 += a[j + 1] * z[j + 1]; + } + + return sum0 + sum1; + } +} diff --git a/src/com/jotuntech/sketcher/client/voice/aec/IIR1.java b/src/com/jotuntech/sketcher/client/voice/aec/IIR1.java new file mode 100755 index 0000000..78ded82 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/aec/IIR1.java @@ -0,0 +1,24 @@ +package com.jotuntech.sketcher.client.voice.aec; + +/* Recursive single pole IIR Infinite Impulse response filter + * Coefficients calculated with + * http://www.dsptutor.freeuk.com/IIRFilterDesign/IIRFiltDes102.html + */ + +public class IIR1 { + private final static float a0 = 0.105831884f; + private final static float a1 = -0.105831884f; + private final static float b1 = 0.78833646f; + + private float x, y; + + float highpass(float in) { + // Chebyshev IIR filter, Filter type: HP + // Passband: 3700 - 4000.0 Hz + // Passband ripple: 1.5 dB, Order: 1 + float out = a0 * in + a1 * x + b1 * y; + x = in; + y = out; + return out; + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/client/voice/aec/IIR2.java b/src/com/jotuntech/sketcher/client/voice/aec/IIR2.java new file mode 100755 index 0000000..a55d286 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/aec/IIR2.java @@ -0,0 +1,36 @@ +package com.jotuntech.sketcher.client.voice.aec; + +/* Recursive two pole IIR Infinite Impulse Response filter + * Coefficients calculated with + * http://www.dsptutor.freeuk.com/IIRFilterDesign/IIRFiltDes102.html + */ + +public class IIR2 { + private final static float a[] = { 0.29289323f, -0.58578646f, 0.29289323f }; + private final static float b[] = { 1.3007072E-16f, 0.17157288f }; + + private float x[], y[]; + + public IIR2() { + x = new float[2]; + y = new float[2]; + } + + float highpass(float in) { + // Butterworth IIR filter, Filter type: HP + // Passband: 2000 - 4000.0 Hz, Order: 2 + float out = + a[0] * in + + a[1] * x[0] + + a[2] * x[1] - + b[0] * y[0] - + b[1] * y[1]; + + x[1] = x[0]; + x[0] = in; + y[1] = y[0]; + y[0] = out; + + return out; + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/client/voice/aec/IIRHP.java b/src/com/jotuntech/sketcher/client/voice/aec/IIRHP.java new file mode 100755 index 0000000..bbc7e3c --- /dev/null +++ b/src/com/jotuntech/sketcher/client/voice/aec/IIRHP.java @@ -0,0 +1,16 @@ +package com.jotuntech.sketcher.client.voice.aec; + +/* Exponential Smoothing or IIR Infinite Impulse Response Filter */ + +public class IIRHP { + /* Transfer Frequency */ + private final static float a0 = 0.01f; + + private float x; + + float highpass(float in) { + /* Highpass = Signal - Lowpass. Lowpass = Exponential Smoothing */ + x += a0 * (in - x); + return in - x; + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/common/BitmapLayer.java b/src/com/jotuntech/sketcher/common/BitmapLayer.java new file mode 100755 index 0000000..d2bc00e --- /dev/null +++ b/src/com/jotuntech/sketcher/common/BitmapLayer.java @@ -0,0 +1,962 @@ +package com.jotuntech.sketcher.common; + +import java.awt.AlphaComposite; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.image.ImageObserver; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.jotuntech.sketcher.common.filter.Filter; + + +/** + * @author Thor Harald Johansen + * + */ +public class BitmapLayer implements Layer, Copyable, Serializable { + static final long serialVersionUID = 3583655360668336368L; + + private transient final static int HASHMAP_CAPACITY = 768; + private transient final static float SUBPIXEL_THRESHOLD = 16f; + private transient final static float MINIMUM_SPACING = 0.04f; + private transient final static float MINIMUM_RADIUS = 1.5f; + + private transient final static int DATA_TYPE_PIXELS = 1; + private transient final static int DATA_TYPE_CLEAN = 2; + + private String name; + private float opacity; + private transient int blendMode; + private Map tiles; + private transient Iterator> tileIterator = null; + private transient ImageObserver observer; + + private transient BitmapTile currentTile; + private Point currentTilePoint; + + private transient static PixelPacker packer; + private transient static PixelUnpacker unpacker; + + private transient static BitmapTile tempTile = new BitmapTile(); + + public BitmapLayer() { + currentTile = null; + currentTilePoint = new Point(Integer.MAX_VALUE, Integer.MAX_VALUE); + blendMode = AlphaComposite.SRC_OVER; + } + + /** + * Creates a bitmap layer + */ + public BitmapLayer(String name) { + this.name = name; + this.opacity = 1; + this.tiles = new LinkedHashMap(HASHMAP_CAPACITY); + this.currentTile = null; + this.currentTilePoint = new Point(Integer.MAX_VALUE, Integer.MAX_VALUE); + this.blendMode = AlphaComposite.SRC_OVER; + } + + public BitmapLayer(BitmapLayer layer) { + /** Create new tile map */ + this.tiles = new LinkedHashMap(); + /** Iterate through old tile map */ + for(Iterator> i = layer.tiles.entrySet().iterator(); i.hasNext();) { + /** Fetch next tile entry */ + Entry e = i.next(); + + /** Make copy of tile and put in new map */ + this.tiles.put(e.getKey(), new BitmapTile(e.getValue())); + } + + /** Copy other parameters */ + this.name = layer.name; + this.opacity = layer.opacity; + this.blendMode = layer.blendMode; + this.currentTile = layer.currentTile; + this.currentTilePoint = layer.currentTilePoint; + } + + public void draw(Graphics2D g) { + AlphaComposite ac = AlphaComposite.getInstance(blendMode, opacity); + g.setComposite(ac); + + g.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED); + + Rectangle clip = g.getClipBounds(); + + for(Entry e : tiles.entrySet()) { + Point k = e.getKey(); + + int xp = k.x << BitmapTile.SIZE_2; + int yp = k.y << BitmapTile.SIZE_2; + + if(xp + BitmapTile.SIZE < clip.x || xp > clip.x + clip.width || yp + BitmapTile.SIZE < clip.y || yp > clip.y + clip.height) { + /* Ignore tile */ + } else { + BitmapTile v = e.getValue(); + g.drawImage(v.getImage(), xp, yp, null); + } + } + } + + public void draw(Graphics2D g, Set phantomLayers) { + AlphaComposite ac = AlphaComposite.getInstance(blendMode, opacity); + g.setComposite(ac); + + g.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED); + + Rectangle clip = g.getClipBounds(); + + Set ps = new HashSet(); + ps.addAll(tiles.keySet()); + for(Layer phl : phantomLayers) { + BitmapLayer bphl = (BitmapLayer) phl; + ps.addAll(bphl.tiles.keySet()); + } + + for(Point k : ps) { + int xp = k.x << BitmapTile.SIZE_2; + int yp = k.y << BitmapTile.SIZE_2; + + if(xp + BitmapTile.SIZE < clip.x || xp > clip.x + clip.width || yp + BitmapTile.SIZE < clip.y || yp > clip.y + clip.height) { + /* Ignore tile */ + } else { + if(!phantomLayers.isEmpty()) { + Graphics2D tg = (Graphics2D) tempTile.getImage().getGraphics(); + + /** Clear temporary tile */ + ac = AlphaComposite.getInstance(AlphaComposite.DST_OUT, 1); + tg.setComposite(ac); + tg.fillRect(0, 0, BitmapTile.SIZE, BitmapTile.SIZE); + + /** Draw destination on tile */ + BitmapTile dt = tiles.get(k); + if(dt != null) { + ac = AlphaComposite.getInstance(AlphaComposite.SRC, 1); + tg.setComposite(ac); + tg.drawImage(dt.getImage(), 0, 0, null); + } + + /** Draw all phantom layers on tile */ + for(Layer phl : phantomLayers) { + BitmapLayer bphl = (BitmapLayer) phl; + BitmapTile pht = bphl.getTiles().get(k); + if(pht != null) { + AlphaComposite dac = AlphaComposite.getInstance(bphl.blendMode, bphl.opacity); + tg.setComposite(dac); + tg.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED); + tg.drawImage(pht.getImage(), 0, 0, null); + } + } + + g.drawImage(tempTile.getImage(), xp, yp, null); + } else { + BitmapTile dt = tiles.get(k); + if(dt != null) { + g.drawImage(dt.getImage(), xp, yp, null); + } + } + } + } + } + + public float getOpacity() { + return opacity; + } + + public Layer copy() { + return new BitmapLayer(this); + } + + public void clear() { + tiles = new LinkedHashMap(HASHMAP_CAPACITY); + currentTile = null; + currentTilePoint = new Point(Integer.MAX_VALUE, Integer.MAX_VALUE); + + if(observer != null) { + observer.imageUpdate(null, ImageObserver.ALLBITS, 0, 0, 0, 0); + } + } + + public Input line(Input start, Input end, int color, Brush brush, Layer originalLayer) { + /* Calculate final radius */ + float radius = Math.max(MINIMUM_RADIUS, brush.getRadius() * (brush.isPressureToRadius() ? start.pressure : 0x100) / 256f); + + if(end == null) { + /** Paint daub */ + daub(start, brush, color, (BitmapLayer) originalLayer); + + /** Return point */ + return start; + } else { + /** Find line length. */ + float length = (float)Math.hypot(end.x - start.x, end.y - start.y); + + /** Calculate delta */ + float delta = Math.max(1, radius * 2 * Math.max(MINIMUM_SPACING, brush.getSpacing())); + + /** Set starting point. */ + Input input = start; + + /** Set paint status. */ + boolean hasDrawn = false; + + /** Store area for repaint */ + Rectangle dirty = null; + + for(float t = delta; t <= length; t += delta) { + /** Calculate new input point. */ + input = new Input( + start.x + (end.x - start.x) * t / length, + start.y + (end.y - start.y) * t / length, + (int)(start.pressure + (end.pressure - start.pressure) * t / length)); + + /** Calculate final radius */ + radius = Math.max(MINIMUM_RADIUS, brush.getRadius() * (brush.isPressureToRadius() ? input.pressure : 0x100) / 256f); + + /** Calculate delta */ + delta = Math.max(1, radius * 2 * Math.max(MINIMUM_SPACING, brush.getSpacing())); + + /** Paint daub */ + Rectangle dirtyDaub = daub(input, brush, color, (BitmapLayer) originalLayer); + + if(dirty == null) { + dirty = dirtyDaub; + } else { + dirty = dirty.union(dirtyDaub); + } + + hasDrawn = true; + } + + if(hasDrawn && observer != null) { + observer.imageUpdate(null, ImageObserver.SOMEBITS, dirty.x, dirty.y, dirty.width, dirty.height); + } + + return hasDrawn ? input : null; + } + } + + public int getColor(Input input) { + int pixel = getPixel(Math.round(input.x), Math.round(input.y)); + return Pixels.lerp(0xFFFFFF, pixel & 0xFFFFFF, Pixels.getChannel0(pixel)); + } + + public int getColor(int x, int y) { + int pixel = getPixel(x, y); + return Pixels.lerp(0xFFFFFF, pixel & 0xFFFFFF, Pixels.getChannel0(pixel)); + } + + public int getColor(int x, int y, int background) { + int pixel = getPixel(x, y); + return Pixels.lerp(background, pixel & 0xFFFFFF, Pixels.getChannel0(pixel)); + } + + int getPixel(int x, int y) { + BitmapTile tile = getBitmapTile(x, y, false); + if(tile == null) { + return 0x00000000; + } else { + int tileX = x % BitmapTile.SIZE; + int tileY = y % BitmapTile.SIZE; + return tile.getPixels()[tileY * BitmapTile.SIZE + tileX]; + } + } + + public void addImageObserver(ImageObserver observer) { + this.observer = observer; + } + + public ImageObserver getImageObserver() { + return this.observer; + } + + public int getType() { + return LayerType.BITMAP; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return this.name; + } + + private BitmapTile getBitmapTile(int x, int y, boolean writable) { + int tileX = x >> BitmapTile.SIZE_2; + int tileY = y >> BitmapTile.SIZE_2; + + if(tileX != currentTilePoint.x || tileY != currentTilePoint.y) { + currentTilePoint = new Point(tileX, tileY); + currentTile = tiles.get(currentTilePoint); + } + + if(writable) { + if(currentTile == null) { + currentTile = new BitmapTile(); + tiles.put(currentTilePoint, currentTile); + } else { + currentTile.setEncoded(null); + } + } + + return currentTile; + } + + private void blendPixel(int x, int y, int sourceColor, int sourceAlpha, int maxAlpha) { + if(sourceAlpha != 0 && x >= 0 && y >= 0) { + BitmapTile tile = getBitmapTile(x, y, true); + if(tile != null) { + tile.blendPixel(x & BitmapTile.SIZE_MASK, y & BitmapTile.SIZE_MASK, sourceColor, sourceAlpha, maxAlpha); + } + } + } + + public Rectangle daub(Input input, Brush brush, int color, BitmapLayer originalLayer) { + float radius = Math.max(MINIMUM_RADIUS, brush.isPressureToRadius() ? (brush.getRadius() * input.pressure) / 255f : brush.getRadius()); + + float x = input.x + (float)(Math.random() - 0.5) * radius * brush.getJitter(); + float y = input.y + (float)(Math.random() - 0.5) * radius * brush.getJitter(); + + /** X & Y, integer */ + int floorX = (int) Math.floor(x); + int floorY = (int) Math.floor(y); + + if(brush.isLockTransparency() && brush.getOpacity() <= 0) { + return new Rectangle(floorX, floorY, 0, 0); + } + + int maxAlpha = brush.isPressureToOpacity() ? input.pressure : 255; + int flow = Math.min(255, brush.isPressureToFlow() ? (brush.getFlow() * maxAlpha * input.pressure) / 65025 : (brush.getFlow() * maxAlpha) / 255); + int noise = brush.getNoise(); + + /** Radius, rounded up */ + int ceilRadius = (int)Math.ceil(radius) + 1; + int ceilRadius255 = ceilRadius * 255; + + /** Radius, squared and premultiplied */ + int radiusSquared255 = (int)(radius * radius * 255f); + int radiusSquared65025 = (int)(radius * radius * 65025f); + + /** X & Y, remainders */ + int xMod256 = (int)(x * 255f) % 255; + int yMod256 = (int)(y * 255f) % 255; + + /** Watercolor */ + if(brush.getWater() > 0) { + int rim = (int) Math.ceil(radius * brush.getWaterArea()); + int diagRim = (int) Math.ceil(radius * brush.getWaterArea() * 0.70710678118654752440084436210485); + + int center = originalLayer.getPixel(floorX, floorY); + int top = originalLayer.getPixel(floorX, floorY - rim); + int topRight = originalLayer.getPixel(floorX + diagRim, floorY - diagRim); + int right = originalLayer.getPixel(floorX + rim, floorY); + int bottomRight = originalLayer.getPixel(floorX + diagRim, floorY + diagRim); + int bottom = originalLayer.getPixel(floorX, floorY + rim); + int bottomLeft = originalLayer.getPixel(floorX - diagRim, floorY + diagRim); + int left = originalLayer.getPixel(floorX - rim, floorY); + int topLeft = originalLayer.getPixel(floorX - diagRim, floorY - diagRim); + + float sampleRed = 0, sampleGreen = 0, sampleBlue = 0, sampleAlpha = 0; + + if(Pixels.getChannel0(center) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(center)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(center)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(center)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(center)) * alpha; + } + + if(Pixels.getChannel0(top) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(top)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(top)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(top)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(top)) * alpha; + } + + if(Pixels.getChannel0(topRight) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(topRight)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(topRight)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(topRight)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(topRight)) * alpha; + } + + if(Pixels.getChannel0(right) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(right)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(right)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(right)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(right)) * alpha; + } + + if(Pixels.getChannel0(bottomRight) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(bottomRight)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(bottomRight)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(bottomRight)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(bottomRight)) * alpha; + } + + if(Pixels.getChannel0(bottom) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(bottom)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(bottom)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(bottom)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(bottom)) * alpha; + } + + if(Pixels.getChannel0(bottomLeft) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(bottomLeft)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(bottomLeft)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(bottomLeft)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(bottomLeft)) * alpha; + } + + if(Pixels.getChannel0(left) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(left)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(left)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(left)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(left)) * alpha; + } + + if(Pixels.getChannel0(topLeft) > 0) { + float alpha = Pixels.gammaDecode(Pixels.getChannel0(topLeft)); + sampleAlpha += alpha; + sampleRed += Pixels.gammaDecode(Pixels.getChannel1(topLeft)) * alpha; + sampleGreen += Pixels.gammaDecode(Pixels.getChannel2(topLeft)) * alpha; + sampleBlue += Pixels.gammaDecode(Pixels.getChannel3(topLeft)) * alpha; + } + + float brushRed = Pixels.gammaDecode(Pixels.getChannel1(color)); + float brushGreen = Pixels.gammaDecode(Pixels.getChannel2(color)); + float brushBlue = Pixels.gammaDecode(Pixels.getChannel3(color)); + + if(sampleAlpha > 0f) { + sampleRed = sampleRed / sampleAlpha; + sampleGreen = sampleGreen / sampleAlpha; + sampleBlue = sampleBlue / sampleAlpha; + sampleAlpha /= 9f; + } else { + sampleRed = brushRed; + sampleGreen = brushGreen; + sampleBlue = brushBlue; + } + + float resultRed = brushRed + ((sampleRed - brushRed) * brush.getWater()) / 255f; + float resultGreen = brushGreen + ((sampleGreen - brushGreen) * brush.getWater()) / 255f; + float resultBlue = brushBlue + ((sampleBlue - brushBlue) * brush.getWater()) / 255f; + + color = Pixels.pack(Pixels.gammaEncode(resultRed), Pixels.gammaEncode(resultGreen), Pixels.gammaEncode(resultBlue)); + flow = ((65025 + ((Pixels.gammaEncode(sampleAlpha) - 255) * brush.getWater())) * flow) / 65025; + maxAlpha = flow; + } + + if(radius > SUBPIXEL_THRESHOLD) { + /** top of Y cathetus */ + int cathetusY = 0; + + /** Y loop */ + for(int pixelY = 0; pixelY < ceilRadius; pixelY++) { + /** left side of X cathetus */ + int cathetusX = 0; + + /** Y cathetus squared */ + int cathetusYSquared = cathetusY * cathetusY; + + /** X loop */ + for(int pixelX = 0; pixelX < ceilRadius; pixelX++) { + int alpha = cathetusX * cathetusX + cathetusYSquared; + + if(alpha < radiusSquared65025) { + alpha /= radiusSquared255; + alpha = 255 - alpha; + + switch(brush.getHardness()) { + case 1: + alpha = (alpha * alpha * alpha) / 255; + break; + case 2: + alpha = alpha * alpha; + break; + case 3: + alpha = alpha * 255; + break; + + default: + alpha <<= 4 + brush.getHardness(); + + if(alpha > 65025) { + alpha = 65025; + } + break; + } + + /** Apply noise */ + alpha -= noise > 0 ? (Pixels.random() % noise) << 8 : 0; + + if(alpha > 0) { + /** Apply flow */ + alpha = (alpha * flow) / 255; + + /* Blend mirrored pixels. */ + if(pixelX == 0 && pixelY == 0) { + /* Blend center pixel */ + blendPixel(floorX, floorY, color, alpha, maxAlpha); + } else if(pixelX == 0) { + /* Blend vertical center line */ + blendPixel(floorX, floorY - pixelY, color, alpha, maxAlpha); + blendPixel(floorX, floorY + pixelY, color, alpha, maxAlpha); + } else if(pixelY == 0) { + /* Blend horizontal center line */ + blendPixel(floorX - pixelX, floorY, color, alpha, maxAlpha); + blendPixel(floorX + pixelX, floorY, color, alpha, maxAlpha); + } else { + /* Blend other pixels */ + blendPixel(floorX - pixelX, floorY - pixelY, color, alpha, maxAlpha); + blendPixel(floorX + pixelX, floorY - pixelY, color, alpha, maxAlpha); + blendPixel(floorX - pixelX, floorY + pixelY, color, alpha, maxAlpha); + blendPixel(floorX + pixelX, floorY + pixelY, color, alpha, maxAlpha); + } + } + } + + /** Increment X cathetus */ + cathetusX += 255; + } + + /** increment Y cathetus */ + cathetusY += 255; + } + } else { + /** top of Y cathetus */ + int cathetusY = -ceilRadius255 - yMod256; + + /** Y loop */ + for(int pixelY = floorY - ceilRadius; pixelY < floorY + ceilRadius; pixelY++) { + /** left side of X cathetus */ + int cathetusX = -ceilRadius255 - xMod256; + + /** Y cathetus squared */ + int cathetusYSquared = cathetusY * cathetusY; + + /** X loop */ + for(int pixelX = floorX - ceilRadius; pixelX < floorX + ceilRadius; pixelX++) { + int alpha = cathetusX * cathetusX + cathetusYSquared; + + if(alpha < radiusSquared65025) { + alpha /= radiusSquared255; + alpha = 255 - alpha; + + switch(brush.getHardness()) { + case 1: + alpha = (alpha * alpha * alpha) / 255; + break; + case 2: + alpha = alpha * alpha; + break; + case 3: + alpha = alpha * 255; + break; + default: + alpha <<= 4 + brush.getHardness(); + + if(alpha > 65025) { + alpha = 65025; + } + break; + } + + /** Apply noise */ + alpha -= noise > 0 ? (Pixels.random() % noise) << 8 : 0; + + if(alpha > 0) { + /** Apply flow */ + alpha = (alpha * flow) / 255; + + /** Blend as pixel */ + blendPixel(pixelX, pixelY, color, alpha, maxAlpha); + } + } + + /** Increment X cathetus */ + cathetusX += 255; + } + + /** increment Y cathetus */ + cathetusY += 255; + } + } + + return new Rectangle(floorX - ceilRadius, floorY - ceilRadius, ceilRadius << 1, ceilRadius << 1); + } + + public void clean() { + List removePoints = new ArrayList(); + + for(Map.Entry e : tiles.entrySet()) { + Point p = e.getKey(); + BitmapTile t = e.getValue(); + + int emptyPixels = 0; + int[] pixels = t.getPixels(); + for(int j = pixels.length - 1; j >= 0; j--) { + int alpha = Pixels.getChannel0(pixels[j]); + if(alpha < 2) { + ++emptyPixels; + } + } + + if(emptyPixels == pixels.length) { + removePoints.add(p); + } + } + + for(Iterator i = removePoints.iterator(); i.hasNext();) { + Point p = i.next(); + tiles.remove(p); + } + } + + public void reset() { + tileIterator = null; + } + + public void decode(byte[] data) { + int offset = 0; + + int dataType = data[offset++]; + + if(dataType == DATA_TYPE_PIXELS) { + int x = data[offset++] & 0xFF; + int y = data[offset++] & 0xFF; + Point p = new Point(x, y); + + BitmapTile t = new BitmapTile(); + if(unpacker == null) { + unpacker = new PixelUnpacker(); + } + unpacker.unpack(data, offset, data.length - offset, t.getPixels()); + tiles.put(p, t); + + if(observer == null) { + Log.warn("We are supposed to have an observer when loading layers."); + } else { + observer.imageUpdate(null, ImageObserver.SOMEBITS, x << BitmapTile.SIZE_2, y << BitmapTile.SIZE_2, BitmapTile.SIZE, BitmapTile.SIZE); + } + } else if(dataType == DATA_TYPE_CLEAN) { + /** Cleanup now happens internally and separately on client and server */ + } else { + throw new RuntimeException("Invalid tile data type " + dataType); + } + + } + + private static byte[] encodedTile; + + public byte[] encode() { + if(tileIterator == null) { + tileIterator = tiles.entrySet().iterator(); + } + + if(tileIterator.hasNext()) { + Entry e = tileIterator.next(); + Point p = e.getKey(); + BitmapTile t = e.getValue(); + + byte[] encodedBytes = t.getEncoded(); + if(encodedBytes == null) { + if(encodedTile == null) { + encodedTile = new byte[BitmapTile.SIZE * BitmapTile.SIZE * 10]; + } + + int offset = 0; + encodedTile[offset++] = DATA_TYPE_PIXELS; + encodedTile[offset++] = (byte) p.x; + encodedTile[offset++] = (byte) p.y; + + if(packer == null) { + packer = new PixelPacker(); + } + int compressedLength = packer.pack(t.getPixels(), encodedTile, offset, encodedTile.length - offset); + offset += compressedLength; + encodedBytes = Arrays.copyOf(encodedTile, offset); + t.setEncoded(encodedBytes); + } + return encodedBytes; + } else { + tileIterator = null; + return null; + } + } + + public void setOpacity(float opacity) { + this.opacity = opacity; + } + + public boolean isEmpty() { + return tiles.isEmpty(); + } + + public Map getTiles() { + return tiles; + } + + public UndoData merge(Layer fromLayer) { + if(fromLayer instanceof BitmapLayer) { + BitmapLayer bl = (BitmapLayer) fromLayer; + + BitmapUndoData bud = new BitmapUndoData(); + + /** Transfer tiles */ + for(Map.Entry e : bl.tiles.entrySet()) { + Point p = e.getKey(); + BitmapTile st = e.getValue(); // Source Tile + BitmapTile dt = tiles.get(p), tt; // Destination Tile, Temporary Tile + + if(dt == null) { + tt = new BitmapTile(); + } else { + tt = new BitmapTile(dt); + } + + Graphics2D g2 = (Graphics2D) tt.getImage().getGraphics(); + AlphaComposite ac = AlphaComposite.getInstance(bl.blendMode, bl.opacity); + g2.setComposite(ac); + g2.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED); + g2.drawImage(st.getImage(), 0, 0, null); + + g2.dispose(); + + tiles.put(p, tt); + + BitmapTileDiff btd = new BitmapTileDiff(); + + int[] tp = tt.getPixels(); + if(dt == null) { + for(int i = 0; i < BitmapTile.SIZE * BitmapTile.SIZE; i++) { + int tpi = tp[i]; + btd.diffAlpha[i] = (short) Pixels.getChannel0(tpi); + btd.diffRed[i] = (short) Pixels.getChannel1(tpi); + btd.diffGreen[i] = (short) Pixels.getChannel2(tpi); + btd.diffBlue[i] = (short) Pixels.getChannel3(tpi); + } + } else { + int[] dp = dt.getPixels(); + for(int i = 0; i < BitmapTile.SIZE * BitmapTile.SIZE; i++) { + int tpi = tp[i]; + int dpi = dp[i]; + btd.diffAlpha[i] = (short) (Pixels.getChannel0(tpi) - Pixels.getChannel0(dpi)); + btd.diffRed[i] = (short) (Pixels.getChannel1(tpi) - Pixels.getChannel1(dpi)); + btd.diffGreen[i] = (short) (Pixels.getChannel2(tpi) - Pixels.getChannel2(dpi)); + btd.diffBlue[i] = (short) (Pixels.getChannel3(tpi) - Pixels.getChannel3(dpi)); + } + } + + bud.put(p, btd); + } + + bl.tiles.clear(); + bl.currentTile = null; + bl.currentTilePoint = new Point(Integer.MAX_VALUE, Integer.MAX_VALUE); + + return bud; + } else { + throw new RuntimeException("Cannot merge layers of different types"); + } + } + + public int getAlphaRule() { + return blendMode; + } + + public void setAlphaRule(int alphaRule) { + blendMode = alphaRule; + } + + public void undo(UndoData undoData) { + if(undoData instanceof BitmapUndoData) { + BitmapUndoData bud = (BitmapUndoData) undoData; + + Rectangle dirty = null; + + for(Map.Entry e : bud.entrySet()) { + Point p = e.getKey(); + BitmapTileDiff btd = e.getValue(); + BitmapTile dt = tiles.get(p); + if(dt == null) { + dt = new BitmapTile(); + int[] dtp = dt.getPixels(); + for(int i = 0; i < BitmapTile.SIZE * BitmapTile.SIZE; i++) { + dtp[i] = Pixels.pack(btd.diffAlpha[i], btd.diffRed[i], btd.diffGreen[i], btd.diffBlue[i]); + } + } else { + int[] dtp = dt.getPixels(); + for(int i = 0; i < BitmapTile.SIZE * BitmapTile.SIZE; i++) { + int dtpi = dtp[i]; + int alpha = Math.max(0, Math.min(255, Pixels.getChannel0(dtpi) - btd.diffAlpha[i])); + if(alpha == 0) { + dtp[i] = 0; + } else { + int red = Math.max(0, Math.min(255, Pixels.getChannel1(dtpi) - btd.diffRed[i])); + int green = Math.max(0, Math.min(255, Pixels.getChannel2(dtpi) - btd.diffGreen[i])); + int blue = Math.max(0, Math.min(255, Pixels.getChannel3(dtpi) - btd.diffBlue[i])); + dtp[i] = Pixels.pack(alpha, red, green, blue); + } + } + } + + Rectangle tileRect = new Rectangle(p.x << BitmapTile.SIZE_2, p.y << BitmapTile.SIZE_2, BitmapTile.SIZE, BitmapTile.SIZE); + dirty = dirty == null ? tileRect : dirty.union(tileRect); + } + + if(dirty != null) { + observer.imageUpdate(null, ImageObserver.SOMEBITS, dirty.x, dirty.y, dirty.width, dirty.height); + } + + } else { + throw new RuntimeException("Cannot undo with data from different layer type"); + } + } + + public UndoData copyTo(Layer destination, ImageObserver obs, boolean isMove, float sx, float sy, float dx, float dy, float width, float height) { + //if(destination instanceof BitmapLayer) { + // throw new RuntimeException("Destination of move operation must be a bitmap layer!"); + //} + + BitmapLayer bld = (BitmapLayer) destination; + + if(width == 0 || height == 0) { + return null; + } + + if(this == destination && sx == dx && sy == dy) { + return null; + } + + int startX, dStartX, stopX, dirX, startY, dStartY, stopY, dirY; + if(sx > dx) { + startX = Math.round(sx); + dStartX = Math.round(dx); + stopX = Math.round(sx + width); + dirX = 1; + } else { + startX = Math.round(sx + width - 1); + dStartX = Math.round(dx + width - 1); + stopX = Math.round(sx) - 1; + dirX = -1; + } + + if(sy > dy) { + startY = Math.round(sy); + dStartY = Math.round(dy); + stopY = Math.round(sy + height); + dirY = 1; + } else { + startY = Math.round(sy + height - 1); + dStartY = Math.round(dy + height - 1); + stopY = Math.round(sy) - 1; + dirY = -1; + } + + for(int syy = startY, dyy = dStartY; syy != stopY; syy += dirY, dyy += dirY) { + for(int sxx = startX, dxx = dStartX; sxx != stopX; sxx += dirX, dxx += dirX) { + BitmapTile st = getBitmapTile(sxx, syy, false); + if(st == null) { + continue; + } + int[] sp = st.getPixels(); + int offset = ((syy & BitmapTile.SIZE_MASK) << BitmapTile.SIZE_2) + (sxx & BitmapTile.SIZE_MASK); + int sourcePixel = sp[offset]; + if(isMove) { + sp[offset] = 0; + } + BitmapTile dt = bld.getBitmapTile(dxx, dyy, true); + int[] dp = dt.getPixels(); + offset = ((dyy & BitmapTile.SIZE_MASK) << BitmapTile.SIZE_2) + (dxx & BitmapTile.SIZE_MASK); + dp[offset] = sourcePixel; + } + } + + if(obs != null) { + Rectangle r = new Rectangle(Math.round(sx), Math.round(sy), Math.round(width), Math.round(height)).union(new Rectangle(Math.round(dx), Math.round(dy), Math.round(width), Math.round(height))); + obs.imageUpdate(null, ImageObserver.SOMEBITS, r.x, r.y, r.width, r.height); + } + + return null; + } + + public void applyFilter(Filter filter, ImageObserver obs, int x, int y, int w, int h) { + filter.startPass1(); + if(filter.isPass1ReadOnly()) { + for(int yy = y; yy < y + h; yy++) { + for(int xx = x; xx < x + w; xx++) { + BitmapTile t = getBitmapTile(xx, yy, false); + if(t == null) { + filter.processPass1Pixel(0); + } else { + filter.processPass1Pixel(t.getPixels()[((yy & BitmapTile.SIZE_MASK) << BitmapTile.SIZE_2) + (xx & BitmapTile.SIZE_MASK)]); + } + } + } + } else { + for(int yy = y; yy < y + h; yy++) { + for(int xx = x; xx < x + w; xx++) { + BitmapTile t = getBitmapTile(xx, yy, true); + int[] tp = t.getPixels(); + int offset = ((yy & BitmapTile.SIZE_MASK) << BitmapTile.SIZE_2) + (xx & BitmapTile.SIZE_MASK); + int pixel = tp[offset]; + pixel = filter.processPass1Pixel(pixel); + tp[offset] = pixel; + } + } + } + + if(filter.hasPass2()) { + filter.startPass2(); + if(filter.isPass2Reversed()) { + for(int yy = y + h - 1; yy >= y; yy--) { + for(int xx = x + w - 1; xx >= x; xx--) { + BitmapTile t = getBitmapTile(xx, yy, true); + int[] tp = t.getPixels(); + int offset = ((yy & BitmapTile.SIZE_MASK) << BitmapTile.SIZE_2) + (xx & BitmapTile.SIZE_MASK); + int pixel = tp[offset]; + pixel = filter.processPass2Pixel(pixel); + tp[offset] = pixel; + } + } + } else { + for(int yy = y; yy < y + h; yy++) { + for(int xx = x; xx < x + w; xx++) { + BitmapTile t = getBitmapTile(xx, yy, true); + int[] tp = t.getPixels(); + int offset = ((yy & BitmapTile.SIZE_MASK) << BitmapTile.SIZE_2) + (xx & BitmapTile.SIZE_MASK); + int pixel = tp[offset]; + pixel = filter.processPass2Pixel(pixel); + tp[offset] = pixel; + } + } + } + } + + if(obs != null) { + obs.imageUpdate(null, ImageObserver.SOMEBITS, x, y, w, h); + } + } +} diff --git a/src/com/jotuntech/sketcher/common/BitmapTile.java b/src/com/jotuntech/sketcher/common/BitmapTile.java new file mode 100755 index 0000000..ae1fdfe --- /dev/null +++ b/src/com/jotuntech/sketcher/common/BitmapTile.java @@ -0,0 +1,232 @@ +/** + * + */ +package com.jotuntech.sketcher.common; + +import java.awt.image.BufferedImage; +import java.awt.image.DataBufferInt; +import java.io.IOException; +import java.io.Serializable; + +/** + * @author Thor Harald Johansen + * + */ +public class BitmapTile implements Serializable { + static final long serialVersionUID = 3265680755614445636L; + + public final static int SIZE = 32; + public final static int SIZE_2 = 5; + public final static int SIZE_MASK = 31; + + private BufferedImage image; + private int[] pixels; + private byte[] encoded; + + /** + * Creates a bitmap tile + */ + public BitmapTile() { + image = new BufferedImage(SIZE, SIZE, BufferedImage.TYPE_INT_ARGB); + pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + } + + public BitmapTile(BufferedImage imagex) { + image = new BufferedImage(SIZE, SIZE, BufferedImage.TYPE_INT_ARGB); + pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + + image.getGraphics().drawImage(imagex, 0, 0, null); + } + + public BitmapTile(BitmapTile tile) { + image = new BufferedImage(SIZE, SIZE, BufferedImage.TYPE_INT_ARGB); + tile.image.copyData(image.getRaster()); + pixels = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); + } + + /* + public void blendPixel(int x, int y, int sourceColor, int sourceAlpha65025) { + // Offset in destination pixel array + int offset = (y << SIZE_2) + x; + + // Fetch destionation pixel + int destinationPixel = pixels[offset]; + + // Get destination's alpha + int destinationAlpha = Pixels.getChannel0(destinationPixel); + + // Divide source alpha + int sourceAlpha = sourceAlpha65025 / 255; + + if(sourceAlpha > 0) { + if(sourceAlpha == 255) { + pixels[offset] = Pixels.pack(255, sourceColor); + } else { + if(destinationAlpha == 0) { + int dither = sourceAlpha < 255 && sourceAlpha65025 % 255 > Pixels.random() ? 1 : 0; + pixels[offset] = Pixels.pack(sourceAlpha + dither, sourceColor); + } else { + // Destination alpha result + int destinationAlphaResult, destinationAlphaResult65025; + + if(destinationAlpha == 255) { + destinationAlphaResult = 255; + destinationAlphaResult65025 = 65025; + } else { + destinationAlphaResult65025 = Math.min(65205, destinationAlpha * 255 + sourceAlpha65025); + destinationAlphaResult = destinationAlphaResult65025 / 255; + destinationAlphaResult += destinationAlphaResult < 255 && destinationAlphaResult65025 % 255 > Pixels.random() ? 1 : 0; + } + + if(sourceColor == Pixels.stripChannel0(destinationPixel)) { + pixels[offset] = Pixels.pack(destinationAlphaResult, sourceColor); + } else { + // Destination colors + int destinationRed = Pixels.getChannel1(destinationPixel); + int destinationGreen = Pixels.getChannel2(destinationPixel); + int destinationBlue = Pixels.getChannel3(destinationPixel); + + // Source colors + int sourceRed = Pixels.getChannel1(sourceColor); + int sourceGreen = Pixels.getChannel2(sourceColor); + int sourceBlue = Pixels.getChannel3(sourceColor); + + if(destinationAlphaResult == 255) { + int outputRed = destinationRed + ((sourceRed - destinationRed) * sourceAlpha65025) / 65025; + int outputGreen = destinationGreen + ((sourceGreen - destinationGreen) * sourceAlpha65025) / 65025; + int outputBlue = destinationBlue + ((sourceBlue - destinationBlue) * sourceAlpha65025) / 65025; + + // Blend, and store to destination + pixels[offset] = Pixels.pack(255, + outputRed, + outputGreen, + outputBlue); + } else { + // Blend, and store to destination + pixels[offset] = Pixels.pack(destinationAlphaResult, + destinationRed + ((sourceRed - destinationRed) * sourceAlpha65025) / destinationAlphaResult65025, + destinationGreen + ((sourceGreen - destinationGreen) * sourceAlpha65025) / destinationAlphaResult65025, + destinationBlue + ((sourceBlue - destinationBlue) * sourceAlpha65025) / destinationAlphaResult65025); + } + } + } + } + } + } + */ + + public void blendPixel(int x, int y, int sourceColor, int sourceAlpha65025, int maxAlpha) { + // Offset in destination pixel array + int offset = (y << SIZE_2) + x; + + // Fetch destionation pixel + int destinationPixel = pixels[offset]; + + // Get destination's alpha + int destinationAlpha = Pixels.getChannel0(destinationPixel); + + // Divide source alpha + int sourceAlpha = sourceAlpha65025 / 255; + + if(sourceAlpha > 0) { + if(sourceAlpha == 255) { + pixels[offset] = Pixels.pack(255, sourceColor); + } else { + if(destinationAlpha == 0) { + int dither = sourceAlpha65025 % 255 > Pixels.random() ? 1 : 0; + pixels[offset] = Pixels.pack((sourceAlpha & 0xFFFFFFFE) | dither, sourceColor); + } else { + // Destination alpha result + int destinationAlphaResult, destinationAlphaResult65025; + + if(destinationAlpha == 255) { + destinationAlphaResult = 255; + destinationAlphaResult65025 = 65025; + } else { + // Destination multiplied by inverted source alpha. + int invSrcAlphaMulDest65025 = (destinationAlpha * (65025 - sourceAlpha65025)) / 255; + + // Set destination alpha result + destinationAlphaResult65025 = Math.max(destinationAlpha * 255, Math.min(maxAlpha * 255, sourceAlpha65025 + invSrcAlphaMulDest65025)); + destinationAlphaResult = destinationAlphaResult65025 / 255; + destinationAlphaResult = (destinationAlphaResult & 0xFFFFFFFE) | (destinationAlphaResult65025 % 255 > Pixels.random() ? 1 : 0); + } + + if(sourceColor == Pixels.stripChannel0(destinationPixel)) { + if(destinationAlphaResult == 255) { + pixels[offset] = Pixels.pack(255, sourceColor); + } else { + pixels[offset] = Pixels.pack(destinationAlphaResult, sourceColor); + } + } else { + // Destination colors + int destinationRed = Pixels.getChannel1(destinationPixel); + int destinationGreen = Pixels.getChannel2(destinationPixel); + int destinationBlue = Pixels.getChannel3(destinationPixel); + + // Source colors + int sourceRed = Pixels.getChannel1(sourceColor); + int sourceGreen = Pixels.getChannel2(sourceColor); + int sourceBlue = Pixels.getChannel3(sourceColor); + + if(destinationAlphaResult == 255) { + int outputRed = destinationRed + ((sourceRed - destinationRed) * sourceAlpha65025) / 65025; + int outputGreen = destinationGreen + ((sourceGreen - destinationGreen) * sourceAlpha65025) / 65025; + int outputBlue = destinationBlue + ((sourceBlue - destinationBlue) * sourceAlpha65025) / 65025; + + // Blend, and store to destination + pixels[offset] = Pixels.pack(255, + outputRed, + outputGreen, + outputBlue); + } else { + // Blend, and store to destination + pixels[offset] = Pixels.pack(destinationAlphaResult, + destinationRed + ((sourceRed - destinationRed) * sourceAlpha65025) / destinationAlphaResult65025, + destinationGreen + ((sourceGreen - destinationGreen) * sourceAlpha65025) / destinationAlphaResult65025, + destinationBlue + ((sourceBlue - destinationBlue) * sourceAlpha65025) / destinationAlphaResult65025); + } + } + } + } + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws IOException { + out.writeObject(pixels); + } + + private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { + this.image = new BufferedImage(SIZE, SIZE, BufferedImage.TYPE_INT_ARGB); + this.pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + + int[] pixels = (int[])in.readObject(); + for(int i = 0; i < pixels.length; i++) { + this.pixels[i] = pixels[i]; + } + } + + public void setImage(BufferedImage image) { + this.image = image; + } + + public BufferedImage getImage() { + return image; + } + + public void setPixels(int[] pixels) { + this.pixels = pixels; + } + + public int[] getPixels() { + return pixels; + } + + public void setEncoded(byte[] encoded) { + this.encoded = encoded; + } + + public byte[] getEncoded() { + return encoded; + } +} diff --git a/src/com/jotuntech/sketcher/common/BitmapTileDiff.java b/src/com/jotuntech/sketcher/common/BitmapTileDiff.java new file mode 100755 index 0000000..68187d6 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/BitmapTileDiff.java @@ -0,0 +1,15 @@ +package com.jotuntech.sketcher.common; + +public class BitmapTileDiff { + public short diffAlpha[]; + public short diffRed[]; + public short diffGreen[]; + public short diffBlue[]; + + public BitmapTileDiff() { + diffAlpha = new short[BitmapTile.SIZE * BitmapTile.SIZE]; + diffRed = new short[BitmapTile.SIZE * BitmapTile.SIZE]; + diffGreen = new short[BitmapTile.SIZE * BitmapTile.SIZE]; + diffBlue = new short[BitmapTile.SIZE * BitmapTile.SIZE]; + } +} diff --git a/src/com/jotuntech/sketcher/common/BitmapUndoData.java b/src/com/jotuntech/sketcher/common/BitmapUndoData.java new file mode 100755 index 0000000..df33c51 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/BitmapUndoData.java @@ -0,0 +1,56 @@ +package com.jotuntech.sketcher.common; + +import java.awt.Point; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map.Entry; + +public class BitmapUndoData extends HashMap implements UndoData { + protected Iterator> tileIterator = null; + protected static DiffPacker packer; + protected static DiffUnpacker unpacker; + + public void reset() { + tileIterator = null; + } + + public byte[] encode() { + if(tileIterator == null) { + tileIterator = entrySet().iterator(); + } + + if(tileIterator.hasNext()) { + Entry e = tileIterator.next(); + Point p = e.getKey(); + BitmapTileDiff btd = e.getValue(); + byte[] encoded = new byte[BitmapTile.SIZE * BitmapTile.SIZE * 8 + 2]; + int offset = 0; + encoded[offset++] = (byte) p.x; + encoded[offset++] = (byte) p.y; + + if(packer == null) { + packer = new DiffPacker(); + } + + packer.pack(btd.diffAlpha, btd.diffRed, btd.diffGreen, btd.diffBlue, encoded, offset, encoded.length - offset); + + return encoded; + } else { + tileIterator = null; + return null; + } + } + + public void decode(byte[] in) { + int offset = 0; + int x = 0xFF & in[offset++]; + int y = 0xFF & in[offset++]; + Point p = new Point(x, y); + BitmapTileDiff btd = new BitmapTileDiff(); + if(unpacker == null) { + unpacker = new DiffUnpacker(); + } + unpacker.unpack(in, offset, in.length - offset, btd.diffAlpha, btd.diffRed, btd.diffGreen, btd.diffBlue); + put(p, btd); + } +} diff --git a/src/com/jotuntech/sketcher/common/Brush.java b/src/com/jotuntech/sketcher/common/Brush.java new file mode 100755 index 0000000..010c460 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/Brush.java @@ -0,0 +1,269 @@ +package com.jotuntech.sketcher.common; + +import java.nio.ByteBuffer; + +/** + * Class for containting brush parameters for painting. + * + * @author Thor Harald Johansen + */ +public class Brush implements Streamable { + /** Display friendly name of brush. */ + private String name; + + /** Opacity of brush daub */ + private int opacity = 0xFF; + + /** Flow of brush daub. */ + private int flow = 0x20; + + /** Radius of brush daub. */ + private float radius = 32f; + + /** Hardness of brush daub. */ + private int hardness = 1; + + /** Spacing of brush daubs. */ + private float spacing = 0.0f; + + /** Route pressure to opacity of brush stroke. */ + private boolean pressureToOpacity = true; + + /** Route pressure to opacity of brush daub. */ + private boolean pressureToFlow = false; + + /** Route pressure to radius of brush daub. */ + private boolean pressureToRadius = true; + + /** Jitter of brush daub position. */ + private float jitter = 0; + + /** Amount of pixel noise applied to brush daub. */ + private int noise = 0; + + /** Degree of watercolor effect to apply to brush */ + private int water = 0; + + /** Sampling area for watercolor effect */ + private float waterArea = 1f; + + /** Lock transparency */ + private boolean lockTransparency = false; + + /** + * Constructs a new brush based on parameters. + * + * @param opacity A value from -0xFF to -0x01 (for erasers) and 0x01 to 0xFF + * (for brushes) specifying the opacity of the brush daub. + * @param flow A value from 0 to 0xFF specifying the flow of the brush daub. + * @param radius A value from 1.5 to 126 specifying the radius of the brush + * daub. + * @param hardness hardness A HARDNESS_xxx... constant specifying + * the hardness of the brush daub. + * @param spacing A value from 0.0 to 1.0 specifying the spacing of brush + * daubs as a fraction of the brush diameter. + * @param pressureToFlow Enables/disables the routing of tablet pressure + * to brush daub opacity. + * @param pressureToRadius Enables/disables the routing of tables pressure + * to brush daub radius. + * @param jitter A value from 0 to infinity specifying the brush position + * jitter as the fraction of the brush daub diameter. + * @param noise A value from 0x00 to 0xFF specifying the amount of pixel + * noise to add to the brush daub. + * @param water A value from 0x00 to 0xFF specifying the amount of environmental + * pickup done by the brush daub. + */ + public Brush(String name, int opacity, int flow, float radius, int hardness, float spacing, boolean pressureToOpacity, boolean pressureToFlow, boolean pressureToRadius, float jitter, int noise, int water, boolean lockTransparency, float waterArea) { + this.name = name; + this.opacity = opacity; + this.flow = flow; + this.radius = radius; + this.hardness = hardness; + this.spacing = spacing; + this.pressureToOpacity = pressureToOpacity; + this.pressureToFlow = pressureToFlow; + this.pressureToRadius = pressureToRadius; + this.jitter = jitter; + this.noise = noise; + this.water = water; + this.waterArea = waterArea; + this.lockTransparency = lockTransparency; + } + + /** Constructs a new default brush. */ + public Brush() { + + } + + /** + * Constructs a new brush. + * + * @param name Display name of the brush. + */ + public Brush(String name) { + this.name = name; + } + + /** + * Returns display friendly name of brush + * @return Brush name + */ + public String getName() { + return name; + } + + /** + * Set display friendly name of brush + * @param name Brush name + */ + public void setName(String name) { + this.name = name; + } + + /** + * Returns copy of this brush. + * + * @return Copy of brush. + */ + public Brush copy() { + return new Brush(name, opacity, flow, radius, hardness, spacing, pressureToOpacity, pressureToFlow, pressureToRadius, jitter, noise, water, lockTransparency, waterArea); + } + + public void decode(ByteBuffer in) { + opacity = in.getShort(); + flow = in.getShort(); + radius = in.getFloat(); + hardness = in.get(); + spacing = in.getFloat(); + pressureToOpacity = in.get() != 0 ? true : false; + pressureToFlow = in.get() != 0 ? true : false; + pressureToRadius = in.get() != 0 ? true : false; + jitter = in.getFloat(); + noise = in.getShort(); + water = in.getShort(); + waterArea = in.getFloat(); + lockTransparency = in.get() != 0 ? true : false; + name = in.asCharBuffer().toString(); + } + + public void encode(ByteBuffer out) { + out.putShort((short) opacity); + out.putShort((short) flow); + out.putFloat(radius); + out.put((byte) hardness); + out.putFloat(spacing); + out.put((byte) (pressureToOpacity ? 0xFF : 0x00)); + out.put((byte) (pressureToFlow ? 0xFF : 0x00)); + out.put((byte) (pressureToRadius ? 0xFF : 0x00)); + out.putFloat(jitter); + out.putShort((short) noise); + out.putShort((short) water); + out.putFloat(waterArea); + out.put((byte) (lockTransparency ? 0xFF : 0x00)); + out.asCharBuffer().put(name); + } + + public void setOpacity(int opacity) { + this.opacity = opacity; + } + + public int getOpacity() { + return opacity; + } + + public void setFlow(int flow) { + this.flow = flow; + } + + public int getFlow() { + return flow; + } + + public void setRadius(float radius) { + this.radius = radius; + } + + public float getRadius() { + return radius; + } + + public void setHardness(int hardness) { + this.hardness = hardness; + } + + public int getHardness() { + return hardness; + } + + public void setSpacing(float spacing) { + this.spacing = spacing; + } + + public float getSpacing() { + return spacing; + } + + public void setPressureToFlow(boolean pressureToFlow) { + this.pressureToFlow = pressureToFlow; + } + + public boolean isPressureToFlow() { + return pressureToFlow; + } + + public void setPressureToRadius(boolean pressureToRadius) { + this.pressureToRadius = pressureToRadius; + } + + public boolean isPressureToRadius() { + return pressureToRadius; + } + + public void setJitter(float jitter) { + this.jitter = jitter; + } + + public float getJitter() { + return jitter; + } + + public void setNoise(int noise) { + this.noise = noise; + } + + public int getNoise() { + return noise; + } + + public void setWater(int water) { + this.water = water; + } + + public int getWater() { + return water; + } + + public void setWaterArea(float waterArea) { + this.waterArea = waterArea; + } + + public float getWaterArea() { + return waterArea; + } + + public void setLockTransparency(boolean lockTransparency) { + this.lockTransparency = lockTransparency; + } + + public boolean isLockTransparency() { + return lockTransparency; + } + + public void setPressureToOpacity(boolean pressureToOpacity) { + this.pressureToOpacity = pressureToOpacity; + } + + public boolean isPressureToOpacity() { + return pressureToOpacity; + } +} diff --git a/src/com/jotuntech/sketcher/common/Canvas.java b/src/com/jotuntech/sketcher/common/Canvas.java new file mode 100755 index 0000000..4e067dc --- /dev/null +++ b/src/com/jotuntech/sketcher/common/Canvas.java @@ -0,0 +1,78 @@ +package com.jotuntech.sketcher.common; + +import java.awt.Image; +import java.awt.image.ImageObserver; +import java.util.LinkedHashSet; +import java.util.Set; + +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +public class Canvas implements ImageObserver { + private int width, height; + private TwoWayHashMap layerMap; + private Set observers; + private volatile boolean drawing; + + public Canvas(int width, int height) { + this.drawing = false; + + this.width = width; + this.height = height; + + this.layerMap = new TwoWayHashMap(); + + this.observers = new LinkedHashSet(); + + getLayerMap().addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent e) { + addImageObserverToLayers(); + } + }); + } + + public int getWidth() { + return width; + } + + public int getHeight() { + return height; + } + + public TwoWayHashMap getLayerMap() { + return layerMap; + } + + public void addImageObserver(ImageObserver observer) { + observers.add(observer); + } + + public Set getImageObservers() { + return observers; + } + + public ImageObserver getImageObserver() { + return this; + } + + private void addImageObserverToLayers() { + for(Layer l : getLayerMap().values()) { + l.addImageObserver(this); + } + } + + public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) { + for(ImageObserver o : observers) { + o.imageUpdate(img, infoflags, x, y, width, height); + } + return true; + } + + public void setDrawing(boolean drawing) { + this.drawing = drawing; + } + + public boolean isDrawing() { + return drawing; + } +} diff --git a/src/com/jotuntech/sketcher/common/ConsoleOutputStream.java b/src/com/jotuntech/sketcher/common/ConsoleOutputStream.java new file mode 100755 index 0000000..ebdab0f --- /dev/null +++ b/src/com/jotuntech/sketcher/common/ConsoleOutputStream.java @@ -0,0 +1,24 @@ +package com.jotuntech.sketcher.common; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.PrintStream; + +import javax.swing.JTextArea; + +public class ConsoleOutputStream extends OutputStream { + JTextArea textArea; + + public ConsoleOutputStream(JTextArea textArea) { + this.textArea = textArea; + + PrintStream consolePrintStream = new PrintStream(this); + System.setOut(consolePrintStream); + System.setErr(consolePrintStream); + } + + public void write(int ch) throws IOException { + textArea.append((char)ch + ""); + textArea.setCaretPosition(textArea.getText().length()); + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/common/Copyable.java b/src/com/jotuntech/sketcher/common/Copyable.java new file mode 100755 index 0000000..5ef03f0 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/Copyable.java @@ -0,0 +1,5 @@ +package com.jotuntech.sketcher.common; + +public interface Copyable { + public V copy(); +} diff --git a/src/com/jotuntech/sketcher/common/DiffPacker.java b/src/com/jotuntech/sketcher/common/DiffPacker.java new file mode 100755 index 0000000..c896c1d --- /dev/null +++ b/src/com/jotuntech/sketcher/common/DiffPacker.java @@ -0,0 +1,55 @@ +package com.jotuntech.sketcher.common; + +import java.util.zip.Deflater; + +public class DiffPacker { + private Deflater deflater; + private byte[] encodedDiff; + + public DiffPacker() { + deflater = new Deflater(Deflater.BEST_COMPRESSION, true); + } + + public int pack(short[] diffAlpha, short[] diffRed, short[] diffGreen, short[] diffBlue, byte[] output) { + return pack(diffAlpha, diffRed, diffGreen, diffBlue, output, 0, output.length); + } + + public int pack(short[] diffAlpha, short[] diffRed, short[] diffGreen, short[] diffBlue, byte[] output, int ofs, int len) { + /* Create buffers, or enlarge them if they are too small */ + if(encodedDiff == null || encodedDiff.length < diffAlpha.length * 8) { + encodedDiff = new byte[diffAlpha.length * 8]; + } + + int lastAlpha = 0, lastRed = 0, lastGreen = 0, lastBlue = 0; + for(int diffOffset = 0, alphaOffset = 0, redOffset = diffAlpha.length * 2, greenOffset = diffAlpha.length * 4, blueOffset = diffAlpha.length * 6; diffOffset < diffAlpha.length; diffOffset++, alphaOffset++, redOffset++, greenOffset++, blueOffset++) { + short alpha = (short) (diffAlpha[diffOffset] - lastAlpha); + short red = (short) (diffRed[diffOffset] - lastRed); + short green = (short) (diffGreen[diffOffset] - lastGreen); + short blue = (short) (diffBlue[diffOffset] - lastBlue); + + encodedDiff[alphaOffset++] = (byte) (0xFF & (alpha >> 8)); + encodedDiff[alphaOffset] = (byte) (0xFF & alpha); + encodedDiff[redOffset++] = (byte) (0xFF & (red >> 8)); + encodedDiff[redOffset] = (byte) (0xFF & red); + encodedDiff[greenOffset++] = (byte) (0xFF & (green >> 8)); + encodedDiff[greenOffset] = (byte) (0xFF & green); + encodedDiff[blueOffset++] = (byte) (0xFF & (blue >> 8)); + encodedDiff[blueOffset] = (byte) (0xFF & blue); + + lastAlpha = diffAlpha[diffOffset]; + lastRed = diffRed[diffOffset]; + lastGreen = diffGreen[diffOffset]; + lastBlue = diffBlue[diffOffset]; + } + + /* Deflate encoded diffs */ + deflater.reset(); + deflater.setInput(encodedDiff, 0, diffAlpha.length * 8); + deflater.finish(); + int compressedLength = 0; + while(!deflater.finished() && compressedLength < len) { + compressedLength += deflater.deflate(output, ofs + compressedLength, len - compressedLength); + } + return compressedLength; + } +} diff --git a/src/com/jotuntech/sketcher/common/DiffUnpacker.java b/src/com/jotuntech/sketcher/common/DiffUnpacker.java new file mode 100755 index 0000000..bb3b6de --- /dev/null +++ b/src/com/jotuntech/sketcher/common/DiffUnpacker.java @@ -0,0 +1,49 @@ +package com.jotuntech.sketcher.common; + +import java.util.zip.DataFormatException; +import java.util.zip.Inflater; + +public class DiffUnpacker { + Inflater inflater; + private byte[] encodedDiff; + + public DiffUnpacker() { + inflater = new Inflater(true); + } + + public void unpack(byte[] input, int ofs, int len, short[] outputAlpha, short[] outputRed, short[] outputGreen, short[] outputBlue) { + if(encodedDiff == null || encodedDiff.length < input.length * 8) { + encodedDiff = new byte[outputAlpha.length * 8]; + } + + inflater.reset(); + inflater.setInput(input, ofs, len); + + int encodedLength = 0; + try { + while(!inflater.finished() && encodedLength < encodedDiff.length) { + encodedLength += inflater.inflate(encodedDiff, encodedLength, encodedDiff.length - encodedLength); + } + } catch(DataFormatException e) { + throw new RuntimeException(e); + } + + if(encodedLength < outputAlpha.length * 8) { + Log.error("needsInput = " + inflater.needsInput()); + throw new RuntimeException("Encoded length " + encodedLength + " is shorter than output length " + outputAlpha.length * 8 + "."); + } + + short alpha = 0, red = 0, green = 0, blue = 0; + for(int outputOffset = 0, alphaOffset = 0, redOffset = outputAlpha.length * 2, greenOffset = outputAlpha.length * 4, blueOffset = outputAlpha.length * 6; outputOffset < outputAlpha.length; outputOffset++, alphaOffset++, redOffset++, greenOffset++, blueOffset++) { + alpha += (short) ((encodedDiff[alphaOffset++] << 8) | (encodedDiff[alphaOffset] & 0xff)); + red += (short) ((encodedDiff[redOffset++] << 8) | (encodedDiff[redOffset] & 0xff)); + green += (short) ((encodedDiff[greenOffset++] << 8) | (encodedDiff[greenOffset] & 0xff)); + blue += (short) ((encodedDiff[blueOffset++] << 8) | (encodedDiff[blueOffset] & 0xff)); + + outputAlpha[outputOffset] = alpha; + outputRed[outputOffset] = red; + outputGreen[outputOffset] = green; + outputBlue[outputOffset] = blue; + } + } +} diff --git a/src/com/jotuntech/sketcher/common/Input.java b/src/com/jotuntech/sketcher/common/Input.java new file mode 100755 index 0000000..a1eacd7 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/Input.java @@ -0,0 +1,69 @@ +package com.jotuntech.sketcher.common; + +import java.awt.Point; +import java.awt.geom.Point2D; +import java.nio.ByteBuffer; + +/** + * Class for containing tablet input data. + * + * @author Thor Harald Johansen + */ +public class Input extends Point2D.Float implements Streamable { + /** Pressure axis */ + public int pressure = 0; + + /** Creates a new input. */ + public Input() { + + } + + public Input(float x, float y) { + super(x, y); + } + + public Input(float x, float y, int pressure) { + this.x = x; + this.y = y; + this.pressure = pressure; + } + + public Input(Point p) { + x = p.x; + y = p.y; + } + + public Input(Point p, int pressure) { + x = p.x; + y = p.y; + this.pressure = pressure; + } + + /** + * Calculates the difference between the input and the argument such that if + * one axis of the input is greater than one axis of the argument, the + * resultant axis will be negative. + * + * @param d Input to calculate difference against. + * @return Difference of inputs. + */ + public Input difference(Input d) { + return new Input(d.x - x, d.y - y, (d.pressure + pressure) >> 1); + } + + public Input clone() { + return new Input(x, y, pressure); + } + + public void decode(ByteBuffer in) { + x = in.getFloat(); + y = in.getFloat(); + pressure = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putFloat(x); + out.putFloat(y); + out.putInt(pressure); + } +} diff --git a/src/com/jotuntech/sketcher/common/Layer.java b/src/com/jotuntech/sketcher/common/Layer.java new file mode 100755 index 0000000..9ec0646 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/Layer.java @@ -0,0 +1,34 @@ +package com.jotuntech.sketcher.common; + +import java.awt.Graphics2D; +import java.awt.image.ImageObserver; + +/** Generic interface for layers. + * @author Thor Harald Johansen + * + */ +public interface Layer { + public void setName(String name); + public String getName(); + public int getType(); + public void draw(Graphics2D g); + public UndoData copyTo(Layer destination, ImageObserver obs, boolean move, float x, float y, float dx, float dy, float width, float height); + public UndoData merge(Layer fromLayer); + public void undo(UndoData undoData); + public void setAlphaRule(int alphaComposite); + public int getAlphaRule(); + public void setOpacity(float opacity); + public float getOpacity(); + public Layer copy(); + public void clear(); + public Input line(Input start, Input end, int color, Brush brush, Layer originalLayer); + public int getColor(Input position); + public void addImageObserver(ImageObserver observer); + public ImageObserver getImageObserver(); + public void clean(); + public boolean isEmpty(); + public void reset(); + public void decode(byte[] data); + public byte[] encode(); + +} diff --git a/src/com/jotuntech/sketcher/common/LayerType.java b/src/com/jotuntech/sketcher/common/LayerType.java new file mode 100755 index 0000000..dc4ce9e --- /dev/null +++ b/src/com/jotuntech/sketcher/common/LayerType.java @@ -0,0 +1,7 @@ +package com.jotuntech.sketcher.common; + +public class LayerType { + public final static int BITMAP = 1; + public final static int VECTOR = 2; + public final static int BITMAP_PHANTOM = 3; +} diff --git a/src/com/jotuntech/sketcher/common/Log.java b/src/com/jotuntech/sketcher/common/Log.java new file mode 100755 index 0000000..008f9df --- /dev/null +++ b/src/com/jotuntech/sketcher/common/Log.java @@ -0,0 +1,84 @@ +package com.jotuntech.sketcher.common; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +public class Log { + /** Log debug messages? */ + private final static boolean debug = true; + + /** Log info messages? */ + private final static boolean info = true; + + /** Log error messages? */ + private final static boolean error = true; + + /** Log warning messages? */ + private final static boolean warn = true; + + /** Date format */ + private final static DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss", Locale.US); + + /** + * Logs the specified debug message. + * + * @param message Message to log. + */ + public final static void debug(String message) { + if(debug) { + log(df.format(new Date()) + " [DEBUG: " + Thread.currentThread().getName() + "] " + message); + } + } + + /** + * Logs the specified info message. + * + * @param message Message to log. + */ + public final static void info(String message) { + if(info) { + log(df.format(new Date()) + " [INFO: " + Thread.currentThread().getName() + "] " + message); + } + } + + /** + * Logs the specified error message. + * + * @param message Message to log. + */ + public final static void error(String message) { + if(error) { + log(df.format(new Date()) + " [ERROR: " + Thread.currentThread().getName() + "] " + message); + } + } + + public final static void error(Throwable t) { + if(error) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + PrintStream ps = new PrintStream(baos); + t.printStackTrace(ps); + String message = baos.toString(); + ps.close(); + log(df.format(new Date()) + " [ERROR: " + Thread.currentThread().getName() + "] " + message); + } + } + + /** + * Logs the specified warn message. + * + * @param message Message to log. + */ + public final static void warn(String message) { + if(warn) { + log(df.format(new Date()) + " [WARN: " + Thread.currentThread().getName() + "] " + message); + } + } + + private final static void log(String message) { + System.err.println(message); + } +} diff --git a/src/com/jotuntech/sketcher/common/PixelPacker.java b/src/com/jotuntech/sketcher/common/PixelPacker.java new file mode 100755 index 0000000..032753e --- /dev/null +++ b/src/com/jotuntech/sketcher/common/PixelPacker.java @@ -0,0 +1,99 @@ +package com.jotuntech.sketcher.common; + +import java.util.zip.Deflater; + +public class PixelPacker { + private Deflater deflater; + private byte[] encodedPixels = null; + + public PixelPacker() { + deflater = new Deflater(Deflater.BEST_COMPRESSION, true); + } + + public int pack(int[] pixels, byte[] output) { + return pack(pixels, output, 0, output.length); + } + + public int pack(int[] pixels, byte[] output, int ofs, int len) { + /* Create buffers, or enlarge them if they are too small */ + if(encodedPixels == null || encodedPixels.length < pixels.length * 6) { + encodedPixels = new byte[pixels.length * 6]; + } + + int lastAlpha = 0, lastY = 0, lastCb = 256, lastCr = 256; + for(int pixelOffset = 0, YOffset = pixels.length, CbOffset = pixels.length * 2, CrOffset = pixels.length * 4; pixelOffset < pixels.length; pixelOffset++, YOffset++, CbOffset++, CrOffset++) { + int pixel = pixels[pixelOffset]; + + /* Extract alpha channel */ + int alpha = (pixel >> 24) & 0xFF; + + /* Differential transform */ + int deltaAlpha = alpha - lastAlpha; + lastAlpha = alpha; + + /* Convert negative deltas to equivalent positive deltas */ + if(deltaAlpha < 0) { + deltaAlpha = 256 + deltaAlpha; + } + + /* Luma and chroma deltas */ + int deltaY, deltaCb, deltaCr; + + /* Color deltas are zero if alpha is zero, for better compression */ + if(alpha == 0) { + deltaY = 0; + deltaCb = 0; + deltaCr = 0; + } else { + /* Extract color channels */ + int red = (pixel >> 16) & 0xFF; + int green = (pixel >> 8) & 0xFF; + int blue = pixel & 0xFF; + + /* Forward color transform */ + int Y = (red + (green << 1) + blue) >> 2; + int Cb = 256 + blue - green; + int Cr = 256 + red - green; + + /* Differential transform */ + deltaY = Y - lastY; + deltaCb = Cb - lastCb; + deltaCr = Cr - lastCr; + lastY = Y; + lastCb = Cb; + lastCr = Cr; + + /* Convert negative deltas to equivalent positive deltas */ + if(deltaY < 0) { + deltaY = 256 + deltaY; + } + + if(deltaCb < 0) { + deltaCb = 512 + deltaCb; + } + + if(deltaCr < 0) { + deltaCr = 512 + deltaCr; + } + } + + /* Store image channels */ + encodedPixels[pixelOffset] = (byte) deltaAlpha; + encodedPixels[YOffset] = (byte) deltaY; + encodedPixels[CbOffset++] = (byte) (deltaCb >>> 8); + encodedPixels[CbOffset] = (byte) deltaCb; + encodedPixels[CrOffset++] = (byte) (deltaCr >>> 8); + encodedPixels[CrOffset] = (byte) deltaCr; + } + + /* Deflate encoded pixels */ + deflater.reset(); + deflater.setInput(encodedPixels, 0, pixels.length * 6); + deflater.finish(); + int compressedLength = 0; + while(!deflater.finished() && compressedLength < len) { + compressedLength += deflater.deflate(output, ofs + compressedLength, len - compressedLength); + } + return compressedLength; + } +} diff --git a/src/com/jotuntech/sketcher/common/PixelUnpacker.java b/src/com/jotuntech/sketcher/common/PixelUnpacker.java new file mode 100755 index 0000000..12c3027 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/PixelUnpacker.java @@ -0,0 +1,77 @@ +package com.jotuntech.sketcher.common; + +import java.util.zip.DataFormatException; +import java.util.zip.Inflater; + + +public class PixelUnpacker { + Inflater inflater; + private byte[] encodedPixels; + + public PixelUnpacker() { + inflater = new Inflater(true); + } + + public void unpack(byte[] input, int ofs, int len, int[] output) { + if(encodedPixels == null || encodedPixels.length < input.length * 6) { + encodedPixels = new byte[output.length * 6]; + } + + inflater.reset(); + inflater.setInput(input, ofs, len); + //Log.debug("Inflating from offset " + ofs + " length " + len); + + int encodedLength = 0; + try { + while(!inflater.finished() && encodedLength < encodedPixels.length) { + encodedLength += inflater.inflate(encodedPixels, encodedLength, encodedPixels.length - encodedLength); + } + } catch(DataFormatException e) { + throw new RuntimeException(e); + } + + if(encodedLength < output.length * 6) { + Log.error("needsInput = " + inflater.needsInput()); + throw new RuntimeException("Encoded length " + encodedLength + " is shorter than output length " + output.length * 6 + "."); + } + + int lastAlpha = 0, lastY = 0, lastCb = 256, lastCr = 256; + for(int outputOffset = 0, YOffset = output.length, CbOffset = output.length * 2, CrOffset = output.length * 4; outputOffset < output.length; outputOffset++, YOffset++, CbOffset++, CrOffset++) { + /* Extract alpha channel delta */ + int deltaAlpha = encodedPixels[outputOffset] & 0xFF; + + /* Differential transform with overflow wrapping */ + int alpha = (lastAlpha + deltaAlpha) & 0xFF; + lastAlpha = alpha; + + /* Color channel deltas are always zero when alpha is zero */ + if(alpha == 0) { + output[outputOffset] = 0; + ++CbOffset; + ++CrOffset; + } else { + /* Extract color channel deltas */ + int deltaY = encodedPixels[YOffset] & 0xFF; + int deltaCb = ((encodedPixels[CbOffset++] & 0xFF) << 8) | (encodedPixels[CbOffset] & 0xFF); + int deltaCr = ((encodedPixels[CrOffset++] & 0xFF) << 8) | (encodedPixels[CrOffset] & 0xFF); + + /* Differental transform with overflow wrapping */ + int Y = (lastY + deltaY) & 0xFF; + int Cb = (lastCb + deltaCb) & 0x1FF; + int Cr = (lastCr + deltaCr) & 0x1FF; + lastY = Y; + lastCb = Cb; + lastCr = Cr; + + /* Inverse color transform */ + Cb -= 256; + Cr -= 256; + int green = Y - ((Cb + Cr) >> 2); + int red = Cr + green; + int blue = Cb + green; + + output[outputOffset] = Pixels.pack(alpha, red, green, blue); + } + } + } +} diff --git a/src/com/jotuntech/sketcher/common/Pixels.java b/src/com/jotuntech/sketcher/common/Pixels.java new file mode 100755 index 0000000..795eac9 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/Pixels.java @@ -0,0 +1,129 @@ +package com.jotuntech.sketcher.common; + + +public class Pixels { + private final static int RANDOM_SIZE = 3079; + private static int[] randomNumbers; + private static int randomCounter; + + public static int random() { + if(randomNumbers == null) { + randomNumbers = new int[RANDOM_SIZE]; + for(int i = 0; i < RANDOM_SIZE; i++) { + randomNumbers[i] = (int) Math.round(Math.random() * 255f); + } + } + + randomCounter %= RANDOM_SIZE; + return randomNumbers[randomCounter++]; + } + + /* + public final static int squareRoot(int a_nInput) + { + int op = a_nInput; + int res = 0; + int one = 1 << 30; // The second-to-top bit is set: use 1u << 14 for uint16_t type; use 1uL<<30 for int type + + // "one" starts at the highest power of four <= than the argument. + while (one > op) { + one >>= 2; + } + + while (one != 0) { + if (op >= res + one) { + op = op - (res + one); + res = res + 2 * one; + } + res >>= 1; + one >>= 2; + } + + // Do arithmetic rounding to nearest integer + if (op > res) { + res++; + } + + return res; + } + */ + + public static int lerp(int destination, int source, int alpha) { + /* mask destination */ + int destinationRB = destination & 0x00FF00FF; + int destinationAG = destination >>> 8 & 0x00FF00FF; + + /* mask source */ + int sourceRB = source & 0x00FF00FF; + int sourceAG = source >>> 8 & 0x00FF00FF; + + /* calc difference */ + int deltaRB = sourceRB - destinationRB; + int deltaAG = sourceAG - destinationAG; + + /* scale difference by alpha */ + deltaRB *= alpha; + deltaAG *= alpha; + deltaRB >>>= 8; + deltaAG >>>= 8; + + /* add delta to destination and mask */ + int RB = (deltaRB + destinationRB) & 0x00FF00FF; + int AG = (deltaAG + destinationAG) << 8 & 0xFF00FF00; + + return RB | AG; + } + + public static int getChannel0(int pixel) { + return pixel >>> 24; + } + + public static int getChannel1(int pixel) { + return (pixel >>> 16) & 0xFF; + } + + public static int getChannel2(int pixel) { + return (pixel >>> 8) & 0xFF; + } + + public static int getChannel3(int pixel) { + return pixel & 0xFF; + } + + public static int stripChannel0(int pixel) { + return pixel & 0xFFFFFF; + } + + public static int pack(int c1, int c2, int c3) { + return (c1 << 16) | (c2 << 8) | c3; + } + + public static int pack(int c0, int color) { + return (c0 << 24) | color; + } + + public static int pack(int c0, int c1, int c2, int c3) { + return (c0 << 24) | (c1 << 16) | (c2 << 8) | c3; + } + + private final static float a = 0.055f; + + public static float gammaDecode(float v) { + v /= 255f; + if(v <= 0.04045d) { + v /= 12.92d; + } else { + v = (float) Math.pow((v + a) / (1d + a), 2.4f); + } + return v; + } + + public static int gammaEncode(float v) { + if(v <= 0.0031308) { + v *= 12.92d; + } else { + v = (1f + a) * (float) Math.pow(v, 1 / 2.4f) - a; + } + return Math.round(v * 255f); + } +} diff --git a/src/com/jotuntech/sketcher/common/Streamable.java b/src/com/jotuntech/sketcher/common/Streamable.java new file mode 100755 index 0000000..f10c4ac --- /dev/null +++ b/src/com/jotuntech/sketcher/common/Streamable.java @@ -0,0 +1,13 @@ +package com.jotuntech.sketcher.common; + +import java.nio.ByteBuffer; + +/** + * Abstract class for streamable objects. + * + * @author Thor Harald Johansen + */ +public interface Streamable { + public abstract void decode(ByteBuffer in); + public abstract void encode(ByteBuffer out); +} diff --git a/src/com/jotuntech/sketcher/common/StreamableUtils.java b/src/com/jotuntech/sketcher/common/StreamableUtils.java new file mode 100755 index 0000000..168c4f0 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/StreamableUtils.java @@ -0,0 +1,17 @@ +package com.jotuntech.sketcher.common; + +import java.io.IOException; +import java.nio.ByteBuffer; + +/** Utility methods for the DataIO interface. + * @author Thor Harald Johansen + * + */ +public class StreamableUtils { + public static Streamable create(String className, ByteBuffer in) throws IOException, IllegalAccessException, ClassNotFoundException, InstantiationException { + Streamable streamable = (Streamable)Class.forName(className).newInstance(); + streamable.decode(in); + return streamable; + } + +} diff --git a/src/com/jotuntech/sketcher/common/TwoWayHashMap.java b/src/com/jotuntech/sketcher/common/TwoWayHashMap.java new file mode 100755 index 0000000..a7d16e0 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/TwoWayHashMap.java @@ -0,0 +1,194 @@ +package com.jotuntech.sketcher.common; + +import java.util.Collection; +import java.util.IdentityHashMap; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +/** + * This map is for storing values with keys. A value can be located + * with a key and vice versa. This class will assume that no mutations to the keys + * are made. Values may implement Copyable to get included in copy() operations + * performed on the map. + * + * @author Thor Harald Johansen + * + * @param Type of values this map will store + */ +public class TwoWayHashMap implements Map, Copyable> { + private Map keyMap; + private Map valueMap; + private List changeListeners; + private Integer autoKey; + + /** Create new integer map */ + public TwoWayHashMap() { + keyMap = new LinkedHashMap(); + valueMap = new IdentityHashMap(); + changeListeners = new LinkedList(); + autoKey = new Integer(1); + } + + @SuppressWarnings("unchecked") + public TwoWayHashMap(TwoWayHashMap map) { + keyMap = new LinkedHashMap(); + valueMap = new IdentityHashMap(); + changeListeners = new LinkedList(); + autoKey = map.autoKey; + + for(Map.Entry e : map.keyMap.entrySet()) { + if(e.getValue() instanceof Copyable) { + put(e.getKey(), ((Copyable)e.getValue()).copy()); + } else { + put(e.getKey(), e.getValue()); + } + } + } + + /** Insert value into map under specified key */ + public V put(K key, V value) { + /** Put key into key map, store old value */ + V oldValue = keyMap.put(key, value); + + /** Remove old value from value map */ + valueMap.remove(oldValue); + + /** Put value into value map */ + valueMap.put(value, key); + + /** Notify change listener method */ + change(); + + /** Return old value */ + return oldValue; + } + + /** Insert value into map and auto-assign key + * + * @return Auto-assigned key + */ + @SuppressWarnings("unchecked") + public K put(V value) { + /** Put value into map */ + put((K) autoKey, value); + + /** Increment auto key and return previous one */ + return (K) autoKey++; + } + + /** Remove entry for specified key from map + * + * @return Entry that was removed, or null if no such entry. + */ + public V remove(Object key) { + /** Remove key from key map, store old value */ + V oldValue = keyMap.remove(key); + + /** Remove old value from value map */ + valueMap.remove(oldValue); + + /** Notify change listener method */ + change(); + + /** Return old value */ + return oldValue; + } + + /** Remove entry for specified value from map + * + * @return Key of entry that was removed, or null if no such entry. + */ + public K removeByValue(V value) { + /** Remove old value from value map, store old key */ + K oldKey = valueMap.remove(value); + + /** Remove old key from key map */ + keyMap.remove(oldKey); + + /** Notify change listener method */ + change(); + + /** Return old key */ + return oldKey; + } + + /** Get value for specified key */ + public V get(Object key) { + return keyMap.get(key); + } + + /** Get key for specified value */ + public K getKeyForValue(V value) { + return valueMap.get(value); + } + + /** Get entry set from map */ + public Set> entrySet() { + return keyMap.entrySet(); + } + + /** Get set of keys from map */ + public Set keySet() { + return keyMap.keySet(); + } + + /** Get collection of values from map */ + public Collection values() { + return keyMap.values(); + } + + public void addChangeListener(ChangeListener l) { + changeListeners.add(l); + } + + /** Notify listeners of change to map */ + public void change() { + for(ChangeListener l : changeListeners) { + l.stateChanged(new ChangeEvent(this)); + } + } + + public TwoWayHashMap copy() { + return new TwoWayHashMap(this); + } + + public void clear() { + keyMap.clear(); + valueMap.clear(); + change(); + } + + public void setNextKey(Integer nextKey) { + this.autoKey = nextKey; + } + + public Integer getNextKey() { + return autoKey; + } + + public boolean containsKey(Object key) { + return keyMap.containsKey(key); + } + + public boolean containsValue(Object value) { + return valueMap.containsKey(value); + } + + public boolean isEmpty() { + return keyMap.isEmpty(); + } + + public void putAll(Map m) { + throw new UnsupportedOperationException(); + } + + public int size() { + return keyMap.size(); + } +} diff --git a/src/com/jotuntech/sketcher/common/UndoData.java b/src/com/jotuntech/sketcher/common/UndoData.java new file mode 100755 index 0000000..ebea625 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/UndoData.java @@ -0,0 +1,8 @@ +package com.jotuntech.sketcher.common; + + +public interface UndoData { + public void reset(); + public void decode(byte[] in); + public byte[] encode(); +} diff --git a/src/com/jotuntech/sketcher/common/UndoEntry.java b/src/com/jotuntech/sketcher/common/UndoEntry.java new file mode 100755 index 0000000..ef2c540 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/UndoEntry.java @@ -0,0 +1,24 @@ +package com.jotuntech.sketcher.common; + +import java.lang.ref.WeakReference; + +public class UndoEntry { + private WeakReference layer; + private UndoData undoData; + + public void setLayer(Layer layer) { + this.layer = new WeakReference(layer); + } + + public Layer getLayer() { + return layer.get(); + } + + public void setUndoData(UndoData undoData) { + this.undoData = undoData; + } + + public UndoData getUndoData() { + return undoData; + } +} diff --git a/src/com/jotuntech/sketcher/common/User.java b/src/com/jotuntech/sketcher/common/User.java new file mode 100755 index 0000000..4c0ef1a --- /dev/null +++ b/src/com/jotuntech/sketcher/common/User.java @@ -0,0 +1,136 @@ +package com.jotuntech.sketcher.common; + +import java.awt.Rectangle; +import java.lang.ref.WeakReference; +import java.util.Deque; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.Map; + + +/** + * User context specific data + * + * @author Thor Harald Johansen + */ +public class User implements Comparable { + /** User's name */ + private String name; + + /** Viewer status */ + private boolean viewer; + + /** Current layer */ + private WeakReference layer = new WeakReference(null); + + /** Phantom layer */ + private Layer phantomLayer; + + /** Current brush */ + private Brush brush; + + /** Current color */ + private int color = 0x000000; + + /** Current cursor */ + private Input cursor = new Input(0f, 0f); + + /** Undo deque */ + private Deque undoDeque = new LinkedList(); + + /** Tag position */ + private Rectangle tag = new Rectangle(Short.MAX_VALUE, Short.MAX_VALUE, Short.MAX_VALUE, Short.MAX_VALUE); + + /** Attributes */ + private Map attributes = new HashMap(); + + + public User() { + this.phantomLayer = new BitmapLayer("Phantom Layer"); + } + + public User(String name) { + this.name = name; + this.phantomLayer = new BitmapLayer(name + " Phantom Layer"); + } + + public int compareTo(User o) { + return getName().compareTo(((User)o).getName()); + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setLayer(Layer layer) { + this.layer = new WeakReference(layer); + } + + public Layer getLayer() { + return layer.get(); + } + + public void setBrush(Brush brush) { + this.brush = brush; + } + + public Brush getBrush() { + return brush; + } + + public void setColor(int color) { + this.color = color; + } + + public int getColor() { + return color; + } + + public void setCursor(Input cursor) { + this.cursor = cursor; + } + + public Input getCursor() { + return cursor; + } + + public void setTag(Rectangle tag) { + this.tag = tag; + } + + public Rectangle getTag() { + return tag; + } + + public void setPhantomLayer(Layer phantomLayer) { + this.phantomLayer = phantomLayer; + } + + public Layer getPhantomLayer() { + return phantomLayer; + } + + public void setAttribute(String key, Object value) { + attributes.put(key, value); + } + + public Object getAttribute(String key) { + return attributes.get(key); + } + + public Deque getUndoDeque() { + return undoDeque; + } + + public void setViewer(boolean viewer) { + this.viewer = viewer; + } + + public boolean isViewer() { + return viewer; + } +} diff --git a/src/com/jotuntech/sketcher/common/filter/AutoContrastFilter.java b/src/com/jotuntech/sketcher/common/filter/AutoContrastFilter.java new file mode 100755 index 0000000..02edb70 --- /dev/null +++ b/src/com/jotuntech/sketcher/common/filter/AutoContrastFilter.java @@ -0,0 +1,101 @@ +package com.jotuntech.sketcher.common.filter; + +import com.jotuntech.sketcher.common.Pixels; + +public class AutoContrastFilter implements Filter { + int[] alphaHistogram, colorHistogram; + int alphaBlackPoint, alphaWhitePoint, colorBlackPoint, colorWhitePoint, totalPixels, alphaRange, colorRange; + float maxBlackFraction, maxWhiteFraction; + + public AutoContrastFilter() { + + } + + public void setSize(int width, int height) { } + + public void setParameterA(float a) { + maxBlackFraction = a; + } + + public void setParameterB(float b) { + maxWhiteFraction = b; + } + + public void setParameterC(float c) { } + + public boolean isPass1ReadOnly() { + return true; + } + + public boolean hasPass2() { + return true; + } + + public boolean isPass2Reversed() { + return false; + } + + public void startPass1() { + totalPixels = 0; + alphaHistogram = new int[256]; + colorHistogram = new int[256]; + } + + public int processPass1Pixel(int pixel) { + int alpha = Pixels.getChannel0(pixel); + if(alpha > 0) { + ++alphaHistogram[alpha]; + ++colorHistogram[(Pixels.getChannel1(pixel) + (Pixels.getChannel2(pixel) << 1) + Pixels.getChannel3(pixel)) >> 2]; + ++totalPixels; + } + return pixel; + } + + public void startPass2() { + int maxBlackPixels = (int) Math.ceil(maxBlackFraction * totalPixels); + int maxWhitePixels = (int) Math.ceil(maxWhiteFraction * totalPixels); + + alphaBlackPoint = 0; + for(int alphaBlackPixels = 0; alphaBlackPixels + alphaHistogram[alphaBlackPoint] <= maxBlackPixels && alphaBlackPoint < alphaHistogram.length; alphaBlackPixels += alphaHistogram[alphaBlackPoint++]) { } + + alphaWhitePoint = alphaHistogram.length - 1; + for(int alphaWhitePixels = 0; alphaWhitePixels + alphaHistogram[alphaWhitePoint] <= maxWhitePixels && alphaWhitePoint >= 0; alphaWhitePixels += alphaHistogram[alphaWhitePoint--]) { } + + System.err.println("alphaBlackPoint = " + alphaBlackPoint); + System.err.println("alphaWhitePoint = " + alphaWhitePoint); + + alphaRange = alphaWhitePoint - alphaBlackPoint; + + if(alphaRange <= 0) { + alphaBlackPoint = 0; + alphaWhitePoint = 255; + alphaRange = 255; + } + + colorBlackPoint = 0; + for(int colorBlackPixels = 0; colorBlackPixels + colorHistogram[colorBlackPoint] <= maxBlackPixels && colorBlackPoint < colorHistogram.length; colorBlackPixels += colorHistogram[colorBlackPoint++]) { } + + colorWhitePoint = colorHistogram.length - 1; + for(int colorWhitePixels = 0; colorWhitePixels + colorHistogram[colorWhitePoint] <= maxWhitePixels && colorWhitePoint >= 0; colorWhitePixels += colorHistogram[colorWhitePoint--]) { } + + System.err.println("colorBlackPoint = " + colorBlackPoint); + System.err.println("colorWhitePoint = " + colorWhitePoint); + + colorRange = colorWhitePoint - colorBlackPoint; + + if(colorRange <= 0) { + colorBlackPoint = 0; + colorWhitePoint = 255; + colorRange = 255; + } + } + + public int processPass2Pixel(int pixel) { + int alpha = Math.min(255, Math.max(0, Pixels.getChannel0(pixel) - alphaBlackPoint) * 255 / alphaRange); + int red = Math.min(255, Math.max(0, Pixels.getChannel1(pixel) - colorBlackPoint) * 255 / colorRange); + int green = Math.min(255, Math.max(0, Pixels.getChannel2(pixel) - colorBlackPoint) * 255 / colorRange); + int blue = Math.min(255, Math.max(0, Pixels.getChannel3(pixel) - colorBlackPoint) * 255 / colorRange); + return Pixels.pack(alpha, red, green, blue); + } + +} diff --git a/src/com/jotuntech/sketcher/common/filter/BlurFilter.java b/src/com/jotuntech/sketcher/common/filter/BlurFilter.java new file mode 100755 index 0000000..fe6144e --- /dev/null +++ b/src/com/jotuntech/sketcher/common/filter/BlurFilter.java @@ -0,0 +1,120 @@ +package com.jotuntech.sketcher.common.filter; + +import com.jotuntech.sketcher.common.Pixels; + +public class BlurFilter implements Filter { + float xAlpha, xRed, xGreen, xBlue, cutoff; + float[] yAlpha, yRed, yGreen, yBlue; + int width, height, x, y; + boolean xAlphaWait = false; + boolean[] yAlphaWait; + + public BlurFilter() { + + } + + public void setSize(int width, int height) { + this.width = width; + this.height = height; + } + + public void setParameterA(float a) { + this.cutoff = 1 / a; + } + + public void setParameterB(float b) { } + + public void setParameterC(float c) { } + + public int processPass1Pixel(int pixel) { + float inAlpha = Pixels.getChannel0(pixel); + float inRed = Pixels.getChannel1(pixel); + float inGreen = Pixels.getChannel2(pixel); + float inBlue = Pixels.getChannel3(pixel); + + float outAlpha, outRed, outGreen, outBlue; + if(x == 0) { + xAlpha = inAlpha; + xRed = inRed; + xGreen = inGreen; + xBlue = inBlue; + } else { + xAlpha += (inAlpha - xAlpha) * cutoff; + if(inAlpha < 1) { + xAlphaWait = true; + } else { + xAlphaWait = false; + xRed += (inRed - xRed) * cutoff; + xGreen += (inGreen - xGreen) * cutoff; + xBlue += (inBlue - xBlue) * cutoff; + } + } + + if(y == 0) { + outAlpha = xAlpha; + outRed = xRed; + outGreen = xGreen; + outBlue = xBlue; + } else { + outAlpha = yAlpha[x] + (xAlpha - yAlpha[x]) * cutoff; + if(xAlpha < 1) { + yAlphaWait[x] = true; + outRed = yRed[x]; + outGreen = yGreen[x]; + outBlue = yBlue[x]; + } else { + yAlphaWait[x] = false; + outRed = yRed[x] + (xRed - yRed[x]) * cutoff; + outGreen = yGreen[x] + (xGreen - yGreen[x]) * cutoff; + outBlue = yBlue[x] + (xBlue - yBlue[x]) * cutoff; + } + } + + yAlpha[x] = outAlpha; + yRed[x] = outRed; + yGreen[x] = outGreen; + yBlue[x] = outBlue; + + if(++x == width) { + x = 0; + ++y; + } + + return Pixels.pack((int) outAlpha, (int) outRed, (int) outGreen, (int) outBlue); + } + + public int processPass2Pixel(int pixel) { + return processPass1Pixel(pixel); + } + + public boolean isPass1ReadOnly() { + return false; + } + + public boolean hasPass2() { + return true; + } + + public boolean isPass2Reversed() { + return true; + } + + public void startPass1() { + x = 0; + y = 0; + xAlpha = 0; + xRed = 0; + xGreen = 0; + xBlue = 0; + yAlpha = new float[width]; + yRed = new float[width]; + yGreen = new float[width]; + yBlue = new float[width]; + xAlphaWait = false; + yAlphaWait = new boolean[width]; + } + + public void startPass2() { + startPass1(); + } +} diff --git a/src/com/jotuntech/sketcher/common/filter/Filter.java b/src/com/jotuntech/sketcher/common/filter/Filter.java new file mode 100755 index 0000000..6a0a2ad --- /dev/null +++ b/src/com/jotuntech/sketcher/common/filter/Filter.java @@ -0,0 +1,15 @@ +package com.jotuntech.sketcher.common.filter; + +public interface Filter { + public void setSize(int width, int height); + public void setParameterA(float a); + public void setParameterB(float b); + public void setParameterC(float c); + public boolean isPass1ReadOnly(); + public boolean hasPass2(); + public boolean isPass2Reversed(); + public void startPass1(); + public int processPass1Pixel(int pixel); + public void startPass2(); + public int processPass2Pixel(int pixel); +} diff --git a/src/com/jotuntech/sketcher/server/AccessController.java b/src/com/jotuntech/sketcher/server/AccessController.java new file mode 100755 index 0000000..3b0486e --- /dev/null +++ b/src/com/jotuntech/sketcher/server/AccessController.java @@ -0,0 +1,11 @@ +package com.jotuntech.sketcher.server; + +import com.jotuntech.sketcher.common.User; + +public interface AccessController { + boolean isLoginAllowed(Server server, String login, String password); + boolean isKickAllowed(Server server, User source, User target); + boolean isMessageAllowed(Server server, User source, String message); + boolean isLayerActionAllowed(Server server, User source); + boolean isViewer(Server server, User source); +} diff --git a/src/com/jotuntech/sketcher/server/Command.java b/src/com/jotuntech/sketcher/server/Command.java new file mode 100755 index 0000000..98b1fa9 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/Command.java @@ -0,0 +1,7 @@ +package com.jotuntech.sketcher.server; + +import com.jotuntech.sketcher.common.Streamable; + +public interface Command extends Streamable { + public int perform(Server server, Connection connection); +} diff --git a/src/com/jotuntech/sketcher/server/CommandEntry.java b/src/com/jotuntech/sketcher/server/CommandEntry.java new file mode 100755 index 0000000..817a6e5 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/CommandEntry.java @@ -0,0 +1,24 @@ +package com.jotuntech.sketcher.server; + +public class CommandEntry { + private Integer sourceKey; + private Command command; + + public CommandEntry(Integer sourceKey, Command command) { + if(sourceKey == null) { + throw new NullPointerException("Source key can't be null."); + } else if(command == null) { + throw new NullPointerException("Command can't be null."); + } + this.sourceKey = sourceKey; + this.command = command; + } + + public Integer getSourceKey() { + return sourceKey; + } + + public Command getCommand() { + return command; + } +} diff --git a/src/com/jotuntech/sketcher/server/Connection.java b/src/com/jotuntech/sketcher/server/Connection.java new file mode 100755 index 0000000..76319ce --- /dev/null +++ b/src/com/jotuntech/sketcher/server/Connection.java @@ -0,0 +1,128 @@ +/** + * + */ +package com.jotuntech.sketcher.server; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.concurrent.ArrayBlockingQueue; + +import com.jotuntech.sketcher.common.User; + +/** + * Client connection + * + * @author Thor Harald Johansen + */ +public class Connection { + /** Return values for Command */ + public final static int SEND_NONE = 0; /** Send to nobody */ + public final static int SEND_SELF = 1; /** Send to self only */ + public final static int SEND_OTHERS = 2; /** Send to others only */ + public final static int SEND_ALL = 3; /** Send to self and others */ + + public final static long MAX_PING = 300000; + + /** Socket channel */ + private SocketChannel channel; + + /** User to which connection belongs. */ + private User user; + + /** Input buffer */ + private ByteBuffer inputBuffer; + + /** Output buffer */ + private ByteBuffer outputBuffer; + + /** Send queue */ + private ArrayBlockingQueue sendQueue = new ArrayBlockingQueue(98304); + + /** Time of death */ + private long timeOfDeath; + + /** Time of last client ping */ + private long lastPing; + + //private Random sendRandom = new Random(0x59A70A401C8CD1EAL); + //private Random recvRandom = new Random(0x707733360A596E0AL); + + public Connection() { + + } + + public Connection(SocketChannel channel) throws IOException { + /** Store socket channel and parent object. */ + this.channel = channel; + + /** Allocate transmission buffers */ + inputBuffer = ByteBuffer.allocate(65538); + outputBuffer = ByteBuffer.allocate(65538); + + /** Disable time of death */ + timeOfDeath = Long.MAX_VALUE; + + /** Set time of last ping */ + lastPing = System.currentTimeMillis(); + } + + /** Set user for connection */ + public void setUser(User user) { + this.user = user; + } + + /** Get user for connection */ + public User getUser() { + return user; + } + + public void setChannel(SocketChannel channel) { + this.channel = channel; + } + + public SocketChannel getChannel() { + return channel; + } + + public ByteBuffer getInputBuffer() { + return inputBuffer; + } + + public ByteBuffer getOutputBuffer() { + return outputBuffer; + } + + public ArrayBlockingQueue getSendQueue() { + return sendQueue; + } + + public void setTimeOfDeath(long timeOfDeath) { + this.timeOfDeath = timeOfDeath; + this.sendQueue.clear(); + } + + public boolean hasTimeOfDeath() { + return timeOfDeath != Long.MAX_VALUE; + } + + public boolean isTimeOfDeath() { + return timeOfDeath != Long.MAX_VALUE && System.currentTimeMillis() >= timeOfDeath; + } + + public void setLastPing(long lastPing) { + this.lastPing = lastPing; + } + + public long getLastPing() { + return lastPing; + } + + //public Random getSendRandom() { + // return sendRandom; + //} + + //public Random getRecvRandom() { + // return recvRandom; + //} +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/server/Server.java b/src/com/jotuntech/sketcher/server/Server.java new file mode 100755 index 0000000..0a423d5 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/Server.java @@ -0,0 +1,713 @@ +package com.jotuntech.sketcher.server; + +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Rectangle; +import java.awt.image.BufferedImage; +import java.awt.image.DataBufferInt; +import java.awt.image.ImageObserver; +import java.io.DataOutputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.ClosedByInterruptException; +import java.nio.channels.ServerSocketChannel; +import java.nio.channels.SocketChannel; +import java.util.HashMap; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.zip.DeflaterOutputStream; + +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.Log; +import com.jotuntech.sketcher.common.StreamableUtils; +import com.jotuntech.sketcher.common.TwoWayHashMap; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.command.KickCommand; +import com.jotuntech.sketcher.server.command.ServerMessageCommand; +import com.jotuntech.sketcher.server.command.SignOutCommand; + +public class Server extends Thread implements ImageObserver { + /** Map of client connections */ + private TwoWayHashMap connectionMap; + + /** Buffer for encoding commands before transmission */ + private ByteBuffer commandBuffer; + + /** Array of active users - always replace instead of mutating */ + private User[] users; + + /** Map of connections - always replace instead of muting */ + private TwoWayHashMap safeConnectionMap; + + /** Layers and pixel information */ + private Canvas canvas; + + /** Custom attributes for the host */ + private Map attributes = new HashMap(); + + /** TCP port number */ + private int port; + + /** Flattened image of canvas */ + private BufferedImage image; + + /** Pixel array for image */ + private int[] pixels; + + /** Dirty rectangle since last merge */ + private Rectangle mergeDirty; + + /** Data output stream for animation data */ + private DataOutputStream animationDOS; + + /** Optional access controller for callback to host */ + private AccessController accessController; + + /** Socket channel that the server listens on */ + private ServerSocketChannel serverChannel; + + /** Set to inject command into server loop for broadcasting to clients */ + private CommandEntry injectCommand; + + /** Millisecond time of last layer cleanup */ + private long lastLayerClean; + + /** Voice chat server */ + private VoiceServer voiceServer; + + /** MOTD text */ + private String motd = null; + + public Server(String name, int port, int width, int height) throws IOException { + super(name); + + this.port = port; + this.users = new User[0]; + this.safeConnectionMap = new TwoWayHashMap(); + + connectionMap = new TwoWayHashMap(); + connectionMap.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent e) { + /** Find number of connections with signed-in users */ + int numUsers = 0; + for(Connection c : connectionMap.values()) { + if(c.getUser() == null) { + continue; + } + + ++numUsers; + } + + /** Allocate array for new user list */ + User[] newUsers = new User[numUsers]; + + /** Populate array with users */ + int index = 0; + for(Connection c : connectionMap.values()) { + if(c.getUser() == null) { + continue; + } + + newUsers[index++] = c.getUser(); + } + + /** Replace array atomically */ + users = newUsers; + + /** Replicate connection map */ + TwoWayHashMap newMap = connectionMap.copy(); + safeConnectionMap = newMap; + } + }); + + canvas = new Canvas(width, height); + + image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + + /** Initialize flattened canvas image by filling it with white */ + Graphics2D g2 = (Graphics2D)image.getGraphics(); + g2.setColor(Color.WHITE); + g2.fillRect(0, 0, canvas.getWidth(), canvas.getHeight()); + g2.dispose(); + + /** Create default layers */ + TwoWayHashMap layerMap = getCanvas().getLayerMap(); + layerMap.put(new BitmapLayer("Sketch")); + layerMap.put(new BitmapLayer("Color")); + layerMap.put(new BitmapLayer("Shadow")); + layerMap.put(new BitmapLayer("Light")); + layerMap.put(new BitmapLayer("Ink")); + layerMap.put(new BitmapLayer("Doodle")); + + /** Receive image updates from canvas */ + canvas.addImageObserver(this); + + /** Allocate buffer to hold command length and data */ + commandBuffer = ByteBuffer.allocate(65538); + + /** Start layer cleanup cycle at a random time for smooth operation of multiple servers */ + lastLayerClean = System.currentTimeMillis() - Math.round(Math.random() * 30000); + + /** Open listening socket */ + serverChannel = ServerSocketChannel.open(); + serverChannel.configureBlocking(false); + serverChannel.socket().bind(new java.net.InetSocketAddress(port)); + Log.info("Sketcher server running on port " + port); + + /** Start voice chat server */ + voiceServer = new VoiceServer(port + 100); + voiceServer.start(); + } + + public Canvas getCanvas() { + return canvas; + } + + public TwoWayHashMap getConnectionMap() { + return connectionMap; + } + + public TwoWayHashMap getSafeConnectionMap() { + return safeConnectionMap; + } + + public User[] getUsers() { + return users; + } + + public void setAttribute(String key, Object value) { + attributes.put(key, value); + } + + public Object getAttribute(String key) { + return attributes.get(key); + } + + public int getPort() { + return port; + } + + public BufferedImage getImage() { + return image; + } + + public void announce(String message) { + Log.info("Announce: " + message); + injectCommand = new CommandEntry(0, new ServerMessageCommand(message)); + } + + public void kick(String username, String reason) { + Log.info("Kick: " + username + " (" + reason + ")"); + /** Kick command was initialized with a name, and not a key, so we must look it up */ + for(Map.Entry e : getSafeConnectionMap().entrySet()) { + User u = e.getValue().getUser(); + if(u == null) { + continue; + } + if(username.equalsIgnoreCase(u.getName())) { + Command c = new KickCommand(e.getKey(), reason); + c.perform(this, null); + injectCommand = new CommandEntry(0, c); + break; + } + } + } + + public boolean imageUpdate(Image img, int infoflags, int left, int top, int width, int height) { + if(infoflags == ImageObserver.ALLBITS) { + /** Entire image needs an update */ + left = 0; + top = 0; + width = getCanvas().getWidth(); + height = getCanvas().getHeight(); + } else { + left = Math.max(0, Math.min(getCanvas().getWidth() - 1, left)); + top = Math.max(0, Math.min(getCanvas().getHeight() - 1, top)); + width = Math.max(0, Math.min(getCanvas().getWidth(), left + width) - left); + height = Math.max(0, Math.min(getCanvas().getHeight(), top + height) - top); + } + + Graphics2D g2 = (Graphics2D)image.getGraphics(); + + /** Set clipping rectangle */ + g2.setClip(left, top, width, height); + + /** Composite source over destination */ + AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1); + g2.setComposite(ac); + + /** Clear with white */ + g2.setColor(Color.WHITE); + g2.fillRect(left, top, width, height); + + /** Create a map of layers, showing which of them have phantom layers */ + IdentityHashMap> selectedLayers = new IdentityHashMap>(); + for(Connection c : connectionMap.values()) { + User u = c.getUser(); + + if(u == null) { + continue; + } + + Layer l = u.getLayer(); + + if(l == null) { + continue; + } + + Set us = selectedLayers.get(l); + + if(us == null) { + us = new HashSet(); + selectedLayers.put(l, us); + } + + us.add(u.getPhantomLayer()); + } + + /** Paint layers over it */ + for(Layer l : canvas.getLayerMap().values()) { + Set ls = selectedLayers.get(l); + if(l instanceof BitmapLayer && ls != null) { + ((BitmapLayer) l).draw(g2, ls); + } else { + l.draw(g2); + } + } + + g2.dispose(); + + if(mergeDirty == null) { + mergeDirty = new Rectangle(left, top, width, height); + } else { + mergeDirty.union(new Rectangle(left, top, width, height)); + } + + if(animationDOS != null) { + synchronized(animationDOS) { + try { + animationDOS.writeLong(System.currentTimeMillis()); + animationDOS.writeInt(left); + animationDOS.writeInt(top); + animationDOS.writeInt(width); + animationDOS.writeInt(height); + for(int y = top; y < top + height; y++) { + for(int x = left; x < left + width; x++) { + animationDOS.writeInt(pixels[y * image.getWidth() + x]); + } + } + } catch (IOException e) { + try { animationDOS.close(); } catch (IOException e1) { } + e.printStackTrace(); + } + } + } + + return true; + } + + public void setAccessController(AccessController accessController) { + this.accessController = accessController; + } + + public AccessController getAccessController() { + return accessController; + } + + + public void setAnimationFile(String name) throws IOException { + if(animationDOS != null) { + synchronized(animationDOS) { + animationDOS.close(); + } + } + + animationDOS = new DataOutputStream(new DeflaterOutputStream(new FileOutputStream(name, true))); + } + + public void run() { + try { + while(!interrupted()) { + /** Conserve CPU time when idle */ + sleep(20); + + /** Run layer clean-up every 30 seconds */ + if(lastLayerClean + 30000 < System.currentTimeMillis()) { + /** Cleanup now happens internally and separately on client and server */ + for(Layer l : canvas.getLayerMap().values()) { + /** Clean up layer */ + l.clean(); + } + + /** Time of last layer cleanup is now */ + lastLayerClean = System.currentTimeMillis(); + + //Log.info("Cleaned layers."); + } + + /** Accept and initialize client connections */ + for(SocketChannel channel = serverChannel.accept(); channel != null; channel = serverChannel.accept()) { + channel.configureBlocking(false); + Connection connection = new Connection(channel); + Integer connectionKey = connectionMap.put(connection); + Log.debug("Accepting connection " + connectionKey + " from " + channel.socket().getRemoteSocketAddress()); + } + + /** Broadcast any injected command */ + if(injectCommand != null) { + for(Connection c : connectionMap.values()) { + c.getSendQueue().offer(injectCommand); + } + injectCommand = null; + } + + /** Loop through all client connections */ + for(Map.Entry entry : connectionMap.entrySet()) { + /** Fetch basic information about each connection */ + Integer connectionKey = entry.getKey(); + Connection connection = entry.getValue(); + SocketChannel channel = connection.getChannel(); + + /** All connection specific errors are trapped by this 'try' statement */ + try { + if(!channel.isConnected() && !connection.hasTimeOfDeath()) { + /** Remove closed connection from map */ + connectionMap.remove(connectionKey); + + /** Remove voice chat client if any */ + voiceServer.removeClient(connectionKey); + + if(connection.getUser() != null) { + /** Connection has closed unceremoniously. Broadcast to other clients. */ + CommandEntry commandEntry = new CommandEntry(connectionKey, new SignOutCommand("Connection was closed")); + for(Connection c : connectionMap.values()) { + c.getSendQueue().offer(commandEntry); + } + Log.debug("Connection " + connectionKey + " had no time of death, sent explicit sign-out."); + } + + + Log.debug("Connection " + connectionKey + " was closed."); + + /** The loop must be broken here to avoid a ConcurrentModificationException */ + break; + } else if(connection.isTimeOfDeath()) { + /** Client signed out earlier. Close the channel. */ + try { channel.close(); } catch(IOException e) { } + + /** Remove from connection map */ + connectionMap.remove(connectionKey); + + /** Remove voice chat client if any */ + voiceServer.removeClient(connectionKey); + + Log.debug("Connection " + connectionKey + " has reached time of death and was closed."); + + /** The loop must be broken here to avoid a ConcurrentModificationException */ + break; + } else if(!connection.hasTimeOfDeath() && System.currentTimeMillis() - connection.getLastPing() > Connection.MAX_PING) { + connection.setTimeOfDeath(System.currentTimeMillis() + 5000); + + CommandEntry commandEntry = new CommandEntry(connectionKey, new SignOutCommand("Ping timeout")); + for(Connection c : connectionMap.values()) { + c.getSendQueue().offer(commandEntry); + } + + if(connection.getUser() != null) { + Log.info(connection.getUser().getName() + " has signed out (Ping timeout)."); + } + } + + /** Get buffers for networking */ + ByteBuffer inputBuffer = connection.getInputBuffer(); + ByteBuffer outputBuffer = connection.getOutputBuffer(); + + ArrayBlockingQueue sendQueue = connection.getSendQueue(); + + //Random sendRandom = connection.getSendRandom(); + //Random recvRandom = connection.getRecvRandom(); + + //int startPosition = outputBuffer.position(); + + /** Only check send queue if there is room for a minimal command in the output buffer. */ + while(outputBuffer.remaining() >= 2 + 4 + 1 + 2 && sendQueue.size() > 0) { + /** Peek at the head of the queue */ + CommandEntry e = sendQueue.peek(); + + /** Get command entry fields */ + Integer k = e.getSourceKey(); + Command c = e.getCommand(); + + /** Clear command buffer */ + commandBuffer.clear(); + + /** Write peer key */ + commandBuffer.putInt(k); + + /** Write command name */ + String commandName = c.getClass().getSimpleName(); + commandBuffer.put((byte) (commandName.length() - 1)); + for(int i = 0; i < commandName.length(); i++) { + commandBuffer.putChar(commandName.charAt(i)); + } + + /** Encode and write command data */ + c.encode(commandBuffer); + + /** Flip command buffer before reading */ + commandBuffer.flip(); + + /** Discard command if there is no room for it in the output buffer */ + if(commandBuffer.remaining() + 2 > outputBuffer.remaining()) { + break; + } + + /** Append command length and command data to output buffer */ + outputBuffer.putShort((short) (commandBuffer.remaining() - 1)); + outputBuffer.put(commandBuffer); + + /** Remove command from queue */ + sendQueue.remove(); + } + + //for(int i = startPosition; i < outputBuffer.position(); i++) { + // outputBuffer.put(i, (byte) (outputBuffer.get(i) ^ sendRandom.nextInt(256))); + //} + + /** Flip output buffer */ + outputBuffer.flip(); + + if(outputBuffer.remaining() > 0) { + try { + /** Flush buffer */ + channel.write(outputBuffer); + } catch (IOException e) { + Log.info("Connection" + connectionKey + " was broken (" + e.getMessage() + "). Sending sign-out."); + try { channel.close(); } catch(IOException e2) { } + connectionMap.remove(connectionKey); + CommandEntry commandEntry = new CommandEntry(connectionKey, new SignOutCommand("Connection was broken: " + e.getMessage())); + for(Connection c : connectionMap.values()) { + c.getSendQueue().offer(commandEntry); + } + + /** Remove voice chat client if any */ + voiceServer.removeClient(connectionKey); + + break; + } + } + + /** Prepare output buffer for append */ + outputBuffer.compact(); + + /** Mortal connections are mute and have no voice chat audio */ + if(connection.hasTimeOfDeath()) { + continue; + } + + /** Append socket data to input buffer */ + //startPosition = inputBuffer.position(); + int readResult = channel.read(inputBuffer); + if(readResult == -1) { + /** Close the channel */ + try { channel.close(); } catch(IOException e) { } + + /** Remove from connection map */ + connectionMap.remove(connectionKey); + + /** Broadcast sign-out to other clients */ + CommandEntry commandEntry = new CommandEntry(connectionKey, new SignOutCommand("Connection was closed")); + for(Connection c : connectionMap.values()) { + c.getSendQueue().offer(commandEntry); + } + + /** Remove voice chat client if any */ + voiceServer.removeClient(connectionKey); + + Log.info("Connection " + connectionKey + " reached end of stream. Sending sign-out."); + + /** The loop must be broken here to avoid a ConcurrentModificationException */ + break; + } else if(readResult > 0) { + //for(int i = startPosition; i < inputBuffer.position(); i++) { + // inputBuffer.put(i, (byte) (inputBuffer.get(i) ^ recvRandom.nextInt(256))); + //} + + /** Prepare input buffer for reading */ + inputBuffer.flip(); + + /** Only check input buffer if long enough to hold a minimal command. */ + while(inputBuffer.remaining() >= 2 + 4 + 1 + 2) { + /** Peek at length */ + int commandLength = (inputBuffer.getShort(inputBuffer.position()) & 0xFFFF) + 1; + + /** Only read input buffer if long enough to read entire command. */ + if(inputBuffer.remaining() < commandLength + 2) { + break; + } + + /** We already have the command length */ + inputBuffer.getShort(); + + /** Map data into command buffer */ + ByteBuffer commandBuffer = inputBuffer.slice(); + commandBuffer.limit(commandLength); + + /** Skip command data in input buffer */ + inputBuffer.position(inputBuffer.position() + commandLength); + + /** Ignore peer key from client */ + commandBuffer.getInt(); + + /** Read command name */ + int commandNameLength = (commandBuffer.get() & 0xFF) + 1; + StringBuffer commandNameBuffer = new StringBuffer(); + for(int i = 0; i < commandNameLength; i++) { + commandNameBuffer.append(commandBuffer.getChar()); + } + String commandName = commandNameBuffer.toString(); + + /** Attempt to instanciate command */ + Command command = (Command) StreamableUtils.create("com.jotuntech.sketcher.server.command." + commandName, commandBuffer); + + /** Wrap it in a CommandEntry in case of a broadcast */ + CommandEntry commandEntry = new CommandEntry(connectionKey, command); + + /** Perform the command and check the result */ + switch(command.perform(this, connection)) { + /** Command wishes to be broadcast to all connections */ + case Connection.SEND_ALL: + for(Connection c : connectionMap.values()) { + c.getSendQueue().offer(commandEntry); + } + break; + + /** Command wishes to be broadcast to all but its own connection */ + case Connection.SEND_OTHERS: + for(Connection c : connectionMap.values()) { + if(c != connection) { + c.getSendQueue().offer(commandEntry); + } + } + break; + + /** Command wishes to loop back to the client */ + case Connection.SEND_SELF: + connection.getSendQueue().offer(commandEntry); + break; + + /** Command wishes to be anonymous */ + case Connection.SEND_NONE: + break; + } + } + + /** Prepare input buffer for appending */ + inputBuffer.compact(); + } + } catch (IOException e) { + /** Remove from connection map */ + connectionMap.remove(connectionKey); + + /** Close the channel */ + try { channel.close(); } catch(IOException e2) { } + + if(connection.getUser() != null) { + /** Broadcast sign-out to clients */ + CommandEntry commandEntry = new CommandEntry(connectionKey, new SignOutCommand("Connection was broken: " + e.getMessage())); + for(Connection c : connectionMap.values()) { + c.getSendQueue().offer(commandEntry); + } + } + + /** Remove voice chat client if any */ + voiceServer.removeClient(connectionKey); + + Log.info("Connection " + connectionKey + " was broken (" + e.getMessage() + "). Sending sign-out."); + + /** The loop must be broken here to avoid a ConcurrentModificationException */ + break; + } catch(Throwable t) { + /** We have crashed and must let the client know, so we let connection linger a bit */ + connection.setTimeOfDeath(System.currentTimeMillis() + 5000); + + if(connection.getUser() != null) { + /** Broadcast sign-out to clients */ + CommandEntry commandEntry = new CommandEntry(connectionKey, new SignOutCommand("Connection was crashed: " + t.getClass().getSimpleName())); + for(Connection c : connectionMap.values()) { + c.getSendQueue().offer(commandEntry); + } + } + + Log.error("Connection " + connectionKey + " crashed!"); + Log.error(t); + + /** Remove voice chat client if any */ + voiceServer.removeClient(connectionKey); + + /** The loop must be broken here to avoid a ConcurrentModificationException */ + break; + } + } + + } + } catch(ClosedByInterruptException e) { + Log.info("Server interrupted."); + } catch(InterruptedException e) { + Log.info("Server interrupted."); + } catch(Throwable e) { + Log.error("Server crashed."); + Log.error(e); + } + + /** Shut down the voice server */ + voiceServer.interrupt(); + + /** Close all client connections */ + for(Connection c : connectionMap.values()) { + try { c.getChannel().close(); } catch(IOException e) { } + } + + /** Close server socket channel */ + try { serverChannel.close(); } catch(IOException e) { } + + /** Empty the user list */ + users = new User[0]; + + /** Clear the connection map */ + connectionMap.clear(); + + } + + public VoiceServer getVoiceServer() { + return voiceServer; + } + + public String getMOTD() { + return motd; + } + + public void setMOTD(String motd) { + this.motd = motd; + } + + public void setMergeDirty(Rectangle mergeDirty) { + this.mergeDirty = mergeDirty; + } + + public Rectangle getMergeDirty() { + return mergeDirty; + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/server/Service.java b/src/com/jotuntech/sketcher/server/Service.java new file mode 100755 index 0000000..d2baba2 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/Service.java @@ -0,0 +1,244 @@ +package com.jotuntech.sketcher.server; + +import java.awt.AlphaComposite; +import java.awt.Image; +import java.awt.image.ImageObserver; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.PrintWriter; +import java.util.Properties; +import java.util.Map.Entry; + +import javax.imageio.ImageIO; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.TwoWayHashMap; +import com.jotuntech.sketcher.common.User; + +public class Service { + boolean canvasModified = false; + long motdLastModified = 0; + + public static void main(String[] args) throws Throwable { + new Service().run(args); + } + + private void run(String[] args) throws Throwable { + System.setProperty("java.net.preferIPv4Stack", "true"); + + BufferedReader pbr = new BufferedReader(new FileReader(args[0])); + String propertiesPath = pbr.readLine(); + pbr.close(); + + Properties properties = new Properties(); + properties.load(new FileInputStream(new File(propertiesPath))); + + String serverName = properties.getProperty("server.name", "Rental"); + int port = Integer.valueOf(properties.getProperty("server.port", "10000")); + final File talkFile = new File(properties.getProperty("server.talk", "talk.txt")); + final File userFile = new File(properties.getProperty("server.user", "user.txt")); + String motdFilename = properties.getProperty("server.motd", null); + final File motdFile = motdFilename == null ? null : new File(motdFilename); + String captureFilename = properties.getProperty("server.capture", "capture.jpg"); + final File captureFile = new File(captureFilename); + final File captureTempFile = new File(captureFilename + ".tmp"); + final File saveFile = new File(properties.getProperty("server.save", "save.canvas")); + final File secretFolder = new File(properties.getProperty("server.secret", "secret/")); + final File flagsFile = new File(properties.getProperty("server.flags", "server.flags")); + + AccessController ac = new AccessController() { + public boolean isKickAllowed(Server server, User source, User target) { + try { + BufferedReader br = new BufferedReader(new FileReader(flagsFile)); + String flags = br.readLine(); + br.close(); + + if(flags.indexOf('k') >= 0) { + return true; + } + } catch (IOException e) { } + + return false; + } + + public boolean isLayerActionAllowed(Server server, User source) { + try { + BufferedReader br = new BufferedReader(new FileReader(flagsFile)); + String flags = br.readLine(); + br.close(); + + if(flags.indexOf('l') >= 0) { + return true; + } + } catch (IOException e) { } + + return false; + } + + public boolean isLoginAllowed(Server server, String login, String password) { + try { + File secretFile = new File(secretFolder, login); + + BufferedReader br = new BufferedReader(new FileReader(secretFile)); + String hash = br.readLine(); + br.close(); + + secretFile.delete(); + secretFile.createNewFile(); + + if(password.equals(hash)) { + return true; + } + } catch (IOException e) { } + + return false; + } + + public boolean isMessageAllowed(Server server, User source, String message) { + return true; + } + + public boolean isViewer(Server server, User source) { + return false; + } + }; + + ImageObserver io = new ImageObserver() { + public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) { + canvasModified = true; + return true; + } + }; + + final Server server = new Server(serverName, port, 2048, 1536); + server.setAccessController(ac); + server.getCanvas().addImageObserver(io); + + if(saveFile.exists()) { + FileInputStream fis = new FileInputStream(saveFile); + ObjectInputStream ois = new ObjectInputStream(fis); + + Canvas c = server.getCanvas(); + + TwoWayHashMap layerMap = c.getLayerMap(); + + synchronized(layerMap) { + layerMap.clear(); + + layerMap.setNextKey(ois.readInt()); + + while(ois.available() > 0) { + int k = ois.readInt(); + Layer l = (Layer) ois.readObject(); + if(l.getAlphaRule() == 0) { + l.setAlphaRule(AlphaComposite.SRC_OVER); + } + layerMap.put(k, l); + } + } + + c.imageUpdate(null, ImageObserver.ALLBITS, 0, 0, c.getWidth(), c.getHeight()); + + ois.close(); + } + + server.getConnectionMap().addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent e) { + try { + PrintWriter pw = new PrintWriter(new FileWriter(userFile)); + for(User u : server.getUsers()) { + pw.println(u.getName()); + } + pw.close(); + } catch(Throwable e2) { + e2.printStackTrace(); + } + } + }); + + server.start(); + + Runtime.getRuntime().addShutdownHook(new Thread() { + public void run() { + try { + FileOutputStream fos = new FileOutputStream(saveFile); + ObjectOutputStream oos = new ObjectOutputStream(fos); + + TwoWayHashMap layerMap = server.getCanvas().getLayerMap(); + oos.writeInt(layerMap.getNextKey()); + for(Entry e : layerMap.entrySet()) { + int k = e.getKey(); + Layer l = e.getValue(); + oos.writeInt(k); + oos.writeObject(l); + } + + oos.close(); + } catch(Throwable e) { + e.printStackTrace(); + } + } + }); + + if(!talkFile.exists()) { + talkFile.createNewFile(); + } + + int captureCounter = 0; + + for(;;) { + if(canvasModified && captureCounter % 60 == 0) { + ImageIO.write(server.getImage(), "PNG", captureTempFile); + captureFile.delete(); + captureTempFile.renameTo(captureFile); + canvasModified = false; + } + + if(talkFile.length() > 0) { + BufferedReader br = new BufferedReader(new FileReader(talkFile)); + String line = br.readLine(); + if(line != null) { + if(line.startsWith("kick ")) { + server.kick(line.substring(5), "by room owner"); + } else { + server.announce(line); + } + } + br.close(); + + talkFile.delete(); + talkFile.createNewFile(); + } + + if(motdFile != null && motdFile.lastModified() > motdLastModified) { + motdLastModified = motdFile.lastModified(); + StringBuffer buffer = new StringBuffer(1024); + char[] charBuffer = new char[1024]; + FileReader fr = new FileReader(motdFile); + int charsRead = fr.read(charBuffer); + if(charsRead > 0) { + do { + buffer.append(charBuffer, 0, charsRead); + charsRead = fr.read(charBuffer); + } while(charsRead > 0); + + server.setMOTD(buffer.toString()); + } + fr.close(); + } + + Thread.sleep(5000); + ++captureCounter; + } + } +} diff --git a/src/com/jotuntech/sketcher/server/VoiceServer.java b/src/com/jotuntech/sketcher/server/VoiceServer.java new file mode 100755 index 0000000..e203aaa --- /dev/null +++ b/src/com/jotuntech/sketcher/server/VoiceServer.java @@ -0,0 +1,98 @@ +package com.jotuntech.sketcher.server; + +import java.io.IOException; +import java.net.DatagramSocket; +import java.net.InetSocketAddress; +import java.net.SocketAddress; +import java.nio.ByteBuffer; +import java.nio.channels.DatagramChannel; +import java.util.HashMap; + +public class VoiceServer extends Thread { + public final static int SPEEX_FRAME_BYTES = 640; + private HashMap clients = new HashMap(); + ByteBuffer packetBuffer; + int listenPort; + + public VoiceServer(int listenPort) { + super("VoiceServer"); + this.listenPort = listenPort; + } + + public void run() { + System.err.println("Voice server started."); + packetBuffer = ByteBuffer.allocate(SPEEX_FRAME_BYTES + 8); + + DatagramChannel channel = null; + try { + channel = DatagramChannel.open(); + channel.configureBlocking(true); + DatagramSocket socket = channel.socket(); + socket.bind(new InetSocketAddress(listenPort)); + channel.configureBlocking(false); + + while(!interrupted()) { + sleep(10); + + for(SocketAddress source = channel.receive(packetBuffer); source != null; source = channel.receive(packetBuffer)) { + packetBuffer.flip(); + Integer sourceKey = packetBuffer.getInt(0); + /** Allow only familiar clients */ + if(clients.containsKey(sourceKey)) { + if(clients.get(sourceKey) == null || !clients.get(sourceKey).equals(source)) { + /** Client is familiar but needs to be assigned an address */ + clients.put(sourceKey, (InetSocketAddress) source); + System.err.println("Assigning address " + source + " to client " + sourceKey); + } + synchronized(clients) { + for(InetSocketAddress address : clients.values()) { + if(address == null) { + /** Send only to clients with assigned addresses */ + continue; + } + if(address.equals(source)) { + /** Send only to other clients than source of packet */ + continue; + } + if(channel.send(packetBuffer, address) > 0) { + packetBuffer.flip(); + } else { + System.err.println("Dropped packet."); + } + } + } + } + packetBuffer.clear(); + } + } + } catch(InterruptedException e) { + + } catch (IOException e) { + e.printStackTrace(); + } + + try { + if(channel != null) { + channel.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + + System.err.println("Voice server interrupted."); + } + + public void addClient(Integer peerKey) { + synchronized(clients) { + clients.put(peerKey, null); + } + System.err.println("Added client " + peerKey); + } + + public void removeClient(Integer peerKey) { + synchronized(clients) { + clients.remove(peerKey); + } + System.err.println("Removed client " + peerKey); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/CanvasCommand.java b/src/com/jotuntech/sketcher/server/command/CanvasCommand.java new file mode 100755 index 0000000..edc2572 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/CanvasCommand.java @@ -0,0 +1,36 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class CanvasCommand implements Command { + protected int width, height; + + public CanvasCommand() { + + } + + public CanvasCommand(int width, int height) { + this.width = width; + this.height = height; + } + + public int perform(Server server, Connection connection) { + /** Do nothing on server. */ + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + width = in.getInt(); + height = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(width); + out.putInt(height); + } + +} diff --git a/src/com/jotuntech/sketcher/server/command/CreateLayerCommand.java b/src/com/jotuntech/sketcher/server/command/CreateLayerCommand.java new file mode 100755 index 0000000..1a5a2cc --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/CreateLayerCommand.java @@ -0,0 +1,74 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.AccessController; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.CommandEntry; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class CreateLayerCommand implements Command { + int layerKey; + int type; + String name; + + public CreateLayerCommand() { + + } + + public CreateLayerCommand(int layerKey, int type, String name) { + this.layerKey = layerKey; + this.type = type; + this.name = name; + } + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + + if(user == null) { + /** Connections with users only */ + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + /** Check access controller */ + AccessController controller = server.getAccessController(); + if(controller != null) { + if(!controller.isLayerActionAllowed(server, user)) { + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("You are not allowed to do that."))); + return Connection.SEND_NONE; + } + } + + Layer l = new BitmapLayer(name); + layerKey = server.getCanvas().getLayerMap().put(l); + + return Connection.SEND_ALL; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + type = in.get(); + StringBuffer nameBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + nameBuffer.append(in.getChar()); + } + name = nameBuffer.toString(); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + out.put((byte) type); + for(int i = 0; i < name.length(); i++) { + out.putChar(name.charAt(i)); + } + } + +} diff --git a/src/com/jotuntech/sketcher/server/command/CursorCommand.java b/src/com/jotuntech/sketcher/server/command/CursorCommand.java new file mode 100755 index 0000000..0fcb1ec --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/CursorCommand.java @@ -0,0 +1,58 @@ + +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.Input; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +/** Cursor command. + * @author Thor Harald Johansen + * + */ +public class CursorCommand implements Command { + Input input; + + /** Constructs an Cursor command. */ + public CursorCommand() { + + } + + /** Constructs an Cursor command. + * @param user Source user. + * @param input Cursor position */ + public CursorCommand(Input input) { + this.input = input; + } + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + + if(user == null) { + /** Signed in users only. */ + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + user.setCursor(input); + + /** Return and broadcast. */ + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + input = new Input(); + input.decode(in); + } + + public void encode(ByteBuffer out) { + input.encode(out); + } +} + diff --git a/src/com/jotuntech/sketcher/server/command/DeleteLayerCommand.java b/src/com/jotuntech/sketcher/server/command/DeleteLayerCommand.java new file mode 100755 index 0000000..c7768f7 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/DeleteLayerCommand.java @@ -0,0 +1,86 @@ +package com.jotuntech.sketcher.server.command; + +import java.awt.image.ImageObserver; +import java.nio.ByteBuffer; +import java.util.HashSet; +import java.util.Set; + +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.AccessController; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.CommandEntry; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class DeleteLayerCommand implements Command { + int layerKey; + + public DeleteLayerCommand() { + + } + + public DeleteLayerCommand(int layerKey) { + this.layerKey = layerKey; + } + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + + if(user == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + /** Check access controller */ + AccessController controller = server.getAccessController(); + if(controller != null) { + if(!controller.isLayerActionAllowed(server, user)) { + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("You are not allowed to do that."))); + return Connection.SEND_NONE; + } + } + + Canvas canvas = server.getCanvas(); + Layer layer = canvas.getLayerMap().remove(layerKey); + + if(layer == null) { + return Connection.SEND_NONE; + } + + if(canvas.getImageObserver() != null) { + canvas.getImageObserver().imageUpdate(null, ImageObserver.ALLBITS, 0, 0, canvas.getWidth(), canvas.getHeight()); + } + + // Remove references to layer from undo deque + for(Connection c: server.getConnectionMap().values()) { + Set uers = new HashSet(); + if(c.getUser() == null) { + continue; + } + for(UndoEntry ue : c.getUser().getUndoDeque()) { + if(ue.getLayer() == layer) { + uers.add(ue); + } + } + for(UndoEntry ue : uers) { + c.getUser().getUndoDeque().remove(ue); + } + } + + return Connection.SEND_ALL; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/FilterCommand.java b/src/com/jotuntech/sketcher/server/command/FilterCommand.java new file mode 100755 index 0000000..d473c96 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/FilterCommand.java @@ -0,0 +1,83 @@ +package com.jotuntech.sketcher.server.command; + +import java.awt.AlphaComposite; +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.common.filter.Filter; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class FilterCommand implements Command { + private Filter filter; + private int x, y, w, h; + float a, b, c; + + public FilterCommand() { + + } + + public FilterCommand(Filter filter, float x, float y, float w, float h, float a, float b, float c) { + this.filter = filter; + this.x = (int) x; + this.y = (int) y; + this.w = (int) w; + this.h = (int) h; + this.a = a; + this.b = b; + this.c = c; + } + + public int perform(Server server, Connection connection) { + if(connection.getUser() == null || connection.getUser().getLayer() == null) { + return Connection.SEND_NONE; + } + + User user = connection.getUser(); + + BitmapLayer pl = (BitmapLayer) user.getPhantomLayer(); + filter.setSize(w, h); + filter.setParameterA(a); + user.getLayer().copyTo(pl, null, false, x, y, x, y, w, h); + pl.setAlphaRule(AlphaComposite.SRC); + pl.applyFilter(filter, user.getLayer().getImageObserver(), x, y, w, h); + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + x = (int) in.getFloat(); + y = (int) in.getFloat(); + w = (int) in.getFloat(); + h = (int) in.getFloat(); + a = in.getFloat(); + b = in.getFloat(); + c = in.getFloat(); + + StringBuffer filterNameBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + filterNameBuffer.append(in.getChar()); + } + String filterName = "com.jotuntech.sketcher.common.filter." + filterNameBuffer.toString(); + try { + filter = (Filter) Class.forName(filterName).newInstance(); + } catch (Throwable t) { + t.printStackTrace(); + } + } + + public void encode(ByteBuffer out) { + out.putFloat(x); + out.putFloat(y); + out.putFloat(w); + out.putFloat(h); + out.putFloat(a); + out.putFloat(b); + out.putFloat(c); + String filterName = filter.getClass().getSimpleName(); + for(int i = 0; i < filterName.length(); i++) { + out.putChar(filterName.charAt(i)); + } + } +} diff --git a/src/com/jotuntech/sketcher/server/command/KickCommand.java b/src/com/jotuntech/sketcher/server/command/KickCommand.java new file mode 100755 index 0000000..a26e067 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/KickCommand.java @@ -0,0 +1,73 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.server.AccessController; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.CommandEntry; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class KickCommand implements Command { + int targetKey; + String reason; + + public KickCommand() { + + } + + public KickCommand(int targetKey, String reason) { + this.targetKey = targetKey; + this.reason = reason; + } + + public int perform(Server server, Connection connection) { + if(connection != null && connection.getUser() == null) { + /** Signed in users only. */ + return Connection.SEND_NONE; + } + + /** Locate referenced connection */ + Connection targetConnection = server.getConnectionMap().get(targetKey); + if(targetConnection == null || targetConnection.getUser() == null) { + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("The user you are trying to kick doesn't exist."))); + return Connection.SEND_NONE; + } + + if(connection != null) { + /** Check access controller */ + AccessController controller = server.getAccessController(); + if(controller != null) { + if(!controller.isKickAllowed(server, connection.getUser(), targetConnection.getUser())) { + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("You are not allowed to do that."))); + return Connection.SEND_NONE; + } + } + } + + /** Remove from connection map */ + server.getConnectionMap().remove(targetConnection); + + /** Set time of death */ + targetConnection.setTimeOfDeath(System.currentTimeMillis() + 5000); + + /** Return and broadcast */ + return Connection.SEND_ALL; + } + + public void decode(ByteBuffer in) { + targetKey = in.getInt(); + StringBuffer reasonBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + reasonBuffer.append(in.getChar()); + } + reason = reasonBuffer.toString(); + } + + public void encode(ByteBuffer out) { + out.putInt(targetKey); + for(int i = 0; i < reason.length(); i++) { + out.putChar(reason.charAt(i)); + } + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/server/command/LayerDataCommand.java b/src/com/jotuntech/sketcher/server/command/LayerDataCommand.java new file mode 100755 index 0000000..7c6fbd2 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/LayerDataCommand.java @@ -0,0 +1,40 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class LayerDataCommand implements Command { + int layerKey; + boolean phantom; + byte[] data; + + public LayerDataCommand() { + } + + public LayerDataCommand(int layerKey, boolean phantom, byte[] data) { + this.layerKey = layerKey; + this.phantom = phantom; + this.data = data; + } + + public int perform(Server server, Connection connection) { + /** Not implemented on server */ + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + phantom = in.get() != 0; + data = new byte[in.remaining()]; + in.get(data); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + out.put((byte) (phantom ? 0xFF : 0x00)); + out.put(data); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/LineCommand.java b/src/com/jotuntech/sketcher/server/command/LineCommand.java new file mode 100755 index 0000000..66ba33d --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/LineCommand.java @@ -0,0 +1,76 @@ +/** + * + */ +package com.jotuntech.sketcher.server.command; + +import java.awt.AlphaComposite; +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.Input; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + + +public class LineCommand implements Command { + protected Input input; + + /** Constructs a Daub command */ + public LineCommand() { + + } + + /** Constructs a Daub command. + * @param user Source user. + * @param input Position of new daub. */ + public LineCommand(Input input) { + this.input = input; + } + + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + if(user != null && user.getLayer() != null && user.getBrush() != null) { + Layer l = user.getPhantomLayer(); + l.setOpacity(Math.abs(user.getBrush().getOpacity()) / 255f); + if(user.getBrush().isLockTransparency()) { + l.setAlphaRule(AlphaComposite.SRC_ATOP); + } else if(user.getBrush().getOpacity() >= 0) { + l.setAlphaRule(AlphaComposite.SRC_OVER); + } else { + l.setAlphaRule(AlphaComposite.DST_OUT); + } + + /** Draw line */ + Input end = user.getPhantomLayer().line(user.getCursor(), input, user.getColor(), user.getBrush(), user.getLayer()); + + if(end != null) { + /** Move cursor on success */ + user.setCursor(end); + + /** Return and broadcast */ + return Connection.SEND_OTHERS; + } + } + + /** Return silently */ + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + input = new Input(); + input.decode(in); + } + + public void encode(ByteBuffer out) { + input.encode(out); + } +} + diff --git a/src/com/jotuntech/sketcher/server/command/MergeCommand.java b/src/com/jotuntech/sketcher/server/command/MergeCommand.java new file mode 100755 index 0000000..06f0ad8 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/MergeCommand.java @@ -0,0 +1,50 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; +import java.util.Deque; + +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class MergeCommand implements Command { + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + + if(user == null || user.getLayer() == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + if(user.getPhantomLayer().isEmpty()) { + return Connection.SEND_NONE; + } + + UndoEntry undoEntry = new UndoEntry(); + undoEntry.setLayer(user.getLayer()); + undoEntry.setUndoData(user.getLayer().merge(user.getPhantomLayer())); + Deque undoDeque = user.getUndoDeque(); + undoDeque.addFirst(undoEntry); + while(undoDeque.size() > 10) { + undoDeque.removeLast(); + } + + server.setMergeDirty(null); + + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + + } + + public void encode(ByteBuffer out) { + + } +} diff --git a/src/com/jotuntech/sketcher/server/command/MoveCommand.java b/src/com/jotuntech/sketcher/server/command/MoveCommand.java new file mode 100755 index 0000000..e7b65b5 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/MoveCommand.java @@ -0,0 +1,69 @@ +package com.jotuntech.sketcher.server.command; + +import java.awt.AlphaComposite; +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class MoveCommand implements Command { + private float sx, sy, dx, dy, w, h; + + public MoveCommand() { + + } + + public MoveCommand(float sx, float sy, float dx, float dy, float w, float h) { + this.sx = sx; + this.sy = sy; + this.dx = dx; + this.dy = dy; + this.w = w; + this.h = h; + } + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + if(user == null || user.getLayer() == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + if(user.getPhantomLayer().isEmpty()) { + Layer pl = (BitmapLayer) user.getPhantomLayer(); + pl.setAlphaRule(AlphaComposite.SRC_OVER); + pl.setOpacity(1); + user.getLayer().copyTo(pl, null, false, sx, sy, dx, dy, w, h); + } else { + user.getPhantomLayer().copyTo(user.getPhantomLayer(), user.getLayer().getImageObserver(), true, sx, sy, dx, dy, w, h); + user.getPhantomLayer().clean(); + } + + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + sx = in.getFloat(); + sy = in.getFloat(); + dx = in.getFloat(); + dy = in.getFloat(); + w = in.getFloat(); + h = in.getFloat(); + } + + public void encode(ByteBuffer out) { + out.putFloat(sx); + out.putFloat(sy); + out.putFloat(dx); + out.putFloat(dy); + out.putFloat(w); + out.putFloat(h); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/PingCommand.java b/src/com/jotuntech/sketcher/server/command/PingCommand.java new file mode 100755 index 0000000..f51440e --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/PingCommand.java @@ -0,0 +1,32 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class PingCommand implements Command { + private long timestamp; + + public PingCommand() { + this.timestamp = System.currentTimeMillis(); + } + + public PingCommand(long timestamp) { + this.timestamp = timestamp; + } + + public int perform(Server server, Connection connection) { + connection.setLastPing(System.currentTimeMillis()); + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + timestamp = in.getLong(); + } + + public void encode(ByteBuffer out) { + out.putLong(timestamp); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/SayCommand.java b/src/com/jotuntech/sketcher/server/command/SayCommand.java new file mode 100755 index 0000000..7ed2d79 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/SayCommand.java @@ -0,0 +1,69 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.Log; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.AccessController; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.CommandEntry; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class SayCommand implements Command { + boolean isAction; + String text; + + public SayCommand() { + + } + + public SayCommand(String text, boolean isAction) { + this.isAction = isAction; + this.text = text; + } + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + + if(user == null) { + /** Signed in users only. */ + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("Chat is not permitted in viewer mode. Please sign in to participate."))); + return Connection.SEND_NONE; + } + + AccessController controller = server.getAccessController(); + if(controller != null && !controller.isMessageAllowed(server, connection.getUser(), text)) { + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("You are not allowed to say that."))); + return Connection.SEND_NONE; + } + + if(isAction) { + Log.info("* " + connection.getUser().getName() + text); + } else { + Log.info("<" + connection.getUser().getName() + "> " + text); + } + + return Connection.SEND_ALL; + } + + public void decode(ByteBuffer in) { + isAction = in.get() != 0 ? true : false; + StringBuffer textBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + textBuffer.append(in.getChar()); + } + text = textBuffer.toString(); + } + + public void encode(ByteBuffer out) { + out.put((byte) (isAction ? 0xFF : 0x00)); + for(int i = 0; i < text.length(); i++) { + out.putChar(text.charAt(i)); + } + } +} diff --git a/src/com/jotuntech/sketcher/server/command/ServerMessageCommand.java b/src/com/jotuntech/sketcher/server/command/ServerMessageCommand.java new file mode 100755 index 0000000..c255bb8 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/ServerMessageCommand.java @@ -0,0 +1,37 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class ServerMessageCommand implements Command { + String text; + + public ServerMessageCommand() { + } + + public ServerMessageCommand(String text) { + this.text = text; + } + + public int perform(Server server, Connection connection) { + /** Return silently */ + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + StringBuffer textBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + textBuffer.append(in.getChar()); + } + text = textBuffer.toString(); + } + + public void encode(ByteBuffer out) { + for(int i = 0; i < text.length(); i++) { + out.putChar(text.charAt(i)); + } + } +} diff --git a/src/com/jotuntech/sketcher/server/command/SetBrushCommand.java b/src/com/jotuntech/sketcher/server/command/SetBrushCommand.java new file mode 100755 index 0000000..50daa76 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/SetBrushCommand.java @@ -0,0 +1,49 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.Brush; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class SetBrushCommand implements Command { + Brush brush; + + public SetBrushCommand() { + + } + + public SetBrushCommand(Brush brush) { + this.brush = brush; + } + + public int perform(Server server, Connection connection) { + return perform(connection.getUser()) ? Connection.SEND_OTHERS : Connection.SEND_NONE; + } + + private boolean perform(User user) { + if(user == null) { + /** Signed in users only */ + return false; + } + + if(user.isViewer()) { + return false; + } + + user.setBrush(brush); + + return true; + } + + public void decode(ByteBuffer in) { + brush = new Brush(); + brush.decode(in); + } + + public void encode(ByteBuffer out) { + brush.encode(out); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/SetColorCommand.java b/src/com/jotuntech/sketcher/server/command/SetColorCommand.java new file mode 100755 index 0000000..169af55 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/SetColorCommand.java @@ -0,0 +1,48 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class SetColorCommand implements Command { + static boolean firstWhite = true; + int color; + + public SetColorCommand() { + } + + public SetColorCommand(int color) { + this.color = color; + } + + public int perform(Server server, Connection connection) { + return perform(connection.getUser()) ? Connection.SEND_OTHERS : Connection.SEND_NONE; + } + + private boolean perform(User user) { + if(user == null) { + /** Signed in users only */ + return false; + } + + if(user.isViewer()) { + return false; + } + + user.setColor(color); + + return true; + } + + public void decode(ByteBuffer in) { + color = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(color); + } + +} diff --git a/src/com/jotuntech/sketcher/server/command/SetLayerCommand.java b/src/com/jotuntech/sketcher/server/command/SetLayerCommand.java new file mode 100755 index 0000000..4cad756 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/SetLayerCommand.java @@ -0,0 +1,61 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class SetLayerCommand implements Command { + Integer layerKey; + + public SetLayerCommand() { + } + + public SetLayerCommand(Integer layerKey) { + this.layerKey = layerKey; + } + + public int perform(Server server, Connection connection) { + return perform(server.getCanvas(), connection.getUser()); + } + + private int perform(Canvas canvas, User user) { + if(user == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + if(canvas == null) { + return Connection.SEND_NONE; + } + + Layer layer = canvas.getLayerMap().get(layerKey); + + if(layer == null) { + return Connection.SEND_NONE; + } + + if(user.getLayer() == layer) { + return Connection.SEND_NONE; + } + + user.setLayer(layer); + + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/SignInCommand.java b/src/com/jotuntech/sketcher/server/command/SignInCommand.java new file mode 100755 index 0000000..88341f7 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/SignInCommand.java @@ -0,0 +1,241 @@ +/** + * + */ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; +import java.util.Map; +import java.util.Map.Entry; + +import com.jotuntech.sketcher.common.BitmapUndoData; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.Log; +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.AccessController; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.CommandEntry; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +/** + * @author Thor Harald Johansen + * + */ +public class SignInCommand implements Command { + Integer peerKey; + String login; + String password; + boolean viewer; + + public SignInCommand() { + + } + + public SignInCommand(Integer peerKey, String login, String password, boolean viewer) { + this.peerKey = peerKey; + this.login = login; + this.password = password; + this.viewer = viewer; + } + + public void decode(ByteBuffer in) { + peerKey = in.getInt(); + viewer = in.get() != 0; + int loginLength = (in.get() & 0xFF) + 1; + StringBuffer loginBuffer = new StringBuffer(); + for(int i = 0; i < loginLength; i++) { + loginBuffer.append(in.getChar()); + } + login = loginBuffer.toString(); + + StringBuffer passwordBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + passwordBuffer.append(in.getChar()); + } + password = passwordBuffer.toString(); + } + + public void encode(ByteBuffer out) { + out.putInt(peerKey); + out.put((byte) (viewer ? 0xFF : 0x00)); + out.put((byte) (login.length() - 1)); + for(int i = 0; i < login.length(); i++) { + out.putChar(login.charAt(i)); + } + for(int i = 0; i < password.length(); i++) { + out.putChar(password.charAt(i)); + } + } + + public int perform(Server server, Connection connection) { + AccessController ac = server.getAccessController(); + + if(!ac.isLoginAllowed(server, login, password)) { + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("Access to Sketcher is denied."))); + connection.setTimeOfDeath(System.currentTimeMillis() + 5000); + return Connection.SEND_NONE; + } + + password = new String(); + + /** Kill any zombies */ + for(Map.Entry e : server.getConnectionMap().entrySet()) { + Integer k = e.getKey(); + Connection c = e.getValue(); + User u = c.getUser(); + + if(u != null && u != connection.getUser() && u.getName().equalsIgnoreCase(login)) { + /** Tell duplicate connection to die */ + for(Connection c2 : server.getConnectionMap().values()) { + c2.getSendQueue().offer(new CommandEntry(k, new SignOutCommand("Duplicate user removed"))); + } + c.setTimeOfDeath(System.currentTimeMillis()); + } + } + + /** Create user */ + User user = new User(login); + + /** Assign proper viewer status */ + viewer = ac.isViewer(server, user); + user.setViewer(viewer); + + /** Fetch canvas for context */ + Canvas canvas = server.getCanvas(); + + /** Tell client canvas size */ + connection.getSendQueue().offer(new CommandEntry(0, new CanvasCommand(canvas.getWidth(), canvas.getHeight()))); + + /** Send MOTD if there is any */ + String motd = server.getMOTD(); + if(motd != null) { + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand(motd))); + } + + /** Assign proper peer key */ + peerKey = server.getConnectionMap().getKeyForValue(connection); + + /** Tell client its signed in */ + connection.getSendQueue().offer(new CommandEntry(peerKey, this)); + + //int layerBytes = 0, inflatedBytes = 0; + for(Entry e : server.getCanvas().getLayerMap().entrySet()) { + Integer k = e.getKey(); + Layer l = e.getValue(); + + connection.getSendQueue().offer(new CommandEntry(0, new CreateLayerCommand(k, l.getType(), l.getName()))); + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("Loading layer " + l.getName()))); + + l.reset(); + for(byte[] data = l.encode(); data != null; data = l.encode()) { + connection.getSendQueue().offer(new CommandEntry(0, new LayerDataCommand(k, false, data))); + //layerBytes += data.length; + //inflatedBytes += BitmapTile.SIZE * BitmapTile.SIZE * 4; + } + } + + /** Send user list */ + for(Map.Entry e : server.getConnectionMap().entrySet()) { + Integer k = e.getKey(); + Connection c = e.getValue(); + User u = c.getUser(); + + if(c.hasTimeOfDeath() || u == null || u == connection.getUser()) { + continue; + } + + /** Send user name */ + connection.getSendQueue().offer(new CommandEntry(k, new SignInCommand(e.getKey(), u.getName(), new String(), u.isViewer()))); + + /** If brush is set for user, then send brush */ + if(u.getBrush() != null) { + connection.getSendQueue().offer(new CommandEntry(k, new SetBrushCommand(u.getBrush()))); + } + + /** Send color for user */ + connection.getSendQueue().offer(new CommandEntry(k, new SetColorCommand(u.getColor()))); + + /** If layer is set for user, then send layer */ + Integer layerKey = canvas.getLayerMap().getKeyForValue(u.getLayer()); + if(layerKey != null) { + connection.getSendQueue().offer(new CommandEntry(k, new SetLayerCommand(layerKey))); + } + + /** If cursor is set for user, then send cursor */ + if(u.getCursor() != null) { + connection.getSendQueue().offer(new CommandEntry(k, new CursorCommand(u.getCursor()))); + } + } + + /** Send user associated data */ + for(Map.Entry e : server.getConnectionMap().entrySet()) { + Integer k = e.getKey(); + Connection c = e.getValue(); + User u = c.getUser(); + + if(c.hasTimeOfDeath() || u == null || u == connection.getUser()) { + continue; + } + + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("Loading temporary data for " + u.getName()))); + + /** Send phantom layer data */ + Layer l = u.getPhantomLayer(); + for(byte[] data = l.encode(); data != null; data = l.encode()) { + connection.getSendQueue().offer(new CommandEntry(k, new LayerDataCommand(0, true, data))); + //layerBytes += data.length; + //inflatedBytes += BitmapTile.SIZE * BitmapTile.SIZE * 4; + } + + /** Send undo deque */ + for(UndoEntry ue : u.getUndoDeque()) { + Integer layerKey = canvas.getLayerMap().getKeyForValue(ue.getLayer()); + connection.getSendQueue().offer(new CommandEntry(k, new UndoEntryCommand(layerKey))); + BitmapUndoData bud = (BitmapUndoData) ue.getUndoData(); + bud.reset(); + for(byte[] data = bud.encode(); data != null; data = bud.encode()) { + connection.getSendQueue().offer(new CommandEntry(k, new UndoDataCommand(data))); + } + } + } + + /** Assign user to connection */ + connection.setUser(user); + + /** Notify connection map listeners */ + server.getConnectionMap().change(); + + /** Add canvas as phantom layer listener */ + user.getPhantomLayer().addImageObserver(server.getCanvas()); + + /** Let the user know that load is complete. */ + connection.getSendQueue().offer(new CommandEntry(0, new ServerMessageCommand("Sketcher is ready."))); + + /** Log event */ + Log.info(login + " has signed in."); + + /** HACK: Broadcast sign-in manually. */ + for(Connection c : server.getConnectionMap().values()) { + if(c.getUser() == user) { + continue; + } + c.getSendQueue().offer(new CommandEntry(peerKey, this)); + } + + /** Set and send default layer */ + for(Map.Entry e : canvas.getLayerMap().entrySet()) { + if("Doodle".equals(e.getValue().getName())) { + user.setLayer(e.getValue()); + for(Connection c : server.getConnectionMap().values()) { + c.getSendQueue().offer(new CommandEntry(peerKey, new SetLayerCommand(e.getKey()))); + } + break; + } + } + + /** Return "silently" */ + return Connection.SEND_NONE; + } +} diff --git a/src/com/jotuntech/sketcher/server/command/SignOutCommand.java b/src/com/jotuntech/sketcher/server/command/SignOutCommand.java new file mode 100755 index 0000000..e3d6f39 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/SignOutCommand.java @@ -0,0 +1,47 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.Log; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class SignOutCommand implements Command { + String message; + + public SignOutCommand() { + message = new String(); + } + + public SignOutCommand(String message) { + this.message = message; + } + + public int perform(Server server, Connection connection) { + /** Set time of death */ + connection.setTimeOfDeath(System.currentTimeMillis()); + + /** Log it */ + if(connection.getUser() != null) { + Log.info(connection.getUser().getName() + " has signed out (" + message + ")."); + } + + /** Return and broadcast */ + return connection.getUser() == null ? Connection.SEND_NONE : Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + StringBuffer messageBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + messageBuffer.append(in.getChar()); + } + message = messageBuffer.toString(); + } + + public void encode(ByteBuffer out) { + for(int i = 0; i < message.length(); i++) { + out.putChar(message.charAt(i)); + } + } +} diff --git a/src/com/jotuntech/sketcher/server/command/UndoCommand.java b/src/com/jotuntech/sketcher/server/command/UndoCommand.java new file mode 100755 index 0000000..6cc8dbd --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/UndoCommand.java @@ -0,0 +1,38 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; +import java.util.Deque; + +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class UndoCommand implements Command { + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + if(user == null) { + return Connection.SEND_NONE; + } + if(user.isViewer()) { + return Connection.SEND_NONE; + } + Deque undoDeque = connection.getUser().getUndoDeque(); + if(undoDeque.size() == 0) { + return Connection.SEND_NONE; + } + UndoEntry undoEntry = undoDeque.removeFirst(); + undoEntry.getLayer().undo(undoEntry.getUndoData()); + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + + } + + public void encode(ByteBuffer out) { + + } +} diff --git a/src/com/jotuntech/sketcher/server/command/UndoDataCommand.java b/src/com/jotuntech/sketcher/server/command/UndoDataCommand.java new file mode 100755 index 0000000..07fdc56 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/UndoDataCommand.java @@ -0,0 +1,32 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class UndoDataCommand implements Command { + byte[] data; + + public UndoDataCommand() { + + } + + public UndoDataCommand(byte[] data) { + this.data = data; + } + + public int perform(Server server, Connection connection) { + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + data = new byte[in.remaining()]; + in.get(data); + } + + public void encode(ByteBuffer out) { + out.put(data); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/UndoEntryCommand.java b/src/com/jotuntech/sketcher/server/command/UndoEntryCommand.java new file mode 100755 index 0000000..1b75754 --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/UndoEntryCommand.java @@ -0,0 +1,31 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class UndoEntryCommand implements Command { + int layerKey; + + public UndoEntryCommand() { + + } + + public UndoEntryCommand(int layerKey) { + this.layerKey = layerKey; + } + + public int perform(Server server, Connection connection) { + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + } +} diff --git a/src/com/jotuntech/sketcher/server/command/VoiceCommand.java b/src/com/jotuntech/sketcher/server/command/VoiceCommand.java new file mode 100755 index 0000000..be03b5e --- /dev/null +++ b/src/com/jotuntech/sketcher/server/command/VoiceCommand.java @@ -0,0 +1,44 @@ +package com.jotuntech.sketcher.server.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Command; +import com.jotuntech.sketcher.server.Connection; +import com.jotuntech.sketcher.server.Server; + +public class VoiceCommand implements Command { + boolean voiceEnabled; + + public VoiceCommand() { + + } + + public VoiceCommand(boolean voiceEnabled) { + this.voiceEnabled = voiceEnabled; + } + + public int perform(Server server, Connection connection) { + User user = connection.getUser(); + if(user == null) { + return Connection.SEND_NONE; + } + if(user.isViewer()) { + return Connection.SEND_NONE; + } + if(voiceEnabled) { + server.getVoiceServer().addClient(server.getConnectionMap().getKeyForValue(connection)); + } else { + server.getVoiceServer().removeClient(server.getConnectionMap().getKeyForValue(connection)); + } + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + voiceEnabled = in.get() != 0; + } + + public void encode(ByteBuffer out) { + out.put((byte) (voiceEnabled ? 0xFF : 0x00)); + } +} diff --git a/src/com/jotuntech/sketcher/tests/CacheTest.java b/src/com/jotuntech/sketcher/tests/CacheTest.java new file mode 100755 index 0000000..8c53d9d --- /dev/null +++ b/src/com/jotuntech/sketcher/tests/CacheTest.java @@ -0,0 +1,54 @@ +package com.jotuntech.sketcher.tests; + + +public class CacheTest { + static int[] intArray; + static short[] shortArray; + + public static void main(String[] args) { + for(int i = 0; i < 1000; i++) { + test(); + } + } + + static private void fillArrays() { + intArray = new int[512]; + shortArray = new short[512]; + for(int i = 0; i < 512; ++i) { + intArray[i] = (int) Math.round(Math.random() * 511d); + shortArray[i] = (short) Math.round(Math.random() * 511d); + } + } + + static private void test() { + fillArrays(); + long intStart = System.nanoTime(); + for(int i = 0; i < 8192; i++) { + testInt(); + } + long intStop = System.nanoTime(); + long intTime = intStop - intStart; + + long shortStart = System.nanoTime(); + for(int i = 0; i < 8192; i++) { + testShort(); + } + long shortStop = System.nanoTime(); + long shortTime = shortStop - shortStart; + + System.err.println("Integer test: " + intTime + " ns"); + System.err.println("Short test: " + shortTime + " ns"); + } + + static private void testInt() { + for(int i = 0; i < 512; ++i) { + intArray[i] ^= intArray[i] >> 1; + } + } + + static private void testShort() { + for(int i = 0; i < 512; ++i) { + shortArray[i] ^= shortArray[i] >> 1; + } + } +} diff --git a/src/com/jotuntech/sketcher/tests/PackBitsTest.java b/src/com/jotuntech/sketcher/tests/PackBitsTest.java new file mode 100755 index 0000000..a50744e --- /dev/null +++ b/src/com/jotuntech/sketcher/tests/PackBitsTest.java @@ -0,0 +1,80 @@ +package com.jotuntech.sketcher.tests; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +import com.jotuntech.sketcher.client.PackBitsOutputStream; + + +public class PackBitsTest { + public static void main(String[] args) { + int x = 120; + x &= 0x1FF; + byte a = (byte) (x >>> 8); + byte b = (byte) x; + int y = ((a & 0xFF) << 8) | (b & 0xFF); + + System.out.println(y); + + byte[] testData = new byte[] { + 1, 2, 3, 4, 5, 5, 5, 5, 6, 5, 5, 5, 6, 7, 8, 9, + 1, 2, 3, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 7, 8, 9, + 1, 2, 3, 4, 5, 5, 4, 3, 2, 5, 6, 5, 6, 7, 8, 9, + 1, 2, 3, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 7, 8, 9, + 1, 2, 3, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 7, 8, 9, + 1, 2, 3, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 7, 8, 9, + 1, 2, 3, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 7, 8, 9, + 1, 2, 3, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 7, 8, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + }; + + byte[] expectedOutput = new byte[] { + 3, 1, 2, 3, 4, -3, 5, 0, 6, -2, 5, 7, 6, 7, 8, 9, 1, + 2, 3, 4, -3, 5, 11, 6, 5, 6, 5, 6, 7, 8, 9, 1, 2, + 3, 4, 1, 5, 5, 13, 4, 3, 2, 5, 6, 5, 6, 7, 8, 9, + 1, 2, 3, 4, -3, 5, 11, 6, 5, 6, 5, 6, 7, 8, 9, 1, + 2, 3, 4, -3, 5, 11, 6, 5, 6, 5, 6, 7, 8, 9, 1, 2, + 3, 4, -3, 5, 11, 6, 5, 6, 5, 6, 7, 8, 9, 1, 2, 3, + 4, -3, 5, 11, 6, 5, 6, 5, 6, 7, 8, 9, 1, 2, 3, 4, + -3, 5, 6, 6, 5, 6, 5, 6, 7, 8, -127, 9, 16, 9, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 + }; + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + DataOutputStream dos = new DataOutputStream(baos); + PackBitsOutputStream pbos = new PackBitsOutputStream(dos); + try { + pbos.write(testData); + pbos.close(); + byte[] output = baos.toByteArray(); + if(output.length != expectedOutput.length) { + System.err.println("Length of output " + output.length + " does not match expected " + expectedOutput.length + "!"); + return; + } + for(int i = 0; i < output.length; i++) { + System.err.print(output[i] + " "); + if(output[i] != expectedOutput[i]) { + System.err.println(); + System.err.println("Output error at index " + i + ": Expected " + expectedOutput[i] + " but got " + output[i] + "!"); + return; + } + if(i % 16 == 0 && i > 0) { + System.err.println(); + } + } + System.err.println(); + System.err.println("Test successful!"); + } catch (IOException e) { + e.printStackTrace(); + } + } +}

2TPF2WpfB&(-5{p{SUTvz!M*{L)u=WL($*T|}0dzM~#m*$FNp?3-Y z%m>)em+lk9qV`eKq;`lCR?~sqR#Py0xx)(hI?VwXU)>TIIgPH`8+e=UxuGsS-S6|f zeHt9Dfz8s5-Y~i~{Hw-{lU~3bwa(}ly}vseLPNPDeK*W%V|^MCFKon`&YGzQ{qq%L zPcU8|>41UIZiuGLuF)Hmv*f?@j6LnfaA7L|kL!Fp?Dg4*xh@Q>j^qEs*gFMQ{w>?W z>8NAdwr#Ux8!NWWj&0kvZQJVDb~?tFbI!isy?ej>&%=CJkH0nNtQs|H)R>6Xg-c7V zp!V8wn^xpvjQ$yQ(4O`nWMyG82_|rc2XAB>GFj(>k^2xDI3swIN;6ymS~rI6e=$?Y ztVm-JkV>WykjSflNo2NL5Zd2)3GF>BL4+Znpd*zq5RgRYt4d@Ja}nAT1qkga2L}$0 zu>=j8YZH>lT6IYrbFpW+Mc6SE<8EtlNnO~Y!d!erUu+Yqv*@QLRA7F`4RMT-*92rFFx9zhI5(0#osP9fOR%9Vat=j^L@%|H9-6CI7E7u}?- zo>Et-(r&1Kw6eO8XK`wS4_^Pc^%STcmMg3=hf2R*d*qAcg$W+^z_MofW9~E?I$LYz zv~ZF)Cshz5#vdh!1#*n2WaySl6Kt&uvx1~xqvaO~*gDf3gp)1eZn^D@SdhHOFkRFU zAADs2?q1ogIC`hkaiu=TbFWr=y-aZIS%jx}4Cw53M{J=3ELNR_gf)qWmWY>OMC*e@ z6Zsor3>u=$>@PxQ=l=eBZ|W|Ne+ zs-iKnSI7T_rW(*w4DblnyfycrG(8E*Eb{kE4)uUzcEbbf{QY)AH1~`&_rRn(K<$QJ zlN{$fO?-~y5MRlYr8MycT#nuJu2*vBTOjn}h;5?x(_Z2pZl$Ma@h0Pst6K@4Lvr>jxCKYztpRa)1niER>;4T&K=qf{)d~}m0_KY}^udo; zdcgsS7N`S9uKN%uf#;v0^ga;$D?q2Jm@frrqXQlUyi~FDCzC0tzgZ*+V$A#=N(DX( z!R|`=Si7iV`4`e^sDR9q%Q*98WNOmWYnlY2&mx-S!0ynw?pL4$`s>wW%)fsdAJ}RV z#GLv)R0w>^ntm$$7`1>ru&0gnK^^6963Ct{F%bZ}qvyK6h7!;;vWT`+V$Ll-;@2dQ zJBx6Z2fKr{ILXD6sGwOcX&mAzWiU{-^vj$DsY4+U`~7=S6=9Tdg>0^elp-Ad6UaBw%`~CJ zp9Okgi_>w2*L3DmU!kme6bCP3O!+^hT0aGokcVV6c#Q11@_yb5r z$Ta_miZbyfwG&@Py#ok4P&md%^5R(AF1x{gj35C|*71DRPIT2y!)9MCKe?LdNesi* zF`)yw-`nU$Q@tq-Q3hik+96q1ct&CEmXkaUJTxZ+C9F>9}tAH_Y@JAYLwE5wq2|iPaOb zd6=l={gzp>JhxS2dO`P^%jw59pvA) z+dMPXi3tn{XcHO;i0Xg2-T$-MMXH-F$SNqGvgs!CPO;66iSxj;DCzk6rJ*YRDij6< zKN6Ew<>$;DB#LEB8JItmw)?sDeq+-anFCao9o#ROpMkprU$YVjixz+{nKYOiOmiB1 zr(1fu68OJfE?t2Np8Eu(^;-{UHScw655Vh{o8G}N6U*yu6uM5@mIE*8*1P>$1x7l% zth89ytJK+#kBli9Vi7QAH9bjdGetXys{GrxGw+SPHI~6N)iNFAQ4zrWL{zwvEC^yN z*DULOHhl=}il5J(7pS)?yV%U%RBUFT8)Z0ASKyM*6m#p**QJK09-ue$;{Lu{UPMq$ zytjs*1^v7Odt}F<1(TghkN=@oRh7;#FGVo-8R@X8Yrg?y-zKF^$61XWiCpQF7n_C{ zD(7aLCIsyvgVRgsm+WLx3=140!KFPGSFXK4Fp5PLNzKan+Vz})XK9436qLi2Po`^^hq8Qz8sFz!NT>l4jE$Gsz6xX@KFLA zH35*p;VFFY%h(yPDx&F1@nJz^YVyY(6B)c3;$nUN2U+!=aCRskn8*Ck$_0b^j*IEhV3!A^mz2 z>6kXW^_XRU#ZsvMe%p(S^lr1Cx!+aRvdpA@vOK3><+|U|>BcK)l`r*We0;ERfx!Y`b&$(mKK|Th`~o)5EB6#2nB#`MLAg*My=yw>$J2s6llr z?=<%hAq%}QwY~XV_fI>@tJZOP%6|PRihuanb+qWNN^h+uv$Yu4Do;6J6?b;^EU=v^ zj|DdAJ9J7dUF)XzhWS=}sZsYZvSz$sV=E1F4RJbzY~mdUOaUIDec zU+=ERgf0-@*gR6gnP@G~rCjQX`?~1kir3HBT}&&%RPA#N0m4g`8RNbECz&(bgh9?B zx4bGhd#2v(v&6`8T^NgOg0BI&x;UcvOeZ7U7=swDFl@kgA36e3X9Pl0XB3R%=yCAK zjnB%KRcm^4U!|Bdc}e7r!VPtVP84?L;`_u3`*FBYF98EOu(Mn1M+eU{h~#a!S+Q*Z zaJ4q>VwYJrk`_OBgVfDHnxYk&<;%=R$J)9U$fz*OXNiy;k-W6!k@b13uwrMQkw!j2 zM(J}WGn@%A+7aE_$e?6K(S=zDKihI2&Y=ME);d2e;1&G*w+C=O^k&w;@6b)wRD#Z1u#*WSV<8w9 zQo;6G^jO|vHaik>oh41=b$(zV4HgQ=H)`(+Bw-UUjzNU<`@j)}@vTKK+{>W8FcEgb z(mYdAq`bL{`9-#rLrsOx>*b_F+n~Iz`P2QFjgN?dKQZ9TV&!p{(MkJAcu{nLi03AW z^RU(Y>Ok8->fZ7P>1^nI#E~Z6*|!+@)>wSPlSUBtBmQs{*RXnj!EK+@yzpxt2YmfU z^P2SU!Bhw^5K#0tHOc;{a{)ZRr_8?|eQs68YFp|tI>#)JPAh;)su_hQCDs`w3HIzc)_)JvBzX6R3JNdGED~y2v zSdCz(NIPq!+7H6SP78g|ff#1lUQUj52K}um{3KuA@@&t4K8;l85pBk zs)acKa8Hv@D1N;%k1iQ`xFpd^ig%LQhYQ=_>p~}nks2_Ri~GlBkbOIjj5&u|SA_PA zfw4ySBwOemS1pUxe!CZhN16DL{hh_hM5}qkt$Y{Kz6qBMB%)ltM5n^Orf_x!hKAat zYO+YE47-b=)?dZHZG(E^7mqa)A zVZI?rH8cDONSMM|;W3sw3E~K!J5#$Pq7`iARxvaKsieX+!Us^B!6I9O`0f^p^!$ZO zb&;?OQ17YJney&7_Rm|;!d)9&XlEWp-KI13@_l#Q7e~=9`yoQbxFM8aL)10!l{6^i zb2rf@4BZj;pzVK06~A+GZK}S{^uzc1Uw}wkJ9mJ=|B+>I|FvD=0|y5e2FG&&Cldp2 zI(XOqsC|SlGgmS9{5Zg zmLXJ~n4DZJ6W%u~R4&0HMgPd@a<-c6U0n_*{rU5E6fKO?ssCcJq97Ww(EAS_&K?F-eC?zu2-OPb;YTJJs3 zJ1Bl=aRM}5b!=|Q%wSnfF<2727?$|;C{Sts0*#ZPDd$z?#3Q=M5K==UHtzcE%PyP2 z8$`DbT@%AXQ`IYH9u9?=AOMkr)&}tTSx%ev%hv2gBiI9m5sC32aFA54s`6^7dw;)9 z7zmZtLs^w_G}z3(^Lh~9n4dqu%ypRb_i655e$)%%9ieScK|PUhM5v}ziJi-iU`wMU zui}g4?=m304V*YspC>_OkU-*KvL@zRw|MEV#m5OtZW~?5LvZ;}_HCM5Yf!Zwra)Si zBazWB?P+q^w4JaucTyo&vUXg?cW5Sr$aZq<`X3<6+BIPL0uy_UVg$9C_^@h@@^*_; zR?Sj9Ku(Tee2IZ+c#Wu(QvkzAFooV$s7ZE^COP zu{5-`y(kl)E-LnY;uYiJ9YB|@wvIc_J>ee2ouJ~VxgggdMNv5UODLU?C!RU#`V z#k?emf9lg6p+D8fFnoYu@08@6XT+VUg_@#1)7@b#q~p$Al$xBU^Omm#n~XSo=r2Vd zzwVZ2+bfsbpbhDa>UHQJQ z$>^1!2vcrFP{$k)#Bf%twxWUT$WlbE~_Lw zn#~|wL?5Q*K++JeY;W=p?cDNqlJPUe6tgvkMAqaSTj1%BGZm&nX%bGfS_jb`R>_1A<(ieCs07(Yq%yBwVC#IH%W-+%_#c7sZXnz>9bGC^S2rVwPvzk89j_ z#XB!!I?rZOhnXjLY$x|P=ZStt&c+=sCK#YW8~kv$hb$SQLKFRADiYW8#MGlhLn-z_ zw!OC%s~`d*h6sxx%A$`l_gg`PuYkk@`Iv-0Y>NnLzfgU|Js-kk5Q`2$bZrf`Q>KuZ zoR1)8CN2Q_`DaQf%;(d4kZY&`M+Cop8ink&sXE!O9V(v@RH6jzm+X0{;no!1N+i;@ ztdNamsHc^Fx-HW5okDjMWfQ-r#q8}b^nVY*DLnkYufAgu;9DQZ@Q?7~zhaS!jotqn zjg;48kd0Bkyw_d0v$AZ~gMcUK=99EsHJS<36Ty-WHLGZ9<#m>!8!nwpldq(ivxpdP z?`m!N?u5KR@ZFdR^o8Y1=@(wm930`+n0tz?O|sHq=&rGB;0!@WXK`DpRG412>vrq6Dg=VX-@l6T zsx4f$Z5&*5Dm;RsOjIvB&Deo0qk6ZVYBX)EtMaOu5$^-@2J5&`iHUlkoTR5AoNU>y zB|l{fP;hG_LEsZr69u*gV=Pi20bAl-%8Ak|DptgptT_%8VSuVyhURJ!C^TB_i#P(7 z?Pg9IScP+IP7?oWO1jdHwFCiX8nJ*2hQ9QE6whrwm~X{rrBR@m6#MHT^yLOqpkQtw zW3dULhPH|g+!Pu~3?!@$TEx+>{w0G(|EmL&LeeQZplVf6sWXY%NH7P0C0>=?r=nhF zhzi$ha8$TJP~ScsH9yj)#So`UifT9IYz|jAFiLZ&XI(Q8zl}WQvK?cJgipzL`=xLF zGviKsB0IxOvnhO+YLytF1-4-RCSV$8v@|oT)2UsJ;3IdT*N$iOSOfOWXwYIr73*rn z4(P(IMYjfj zM^GNn)Lu4$T6nHbz(q@54vX&yTUH6aAyPG_5!sT`a&j!3lW0x#X-ct?5{kD$=B6>4 zv?6lk58dC;ZAsf|TCaI%zyP85#fM%n1hu!md8};S)i2E{(_)3wbf8;;x3S8INgUkz zJrn4m^L`(8LrGWe3-z*mvo3sv&|mm_aTKXBPU|EKj-JpRxx(hT+}y|0Tbv5jGd3`o z^`NmA!m=*9M1X(!CtQcmv9ULbH_II)c(<4$-o$!JLby9@SlnlAA)lI!!SCL3G`3O0 zx1C@#ro2uET3`7{bGelVSbpp}@!(Sb6?ZEw`n190E&8N@ zuWH0VhlyZc;JjS0ANKycHHK}qhKIpm-@JK7g$+qkn;tc-kJ=pfXXv};%y>fL9$FX# zI%0%~nfdTsZ12~2L&~s6*SaBZ4hP+Sz^OMt8tC8kbVDrI!|nbPfq{&#AJH0|^$FoE z_=S`32qAffI$d&8rp8E1p0dcPNSKq}XNe;y*(FQ0r(_#@_E^R)Df;5T%^?RJgjhby zI3f83-jf>%RmT0Cwx$~D6_S%`83f{q&aWSxIDGGU#1_R-XA6is8>)E@&o0)8+pdj- zE{uN$pGYb5ljJtskH$fRqSJyPK(d>=`gj8$?~>!=TB!6i zdb`PU-DNw;{eck`rxhf~;}~kFib6WIO4U#c!!)o?K!xA2kt16HS8YAYI!=M@hASMY z3y>R_-|yUj{FYCv5jRPN#?)FC+tW(cL2lec*P#*3rJC9flPmv>Z>HrncG>RfDZ72! zPE%*7Th=<9RPRuELQCnLobF;S(Q@obqQO$roI`fWrIVd5#5jM|=Hs}pv10`zdLO>p z5&6XI7Ly$%$#C=Is-E#NOTabpDk%BlWwdt$0i3R>%g&EC!Hzcw+psNFD#i((cApvK zd^I*1JDV7NO4aZ}Y;2q9hSTlN{K&FBe+@53hV+vmb|HM(v$jtrc+ z;}j2PBBV}Vh4M4lQq(&b4bB=MZ;r6uQ5Z+Ke^# zi{vnTANCJ2l$#JsoW>XQ86@U0O*Ah!DmW_S9n77aQcot}v_)M+6ND~iQ6mQO+$|$+ zaZEMFY}v^Z7%Z<&2n#S8BiO|~9~jgMxxIURs_oz=L~418^6e)5suTAVg5H_FEK}QG zuEzNlIMU5VVvv44gAI^;$lhBRK~kO$c&B8;*E7*P4zps|Ita7s%7wgw zTv+6qdLc3>w=~i3=MsIZ$Nn`y^6>nNpZl4seNS>@MA+!-KL~I*O)tmy?|#SLH&*)R zyZ-;!mM1B#+bjqmWYNkh3i$z9Q$B6wT0*hjq>~Fl)}tVn(egCPX?YrRKNtUPSMh-* z%#Tl0%Gz@#{II3Q^k*STZkb0Fp_JB*S-5fP(F0@+kntdJ=Pvb}h zjSW&uyS_i7^Bm~9g(bmEEQvNZ5wHpTgUAV*;98w@Cu<7~=(;pP`RAo(Lki*3-HSul z#qMQqQ4%(=mbv3Zl?fKAp=rY4_o*rD8kxHdZVf4^-ItKtJ+m4x%g;SpGli8Q(>@)| z9&8l89ctebW(cNupR!dt*HXRAMR`q_4w-J%hhSNpu-GXFyx6N?Q) zOZGzC00rbgb^iZ#`$&jPs-mer$a-4T@^$V1zIt@Q)*SA zVXab0m^8DHZ!&dX5PvT|>6Wx;yOZOXt3y98x!yK@4$yS1+A!2E1CtUXBin+is3D`L zDjQaXaxD+5=Cecfy#8nYI0ZsF@(YzH(cc7&NHVJWz~Rt$ zyc$B6z?Ce0yW`NOCG^jbUF!~f7!TRMtB#20tGY;?1^cn`C#m8pej!m*7Ny8oK9wr` z8POb(IHcjTcQPai^2K%gdUg6Ew~=-iUk!_#c@DPqEQ;)Po_b#$oX#@#K(Yr&2Kb_h zspHjPs%b09t^J+dgDQM+Qqv86;iH%o*_{P1$y%B`Qf()I1XE`~FIw|v3xM49^7B7P zmgZ45HHGiXDhCM!ME=kJwyo*Ecv6)xMQm{d?}4U@zkhJp*uNo@K zD+l6$enLp9RtVBu5Z0*bJA5cfK$XfT!HNfvD7QAE)e+agHbK z7;P%$4&FR$=Qv##k!|8hovyJL6*z;D4&%8%$bZ!yEw#Wq)r5)VkOAYm&zC*I?-u7i zwGSO_X}(1gz*CeFZ0)uH6P34%8lLXxpe^)Mc*b2~xE6|xA3o7OB##;`A`0BGPlO0@ zqeRZmp3y>M&VccE$4R{1HA_UiX=-9>b(*#)yNASrLvS9ku4R_;Y;=tB#t2Aoa#?tF zp8R_!2IdUw#rwhG>~0behCh|^hLKqmHk({>C5>xJW91lF#*NmTw(#VKC|DE*id9u& zbBi$wCivc02d{GDG*@`A8VL;ZMg{9+G7R&G4kR&5%d|>_CKZICd>;p25(1!A$u>gS zB6Fq;BjYm?z<^Q%o`%z1DcVQOlgyy7BxaluPVV;Ir3vqrR50b~OqFU|Iui~?KyAW` zXBLZA3qc!N;@;-(To)#8-=6oo24xw8o<>3Sb;26qI7B&D=S&5S=KZnW6iH}2SplF+h#(kK9Cz|i)oYd+C@6ed=B1?u9eT|q^3T)PXsha zF)Mh?=^Cz3B|Jn%(YGvwsk-2rtSxhVTwg)y-N{M<_P044*WMxBd4W<9wBYKZGJ`s+ zy7FlD^ep1bwEbXJo+3MMQGSBr)!BzVK~^l_M`A5Gprw82DFUxW*{j#{4_7;Q&@{gC zJ4LhNog>Ssm@<>>*wTwX;T2d~^h4`!0shO5R>_Px;U2VfNfyiB()R*W+GT0mrD+SK zB8F+*EwjIp+0uE1kOxaHK`$$CTi|Ei1GlzkpDOT|%pXJiqPAPy->l z(&RDt`g`5gBYM=~6ei%FLE%p~WeW0s)yf)vw+sc%{sMWEL)72_9uN#ip7$VTxX9pd z-!Yg&+(ZMS*&iSlt`WivJFAvf<Iqd*cHU$&vb}n%NL`B&G9S@)zzkz(b+$J^mt2j(~EmX z&>xOpk-Aa^@i$#DC*QCJjByzNFWyh!Y&eQ*vV35jUfk6YhS$^W}#_~$oJ zCU+TrzFT*N-zpTkOW1sKL`*gS=h=8 znvc%X>O+)-K^`Kt2LRhJFq%0T0t@FC+rU60yV7ab+U@^BBO|ks?!DgF`hiY2Df3OW zyy$IzaXgK5Y&!v2_2oeT0}mV?oxYD1uiLcBwx#QF9JU^oFO1*6IyJ=cYjdA3!l#Uv zWU7J+{&+Jwty1jPwa6UBPv<>N)bTSLN~=iGE+LJj^w?|GsyIfsyno^CHtGAjslhDDdU`7TqVNdHw_$ z7z`yILf)j)6NJ#;NWY9V-S>E^QNpT_Ud0VuX3(HrE|;vy>itL`VACX~*tYjo4Xy+= zjSMLgTnxQnI1q#}z-O>a2m_V6rIW{?tsj5?q_kXOvYutzk^UDP8XJ-LJh@@VjXg#K zqn|-)+%Zp(b*AHyxon6Nn)nX^&qzJ3^53P>ARfGu^zFbma4_0Ui(N<_Nnah1l0B7I zij^ZANXR?JGuZ&I^CB=;SMP33BHXAF4AJZT2I}9Jm$yuuEbQVQFf2{}`TGs<`j%k9 zJl0o5)!XVrWgVpa606+O?t_p{82F6QbMw-|ttzkl^Hwe6)7|Mdr5`n_QD=R91y(VAeegH?W^SPcLz}sQ`@>BkB>{<0S7{eA z>KgVSw-+t7C05LC$Yt2EdY;K3+DZ@(tZiaEZ$JK+x*0lO)u9Hbk=OZ9btrR_LIGMO`9<=RS)*@f2 z8(5N)+ydDaO$*5r3WmBTEeqAn4`y=2MV)XKQdvqk7bzcaC!6Oqk1p3;vou9ZXm!;c zGS&{Jq9WXs49v3 zlL{qZN+*-n%Cei6+UUL5ut;n)ADykmIZ+r>Nh&qE2ogrBltPv)U5A3)I46X5dbY`p zGHzVClCjL(Sx;xE^u#xzsXIVrezre~Wj;Nc%R)V|%2O~|J)S%f8mD!0*0nzGHTwv+ zO&=?U-y^tnzzO8JHVuN4F1dwcdM>3N!)Yae%h@@m_d8;WBS4{ZqUTxEYDnDcP%ZZc zta+C!d-!QJT5HuW=LW}TSoYmtr#0&MmU{RW`*Fv$^EW?7q%Y(6HU*SliYUA;B9i!^ zm~<$QE@}q@CDdrBAqUlXDjHpMn5&(3=E(UTZzmz&(I;n`z4j1z<=lP?Q?10;s!vv<8KyEvm**{_|ks>R==aeji+2 zvO8t;SE~Bd1q%M=j}7B!sIJQOoK+bV)4x~xkraLDX_LCQC2r8@UQWT^esiQ6WsZEB zBqLoSl&aO21rcu8Z=v&*P616y7fYxvM*ML`OM1e7r8!N$kn~8fwIGHE1?oNb7b(RA8!Q) zbTDMI>r5b;$#`DWTOKDIUz{41_n#t{HbA8rERTDTNdc>rxIhOsuYs+5YY@yX@sh}I z%7sAymo6xLcP>i>?h|Om% zCR1Ms7wVSUgeqMe*?2W_KJg{>N%HDLz%1HjFJ+5li{2-=oy;Jpdy>!9{Xzw1>wYCy zP*6Mb1gJ=(&Xn~#rD-hi99|I)`KXRKstaq9Ccw8+4qYzK1vDw+nb!Z}q&_b?FAV+* zJdvEe53$)&QrX3fY5AuqA_!ucu#D+}XS;~Hi^PrQ7-gm$=D``>+)XgoILvj?`J#XD zsy=H*Qx+rR*#>N4Jej8ic^w&1H99ZS1}zpI`!DL-yPNKOor*h-#=J`Sx|7vUd~PFI zIW4f@xxNt3NwLE_zM?v%5xQF0ew#VdyQmI4wY&>F7_(LC+PhQRG&vHqfP=nmG0uCh%#Rn#>fC*Y9tp*g>h6|Rpb7tv>=hXi*hSoqs!QO zm(-%i!bIMocZDByg1m)@eF(BWRN zprl~ILy9@Y6DYz7t`b&p~+i5-Dva#~G7dLcD=S&_q>PUY6t;>S2hKZxBhvzSUL zeoY8pvKujQhb$F{&8nTW|Bi+_-rIvuLEOaB>}}s|p5@2y;OJJg+lvG4E$YnGk1Tp@e__%K0R}@$rysbah|EBg$ZXLD z>KHsNGlA)xVn1`wUe6dkbT8HgGxn+gFJ`<5F?IsR(x@^ap>L;(-r&5)RPA=x)ZLjv zRF-g@Ww?u(vy-*Oyth>r?GaOZPIUoZHkRtERRA;bY^IICHiosfBTR`6E5n8fpo~h_ zYB19TRcnJ-qsS=4fz6)4no=A;QYZ)lwW%7{z)Yg8*J#!qx$RpEO|3%hzE?Ef*)w>D z+V(`IIj}2NB+miBu3)6AqeE6(N?aOyTNzkeiE+a@&g3B{sKcdzz0&#e<>;f@+|oOy z%sv=};92AAypl2kgHpo%mA^1rCs?CX0b*2`2@N3d2(+b+sSAu}=3PW6?6Dbh+0iT9p zxM_=|Mj+btezyh!Lp{D(nS6T(%5nJkpWi+nHAE)eY+3YSd*)&~V(5hZ_3j@WCS zulXL%A4fiai|sRlqJT^Mg$I`JG3<*inomL89crGBvG0R#i#UYo4GyOO;%EmuJwpLajI^%>u7VdIQ zlj3;sks)k43Od2vuwKemn#CfS20Bb@GL&&E)ohQycF-*^W$Oh!bjEc$ulFP<)@S>z zd;5*=`u@|*_w6Yp2Pjjl4?ZUFs7IODAuI!>{?5X;|M4VKD6Y`CzSfPPsAboC}x*c8qgGH6K zK%Y*oiiZAVDIIi1yV_DO{BsI8oVn13cCv%ybndSgys%B#Z2&=SGL3QM$|ZTOMzp7Ct6A!X401 zay1lHUqO1UbOx^YTKB*+M8)S~8{_bFz{#PKKRqTRK$OK~W&c#?PnwPna)?Lsy>X;3#PD~gk{`G+_M zBORB~;BJ7>l-yJR(0&^a8(hdVHyrBQ*|kjbr1R05v{Zb{;QGoN%G|Y8imF1Abt2+^ z85f+{0CZ=-Mt6YC4eyHW1LIy#ev8K6FANX=R@a>$f6T&da|=+#liBPZ7Nl|n!WVWc zrh4%AIfBNKaZ2EmEbn*@6JpNB;McT;LE#f>!qFV~#@|2_x`WNKlmoMVt+Im8MWo;= z&J*SbnrFm_zg@u$5&NxoDmip;cwbhR4|-(6N;FUEFWZ4!|;{7@K79^ZCVhG`55K3#tJ&KA?Z= zFOycd;_o!gRmPx?w8IxJegp35`0eEf-f6r2IFJ^6UiObNodtY5Z0~Bkjcf3q`*EX} zCRSVSc={ec1#00KRv`#x5%h}*d*yL=5}|Vku|;RDLRHV^PQi!7L!LnOY}MaKmy_*1 zbl=`e>Yr6?md-Rs{@i0gvke1AVz_st)ei?VU6a-c$Y|`ubvAyS;cfZI8Z~*tAHZVQ zPucgSLZ2QhhPnQ5>H}*ZZe+SP!44%^;R2nQ=8cVDGpgCw4zX%}`PH0QrvXK2c@03| zT)r-B>*Ls6T0!+*7}<3)Zb(?6Z*l`0m-#G+eWg`GOU|A@tkPEpz%~JxD${-4?Uw1MR!@$7Aff4V^pp5+{NVC)ny@roJ{yjO^ zl=;kod<$b?zY_%WKh_8T_d`{j%&q>FC6W}S9FYVOK7$cd_3vX5qHI~j(1q%cB8`(I z)5?_zIT0Lh*kC|l=o*%d6sHIYyTKQ)4v2z^IBexG;yZeacb zU^vJnsUBet_^a_6kKzUDX!HW#(V@i|s+&{MYV9kCi;+WO3YTF*;bq=QkY4-tRbrN= z_Sx!|mw}%`hhrF+c}_K4L6kW4#ECUReSE}-UB!6vVzQQ_FB81>N5Bhpvr;Xx_#q9X z8`M*{rsX-1`JjN-&jcI`jdElQ>2QZ|LAc?x2svUzJG(+P*=I|Q1X~uk#b@S1 zwT7+3+040_Lg;Mt>42A@i_!As*I7+rN;PpRElEI7(_QWV5LTFYDyz(Wt!IytZP~KB ziS6q+!H8HLBu0Csqg;4)xuolmuXF*9VWdZO*~05Q=aEi zR%nn(u8ZP2MU%As+0ksi&BXHp{qJXLKbg=bOd+oXW1YY5;c$fTNiV!0vx= zN0z#$FZK{B?|F!klqHh10ryTUhaB$(#cw4%mj&<@xN5!MxR~VD0AgFKwfaH{YVzP@ zAx)^D2Qc#t0jY@s8FO=Nf@ni&!iO23NT1kdQOsa&|X8uB?iPLrjvn(A#%b2nY8L-%FX#tj{J>U^er$#WL*eesXjEh%V#{lINwt zXYw4?dBx<+=HT*CXt?XOo8ONZZd`KkTFP>z|EvX}{X1K$B+d)$b1`3AV7AUL`AgDL zP-ELt>w0dEpz_IlRW+KX^k?k~8&9brbn`3XvRz4t2N0nM*oaF!+~1IWgAqd9s8%T> z>NK_xXvdPNjnu5s;XdhpiJ>TMMIP=1)@7%716LTE{8#~_`E3F-)0o(-jf1z%^{=f0#|Ht|%6xcP$O( zK-6lFD+llwxB4>*Kf&P^EPLlEi{lyvR_9#{>`mrnTI8-K2rB%@F&QJVTKdf7lqu#v zcR1NL$ukG9OrYmi9{Oj|9(=uR<%;EigIZIlU`127%1R@VEg?N}eZXQKaoc`wPAGm= zAceyZ6IUY>bt$%4)mnJhr!H{?kSE|wvN4LOK>o2C&Rg21NHDJvfO}p54c8izX~bM% z5*|b`bE=MzzX2%eq)%|9flonqda`CkFOM*xhZjyTt+86{-;UtQMi(C;FEF?_qpZ6e zD^xVfnJg4dUQs_w#sm8kuV_6Pu~g1|_?x>={!Hmi z#B^R8-&?6nJLJ;YjlCOKwF3*=vC{B&KLy5%wnCQ?ZU@PSmh0(|HI%V*<+eDwO*(XA@Gi(`3=z_Srtm_JAl4`P7RrW9op$(Sd~8gA2Oj z$*X@dTo5QHH|UUc1iCLh)oT3ZprLr@sVq8!gL?2?`r&+AF?>#%FooeQ{_aqR=#%hA z>F)lOpLpjGat(v4Qx)EITTPV`NX1kC)mMe8$e@RBdPpI;@xgt*`{FoRARD-D6ctpT zC5^9p+MaZ*+Ah_}J45jY&@3wdc*j5@?b6XHQ=v$f-Egi&XV~ z-tYd{jV_!keSXwH7tWR5;14)qWLBwAn*4p@t8%f(ZP$U3YaNk4GC9^>TLB-PS(_o= z9FwSvV08C~3XR24O zWP9lWS{!@}J+Yo(`rRIX9Yj7Di`o*KzMe=#SoWKPXB8`I4P?ha{iU9l?IMH05R#Pu zBMgHWqxX0Pqd*?O{=|eQ4#vne7AN)=Vh^=#Z~&jE?o3r7 zYy8(*(|pe$fAKYXa!)*3a~A?EH2!sA3FD|WY9pttzZIid{P5x1CXkG~x=cP@U6!DA z+EbhP+RD@2kaJWkB^Reo5cQCun1NOaT`Znh!G)V~K%t35ukl*>v0=CG=hSj_OtL3!Z#<;D&wLn+`8hRRMKRqNwz6@ zFP-e_SNKq;BT2atl4en=VlN?OZUO0EOZs}VM8+Hq% z`V~c{v16VyZKqoc>N|@r+!{_Iqc(0i-FwTMUsSrss5SX2WxCBvl}4>Q3RjTPB0PfP zZKf6SBnJsWH<{Ebf}%txp-LC9f=k%l=ZJfW6Ea%H?DUnp#hpa{RQ8I6iV* z7YX;3t)mvcluu9b6?0%bQFOWf?pr}0AHP=V-Rkr<3D{~vq25B0YW406zN`XP>Gx5O zgAiQ@SHj$X?|r2fsaZunrg;U>(6uprKcjQ<@O&RHay~wS`B%{+u8I1Lp3IA89~~>W zdN13hB&mlFL#M9@vKzyvDUw$Xdo#hlpKL zu}>U6IT>F&4$Bwz%axg3a#HJS`?6#~1xo{64&i{j--r$YGej&@YXN@i;u za-w`DA&XQWt{jZ{oZ_nf##X7=b>?%~9d;eesDM&}bv2*r-T_3Po5ycfRxSw-Z#sFn zZ;Z*WZPR~#9D&Piv375$P23oUeIyEZ*?{HTd^S9bV&0k3Z8?X#;$AcP#c!#Vc;u*S z#Yeh#Rpa#4v-@jdhv}a)-r`fk9r>sbvDZ4t1Sr_;Qc&McV47W@8F~DQnqAk_SFpv~lQ)wxtILuiua`#y$}Yq> zQHc@MS$3jSGR^IxATYUAYK z{x8x0myY+ryDE>rVRXkrXFES?}5+ckqj#%ioC?zKk1 zq6`#iZ}MBP^(Ps-h$4)p#?{1htJA&V^Zsds9;n7H*B~tK>Y3PbCnOFXs>C*mUgYFK zR6ox1z*BXd`(Cb-p;bA~R2}<k85xlQaC;n(9)?DejN;G;HI*NNA%Z%X||Hqufm{Pp@IG8p#bMA!U zVEfrrNEohy>(?x%s`U!;b-sccD89R^gcEi1^$j58XLX~JDc?nhVel|;kl_c(b{)i} z2(2OBZsCNO_>gz-ADA{4H zjc2Fb{;;p{zgMLb&j@)*MD@RYWMPl3x70Ql8C>4k^hewr;5}6R%}(OzA7Q9VSiJL zp~j2AS2r!8(v9SbmYSo4j}@8&k86~OrPKrk8?%vORWww*edv)`De|^IJ`Z2Hg!w8Vk=Sj_;k3}&l-#6cTP+=HU zoFp6@ZPbQ}ElUZ3fC6}CdceVfp42E_<7X%efkmhds7jaRdRE(#8B3NI?hh#wJ*$YP z`N3^YtV}aU*~3yyd7K#Z%RrmoM45N`3CocjX-wJvXQhHAQjp}D8w978fi3-wZnI8+AVVBOQjy;#I&a@GlehUGy8$JH(|8)aYJRcEvTRm%tg{PYEK$}+ z(IFo@gJdHH6hRB5LXWV^)>;6G=n+zVpGJ8Xt2E?SH!vJ=(>kdEifY6Pf&M+C_tlW= zh4G%7!a)ZQPf-gPaYe5t0!>=bv1+KYjcOWnsl?t|)MVt10K~a{%Ae1~_h4BUBfPcL zn^53CTe@#dgLtv_a7z*F!UDR;e!{Y{2}Yaj=3`g!_H?X&P7rpe;ylX`685Tv0mb^HrdDIvFkl%ATz>FTY@wfYJ1Al=TgFD$ioQgo6dzi)uW?FAd)_tV5uT4 zlID!1N+0rV=f(!$B;gfE4Apx$xqe3{V*WK|7h@pZi|bf2QWQrY&Ohkq;7C_|D+Xrf zG!e|Tu!Y_=N0Eh6pVhw~g~v_6H~NjJ96gL;quAq0c8rXzVcvQn0Ragvo0OY@N1@jN z%U)8`-=Re*)aFlm?bva2?vk)=N<6^`V<^n;Hb^X-g91V7f)n8UMwx2)84wS)@b6hRlv% z+#T#Xes~1(ECKeh%^5^Xj96clL#{I|#rF$_NQzM8E|x91#3&*L;5+E>ytwdPBCBk7 z5TlcF|E7atQ`h}%`-oYp2H|{3c^8MR{>=(v(O!wOY;=N6a`=|eD9$YgPrW$j!VT`M zR9O8~LF2s2^wI=uAAY9USRK{Qon)8nl>`b)!h(Y*$v!{Q#k9^fX05d52-8woZ)JI4hNM;2eOAOOJ_`1yPJ^7_>Um_}|hgWQmuI-d2 zQk@Cxdae8XivfojhHI=jdeT95C}xfs?ktu@6zx^)C&yet1v3QaWom=_lFVf?Gg`A1 zLTg5LlhP8-NZjGrn4?MDEOnzX$g5q>oF5WU_X@tt!9Y19R&~8`+vtXjtRbbPdj+6r z#f7`4c+W02H;V>0i!y|ZwjW{$N!?)IJ^^=^N5R#PKzeZ&TRDrmjO?Z$!Hafn_aTnt zQ)HtbGPblkvKV{AX%^PFXO>59UlJhpF|o@PpJ;$d6Bzvbm-MX)_x>+peYw95V))a0 z=?P-#m;ACw(`khK>QIK^+5Pvh{OOmtY4*T(fV$3rbGBfNBHVF5e@+{P>-CMp@~>U; zn_>ra#7}N;;}dZG82UaC@>^CW`mkiwwekzP;zNkxSMRz+v}PX(bI|2xoIqQ*2eXYa zSPnCRv1X^`fF`gP2W{<>OuAn01LdLK5b)Lo;nh?;*zY#qIAC17&>p0oj)p&~8-jR; zOrK_O7W2iH=uy!_a zq!Vy)wiB}Z*-sfbIg9?srGFR2RJH8>1!B0G6)6>kZsmYj#6gnVhzvDp<`jx(mMBAZ z8rT3d7S9VEC!S_HPNhLEKy6j;d=8dCFjyKs2ngjW^hen7z8XqL+I3+d?c>3BcTT6J z&0DYxkuq6b+UY#KE$Mo>b$y?oWBp3Ml|>c-Y)4wM_8xL%vRD=;-k-wgmm!AXl67B_ z9G1(VNGS)xSU#(rtE%L(t^S<{4y8PCa_`AqSX{ghl)xm~7nP^JGxeP~Cq*P*RD2Zw zW-#wiX`z*kLe9A=#%xeX&E=m=)qIth#m;1&W}(LaU@{vTUu5-S-U^)ywIr4 z!(yJrq!`UFeTYs95eRj7K}Tu&=tQYhT}h@rFX=R|3#WQ|XMfAfWYeYtm>V*r5MUp} zVln{VM}t|W(2w~x+2BCU#AUHE{5Xp2r1q!LJH%=De-1?%2-lg4k`p|zZ|kPG|K|tq9cT|6jz|Tvp`cB zg}Fp^ZXD1Us{R{W#!TKV^T&dNAJ zD(gm8L6$65X}d|tJ2N(UPX@_W{;od27U8Wf%rn|frS(&$nz}HIN-SRBn*()tKK9i| zBS%@g1Pl;5aY~Q@r6d>@oa9zNrlBrfwAD-jYj`a=uBPjy=oD8KL%9L=h4V;_M{e1B z(rUwAAnUNtKqHJ#6H&MlAQoT%ZPffG1`~_P3W<9Vl7@Z%8P~ZHdl&>qpRwZRj2`;t zEITC+B4$xf0M*j*Q6w{5V{~y{-|BXmkf^kkc;A6}OR^cV`gRRtP?s4!7D#)YEs8AW zTwTpcW{~13;)IFB0Uejb2<#drWruDX=91@HM+jqL@(y-BBrc3-(vBdiUfiVvOcMDa zhv|0cg_2^j4@MooNKWy1&Y^C=Ws1Of$M5^?Jbn&^X)AXCy1R?kM!(~C;;*_8HSP`R zaR(oneiH2?_elpd)~M*YB-o~o&^U{A`j^;XG9`>x=xB8eE`uADUBmvdP}3A{*o`6G zpqH?m#BT+69fI$r7sev_ky#bTO1g1xjjM4;J=M2(x!Cygq=nRMIr45c`$b6#aw3`K z+FL0~k(GibO2uu1w&gbgXF(iRCCH6%8sFcaA3?;)aI~sZCX_W>Om6{-!`JzHJOsA@`ZIv?z*iNgDrs@#0fa%$Cl(1DwEnQ-?8PR(=KMT z%bk>-DDhZ86u*hx-YBm6X!!gl#og?yi#Ja{ESX%0*d^ zhxSrA(eJDvY4Qq76?fKG2(LydZC-hm9YlMY#AbSk?2Mh2@SlgYuXt9@kA0&M9Ld+L zQf9U^o(b;t263n!$v@+nSD`cb|I3LGR*43ynATHMm%7= znq+J3j%+IfZmp*ON^`-M-$vYszkl3%;g7eO2ds{WQrAUZel&E@J6S-8(O&0o!K=HC zRY3>0@rq2EYP3_^oCHYqzl_>x4s%BDE28upljgrI0^;?n4h`e z5s)@M+kJhY;C_IT4VU9~MT?pAS*3P_%rDa?u&8Gl5SztnMTx5&@kn_*0WFl&Wl%aK zXnE{a1Z8T|*wmqlF*tl^uDv)oN@Ir^r!`QJrX9{=3=$*#nL0={29(CVhjdk?=eWjT z98Wbapt`4(r+tyeju9L}f_jbPj?#MR%(&jch2`h6J+|TrktKd1?Ff6n!SGA*4#oZO z7kYu{doC{5~B6 z;F?fN2ik{I4}L+HD*-4+yWW#v(dS~1mQ#T0-3jg}Y2XXvp&YIMT+vW&y ztf7n76xT&^iIsAXJ}=;&SU}W0dx&~hvAY`rvADR4+APOd@9TP;DO(cXJUX*?F@~r< zqSJ(_hQ0yU;2n#Wt;yy*Vkq^TIb2L{H%9xEYD&X-rq$qT|7bJh7&6;~u{01JcE>E7 zpt?z3JHG7xN3#%Qx_@^02PX9Y@h@Zf|BYvY)-I0!HIDrNh4R=c@LyYX-&_y?h)clC z`uKgsbpfeCA4uRkA>Y~l5DJXcKwLE!@tdo_)Kp?+iRFg`nnMYtb?oMpSQJ!AjBHYH zS==7CXRG-t6y0o0T-KEe`>K}@&z^1F%hh^r(=pTCUXVFBufMnfYlTfoni3iAEtKSl zjap4MrHLOal&g*BYC(uh92ftNnY~k^`>W|s$Gd7p6gE5`) z=(Q(m%2)#C$@R3eR!vLk_^B?>19q`ol_?{Xkf}mk3G=XV#P1I$wH~?M)`!-9Sh6HwO z<1px;lUqcLX_g(`)Iw3t7tJGre99BmN2?TVtZ2%cKSyM2q;^$Ce1x|%-5t{=C!OirI0|kiwd0$V*_GFuPe#mk)Zjz zq%=(2?*W1~_He1VUAUu|)+Kc2g{)0GkC!5Lu2eHU)wd1_2rlU?A}}Hv2-(MqsR~~^ zTk>0T-AKEa_9EF_vDX(n)?8Acu+mGc7Z*!MO+I*&F&qnWYtT!2pe$MasPTr;9fz8J zyX8baz}66;tYHMs!m43}XW4FfG41R`QlWXwnpYzlNf{U{T&& z4V{_x@{!nFsY|({MoVvjsaFdr&i*eq1uj$9pRINTSe}U^FxrJye@$7H!9cb7)}cJhnn@hWumgdh-~$C?eX-jjp=}W>I1_ml*g`1t z^<7x4H_aj@%iEboJzYQxHOx)`y2#KIa&Z$_ulfvXyx&aZFM*NnlHB5_ z%ah{2gxilj-DX?$@aniMBF8B85LQW_wJTTQFd3Y>iCEX`-iBDSE7^ z;{z}9KvCU^-fP3AOg=N=Y85KQ@#r^TEn=Db^%DpK7N(eeVXHZY71|I9$%)mP*G z8{rl@e~(OBU8H>w)r12zBH4V&Qlk3>giWIhmweAm6xo<*=?@;g*ufxxBk>>ahwV@g zLO!Cmc>y?%X6L+LMC*1$Ll33->qo{K_>hns2G-0GaMnS^8)k8g#7}J}w0uOUhT5Zs zR18+Q<+~r2n?~qbCNvy6bMd~-B%f2Kz{zor?$Mf7o@$9s6NwXiFy-@b*<-xw|L(+LQ!$oFE*N3;$U`e#CrCh5k`!7XSSIXYBmnna_WX5+<=yviDVJn+{mA;pY(0oalI9Eb+`p?+q8eNVU_ z?cZPG^dKL@azdl!(e`&Nol7Q&3q1;J77z;|(VkO!k3iZiO!Nt)7-ZhVz(MKqgxtSp z2ASF;pPD>LLi6xN2Wo}nh7oJu#Y?ZD2rXxSLg{_avO(udlW3Qo{(iC4MWKWC^0gnP z7jO0X(?v7;o0S-)5?#Bnb%AyIO(uJ^z5=9FrmQO#|0qni@1Nis_*0-~{(lGIpSr2*zp_aqBNHd5|HvoptgZh~Ej7MZ5{Lml?U{M0+&)eNo2x+7oC*v`(xsL z_#DfhssMr$+Q>q!qt3tva1`WO3er&^+RHKHkF@07*HHRS#nJ&HHe*533V2m8#p^>Y zAqKkW*m09G>HM1QX_$dy+;^2WbIVkBL-{+s3sdcreWB_K&P4S-QiA~t*vBCm8@^-65HfhOqv7@l zh4JjE>Nu;-GwW32POsziK>LJA>l+6usfeRxk6bOh@{eATmoW`eNg-r1`O?fHqpKcS zF3i4EY9^tq63?Qd`+4+Op>@nr#5)vm$NO_DYy_PEKe)fHt96rnJE;I)ry1dS^J;)U zIJXE(-TTO-6>I6&#A`_#*Q@^LZkT&#(I%_y$>y`T+fd90M$0Sf+4qmOeGp z5e3ErQ`+5ARErBEM##gFScS7*UVjBU*vtSv)Diy2H_E*LT{6KqUGxJco59)*^|%^> zW9O6!lxmC~8tiY1SDIcn7TkjR`k0^(djamSwr{4b`7C!iU2HgJo37n&o~nIc?75nIoB4HG zI;TrqBDI2Pz>`=T1M|Y%=!Lv%LQ)g@?qAzLY)VZ-Db{30Y$XA3`DQ)&9rBm%JHiB_ z3V>6i2YW<(B%froeL2BODgiH}Mk*FD{*jW4wR?Cd|L_uv^(o}RTdUgUE$zb@V5^6JNgR$x- zJ-nRP`BSO_rb}rH#!G3u9JyICi}qvn(S%|+_fr3xZV)bpa!(r8^aq(6}8?8?!|tMU`!+8bO2V1R8> zt9^5}x#}a3@Q#3<6oanF^AuDe(Ezz_Cf4pt=X8iurnj?wK$_a3HV zBf1%W4eeP}8)O@c==}l@p?<)`3uS@@&;Ujrvcn7Kb;tFGiaI0^5im}o{0k%`fJ66Y zC&X@*wqxtaBC|YguL~}y8-YN{&ZWWK_7~>*=lCyOvd?_>1BWIGgz9 zN-i`~OgJ7}b&2~Rfi0(|!J$(%c_%1J4%!iSxUT7JUdiy^J(etk8`J60F5C$Q@z|Y3 zC~(QlgQbcJFoUj35YqhKs%$P~MEHb-W6C9iZ(Yg4!25)v49Pt*07y9T;ruVK5*z&C zheZ(5V})az&NtU#=tEk7Z})AbC>v{8rZyB_pcJ?h%PNE9RLN7;(-OB!eB#CugN>Bn}=p$_pPA;QVn4eWw=l?NbW@EP=ix9*)`XZ`q8uD=S?Z&{u5m9{bZH=*e$ApMA!lhx=3%w^G$AJ1tZfP;1oEa`!4g@ z160W|gOJ4Y8`;)DhZ~BKcc*!heA8Cv<&O@!@#fLW_Iy{wQhT+2F_|2F5^l#kVs<9} z{KiBfo#8I9)M<)3uRxc`4rWr6J~!Yzu~+iI29Z@XIQ1UvsD1%0o9=O(A(tv;+qgXc zEK+7JIx318_LA1MxZ{szMU~bc<+*mRV*}a>i3CpSh!tMyJLFN%yM*1X3gis={=7lN z1(JYqQPw!nk#!n>4!JSP5j?Kcm2f>*70V26YwceaAFJWXqt}>kK8djvQ zpmtuD_Y;xf>~Y+&%>^vb#hZ`oJFm1;SBMrp(8AV)=aUk79tJ=569S8#-OxOindkkb zk5Qcbdt?{JtuXFRfS;$1@9sTcGXe)Bjd!q^%J)Bp%0b=Mnza4|MAsjD^}m5U{{4Yd z`j0)<|2E`LQqgfjQu$HK)Q`?N*Mhv71Lx|OSXj1!f>_NbTUryOf|A(W?h7_&Fij>; z+OG0QXwhW?wBCZb??c;uxZqoO=gxYWIWzk2t#P6DrA#eO3$ASxg=|5RLsKgx9@S`M#od%fu#Yxl0Mi2v4 zAFMjipx;!1HS6^Zzbz%CjvpNRu7@U#=C4>JPky57+N^$Cs`lxKakFT!e6lnwUW>hVG+J8VNyRaRbz zasDPPQEAJFtz@*&hn(kvi8U(`w)UsX7pB0v12%>B_J<4OT-RGSrf)ZWvA&1iBLb>V zU59v}?pGY(e?E}XH4}AvG)~D7jr&P`C*t1XlTKU03tC_3kk&v8DP;#!RVaOp?7CKqeD37jKkYX5&g_Sgq%eZbsye>O|=gz9yx_es~|vBa79Yu>oaFbIiHvwaXgK zkx$NPOuK%@s%IbPT`eEvd`jzn>d2N8=G+UGD#sr(N*Z&Kx2dAv!3!}L8$As4f`T5j z6!8_}dV0nYH^jK^KhVS(yFQ?yuj<{7$w?mh4=jW&RPEwlLa#|Zs9-C;7+_my8K8R1 zLbRi0jD0~HL5bn*Jchal8VI(>7*Sjjh@#{6Rvh5sf1`)Ji*H;RAo300?DNS*e@8!4 z)!whwuMx9nN?KdV4Jh5(e12^hTs93M%O??z&FIbX+d>6@L+hme8TX;=3eJhzcg3OrXgRtFkkJEAG!`=$u<6XevN=Ls^!ZE3mdwUL^Gnti-wx{49+$|tipY5< zERCZZLdu_1+zkPU6bqi<&lhx)JDy;ZiG0C!4DVnn=d!q%{4-`*)r1$|?71t;&?{C& z65i|9)q_Z%Lby0u?;I-}|I_ZFfFrdR?tf`&^&m`Q3y6 zid?32#t)i>$xXgH%r)1dw`65b5mQZ_4KZcX#%1U)Zz)xXf`tw0IP6mCy7Q-7QSQp& zuztgIu_u65$?sa6b@Yp<9;L31-+q;%u@A}&k*7Cj75>cK(bl8tTRHQ&81ARZ)qnlH zn9I4nw%R4mM3)^NtFmtg`Icv6fJAV!-Gi&KDPxOLZO7QJ^bBH`-N-0#wqT)za!Nzf zrN1B9WHNq0{)#%3!>7z^WV6r^;_bRlp!eFvw^z|!cXD2Zi=L*v_WDgbF9DpP9lAT(PV)93DqW)Q$;4cRSfhXy}B zv|g;j=&9LMwE((xrQy)jgNV=ldS0cCLebnq{~ zcmqwPq)FZ*uV1?}wg#-~MhIHVR)R2*Q@Z4_Upe;0bBdrrb3m4Hn(owgUCF&pKwaVu zYt6~eu&G`6^-u0W7b*mPff`2Z;-dicORjXN5RE~3(xTm2h$a%)r*Loi^YEZ3PnlI^ zWt3$muh{KHz1ApOV$S4ZCwRv`iys5f*NQ)A4^K`nFp#7^p_LzKq(~#Dv|;d-D$Du{ zw>>&Gt-lz)d9X;MhQGW4Ki>&mClL(!Z^Kg=CVV{5GkfU15}@^H{t0?~Fh`fvQR{cQ zjsP&qUHbsODSzIbWZfhH&K8%{e$iztJa*3xu;|cM$1)Fakzg?Rbeifs&DA$xAlaaV zRHd#V(b)>p`Zc_;bb+`p^oUxkF{1Lc;=?0KCUhD(odWbu{p~K!K{odsP|M&kPS#z) zxYo?3Er0Hl^8URnT&}@Po*Hmjl#_Y&49N1m9VuvbaL~~MMIcQ7N4oOS$gF`f8ZmSY z^~5Wpv%aqqJByx%Wa-BqM)Rdy2!j=0G|ZjQLu;ov;4_7K`*zs5fT z{9lZYLPlC7Zz@B^VO|Q=E4EHz8bSywpup8I?NO{7;8oTb%3@b%%gIR+wT*fjYex4< z90Mu0lJMX~ED3Y^U96qnLsNHSnqD*)acx@y7Mn$BZhA~p@kQMe0NDCfj}XMrnqK>| z0Dk1Ku~@by0Tfm3yRHIj7go@fu0mXJYEVX-_GtSRkX82m)$YEgD?_IMj~ z02Q?iG*p-xsZ~=HQ0iTn_gUOEFt~HOy)Eg5MYy2O{E@+@P{4vPT_qH{-DTuP@r06F zCj6}ExGyjts-ZX(r`nU6O`WJfxFKRIVk`~8{TG3#FIp3=6=Yw36wCK{YM^lEcV}Bv zsYY76%k5R$D^mQ=n+Lnqv_CZ2s?;}VL(z|GuV4G zd#!(34(iC>3Z?}BqXsJ)g9?y&YS8W|y8HKH3%1}}z#^v1!SG9aZ0xHN6DqecEKHrX z3=CxWlbgq-V)u=UxWQc4sJqI?3tFGRDT23X z2Hy<%(Vbn;Z_M>9NNN&l@Me&}jv{ezys9-!+mf=)0zj2i~;KC-9AI&k;>T!_x| zFt0LxZ_}RR8<2BLW@8ygQ}q?3pk-eWz4IHqrr6JQPnVKWe>-A2hnK){K~C>xyXP6E zh`XNVo8*%I7*K4;;Exdsio6$IGvc!Z;1;r)bx#Y%{>xxKG|)%dHmz1_^>>rjXEI2LAflG^2Ka9HyKG=Zh_y{Dvf}gKYBtDb zEwMS2LEK@$rHfKG-S!rOfx4=N(7T0d0HL49kO@>|$CP?GlhTv-NK%nS$mwvSi5bs9Nbyk6 z*rmVq6Iv)ogJtDGvTLfw%AO%TNwrQz;sYS@Id@K%o8L^9vJUTwamq>wziPjUU)Y<(oGGxjE!>Rs8hdSugee+yO{aOz? zu46MnT?ulxC-f4g7ASRz?HpDJ{*JJu(pFN*i_#{+fzD5RLbW1u#i06tp@J<*2@9Wy z606rs>!(KnvCW*SD$JRQO44>ib>Iyh#!LmvV8`j(ht8xi=~_p2UHZfM5GAEc!30-3 zHqqP4sakB#A&1Tmcg$3g?c}Pb9KR4iQKRz2PQ;F2<$SPKtT(LzgtjB-5Pp=HDyiZa z!M;Bf0n-88Iy0~NA@GixBRNFJc9XKyVh5w?*tEP3%*$X%VDgv_K!P*65_4$}c(*YMlMFvLxw)O!C{ zX62qtrWhGVq^PUnm-!wmSaZ+rUcW8FjcP~KVI{YZa7+9}Fy-OXw4pxh7D04mc@sd| z(O~*D1%8Yn+IOy4voPcv(rvKLCS z0^xK^F(L*?XFcvTzXS$-N=ys9rkOVpA$HjV#jboUo47fC)+Cp*mzG3xP zke-6J4nqHp^S5YPQ?l7#sgE^~kG8QaiovZ2Z;KRIRxg{@GS7(At(P+l0O1SBvTwhiYkyO3DD`(m^&6{$(Z*i;DJTrMJbmtE3}i= ziHAxsoQgwE96*UyW3S_;>0RbbX28soIr)WMhtM@74dFbm&CHuQ7y}@&1~3j;{mO-> zKHNn63xUxh>=h|2x!n{apay2Xww%$6MeEO~6;C3N%G?$YGt#L$q#pMv%-5t<`-I5YCk61OnlNM zCKY2kr>}5;)tJvs+3v-U!P7TlAWan_IJ7cnVZwSp+Hw)F)e=U_Cyw8y*$*knr$#o4 z$E_R7GdVaUmB%Z(%H1xDf}xmp!J_4$fPw&vBQlJaY9!=M3Iqz4(c7?0qG)f=O9u8K z*H#iQpxV+OkKoAo8Wd@P0GKnGqf|DbaDE-NocJT)>k7H+V^y-8K)93&I-V z{W!at%uFBh_(#OxQ^5QcIzDTlEd*^$wVv^4*c!8=0^)T*`&5F>0bR|UE{1Yx!@u%w zD~4_pFVpehP}{e&fJt?oltROD4ogg_^2e}7`_?o|1bT^# zHK$Ro!b~p7j=RPGAuDVGhrx=RDTn@0&{iftT1z?EG^+&4 zBQvdDW)&f*Tqp{((yoSjkqk0jn&FS>@l`M2hcL$eeZ!W@c-JA|SBU0LykmD;zFt%| z@$`U*#7`%FjS{G4Ii`;?YDuZ1n*Ipj4S(LsT7#`@MS@SWpUK}9GP zhtUvUe5xZsw3X1znv_-ts>QVxG`;a)ca9WX7qm|v!4=Io?vS{OP&y%mH#f}bGq5`P z<)lv)nBWEm#i3nq;U}0KPHOyyfDGH*=(x0#{9O83 z303^N;Fhsj^y1_K!pmu?-;O0TmxDxRQnKPm8AWdoTga*2EQH8;5~({)nnY+B+7*yz zenJvO-|R=ZOC+r<*OnYX&&?9Q0!-=?pU*bHr;F*)L!3<0!DS`$3MmIt^@Y)we4{~I z#y-YEyjf4hOFF1bl!#27#uIl{Q2R_lq!v$wUfVg%?P5l@oR8~(NtPDZ#NY7#-foGa zypXXra3^i#5D$7eo=z=hGHBTPGBI5uoEdMTf87;4{0n69Jq3rZ^qj`-Nu$H`twY*U zebm!3fsYK!tB0BBF_6(g#_5-~1Y@3q$48;Vxs=+QAkx05*0X~;p2zvMFvZ5^XjE&E8LwNUxo8V5C*(SS5V z2j$#Az0kmM`c(NYG)~d$z8mQcaP-)EV|wo(v#0-iRl8e?56n?zoy>+eCbwW4?u~2+ z?8c85TKO|jKi0C7UcFIBzr-@M*M2eDA8;``NTG}eU9{X48ar=IC|ABwM1JBDe=8qY z^3|gP8Sz6Ibl;t`$NBtMOHoS!(h%CU{|`}X;0Pv7F$9~c$=v`HO}T^{lFy~jDW`gO zP>Vxf-p+K2c%|P$g z8;;)K+#_j4UI(SB#@;z)Q^N{s=JhvyXrF9&hr7HL9~7%&3SChGt!)Y-mGX^dL|?^fEId-Eqb*B$FK^7Fe38utvq-$9+4PAFGc|Ly9N z-(-`p?jd4Xm;O8*jxnf#-H;<$=p7wEy484V5Oza5mpC`NKHbk;yMeh3FZ7_TIaBxS3P&dVO<`wG)^-;O0U5 zJKpNxXpYx}>Od(yo-K)fbb*!j92)>?eV_Iy+<;iS8ZDT*fmS=)_B7s58T3$9!(BBX zU``IYkj=ZoEjTejT=uvP`EXZ5sxK&2AzraeoT)aaK%DZ6=^IY9pt%o;w(*$rt;MBT z8D6kO2T&7&a7uoB+`+3A=d{S5Z0L$n`mil6eke+zc^>jpG)5rB^dHN4W#KTiEbiTe zgEgot1^7pOq+7aakWZ%p#;%<4U`&Lg>vZuNr{bJUgr^aojMzq=oHx;tJ)aK#Fx=T5 z&$XtFa9!ju)5(}{@Aa|&0=zspV`hzlbAytu^-Na8 z)U_#Fm+|5DiK_ez{%BD!kmy_rHgek;c#D_KTnJ0xvX^9oazYu;GMauPd-C&><+QWd z>nLPjEA8aBn2+ScZ-vKAE0G80?#}dxOzdAFBXpsG#=CTabke_M+^&S{wO@ zXU?A2$u7fk)B!BdEMIOeT=J8a_}_Df2B7VryCWR+O34G!3DI;wO0D8l1T3$PcJz|I zkhX`Q?U=f2)f!I~ryspu-dTF1|ww`>s2N|J;EYf zuJqbg&yIRsl}y)q=ADNHqN)R-4xwubOpwdO=~wH>8eSJT-u@fy)f3QO`aAkJBWJp) z0!reo6U<`W)}mr(LsL}8qyh2{&eDq;hj8bx#9H?XOUHE9BT!Q|oB^sgaPiMrk>Kea z?3eh!^JQzg?H-pKo((|09v^Z9fL)KFCrZv8nx?dFCvfjWR_rN}x|B;}WZm$52cqcS_8a+)u)!DL}(cZl&D z8tP%cUG@*?;e9vu0C2K+EV%r*jp)PU{2O~t%$OVw_F&l_M9rZ2M49Wof_NKR+xZPI zoNf4wqpgf&po1+fRruqrZDshBEMV8-GYNgSUXGV^$O}&GV7cA(7q=rVvhxGJ8ywiY z>3;7g!0!X`$FfTd=%XWKZ?x_GfoC!F{)KM1R(7o&&)L^)pVFk%|QapHw#t70Te7{ zjQIIl@`Wo!vT*RzFHG+-QvJn4bD&QHgJ{W*-LTMP*&ZZ;#;RC-X6t+*MM@(; zr!eN)m}*0(8>su}+wNQn`|pbn+0`ZSS&td6eqyUOq&Nh9DwKaOgd%9f@(@RkQRAK+ zZ*%{RFgu`}BC~;Y2YrcJo3O(v<_u?Q%|K{Q#zh~kdlFI{{YT_% zaw0020}3wIk)Y3HuK2+u444S{3Ln%8Ns#-gl35$;gV-5&z}Q(Ak!k35nW=+|(AtC% zhRV8VWT$xA{X57|Ly%KW>pJKA^o`!XxK5_1!oW@;LzfZq`-$a;Pj1fj%ehsx!7@Og z5csB>BIZtVs!DdFW zntP@@U~w_{BfJ?nNlyKXzpud>R#_BB6ntd;+D3+rAB%^C2}y*h_cuZ_4kQ0$APRir zhgw*!29uy@Y*nB)N`6ErDE|g@9x{)@Zc+j?Bo{SvM2?zWWq1<_&JBq|x3Oo|MaY*r zZy4pcjJ1n8IvzMlVOUdd<^{WVS}6N@c^@eg*Da6&g5N_p%R5I~g{NHRZ4g(s*vI+OAE_n|o)+s4tB>)~)A%4|D&mhXJ&*wELutJdXOEc0}>o6?cSu<$13 zLH6Xq)NK~5-CjimZxGcE&p<4zS+2I=CUa|hvg;MJ=8L)A592#~;JaV3Wl64OiLSS? zYpbiTk$bSw*P*Jhf5SN^u9RPQ_%b#F;z@-ggNR`ZHhoW5cZr5?i=;C&ZLmI`TUzk0 z&1NHlsWhKT2j>y_t?ocx1LAGNkd7qJNm_j=Kv_T|yu7%uL8zTQ&KA!U$z2mOAbS-! zy!oY+xoG}LWMkU*(8Xnz4I%=tA69O=;xg}=&95^TM^xpxxHJ4hAWYZR#SaFfWgsM~ z6sz`NhmD-%1*gb(Hx(_$=ep#iw6@++nT+-ZIG~8{7mx$m7w-2j6V37_(RYmIW-B+V zXTdb1vVC+h60_;gntqiD8#Le2wQ8Ke0vBipvXA0;T0ry$GdSEjP`ZcK$>HpZbALtz-pHm$xXq4k&<=W;b8JbW?Xk9D;}uxd z1lkUSo|P->JzHR zq5V=w1lR2X-FJ;61dc;Ax=T)2oS(=YEs=PcD#;OTL@~_}^Tw4t_iK1H@p`4_QuL0~ zHizH>D}<|Q9(Cr=3!R9UbVp#a;=DI+)$KyR3rtKi8W6-(+R8gOC}cu%eAr08_z9m?eds( zE+3qhof@Vd(KweMxhvf|MULCI@}VBPoa1ywu^uQkROd|IN}XG~5~~(c<`+GosutA@ zDt%dXinE25&(UUK-ay+Fy2G1Juue%oIomY01)EQsmD;-!t`@S7T;VqJy9J)lzYA>M zLLXuewqBZym*2!(uXw_&U`l=9E%mdO#K!ltAod%&wAm0Uf@U@OD*4{OhFeJEH6eGY zmMxQ?TeX$_%Lmg3t(O%+c6)rQ1|cJmj)fYN;qo#3{HaI-{ugEM7#s=owfn|)(lI8s zZQHhOTa!%8iS2Z3dty&)+nLz9IrZLC_x?}ay5~Jr{i&<_+uD0Sd#`6bzeQ{OY`fUm zjlq?}wFg{HO+Js<7G>TDU!Kh}{R+gnuAP$3T_n8`6zzMEjbg;3O}+)ltc6Pjj&2y+ zW@0^V?0bQjnJ^dqgrXcsUA2@{U^l2_`6l0*=cB`FoOG4_fR}!%DfNPOV_YM8BjY}s zJ=e4kzTqC#Ln7HaH-68ogw)3|ABMmzTvNjDeY!AVn^rwbz=a0J0gwDjNvui5E0<Xw!kfDJ_yjl$}tGp$EjbM2{=G^nGm%O$b zLNh}nx8VD`4<($M#Ji0(F8eM-K8rxC&mp*Uj8O>ssc_N67p9LOwsdD{rf};dmcB`u z@C@v5&^e0A?E&_7&9f2H5#4h9r9C10DBAP?mFxZ}(mZAc~lHl+UlB-Q-C%o^6F z=Ks^MRjqFSohX9MpJj&@8y)hEu93ACmp1uf)XZokEF{DR0SF3i?yzGpGalRf2liO% z#xrl&n>GbAnVj+Y^YhndhQf3=USZe5nA@bBi|5sy%arRs*SzQis$Bz5Ec6L0#u#neFyR1dR=udD;f(8o!0~M6beC zW3*DQKbTw5ylVDg6h--{)&n$&`rzFQkZr71IC5$LBYF>%c9K?YT1skmoQ&J2zY~#q z>iAIQ+7zVwHkxTYn2L=_^eLxqibu9t?r`s!Tgj$=SwW$3QRZbLW=pCFG~>4YG(%Hv z!eP3O471XKV#mCQqH?gOgTKmXryJwM(wlHQlAlh!T9nt1DkN4VTC546j=B_VsD3~l zarP9G9ys?o!`Rvh^mg_gs6IG;=kaHeh4rf`xRffLtxf^#M$V}k--4h$2LpR*job3X zC~KrcJJ{HOic#5O&<;|ztzoI2OH55R)7YbXC1I|Fp1=+a!5r!?+o{#wM%v0>bFCvn zwS3X(hiyGlg~+XFCxT1k1+77~PP(G~HOYfn82~~l9~#z_-sJ=5K@%H`_gHcc@b&7t zZV_enjWR`doLvWR%vF!YqM9zsl2#fp#02wxJ%;RRRsz#Ai_u{oASkf@BlxB9T7qt@ zbBS)As9u{zwksjTS@ZG>)G6xjlwj3*A2;SHi#+lzJvrxAXrTFCTk}aP%=`4~du$e? z%ubq%1m!G>L0WXSH-?SP>1TQnRa6d2A+jO@-w>VX;5q$#!D!lCXp*TCEQ+hy%f-0- z{FA3%JQ`UgxO6OCx818bNA9JfD`943VadWoytm`@Oq_lDLR2R08q z2=sjzMILxy1*!7arLN*3SP%7hSqQwF;no@h^+Zp%k@IOL{qJP~^?GA?>IEpn$J7T5 z!yV@sAjWF&$C`QnXC&|_cOq_Nr4$W|?&vG+O8^_QOS&BU5kWc2SL_vYP5b<0G=F027OC|)wd8Ev zdFK$#xr3QP9Ya3kyqQ)pL;UwkYP@zso@$k2I2Zd;JMOt&iaY!o#xm81YE-4d8&xH8 z`{!Q-G|O9*C-Ujk4NwZGd(xvzAN3n8Upbce335vFJe}Wv=HdA-Z~XZ_57VDX1B@a!y%PE?b?^5sh6?B5mG}uZuEvr_NoD zd(G{jXcAXE+EnxA6+MT(l_-z)^A*+?!elI$mDb0Qf4RA1{LkqW=v!@yo9{6V+izFu ze}9K#`7cLWtjd37am{nFOUvWIC4(LE0;Qvv?nBfDfnccA!0=?kacfh@3&bhh)hvil zbSyF&GNf-jDu#&%UeJOnUF_54#f9%({hzP*cgP*?+-EJ43$Yh2{6mYv*qFJxcPjbh zaS}Rn=0o6gbd;IvbhxBd%%ECG#*DNV8}``fvlfLNcWruxQmi=1K+Ojc;uH?d1ckc! z9gge+=G@vbE#r4;FQ8yv=UU+{WQX9OzADIx`)9nYyILJ)ei&52Tmz^rKk%?~%}7?87$Fb~s=;;Bp?9!+Byv zzW-5V1JuDZx(*kXA8=?)SXq$B9Hh`r#;)K+f|UZp4h(-`LWf-z(r=lzGlW^ph>{=w zD-V=W5iNVVlSUom9LFS>B+t_ka9Fe@F!wHZbD@&Y906TBsk3694T)U}-}*|M;e-rt zhlS9uHh2CV*^o^B?~aPbPF<;GLlYNrYdN*JFEswG?+IH((dL1CVKBLE5(2G$@XJj0K$^z>wx0gUjaCW32FKX~+~ zQAe~OF?95=SDKz*ubW5=Vz8`ZIj-M^MbCey%U48#;9QZuJZBI*n?_Tah(@X*_1e>H+mW8vjwnbmO0)dG`ycN?!Gn}9rbZdLRpCd&4rNhF5HYCE4XyC z5^Dw+vW8(`r)>w~?dWor%gMEdz3HCg?QlcOT@4s34wUWPy(*q(tTKiVXk0p?S~zpG z{#$q5UP3zw+NR{^cT1_1g2efVQ1dSE5FXewv-xc~P%S@-+AzU&jm>`dJAkj(N&YaW zDV12iJG3%)kO|wLNsD)*REEVc$!F1t=o1*eC(axD@66&;eWNRiK zYJ?=Pr+d+S@)VhlCkip36D7E;I(O8nxJ5uBEnPb`nm_W{xJAclDpa+Wm-r~E?x1)D zi{gocJ+SFp5yFatXPX>-766D9%})w$z@S7OgKev%e&A#awZ`Kq(zl=J_Mfzj4~u}aX0hgvNM`7UibD;G%OtD`T5lUzgrOC4O?$ZxbYj_- z&)ZJ#Yd{xg5y5Mv9a4=~L_&DATZXUGb#_#-X|jMAkuH`;cgjYUnQ~lY9q*M)2ceB;e<0HZekCrOVF~+ zq4=xt;nwU!nNx4b;S!bbQ#CV3b;81sl!yGu`_J`eD*#m)|E)&%zhO)N{q@H7U+WF1 zuB-Wtv;I^7$AM9efYG9|v7JYAkhevp|6!A`CIv#yoU)`5=9GyLf|D&LQr=?I{Q>*`yosUI{MVfC`vNVYb7wrJ!z~eTO8u zT6h%5=~$^j>V;GL6_b`DJZA_VDMSh^F;|PRV|b6vIH~ST1}+cMc8)L86SUq?`}R#N zYrs^HyzQUK(O87VX%|B@#Ux~1OEKMXCX<)%$Kn1vQ(KxE17S&DHgZs1{S;lBu&HpT zqgo6j4+q3_O4tzZVpFRR^K!iP(0i_1sk)CAdUXv z(cM8mOagGdA#@rQpyNl&>u!A%Nz%*mkZO~r zC2=Eery$lYLoO0>X7BkQ?CW2_LoJF!Lf|d3ANqSs-yC4)@tiF1PAvldRX*FFof(Mw zYfj?^>v!8)UFb;8SCoE$ZG$3XTVw|hlS~0-S!d^U2P?(9ln0qKH94Hrjq+bnUv(=vQP7{kRl(J()$ydt z9?WeX-xeP`*0!)`d@?^m9-C~${R)4uf(d@!St_Es#w($pGmvzjL3$%UahD6k4}+Y& zd}i!^1zS|HX#Xk1`(um|pU{hIp>z;YODd}ksu-~`2>u=y?sYbsyH==CSiR3`!!Rey z%CA+IQLNe)N&K{pCMPOw4l5t^#w@%zc+cb@7%IAa&u zMyWvC7nWa9jHW~BeeT-5hH`@iJdMJoG^Z4=P!*}B+}V=EN!lac$rkITSr4L zMQKz$_7<&)ZswovDmzxURxkQ&FKMi+=;}6K{Z&}05{pC>wCM5v<_LNIx%#>UC)$3r z1z{~$3>8VoXzBQsMaK(h{OhF2)V|s@pl?Bv&W6tat}{?8wW5|FNwsNqkKI>>dX7+I zw{8|@FCx7X@qj&csNq{oYSMyk#ee6n>*3p&&=meV4Gr!{(ggKQD!9~RoJYir}_(qGxh*6%a2uw~H#89fiw+mRTJ=}z>8dGFyJWOhv;_d!5ki(Egqu%mn zu~Em*+`nb_mtMbEVuExJDJ-_GmCkE88?&V)D3DRAG+I+4)VX;bdI#>w$S) zGfSc~LrHmhi!fUkKQa@i19_fVRD>f51zX}e*zD|*t!GoU7Hz!{=1 z%cuh4`#-!fVf}b>Gay97g80pe*-?fj2I0)+l7+&{h^VZm1AZ8lT$xJjYL_KieCBr^ zC9~Bg#KL$yrvqS<*Sl17XrWlHN9KT3Z^_LUt-=D>>;Z4(i5<6^DHg=l9Pe%`k6_YM z4I(AVJY;$+b!R@>)CYO= zQqR(inL0u|7@K%h`3zcKuCH)-$-97aT(kLFD=tvOLl7~ON1oN*@(BvYm@0-UR!j5r z3^O%HN8`Vf7j9A825z@aF)Z^57fo)Uj2x~>PO!$L4y9-pi4GPnf@hpVyy{xNi17+v z`qjwJir1xgaODn`f(M8nU6C{S7S7~MaT%8VBaFkay732nI(ZrL{BaeAsqu+O2{}#i zmrtRcjN&Y&;!3T#HpfiY$K`zL+0TQEX9tb~Zph z&qTX&OK-l!mCcSFIqvVom9@%epAL9Gr;^>Z!baOluAsWQe$E5(_uf$_@(u?)^r&tb zNfu(&dPdvQnQnSF5>a`bB4M5#T2R8Fs>;iyqdcHJY}ydgT#@%I+JE44B#lYXT2NM5 zEgZOI`v2Gz=q@I1JO|)h>P^5pI7E_N7OU=^tLrJw zK#OKmr++gP!_S?5wRx6Py{RG!4otItRIHw`qEEzf5qk;wEP2I3#e543hAUnRb0w@| zYF(L_6xbyS)9vyg__yGM6)^EmVu5mckgMR3rR9H&C`zm- zQHX=#3dmi$_C2OE`l~~7>5+z#H+wA^o)RfLDP@^Pzi`a<4m<5Cz$NXe*R@&q*A7R9 zgU6dneAK+nz$~oT#$fKc;Xt`uEfx@6FM?3RHA-VZ;Ov-jIY8^B?{bIO5Bp{5h$kIw zJ<9b-kLb8hAmG#fiQBo7V!@i0fRhB4oy_bl%d|QnPiggdjY>3W?t(YmiTk;C;5^5H zb}{&L%?Y?V#y_dl&XQ^^-@STx5=Mm|lW`r5}K``&bnezb-m-w;VG z+D&KHByT!A45w->9VvoxOSEM_JHWq44UEi*M7`MUY1K0MvesEcAJd{zXH+={D`4}M z*|pFk29L|>ctu{J=Bm@iJt%{EfAeVEhGUUhcc{HNs~5_C4_bCdMv$!pf2H%#>sgGc>CR=K{3|gA ziAj5YRN7eLmOXx8vc_z{eU-)RQa#K)C{($J3vg=P#cmLZ5-@bNz-7aWtlNVOifyY<(Ol;a$F+?xEyxWar0`kg(T(}+IozzV$}Xn^jt^i z)w6^3IgD|wGq;do#y*^WF8mp>EZ$}$5h#GMn~5VvpCq~D&#gn?lDF*Y$97*bgrDk! zzwn;H73NL#&Q0PPgu_eIfxIR6C9)HC=(MSvJRJgF<(e<_>#i~q9Vj7-y~-GMU}3P( z4u#dkozc#y`NW7iRqK?NpmlOfjfeX(+gB8YA9y)&A+oDb^BtSb@^qZk^Sq--m18(~ z^fF*nin9)q_ma5!WBO@pHz;g3 zfbqrk6~dps!1A-a8a#cAXOXp%s4rkrM}R(dK;znU3*@MAhE&wsXA30Gqz1Bj{%v+8 z-gJ&jWBQKqj#1InoGLH8^264<4f=d;g{xJFE5obsPi$ltNpVNAM_{<@&8;TZ*sVzS zwLw{vZj4!pNXEm>1x27*Ni@Dqf)YU(=-~7BF8v|(;ybsJI9$%6eG$bq5LiN6I0(!> z6kG?!xKJNIPdifs!MSRi6&M#KANI2f8bIwF&4~ZNL_+W^Q^GnHUGcjxTZ z?=|AsM1S^@pdZdUJwy+W9q(mm2+nUJ%1RGz!r5}&R}4_d4e)zu?TR!RuSRUGyQrH4 zulfw3>(a)^MLvJT2AT&JsB`R^xd4G^iN#yY?+T4lwBNOg;N@qnb4ED0ahOA)N^eF51E2{-loZyuRoCsrz z78A@CV~*{u;~gFRuq@_p0+>^e3Vt7mH(|L|K8PLeFI6i{1)w)qEUq&Y{eXr}IO|xi z_CjdmSU-1if4dt?%PjXZru{(csfby&%iv%9|<|#9UQ}LHO}YFXeV3Mry@f^F!{g!mc3Al&9;=1}sOXeZP6th*myw zuMyQ)PyX;7{%MG=tBe?5pt>?^E4_n=!(CDW8@))ZB?f)r&_>I!m!BIQy|JO9s({IR zLvq#%%b~ZLQ40XPm5^c34POP$D zQxHeLV&e(;D_qV`m$+%jdvzXE06wsBET02{OQVz(#7dG}vMNpPOb9Sy4d>o4#Up8p z;I0h8PA3eMm#Z|2C;BV-Vgj*pb@wb}7%cO6fp%7cJ)djpWT%{M?P$c1BL=HhUt6l0 zxU7+sWBplEmE7cimO%Q`#~S|6NaNMiM82k-=XPz|Rd>en|JvF_&9`aoh6Vx2M*;z1 z{NKh>X*hmgxcwiXk#cIBI;%NdtbFpGc6tf0(_o@^&ixWAylSOdbL2Ikg7>QjD z*NEjuZX5X``BWrHlahg+li@Q=FGZ5$r2v8YeI;y7*y}DAEB<#u>(QdT&0J; ztPLb1EQ12Mt$|NHZ=2ulAw0)Fx41t)o-4!Pf|N-3u>?{)TvAEV8+R|PPsuER1XD7; zx$=DW6lRl`wq!?L& ze3EC5C$ohB)Uee$V~RMa!iWvSay~6LHDCdLAz6#;rwrTKN(g-jVrm(ttKGbegorbu zJljmBEkqq)eX)-KETvD$4;;edbmiyIGxqZpn7rO$;`v0<_I7IPcpOz~onjBF93~a# z0glBsChfz?%qGkA8F|*Rb&WM{TkwBEQld_P%KFBp{_Hr7Cg-%KTHP2Z-f>&*u57j= zk^ncSF>(7xF}5W8^@RBx(2#mVQ7mZ&SCx^@sg8owSVBUy+D}Fhs}eIiQ(>i*O|%TdKfI_QAP^vlKIyni75V zPtLI6hAMYIAi&t1^+vb|QOc%DiYLopxbdSZqvg)H;*b-ybSa9t6)XDt8pJ}El8W_q zg$XEcP>d~AC}z)PV5ze;*Gt^Ugqr=OPnl4?f^ZRypc-)#X_+-MDc#b!#4nH3IdF4O zt>}2>D%=W9k_?!kJ46x3+!5x-2@@b82zbcdi!YuQ~E`?cecHl|bO^zT?YUPGTiIf~@|X zLZ&iTr*8J8HKMq%g?nU9@u?Tq&i51R+p8-`D}6XS8^j8mabtH6{}5t7>9v|;GGa$c zyclaRcO%;@@$8nWcq|@Nq8=|E`C9=o+7Co?#KgFoN_G*+U=72nJ(5h``@BS%bN%Qd z#7AL?mBtp;F&^*D-JAuIodzPVH||S4w2m+lIBgXPnSvdB-)>x}R~3`3v=LufRSF~N z0*?wLRHC-mLmX3?}^5<>$lk04u4`!#Lg#Hx+6%v5n9zN zQXrM}<5$rBIqr{dddtPo?GPC}4Yt{|PiO`6X$|#FQ55C~gllTPo>p4XJqE^FNfNH! ztz5~wJCVe{I9GV!#LF!Nn4uEwhe_HJP46e24HkLx0o9KFMgCf>t>lQGHt5IFnz4dE zv7KYswFL{|KC!*k|K$j}OOco8tni?#my+e@&G*FTpg-#k%07;{O;N}572Nyc$-u78 z$SAb`6xDhOy+3sBq32ub04vDz^caYlkIdLBD98HQbV#2MXhf&XJ0 zHO^=Bg6VNLK%-0*rq6`?6=Cg$j>jou=#Zu38uKgk1@GVB_O~5zjOJ$BEb|eKr$e0I zc3K}M`iGAg)?<{f6CV3{sm8B8n16sGE)o;$LJ!hCF5BWHx{$<(_AQUeyQ1LM#b{=_ zU9|2h@uoT@-_Ta>m_X%d!`bT6YYKxQ+xza;bmiLL#6&lh*Wbf2U)6E7_g+3Yf9OL7 z(6iNz7Z2z7FB&!}k^`HP@C@H>QviZ51RurKCj?j#MeWK3Bqo*XKB@L0G&6g81eP0v zI5p@^vu4s4ZUEC#_~o+NsGMyqcAu_%KpJGE79iH6ar`2c;7TO(HWw zE@5*b5y}{}(0=j%@!4{l{yO~gpKT>~PJ&2@@3ha_@75Cc|5gc@{#QUHqo}cihw*pv z=l?6NGAD7{aZU+ifq9%izyHsR{<>&3YtYPU6Za51i+sD>}zh{3BBZk?nKRj2yG>!aP_HgXSxwYS} zr_|?l3MJrPbUK*A&TaZKZGvhpY1NV7gbcGsl(vJhmlTD=Ll|QvM0htEpP8-g^(?m1 zLtVV*kN-FI&>coxV{&T2)kT;?d|3s9aP&~ATrJ>v5{x6`qx)~p)&KlJbX4)^7ifK~ z11|f9yh&bxll0FpU#=gMzr*PnlVyuwG16XFdN8EwH(U=CY?;^>Zhq=n-kJMIJK_XN zN58njNqN3|?_6Wm=)F7Y@}hY|0F_?%l=7qg&a!F_ZAlG}DLO_d#8#Om%6a`|YZyBH@KGM}rELJDtVWK=RNP$YFLa0nP)f{fu5p@utD^h!CZ zLbVA*G|=jU_rmUrH_LrM|Igw)T)0B$?bV{m z*jNd<=LD-p@FBgy@EogHD}{`-Mb3DOx4`6uL4slZC4juy%CfuQTn-gL!u% z%sY9&KZ~gIW5nu!`+x{wlqoq!_eLQNEFhOAeROPAKTztiYsksoTeT2xH%13oj!MC@ zdAw^L!E98`&k_i)mxqV~Fgnv1nU)ALf#0CWZe(sSvG?rBkQ8wz^Po7_|JU|AyS@EOT5S{7pC?2vV+SpYkTbNCO}>0( ztusZlQespowE6c^O*tMah+Se_J_<8!Bvq^*cRph&=Zm#wIgyTAC!SaRqE`VlCD-%x zsCTw0*8*2_-kcMBJ}zO0gEh6qe$$PFzNI?0m7;1z`ly(8qxdH`o`H&S%k1A9kj#2X zP+9v!xx`jiL%ohaSoD+W%Jd0K@d$7jp=*^qM-j6Y$>J?dxOZHqWPf$^roptsID#Jh zHF(NaeP)`n^N*bI-Kute0^GvbN*R7?;Qu}hRLW;!GZcrKiRdgIBn~>7;p4)hXR18{ zmMGvWe~Z^UG;d93&N#ROonOCLq%A@3739LSgwuo;V;c(=of6j~vK&D12SBxX_-TBc z#F=nttAN+?wGhdrAw~zqqxEj3QT$US=2X0!?EOZv9xG( zbqe4hOy)<(E3HnUS!y$zd`mPKfGhmG^OS3;S^U#pu@qi!3?}1?HL3?z- z5@T_l5rS@Z`lLnqCuP1uqZrA5d|))g; z$%3UyKU(>V_O!Df9r90pA8jHkzr4gm9p8Z2Tal7>TwsrXryg;W=MK@TcNg!O!_sUo zCE@BqvN9}oRqU~6o0D**w*Hdzw5lO=Ni=2Z3B8-^+Zi1m^d+^1@B5*%8Po1RMzy7U z!?3lF=9)$(UGv3HU8~9nWE_nuFcFIx?8(3b3B3Dw-LUycd_#XQ`~P zdTp$*{3AKi*K^G-8>!9jSckV%5jEF(U$gcr;7M8~b9xtO$0wtBO^gg;7j+=oRi}Q(7M>4=}`<=}!KG zd4Vh@ri)j*z2XUL2F*mjJ7rByx|rWU!iFa%JI)YlE^Wdo6`in7VG@N25GTK6=JfvZ z9%;TsZyX!MwA`tkc7r&^BZH1t%XGOe7FscYL+ZsrBPyg-VYxnn5-Sb&k`Z!eO*g}R zzNH$+bTN`U~>g~fKSqs&#R^P+oXFaH6U;n>p^*TMNsg~Em zP-#Aj#}O_sxqVnzwV%wtsuzH?GMP`a4tVyLl&kh+_dD$AXQj-G`?Of9!~=KDSt4ND zZEF;t{|k>qDQY`B?^_s6e=|w`4}_7si>u>*9y_tB`ikhn82qBTsWlVf-`gk6t+`-6 ztzqF(x)eHEB9#0L#cK;4INh9n!={PfP2e+;7xQeQ)m~+!;JBBCr)mPsz47tZD)-Zd z>($1~!`nJCNHmr037S?*cZc^0q&(;E$Dma&O7J(KR}0ZsN;bY~-G4RO)~|@uwPL)8 z(m_F@=YuTqbe`LO^{!NxLZYp`7mIGpK|Hn*V9iv96w3xCPi+NvB#Gn{ZM1HWf`uiuoKMZyL)?V43yljWIN`PtiRmTz6i5Gc-qPA+|m_43Y z7ANTag=WTI%X}E=6Nk0svb*Cv4e1L`nnq_nO+mitXeZ9N?2jr44Ub1(no@Y(nK!@zJTT?r)#^v)9NgY)OXQyeOO*wmhbJ`cSBS^ zrz27^0C?XxCJezcoP!EK0gM{XHr*0+%kqAlm}$3;nGy9;NERs*h>!aim=Ms7Vs(gL z%zaP^aFw*dA~&>QpAGlS+*~HoF{~yeX1I|v%t^P&bmS)KmZ-;)CW%d}FPIMY^zULc z&K)!TgQYXnetk;t^X2m%xpdq=rO&cVa&cTXN_+4hurk^)j_Ac=F1xfRQOQLZ!}&5) zut_VhIbzb#Y`w?)SEBnplee;WL21?CqUh-is@x(`C$Rg++htfUV{me-LsDv5R`W(S zWk-^c84dbyv+hpt^*iL#j=m!PIb+`)ApfW0%Dd{FxcydKxyb(~ic8Gg&iwyVacOG1 z;Vt5P)|lJUd4sK*l7~>43AgOSpoyqZ!>%Ant7WGz)a%c?^L4ZgCs=0Bj>dJ=yN5Hl zQEqao{Adadj!6=^gE+o#XXM8xX5 zWFyuV7Z(C4V@k|r<0h(w@~>WllY)|<<2dpLX6Z?6?0-5n5{3t{3tSR4X{U(1Ft(<9YyLPKy6|!IbpO3QQ}9P zL3o%2sJ%)@Q5-MvOkNpr+jbz(R_TGOMLtkFF2`X)Y&PmIt_fJAPrI94pZ$WZoDVo3 z#!8Nr?x~DWe_=MV8=+kNx@hz8t)4c| zvxL0Q>&$f6y*?==UdK6Yif)}UfBrVW+HxAhJmL8we=J}PgP&HBW1X&}rm5R3?Hm{Q zugf&I@q#&zt9q9(=&@t&6f{#iYR>?F&PmDWuZV@kC}+v!7lew~WO4%Ic#m>WEQI$J z8q1b<`l_noErbBKI47QIL!lIFdjEP@j>(3T`G!YV8|pLHKkl0<^e30FR?aB4f12K# zj9M?Rdg&nBbdeDYL1|ZT_+#X?Fm38^L%T{Nf#> zZU>Lu{Xh-PWDEQ=VEfA*$s&q{{1{AQtQoD#8_fWrS7WFI6l$u(U%yixTmtIH%Zil0 zM?|E=Pm7y|T@2vqvger?oYrF@&PRWd{}~d*O`pUijCGW!quN(3Wj$jA2`MsF5tr7k zSE@P{IrJK*?JXkuz@Vd2j+PaUuTT+|wd%uQuu8XR*7>I=32Uh0zM53C%Uv^mIF!he z;y?ZZ*Hf}vX_q3a=*|}`xq5Er9VAn&NQc)qax4=$U2#3b*iA(^K(i>_Q?Q@)tf90A zby4Lim#azcpr69=NumA{$8y?vvA;}U?G;t7T~wvw1?=aKygGjd4Zsdr`|f1g9t9~% z(FcU&Sv}YHRzT8QCB)@b#319WR^6^nyT6OL3(#9)D9rOmT?RMoq|pGRuyY5F{=IgD z2`yxYgUkAS%!7if-Q&Ga`S2(@P5b$FpIcl3GbF3k+FtDvDj7Rg32bjx*ApJJnnXw6RI1G$|UU{i?pn#CS5RiH*}Wy z1aGSw4AbI%3O6x|=I^VkJNH+luTIuLMJsRDRZ*!(uism4ra6m`sJ|!aCJp_pckhvA zG=}FEM-zL?DYPBmPi^p?pR@L;H95kU^a;p(4#Ks5QL{x_@@u(X59nFcR((UbPiwR4 zrT3F~f#S$V&2pmE^brbK)Ea0-t7{?I;i3lEtHD}r-_k76OSOllfiugj%Ei(56vu+P zizn((Hz%Xvc^ysIarN=%EaPve4wua5I2KU5wKv98PnU^H;_#}()(>;e;@DoCWQ*&< zVAbaok5#S+;`<;%*O2gcJ&q#$%M$j)K}L9yLoUfQkvG3@{uAt8Ol`V@E06>?(%<9d ze&5bnzZe+3c%vj$jqvchakSo3B}9MtMH>UQ;YiktXNfPG5nfN!R;Dv*B+T+!j0SDK z>{b`Xu-`jSdwALM#@?k#uRl&pHgtbXjSZ82-?#p{Q40_~SlH;*0V;a-ZV84Z`0Pl> z5^V`qW3R3U$cWnCGl}y|=J-6*duG|hy#;3qt@hiR>K(%QdFl2~0m=busVJ7%dW6I6 zIuKdGNn*;$?s7n&W#0Gq0BFoUiXKwD;x0_?fO6rzfL`B+7r~|%9={jX$aP@N_I^Y& z6y=ad53iFLzECaEi8MgQ*@_n z;xj8d#|;r*v@FcsYOD1CeA^^Zgss=FKmE~wd?>ZR&{y&&&i8Jx zg&H^|(#x0wS#>VNnNJjFFAG!&(mU+f{1_afqT0XF=eYy^;b3YwjiSpFys|w(0H!Y= z@hv=o=|2Jx|IcYkY|<%&iWBUI^xbCL`EIlQ_ci2yp^E>jJUG-nrV6)Gf`)iS_RN7~7nWv&ri%`U&lA-%17H}_P`_&C(m zoWeZVqA1WjJwN@i7Fa;^3eEPh$=fLl3sW{d$<6z;ad*pmyy5#i61e?F`xE*a3mg&b z&BcJ(efW;H#_{;Jd=+PX`tZ`lW{Dw>eAi~yg;MpGLSO4d#&udynb11Uc~uIH)<3ti z!9g6}V>~O2mByBi3b3GI>S`sUs~LL_s)^hzxWkIad9Xci0d0XhzoX}a7cD=i7rE;( zw{|OJaSPD|`osRsHGe9t&4z zBV~D>7LbG;IpMa#Vv5LQ|EQY!t_@wPaKP5d5!k5zeY27W0j;uy zB&Bi{w>a)SCV5XhbQc=1^>)bARGatSL~BS#x9-3|A>f;{{L9BCW8sqUv#<{wB%m>F+Q(paTgOD=u2GEsu%3nB(rY!Kr>DIIi1Xw-Evunt&2zh0(Y zLCGQBd|t}VbBS7N%K6Sajf`aa4xg?t?=s-ol)g$o)E#_P&Q5;DP=J*hc56}^*Da;# z_(EG{Dprmx?UisaWk}UVUl~iTIgOwDY8tfWBb_lxkqLe2I~#L7`)1qNv#wUjp!8L7 zFE!Rnphp~^*%KQ%blpTKia#klN$^PK7pNJb){wphrcBVsCV9k3mI_Id#B8~DE%bId zBCC~@P$l3;o5Fd6&x3i^lKj}+ky{D+1v!2D5X5KoGtN%GgJ0skVP7GfcQ3t91Gtbx zwcCCjF?vwlu$8Gi(TFBM;}$p8w5Z-dpHRNk3+HYPv{BgezHYH%SQn4R`o&wFVvgu1 zobP`qQOabUmgOYSHTimO^swA}hTM0Cd|o6N=h~Llx&WM*E>aYoDebVR*RNmf4~%vPgKI!#I4y(&MlLAk>p}$p~hbUFivOL{l<=7~o^a z-sD+(sA*DpwvW8p>AWCX&YkFJ>^VHTK<*@(0>StqG+=cCYM}Vovl%`fE#%PLbo2zu zvK_@gYdBam*-`5wB1H#IRD1)Kk%Kf0!nd`4x5{$8Sxf6|p3{mPMC>fv(|anWd{0l@ zH!+2_k_Uw4v6=#9s{MGqMr+QBGZ_M?odJK~CiG1u5zs2ZU-2ThD@?3%G@$+J)#_3@ zox6T*<2`RStkT@;>>;<+#M!j;D+}`BvW|}lN^kTAckIzF3Y?a;4!{v@_sK_ksxz`- z+Ig-WpJ3e3s8QnYaqOv&b7z(2^xLm8&DSm%V^K!Ip|3VugQ@2}zP#JcDoS)R1xPL|7$TGcG8Gthl{C+# z9uQty)J(ouPPMBa<6s`?zRz3MEt1k5laJWat*cvYKM5N*wS@ZZ9Cd!So6RmLI0A<} z&d&2Ib5=xbpXTNqdXiSAj4h!@e!VqG=D}8L@T+78i(A!XbmFlsi!c;&OEXloYq&7~ zrT&S_UiyQDtyDX1(6TtO(c|(U7)3!*t7A7d5?#I!LWO|=F_3LQw82t%rIE?$pY?Tk9Z6W z&^|n|CIg0vu=9}^q!YW>!J;+%2e}rfbet~*p(x{Yp8(%TzJd53D5pSdHG*E+XEtF# zrY~k5a0w}Ui2*dAl+V1nTH{x8`Li6o~E&J*ljW0;cwYRIGZx? zh<-A=Cvxwm^0)u{0TfkyQf_SbM_-`B?#Ag~!>&k1)FVddHjEwHfuk+Y8EF&+}&T|PMq0562RV`^+Lmfou1UCzc)PSy?ksvHN4He~4MbJVGHXlDfLDYtN^ z#CvP}k}%Q*Ck(8%HxkXXpB-w@XK3FqElnOVF54r>R@J@DM0=7U`(WmQF?m+`0XpDt zUwcs%{H2CTijk&*DD~iQ@5lqFT0kEdp63xN+`#QW51AiegzwhIFgui@2NWkGtPO)UZl2<53QtoK(U!_*LoRMGdK&i~jCKldUxLk4 ztK4e4{f_0-=G)%#x^48`hQ?iXQkmmtxC1NH%^y#YSZaaLc#zwD?2NMpn&|Nx>6EN9 z?7)Xk!#wXl{zm8xKjcXj!qVC@)wvaOxX*TjigCp$H@YZJ;5Owd@nQ78@3dy6t*f-0 zB}@|aFZ1PSzRtjPk`52Ed1%s*L<9p{OLq&iw^Yj)WQ%VOxWdemq;b&2G__mPpxYqm zg|eHgQ~uGUL{ESSlZa&+kQoiOF0vb*q4v41p*A)I=7pil#z#?SPV8{95@lb7n3>VA zX&VD8cHGSAG^>F9QY6744~dIJTu4k;=R$L~xgbYP`%O4y-It)Cd<*N|2=TRuL@ffW zvx`AyVjAmMT3(oy&q4!Aax>fs;io@~SsHXl_E$*rRqG9PL@8ZaMhb1=QVv{eG75xg zGhFel+h>tRm~X>bJzPRk4q!*v_=r)omEhfVYLb@g42{12FUr2DF%NBPx3Qfxww*V& zZQHhO+qP{qwr$&P%m&TL{_fT~H+%nwIWQlMfy(yueBF#`EJ_XFiV>iIm4IKcClt6- zo9+4gV+08jlxG|LNG<&KW2qWd^KcVVrYkmZ`uH0vySS+3Fw@J(K)*%864`0yer6KW zKdg8*oT4ruIa{2enrrJrx^PDn0jE6Q)>qzlv@f`+qCEj{N9T#O;rXgCXBD4lae2Wd~vXsy4?vH513T} z2<8~nsemV4gG3XeD}xES&Pw4@{;ForC&<$d6!2KaIUyq)V8WTXsE?rxc{7O z2$6!qW)L%}%NQ@GoKoE;iYiAM{Yeo2k%zs@xt( z2hS4W2=kAH$v>uAFvRz`yIkoDd&{6zPeve!I)=V4jFlQgH}m7RVb8VHrtK|0H0ctQ zHnNufj;8gYz{_2pC-sHCXpCJ&jld$?*-N!9L7l?ptlg{RZ?-~b0aXn%J!Ak!BLmT3 zD|^q*8Ybqy%Q5i8K)O#+UEl&zcb6M|fA!BBaU8C%rnLiOf(5-rs71A*WqYD@c0-t?vS*AD_reTJ?kI(yoYZ!5iDEG+z}dm}mUblCgY{amg#b zzfcoOk%uyOz^n2O60&-bScHjaNM(5kW%?zb4ZZ#^g7TX!3tBzLJ=4W?euIDNZo|It zBoC-&*YR}nh6}nEgpYQ2luuBVVUl^)Pyz4()GqA-PO;~U?-%D6&u`sRJH>LzC-lcR z%-8j|&&8({3&}j$Ut9f)Rd-zqeK0Dm6S}R7F!5i=)#P8`F4}^@9_I(T4#{Pic+3Z= zvm{W#4!P8Jcd(8zKOMsfkv=fLjFThI`h{6zA;Y)}`(w~g;L zyvqq=zWY}SLU83zo0V^*zxjKJaR1i>MPzHhOy`&ZNzokk1E2Q2;{u%1^#qI8Tygj=zS(;ZtXLIPo| z>!}=$m+Xx7KYuR2!Ty&!#@L?$9Gg|guHE_9;0v`!&%2X-wc>oO^q(MDrdFw16KFL; z=XII^%?pr2NN8tk&G6OQ%Z`)nt(%<-@CV^g(O+2r5=8SVs+rY$d45#T1242mxGpTa zEZ}+MW>C$Rd*B9nk5%by4LMW%lTR_-P=D5 z2p*nta2?H7lhXOgzHRz196vxb(u*l4^Y_5tuzxN^QGzU{@8>|_PFJ1r1Vu@>52Ud~ z>21?iomCI;qGF8Mzn!Y~%Q&oQTm%|RceLncLU99bQK^2Z*`Y4wQD)Cp%+12m>~mZa zYYNcEtIeT9PY@C329m9Ib=Xa+#cp&ht?OhekYMaj2*2)5pjc+*|80}na7=PgM+FR7Pas~4d8H(=5;#506BRC zfPdXT-P6uV7^6>~lQ|*GCZDik-w4?rR}6$aBO8$Nbhs~XFxZAnOm=8c3G=eJ7`|=$ zpL8#dv3h9PX8{Vjk)rQW+oBrcZQ|TYm`!AJ^|hM?xIBX0ABhW*mXU7SZ)~is7Cr*| zQMlLGH+LB>dqR9Kq7^L?skS-GJhEJ*_mNH>*YMevCks3^9bR(ueT6tc#KfHsTB-I1 zp?svg>aKCi#{N*?c?E|NDhY z+QQc4AEgqbBBivc`Yp#urKO>Z!}>m$4IEPN-QOw0Nwi+N^x`Y+uT<6^Tkn=LX`_=UU(??>B zh6|h&sx)cKsXO>AU6fd3myxRg*tXtw#$OaHW7*c7{7Jhx#r8sl8qg#2*^pav@hs|E z(Pe>^8=2mh@*S z*?Je{zyXJDuQ03yEOa%GoW?*hXR$1m`iIu4po_;a(jbBwqkwopZ^`ZT%u)-)JKs(~ zk|;)6$$Q3TiP~VuC!d~|3^23dCE?v(xS6Z;(9U8Es5r>%J4RGSwlk9CCr&J}*{<)x z-Q}AYf$J(dDCM7ZaN1hrL3T&KK@z1`x}&TR?8rarh3K${VWQfxt6FYVH~`rqt9e4v zOj#1_7#f+CIN~^fs*-i-ZN9j0_0e*Z*<3TAeL#kJmFG{qwRY(&+_ihX;xA2Rrvr=V zd{rlqr8~y9-G)j@HSKQt;E51{hbkkzQN~S6p_B3sd@nAMv>~}QYkP(QqY9pIFRz5Y zIjS52A)yd|IwTm*{1nkat!=0D6Rko6W8BZmIas@WcVU-qg$}oTKi`P{fmS-s#L;4k z#jFZ8QyS^}xsjTbvw1hwKJvyXR#{xQ)uQ_8ZZS7Mji7X3b|w07xVHcmT!jMEi+H`YIVYK zRQKzgAAyHOGe7{DGe~!1oD9;(Jw}yG9268L*tmKGG-G~u-fwC_Xd=LA$T63M?p3;u zZ5{~aW{rl`Fn-2c)&T_2;osc=lC6Qm*Y`(9nE3rr>@`A{4u2m)vlefkOH;HgrFftY zBHcaUl8>zPO6Z7l?t{5AYNvRi4EI15!neQV$15z41nE!jWYDw67iqBRUu9fV5cBJh5{Oc@czq#I@M7mhDUeQy*f883uQkSNwoT<^b^+L72jnQS_TPPM#6) zWg9re>K!QC9TQx)jv)7-4IeX;Oqo`}x)4;}Tfpw1nY;K#p?jp*5DMWncu!v%>IV7Q zh#IQk47G}4e5%QSeLe)EAHUx#4mfG(HWp9cMio?t5c0!WnKB-^dA`Z;kM*v7^6~}4 zJh((W1d19p>N0-tZ5{!1yZPY;v^f=@jE#S36$5g$eh+*{&QyLM&}9Fw2epiequD<@ zPl}3`8_IVYhHK(DKcl*)IUxaoO@V|IrdGd{QqeP+`36w{L3o;lW2UT(>4kRWIp5tn zgr55yY4wFB_kreL%&&ls+3{kSN|wWkiS^TLpReb2FW;|+w9_A^1kNOoO)RY@ww(fJ zpoJ|aZ@ZECEu`Fw=sR>MCoME(wzbf8gg-kWa484IZLC%qvr-osR@quaXy+2hwEx&y zB>)L}?zsNW7ZyK(Q4zG9uZe<99K)J(h-Q#)!EN~2!W!&0yI~GJAirLtFBj%n}yGo>d??a=EO8K0i>5LneP_I*_-j>r(346&dGd8-+$Pmbc zqb3CUk|EKSNsn`^cyh#9noMmPKj?vb3R(170@oD_6KwRm*t)qSEuu#^Ip5J~ybrr= z>Y_!jc^IW)hSZxx!w7t&p~v=pvL+|L#wZfx zcT$RyTUt(^l^H`swRSBw!yTE}IX+1SU*k~Sk$U-ry%}6r2sUU9sUEBWPpM=Yv>moP#0_#Ij!~RI`o-yapJ)MXuW8;C=5u_I}jnlIo20(P)ArD70>B$+VQd9jDhO9+W$-Df*%83MazRgYo=1GM3MtGa zI;v)-QR>P#QZ@u2kjV~T*vrr=S#jeQi-QjhZVHeOxY0;A7NelKUgH{(MRjpwu5xzV zv-xPa@i(m^u1YTpN1QV3S%Ehjbesxs!$a(yl%Ajo4VX*^za~sU2F|g>I|zFdrHA3V zGu0bRtb^zg4lfn))A|!XR$m{I4JY(~b>kk!jU}a<$IZq*rm{d`br&xd`k>(aenVOLKS+mlhR z^gBAwC8tT|`ek-{*~*T8X;UhFAdQF_T$hO4nt z*#~1SCSe@xGO*o2&OC4iIB~zz>HkD;FQYd|A-4$;@Q7CMjsY;Izj0^xi0PVWUznnq z(75I8*9scMJzWDtu>`loQha6)e&X#pg*FfP;vFD8^n}Y_?r@)A52U?P1%7<{6!*Dc zUw%3AE|}o4lf&O(tB_XpMr066TMLs}O7{F^`{zP}*~d%a`Mr>Y{Z9*tjGgPh+Jfq) z61EBImruLkD;4CiCg=o<1|8*sAfb5sNFn8tU{IlI+O%LQS!aeZ$aIk0Uo>uxLk1=M zw*%?Eeuz=>oVz$j?%mcb@f=`4#`c3$kJD#P6Zv;Uj-DR~LxeRVUZ}+MgeU@Sr};)l zYV1$liB;g!>H}(tMMc)_>RebT;@Ip7#G<7?A+bfdyUYVTet{o38YQ|t6@eNqOJNVbz`1jB;i0vreLe) z19=8X58Sh7Cr)Dwc(Gb&%JPP(^0}xGhFEh%6xdHTE2phN5+PhLiE>gTlcNy|MTO9e zgSI#bV_Ve3P+yuU3uM>fdDu~*{q_WIKAEag8+kB!su9ft^$}S_~dB{wlC6%$N{A$D+jzjjbOHuuz{rPOPCve|eE0PK4bD>w!DK{*I}nurFV8 zI^oN0P}YL4S9b?TTYr;HLse#DX+PK9^CyN2!a0gWgTQ6xR>SbDA)*X!sW#MIJPgGc zDwW!_7F6G-qa~%+@de#O+Kl!E<2Fo_z;rYTqHd?QlQ<{m+URn&E0j|r$#_-$19tO8 zv#fcBM+BvKTY%XLn^5evg;S- zTk>-s=G#}y9DP!|43Z}09qV}m817lI8+`{uFc;&!(P$^O27v-yk~r$`1o7nGDdMPC zN#e;@Y2v7O1X%+2R86J>g4sE-IY#bA9|*xCvw&yvj~zBpUT%l}M=(=N*?O|u8};-D zmp5Q^^~e0hQTqCe0EWv)K%HXgz@)NU#srK!#TF=~xAB>Ceu=td)Tx(F6HlUV%^_;(iFAaW6TZ zRouCTFq?^^O59?JM6Y)suD2X_?g&kjsLAY zyhC$H(fGzAUcOt}fB(Odx3D$)$NwrNN$Xp8h%-FXDD+GuQ^lgi+g>l;KK6si)2yqn!8ne#`H7~Whn|LoQ#u$wt?`tigExS!S zxUg-+%+i4B5A4(*7|#2i+{i6%Lw(N}rMewG)GZhb%bHBx!1yCqs|xz<>>sC)D)`SyqcBE3Lc*WVejT6~wQp#Y!J) z5{n9UxvE2YOCZC5^Ptc~Ofa-m2!9d-Pn(uFXkR)U_NmIOv>Co#h~?W9p;Z~$gRMS| z(x2tfD)n1)lphWb&L#AZ6DXOgNlr7K4MF_A5}gP|_GIC5+f6yP@?b{<`C2?_1d3UN zrE>s1?ogoXI{d-hK38oQ{JIjDZW0}*1oDDYOm1?Q<|ETMua2^(+@iVEG>GXZHqS2L z9StVWB3m$Fr-@n0X-q$Ksj00%R5A|PR*_ocIJjBJvVsk@$`PJYsu+jkK2o`uLy??h zJqhZZevrtPbZQk!Nw373cuUqVlK{?yKE9&de$r?kwCs@Xx}u)*+9+hn+2@u4sF$eu z@$zW|a+yhEbdS+QgFEGc`4wqJS=K7hij2KT;VUo%3D55}t5vvX0_@#4^EQ`q_TgXj zi#l}g+Q&C?w(w2Au>RLexsrj$KOSp|>g9J_GU}HO@)}}mAw@o#i^32IcOWz`qU(`nOG`8Tdwq$WjoIr#+RT#vPcz9r2V978kI0m-B&~1DTHsrUY!#fErBXjV;ixTA)TTFR;6j%e; z6LJfqwT7*08mBxiCfwg&2xQQAkX>JISlByXVvxNms7)Fy+7*mygs3z;VB)EX9K4~poc@dtE zlPYi%_gaHUlyehxWz=dpTbl}4@cQ!?R-wNi#Wt=8%z)ba_f!0!Rwgx~KNmC(k9ZG7RPL&3u2LTcsy zOp~VRY3INeeDLD#(FR@#{Rv27fdxxAxM&J`#`$U(hC~SP2lc^1uusF;keG4bR~=ZA z0S+?6nv@wflhS1&p*b(JJKSU4UWU}SB%UPP!*locTqZaI^vj$)SqQe=IjpnxRQhFq zPuF|i^U)yB<$sJ~BnvDmC`Wak7kO5SxEe204wp_@CfqU$O?Pji#OC7dtNtLzkR*~s z9Boj;IRV0))t{>Z?Y0bs-`|jTuW%&%s*XOr9a6`w*8-stC~% z4=!mn_S#6BdeYfFJx@@Yp9~h0xv}@LR6skV@13zbFlD6Ix%a~lkMZOo%t)jc&M628 z4rxlu9~J$#fwSXp8CBX!43Gx|vV}tWyktf^x~`AG&}iyh$%pT=h~VfLtRYEZz&4vD z2)alQZL|$3THQrUE;q#6F}8sZQAK3PH>#jLg|j0%cfE*vZ^}a2_Crr}KjC>3?*O&& zkx-*QwMhrS8iHO?^Q2y_6`BqTCfXwDA(e>T4ukj0qzEYU%S^mO>V|2rkJ{DQZoGhA z?M%GMapY?iKk_N|xgmu>v26 z$$;`mopUv_J$eW4xXzCat&Y*C{*_Kbt}Zm2+it`1tu7$fc4%l$+}Q`No(6$UERGw2 z212apj;Itrlv$$TS3!o97n!we%m=4#mm1l|K`mFPYjR@@0GS3>U>YKdNJWmx8ht&e@#*E-3;{JX5%Qx4u zvrFMB<|{B=clNBro_fvW`J$Uxohdqq6N{kwJbh5SmLuc`F9aMEilf^G<^oQrX6&3G ze!SN0Xu@_PaZZ5c4|lX6>gdIE*B%nSCb=!bquGGli6ltx!gd%=5Myd=aZFVcA4BJ1 zgNONWv`sd?NaxWi!7HRG=>P*RP2|BwX8=sE@B@QJ@czJ+1Hbhd5@0MRbU)j7Q*=AM zzqLoB%fSfJ9+9d$y&nUFMW3qM`ydy*9Yc=1}@f1Sa39jRs==1eo=(1P` z-{JH3_5<^+Lg)YQ=gI%2Q^=S&IT`#5?8!-zQd<1>rGB;2%3u!&Ng^S}6AkmmhucvS z$cu1+bd)QNm_Vkn&XGxH7G8f6br>9uVA3*i9zxtEwLOD`pOR(VD`TL)_{`jV%#M%8 z?dtV{q>Bm&`WuM0T3)0cGfRhEqBZwS<8}|&G|yb=Xr48fW?);+^VHsZ>QFy)xls}h z&2^VtSz4+vOm8r!$S3C&FrlALdVYsxl)oW&~LpJD=4I!Dep zsez*-4u=O*7=zWJ4js>9v%K8$t*B9J?^EwkrL|}wocU`qR)OIXx}NeSmpnA2R7P4V zrNHn=6_02T@7mUFvCa}|c#*BH8@M_Y&ksE4qvH(UE<~GgX0N@O&ZiR%+h!QJO z$JQ>hWO{tJ$OvnlnG;&H>J5LNo3hhZEy~{O$EfNw1UL}bJ49yTwV2CAJs-DR9 z6s}*h&A{|tLMw_V0o#~`MZvcxPL#=|?4%JI8ly=cfD0|1u*6`E&~(-Z`d2{P8fFq6 zsORGQ)GS$Gk>W6v3*Rw0m2gIqJ;^F3^hOX)Z!K-(`S@c(A;f)R=T-#bn2yVrWusTz z2vr1%a|L*S#nlsJmhYn%_olo+@c{Q06VNBZtF>#me&gxO1UO9Q@>OFZRR)*d>xiFx z_NroXP>jQ*a#%LZ1Rd$74Q0DgC$5~^r7B&`CeH=lg)%>Km?wV$Lkphqr*%5T%*9Ck zg65AyP$!czpoZZmdk1R}k|YO%_!BlpFPR&-bgJ=A(ty$!9M0bDF$Jc^st|~;Rb5|2 zaLp*%z50{bfAY+27X+h^V0uXv48Sdd=E zI9X|I1b%Tmfp)O#Rq$nrOSq>k4zZXpi55{}+p#K>Agi1GDw;zbsbN-ihz}8aYnVFg z17<@3*)Iu!IR)D{hA7DMVhK2F}F*Erk-)(i4A`)36biZuvIQ86c zeH&*_Z{qZRq&8F(h8ZkBXPzXW2ix{tg|5H#fpqr!G!1{EY@D@Nw7;9CKxp}{Sz5Qw zQlW+h5dX)|MEf$gRfF%qC7)oJ-i^xutS`O-hWAI!77}qO*Gh7OQOI)8AxA%nP=R6v zBiY6-&q_RBP7Di6sPv%i!)2}7>8nPC?*ujoZMG%WD)lDZ=}`#^OE${jifm=`febf9 zP%SX3nHj^8Q~8mx9KYRf?~hFAMa({ulZx#zyzXZ1rQ$H|EG@d81;%iCBzMFmtK=xp z7P(Fsx4T#xtW$_#SXZ!~Mo}@|8ODfE=pWgXc%)$-&rVjp2In;HAk$Gr%;@W=0)w9q zR3{jvoK}kp{0RlC7Rxw)CC-X=Hc${rabYlut5hHVF0mI>FG{mtm4cgK&?+CL zx5b*-`oO=cy4w>}Dk|Nj8+1geE|{yn4>eW}4j~K039(@QrKdr1T1`!Ah(6_93Go|% z0jV@!hVjX|VK;k2nsao4ON^r9lclN+e5NZ>=s zt~l9@?NK{AcTlNX;_(UN(zO#cb2>?{pELgxcsl>A!KL$FSB1xl9tjU|M#@nEQO0ncrO7<=3?GQ zwhPx3wn)jCaXu>0GE!jbPxO^0r6 zdnzHo`6er@RDmUj$H>VnPpc=IeQ>HbfY4una#MGEw{nfwOn(y=AjO{Vky~K2T)7c@ zRR<7W)Qk|AXz%0(3Z+A1TV+j%gor|*+r5#~ zvq|O7>{y0OtsTZm?UXo_{A>Jua+rSL*q-^+ww_NP6FJ!O= za?0$Im`%8+X)VRUjyn^!fyQ28t;g}svQC&Nq$CESai`n`7u-ODpv@96IP-dpA^;ba z#;qyG1W*SUPvY(?+Ur%Si>3PFGH2eCuoz=&EZM{dC^}>34zpQ1kiOBoJSNH;2FCJA z+QA|@hf{;!$$KrTRoe=bY;XQrFh`Y>ehZwLWsbVb|SV2Uv1>DP-lu#9Y@7RF=*ii1Q9g>A5918srZSa^!w?0=piBIR*aClP<&w8BZq%$u{V( z^uUJ{g*ThW&jn5PrbZ&CFMcW;Iv(>XiBYnSF+N&>rEjyTE|}w_4jxZasdqTuONjTKmxZcnPsir&?dzADpKi*Jh!er`71J(}a4#IRrFi zt;CwJ(zM#r)!0aGuEwLLd$Q<*5-_aEyUQKb_St(NR0y|rSpNh~bc(%veE~H*msTOr zeOxJt#ZUwf&44AJ2R@z5wPC4LT~v5K8*S^|{{?C~`9-a8-xkjs zs$0ql8h`|X1rGMhX1&^Dnl?bPLo8d80nJk#jc2taKlbz|BPp(tyUw5$aMGtfwmV1~ zXz0ZPz2%@ZHBToddpI)cT?-Z5Khk$b z7JSQpe%hJ0`QAU_A@=vlY$3Ci3CZ~SENvh4Yo(rR|a*Q$ZzjDM!NwrnGge@Czd z-vMck1pMkax!-@$8^igO7<>mtse?y8DoF0K+XL|y578wfXV_+H>SJgNFARWi7k^P* z<=L)k6tr8`Pjr3Ml%>fG8Xj9&fQR;N%xgpyXBL!H@&OR#xmYwELq&^7cE*~`+`KvV z=v0AayU^?_!R6Hl;Th@gF)2d|(XKZKY8p{%^jCtLdR>dlG2L?X>GrdM_o$$P?|9B?3$|AwEET zCYw=ZUG5!7L)i874L#6VGZHuf{IL<>I_)X7hn?+n1+g;xal9-*KbYJcWdv)H=Nryj*tU2~6~r zJ^xE+w@&Y-2ZQ+IM=kOHVuw<)Fte4g{l^koq7I|4e4O%kW-6zB{3uimc;JU5Kc2)` zP%Ar7GH68tcRrK^%A99LI|)cq278=7jb_DbIen#;4Ukn-i;SCE$qFOkNXG`%TF2E& z$EJ$f`&!AxhK`oo=CX@h$?1oi>HQF_4&KY(m#EbnIYqw6cLXZ=G`urr2X4 zVxp(mV@+aCa2R7|Iv}Ze%fwUCxajbrR8?MwsxF4BbiDP&!$B|&@}t0^?%x8YsQUDE zXLW~E1p(Dd0jSh73Q}p@qJRL#e#v5UKV4J>!!|r{-9+ zE~8%~EhKm}Vgc4#HhVvxumOsqg! zN7jh|hj<3ct8NR=R20{ML6)L5jknb2rJj}lChPGvsJ(#wzB=?Kp6a6$5eAtlUatG1w z0kEgCTh_bKci62s`i8?{8j-a&t0EIg-Nnc{#Pv-QHVB8cJ|ylwGYQ+7SJCeASY3~2 z3M6Wgfs|=4;u_PNW7Fy+Hv1C~M7_m371u(iHPbx`yn`Y0h%jaeoea(aFptQfZ?ke~ ztR3RL7!AhRU@J+*NKH9roN$Rd+^$wurWv?jh?w&S3mdqR8XR}zC`MYni;cH4hlGa6 zXzSv#s*OoIIz`&dAi#UH4`qN~lFp5n(PfKYvDDF>D&-o5-9Z0`+=hw0mNbt3d@v*o zF33A-?#dm{z(+&{+(!(mI7e~+@5Z6IS*%xH-#*rsT8Z=mbsI5uD_6_*cM1CwW3HDdH^=dQ0{+77@xF7(@U zn@Y0&1rgmz0v`2Vf7BYisn2-d>@6epmc^BU#L2#vi^otUJ+{BGzORhba3AYy}Lr;bj)i2=HvksoSjnR;iuC|O;T8uBhAn=g^z(Z`+ zn9+UiXrkmjBGVX~RNz8D)R{uw8JWuH01$39)I_Ez?xP`JUwOLL!6U-tIP{c5=DbLw z6l=ZN1%)1g3(liR&EMgSOvC)RGH7Nr>$){cga$6I@e~ZKnGQ@>vda96A~z2h@dq2v zSIdU)pwrA_)bnf+MRw{b`}z6n$R6}w{LVdXQ?MCXR`N*GO`p}Anc)r`n%o8y6a!Q_ zbVpTMEz?2MJj5T~niK={iDQ!&%ngQj?b)M$=#Zy}c9fJY=MtTTD_9U{OC6C42d*2n zf-NfqCe7PrN(g4b5k$t^tGUttgnG4xsm@s<9TQQeAO7NRu}8-~DymdIkQ6pbs4lL8 zdx!}r(Mt2#QS4%BtSONaZjoxLPw`Qekb+lvSO(xKZ&A326`Fo$fcC*_52+;*DVP-r zq(QADY2?u6n6l%YE9Q@Fki&LpUwbXU+QC2&VYe$fHd5gz+%Flc;Mts5in&agFD1&t z!Onq-1Z7l>^b0-xQZB2}5HmJ4123mlrqj-Z+YqI7%~Wn|TG&dJ+tMsHUsuf|N|r%H z>vvCE&)GRBP@PB{Ma^+Fz6v?t#sq6wR53i4lLAPPqb}y>9G#M&NU=#ok>3M%B0gM0 zj5C_28S}T#hH{aZD3$fQIrXr}0zd*b=z64?uYVmAO-cRfX=l^LOfH!~0-b0O++u|9 zHM6gPe7t8Vig^WA5lx7o)}-<~on!gUD3VPcWw>>$9#E*?HXsC$JR6dk?1D1nT`-W3 z+p_$n@2*A?R%=4aCQ1|#@9gfJBaoMn6|#AKJ5*A~b_Ra%t|&{Bq)8S{&eb#~XMN2q z8r6820*U8$^4zzR_Boxq$FRO5HTxteOF;dgG&5GJz4CnPXDS6{>)&{X|8sD5TtJE< z&*@z$Wq*grJ?&*LYrb#fP6;!#Hv&HFtLLtZhZF`9@gFI_b=JH}IV=sxC ztkQ~@D7`g@?Veom+Fp?_i8U_le1q?_G#ha5$y;~#HR%fKJuttBDk1#2QkwrZ>^3yp zj5d(^;6WROSOb;OkdC%^eijZ>+;P;AjFAp8lJM1;e+Q>27TY0lI#9IZQPCRU?c0$a z`%dF4yI+U)L6$*#HM%tFvByuy$MXRmnZE5Ut)zv9RC>tm3loG%3C_k?vbALf6|_J) z3TXQEo82!3e>8jHe8WMTVaVm@)`xbVHhQCdRQjZ0E`2CE=|yr1YuOSdBeIHkjH43c zwBiN(vN-C3d$%}H-$FbWsf^rtBFRY}f5X_|V5HDoGq1U9su*wC!4%xa@+EjfR}DTj zc6ODAgCj>>wdBFU3J8|W>In|dgRX@K@}+tfYEE3meYa+2^e(nG0w6_A$=E5B`KiH{ zA9GSOcD-C*hx$)@GK+So%g4@8ADcd!W&_q$8zhi#m_0zR$p<>(3A!Q|7MW))d{TW> zWNpBUufI%r&+)I;q&SUHCAGV(k*!lh#wlo02Q!&_jsY=ujw-%o_hk|`jy zMqV{$S~>&j+7sf|d%bCeNG#^2SJJ*>>a7-$x?62rMLujaC7+Di`OGf*R;I#hA@Ev@ zTcW&WKkVxaC!JZ7snel_&>PO+M(h9$mE{J}wBh@uAuEshO0s*OnCa%2n0km1u`B|@%QlXJeLuS8sA=_x7(athen0BUz~&BB zdH=@dT@@$s-9B+4y`#T(@5Jww!5vDzY1F(^y z*#0IVmq12IF5w{*_`r-AiR3VQJb5WJ42h?#kAL=f^0fHNAPcpb?Pe(>O#~|BV*<%G zaZwBmDg%?)vhb!a$iG&k8%0dKL| zH!~?Uj*p%_qR>Fg!Z$1Pstl|sKXG{2vY|L{VgY9j<}Za)N{ft7=qh`}L)eYR{0YmO z#d1CIYBZ-~%|S4y+1LYPN4F4A@Nn z^X-VE^AX5WdN@H~^30sc^1GO-`i>;|q0^6&^k(1fmPpIH{LnE#$0rd(`I`*Etg~dA zE90{wk2m9FGFfI;zRE7rO)?Q~D$aFxiI)bW$I2_q&5}!u0Q zImtvj>dZ0(0A{RB+|S033m-jF9{&tWNaQbZ!Y-f#t4Zjx8K0AX7S27K&`D!d=Un(; zIiX`VF`B+M8$1>ToxRVoce0;KU)(KJkQceSBgD|XG3T8495a(iJvyC9ipMRAkss#qkBfIZH~P}TLG2JU3)TS$kf*9qD^_#Y2R|susOvnb3Vc*yeLE~PjxGj z)f;#7j^@TAXV>n4s%w%NzfX?tcOkIzob~TgkF&zbx#`v$D|47aR6&GY56^Rg=Xrp( zTu@tp?7rw5$TQc^12Qp8c=nY&Q!%byu7+8p;hfl@wn+z2H?BAPxjT$&2ktO0+%o&# zLm?bTPWv?ubOg@TgYqUI1dgoR`X(5k8PJ~NE_63e{Jx?YAnp@yywPm>{mmJ*Tinx5 z_kllniJC~@zlPlvwE_fc5_Z)NG_Ewg^*V9+_CilNt{k{$;btVRFtZnQ4_~sn{(5m& z`h?><)jcVt#ir>j-Z`y0c3o5sUe*%q*bm>rs3G_scLep`3|g$ByvAILbe(&`*|qPC zZeDY^Pj*Azv`N`-bOZM$HOkR$Sv%gzrun>3btF7Xy^j{n&dV%pw5Kfqb!1#EMQEM< z>`1{5VXrOPY?EZsdtw;Bltsj#W_?@DtDz&OIdHu;FYOdS}JmJZ!ztM$kI` z#mN?DQ=f2ss4~dGkG{^8J-dkP74|@yX?0`YBgk}xYaM`Jxd>}RIk9Z<$2x>zTTbs_ z{%Wn@RmRk+x{!X6P$v#d>rE8D!nYAS{Sq_qj54x^Pv zOp`-0xEH*bE}_NDF_ zwN+$XZN>hd49T>%Y0{=wRh7R*S{5J#vR(1-El8OA?YH`nvqxvbF>(X6x-4 zeif2_EZ!543(-f=>`_+4$}Uv>fiFMY;#`zq2D!5Ux7{)=OXY5rZ_~>y8iY<jrP5<_8A&y5YNa>HfA#WI87hr%bB}4^=P#dTHls@QENxNp_y&DKjng|a; zq!-Z6MYl;9Ae$t*iAc2NB0Mcc3gOi>IAKzHtdJ)Sat`(|JV zf7(?kTSSLODIjA=k@U(E#vvTdAl^}_*#!i8=Mp0aVrOc#749)!5YP+6K+>-toF{{x zdd->q)>li08I3Znoc$Z@1SDLyiMSL*Ys)-@{it*TV94n~-qsxc7ShmP7B&vYtyY2s zNW`UBpJ5jw6v``7k0`5E_(Yh3x#43>;|R{+5O%nP&+7r6<5#@Hm9R@t_(6fNV&-mu zr;l>sMgRiceOZsUspAu3K5N61@cdZB#TXhxI>iw?76=m2pi+?tO781}9|6CEO&tCr zm3E3xxj8%m8pXz}BMi`g{oNq^X=LYeCwqb(t$^MsB!hm#LqyH_0GjyqBcLGf-PlkV zL|AKp87Zruh^{>tnMch>P{cbt5!)7t`Zc^7b3*;8+(*pGf!8INMe+J@8D#8XosRe1 z&?)I{Hq_ViO)V6|+eJFU0<@xAFkuEsIud8r;OA<&N-kl-MUwcwmA4R`P#YxLCLL6b zoZ;#s`FXF8zq=|0!=^}0)XB*UFYBgK@zdcVAAW8)uhck$+#wBzw)==f;|)91qRa21 z-V7e^OU@SU1 zs+Mpyx~2l9@;vkm0r%_A1+YMyK#M@7uZX|ky51E*2(flEuh<{7v1YA64UsiTIQl8XV1@1u3M8yTVQykR zoAp!gL2`4;qreWGLr86h_3-P4dGx5t@9&G(CssoxxsjI*R)8CxAIz@Yum&m1EK_O`V#Z;7G|WhSp6SD(BPP& zSYlOe-`%6e)MN6fj2Wuz5`sl147exD^FkAW9VFi2&AdS*mT9s|yiY&a{@7>`v2DkyjYtU<=rVR&3&_wd`1%XHvwIW1(bxME3z? zwDK0PlOky7M-(9TNLR*CcsYMhZcuT_va)Imt!z%H1p|sQsNQxXBGju6CIsyX+@p~~ zUknwdP+;{Kx)HG;RRGkX*rRRBfpbWNV8+iH!WPzL*|^DNNj)9&A$XpKZPC0#^Km5L z2?L0!=bT6?bSqSMRj5s{*W(jTN1bvhp|^+#XK;w3$Wmj-Xq19_BhY^weal#Oi6s_| zs^4--Ntl*=cti#nJ*rQ*WoB+cy9n$9_-s z|DIR;Pl^5i-uy%xD-;35(XXU3tC^-6nL?T67T#ZE=vS0PJ>lUbiWI?A!i(rWF74Kd zQRBMp+R(n_yO5d!LkN3e$YyM2&;`xI=va%;Nccp*ku~sA-hyGJx{36s?uT2{Y!j1hV8!4@>4#2 z?rmv^9;j;)IIpL$_rD#- z_(BBQY~tOrQ{TT08@QPJRkF13(E;l%(YfJwwOt1*eot{K-!dJLc{wyun!S=CZ@P4`)7H^+?Dkn$(&WsZhG}>HY^dV)F+43yntPXj@B_ z|2=pZz29P-o>Um`Td}Ij9QCxv^0cq&LH94Q?J9(m8Hap#xaFy$-;V2SP`;RSDsKyV zoi5>Kb5Yu;zAW)74wD zAyNDJMqJ|Zy@l6bF=|c!WAyJXE^`;(Fzo-nS4KW8S=8&fFYDi%`|3NE*H$cZ@A?Ky z2Q3j?w|XgvLkfsPG)5RBxB@Sl6h%{(b#J|A}JC%gBiD zyq$6%mfY7c80-EAQ>P&&_X%77-f&T+=%P%_qJ;Z4)c#o7$aYk>g(&ZcW5h1mdxcuT zC)~VW$8x{1ihNkvxG@{|=H;D*RfX&Jy)g)_eS^w>lo;7BWE^ofvEXqysytq!^f||JneUvsgYOIu8mylR%VnIf|ksa&!u$cy7gcs>zyi zN#tu+9H!ECWoQs%YZ?YmdR7Uoso$G5R6Xzmli1sy6<8dO&MJ?{?jK?=s@o>d)nxn}e!ADUcdahw~Le?Txd z5u-nHzV^-K9tki(NiXI~gO7jh@3>FG*|F1STJ$g__+rm+?^{h}7e*iGuV36A)Sh@&lWyI4 zzA*?hYM0jY+^*EF(ZWH!q+w#euvUMyl0cc1*Vj62bl~v~S|2*Iqi>*mTEbU?$&o1A zN~edXEy?95?c%7|x|&=B66BlQ%(U-g-GgK7N0hefUFvsu zyGwhm`NP=uv-=ww#T5x@r70c3VWrovOVdYD+G6Ly^4pp=gG-C;3#c|8kM>|(EOVC{ zqmRGdS2y?~%{w%wQ_17xlRd2xL&g1~MsluF_v3@a-O^c7HaS|>I5j8G6BQVg~rg-$w(dE_arAKY(9I{)o+P>OhH^u26e@zAIX(NZ~KlIyKs2w3ty^j@&mOC?wH8n;SCTtMF%+X$lg zLc?}h(|j4#7=vB|liqiQ6fTm%fcNs_uTr4{o;9~KB6IALZLf3bdmKr?Yaa9%j_{b^ zwXxt@faVs2An=|+8-If_PJLz*fWR$ca$5`ym@qzAZM8R1Guw_`^Wy;oF^lp;TA*m? zziM_K;E#O3j%NJz)JCVR0-t7zTA6G&!)~>+SGU442@qrn65vgjU>v8VA&4P<1N;x( z-wzDKV44dr0aDXWZHy8fQzd--sX=5a0l#Pvi*d#{^6vjI`JocvzGAvd_UhFTbjR`M@}1LII?WJtQ5aX8%{7>E-zFl} z4;L^w>P{U`!ci#9;NXWCCm&YswrC58>sw%?j`}ni9O<-D@D&N%o=76FXNU56AHags zW}Lbf3mXfbpOLb+5clk1&lgx?PaOqyKmk-uR(?CUeInscKRK}H^Eq#k$OZS}lc1)m zu-GpL)~DjYXN;w1k1Z;eD$fHh;Rd&Qa9L+II!zGE3Hx&?HbqVLWMbwSsuq}?*&zf$ zsxw^1#r(1j8JRs-X|(&%k*UWr#+#4njZULjapd}wDgGn^c;gxnM75)W)w=xHiyZvp zEV%%XKZ2drE!H-iMFPTbUUS8vzyf{sjUY~X!H93x7{}UjA~T}T28Z{ZUJMsre^L#M z4}Jh_9H>JY(|!R*I<46O3EP1jFb_TPPv}z~2$NeN3Rxpi#FZ1>j0_yk-qj*55tMHr z0$&5eS+V2b<}`m`&(oG9E>b0gE-K$>2z* zkw}Q(^GC)lFUzR+!1n7P?pUk3e;^_}g}qOHtf*U;1Snu4fxX=ofaR8ob5m*lIAeJD@Bfc1UQ6C67KWPa83gDA^tmYVWv3BUMpMx zd*5{QQPOjO(Rabl+Cr5c;)I|7PGkL5PF@UnrU`h4wdUkRBOy<|bzpDw)z`UO@<799 zE(Sp>r#%jiblQ&?j%d)!VNdPCnFTQ>(3lHDkRc28?Qu@jscx7_5EZ-_2d_(T6e@PI zXU1NNr=h0l38+X1!A)%~i&S|sLa9xppuqVgMx{s3pg^N_0qm@GwJRN=#C-UJ$E8Ci zfaQn471m)n1Eb72@lzd46FeSFbDi{)KZ!Kg<k~bx62GJYg=A`G%d9hrng@1rA|Ft2H7;Yq7U_n@nG`62NW)tpO{V*o+jd z%^vM*#C!P!a7Y)pg|edCT9Kl4*rSJ~$3s+wAt)UKuQ0{W5TeV;3+_u8r7zullyMs)_=Rp|eI C?i(!t literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/Client.java b/src/com/jotuntech/sketcher/client/Client.java new file mode 100755 index 0000000..e54f564 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/Client.java @@ -0,0 +1,626 @@ +package com.jotuntech.sketcher.client; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.Properties; +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.TimeUnit; + +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import com.jotuntech.sketcher.client.command.PingCommand; +import com.jotuntech.sketcher.client.command.SignInCommand; +import com.jotuntech.sketcher.client.command.SignOutCommand; +import com.jotuntech.sketcher.client.voice.VoiceClient; +import com.jotuntech.sketcher.client.voice.VoiceEvent; +import com.jotuntech.sketcher.client.voice.VoiceListener; +import com.jotuntech.sketcher.common.Brush; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.Log; +import com.jotuntech.sketcher.common.StreamableUtils; +import com.jotuntech.sketcher.common.TwoWayHashMap; +import com.jotuntech.sketcher.common.User; + +/** + * @author Thor Harald Johansen + * + */ + +public class Client extends Thread { + private UserInterface userInterface; + private TwoWayHashMap userMap; + private User[] userArray; + private Canvas canvas; + private long lastLayerClean; + private Connection connection; + private BlockingQueue commandQueue; + private ByteBuffer commandBuffer; + private String login; + private String password; + private String hostname; + private int port; + private VoiceClient voiceClient; + private boolean soundEnabled; + private boolean ads; + + //private Random sendRandom = new Random(0x707733360A596E0AL); + //private Random recvRandom = new Random(0x59A70A401C8CD1EAL); + + private Properties props; + private File propsFile; + Timer propsTimer = new Timer("PropsTimer", true); + + private Brush defaultBrushes[] = new Brush[] { + new Brush("Pen", 255, 255, 3.375f, 1, 0.27f, true, false, true, 0, 0, 0, false, 0.5f), + new Brush("Pencil", 255, 255, 2f, 2, 0.45f, true, false, true, 1.5f, 0, 0, false, 0.5f), + new Brush("Water", 255, 255, 16f, 4, 0.22f, true, false, true, 0, 0, 128, false, 0.5f), + new Brush("Eraser", -255, 192, 16f, 4, 0.2f, false, true, false, 0, 0, 0, false, 0.5f), + new Brush("Ink", 255, 255, 4f, 1, 0.04f, false, false, true, 0, 0, 0, false, 0.5f), + new Brush("Wipe", -255, 255, 64f, 7, 0.2f, false, false, false, 0, 0, 0, false, 0.5f) + }; + + protected Brush[] brushes = new Brush[defaultBrushes.length]; + + public Client(String hostname, int port, String login, String password, boolean ads) { + super("ClientThread"); + + /** Save hostname and port */ + this.hostname = hostname; + this.port = port; + + /** Save login and password */ + this.login = login; + this.password = password; + + /** Save ad setting */ + this.ads = ads; + + /** Create user map & array */ + userMap = new TwoWayHashMap(); + userMap.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + /** Populate user array in a thread-safe way */ + User[] newUserArray = new User[0]; + newUserArray = userMap.values().toArray(newUserArray); + userArray = newUserArray; + } + }); + + /** Create user array */ + userArray = new User[0]; + + /** Create command queue */ + commandQueue = new ArrayBlockingQueue(65536, true); + + for(int i = 0; i < brushes.length; i++) { + brushes[i] = defaultBrushes[i].copy(); + } + + /** Create user interface */ + userInterface = new UserInterface(this); + + /** Load properties file */ + try { + propsFile = new File(System.getProperty("user.home"), "sketcher.properties"); + } catch(SecurityException e) { + propsFile = null; + } + + loadProps(); + + /** Set last layer cleanup time */ + lastLayerClean = System.currentTimeMillis(); + + propsTimer.schedule(new TimerTask() { + public void run() { + saveProps(); + } + }, 60000, 60000); + } + + synchronized public void resetProps() { + if(propsFile != null) { + propsFile.delete(); + } + loadProps(); + } + + synchronized private void loadProps() { + props = new Properties(); + + if(propsFile != null) { + try { + if(propsFile.exists()) { + FileInputStream is = new FileInputStream(propsFile); + props.load(is); + is.close(); + } + } catch(IOException e) { + + } catch(SecurityException e) { + + } + } + + int propsVersion = Integer.valueOf(props.getProperty("file.version", "0")); + + soundEnabled = "true".equals(props.getProperty("sound.enabled", "true")); + userInterface.getSoundItem().setSelected(soundEnabled); + + userInterface.setSmoothZoom("true".equals(props.getProperty("zoom.smooth", "true"))); + + userInterface.getEditor().setTagsEnabled("true".equals(props.getProperty("tags.enabled", "true"))); + userInterface.getEditor().setSoftwareCursorEnabled("true".equals(props.getProperty("cursor.software", "false"))); + + userInterface.getTagsItem().setSelected(userInterface.getEditor().isTagsEnabled()); + + for(JCollapsiblePanel panel : userInterface.getToolPanels()) { + panel.setExpanded("true".equals(props.getProperty("panel" + panel.getId() + ".expanded", panel.isExpandedByDefault() ? "true" : "false")), false); + panel.setStuck("true".equals(props.getProperty("panel" + panel.getId() + ".stuck", panel.isStuckByDefault() ? "true" : "false"))); + } + + for(int i = 0; i < brushes.length; i++) { + brushes[i] = defaultBrushes[i].copy(); + } + + for(int i = 0; i < defaultBrushes.length; i++) { + String name = props.getProperty("brush" + i + ".name"); + String opacity = props.getProperty("brush" + i + ".opacity"); + String flow = props.getProperty("brush" + i + ".flow"); + String radius = props.getProperty("brush" + i + ".radius"); + String hardness = props.getProperty("brush" + i + ".hardness"); + String spacing = props.getProperty("brush" + i + ".spacing"); + String pressureToFlow, pressureToOpacity; + if(propsVersion < 1) { + pressureToFlow = props.getProperty("brush" + i + ".pressureToOpacity"); + pressureToOpacity = props.getProperty("brush" + i + ".realPressureToOpacity"); + } else { + pressureToFlow = props.getProperty("brush" + i + ".pressureToFlow"); + pressureToOpacity = props.getProperty("brush" + i + ".pressureToOpacity"); + } + String pressureToRadius = props.getProperty("brush" + i + ".pressureToRadius"); + String jitter = props.getProperty("brush" + i + ".jitter"); + String water = props.getProperty("brush" + i + ".water"); + String waterArea = props.getProperty("brush" + i + ".waterArea"); + String lockTransparency = props.getProperty("brush" + i + ".lockTransparency"); + + Brush b = brushes[i]; + if(name != null) { + b.setName(name); + } + if(opacity != null) { + b.setOpacity(Integer.valueOf(opacity)); + } + if(flow != null) { + b.setFlow(Integer.valueOf(flow)); + } + if(radius != null) { + b.setRadius(Float.valueOf(radius)); + } + if(hardness != null) { + b.setHardness(Integer.valueOf(hardness)); + } + if(spacing != null) { + b.setSpacing(Float.valueOf(spacing)); + } + if(pressureToOpacity != null) { + b.setPressureToOpacity("true".equals(pressureToOpacity)); + } + if(pressureToFlow != null) { + b.setPressureToFlow("true".equals(pressureToFlow)); + } + if(pressureToRadius != null) { + b.setPressureToRadius("true".equals(pressureToRadius)); + } + if(jitter != null) { + b.setJitter(Float.valueOf(jitter)); + } + if(water != null) { + b.setWater(Integer.valueOf(water)); + } + if(waterArea != null) { + b.setWaterArea(Float.valueOf(waterArea)); + } + if(lockTransparency != null) { + b.setLockTransparency("true".equals(lockTransparency)); + } + } + } + + synchronized private void saveProps() { + if(propsFile == null) { + return; + } + + props.setProperty("file.version", "1"); // Increase this when making format changes! + + props.setProperty("sound.enabled", soundEnabled ? "true" : "false"); + + props.setProperty("zoom.smooth", userInterface.isSmoothZoom() ? "true" : "false"); + + props.setProperty("tags.enabled", userInterface.getEditor().isTagsEnabled() ? "true" : "false"); + props.setProperty("cursor.software", userInterface.getEditor().isSoftwareCursorEnabled() ? "true" : "false"); + + for(JCollapsiblePanel panel : userInterface.getToolPanels()) { + props.setProperty("panel" + panel.getId() + ".expanded", panel.isExpanded() ? "true" : "false"); + props.setProperty("panel" + panel.getId() + ".stuck", panel.isStuck() ? "true" : "false"); + } + + for(int i = 0; i < brushes.length; i++) { + props.setProperty("brush" + i + ".name", brushes[i].getName()); + props.setProperty("brush" + i + ".opacity", String.valueOf(brushes[i].getOpacity())); + props.setProperty("brush" + i + ".flow", String.valueOf(brushes[i].getFlow())); + props.setProperty("brush" + i + ".radius", String.valueOf(brushes[i].getRadius())); + props.setProperty("brush" + i + ".hardness", String.valueOf(brushes[i].getHardness())); + props.setProperty("brush" + i + ".spacing", String.valueOf(brushes[i].getSpacing())); + props.setProperty("brush" + i + ".pressureToOpacity", brushes[i].isPressureToOpacity() ? "true" : "false"); + props.setProperty("brush" + i + ".pressureToFlow", brushes[i].isPressureToFlow() ? "true" : "false"); + props.setProperty("brush" + i + ".pressureToRadius", brushes[i].isPressureToRadius() ? "true" : "false"); + props.setProperty("brush" + i + ".jitter", String.valueOf(brushes[i].getJitter())); + props.setProperty("brush" + i + ".noise", String.valueOf(brushes[i].getNoise())); + props.setProperty("brush" + i + ".water", String.valueOf(brushes[i].getWater())); + props.setProperty("brush" + i + ".waterArea", String.valueOf(brushes[i].getWaterArea())); + props.setProperty("brush" + i + ".lockTransparency", brushes[i].isLockTransparency() ? "true" : "false"); + } + + try { + FileOutputStream os = new FileOutputStream(propsFile); + props.store(os, "Sketcher Properties File"); + os.close(); + } catch(IOException e) { + + } catch(SecurityException e) { + propsTimer.cancel(); + } + } + + public void close(String message) { + propsTimer.cancel(); + saveProps(); + + /** Empty the send queue */ + connection.getSendQueue().clear(); + + /** Send sign-out command */ + connection.getSendQueue().offer(new CommandEntry(0, new SignOutCommand(message))); + + /** Schedule connection death */ + connection.setTimeOfDeath(System.currentTimeMillis() + 1000); + + /** Play sound */ + if("true".equals(props.getProperty("sound.enabled", "true"))) { + UserInterface.AUDIO_OUTTRO.play(); + } + } + + public TwoWayHashMap getUserMap() { + return userMap; + } + + public User[] getUserArray() { + return userArray; + } + + public Canvas getCanvas() { + return canvas; + } + + public void setCanvas(Canvas canvas) { + this.canvas = canvas; + userInterface.setCanvas(canvas); + } + + public UserInterface getUserInterface() { + return userInterface; + } + + public Connection getConnection() { + return connection; + } + + public void run() { + try { + /** Create client connection */ + connection = new Connection(SocketChannel.open()); + + userInterface.println("Connecting... "); + + /** Enable blocking for connect */ + connection.getChannel().configureBlocking(true); + + /** Attempt to connect to server */ + connection.getChannel().connect(new InetSocketAddress(hostname, port)); + + /** Disable blocking after connect */ + connection.getChannel().configureBlocking(false); + + userInterface.print("Success!"); + + /** Play audio */ + if("true".equals(props.getProperty("sound.enabled", "true"))) { + UserInterface.AUDIO_INTRO.play(); + } + + /** Create command buffer */ + commandBuffer = ByteBuffer.allocate(65538); + + /** Send sign-in command */ + connection.getSendQueue().offer(new CommandEntry(0, new SignInCommand(0, login, password, false))); + + /** Set last ping time */ + connection.setLastPing(0); + + while(!Thread.interrupted()) { + if(!connection.getChannel().isConnected()) { + userInterface.println("Disconnected (Connection was closed)"); + break; + } else if(connection.isTimeOfDeath()) { + try { connection.getChannel().close(); } catch(IOException e) { } + userInterface.println("Disconnected (Exit)"); + break; + } + + if(System.currentTimeMillis() - connection.getLastPing() >= Connection.PING_INTERVAL) { + long timestamp = System.currentTimeMillis(); + connection.getSendQueue().offer(new CommandEntry(0, new PingCommand(timestamp))); + connection.setLastPing(timestamp); + } + + for(CommandEntry e = commandQueue.poll(20, TimeUnit.MILLISECONDS); e != null; e = commandQueue.poll(20, TimeUnit.MILLISECONDS)) { + if(e.getCommand().perform(this, e.getSourceKey() == 0 ? connection.getUser() : userMap.get(e.getSourceKey())) == Connection.SEND_OTHERS) { + connection.getSendQueue().offer(new CommandEntry(e.getSourceKey(), e.getCommand())); + } + } + + if(canvas != null && lastLayerClean + 30000 < System.currentTimeMillis()) { + lastLayerClean = System.currentTimeMillis(); + for(Layer e : canvas.getLayerMap().values()) { + e.clean(); + } + } + + ByteBuffer inputBuffer = connection.getInputBuffer(); + ByteBuffer outputBuffer = connection.getOutputBuffer(); + + ArrayBlockingQueue sendQueue = connection.getSendQueue(); + + //int startPosition = outputBuffer.position(); + + /** Only check queue if room for command length, peer key, name length, and one character of name */ + while(outputBuffer.remaining() > 2 + 4 + 1 + 2 && sendQueue.size() > 0) { + CommandEntry e = sendQueue.peek(); + Integer k = e.getSourceKey(); + Command c = e.getCommand(); + + /** Clear command buffer */ + commandBuffer.clear(); + + /** Write peer key */ + commandBuffer.putInt(k); + + /** Write command name */ + String commandName = c.getClass().getSimpleName(); + commandBuffer.put((byte) (commandName.length() - 1)); + for(int i = 0; i < commandName.length(); i++) { + commandBuffer.putChar(commandName.charAt(i)); + } + + /** Write command */ + c.encode(commandBuffer); + + /** Flip command buffer before reading */ + commandBuffer.flip(); + + /** Do not send this command yet if no room in output buffer */ + if(commandBuffer.remaining() + 2 > outputBuffer.remaining()) { + break; + } + + /** Write append command length and command data to output buffer */ + outputBuffer.putShort((short) (commandBuffer.remaining() - 1)); + outputBuffer.put(commandBuffer); + + /** Remove command from queue */ + sendQueue.remove(); + } + + // Primitive encryption + //for(int i = startPosition; i < outputBuffer.position(); i++) { + // outputBuffer.put(i, (byte) (outputBuffer.get(i) ^ sendRandom.nextInt(256))); + //} + + /** Flip output buffer */ + outputBuffer.flip(); + + if(outputBuffer.remaining() > 0) { + connection.getChannel().write(outputBuffer); + } + + /** Compact buffer, preparing it for appending */ + outputBuffer.compact(); + + if(canvas == null || !canvas.isDrawing()) { + try { + /** Append to input buffer */ + //startPosition = inputBuffer.position(); + int readResult = connection.getChannel().read(inputBuffer); + if(readResult == -1) { + try { connection.getChannel().close(); } catch(IOException e) { } + userInterface.println("Disconnected (Connection was closed)"); + break; + } else if(readResult > 0) { + //for(int i = startPosition; i < inputBuffer.position(); i++) { + // inputBuffer.put(i, (byte) (inputBuffer.get(i) ^ recvRandom.nextInt(256))); + //} + + /** Prepare buffer for reading */ + inputBuffer.flip(); + + /** Long enough to peek at length? */ + while((canvas == null || !canvas.isDrawing()) && inputBuffer.remaining() >= 2) { + /** Peek at length */ + int commandLength = (inputBuffer.getShort(inputBuffer.position()) & 0xFFFF) + 1; + + /** Don't read if not long enough to read entire command. */ + if(inputBuffer.remaining() < commandLength + 2) { + break; + } + + /** We already have the command length */ + inputBuffer.getShort(); + + /** Read command buffer */ + ByteBuffer commandBuffer = inputBuffer.slice(); + commandBuffer.limit(commandLength); + inputBuffer.position(inputBuffer.position() + commandLength); + + /** Read user key */ + Integer userKey = commandBuffer.getInt(); + + /** Read command name */ + int commandNameLength = (commandBuffer.get() & 0xFF) + 1; + StringBuffer commandNameBuffer = new StringBuffer(); + for(int i = 0; i < commandNameLength; i++) { + commandNameBuffer.append(commandBuffer.getChar()); + } + String commandName = commandNameBuffer.toString(); + + Command command = (Command) StreamableUtils.create("com.jotuntech.sketcher.client.command." + commandName, commandBuffer); + command.perform(this, userMap.get(userKey)); + + //++iterations; + } + + /** Prepare input buffer for appending */ + inputBuffer.compact(); + } + } catch (IOException e) { + try { connection.getChannel().close(); } catch(IOException e2) { } + userInterface.println("Disconnected (Connection was broken: " + e.getMessage() + ")"); + break; + } catch(Throwable t) { + sendQueue.clear(); + sendQueue.offer(new CommandEntry(0, new SignOutCommand("Client crashed: " + t.getClass().getSimpleName()))); + connection.setTimeOfDeath(System.currentTimeMillis() + 5000); + Log.error(t); + userInterface.println("Disconnected (Client crashed: " + t.getClass().getSimpleName() + ")"); + } + } + } + } catch (InterruptedException e) { + Log.debug("Client interrupted."); + } catch (IOException e) { + userInterface.println("Disconnected (Connection was broken: " + e.getMessage() + ")"); + Log.error(e); + } + + try { connection.getChannel().close(); } catch(IOException e) { } + connection.setChannel(null); + connection.setUser(null); + + if("true".equals(props.getProperty("sound.enabled", "true"))) { + UserInterface.AUDIO_OUTTRO.play(); + } + } + + public BlockingQueue getCommandQueue() { + return commandQueue; + } + + public boolean isVoiceEnabled() { + return voiceClient != null; + } + + public void setVoiceEnabled(boolean voiceEnabled) { + if(voiceEnabled) { + final Integer peerKey = getUserMap().getKeyForValue(getConnection().getUser()); + voiceClient = new VoiceClient(new InetSocketAddress(hostname, port + 100), peerKey); + voiceClient.setListener(new VoiceListener() { + public void voiceEvent(VoiceEvent e) { + switch(e.getType()) { + case VoiceEvent.TYPE_CHANNEL_NEW: + Integer userKey = e.getChannel(); + User user = userMap.get(userKey); + if(user == null) { + break; + } + break; + + case VoiceEvent.TYPE_CHANNEL_DEAD: { + JUserEntry ue = userInterface.getUserList().getEntry(e.getChannel()); + if(ue == null) { + break; + } + ue.clearVoice(); + break; + } + + case VoiceEvent.TYPE_PACKET_VOLUME: { + JUserEntry ue = userInterface.getUserList().getEntry(e.getChannel()); + if(ue == null) { + break; + } + if(e.getChannel() == peerKey) { + ue.setVolume(e.getVolume(), 0); + } else { + ue.setVolume(e.getVolume(), 12); + } + break; + } + } + } + }); + voiceClient.start(); + } else { + voiceClient.interrupt(); + try { voiceClient.join(); } catch (InterruptedException e) { } + voiceClient = null; + userInterface.getUserList().clearVoice(); + } + } + public VoiceClient getVoiceClient() { + return voiceClient; + } + + public Properties getProps() { + return props; + } + + public void setSoundEnabled(boolean soundEnabled) { + this.soundEnabled = soundEnabled; + } + + public boolean isSoundEnabled() { + return soundEnabled; + } + + public void setAds(boolean ads) { + this.ads = ads; + } + + public boolean isAds() { + return ads; + } + + public String getLogin() { + return login; + } + + public String getPassword() { + return password; + } + + public String getHostname() { + return hostname; + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/client/ClientApplet.java b/src/com/jotuntech/sketcher/client/ClientApplet.java new file mode 100755 index 0000000..450da2f --- /dev/null +++ b/src/com/jotuntech/sketcher/client/ClientApplet.java @@ -0,0 +1,54 @@ +package com.jotuntech.sketcher.client; + +import java.awt.HeadlessException; + +import javax.swing.JApplet; +import javax.swing.JOptionPane; + +import com.jotuntech.sketcher.common.Log; + +public class ClientApplet extends JApplet { + private Client client; + String login, password, hostname; + int port; + boolean ads; + + public ClientApplet() throws HeadlessException { + super(); + } + + public void init() { + login = getParameter("nick"); + password = getParameter("secret"); + hostname = getParameter("server"); + port = Integer.valueOf(getParameter("port")); + ads = "1".equals(getParameter("ads")); + + Log.info("Sketcher applet is initializing."); + } + + public void start() { + System.gc(); + Log.info("Sketcher applet is starting."); + if(Runtime.getRuntime().totalMemory() < 92274688) { + JOptionPane.showMessageDialog(this, "There is too little Java heap memory space for Sketcher to function.\nYour platform likely requires manual configuration. Please pass the\nfollowing run-time parameters to your Java Virtual Machine:\n\n -ms96M -mx384M\n\nContact the website administrator for further assistance."); + } + client = new Client(hostname, port, login, password, ads); + getContentPane().removeAll(); + getContentPane().add(client.getUserInterface()); + client.start(); + } + + public void stop() { + Log.info("Sketcher applet is stopping."); + client.close("Exit"); + System.gc(); + } + + public void destroy() { + Log.info("Sketcher applet is being destroyed."); + getContentPane().removeAll(); + client = null; + } +} + diff --git a/src/com/jotuntech/sketcher/client/Command.java b/src/com/jotuntech/sketcher/client/Command.java new file mode 100755 index 0000000..ac5cb26 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/Command.java @@ -0,0 +1,8 @@ +package com.jotuntech.sketcher.client; + +import com.jotuntech.sketcher.common.Streamable; +import com.jotuntech.sketcher.common.User; + +public interface Command extends Streamable { + public int perform(Client client, User user); +} diff --git a/src/com/jotuntech/sketcher/client/CommandEntry.java b/src/com/jotuntech/sketcher/client/CommandEntry.java new file mode 100755 index 0000000..46547af --- /dev/null +++ b/src/com/jotuntech/sketcher/client/CommandEntry.java @@ -0,0 +1,24 @@ +package com.jotuntech.sketcher.client; + +public class CommandEntry { + private Integer sourceKey; + private Command command; + + public CommandEntry(Integer sourceKey, Command command) { + if(sourceKey == null) { + throw new NullPointerException("Source key can't be null."); + } else if(command == null) { + throw new NullPointerException("Command can't be null."); + } + this.sourceKey = sourceKey; + this.command = command; + } + + public Integer getSourceKey() { + return sourceKey; + } + + public Command getCommand() { + return command; + } +} diff --git a/src/com/jotuntech/sketcher/client/Connection.java b/src/com/jotuntech/sketcher/client/Connection.java new file mode 100755 index 0000000..a742b6b --- /dev/null +++ b/src/com/jotuntech/sketcher/client/Connection.java @@ -0,0 +1,113 @@ +/** + * + */ +package com.jotuntech.sketcher.client; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.concurrent.ArrayBlockingQueue; + +import com.jotuntech.sketcher.common.User; + +/** + * Client connection + * + * @author Thor Harald Johansen + */ +public class Connection { + /** Return values for Command */ + public final static int SEND_NONE = 0; /** Send to nobody */ + public final static int SEND_SELF = 1; /** Send to self only */ + public final static int SEND_OTHERS = 2; /** Send to others only */ + public final static int SEND_ALL = 3; /** Send to self and others */ + + public final static long PING_INTERVAL = 10000; + + /** Socket channel */ + private SocketChannel channel; + + /** User to which connection belongs. */ + private User user; + + /** Input buffer */ + private ByteBuffer inputBuffer; + + /** Output buffer */ + private ByteBuffer outputBuffer; + + /** Send queue */ + private ArrayBlockingQueue sendQueue = new ArrayBlockingQueue(98304); + + /** Time of death */ + private long timeOfDeath; + + /** Last ping */ + private long lastPing; + + public Connection() { + + } + + public Connection(SocketChannel channel) throws IOException { + /** Store socket channel. */ + this.channel = channel; + + /** Allocate transmission buffers */ + inputBuffer = ByteBuffer.allocate(65538); + outputBuffer = ByteBuffer.allocate(65538); + + /** Disable time of death */ + timeOfDeath = Long.MAX_VALUE; + } + + /** Set user for connection */ + public void setUser(User user) { + this.user = user; + } + + /** Get user for connection */ + public User getUser() { + return user; + } + + public void setChannel(SocketChannel channel) { + this.channel = channel; + } + + public SocketChannel getChannel() { + return channel; + } + + public ByteBuffer getInputBuffer() { + return inputBuffer; + } + + public ByteBuffer getOutputBuffer() { + return outputBuffer; + } + + public ArrayBlockingQueue getSendQueue() { + return sendQueue; + } + + public void setTimeOfDeath(long timeOfDeath) { + this.timeOfDeath = timeOfDeath; + } + + public boolean hasTimeOfDeath() { + return timeOfDeath != Long.MAX_VALUE; + } + + public boolean isTimeOfDeath() { + return timeOfDeath != Long.MAX_VALUE && System.currentTimeMillis() >= timeOfDeath; + } + + public void setLastPing(long lastPing) { + this.lastPing = lastPing; + } + + public long getLastPing() { + return lastPing; + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/client/Editor.java b/src/com/jotuntech/sketcher/client/Editor.java new file mode 100755 index 0000000..0bd4f16 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/Editor.java @@ -0,0 +1,1278 @@ +package com.jotuntech.sketcher.client; + +import java.awt.AlphaComposite; +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Cursor; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.Shape; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; +import java.awt.geom.AffineTransform; +import java.awt.geom.Ellipse2D; +import java.awt.geom.Line2D; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; +import java.awt.image.ImageObserver; +import java.net.URI; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import javax.swing.AbstractAction; +import javax.swing.BoundedRangeModel; +import javax.swing.JComponent; +import javax.swing.JOptionPane; +import javax.swing.KeyStroke; +import javax.swing.Timer; + +import cello.jtablet.TabletManager; +import cello.jtablet.event.TabletEvent; +import cello.jtablet.event.TabletListener; +import cello.jtablet.installer.JTabletExtension; +import cello.tablet.JTablet; + +import com.jotuntech.sketcher.client.command.CursorCommand; +import com.jotuntech.sketcher.client.command.LineCommand; +import com.jotuntech.sketcher.client.command.MergeCommand; +import com.jotuntech.sketcher.client.command.MoveCommand; +import com.jotuntech.sketcher.client.command.SetColorCommand; +import com.jotuntech.sketcher.client.command.UndoCommand; +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.Brush; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Input; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.Log; +import com.jotuntech.sketcher.common.User; + +public class Editor extends JComponent implements MouseListener, MouseMotionListener, TabletListener { + private Client client; + private BufferedImage image; + private float zoom = 1; + private boolean smoothZoom = true; + private Dimension size; + private JTablet jTablet1; + private boolean jTablet2; + private Smoother smoother; + private Cursor currentNativeCursor, crosshair, blank, eyedropper, hand; + private Timer tagTimer, selectTimer, yieldTimer; + private Color canvasBackground = Color.WHITE; + private long lastCursorCommand; + private int dashPhase = 0; + private boolean tagsEnabled = true; + public enum State { + DISABLED, + DRAW_HOVER, DRAW_PRESS, + LINE_HOVER, LINE_PRESS, + RECT_HOVER, RECT_PRESS, + OVAL_HOVER, OVAL_PRESS, + BEZIER_HOVER, BEZIER_PRESS, BEZIER_HOVER2, BEZIER_PRESS_P2, BEZIER_PRESS_P3, + EYEDROP_PRESS, + SCROLL_HOVER, SCROLL_PRESS, + SELECT_HOVER, SELECT_PRESS, SELECT_INSIDE, SELECT_MOVE, + MOVE_HOVER, MOVE_INSIDE, MOVE_PRESS, + AD_HOVER, AD_PRESS; + }; + private State _state, _oldState = State.DISABLED; + private int buttonDown = TabletEvent.NOBUTTON; + public enum CursorType { + NATIVE, SOFTWARE + }; + private CursorType cursorType; + private boolean cursorVisible = true; + private boolean softwareCursorEnabled = false; + private BufferedImage ad; + private Point adPosition; + + private int pressure = 0xFF; + + private float scrollSpeedX, scrollSpeedY, originX, originY, slowLOSX, slowLOSY; + private Point los; + private Timer scrollTimer; + + private float currentX, currentY; + private float x1, y1, x2, y2, x3, y3, x4, y4; + + private int iOriginX, iOriginY; + + /** Current select */ + private Rectangle select; + + public Editor(final Client client) { + super(); + + Toolkit tk = Toolkit.getDefaultToolkit(); + crosshair = tk.createCustomCursor(tk.getImage(getClass().getResource("images/crosshair.gif")), new Point(16, 16), "crosshair"); + blank = tk.createCustomCursor(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB), new Point(0, 0), "blank"); + eyedropper = tk.createCustomCursor(tk.getImage(getClass().getResource("images/eyedropper.gif")), new Point(16, 16), "eyedropper"); + hand = tk.createCustomCursor(tk.getImage(getClass().getResource("images/hand.gif")), new Point(16, 16), "hand"); + + setState(State.DISABLED); + + jTablet2 = false; + + if(JTabletExtension.checkCompatibility(this, "1.2.0") && JTabletExtension.getInstallStatus("1.2.0").equals(JTabletExtension.InstallStatus.INSTALLED)) { + jTablet2 = true; + TabletManager.getDefaultManager().addTabletListener(this, this); + Log.info("JTablet 2.x installed."); + } else { + try { + jTablet1 = new JTablet(); + Log.info("JTablet 0.9.x installed."); + } catch (Throwable t) { + Log.info("JTablet not installed."); + } + } + + smoother = new Smoother(); + + if(!jTablet2) { + addMouseListener(this); + addMouseMotionListener(this); + } + + this.client = client; + + ActionListener tagListener = new ActionListener() { + public void actionPerformed(ActionEvent e) { + if(client.getConnection() == null || client.getConnection().getUser() == null) { + return; + } + + if(lastCursorCommand + 500 < System.currentTimeMillis()) { + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(smoother.getIndex(2)))); + lastCursorCommand = System.currentTimeMillis(); + } + + if(!tagsEnabled) { + return; + } + + for(User u : client.getUserArray()) { + if(u != client.getConnection().getUser()) { + Input c = u.getCursor(); + + int cursorX = (int) (c.x * zoom); + int cursorY = (int) (c.y * zoom); + + Rectangle tag = u.getTag(); + + if(tag.x != cursorX || tag.y != cursorY) { + String name = u.getName(); + Graphics2D g2 = (Graphics2D) getGraphics(); + if(g2 == null) { + return; + } + Rectangle2D stringBounds = g2.getFontMetrics().getStringBounds(name, g2); + g2.dispose(); + + Rectangle newTag = new Rectangle(cursorX, cursorY, (int) stringBounds.getWidth() + 4, (int) stringBounds.getHeight() + 4); + u.setTag(newTag); + repaint(tag); + repaint(newTag); + } + } + } + } + }; + + tagTimer = new Timer(1000, tagListener); + + yieldTimer = new Timer(100, new ActionListener() { + public void actionPerformed(ActionEvent e) { + client.getCanvas().setDrawing(false); + } + }); + + ActionListener selectListener = new ActionListener() { + public void actionPerformed(ActionEvent e) { + Connection connection = client.getConnection(); + if(connection == null) { + return; + } + User user = connection.getUser(); + if(user == null) { + return; + } + if(select == null) { + return; + } + + repaint(Math.round(select.x * zoom) - 1, Math.round(select.y * zoom) - 1, Math.round(select.width * zoom) + 2, Math.round(select.height * zoom) + 2); + + ++dashPhase; + } + }; + + selectTimer = new Timer(250, selectListener); + selectTimer.setCoalesce(true); + selectTimer.start(); + + lastCursorCommand = System.currentTimeMillis(); + + getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("SPACE"), "drag begin"); + getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("released SPACE"), "drag end"); + getActionMap().put("drag begin", new AbstractAction() { + public void actionPerformed(ActionEvent e) { + if(buttonDown != TabletEvent.NOBUTTON || getState() == State.SCROLL_PRESS || getState() == State.SCROLL_HOVER) { + return; + } + if(storeState()) { + setState(State.SCROLL_HOVER); + } + } + }); + getActionMap().put("drag end", new AbstractAction() { + public void actionPerformed(ActionEvent e) { + if(getState() == State.SCROLL_PRESS || getState() == State.SCROLL_HOVER) { + restoreState(); + } + } + }); + + getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ctrl Z"), "undo"); + getActionMap().put("undo", new AbstractAction() { + public void actionPerformed(ActionEvent e) { + if(buttonDown == TabletEvent.NOBUTTON) { + client.getCommandQueue().offer(new CommandEntry(0, new UndoCommand())); + } + } + }); + } + + protected void adjust() { + if(image == null) { + return; + } + + size = new Dimension((int)(image.getWidth() * zoom), (int)(image.getHeight() * zoom)); + setPreferredSize(size); + setMaximumSize(size); + + invalidate(); + getParent().validate(); + repaint(); + } + + public float getZoom() { + return zoom; + } + + public void setZoom(float zoom) { + this.zoom = zoom; + adjust(); + } + + public void setState(State state) { + if(state == this._state) { + return; + } + if(state != State.MOVE_HOVER && state != State.MOVE_INSIDE && state != State.MOVE_PRESS && (this._state == State.MOVE_HOVER || this._state == State.MOVE_INSIDE)) { + // TODO: Fix this dirty hack somehow. We must do this here, or the Move tool leaves our phantom layer dirty. + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + select = null; + repaint(); + System.err.println("Move state hack!"); + } + switch(state) { + case DISABLED: + setNativeCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + setCursorType(CursorType.NATIVE); + break; + case DRAW_HOVER: + case DRAW_PRESS: + setCursorType(CursorType.SOFTWARE); + break; + case LINE_HOVER: + case RECT_HOVER: + case OVAL_HOVER: + case BEZIER_HOVER: + case BEZIER_HOVER2: + setNativeCursor(crosshair); + setCursorType(CursorType.NATIVE); + break; + case EYEDROP_PRESS: + setNativeCursor(eyedropper); + setCursorType(CursorType.NATIVE); + break; + case AD_HOVER: + setNativeCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); // Don't set to 'hand', this is actually a finger cursor + setCursorType(CursorType.NATIVE); + break; + case SCROLL_HOVER: + setNativeCursor(hand); + setCursorType(CursorType.NATIVE); + break; + case SELECT_HOVER: + setNativeCursor(crosshair); + setCursorType(CursorType.NATIVE); + break; + case SELECT_INSIDE: + setNativeCursor(hand); + setCursorType(CursorType.NATIVE); + break; + case MOVE_HOVER: + setNativeCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); + setCursorType(CursorType.NATIVE); + break; + case MOVE_INSIDE: + setNativeCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); + setCursorType(CursorType.NATIVE); + break; + } + this._state = state; + System.err.println("Set state: " + state); + + } + + public State getState() { + return _state; + } + + private boolean storeState() { + if(_oldState != State.DISABLED) { + return false; + } + _oldState = getState(); + System.err.println("Stored state, stack: " + _oldState); + return true; + } + + private void restoreState() { + if(_oldState == State.DISABLED) { + throw new RuntimeException("Stack is empty."); + } + setState(_oldState); + _oldState = State.DISABLED; + System.err.println("Restored state, stack: " + _oldState); + } + + private void setNativeCursor(Cursor cursor) { + Cursor actualCursor = cursorVisible ? cursor : blank; + if(cursorType == CursorType.NATIVE && actualCursor != getCursor()) { + setCursor(actualCursor); + System.err.println("Changed native cursor (setNativeCursor): " + getCursor()); + } + currentNativeCursor = cursor; + } + + private void setCursorVisible(boolean cursorVisible) { + if(cursorVisible == this.cursorVisible) { + return; + } + this.cursorVisible = cursorVisible; + if(cursorType == CursorType.SOFTWARE || !cursorVisible) { + if(getCursor() != blank) { + setCursor(blank); + System.err.println("Changed native cursor: " + getCursor()); + } + repaint(); + } else if(currentNativeCursor != getCursor()) { + setCursor(currentNativeCursor); + } + } + + public void setCursorType(CursorType cursorType) { + switch(cursorType) { + case NATIVE: + this.setCursor(cursorVisible ? currentNativeCursor : blank); + this.cursorType = CursorType.NATIVE; + System.err.println("Changed native cursor: " + getCursor()); + repaint(); + break; + case SOFTWARE: + if(softwareCursorEnabled) { + setCursor(blank); + this.cursorType = CursorType.SOFTWARE; + System.err.println("Changed native cursor: " + getCursor()); + } else { + currentNativeCursor = crosshair; + this.setCursor(cursorVisible ? currentNativeCursor : blank); + this.cursorType = CursorType.NATIVE; + System.err.println("Changed native cursor: " + getCursor()); + } + repaint(); + break; + } + } + + private float bezier(float t, float p0, float p1, float p2, float p3) { + return (float) (Math.pow(1 - t, 3) * p0 + 3 * Math.pow(1 - t, 2) * t * p1 + 3 * (1 - t) * Math.pow(t, 2) * p2 + Math.pow(t, 3) * p3); + } + + public void paint(Graphics g) { + if(image == null) { + return; + } + + // Ensure proper clip area since JScrollView is an asshole + Rectangle clip = g.getClipBounds(); + Rectangle validRect = new Rectangle(new Point(0, 0), size); + if(clip == null) { + clip = validRect; + } else { + clip = clip.intersection(validRect); + } + g.setClip(clip); + + Graphics2D g2 = (Graphics2D)g; + + g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED); + + if(smoothZoom && zoom != Math.floor(zoom)) { + g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); + } + + int zoomWidth = (int) (image.getWidth() * zoom); + int zoomHeight = (int) (image.getHeight() * zoom); + + synchronized(image) { + g2.setColor(canvasBackground); + g2.fillRect(clip.x, clip.y, Math.min(zoomWidth, clip.width), Math.max(zoomHeight, clip.height)); + + int sourceX = Math.max(0, (int) Math.floor(clip.x / zoom)); + float destinationX = sourceX * zoom; + + int sourceY = Math.max(0, (int) Math.floor(clip.y / zoom)); + float destinationY = sourceY * zoom; + + int sourceWidth = Math.min(image.getWidth() - sourceX, (int) Math.ceil(clip.width / zoom) + 1); + int sourceHeight = Math.min(image.getHeight() - sourceY, (int) Math.ceil(clip.height / zoom) + 1); + + if(sourceWidth > 0 && sourceHeight > 0) { + BufferedImage subImage = image.getSubimage(sourceX, sourceY, sourceWidth, sourceHeight); + AffineTransform xform = new AffineTransform(); + xform.scale(zoom, zoom); + AffineTransform oldXform = g2.getTransform(); + g2.translate(destinationX, destinationY); + g2.drawImage(subImage, xform, this); + g2.setTransform(oldXform); + } + } + + for(User u : client.getUserArray()) { + if(u != client.getConnection().getUser()) { + Rectangle tag = u.getTag(); + String name = u.getName(); + Rectangle2D stringBounds = g2.getFontMetrics().getStringBounds(name, g2); + g2.setColor(Color.YELLOW); + g2.fillRect(tag.x, tag.y, tag.width, tag.height); + g2.setColor(Color.BLACK); + g2.drawRect(tag.x, tag.y, tag.width - 1, tag.height - 1); + g2.drawString(name, tag.x + 2, tag.y + (int) stringBounds.getHeight()); + } + } + + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE); + + User user = client.getConnection().getUser(); + + if(cursorVisible && cursorType == CursorType.SOFTWARE) { + Brush brush = user.getBrush(); + float hardAdjust = 0.5f + ((brush.getHardness() - 1f) / 12f); + Input input = smoother.getIndex(2); + float finalRadius = brush.isPressureToRadius() && input.pressure > 0 ? (brush.getRadius() * input.pressure * hardAdjust * zoom) / 255f : brush.getRadius() * hardAdjust * zoom; + float finalX = input.x * zoom; + float finalY = input.y * zoom; + Shape s = new Ellipse2D.Float(finalX - finalRadius, finalY - finalRadius, finalRadius * 2, finalRadius * 2); + g2.setColor(Color.BLACK); + g2.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10, new float[] { 2, 2 }, 0)); + g2.draw(s); + g2.setColor(Color.WHITE); + g2.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10, new float[] { 2, 2 }, 2)); + g2.draw(s); + } + + g2.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10)); + g2.setColor(Color.BLACK); + + State myState = getState(); + + if(myState == State.LINE_PRESS || myState == State.RECT_PRESS || myState == State.OVAL_PRESS) { + switch(myState) { + case LINE_PRESS: + g2.draw(new Line2D.Float(new Point2D.Float(originX * zoom, originY * zoom), new Point2D.Float(currentX * zoom, currentY * zoom))); + break; + case RECT_PRESS: + g2.draw(new Rectangle2D.Float(originX * zoom, originY * zoom, currentX * zoom - originX * zoom, currentY * zoom - originY * zoom)); + break; + case OVAL_PRESS: + float radiusX = Math.abs(currentX * zoom - originX * zoom); + float radiusY = Math.abs(currentY * zoom - originY * zoom); + float minX = originX * zoom - radiusX; + float minY = originY * zoom - radiusY; + g2.draw(new Ellipse2D.Float(minX, minY, radiusX * 2, radiusY * 2)); + break; + } + } else if(myState == State.BEZIER_PRESS || myState == State.BEZIER_HOVER2 || myState == State.BEZIER_PRESS_P2 || myState == State.BEZIER_PRESS_P3) { + float t = 0, lx = x1 * zoom, ly = y1 * zoom; + for(int i = 0; i <= 64; i++, t += 1f / 64f) { + float x = bezier(t, x1 * zoom, x2 * zoom, x3 * zoom, x4 * zoom); + float y = bezier(t, y1 * zoom, y2 * zoom, y3 * zoom, y4 * zoom); + g2.draw(new Line2D.Float(lx, ly, x, y)); + lx = x; + ly = y; + } + g2.setColor(Color.GRAY); + g2.draw(new Line2D.Float(x1 * zoom, y1 * zoom, x2 * zoom, y2 * zoom)); + g2.draw(new Line2D.Float(x4 * zoom, y4 * zoom, x3 * zoom, y3 * zoom)); + g2.draw(new Rectangle2D.Float(x2 * zoom - 3, y2 * zoom - 3, 6, 6)); + g2.draw(new Rectangle2D.Float(x3 * zoom - 3, y3 * zoom - 3, 6, 6)); + } + + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); + g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT); + + if(ad != null) { + g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.8f)); + g2.drawImage(ad, adPosition.x, adPosition.y, null); + g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f)); + } + + if(select != null) { + g2.setColor(Color.BLACK); + g2.setXORMode(Color.WHITE); + g2.setStroke(new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10, new float[] { 4, 4 }, dashPhase)); + g2.drawRect(Math.round(select.x * zoom), Math.round(select.y * zoom), Math.round(select.width * zoom), Math.round(select.height * zoom)); + } + } + + public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) { + if(img == null) { + if(infoflags == ImageObserver.ALLBITS) { + x = 0; + y = 0; + width = client.getCanvas().getWidth(); + height = client.getCanvas().getHeight(); + } + + synchronized(image) { + Graphics2D g2 = (Graphics2D)image.getGraphics(); + g2.setClip(x, y, width, height); + + AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.DST_OUT, 1); + g2.setComposite(ac); + + g2.fillRect(x, y, width, height); + + /** Create a map of layers, showing which phantom layers they have */ + IdentityHashMap> selectedLayers = new IdentityHashMap>(); + for(User u : client.getUserMap().values()) { + Layer l = u.getLayer(); + + if(l == null) { + continue; + } + + Set us = selectedLayers.get(l); + + if(us == null) { + us = new HashSet(); + selectedLayers.put(l, us); + } + + us.add(u.getPhantomLayer()); + } + + for(Layer l : client.getCanvas().getLayerMap().values()) { + Set ls = selectedLayers.get(l); + if(l instanceof BitmapLayer && ls != null) { + ((BitmapLayer) l).draw(g2, selectedLayers.get(l)); + } else { + l.draw(g2); + } + } + + g2.dispose(); + } + + repaint((int) Math.floor(x * zoom - zoom), (int) Math.floor(y * zoom - zoom), (int) Math.ceil(width * zoom + zoom), (int) Math.ceil(height * zoom + zoom)); + + return true; + } else { + return super.imageUpdate(img, infoflags, x, y, width, height); + } + } + + public void mouseDragged(MouseEvent e) { + cursorDragged(new TabletEvent(e, null, null)); + } + + public void mouseMoved(MouseEvent e) { + cursorMoved(new TabletEvent(e, null, null)); + } + + public void mouseClicked(MouseEvent e) { + + } + + public void mousePressed(MouseEvent e) { + cursorPressed(new TabletEvent(e, null, null)); + } + + public void mouseReleased(MouseEvent e) { + cursorReleased(new TabletEvent(e, null, null)); + } + + public void mouseEntered(MouseEvent e) { + cursorEntered(new TabletEvent(e, null, null)); + } + + public void mouseExited(MouseEvent e) { + cursorExited(new TabletEvent(e, null, null)); + } + + void eyedrop(MouseEvent e) { + if(client.getConnection() == null || client.getConnection().getUser() == null || client.getConnection().getUser().getLayer() == null) { + return; + } + + Input input = new Input(e.getX() / zoom, e.getY() / zoom, 0); + int color = client.getConnection().getUser().getLayer().getColor(input); + client.getCommandQueue().add(new CommandEntry(0, new SetColorCommand(color))); + client.getUserInterface().setColorSliders(color); + } + + public void setTagTimer(Timer tagTimer) { + this.tagTimer = tagTimer; + } + + public Timer getTagTimer() { + return tagTimer; + } + + public void setCanvas(Canvas canvas) { + image = new BufferedImage(canvas.getWidth(), canvas.getHeight(), BufferedImage.TYPE_INT_ARGB); + image.setAccelerationPriority(1); + + canvas.addImageObserver(this); + adjust(); + tagTimer.start(); + yieldTimer.start(); + } + + public void setCanvasBackground(Color canvasBackground) { + this.canvasBackground = canvasBackground; + } + + public Color getCanvasBackground() { + return canvasBackground; + } + + public boolean hasJTablet() { + return (jTablet1 != null) || jTablet2; + } + + void paintMouseCursor() { + if(cursorVisible && cursorType == CursorType.SOFTWARE) { + Brush brush = client.getConnection().getUser().getBrush(); + float hardAdjust = 0.5f + ((brush.getHardness() - 1f) / 12f); + Input oldInput = smoother.getIndex(1); + float oldRadius = brush.isPressureToRadius() && oldInput.pressure > 0 ? (brush.getRadius() * oldInput.pressure * hardAdjust * zoom) / 255f : brush.getRadius() * hardAdjust * zoom; + float oldX = oldInput.x * zoom; + float oldY = oldInput.y * zoom; + repaint((int) Math.floor(oldX - oldRadius) - 2, (int) Math.floor(oldY - oldRadius) - 2, (int) Math.ceil(oldRadius * 2) + 4, (int) Math.ceil(oldRadius * 2) + 4); + Input input = smoother.getIndex(2); + float radius = brush.isPressureToRadius() && input.pressure > 0 ? (brush.getRadius() * input.pressure * hardAdjust * zoom) / 255f : brush.getRadius() * hardAdjust * zoom; + float x = input.x * zoom; + float y = input.y * zoom; + paintImmediately((int) Math.floor(x - oldRadius) - 2, (int) Math.floor(y - oldRadius) - 2, (int) Math.ceil(radius * 2) + 4, (int) Math.ceil(radius * 2) + 4); + } + } + + private void yieldForPaint() { + if(client.getCanvas() != null) { + client.getCanvas().setDrawing(true); + yieldTimer.restart(); + } + } + + public void cursorEntered(TabletEvent e) { + setCursorVisible(true); + } + + public void cursorExited(TabletEvent e) { + setCursorVisible(false); + } + + public void cursorGestured(TabletEvent e) { + + } + + public void cursorMoved(TabletEvent e) { + if(client.getConnection() == null || client.getConnection().getUser() == null) { + return; + } + + Input input = new Input(e.getFloatX() / zoom, e.getFloatY() / zoom, 0); + smoother.add(input); + paintMouseCursor(); + + if(lastCursorCommand + 500 < System.currentTimeMillis()) { + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(smoother.getIndex(2)))); + lastCursorCommand = System.currentTimeMillis(); + } + + State myState = getState(); + + boolean inSelect = select != null && select.contains(e.getX() / zoom, e.getY() / zoom); + boolean inAd = ad != null && e.getX() >= adPosition.x && e.getY() >= adPosition.y && e.getX() < adPosition.x + ad.getWidth() && e.getY() < adPosition.y + ad.getHeight(); + + switch(myState) { + case SCROLL_HOVER: + case SCROLL_PRESS: + break; + case SELECT_HOVER: + if(inSelect) { + setState(State.SELECT_INSIDE); + } + break; + case SELECT_INSIDE: + if(!inSelect) { + setState(State.SELECT_HOVER); + } + break; + case MOVE_HOVER: + if(inSelect) { + setState(State.MOVE_INSIDE); + } + break; + case MOVE_INSIDE: + if(!inSelect) { + setState(State.MOVE_HOVER); + } + break; + case AD_HOVER: + if(!inAd) { + restoreState(); + } + break; + default: + if(inAd && storeState()) { + setState(State.AD_HOVER); + } + break; + } + } + + public void cursorPressed(TabletEvent e) { + if(buttonDown != TabletEvent.NOBUTTON) { + return; + } + buttonDown = e.getButton(); + yieldForPaint(); + requestFocusInWindow(); + User user = client.getConnection().getUser(); + State myState = getState(); + int button = e.getButton(); + switch(button) { + case MouseEvent.BUTTON1: + switch(myState) { + case DISABLED: + return; + case DRAW_HOVER: + if(user != null && user.isViewer()) { + client.getUserInterface().println("Drawing is not permitted in viewer mode. Please sign in to participate."); + break; + } + + setState(State.DRAW_PRESS); + + if(jTablet2) { + pressure = Math.round(e.getPressure() * 255f); + } else if(jTablet1 != null) { + try { + if(jTablet1.poll() && jTablet1.hasCursor()) { + pressure = (jTablet1.getPressure() * 255) / jTablet1.getPressureExtent(); + } + } catch(Throwable jte) { } + } + Input input = new Input(e.getFloatX() / zoom, e.getFloatY() / zoom, pressure); + smoother.add(input); + smoother.setPressure(pressure); + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(smoother.getIndex(2)))); + break; + case LINE_HOVER: + case RECT_HOVER: + case OVAL_HOVER: + originX = e.getFloatX() / zoom; + originY = e.getFloatY() / zoom; + currentX = e.getFloatX() / zoom; + currentY = e.getFloatY() / zoom; + switch(myState) { + case LINE_HOVER: + setState(State.LINE_PRESS); + break; + case RECT_HOVER: + setState(State.RECT_PRESS); + break; + case OVAL_HOVER: + setState(State.OVAL_PRESS); + break; + } + break; + case BEZIER_HOVER: + x4 = x3 = x2 = x1 = e.getFloatX() / zoom; + y4 = y3 = y2 = y1 = e.getFloatY() / zoom; + setState(State.BEZIER_PRESS); + break; + case BEZIER_HOVER2: + float x = e.getFloatX() / zoom; + float y = e.getFloatY() / zoom; + float pad = 3 / zoom; + if(x >= x2 - pad && x <= x2 + pad && y >= y2 - pad && y <= y2 + pad) { + setState(State.BEZIER_PRESS_P2); + } else if(x >= x3 - pad && x <= x3 + pad && y >= y3 - pad && y <= y3 + pad) { + setState(State.BEZIER_PRESS_P3); + } + break; + case SELECT_INSIDE: + setState(State.SELECT_MOVE); + originX = e.getX() / zoom; + originY = e.getY() / zoom; + break; + case SELECT_HOVER: + setState(State.SELECT_PRESS); + if(select != null) { + Rectangle r = new Rectangle(select); + r.grow(1, 1); + repaint(Math.round(r.x * zoom), Math.round(r.y * zoom), Math.round(r.width * zoom), Math.round(r.height * zoom)); + } + select = new Rectangle(e.getX(), e.getY(), 0, 0); + iOriginX = Math.round(e.getX() / zoom); + iOriginY = Math.round(e.getY() / zoom); + break; + case MOVE_INSIDE: + if(user == null || user.isViewer()) { + client.getUserInterface().println("Moving is not permitted in viewer mode. Please sign in to participate."); + break; + } + if(user.getLayer() == null) { + break; + } + client.getCommandQueue().offer(new CommandEntry(0, new MoveCommand(select.x, select.y, select.x, select.y, select.width, select.height))); + setState(State.MOVE_PRESS); + originX = e.getX() / zoom; + originY = e.getY() / zoom; + break; + case SCROLL_HOVER: + los = e.getLocationOnScreen(); + originX = los.x; + originY = los.y; + slowLOSX = los.x; + slowLOSY = los.y; + scrollSpeedX = 0; + scrollSpeedY = 0; + setState(State.SCROLL_PRESS); + BoundedRangeModel hm = client.getUserInterface().getEditorPane().getHorizontalScrollBar().getModel(); + BoundedRangeModel vm = client.getUserInterface().getEditorPane().getVerticalScrollBar().getModel(); + hm.setValueIsAdjusting(true); + vm.setValueIsAdjusting(true); + + if(scrollTimer != null) { + scrollTimer.stop(); + scrollTimer = null; + } + + scrollTimer = new Timer(20, new ActionListener() { + public void actionPerformed(ActionEvent e) { + BoundedRangeModel hm = client.getUserInterface().getEditorPane().getHorizontalScrollBar().getModel(); + BoundedRangeModel vm = client.getUserInterface().getEditorPane().getVerticalScrollBar().getModel(); + if(getState() == State.SCROLL_PRESS) { + slowLOSX += (los.x - slowLOSX) * 0.125f; + slowLOSY += (los.y - slowLOSY) * 0.125f; + scrollSpeedX = -(slowLOSX - originX) - Math.signum(slowLOSX - originX) * (slowLOSX - originX) * (slowLOSX - originX) / 12f; + scrollSpeedY = -(slowLOSY - originY) - Math.signum(slowLOSY - originY) * (slowLOSY - originY) * (slowLOSY - originY) / 12f; + originX = slowLOSX; + originY = slowLOSY; + + hm.setValue(hm.getValue() + Math.round(scrollSpeedX)); + vm.setValue(vm.getValue() + Math.round(scrollSpeedY)); + } else { + hm.setValue(hm.getValue() + Math.round(scrollSpeedX)); + vm.setValue(vm.getValue() + Math.round(scrollSpeedY)); + scrollSpeedX *= 0.95f; + scrollSpeedY *= 0.95f; + if(Math.abs(scrollSpeedX) < 0.5f && Math.abs(scrollSpeedY) < 0.5f) { + client.getUserInterface().getEditorPane().getHorizontalScrollBar().getModel().setValueIsAdjusting(false); + client.getUserInterface().getEditorPane().getVerticalScrollBar().getModel().setValueIsAdjusting(false); + scrollTimer.stop(); + scrollTimer = null; + } + } + } + }); + scrollTimer.setCoalesce(false); + scrollTimer.start(); + break; + case AD_HOVER: + setState(State.AD_PRESS); + break; + } + break; + case MouseEvent.BUTTON3: + if(storeState()) { + setState(State.EYEDROP_PRESS); + } + break; + } + } + + public void cursorDragged(TabletEvent e) { + if(client.getConnection() == null || client.getConnection().getUser() == null || client.getConnection().getUser().getLayer() == null) { + return; + } + + if(jTablet2) { + pressure = Math.round(e.getPressure() * 255f); + } else if(jTablet1 != null) { + try { + if(jTablet1.poll() && jTablet1.hasCursor()) { + pressure = (jTablet1.getPressure() * 255) / jTablet1.getPressureExtent(); + } + } catch(Throwable jte) { } + } + + Input input = new Input(e.getFloatX() / zoom, e.getFloatY() / zoom, pressure); + smoother.add(input); + paintMouseCursor(); + + State myState = getState(); + + switch(myState) { + case DRAW_PRESS: + yieldForPaint(); + if(pressure > 0) { + List inputList = smoother.get(); + for(Iterator i = inputList.iterator(); i.hasNext();) { + Input in = i.next(); + client.getCommandQueue().offer(new CommandEntry(0, new LineCommand(in))); + } + } + break; + case LINE_PRESS: + case RECT_PRESS: + case OVAL_PRESS: + yieldForPaint(); + + // Calculate where shape is right now + float radiusX = Math.abs(currentX * zoom - originX * zoom); + float radiusY = Math.abs(currentY * zoom - originY * zoom); + int minX = (int) Math.floor(originX * zoom - radiusX) - 1; + int minY = (int) Math.floor(originY * zoom - radiusY) - 1; + int width = (int) Math.ceil(radiusX * 2) + 2; + int height = (int) Math.ceil(radiusY * 2) + 2; + + // Repaint this area, clearing it out + repaint(minX, minY, width, height); + + currentX = e.getFloatX() / zoom; + currentY = e.getFloatY() / zoom; + + // Calculate new position of shape + radiusX = Math.abs(currentX * zoom - originX * zoom); + radiusY = Math.abs(currentY * zoom - originY * zoom); + minX = (int) Math.floor(originX * zoom - radiusX) - 1; + minY = (int) Math.floor(originY * zoom - radiusY) - 1; + width = (int) Math.ceil(radiusX * 2) + 2; + height = (int) Math.ceil(radiusY * 2) + 2; + + repaint(minX, minY, width, height); + + break; + case BEZIER_PRESS: + yieldForPaint(); + + // Initialize curve to straight line + x4 = e.getFloatX() / zoom; + y4 = e.getFloatY() / zoom; + x2 = (x1 * 2 + x4) / 3; + y2 = (y1 * 2 + y4) / 3; + x3 = (x1 + x4 * 2) / 3; + y3 = (y1 + y4 * 2) / 3; + + // Calculate extreme corners + minX = (int) Math.floor(Math.min(x1, x4) * zoom) - 4; + minY = (int) Math.floor(Math.min(y1, y4) * zoom) - 4; + int maxX = (int) Math.ceil(Math.max(x1, x4) * zoom) + 4; + int maxY = (int) Math.ceil(Math.max(y1, y4) * zoom) + 4; + + repaint(minX, minY, maxX - minX, maxY - minY); + break; + case BEZIER_PRESS_P2: + yieldForPaint(); + + minX = (int) Math.floor(Math.min(x1, Math.min(x2, Math.min(x3, x4))) * zoom) - 4; + minY = (int) Math.floor(Math.min(y1, Math.min(y2, Math.min(y3, y4))) * zoom) - 4; + maxX = (int) Math.ceil(Math.max(x1, Math.max(x2, Math.max(x3, x4))) * zoom) + 4; + maxY = (int) Math.ceil(Math.max(y1, Math.max(y2, Math.max(y3, y4))) * zoom) + 4; + repaint(minX, minY, maxX - minX, maxY - minY); + + x2 = e.getFloatX() / zoom; + y2 = e.getFloatY() / zoom; + + minX = (int) Math.floor(Math.min(x1, Math.min(x2, Math.min(x3, x4))) * zoom) - 4; + minY = (int) Math.floor(Math.min(y1, Math.min(y2, Math.min(y3, y4))) * zoom) - 4; + maxX = (int) Math.ceil(Math.max(x1, Math.max(x2, Math.max(x3, x4))) * zoom) + 4; + maxY = (int) Math.ceil(Math.max(y1, Math.max(y2, Math.max(y3, y4))) * zoom) + 4; + repaint(minX, minY, maxX - minX, maxY - minY); + + break; + case BEZIER_PRESS_P3: + yieldForPaint(); + + minX = (int) Math.floor(Math.min(x1, Math.min(x2, Math.min(x3, x4))) * zoom) - 4; + minY = (int) Math.floor(Math.min(y1, Math.min(y2, Math.min(y3, y4))) * zoom) - 4; + maxX = (int) Math.ceil(Math.max(x1, Math.max(x2, Math.max(x3, x4))) * zoom) + 4; + maxY = (int) Math.ceil(Math.max(y1, Math.max(y2, Math.max(y3, y4))) * zoom) + 4; + repaint(minX, minY, maxX - minX, maxY - minY); + + x3 = e.getFloatX() / zoom; + y3 = e.getFloatY() / zoom; + + minX = (int) Math.floor(Math.min(x1, Math.min(x2, Math.min(x3, x4))) * zoom) - 4; + minY = (int) Math.floor(Math.min(y1, Math.min(y2, Math.min(y3, y4))) * zoom) - 4; + maxX = (int) Math.ceil(Math.max(x1, Math.max(x2, Math.max(x3, x4))) * zoom) + 4; + maxY = (int) Math.ceil(Math.max(y1, Math.max(y2, Math.max(y3, y4))) * zoom) + 4; + repaint(minX, minY, maxX - minX, maxY - minY); + + break; + case SELECT_MOVE: + yieldForPaint(); + repaint(Math.round(select.x * zoom) - 1, Math.round(select.y * zoom) - 1, Math.round(select.width * zoom) + 2, Math.round(select.height * zoom) + 2); + select.translate((int) (e.getX() / zoom - originX), (int) (e.getY() / zoom - originY)); + originX = e.getX() / zoom; + originY = e.getY() / zoom; + ++dashPhase; + repaint(Math.round(select.x * zoom) - 1, Math.round(select.y * zoom) - 1, Math.round(select.width * zoom) + 2, Math.round(select.height * zoom) + 2); + break; + case SELECT_PRESS: + yieldForPaint(); + minX = Math.min(iOriginX, Math.round(e.getX() / zoom)); + minY = Math.min(iOriginY, Math.round(e.getY() / zoom)); + maxX = Math.max(iOriginX, Math.round(e.getX() / zoom)); + maxY = Math.max(iOriginY, Math.round(e.getY() / zoom)); + width = maxX - minX; + height = maxY - minY; + + repaint(Math.round(select.x * zoom) - 1, Math.round(select.y * zoom) - 1, Math.round(select.width * zoom) + 2, Math.round(select.height * zoom) + 2); + + select.setBounds(minX, minY, maxX - minX, maxY - minY); + + repaint(Math.round(select.x * zoom) - 1, Math.round(select.y * zoom) - 1, Math.round(select.width * zoom) + 2, Math.round(select.height * zoom) + 2); + + break; + case MOVE_PRESS: + break; + case SCROLL_PRESS: + los = e.getLocationOnScreen(); + break; + case EYEDROP_PRESS: + yieldForPaint(); + eyedrop(e); + break; + } + } + + public void cursorReleased(TabletEvent e) { + int button = e.getButton(); + if(buttonDown == button) { + buttonDown = TabletEvent.NOBUTTON; + } else { + return; + } + State myState = getState(); + + switch(button) { + case TabletEvent.BUTTON1: + switch(myState) { + case DRAW_PRESS: + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + setState(State.DRAW_HOVER); + break; + case LINE_PRESS: + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(new Input(originX, originY, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new LineCommand(new Input(e.getFloatX() / zoom, e.getFloatY() / zoom, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + setState(State.LINE_HOVER); + break; + case RECT_PRESS: + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(new Input(originX, originY, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new LineCommand(new Input(e.getFloatX() / zoom, originY, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(new Input(e.getFloatX() / zoom, originY, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new LineCommand(new Input(e.getFloatX() / zoom, e.getFloatY() / zoom, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(new Input(e.getFloatX() / zoom, e.getFloatY() / zoom, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new LineCommand(new Input(originX, e.getFloatY() / zoom, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(new Input(originX, e.getFloatY() / zoom, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new LineCommand(new Input(originX, originY, 0xFF)))); + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + setState(State.RECT_HOVER); + break; + case BEZIER_PRESS: + setState(State.BEZIER_HOVER2); + break; + case BEZIER_HOVER2: + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(new Input(x1, y1, 64)))); + float t = 1f / 64f; + for(int i = 1; i <= 64; i++, t += 1f / 64f) { + float x = bezier(t, x1, x2, x3, x4); + float y = bezier(t, y1, y2, y3, y4); + client.getCommandQueue().offer(new CommandEntry(0, new LineCommand(new Input(x, y, 64 + (int) (191 * Math.sin(t * Math.PI)))))); + } + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + setState(State.BEZIER_HOVER); + break; + case BEZIER_PRESS_P2: + case BEZIER_PRESS_P3: + setState(State.BEZIER_HOVER2); + break; + case OVAL_PRESS: + float centerX = originX; + float centerY = originY; + float radiusX = Math.abs(e.getFloatX() / zoom - centerX); + float radiusY = Math.abs(e.getFloatY() / zoom - centerY); + int divisions = 64;//(int) Math.round(Math.max(radiusX, radiusY) * Math.PI); + if(divisions == 0) { + break; + } + client.getCommandQueue().offer(new CommandEntry(0, new CursorCommand(new Input(centerX + radiusX, centerY, 0xFF)))); + float alpha = 0; + for(int i = 0; i <= divisions; i++, alpha += Math.PI * 2 / divisions) { + client.getCommandQueue().offer(new CommandEntry(0, new LineCommand(new Input(centerX + (float) Math.cos(alpha) * radiusX, centerY + (float) Math.sin(alpha) * radiusY, 0xFF)))); + } + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + setState(State.OVAL_HOVER); + break; + case AD_PRESS: + if(e.getX() >= adPosition.x && e.getY() >= adPosition.y && e.getX() < adPosition.x + ad.getWidth() && e.getY() < adPosition.y + ad.getHeight()) { + try { + Class desktopClass = Class.forName("java.awt.Desktop"); + if((Boolean) desktopClass.getMethod("isDesktopSupported").invoke(null)) { // Desktop.isDesktopSupported() + Object desktop = desktopClass.getMethod("getDesktop").invoke(null); // Desktop.getDesktop() + Class actionClass = Class.forName("java.awt.Desktop$Action"); + if((Boolean) desktopClass.getMethod("isSupported", actionClass).invoke(desktop, actionClass.getField("BROWSE").get(null))) { // desktop.isSupported(java.awt.Desktop.Action.BROWSE) + desktopClass.getMethod("browse", URI.class).invoke(desktop, new URI("http://www.jotuntech.com/sketcher/")); // desktop.browse(uri); + } + } + } catch(Throwable t2) { + JOptionPane.showMessageDialog(client.getUserInterface(), "Visit www.jotuntech.com/sketcher/ to rent a Sketcher room!"); + } + } + setState(State.AD_HOVER); + case SELECT_PRESS: + if(select.isEmpty()) { + System.err.println("Empty select!"); + select = null; + } + setState(State.SELECT_HOVER); + repaint(); + break; + case SELECT_MOVE: + setState(State.SELECT_INSIDE); + break; + case MOVE_HOVER: + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + select = null; + repaint(); + break; + case MOVE_PRESS: + repaint(Math.round(select.x * zoom) - 1, Math.round(select.y * zoom) - 1, Math.round(select.width * zoom) + 2, Math.round(select.height * zoom) + 2); + int transX = (int) (e.getX() / zoom - originX); + int transY = (int) (e.getY() / zoom - originY); + client.getCommandQueue().offer(new CommandEntry(0, new MoveCommand(select.x, select.y, select.x + transX, select.y + transY, select.width, select.height))); + select.translate(transX, transY); + ++dashPhase; + repaint(Math.round(select.x * zoom) - 1, Math.round(select.y * zoom) - 1, Math.round(select.width * zoom) + 2, Math.round(select.height * zoom) + 2); + setState(State.MOVE_INSIDE); + break; + case SCROLL_PRESS: + restoreState(); + break; + } + break; + case TabletEvent.BUTTON3: + switch(myState) { + case EYEDROP_PRESS: + eyedrop(e); + restoreState(); + break; + } + break; + } + } + + public void cursorScrolled(TabletEvent e) { + + } + + public void levelChanged(TabletEvent e) { + + } + + public BufferedImage getImage() { + return image; + } + + public void setSmoothZoom(boolean enabled) { + this.smoothZoom = enabled; + } + + public boolean isSmoothZoom() { + return smoothZoom; + } + + public void setTagsEnabled(boolean tagsEnabled) { + this.tagsEnabled = tagsEnabled; + } + + public boolean isTagsEnabled() { + return tagsEnabled; + } + + public void setAd(BufferedImage ad) { + this.ad = ad; + } + + public BufferedImage getAd() { + return ad; + } + + public void setAdPosition(Point adPosition) { + this.adPosition = adPosition; + } + + public void setAdPosition(int x, int y) { + this.adPosition = new Point(x, y); + } + + public Point getAdPosition() { + return adPosition; + } + + public Rectangle getSelect() { + return select; + } + + public boolean isSoftwareCursorEnabled() { + return softwareCursorEnabled; + } + + public void setSoftwareCursorEnabled(boolean softwareCursorEnabled) { + this.softwareCursorEnabled = softwareCursorEnabled; + } +} diff --git a/src/com/jotuntech/sketcher/client/JCollapsiblePanel.java b/src/com/jotuntech/sketcher/client/JCollapsiblePanel.java new file mode 100755 index 0000000..306c84c --- /dev/null +++ b/src/com/jotuntech/sketcher/client/JCollapsiblePanel.java @@ -0,0 +1,154 @@ +package com.jotuntech.sketcher.client; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; + +import javax.swing.Icon; +import javax.swing.ImageIcon; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.UIManager; +import javax.swing.border.EmptyBorder; + +public class JCollapsiblePanel extends JPanel { + private final static Icon expandedIcon = UIManager.getIcon("Tree.expandedIcon"); + private final static Icon collapsedIcon = UIManager.getIcon("Tree.collapsedIcon"); + private final static Icon pinNormalIcon = new ImageIcon(JCollapsiblePanel.class.getResource("images/pin_normal.png")); + private final static Icon pinStuckIcon = new ImageIcon(JCollapsiblePanel.class.getResource("images/pin_stuck.png")); + private JLabel label; + private JLabel pin; + private JPanel contentPane; + private JCollapsiblePanelGroup group; + private boolean stuck; + private int id; + private boolean expandedByDefault, stuckByDefault; + + public JCollapsiblePanel(int id, String title, boolean expanded, boolean stuckx) { + super(); + + this.id = id; + + this.stuck = stuckx; + this.stuckByDefault = stuckx; + this.expandedByDefault = expanded; + + setBorder(new EmptyBorder(0, 0, 1, 0)); + setAlignmentX(Component.LEFT_ALIGNMENT); + setLayout(new BorderLayout()); + + JPanel topPanel = new JPanel(new BorderLayout()); + topPanel.setAlignmentX(Component.LEFT_ALIGNMENT); + add(topPanel, BorderLayout.NORTH); + + label = new JLabel(); + label.setIcon(expanded ? expandedIcon : collapsedIcon); + label.setText(title); + label.addMouseListener(new MouseListener() { + public void mouseClicked(MouseEvent arg0) { + } + + public void mouseEntered(MouseEvent arg0) { + } + + public void mouseExited(MouseEvent arg0) { + } + + public void mousePressed(MouseEvent arg0) { + } + + public void mouseReleased(MouseEvent arg0) { + if(!stuck) { + setExpanded(!contentPane.isVisible(), true); + } + } + }); + label.setAlignmentX(Component.LEFT_ALIGNMENT); + label.setBackground(new Color(172, 200, 230)); + label.setOpaque(true); + topPanel.add(label, BorderLayout.CENTER); + + pin = new JLabel(); + pin.setIcon(stuck ? pinStuckIcon : pinNormalIcon); + pin.addMouseListener(new MouseListener() { + public void mouseClicked(MouseEvent e) { + } + + public void mouseEntered(MouseEvent e) { + } + + public void mouseExited(MouseEvent e) { + } + + public void mousePressed(MouseEvent e) { + } + + public void mouseReleased(MouseEvent e) { + setStuck(!isStuck()); + } + }); + + pin.setAlignmentX(Component.LEFT_ALIGNMENT); + pin.setBackground(new Color(172, 200, 230)); + pin.setOpaque(true); + topPanel.add(pin, BorderLayout.EAST); + + contentPane = new JPanel(); + contentPane.setVisible(expanded); + contentPane.setBorder(new EmptyBorder(4, 4, 4, 4)); + add(contentPane, BorderLayout.CENTER); + } + + public JPanel getContentPane() { + return contentPane; + } + + public void setExpanded(boolean expanded, boolean interactive) { + if(interactive && expanded && group != null) { + for(JCollapsiblePanel panel : group) { + if(panel == this || panel.isStuck()) { + continue; + } + panel.setExpanded(false, false); + } + } + contentPane.setVisible(expanded); + label.setIcon(expanded ? expandedIcon : collapsedIcon); + } + + public boolean isExpanded() { + return contentPane.isVisible(); + } + + public void setGroup(JCollapsiblePanelGroup group) { + this.group = group; + group.add(this); + } + + public void setStuck(boolean stuck) { + this.stuck = stuck; + pin.setIcon(stuck ? pinStuckIcon : pinNormalIcon); + } + + public boolean isStuck() { + return stuck; + } + + public void setId(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public boolean isExpandedByDefault() { + return expandedByDefault; + } + + public boolean isStuckByDefault() { + return stuckByDefault; + } +} diff --git a/src/com/jotuntech/sketcher/client/JCollapsiblePanelGroup.java b/src/com/jotuntech/sketcher/client/JCollapsiblePanelGroup.java new file mode 100755 index 0000000..c20668f --- /dev/null +++ b/src/com/jotuntech/sketcher/client/JCollapsiblePanelGroup.java @@ -0,0 +1,7 @@ +package com.jotuntech.sketcher.client; + +import java.util.HashSet; + +public class JCollapsiblePanelGroup extends HashSet { + +} diff --git a/src/com/jotuntech/sketcher/client/JUserEntry.java b/src/com/jotuntech/sketcher/client/JUserEntry.java new file mode 100755 index 0000000..d33ddbe --- /dev/null +++ b/src/com/jotuntech/sketcher/client/JUserEntry.java @@ -0,0 +1,74 @@ +package com.jotuntech.sketcher.client; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.util.Arrays; + +import javax.swing.BoxLayout; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JProgressBar; + +public class JUserEntry extends JPanel { + private JLabel nameLabel; + private JPanel infoPanel; + private JProgressBar volumeBar; + private double slowVolume; + private int[] delayLine; + + public JUserEntry(String name) { + setLayout(new BorderLayout()); + + setOpaque(false); + + nameLabel = new JLabel(name); + add(nameLabel, BorderLayout.CENTER); + + infoPanel = new JPanel(); + infoPanel.setOpaque(false); + infoPanel.setLayout(new BoxLayout(infoPanel, BoxLayout.X_AXIS)); + add(infoPanel, BorderLayout.EAST); + + volumeBar = new JProgressBar(0, 32768); + volumeBar.setPreferredSize(new Dimension(64, 16)); + volumeBar.setOpaque(false); + volumeBar.setValue(32768); + volumeBar.setEnabled(false); + volumeBar.setToolTipText(name + " is not on voice."); + infoPanel.add(volumeBar); + } + + public void setVolume(int volume) { + setVolume(volume, 0); + } + + public void setVolume(int volume, int delay) { + if(volume <= 0) { + volume = 1; + } + if(delayLine == null || delayLine.length <= delay) { + delayLine = new int[delay + 1]; + Arrays.fill(delayLine, 1); + } + delayLine[delay] = volume; + double newVolume = Math.log(delayLine[0]) * 32768d / Math.log(32768); + + for(int i = 0; i < delayLine.length - 1; i++) { + delayLine[i] = delayLine[i + 1]; + } + delayLine[delayLine.length - 1] = 1; + + slowVolume += (newVolume - slowVolume) * 0.333d; + volumeBar.setValue((int) Math.round(slowVolume)); + if(!volumeBar.isEnabled()) { + volumeBar.setEnabled(true); + volumeBar.setToolTipText(nameLabel.getText() + " is on voice."); + } + } + + public void clearVoice() { + volumeBar.setValue(32768); + volumeBar.setEnabled(false); + volumeBar.setToolTipText(nameLabel.getText() + " is not on voice."); + } +} diff --git a/src/com/jotuntech/sketcher/client/JUserList.java b/src/com/jotuntech/sketcher/client/JUserList.java new file mode 100755 index 0000000..984a036 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/JUserList.java @@ -0,0 +1,57 @@ +package com.jotuntech.sketcher.client; + +import java.awt.Color; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.BoxLayout; +import javax.swing.JPanel; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +import com.jotuntech.sketcher.common.TwoWayHashMap; +import com.jotuntech.sketcher.common.User; + +public class JUserList extends JPanel { + TwoWayHashMap userMap; + Map entryMap; + + public JUserList(TwoWayHashMap userMap) { + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + + this.setBackground(Color.WHITE); + this.setOpaque(true); + + entryMap = new HashMap(); + + this.userMap = userMap; + userMap.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent e) { + redo(); + } + }); + + redo(); + } + + private void redo() { + entryMap.clear(); + removeAll(); + for(Map.Entry e : userMap.entrySet()) { + JUserEntry ue = new JUserEntry(e.getValue().getName()); + add(ue); + entryMap.put(e.getKey(), ue); + } + this.revalidate(); + } + + public JUserEntry getEntry(Integer key) { + return entryMap.get(key); + } + + public void clearVoice() { + for(JUserEntry ue : entryMap.values()) { + ue.clearVoice(); + } + } +} diff --git a/src/com/jotuntech/sketcher/client/LookAndFeel.java b/src/com/jotuntech/sketcher/client/LookAndFeel.java new file mode 100755 index 0000000..aede630 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/LookAndFeel.java @@ -0,0 +1,81 @@ +package com.jotuntech.sketcher.client; + +import javax.swing.UIManager; +import javax.swing.UIManager.LookAndFeelInfo; + +/** + * An collection of built-in Swing look and feels. This saves clients the + * trouble of manually setting the look and feel. + * + * @author Aaron Faanes + * + * @see javax.swing.LookAndFeel + */ +public enum LookAndFeel { + + /** + * Represents the Nimbus look-and-feel that was added in Java 6 Update + * 10. + */ + NIMBUS() { + + private volatile String name; + + @Override + public String getName() { + if (this.name == null) { + for (final LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { + if (info.getClassName().contains("nimbus")) { + this.name = info.getClassName(); + } + } + } + return this.name; + } + + }, + + /** + * Represents the look-and-feel that emulates the system + * + * @see UIManager#getSystemLookAndFeelClassName() + */ + SYSTEM() { + + @Override + public String getName() { + return UIManager.getSystemLookAndFeelClassName(); + } + }; + + /** + * Returns the name of the class that implements this look-and-feel. The + * returned name, if non-null, can be directly used in a + * {@link UIManager#setLookAndFeel(String)} invocation. If the returned + * value is null, then no class name could be found. + * + * + * @return the name of the class that implements this look-and-feel, or + * {@code null} if no class name could be found + */ + public abstract String getName(); + + /** + * Sets the global look and feel to this look and feel. + * + * @return {@code true} if setting the look-and-feel was successful, + * otherwise {@code false} + */ + public boolean activate() { + final String name = this.getName(); + if (name == null) { + return false; + } + try { + UIManager.setLookAndFeel(name); + return true; + } catch (final Exception e) { + return false; + } + } +} diff --git a/src/com/jotuntech/sketcher/client/PSDEncoder.java b/src/com/jotuntech/sketcher/client/PSDEncoder.java new file mode 100755 index 0000000..e4bc8be --- /dev/null +++ b/src/com/jotuntech/sketcher/client/PSDEncoder.java @@ -0,0 +1,568 @@ +package com.jotuntech.sketcher.client; + +import java.awt.Point; +import java.awt.image.BufferedImage; +import java.awt.image.DataBufferInt; +import java.io.DataOutput; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.util.Arrays; +import java.util.Map; + +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.BitmapTile; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.TwoWayHashMap; + +public class PSDEncoder { + private RandomAccessFile raf; + private BufferedImage image; + private BitmapLayer[] layers; + private long[][] channelLengthPositions; + + public PSDEncoder(RandomAccessFile raf, BufferedImage image, TwoWayHashMap layers) throws IOException { + this.raf = raf; + this.image = image; + + int layersLength = 0; + for(Layer l : layers.values()) { + if(l instanceof BitmapLayer) { + ++layersLength; + } + } + + this.layers = new BitmapLayer[layersLength]; + int layerIndex = 0; + for(Layer l : layers.values()) { + if(l instanceof BitmapLayer) { + this.layers[layerIndex++] = (BitmapLayer) l; + } + } + + channelLengthPositions = new long[this.layers.length][4]; + } + + + public void encode() throws IOException { + /* Signature */ + raf.write(new byte[] {'8', 'B', 'P', 'S'}); + + /* Version */ + raf.writeShort(1); + + /* Reserved */ + raf.write(new byte[] {0, 0, 0, 0, 0, 0}); + + /* Number of channels */ + raf.writeShort(4); + + /* Image height */ + raf.writeInt(image.getHeight()); + + /* Image width */ + raf.writeInt(image.getWidth()); + + /* Bits per channel */ + raf.writeShort(8); + + /* Color mode: RGB color */ + raf.writeShort(3); + + /* Length of color mode data section */ + raf.writeInt(0); + + /* Length of image resources section */ + raf.writeInt(0); + + /* Layer and mask information */ + writeLayerAndMaskInfo(raf); + + /* Image data */ + writeImagePixelData(raf); + } + + private void writeLayerAndMaskInfo(RandomAccessFile raf) throws IOException { + long lengthPointer = raf.getFilePointer(); + raf.writeInt(0); + + /* Layer info */ + writeLayerInfo(raf); + + /* Mask info */ + writeMaskInfo(raf); + + /* Go back and write length */ + long endPointer = raf.getFilePointer(); + raf.seek(lengthPointer); + raf.writeInt((int)(endPointer - lengthPointer - 4)); + raf.seek(endPointer); + } + + + private void writeLayerInfo(RandomAccessFile odo) throws IOException { + System.err.println("Writing layer info."); + + long lengthPointer = raf.getFilePointer(); + odo.writeInt(0); + + /* Layers struct */ + writeLayersStruct(odo); + + /* Pixel data */ + writeAllLayersPixelData(odo); + + /* Go back and write length */ + long endPointer = raf.getFilePointer(); + raf.seek(lengthPointer); + raf.writeInt((int)(endPointer - lengthPointer - 4)); + raf.seek(endPointer); + } + + private void writeLayersStruct(RandomAccessFile odo) throws IOException { + System.err.println("Writing layers struct."); + + /* Layer count */ + odo.writeShort(layers.length); + + /* Layers */ + for(int layerIndex = 0; layerIndex < layers.length; layerIndex++) { + writeLayer(odo, layerIndex); + } + } + + private void writeLayer(RandomAccessFile odo, int layerIndex) throws IOException { + /* Get layer */ + BitmapLayer l = layers[layerIndex]; + + System.err.println("Writing layer: " + l.getName()); + + /* Layer top */ + odo.writeInt(0); + + /* Layer left */ + odo.writeInt(0); + + /* Layer bottom */ + odo.writeInt(image.getHeight()); + + /* Layer right */ + odo.writeInt(image.getWidth()); + + /* Number of channels */ + odo.writeShort(4); + + /* Channel length info */ + writeChannelLengthInfo(odo, layerIndex); + + /* Blend mode signature */ + odo.write(new byte[] {'8', 'B', 'I', 'M'}); + + /* Blend mode key */ + odo.write(new byte[] {'n', 'o', 'r', 'm'}); + + /* Opacity */ + odo.writeByte(Math.round(l.getOpacity() * 255f)); + + /* Clipping: Base */ + odo.writeByte(0); + + /* Flags: Transparency not protected and visible */ + odo.writeByte(0x80); + + /* Filler */ + odo.writeByte(0); + + /* Prepare layer name */ + String name = l.getName(); + int origLength = name.length(); + int moduloLength = (origLength + 1) % 4; + int padLength = 0; + if(moduloLength > 0) { + padLength = 4 - moduloLength; + for(int i = 0; i < padLength; i++) { + name += "\000"; + } + } + + /* Extra data size */ + odo.writeInt(4 + 44 + 1 + origLength + padLength); + + /* Layer mask data size */ + odo.writeInt(0); + + /* Layer blending ranges */ + writeLayerBlendingRanges(odo); + + odo.writeByte(origLength); + odo.writeBytes(name); + } + + private void writeChannelLengthInfo(RandomAccessFile raf, int layerIndex) throws IOException { + System.err.println("Writing channel length info."); + + /* Channel ID: Transparency Mask */ + raf.writeShort(-1); + + /* Channel length */ + channelLengthPositions[layerIndex][0] = raf.getFilePointer(); + raf.writeInt(0); + + /* Channel ID: Red */ + raf.writeShort(0); + + /* Channel length */ + channelLengthPositions[layerIndex][1] = raf.getFilePointer(); + raf.writeInt(0); + + /* Channel ID: Green */ + raf.writeShort(1); + + /* Channel length */ + channelLengthPositions[layerIndex][2] = raf.getFilePointer(); + raf.writeInt(0); + + /* Channel ID: Blue */ + raf.writeShort(2); + + /* Channel length */ + channelLengthPositions[layerIndex][3] = raf.getFilePointer(); + raf.writeInt(0); + } + + private void writeLayerBlendingRanges(DataOutput odo) throws IOException { + System.err.println("Writing layer blending ranges."); + + /* Length */ + odo.writeInt(40); + + /* Composite gray blend source */ + odo.writeInt(0x0000FFFF); + + /* Composite gray blend destination */ + odo.writeInt(0x0000FFFF); + + /* First channel source range */ + odo.writeInt(0x0000FFFF); + + /* First channel destination range */ + odo.writeInt(0x0000FFFF); + + /* Second channel source range */ + odo.writeInt(0x0000FFFF); + + /* Second channel destination range */ + odo.writeInt(0x0000FFFF); + + /* Third channel source range */ + odo.writeInt(0x0000FFFF); + + /* Third channel destination range */ + odo.writeInt(0x0000FFFF); + + /* Fourth channel source range */ + odo.writeInt(0x0000FFFF); + + /* Fourth channel destination range */ + odo.writeInt(0x0000FFFF); + } + + private void writeAllLayersPixelData(RandomAccessFile odo) throws IOException { + System.out.println("Writing pixel layer data."); + for(int layerIndex = 0; layerIndex < layers.length; layerIndex++) { + writeLayerPixelData(odo, layerIndex); + } + } + + private void writeMaskInfo(RandomAccessFile raf) throws IOException { + System.err.println("Writing mask info."); + + /* Mask info length */ + long lengthPointer = raf.getFilePointer(); + raf.writeInt(0); + + /* Overlay color space */ + raf.writeShort(0); + + /* Color components */ + raf.writeShort(0); + raf.writeShort(0); + raf.writeShort(0); + raf.writeShort(0); + + /* Opacity */ + raf.writeShort(0); + + /* Kind: Use value stored per layer */ + raf.writeByte(128); + + /* Filler */ + raf.writeByte(0); + + /* Go back and write length */ + long endPointer = raf.getFilePointer(); + raf.seek(lengthPointer); + raf.writeInt((int)(endPointer - lengthPointer - 4)); + raf.seek(endPointer); + } + + public void writeImagePixelData(RandomAccessFile odo) throws IOException { + System.out.println("Writing image data."); + + int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); + byte[] scanline = new byte[image.getWidth()]; + + /* Compression: RLE */ + odo.writeShort(1); + + /* Placeholder scanline bytecounts */ + long redCountsPosition = raf.getFilePointer(); + for(int i = 0; i < image.getHeight(); i++) { + odo.writeShort(0); + } + long greenCountsPosition = raf.getFilePointer(); + for(int i = 0; i < image.getHeight(); i++) { + odo.writeShort(0); + } + long blueCountsPosition = raf.getFilePointer(); + for(int i = 0; i < image.getHeight(); i++) { + odo.writeShort(0); + } + long alphaCountsPosition = raf.getFilePointer(); + for(int i = 0; i < image.getHeight(); i++) { + odo.writeShort(0); + } + + PackBitsOutputStream pbos = new PackBitsOutputStream(raf); + + /* Image data - Red */ + for(int y = 0; y < image.getHeight(); y++) { + for(int x = 0; x < scanline.length; x++) { + scanline[x] = (byte) ((pixels[y * scanline.length + x] >> 16) & 0xFF); + } + long scanlineStart = raf.getFilePointer(); + pbos.write(scanline); + pbos.flush(); + long scanlineStop = raf.getFilePointer(); + raf.seek(redCountsPosition + y * 2); + raf.writeShort((short)(scanlineStop - scanlineStart)); + raf.seek(scanlineStop); + } + + /* Image data - Green */ + for(int y = 0; y < image.getHeight(); y++) { + for(int x = 0; x < scanline.length; x++) { + scanline[x] = (byte) ((pixels[y * scanline.length + x] >> 8) & 0xFF); + } + long scanlineStart = raf.getFilePointer(); + pbos.write(scanline); + pbos.flush(); + long scanlineStop = raf.getFilePointer(); + raf.seek(greenCountsPosition + y * 2); + raf.writeShort((short)(scanlineStop - scanlineStart)); + raf.seek(scanlineStop); + } + + /* Image data - Blue */ + for(int y = 0; y < image.getHeight(); y++) { + for(int x = 0; x < scanline.length; x++) { + scanline[x] = (byte) (pixels[y * scanline.length + x] & 0xFF); + } + long scanlineStart = raf.getFilePointer(); + pbos.write(scanline); + pbos.flush(); + long scanlineStop = raf.getFilePointer(); + raf.seek(blueCountsPosition + y * 2); + raf.writeShort((short)(scanlineStop - scanlineStart)); + raf.seek(scanlineStop); + } + + /* Image data - Alpha */ + for(int y = 0; y < image.getHeight(); y++) { + for(int x = 0; x < scanline.length; x++) { + scanline[x] = (byte) ((pixels[y * scanline.length + x] >> 24) & 0xFF); + } + long scanlineStart = raf.getFilePointer(); + pbos.write(scanline); + pbos.flush(); + long scanlineStop = raf.getFilePointer(); + raf.seek(alphaCountsPosition + y * 2); + raf.writeShort((short)(scanlineStop - scanlineStart)); + raf.seek(scanlineStop); + } + } + + public void writeLayerPixelData(RandomAccessFile raf, int layerIndex) throws IOException { + System.out.println("Writing image data."); + + byte[] scanline = new byte[image.getWidth()]; + + /* Get tiles */ + Map tiles = layers[layerIndex].getTiles(); + + PackBitsOutputStream pbos = new PackBitsOutputStream(raf); + + long startOfAlpha = raf.getFilePointer(); + int alphaLength; + + /* Compression: RLE */ + raf.writeShort(1); + + /* Alpha scanline counts */ + long alphaCountsPosition = raf.getFilePointer(); + for(int y = 0; y < image.getHeight(); y++) { + raf.writeShort(0); + } + + /* Alpha image data */ + for(int y = 0; y < image.getHeight(); y++) { + int yModulus = y & BitmapTile.SIZE_MASK; + for(int x = 0; x < scanline.length; x += BitmapTile.SIZE) { + BitmapTile t = tiles.get(new Point(x >> BitmapTile.SIZE_2, y >> BitmapTile.SIZE_2)); + if(t == null) { + Arrays.fill(scanline, x, x + BitmapTile.SIZE, (byte) 0); + } else { + int[] tilePixels = t.getPixels(); + for(int offset = 0; offset < BitmapTile.SIZE; offset++) { + scanline[x + offset] = (byte) ((tilePixels[(yModulus << BitmapTile.SIZE_2) + offset] >> 24) & 0xFF); + } + } + } + long scanlineStart = raf.getFilePointer(); + pbos.write(scanline); + pbos.flush(); + long scanlineEnd = raf.getFilePointer(); + raf.seek(alphaCountsPosition + y * 2); + raf.writeShort((short) (scanlineEnd - scanlineStart)); + raf.seek(scanlineEnd); + } + + long endOfAlpha = raf.getFilePointer(); + alphaLength = (int) (endOfAlpha - startOfAlpha); + raf.seek(channelLengthPositions[layerIndex][0]); + raf.writeInt(alphaLength); + raf.seek(endOfAlpha); + + long startOfRed = raf.getFilePointer(); + int redLength; + + /* Compression: RLE */ + raf.writeShort(1); + + /* Red scanline counts */ + long redCountsPosition = raf.getFilePointer(); + for(int y = 0; y < image.getHeight(); y++) { + raf.writeShort(0); + } + + /* Red image data */ + for(int y = 0; y < image.getHeight(); y++) { + int yModulus = y & BitmapTile.SIZE_MASK; + for(int x = 0; x < scanline.length; x += BitmapTile.SIZE) { + BitmapTile t = tiles.get(new Point(x >> BitmapTile.SIZE_2, y >> BitmapTile.SIZE_2)); + if(t == null) { + Arrays.fill(scanline, x, x + BitmapTile.SIZE, (byte) 0); + } else { + for(int offset = 0; offset < BitmapTile.SIZE; offset++) { + int[] tilePixels = t.getPixels(); + scanline[x + offset] = (byte) ((tilePixels[(yModulus << BitmapTile.SIZE_2) + offset] >> 16) & 0xFF); + } + } + } + long scanlineStart = raf.getFilePointer(); + pbos.write(scanline); + pbos.flush(); + long scanlineEnd = raf.getFilePointer(); + raf.seek(redCountsPosition + y * 2); + raf.writeShort((short) (scanlineEnd - scanlineStart)); + raf.seek(scanlineEnd); + } + + long endOfRed = raf.getFilePointer(); + redLength = (int) (endOfRed - startOfRed); + raf.seek(channelLengthPositions[layerIndex][1]); + raf.writeInt(redLength); + raf.seek(endOfRed); + + long startOfGreen = raf.getFilePointer(); + int greenLength; + + /* Compression: RLE */ + raf.writeShort(1); + + /* Green scanline counts */ + long greenCountsPosition = raf.getFilePointer(); + for(int y = 0; y < image.getHeight(); y++) { + raf.writeShort(0); + } + + /* Green image data */ + for(int y = 0; y < image.getHeight(); y++) { + int yModulus = y & BitmapTile.SIZE_MASK; + for(int x = 0; x < scanline.length; x += BitmapTile.SIZE) { + BitmapTile t = tiles.get(new Point(x >> BitmapTile.SIZE_2, y >> BitmapTile.SIZE_2)); + if(t == null) { + Arrays.fill(scanline, x, x + BitmapTile.SIZE, (byte) 0); + } else { + for(int offset = 0; offset < BitmapTile.SIZE; offset++) { + int[] tilePixels = t.getPixels(); + scanline[x + offset] = (byte) ((tilePixels[(yModulus << BitmapTile.SIZE_2) + offset] >> 8) & 0xFF); + } + } + } + long scanlineStart = raf.getFilePointer(); + pbos.write(scanline); + pbos.flush(); + long scanlineEnd = raf.getFilePointer(); + raf.seek(greenCountsPosition + y * 2); + raf.writeShort((short)(scanlineEnd - scanlineStart)); + raf.seek(scanlineEnd); + } + + long endOfGreen = raf.getFilePointer(); + greenLength = (int) (endOfGreen - startOfGreen); + raf.seek(channelLengthPositions[layerIndex][2]); + raf.writeInt(greenLength); + raf.seek(endOfGreen); + + long startOfBlue = raf.getFilePointer(); + int blueLength; + + /* Compression: RLE */ + raf.writeShort(1); + + /* Blue scanline counts */ + long blueCountsPosition = raf.getFilePointer(); + for(int y = 0; y < image.getHeight(); y++) { + raf.writeShort(0); + } + + /* Blue image data */ + for(int y = 0; y < image.getHeight(); y++) { + int yModulus = y & BitmapTile.SIZE_MASK; + for(int x = 0; x < scanline.length; x += BitmapTile.SIZE) { + BitmapTile t = tiles.get(new Point(x >> BitmapTile.SIZE_2, y >> BitmapTile.SIZE_2)); + if(t == null) { + Arrays.fill(scanline, x, x + BitmapTile.SIZE, (byte) 0); + } else { + int[] tilePixels = t.getPixels(); + for(int offset = 0; offset < BitmapTile.SIZE; offset++) { + scanline[x + offset] = (byte) (tilePixels[(yModulus << BitmapTile.SIZE_2) + offset] & 0xFF); + } + } + } + long scanlineStart = raf.getFilePointer(); + pbos.write(scanline); + pbos.flush(); + long scanlineEnd = raf.getFilePointer(); + raf.seek(blueCountsPosition + y * 2); + raf.writeShort((short)(scanlineEnd - scanlineStart)); + raf.seek(scanlineEnd); + } + + long endOfBlue = raf.getFilePointer(); + blueLength = (int) (endOfBlue - startOfBlue); + raf.seek(channelLengthPositions[layerIndex][3]); + raf.writeInt(blueLength); + raf.seek(endOfBlue); + } +} diff --git a/src/com/jotuntech/sketcher/client/PackBitsOutputStream.java b/src/com/jotuntech/sketcher/client/PackBitsOutputStream.java new file mode 100755 index 0000000..7eeb226 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/PackBitsOutputStream.java @@ -0,0 +1,141 @@ +package com.jotuntech.sketcher.client; + +import java.io.DataOutput; +import java.io.IOException; +import java.io.OutputStream; + +public class PackBitsOutputStream extends OutputStream { + private DataOutput mdo; + + private final static int IN_BUFFER_SIZE = 2048; + private final static int IN_BUFFER_MASK = IN_BUFFER_SIZE - 1; + private final static int OUT_BUFFER_SIZE = 4096; + + private int[] inBuffer; + private int inBufferWritePos, inBufferReadPos, inBufferMark; + private byte[] outBuffer; + private int outBufferWritePos; + + public PackBitsOutputStream(DataOutput mdo) { + this.mdo = mdo; + this.inBuffer = new int[IN_BUFFER_SIZE]; + this.inBufferWritePos = 0; + this.inBufferReadPos = 0; + this.inBufferMark = 0; + this.outBuffer = new byte[OUT_BUFFER_SIZE]; + this.outBufferWritePos = 0; + } + + public void write(int b) throws IOException { + inBuffer[inBufferWritePos++ & IN_BUFFER_MASK] = b; + + if(inBufferWritePos - inBufferReadPos == IN_BUFFER_SIZE) { + pack(); + } + } + + public void write(byte[] b) throws IOException { + for(int i = 0; i < b.length; i++) { + inBuffer[inBufferWritePos++ & IN_BUFFER_MASK] = b[i]; + + if(inBufferWritePos - inBufferReadPos == IN_BUFFER_SIZE) { + pack(); + } + } + } + + public void write(byte[] b, int off, int len) throws IOException { + for(int i = off; i < off + len; i++) { + inBuffer[inBufferWritePos++ & IN_BUFFER_MASK] = b[i]; + + if(inBufferWritePos - inBufferReadPos == IN_BUFFER_SIZE) { + pack(); + } + } + } + + public void flush() throws IOException { + pack(); + } + + private void output(int b) { + outBuffer[outBufferWritePos++] = (byte) b; + } + + private void pack() throws IOException { + outBufferWritePos = 0; + + while(available() > 0) { + int b = read(); + int repeat = 1; + while(available() > 0 && peek() == b && repeat < 128) { + ++repeat; + skip(); + } + + if(repeat == 1) { + mark(); + int b2 = read(); + int literal = 0; + while(available() > 0 && peek() != b2 && literal < 127) { + b2 = read(); + ++literal; + } + + if(available() == 0 && literal < 127) { + ++literal; + } + + if(literal == 0) { + reset(); + output(0); + output(b); + } else { + reset(); + output(literal); + output(b); + for(int i = 0; i < literal; i++) { + output(read()); + } + } + } else if(repeat == 2) { + output(1); + output(b); + output(b); + } else { + output(1 - repeat); + output(b); + } + } + + mdo.write(outBuffer, 0, outBufferWritePos); + } + + public void close() throws IOException { + pack(); + } + + private int available() { + return inBufferWritePos - inBufferReadPos; + } + + private int peek() { + return inBuffer[inBufferReadPos & IN_BUFFER_MASK]; + } + + private int read() { + return inBuffer[inBufferReadPos++ & IN_BUFFER_MASK]; + } + + private void skip() { + ++inBufferReadPos; + } + + private void mark() { + inBufferMark = inBufferReadPos; + } + + private void reset() { + inBufferReadPos = inBufferMark; + } +} diff --git a/src/com/jotuntech/sketcher/client/Smoother.java b/src/com/jotuntech/sketcher/client/Smoother.java new file mode 100755 index 0000000..80bc299 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/Smoother.java @@ -0,0 +1,150 @@ +package com.jotuntech.sketcher.client; + +import java.util.ArrayList; +import java.util.List; + +import com.jotuntech.sketcher.common.Input; + +/** + * Static singleton for input interpolation. + * + * @author Thor Harald Johansen + */ +public class Smoother { + /* Smoothing threshold */ + private static float threshold = 4f; + private static float smoothness = 1.5f; + private static boolean enabled = true; + + Input[] cursor = new Input[] {new Input(), new Input(), new Input()}; + + /** + * Sets all points to given input + * @param d input to add. + */ + + public void set(Input d) { + cursor[0] = d; + cursor[1] = cursor[0]; + cursor[2] = cursor[1]; + } + + public void setPressure(int pressure) { + //cursor[0].pressure = pressure; + //cursor[1].pressure = pressure; + //cursor[2].pressure = pressure; + } + + /** + * Adds a new input for smoothing. + * + * @param d input to add. + */ + + public void add(Input d) { + float dx = d.x - cursor[2].x; + float dy = d.y - cursor[2].y; + float dd = d.pressure - cursor[2].pressure; + + float h = (float)Math.hypot(dx, dy); + + float d2 = h - smoothness; + + if(d2 > 0) { + float sx = dx * d2 / h; + float sy = dy * d2 / h; + float sd = dd * d2 / h; + + cursor[0] = cursor[1]; + cursor[1] = cursor[2]; + cursor[2] = new Input(cursor[2].x + sx, cursor[2].y + sy, (int)(cursor[2].pressure + sd)); + } + } + + /** + * Return a list of smoothed inputs. + * + * @return List of smoothed inputs. + */ + + public List get() { + /* Create list for inputs. */ + List inputs = new ArrayList(); + + if(enabled) { + /* Segment cursor. */ + segment(inputs, cursor[0], cursor[1], cursor[2]); + } else { + inputs.add(cursor[2]); + } + + return inputs; + } + + public Input getIndex(int index) { + return cursor[index]; + } + + // uses a, b and c to interpolate inputs between b and c, store in inputs. + void segment(List inputs, Input a, Input b, Input c) { + // difference AB & BC + Input dab = a.difference(b); + Input dbc = b.difference(c); + + // magnitude AB & BC + float mab = (float)Math.hypot(dab.x, dab.y); + float mbc = (float)Math.hypot(dbc.x, dbc.y); + + // orientation AB & BC + float oab = (float)Math.acos(dab.x / mab) * (dab.y < 0 ? -1 : 1); + float obc = (float)Math.acos(dbc.x / mbc) * (dbc.y < 0 ? -1 : 1); + + // normalize + if(obc - oab > Math.PI || obc - oab < -Math.PI) { + obc -= Math.PI * 2; + } + + // angle ABC + float abc = Math.abs(obc - oab); + + // threshold of operation + if(mbc * abc > threshold && abc < Math.PI / 2) { + // three-quarter of angle ABC + float angle = (oab + (obc * 3)) / 4; + + // half of magnitude BC + Input d = new Input(b.x + ((float)Math.cos(angle) * mbc / 2), b.y + + ((float)Math.sin(angle) * mbc / 2), (b.pressure + c.pressure) / 2); + + segment(inputs, a, b, d); + inputs.add(d); + segment(inputs, b, d, c); + } else { + inputs.add(c); + } + } + + public static void setThreshold(float threshold) { + Smoother.threshold = threshold; + } + + public static float getThreshold() { + return threshold; + } + + public static void setSmoothness(float smoothness) { + Smoother.smoothness = smoothness; + } + + public static float getSmoothness() { + return smoothness; + } + + public static void setEnabled(boolean enabled) { + Smoother.enabled = enabled; + } + + public static boolean isEnabled() { + return enabled; + } +} diff --git a/src/com/jotuntech/sketcher/client/UserInterface.java b/src/com/jotuntech/sketcher/client/UserInterface.java new file mode 100755 index 0000000..9ebb774 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/UserInterface.java @@ -0,0 +1,1723 @@ +package com.jotuntech.sketcher.client; + +import info.clearthought.layout.TableLayout; + +import java.applet.Applet; +import java.applet.AudioClip; +import java.awt.AlphaComposite; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Container; +import java.awt.Cursor; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Insets; +import java.awt.Rectangle; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.AdjustmentEvent; +import java.awt.event.AdjustmentListener; +import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.io.RandomAccessFile; +import java.net.HttpURLConnection; +import java.net.URI; +import java.net.URL; +import java.util.Map; +import java.util.Set; + +import javax.imageio.ImageIO; +import javax.swing.AbstractListModel; +import javax.swing.BorderFactory; +import javax.swing.BoundedRangeModel; +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.ButtonGroup; +import javax.swing.Icon; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JProgressBar; +import javax.swing.JRadioButton; +import javax.swing.JScrollBar; +import javax.swing.JScrollPane; +import javax.swing.JSlider; +import javax.swing.JSpinner; +import javax.swing.JSplitPane; +import javax.swing.JTabbedPane; +import javax.swing.JTextArea; +import javax.swing.JTextField; +import javax.swing.JToggleButton; +import javax.swing.ListModel; +import javax.swing.SpinnerNumberModel; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + +import com.jotuntech.sketcher.client.command.CreateLayerCommand; +import com.jotuntech.sketcher.client.command.DeleteLayerCommand; +import com.jotuntech.sketcher.client.command.FilterCommand; +import com.jotuntech.sketcher.client.command.KickCommand; +import com.jotuntech.sketcher.client.command.MergeCommand; +import com.jotuntech.sketcher.client.command.SayCommand; +import com.jotuntech.sketcher.client.command.SetBrushCommand; +import com.jotuntech.sketcher.client.command.SetColorCommand; +import com.jotuntech.sketcher.client.command.SetLayerCommand; +import com.jotuntech.sketcher.client.command.VoiceCommand; +import com.jotuntech.sketcher.common.Brush; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.LayerType; +import com.jotuntech.sketcher.common.Log; +import com.jotuntech.sketcher.common.Pixels; +import com.jotuntech.sketcher.common.TwoWayHashMap; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.common.filter.AutoContrastFilter; +import com.jotuntech.sketcher.common.filter.BlurFilter; + +public class UserInterface extends JPanel { + public final static Insets NO_INSETS = new Insets(0, 0, 0, 0); + + protected Client client; + + private JSplitPane splitPane; + + private JScrollPane editorPane; + private Editor editor; + + private JPanel rightPanel; + + private JMenuBar menuBar; + private JMenu filterMenu; + + private JCheckBoxMenuItem soundItem, tagsItem; + + JCollapsiblePanelGroup mainGroup; + + private JScrollPane chatPane; + private JTextArea chatLog; + private JTextField chatField; + + private BrushButton[] brushButtons; + + private JLabel zoomLabel; + private JSpinner zoomSpin; + JCheckBox smoothBox; + + private JCheckBox opacityBox, flowBox, radiusBox, lockTransBox; + + private JUserList userList; + + private JList layerList; + + private JSlider hardnessSlider, sizeSlider, opacitySlider, flowSlider, spacingSlider, jitterSlider, noiseSlider, waterSlider, waterAreaSlider; + + private JSlider redSlider, greenSlider, blueSlider; + private JPanel rgbColor; + + private JSlider hueSlider, satSlider, brightSlider; + private JPanel hsbColor; + + private JSlider cyanSlider, magentaSlider, yellowSlider; + private JPanel cmyColor; + + private JCollapsiblePanel brushPanel, brushSettingsPanel, colorPanel, inputPanel; + + private JToggleButton selectButton, moveButton, freehandButton, lineButton, bezierButton, rectangleButton, ovalButton; + + private boolean smoothZoom = true; + private boolean colorAdjusting = false; + protected boolean brushAdjusting = false; + private boolean layerAdjusting = false; + + public static AudioClip + AUDIO_INTRO = Applet.newAudioClip(UserInterface.class.getResource("audio/intro.wav")), + AUDIO_SIGN_IN = Applet.newAudioClip(UserInterface.class.getResource("audio/signin.wav")), + AUDIO_SIGN_OUT = Applet.newAudioClip(UserInterface.class.getResource("audio/signout.wav")), + AUDIO_KICK = Applet.newAudioClip(UserInterface.class.getResource("audio/kick.wav")), + AUDIO_CHAT = Applet.newAudioClip(UserInterface.class.getResource("audio/chat.wav")), + AUDIO_OUTTRO = Applet.newAudioClip(UserInterface.class.getResource("audio/outtro.wav")); + + private static Icon[] brushIcons = new Icon[] { + new ImageIcon(UserInterface.class.getResource("images/pen.png")), + new ImageIcon(UserInterface.class.getResource("images/pencil.png")), + new ImageIcon(UserInterface.class.getResource("images/water2.png")), + new ImageIcon(UserInterface.class.getResource("images/eraser.png")), + new ImageIcon(UserInterface.class.getResource("images/ink.png")), + new ImageIcon(UserInterface.class.getResource("images/wipe.png")) + }; + + private void saveFileToDisk(final boolean selectionOnly) { + try { + final JFileChooser fileChooser = new JFileChooser(); + if(fileChooser.showSaveDialog(null) != JFileChooser.APPROVE_OPTION) { + return; + } + + final File file = fileChooser.getSelectedFile(); + + if(file.exists()) { + if(JOptionPane.showConfirmDialog(null, "Overwrite existing file?", "Confirm", JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) { + return; + } + } + + Thread saveThread = new Thread("SaveThread") { + public void run() { + BufferedImage image; + if(selectionOnly) { + Rectangle s = editor.getSelect(); + if(s == null) { + JOptionPane.showMessageDialog(UserInterface.this, "Cannot save empty selection!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + image = editor.getImage().getSubimage(s.x, s.y, s.width, s.height); + } else { + image = editor.getImage(); + } + + if(file.getName().toUpperCase().endsWith(".PNG")) { + println("Saving PNG file. Please wait..."); + try { + ImageIO.write(image, "PNG", file); + } catch (Throwable e) { + JOptionPane.showMessageDialog(UserInterface.this, "Unable to save file! (" + e.getMessage() + ")", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + println("Completed!"); + } else if(file.getName().toUpperCase().endsWith(".PSD")) { + if(selectionOnly) { + JOptionPane.showMessageDialog(UserInterface.this, "Cannot save partial canvases in PSD format!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + println("Saving PSD file. Please wait..."); + Canvas canvas = client.getCanvas(); + TwoWayHashMap lm = canvas.getLayerMap(); + try { + RandomAccessFile raf = new RandomAccessFile(fileChooser.getSelectedFile(), "rw"); + + PSDEncoder psde = new PSDEncoder(raf, image, lm); + psde.encode(); + raf.close(); + System.gc(); + } catch (Throwable e) { + JOptionPane.showMessageDialog(UserInterface.this, "Unable to save file! (" + e.getMessage() + ")", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + println("Completed!"); + } else { + JOptionPane.showMessageDialog(UserInterface.this, "You need to add an extension like .png or .psd to save a file!", "Error", JOptionPane.ERROR_MESSAGE); + } + } + }; + saveThread.setPriority(Thread.MIN_PRIORITY); + saveThread.start(); + } catch(SecurityException e) { + JOptionPane.showMessageDialog(UserInterface.this, "You cannot use the save feature without accepting the security certificate!", "Error", JOptionPane.ERROR_MESSAGE); + } + } + + public UserInterface(final Client client) { + super(new BorderLayout()); + + this.client = client; + + editor = new Editor(client); + editor.setSmoothZoom(true); + + if(client.isAds()) { + try { + BufferedImage bi = ImageIO.read(UserInterface.class.getResource("images/ad1.png")); + editor.setAd(bi); + editor.setAdPosition(-468, -60); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + + if(!LookAndFeel.NIMBUS.activate()) { + LookAndFeel.SYSTEM.activate(); + } + + editorPane = new JScrollPane(editor); + + AdjustmentListener canvasScroller = new AdjustmentListener() { + public void adjustmentValueChanged(AdjustmentEvent arg0) { + boolean adjusting = arg0.getValueIsAdjusting(); + editor.setAdPosition(editorPane.getHorizontalScrollBar().getValue() + editorPane.getViewport().getWidth() - 478, editorPane.getVerticalScrollBar().getValue() + 10); + if(smoothZoom) { + if(adjusting) { + editor.setSmoothZoom(false); + } else { + editor.setSmoothZoom(true); + editor.repaint(); + } + } + } + + }; + + editorPane.getVerticalScrollBar().addAdjustmentListener(canvasScroller); + editorPane.getHorizontalScrollBar().addAdjustmentListener(canvasScroller); + + /** Create panel for tools */ + rightPanel = new JPanel(); + rightPanel.setLayout(new BoxLayout(rightPanel, BoxLayout.Y_AXIS)); + + /** Make split pane with canvas on left, tools on right */ + splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, editorPane, rightPanel); + splitPane.setResizeWeight(1.0); + splitPane.setOneTouchExpandable(true); + add(splitPane, BorderLayout.CENTER); + + menuBar = new JMenuBar(); + menuBar.setAlignmentX(Component.LEFT_ALIGNMENT); + menuBar.setMinimumSize(new Dimension(0, 24)); + menuBar.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE)); + rightPanel.add(menuBar); + + JMenu fileMenu = new JMenu("File"); + menuBar.add(fileMenu); + + JMenuItem saveItem = new JMenuItem("Save Canvas As..."); + saveItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + saveFileToDisk(false); + } + }); + fileMenu.add(saveItem); + + JMenuItem saveSelectItem = new JMenuItem("Save Selection As..."); + saveSelectItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + saveFileToDisk(true); + } + }); + fileMenu.add(saveSelectItem); + + JMenuItem uploadSelectItem = new JMenuItem("Upload Selection..."); + uploadSelectItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + final Rectangle s = editor.getSelect(); + if(s == null) { + JOptionPane.showMessageDialog(UserInterface.this, "Cannot upload empty selection!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + + final JDialog uploadDialog = new JDialog(); + uploadDialog.setTitle("Upload Selection to ArtGrounds.com"); + uploadDialog.setResizable(false); + uploadDialog.setModal(true); + Container contentPane = uploadDialog.getContentPane(); + contentPane.setLayout(new BorderLayout()); + JPanel northPanel = new JPanel(); + northPanel.setBorder(BorderFactory.createEmptyBorder(8, 8, 0, 8)); + northPanel.setLayout(new BoxLayout(northPanel, BoxLayout.Y_AXIS)); + northPanel.add(new JLabel("Format:")); + JPanel formatPanel = new JPanel(); + formatPanel.setLayout(new BoxLayout(formatPanel, BoxLayout.X_AXIS)); + ButtonGroup formatGroup = new ButtonGroup(); + final JRadioButton jpegButton = new JRadioButton("JPEG (realism, paintings, soft shading)"); + jpegButton.setSelected(true); + formatGroup.add(jpegButton); + formatPanel.add(jpegButton); + formatPanel.add(Box.createRigidArea(new Dimension(8, 0))); + final JRadioButton pngButton = new JRadioButton("PNG (cartoons, drawings, hard shading)"); + formatGroup.add(pngButton); + formatPanel.add(pngButton); + northPanel.add(formatPanel); + formatPanel.setAlignmentX(Component.LEFT_ALIGNMENT); + northPanel.add(new JLabel("Title:")); + final JTextField titleField = new JTextField(); + titleField.setAlignmentX(Component.LEFT_ALIGNMENT); + northPanel.add(titleField); + northPanel.add(Box.createRigidArea(new Dimension(0, 8))); + northPanel.add(new JLabel("Description:")); + contentPane.add(northPanel, BorderLayout.NORTH); + contentPane.add(Box.createRigidArea(new Dimension(8, 0)), BorderLayout.WEST); + final JTextArea descArea = new JTextArea(); + contentPane.add(descArea, BorderLayout.CENTER); + contentPane.add(Box.createRigidArea(new Dimension(8, 0)), BorderLayout.EAST); + JPanel southPanel = new JPanel(); + southPanel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8)); + southPanel.setLayout(new BoxLayout(southPanel, BoxLayout.X_AXIS)); + final JProgressBar progressBar = new JProgressBar(); + southPanel.add(progressBar); + southPanel.add(Box.createRigidArea(new Dimension(8, 0))); + final JCheckBox matureBox = new JCheckBox("Mature Content"); + southPanel.add(matureBox); + southPanel.add(Box.createRigidArea(new Dimension(8, 0))); + final JButton cancelButton = new JButton("Cancel"); + cancelButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + uploadDialog.setVisible(false); + } + }); + final JButton uploadButton = new JButton("Upload"); + uploadButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + Thread saveThread = new Thread("SaveThread") { + public void run() { + try { + String title = titleField.getText().trim(); + if(title.isEmpty()) { + JOptionPane.showMessageDialog(uploadDialog, "Title cannot be empty!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + String description = descArea.getText().trim(); + if(description.isEmpty()) { + JOptionPane.showMessageDialog(uploadDialog, "Description cannot be empty!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + + uploadButton.setEnabled(false); + jpegButton.setEnabled(false); + pngButton.setEnabled(false); + titleField.setEnabled(false); + descArea.setEnabled(false); + matureBox.setEnabled(false); + + BufferedImage argbImage = editor.getImage().getSubimage(s.x, s.y, s.width, s.height); + BufferedImage rgbImage = new BufferedImage(s.width, s.height, BufferedImage.TYPE_INT_RGB); + Graphics g = rgbImage.getGraphics(); + g.drawImage(argbImage, 0, 0, editor.getCanvasBackground(), null); + + BufferedImage madeImage = ImageIO.read(UserInterface.class.getResource("images/madeinsketcher.png")); + g.drawImage(madeImage, s.width - madeImage.getWidth() - 2, 2, null); + + ByteArrayOutputStream imgbaos = new ByteArrayOutputStream(); + ImageIO.write(rgbImage, jpegButton.isSelected() ? "JPG" : "PNG", imgbaos); + byte[] imgarr = imgbaos.toByteArray(); + progressBar.setMaximum(imgarr.length); + + ByteArrayOutputStream hdrbaos = new ByteArrayOutputStream(); + DataOutputStream hdrdos = new DataOutputStream(hdrbaos); + hdrdos.writeUTF(client.getLogin()); + hdrdos.writeUTF(client.getPassword()); + hdrdos.writeUTF(title); + hdrdos.writeUTF(description); + hdrdos.writeBoolean(matureBox.isSelected()); + hdrdos.writeInt(imgarr.length); + byte[] hdrarr = hdrbaos.toByteArray(); + + int contentLength = hdrarr.length + imgarr.length; + + URL url = new URL("http://www.artgrounds.com/sketcher-upload/"); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setFixedLengthStreamingMode(contentLength); + conn.setDoOutput(true); + + OutputStream httpos = conn.getOutputStream(); + + httpos.write(hdrarr); + + for(int ofs = 0; ofs < imgarr.length; ofs += 1458) { + progressBar.setValue(ofs); + httpos.write(imgarr, ofs, Math.min(1458, imgarr.length - ofs)); + httpos.flush(); + } + progressBar.setValue(imgarr.length); + httpos.flush(); + httpos.close(); + + if(conn.getResponseCode() != HttpURLConnection.HTTP_OK) { + progressBar.setValue(0); + uploadButton.setEnabled(true); + jpegButton.setEnabled(true); + pngButton.setEnabled(true); + titleField.setEnabled(true); + descArea.setEnabled(true); + matureBox.setEnabled(true); + JOptionPane.showMessageDialog(uploadDialog, "Unable to upload image! (" + conn.getResponseCode() + " " + conn.getResponseMessage() + ")", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + + cancelButton.setText("Close"); + + JOptionPane.showMessageDialog(uploadDialog, "Upload completed!", "Information", JOptionPane.INFORMATION_MESSAGE); + } catch (Throwable t) { + progressBar.setValue(0); + uploadButton.setEnabled(true); + jpegButton.setEnabled(true); + pngButton.setEnabled(true); + titleField.setEnabled(true); + descArea.setEnabled(true); + matureBox.setEnabled(true); + JOptionPane.showMessageDialog(uploadDialog, "Unable to upload image! (" + t.getClass().getSimpleName() + " " + t.getMessage() + ")", "Error", JOptionPane.ERROR_MESSAGE); + Log.error(t); + } + } + }; + saveThread.setPriority(Thread.MIN_PRIORITY); + saveThread.start(); + } + }); + southPanel.add(uploadButton); + southPanel.add(cancelButton); + contentPane.add(southPanel, BorderLayout.SOUTH); + uploadDialog.setPreferredSize(new Dimension(512, 512)); + uploadDialog.pack(); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + uploadDialog.setLocation((screenSize.width - uploadDialog.getWidth()) / 2, (screenSize.height - uploadDialog.getHeight()) / 2); + uploadDialog.setVisible(true); + } + }); + fileMenu.add(uploadSelectItem); + + JMenu optMenu = new JMenu("Options"); + menuBar.add(optMenu); + + soundItem = new JCheckBoxMenuItem("Sounds", client.isSoundEnabled()); + soundItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + client.setSoundEnabled(((JCheckBoxMenuItem) e.getSource()).isSelected()); + } + }); + + optMenu.add(soundItem); + + tagsItem = new JCheckBoxMenuItem("Tags", editor.isTagsEnabled()); + tagsItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setTagsEnabled(((JCheckBoxMenuItem) e.getSource()).isSelected()); + editor.repaint(); + } + }); + + optMenu.add(tagsItem); + + JCheckBoxMenuItem voiceItem = new JCheckBoxMenuItem("Voice", client.isVoiceEnabled()); + voiceItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + client.getCommandQueue().offer(new CommandEntry(0, new VoiceCommand(((JCheckBoxMenuItem) e.getSource()).isSelected()))); + } + }); + + optMenu.add(voiceItem); + + JCheckBoxMenuItem swCursorItem = new JCheckBoxMenuItem("Software Cursor", editor.isSoftwareCursorEnabled()); + swCursorItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setSoftwareCursorEnabled(((JCheckBoxMenuItem) e.getSource()).isSelected()); + editor.setCursorType(Editor.CursorType.SOFTWARE); + } + }); + + optMenu.add(swCursorItem); + + + JMenuItem resetItem = new JMenuItem("Reset"); + resetItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + int confirm = JOptionPane.showConfirmDialog(UserInterface.this, "This will erase all your settings permanently. Continue?", "Confirm", JOptionPane.YES_NO_OPTION); + if(confirm != JOptionPane.OK_OPTION) { + return; + } + client.resetProps(); + } + }); + + optMenu.add(resetItem); + + filterMenu = new JMenu("Filters"); + filterMenu.setEnabled(false); + menuBar.add(filterMenu); + + JMenuItem blurItem = new JMenuItem("Blur"); + blurItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + final Rectangle select = editor.getSelect(); + if(select == null) { + JOptionPane.showMessageDialog(UserInterface.this, "You must select an area before you can blur anything!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + + final JDialog blurDialog = new JDialog(); + blurDialog.setTitle("Blur"); + blurDialog.setModal(true); + + Container contentPane = blurDialog.getContentPane(); + contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.X_AXIS)); + + contentPane.add(new JLabel("Size: ")); + final SpinnerNumberModel sizeModel = new SpinnerNumberModel(5, 0.5, 50, 0.5); + JSpinner sizeSpin = new JSpinner(sizeModel); + contentPane.add(sizeSpin); + JButton okButton = new JButton("OK"); + okButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + blurDialog.setVisible(false); + editor.requestFocusInWindow(); + client.getCommandQueue().offer(new CommandEntry(0, new FilterCommand(new BlurFilter(), select.x, select.y, select.width, select.height, ((Double) sizeModel.getValue()).floatValue(), 0f, 0f))); + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + } + }); + contentPane.add(okButton); + JButton cancelButton = new JButton("Cancel"); + cancelButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.requestFocusInWindow(); + blurDialog.setVisible(false); + } + }); + contentPane.add(cancelButton); + blurDialog.pack(); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + blurDialog.setLocation((screenSize.width - blurDialog.getWidth()) / 2, (screenSize.height - blurDialog.getHeight()) / 2); + blurDialog.setVisible(true); + } + }); + filterMenu.add(blurItem); + + JMenuItem autoContrastItem = new JMenuItem("Auto Contrast"); + autoContrastItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + final Rectangle select = editor.getSelect(); + if(select == null) { + JOptionPane.showMessageDialog(UserInterface.this, "You must select an area before you can correct its contrast!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + + client.getCommandQueue().offer(new CommandEntry(0, new FilterCommand(new AutoContrastFilter(), select.x, select.y, select.width, select.height, 0.05f, 0.05f, 0.05f))); + client.getCommandQueue().offer(new CommandEntry(0, new MergeCommand())); + } + }); + filterMenu.add(autoContrastItem); + + menuBar.add(Box.createHorizontalGlue()); + + JMenu helpMenu = new JMenu("Help"); + menuBar.add(helpMenu); + + JMenuItem aboutItem = new JMenuItem("About"); + aboutItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + final JDialog aboutDialog = new JDialog(); + aboutDialog.setTitle("About Sketcher\u2122"); + aboutDialog.setResizable(false); + aboutDialog.setModal(true); + Container contentPane = aboutDialog.getContentPane(); + contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS)); + JLabel label = new JLabel(new ImageIcon(getClass().getResource("images/about.png"))); + label.addMouseListener(new MouseListener() { + public void mouseClicked(MouseEvent e) { + aboutDialog.setVisible(false); + } + + public void mouseEntered(MouseEvent e) { } + public void mouseExited(MouseEvent e) { } + public void mousePressed(MouseEvent e) { } + public void mouseReleased(MouseEvent e) { } + }); + contentPane.add(label); + aboutDialog.pack(); + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + aboutDialog.setLocation((screenSize.width - aboutDialog.getWidth()) / 2, (screenSize.height - aboutDialog.getHeight()) / 2); + aboutDialog.setVisible(true); + } + }); + helpMenu.add(aboutItem); + + JLabel copyright = new JLabel(new ImageIcon(UserInterface.class.getResource("images/sketcherlogo.png"))); + copyright.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); + copyright.setAlignmentX(Component.LEFT_ALIGNMENT); + copyright.setHorizontalAlignment(SwingConstants.CENTER); + copyright.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE)); + copyright.addMouseListener(new MouseListener() { + public void mouseClicked(MouseEvent e) { + try { + Class desktopClass = Class.forName("java.awt.Desktop"); + if((Boolean) desktopClass.getMethod("isDesktopSupported").invoke(null)) { // Desktop.isDesktopSupported() + Object desktop = desktopClass.getMethod("getDesktop").invoke(null); // Desktop.getDesktop() + Class actionClass = Class.forName("java.awt.Desktop$Action"); + if((Boolean) desktopClass.getMethod("isSupported", actionClass).invoke(desktop, actionClass.getField("BROWSE").get(null))) { // desktop.isSupported(java.awt.Desktop.Action.BROWSE) + desktopClass.getMethod("browse", URI.class).invoke(desktop, new URI("http://sketcher.artgrounds.com/")); // desktop.browse(uri); + return; + } + } + } catch(Throwable t) { } + + JOptionPane.showMessageDialog(UserInterface.this, "Visit sketcher.artgrounds.com for more information about Sketcher!"); + } + + public void mouseEntered(MouseEvent e) { } + public void mouseExited(MouseEvent e) { } + public void mousePressed(MouseEvent e) { } + public void mouseReleased(MouseEvent e) { } + }); + rightPanel.add(copyright); + + mainGroup = new JCollapsiblePanelGroup(); + + /** Set up view panel */ + JCollapsiblePanel viewPanel = new JCollapsiblePanel(100, "Canvas", false, false); + viewPanel.setGroup(mainGroup); + JPanel viewPanelContent = viewPanel.getContentPane(); + viewPanelContent.setLayout(new BoxLayout(viewPanelContent, BoxLayout.Y_AXIS)); + + /* Set up zoom panel */ + JPanel zoomPanel = new JPanel(); + zoomPanel.setLayout(new BoxLayout(zoomPanel, BoxLayout.X_AXIS)); + viewPanelContent.add(zoomPanel); + + zoomPanel.add(Box.createHorizontalGlue()); + + zoomLabel = new JLabel(new ImageIcon(UserInterface.class.getResource("images/zoom.png"))); + zoomLabel.setAlignmentY(Component.CENTER_ALIGNMENT); + zoomPanel.add(zoomLabel); + + zoomSpin = new JSpinner(new SpinnerNumberModel(100, 10, 800, 25)); + zoomSpin.setToolTipText("Zoom - grow or shrink the displayed canvas."); + zoomSpin.setAlignmentY(Component.CENTER_ALIGNMENT); + zoomPanel.add(zoomSpin); + + zoomSpin.getModel().addChangeListener(new ChangeListener() { + + public void stateChanged(ChangeEvent arg0) { + if(client.getCanvas() != null) { + try { + int newZoom = (Integer)zoomSpin.getValue(); + + if(newZoom > 0 && newZoom <= 800) { + /* Fetch scrollbars */ + JScrollBar v = editorPane.getHorizontalScrollBar(); + JScrollBar h = editorPane.getVerticalScrollBar(); + + /* Fetch fractions */ + float hf = (float)h.getValue() / (float)h.getMaximum(); + float vf = (float)v.getValue() / (float)v.getMaximum(); + float hvis = (float)h.getVisibleAmount() / (float)h.getMaximum(); + float vvis = (float)v.getVisibleAmount() / (float)v.getMaximum(); + + /* Change zoom */ + editor.setZoom(newZoom / 100f); + editor.repaint(); + + /* Apply old fractions to new viewport */ + float nhvis = (float)h.getVisibleAmount() / (float)h.getMaximum(); + float nvvis = (float)v.getVisibleAmount() / (float)v.getMaximum(); + h.setValue((int)((hf + (hvis - nhvis) / 2) * h.getMaximum())); + v.setValue((int)((vf + (vvis - nvvis) / 2) * v.getMaximum())); + } + } catch(NumberFormatException e) { + /** Ignore bad numbers */ + } + } + } + + }); + + /** Smooth zoom box */ + smoothBox = new JCheckBox("Smoothly"); + smoothBox.setToolTipText("Display the canvas smoothly for zoom settings not divisble by 100. Somewhat computing intensive."); + smoothBox.setAlignmentY(Component.CENTER_ALIGNMENT); + smoothBox.setHorizontalAlignment(JCheckBox.CENTER); + smoothBox.setSelected(smoothZoom); + zoomPanel.add(smoothBox); + + smoothBox.addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent arg0) { + smoothZoom = smoothBox.isSelected(); + editor.setSmoothZoom(smoothZoom); + editor.repaint(); + } + + }); + + zoomPanel.add(Box.createHorizontalGlue()); + + /* Background brightness */ + final JSlider backgroundSlider = new JSlider(0, 255, 255); + backgroundSlider.setToolTipText("Background brightness - adjust the background brightness to see layer transparency."); + backgroundSlider.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!backgroundSlider.getModel().getValueIsAdjusting()) { + int brightness = backgroundSlider.getValue(); + editor.setCanvasBackground(new Color(brightness, brightness, brightness)); + editor.repaint(); + } + } + }); + viewPanelContent.add(backgroundSlider); + + rightPanel.add(viewPanel); + + + /** Create Tools panel, add to right panel */ + JCollapsiblePanel toolsPanel = new JCollapsiblePanel(150, "Tools", true, true); + toolsPanel.setGroup(mainGroup); + rightPanel.add(toolsPanel); + JPanel toolsPane = toolsPanel.getContentPane(); + toolsPane.setLayout(new BoxLayout(toolsPane, BoxLayout.X_AXIS)); + + /** Make group for buttons */ + ButtonGroup toolButtonGroup = new ButtonGroup(); + + toolsPane.add(Box.createHorizontalGlue()); + + selectButton = new JToggleButton(loadImageIcon("select.png")); + selectButton.setToolTipText("Select"); + selectButton.setMargin(UserInterface.NO_INSETS); + selectButton.setMinimumSize(new Dimension(32, 32)); + selectButton.setPreferredSize(new Dimension(32, 32)); + selectButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setState(Editor.State.SELECT_HOVER); + updatePanels(); + } + }); + toolsPane.add(selectButton); + toolButtonGroup.add(selectButton); + + moveButton = new JToggleButton(loadImageIcon("move.png")); + moveButton.setToolTipText("Duplicate"); + moveButton.setMargin(UserInterface.NO_INSETS); + moveButton.setMinimumSize(new Dimension(32, 32)); + moveButton.setPreferredSize(new Dimension(32, 32)); + moveButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setState(Editor.State.MOVE_HOVER); + updatePanels(); + } + }); + toolsPane.add(moveButton); + toolButtonGroup.add(moveButton); + + freehandButton = new JToggleButton(loadImageIcon("freehand.png")); + freehandButton.setSelected(true); + freehandButton.setToolTipText("Freehand"); + freehandButton.setMargin(UserInterface.NO_INSETS); + freehandButton.setMinimumSize(new Dimension(32, 32)); + freehandButton.setPreferredSize(new Dimension(32, 32)); + freehandButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setState(Editor.State.DRAW_HOVER); + updatePanels(); + } + }); + toolsPane.add(freehandButton); + toolButtonGroup.add(freehandButton); + + lineButton = new JToggleButton(loadImageIcon("line.png")); + lineButton.setToolTipText("Line"); + lineButton.setMargin(UserInterface.NO_INSETS); + lineButton.setMinimumSize(new Dimension(32, 32)); + lineButton.setPreferredSize(new Dimension(32, 32)); + lineButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setState(Editor.State.LINE_HOVER); + updatePanels(); + } + }); + toolsPane.add(lineButton); + toolButtonGroup.add(lineButton); + + bezierButton = new JToggleButton(loadImageIcon("bezier.png")); + bezierButton.setToolTipText("Bezier"); + bezierButton.setMargin(UserInterface.NO_INSETS); + bezierButton.setMinimumSize(new Dimension(32, 32)); + bezierButton.setPreferredSize(new Dimension(32, 32)); + bezierButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setState(Editor.State.BEZIER_HOVER); + updatePanels(); + } + }); + toolsPane.add(bezierButton); + toolButtonGroup.add(bezierButton); + + rectangleButton = new JToggleButton(loadImageIcon("rectangle.png")); + rectangleButton.setToolTipText("Rectangle"); + rectangleButton.setMargin(UserInterface.NO_INSETS); + rectangleButton.setMinimumSize(new Dimension(32, 32)); + rectangleButton.setPreferredSize(new Dimension(32, 32)); + rectangleButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setState(Editor.State.RECT_HOVER); + updatePanels(); + } + }); + toolsPane.add(rectangleButton); + toolButtonGroup.add(rectangleButton); + + ovalButton = new JToggleButton(loadImageIcon("oval.png")); + ovalButton.setToolTipText("Oval"); + ovalButton.setMargin(UserInterface.NO_INSETS); + ovalButton.setMinimumSize(new Dimension(32, 32)); + ovalButton.setPreferredSize(new Dimension(32, 32)); + ovalButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editor.setState(Editor.State.OVAL_HOVER); + updatePanels(); + } + }); + toolsPane.add(ovalButton); + toolButtonGroup.add(ovalButton); + + toolsPane.add(Box.createHorizontalGlue()); + + /** Create Brushes panel, add to right panel */ + brushPanel = new JCollapsiblePanel(200, "Brushes", true, true); + brushPanel.setGroup(mainGroup); + rightPanel.add(brushPanel); + JPanel brushesPane = brushPanel.getContentPane(); + brushesPane.setLayout(new BoxLayout(brushesPane, BoxLayout.X_AXIS)); + + /** Make group for buttons */ + ButtonGroup brushButtonGroup = new ButtonGroup(); + + /** Make, add and group brush buttons */ + brushButtons = new BrushButton[client.brushes.length]; + + brushesPane.add(Box.createHorizontalGlue()); + + for(int i = 0; i < brushButtons.length; i++) { + BrushButton b = new BrushButton(this, client.brushes, brushIcons, i); + brushesPane.add(b); + brushButtonGroup.add(b); + brushButtons[i] = b; + } + + brushesPane.add(Box.createHorizontalGlue()); + + /** BRUSH panel */ + TableLayout brushTabLayout = new TableLayout(new double[][] {{0, -2, -1, -2, 0}, {-2, -2, -2, -2, -2, -2, -2, -2, -2}}); + brushSettingsPanel = new JCollapsiblePanel(300, "Brush settings", false, false); + brushSettingsPanel.setGroup(mainGroup); + JPanel brushTab = brushSettingsPanel.getContentPane(); + brushTab.setLayout(brushTabLayout); + brushTab.setAlignmentX(Component.LEFT_ALIGNMENT); + rightPanel.add(brushSettingsPanel); + + /** HARDNESS */ + brushTab.add(new JLabel(loadImageIcon("hardness.png")), "1 0 r c"); + hardnessSlider = new JSlider(1, 12, 1); + hardnessSlider.setToolTipText("Hardness - controls the crispness of the brush."); + hardnessSlider.setSnapToTicks(true); + brushTab.add(hardnessSlider, "2 0 2 0"); + hardnessSlider.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!hardnessSlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setHardness(hardnessSlider.getValue()); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + }); + + /** SIZE */ + brushTab.add(new JLabel(loadImageIcon("size.png")), "1 1 r c"); + sizeSlider = new JSlider(1, 1008, 1); + sizeSlider.setToolTipText("Size - controls the diameter of the brush."); + brushTab.add(sizeSlider, "2 1 2 1"); + sizeSlider.addChangeListener(new ChangeListener() { + + public void stateChanged(ChangeEvent arg0) { + if(!sizeSlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setRadius(sizeSlider.getValue() / 8f); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + }); + + /** OPACITY */ + brushTab.add(new JLabel(loadImageIcon("opacity.png")), "1 2 r c"); + opacitySlider = new JSlider(-255, 255, 0); + opacitySlider.setMajorTickSpacing(255); + opacitySlider.setPaintTicks(true); + opacitySlider.setToolTipText("Opacity - controls the opacity of the brush."); + brushTab.add(opacitySlider, "2 2 2 2"); + opacitySlider.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!opacitySlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + Brush b = client.getConnection().getUser().getBrush(); + b.setOpacity(opacitySlider.getValue()); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + }); + + /** FLOW */ + brushTab.add(new JLabel(loadImageIcon("flow.png")), "1 3 r c"); + flowSlider = new JSlider(0, 255, 0); + flowSlider.setToolTipText("Flow - controls the flow of the brush."); + brushTab.add(flowSlider, "2 3 2 3"); + flowSlider.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!flowSlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setFlow(flowSlider.getValue()); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + }); + + /** SPACING */ + brushTab.add(new JLabel(loadImageIcon("spacing.png")), "1 4 r c"); + spacingSlider = new JSlider(4, 100, 4); + spacingSlider.setToolTipText("Spacing - controls the density of the brush."); + brushTab.add(spacingSlider, "2 4 2 4"); + spacingSlider.addChangeListener(new ChangeListener() { + + public void stateChanged(ChangeEvent arg0) { + if(!spacingSlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setSpacing(spacingSlider.getValue() / 100f); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + + }); + + /** JITTER */ + brushTab.add(new JLabel(loadImageIcon("jitter.png")), "1 5 r c"); + jitterSlider = new JSlider(0, 400, 0); + jitterSlider.setToolTipText("Jitter - adds unpredictability to the position of the brush."); + brushTab.add(jitterSlider, "2 5 2 5"); + jitterSlider.addChangeListener(new ChangeListener() { + + public void stateChanged(ChangeEvent arg0) { + if(!jitterSlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setJitter(jitterSlider.getValue() / 100f); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + + }); + + /** NOISE */ + brushTab.add(new JLabel(loadImageIcon("noise.png")), "1 6 r c"); + noiseSlider = new JSlider(0, 255, 0); + noiseSlider.setToolTipText("Noise - adds grains to the brush."); + brushTab.add(noiseSlider, "2 6 2 6"); + noiseSlider.addChangeListener(new ChangeListener() { + + public void stateChanged(ChangeEvent arg0) { + if(!noiseSlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setNoise(noiseSlider.getValue()); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + + }); + + /** WATER */ + brushTab.add(new JLabel(loadImageIcon("water.png")), "1 7 r c"); + waterSlider = new JSlider(0, 255, 0); + waterSlider.setToolTipText("Watercolor - amount of color that is sampled and mixed with the current color."); + brushTab.add(waterSlider, "2 7 2 7"); + waterSlider.addChangeListener(new ChangeListener() { + + public void stateChanged(ChangeEvent arg0) { + if(!waterSlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setWater(waterSlider.getValue()); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + + }); + + /** WATER AREA */ + brushTab.add(new JLabel(loadImageIcon("waterarea.png")), "1 8 r c"); + waterAreaSlider = new JSlider(1, 100, 75); + waterAreaSlider.setToolTipText("Watercolor Pickup Area - size of color sampling area compared to the brush size."); + brushTab.add(waterAreaSlider, "2 8 2 8"); + waterAreaSlider.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!waterSlider.getModel().getValueIsAdjusting() && !brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setWaterArea(waterAreaSlider.getValue() / 100f); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + }); + + /** Pressure-to-Radius box */ + radiusBox = new JCheckBox(); + radiusBox.setToolTipText("Pressure to Size - vary brush size with pen pressure"); + radiusBox.setEnabled(false); + brushTab.add(radiusBox, "3 1 c c"); + + radiusBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + if(!brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setPressureToRadius(radiusBox.isSelected()); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + }); + + /** Pressure-to-Opacity box */ + opacityBox = new JCheckBox(); + opacityBox.setToolTipText("Pressure to Opacity - vary brush opacity with pen pressure"); + opacityBox.setEnabled(false); + brushTab.add(opacityBox, "3 2 c c"); + + opacityBox.addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent arg0) { + if(!brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setPressureToOpacity(opacityBox.isSelected()); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + + }); + + /** Pressure-to-Flow box */ + flowBox = new JCheckBox(); + flowBox.setToolTipText("Pressure to Flow - vary brush flow with pen pressure"); + opacityBox.setEnabled(false); + flowBox.setEnabled(false); + brushTab.add(flowBox, "3 3 c c"); + + flowBox.addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent arg0) { + if(!brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + client.getConnection().getUser().getBrush().setPressureToFlow(flowBox.isSelected()); + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + + }); + + /** Lock Transparency box */ + lockTransBox = new JCheckBox(); + lockTransBox.setToolTipText("Lock Transparency - alter colors while simultaneously preserving underlying shapes"); + brushTab.add(lockTransBox, "3 0 c c"); + + lockTransBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + if(!brushAdjusting && client.getConnection().getUser() != null && client.getConnection().getUser().getBrush() != null) { + Brush b = client.getConnection().getUser().getBrush(); + b.setLockTransparency(lockTransBox.isSelected()); + Layer l = client.getConnection().getUser().getPhantomLayer(); + if(lockTransBox.isSelected()) { + l.setAlphaRule(AlphaComposite.SRC_ATOP); + } else if(b.getOpacity() >= 0) { + l.setAlphaRule(AlphaComposite.SRC_OVER); + } else { + l.setAlphaRule(AlphaComposite.DST_OUT); + } + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SetBrushCommand(client.getConnection().getUser().getBrush()))); + } + } + }); + + /* Layers tab */ + final JCollapsiblePanel layersPanel = new JCollapsiblePanel(400, "Layers", true, true); + layersPanel.setGroup(mainGroup); + JPanel layersTab = layersPanel.getContentPane(); + + TableLayout layersTabLayout = new TableLayout(new double[][] {{-1, -2}, {-2, -2, -1}}); + layersTabLayout.setHGap(4); + layersTabLayout.setVGap(4); + layersTab.setLayout(layersTabLayout); + rightPanel.add(layersPanel); + + layerList = new JList(); + + layersTab.add(layerList, "0 0 0 2"); + + JButton addLayerButton = new JButton("Add"); + addLayerButton.setToolTipText("Adds a new layer to the canvas. Prompts you for a name first. Layers are visible to all users."); + addLayerButton.setMargin(NO_INSETS); + layersTab.add(addLayerButton, "1 0"); + addLayerButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + String layerName = JOptionPane.showInputDialog("Name of new layer:"); + if(layerName == null) { + return; + } + + layerName = layerName.trim(); + + if(layerName.length() == 0) { + return; + } + + client.getConnection().getSendQueue().offer(new CommandEntry(0, new CreateLayerCommand(0, LayerType.BITMAP, layerName))); + } + + }); + + JButton remLayerButton = new JButton("Remove"); + remLayerButton.setToolTipText("Removes the currently selected layer from the canvas. Prompts you for confirmation first."); + remLayerButton.setMargin(NO_INSETS); + layersTab.add(remLayerButton, "1 1"); + remLayerButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + if(client.getConnection().getUser() == null || client.getConnection().getUser().getLayer() == null) { + return; + } + + Layer layer = client.getConnection().getUser().getLayer(); + + int confirm = JOptionPane.showConfirmDialog(UserInterface.this, "Really remove layer " + layer.getName() + "?", "Confirm", JOptionPane.YES_NO_OPTION); + if(confirm != JOptionPane.OK_OPTION) { + return; + } + + if(!layer.isEmpty()) { + confirm = JOptionPane.showConfirmDialog(UserInterface.this, "Layer " + layer.getName() + " is not empty! Are you absolutely sure?", "Confirm", JOptionPane.YES_NO_OPTION); + if(confirm != JOptionPane.OK_OPTION) { + return; + } + } + + client.getConnection().getSendQueue().offer(new CommandEntry(0, new DeleteLayerCommand(client.getCanvas().getLayerMap().getKeyForValue(layer)))); + } + }); + + /** Color tab */ + colorPanel = new JCollapsiblePanel(500, "Color", false, false); + colorPanel.setGroup(mainGroup); + JPanel colorTab = colorPanel.getContentPane(); + colorTab.setLayout(new BorderLayout()); + rightPanel.add(colorPanel); + + /** Color space tabs */ + JTabbedPane colorSpaceTabs = new JTabbedPane(JTabbedPane.TOP); + colorTab.add(colorSpaceTabs, BorderLayout.CENTER); + + /** RGB tab */ + JPanel rgbTab = new JPanel(); + colorSpaceTabs.addTab(null, loadImageIcon("rgb.png"), rgbTab, "RGB - picks colors with red, green, and blue sliders."); + rgbTab.setLayout(new TableLayout(new double[][] {{TableLayout.PREFERRED, TableLayout.FILL}, {TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL}})); + + ChangeListener rgbChangeListener = new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!colorAdjusting) { + int color = Pixels.pack(redSlider.getValue(), greenSlider.getValue(), blueSlider.getValue()) & 0xFFFFFF; + if(!((JSlider) arg0.getSource()).getModel().getValueIsAdjusting()) { + client.getCommandQueue().offer(new CommandEntry(0, new SetColorCommand(color))); + setCMYSliders(color); + setHSBSliders(color); + } + rgbColor.setBackground(new Color(color)); + } + } + }; + + rgbTab.add(new JLabel(loadImageIcon("red.png")), "0 0 r c"); + redSlider = new JSlider(0, 255, 0); + redSlider.setToolTipText("Red"); + rgbTab.add(redSlider, "1 0 1 0"); + redSlider.addChangeListener(rgbChangeListener); + + rgbTab.add(new JLabel(loadImageIcon("green.png")), "0 1 r c"); + greenSlider = new JSlider(0, 255, 0); + greenSlider.setToolTipText("Green"); + rgbTab.add(greenSlider, "1 1 1 1"); + greenSlider.addChangeListener(rgbChangeListener); + + rgbTab.add(new JLabel(loadImageIcon("blue.png")), "0 2 r c"); + blueSlider = new JSlider(0, 255, 0); + blueSlider.setToolTipText("Blue"); + rgbTab.add(blueSlider, "1 2 1 2"); + blueSlider.addChangeListener(rgbChangeListener); + + rgbColor = new JPanel(); + rgbColor.setBackground(Color.BLACK); + rgbTab.add(rgbColor, "0 3 1 3"); + + /** CMY tab */ + JPanel cmyTab = new JPanel(); + cmyTab.setLayout(new TableLayout(new double[][] {{TableLayout.PREFERRED, TableLayout.FILL}, {TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL}})); + colorSpaceTabs.addTab(null, loadImageIcon("cmy.png"), cmyTab, "CMY - picks colors with cyan, magenta and yellow sliders."); + + ChangeListener cmyChangeListener = new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!colorAdjusting) { + int color = Pixels.pack(255 - cyanSlider.getValue(), 255 - magentaSlider.getValue(), 255 - yellowSlider.getValue()) & 0xFFFFFF; + if(!((JSlider) arg0.getSource()).getModel().getValueIsAdjusting()) { + client.getCommandQueue().offer(new CommandEntry(0, new SetColorCommand(color))); + setRGBSliders(color); + setHSBSliders(color); + } + cmyColor.setBackground(new Color(color)); + } + } + }; + + cmyTab.add(new JLabel(loadImageIcon("cyan.png")), "0 0 r c"); + cyanSlider = new JSlider(0, 255, 255); + cyanSlider.setToolTipText("Cyan"); + cmyTab.add(cyanSlider, "1 0 1 0"); + cyanSlider.addChangeListener(cmyChangeListener); + + cmyTab.add(new JLabel(loadImageIcon("magenta.png")), "0 1 r c"); + magentaSlider = new JSlider(0, 255, 255); + magentaSlider.setToolTipText("Magenta"); + cmyTab.add(magentaSlider, "1 1 1 1"); + magentaSlider.addChangeListener(cmyChangeListener); + + cmyTab.add(new JLabel(loadImageIcon("yellow.png")), "0 2 r c"); + yellowSlider = new JSlider(0, 255, 255); + yellowSlider.setToolTipText("Yellow"); + cmyTab.add(yellowSlider, "1 2 1 2"); + yellowSlider.addChangeListener(cmyChangeListener); + + cmyColor = new JPanel(); + cmyColor.setBackground(Color.BLACK); + cmyTab.add(cmyColor, "0 3 1 3"); + + /** HSB tab */ + JPanel hsbTab = new JPanel(); + hsbTab.setLayout(new TableLayout(new double[][] {{TableLayout.PREFERRED, TableLayout.FILL}, {TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL}})); + colorSpaceTabs.addTab(null, loadImageIcon("hsb.png"), hsbTab, "HSB - picks colors with hue, saturation, and brightness sliders."); + + /** HSB change listener */ + ChangeListener hsbChangeListener = new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!colorAdjusting) { + int color = Color.HSBtoRGB(hueSlider.getValue() / 256f, satSlider.getValue() / 256f, brightSlider.getValue() / 256f) & 0xFFFFFF; + if(!((JSlider) arg0.getSource()).getModel().getValueIsAdjusting()) { + client.getCommandQueue().offer(new CommandEntry(0, new SetColorCommand(color))); + setRGBSliders(color); + setCMYSliders(color); + } + hsbColor.setBackground(new Color(color)); + } + } + }; + + hsbTab.add(new JLabel(new ImageIcon(getClass().getResource("images/hue.png"))), "0 0 r c"); + hueSlider = new JSlider(0, 256, 0); + hueSlider.setToolTipText("Hue - basic color"); + hsbTab.add(hueSlider, "1 0 1 0"); + hueSlider.addChangeListener(hsbChangeListener); + + hsbTab.add(new JLabel(new ImageIcon(getClass().getResource( + "images/saturation.png"))), "0 1 r c"); + satSlider = new JSlider(0, 256, 0); + satSlider.setToolTipText("Saturation - color amount"); + hsbTab.add(satSlider, "1 1 1 1"); + satSlider.addChangeListener(hsbChangeListener); + + hsbTab.add(new JLabel(new ImageIcon(getClass().getResource( + "images/brightness.png"))), "0 2 r c"); + brightSlider = new JSlider(0, 256, 0); + brightSlider.setToolTipText("Brightness"); + hsbTab.add(brightSlider, "1 2 1 2"); + brightSlider.addChangeListener(hsbChangeListener); + + hsbColor = new JPanel(); + hsbColor.setBackground(Color.BLACK); + hsbTab.add(hsbColor, "0 3 1 3"); + + inputPanel = new JCollapsiblePanel(600, "Input", false, false); + inputPanel.setGroup(mainGroup); + rightPanel.add(inputPanel); + JPanel smoothPanelContent = inputPanel.getContentPane(); + smoothPanelContent.setLayout(new TableLayout(new double[][] {{TableLayout.PREFERRED, TableLayout.FILL}, {TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED}})); + + JLabel jtabletLabel = new JLabel(); + jtabletLabel.setBackground(Color.BLUE); + jtabletLabel.setHorizontalAlignment(SwingConstants.CENTER); + if(editor.hasJTablet()) { + jtabletLabel.setText("JTablet detected!"); + jtabletLabel.setForeground(new Color(0, 160, 0)); + } else { + jtabletLabel.setText("JTablet NOT detected!"); + jtabletLabel.setForeground(Color.RED); + } + smoothPanelContent.add(jtabletLabel, "0 0 1 0"); + + smoothPanelContent.add(new JLabel(loadImageIcon("trailing.png")), "0 1 r c"); + final JSlider smoothSlider = new JSlider(0, 100, 15); + smoothSlider.setToolTipText("Cursor Trailing - aids the unsteady hand in drawing sweeping curves."); + smoothPanelContent.add(smoothSlider, "1 1"); + smoothSlider.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent arg0) { + if(!smoothSlider.getModel().getValueIsAdjusting()) { + Smoother.setSmoothness(smoothSlider.getValue() / 10f); + } + } + }); + + final JCheckBox curveSmoothBox = new JCheckBox("Curve Interpolation"); + curveSmoothBox.setToolTipText("Analyzes cursor motion and smooths segmented lines into curves."); + curveSmoothBox.setSelected(true); + smoothPanelContent.add(curveSmoothBox, "0 2 1 2"); + + curveSmoothBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + Smoother.setEnabled(curveSmoothBox.isSelected()); + } + }); + + /** Create user list panel */ + JCollapsiblePanel userListPanel = new JCollapsiblePanel(700, "Users", true, true); + userListPanel.setGroup(mainGroup); + final JPanel userListContent = userListPanel.getContentPane(); + userListContent.setLayout(new BorderLayout()); + rightPanel.add(userListPanel); + + userList = new JUserList(client.getUserMap()); + userListContent.add(userList, BorderLayout.CENTER); + + /** Create chat panel */ + JCollapsiblePanel chatPanel = new JCollapsiblePanel(800, "Chat", true, true); + chatPanel.setGroup(mainGroup); + JPanel chatContent = chatPanel.getContentPane(); + chatContent.setLayout(new BorderLayout()); + rightPanel.add(chatPanel); + + /** Create chat scroll pane, add to chat panel */ + chatPane = new JScrollPane(); + ComponentListener chatPaneListener = new ComponentListener() { + public void componentHidden(ComponentEvent arg0) { + } + + public void componentMoved(ComponentEvent arg0) { + } + + public void componentResized(ComponentEvent arg0) { + scroll(); + } + + public void componentShown(ComponentEvent arg0) { + } + }; + chatPane.addComponentListener(chatPaneListener); + chatContent.add(chatPane, BorderLayout.CENTER); + + /** Create chat log, add to chat pane */ + chatLog = new JTextArea(); + chatPane.setViewportView(chatLog); + + chatLog.setCursor(new Cursor(Cursor.TEXT_CURSOR)); + chatLog.setEditable(false); + chatLog.setLineWrap(true); + chatLog.setWrapStyleWord(true); + chatLog.getCaret().setVisible(false); + chatLog.setText("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); + + /** Create chat field, add to chat panel */ + chatField = new JTextField(); + chatContent.add(chatField, BorderLayout.SOUTH); + chatField.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + String input = chatField.getText(); + + if(client.getConnection().getUser() == null) { + return; + } + + String username = client.getConnection().getUser() == null ? null : client.getConnection().getUser().getName(); + if(input.startsWith("*") && input.endsWith("*")) { + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SayCommand(" " + input.substring(1, input.length() - 1), true))); + } else if(input.startsWith(username)) { + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SayCommand(input.substring(username.length()), true))); + } else if(input.startsWith("/me")) { + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SayCommand(input.substring(3), true))); + } else if(input.startsWith("/kick ")) { + String kickUsername = input.substring(6); + boolean kicked = false; + for(Map.Entry e: client.getUserMap().entrySet()) { + if(kickUsername.equalsIgnoreCase(e.getValue().getName())) { + client.getConnection().getSendQueue().offer(new CommandEntry(0, new KickCommand(e.getKey(), "Kicked by " + username))); + kicked = true; + break; + } + } + + if(!kicked) { + println("The user you are trying to kick doesn't exist."); + } + } else if("/brush".equals(input)) { + Brush brush = client.getConnection().getUser().getBrush(); + if(brush != null) { + println("/*"); + println(" Hardness: " + brush.getHardness()); + println(" Size: " + brush.getRadius()); + println(" Opacity: " + brush.getFlow()); + println(" Spacing: " + brush.getSpacing()); + println(" Jitter: " + brush.getJitter()); + println(" Noise: " + brush.getNoise()); + println(" Water: " + brush.getWater()); + println(" WaterArea: " + brush.getWaterArea()); + println(" PressuteToOpacity: " + brush.isPressureToOpacity()); + println(" PressureToFlow: " + brush.isPressureToFlow()); + println(" PressureToSize: " + brush.isPressureToRadius()); + println("*/"); + } + } else if(!input.trim().isEmpty()) { + client.getConnection().getSendQueue().offer(new CommandEntry(0, new SayCommand(input, false))); + } + + chatField.setText(null); + } + + }); + + /** Adjust size of editor */ + editor.adjust(); + + if(editor.hasJTablet()) { + opacityBox.setEnabled(true); + flowBox.setEnabled(true); + radiusBox.setEnabled(true); + } + + validate(); + + scroll(); + } + + ImageIcon loadImageIcon(String filename) { + return new ImageIcon(getClass().getResource("images/" + filename)); + } + + private void updatePanels() { + boolean hasBrush = freehandButton.isSelected() || lineButton.isSelected() || bezierButton.isSelected() || rectangleButton.isSelected() || ovalButton.isSelected(); + brushPanel.setVisible(hasBrush); + brushSettingsPanel.setVisible(hasBrush); + colorPanel.setVisible(hasBrush); + inputPanel.setVisible(hasBrush); + filterMenu.setEnabled(selectButton.isSelected()); + } + + public void updateBrushSliders() { + if(client.getConnection() == null || client.getConnection().getUser() == null || client.getConnection().getUser().getBrush() == null) { + return; + } + + Brush brush = client.getConnection().getUser().getBrush(); + + brushAdjusting = true; + + for(int i = 0; i < client.brushes.length; i++) { + brushButtons[i].setSelected(brush == client.brushes[i]); + } + + hardnessSlider.setValue(brush.getHardness()); + sizeSlider.setValue(Math.round(brush.getRadius() * 8f)); + opacitySlider.setValue(brush.getOpacity()); + flowSlider.setValue(brush.getFlow()); + spacingSlider.setValue(Math.round(brush.getSpacing() * 100f)); + jitterSlider.setValue(Math.round(brush.getJitter() * 100f)); + noiseSlider.setValue(brush.getNoise()); + waterSlider.setValue(brush.getWater()); + waterAreaSlider.setValue(Math.round(brush.getWaterArea() * 100f)); + opacityBox.setSelected(brush.isPressureToOpacity()); + flowBox.setSelected(brush.isPressureToFlow()); + radiusBox.setSelected(brush.isPressureToRadius()); + lockTransBox.setSelected(brush.isLockTransparency()); + + brushAdjusting = false; + } + + public void setColorSliders(int color) { + setRGBSliders(color); + setCMYSliders(color); + setHSBSliders(color); + } + + public void setRGBSliders(int color) { + rgbColor.setBackground(new Color(color)); + + colorAdjusting = true; + redSlider.setValue(Pixels.getChannel1(color)); + greenSlider.setValue(Pixels.getChannel2(color)); + blueSlider.setValue(Pixels.getChannel3(color)); + colorAdjusting = false; + } + + public void setHSBSliders(int color) { + hsbColor.setBackground(new Color(color)); + + float[] hsb = new float[3]; + Color.RGBtoHSB(Pixels.getChannel1(color), Pixels.getChannel2(color), Pixels.getChannel3(color), hsb); + + hsb[0] *= 256f; + hsb[1] *= 256f; + hsb[2] *= 256f; + + colorAdjusting = true; + hueSlider.setValue(Math.round(hsb[0])); + satSlider.setValue(Math.round(hsb[1])); + brightSlider.setValue(Math.round(hsb[2])); + colorAdjusting = false; + } + + public void setCMYSliders(int color) { + cmyColor.setBackground(new Color(color)); + + colorAdjusting = true; + cyanSlider.setValue(255 - Pixels.getChannel1(color)); + magentaSlider.setValue(255 - Pixels.getChannel2(color)); + yellowSlider.setValue(255 - Pixels.getChannel3(color)); + colorAdjusting = false; + } + + public void println(String str) { + print("\n" + str); + } + + public void print(final String str) { + Runnable swingWork = new Runnable() { + public void run() { + JScrollBar scrollBar = chatPane.getVerticalScrollBar(); + BoundedRangeModel scrollModel = scrollBar.getModel(); + boolean scroll = !scrollModel.getValueIsAdjusting() && scrollModel.getValue() == scrollModel.getMaximum() - scrollModel.getExtent(); + + chatLog.append(str); + + if(scroll) { + scroll(); + } + } + }; + + SwingUtilities.invokeLater(swingWork); + } + + public void scroll() { + chatPane.validate(); + BoundedRangeModel model = chatPane.getVerticalScrollBar().getModel(); + model.setValue(model.getMaximum() - model.getExtent()); + } + + public void setCanvas(final Canvas canvas) { + editor.setCanvas(canvas); + + canvas.getLayerMap().addChangeListener(new ChangeListener() { + @SuppressWarnings("unchecked") + public void stateChanged(ChangeEvent e) { + TwoWayHashMap map = (TwoWayHashMap)e.getSource(); + final Object[] array = map.values().toArray(); + + ListModel model = new AbstractListModel() { + public int getSize() { + return array.length; + } + + public Object getElementAt(int index) { + Layer l = (Layer)array[array.length - 1 - index]; + return l.getName(); + } + }; + + layerList.setModel(model); + layerList.invalidate(); + } + }); + + layerList.addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + if(layerAdjusting) { + return; + } + JList source = (JList)e.getSource(); + Object[] array = canvas.getLayerMap().keySet().toArray(); + if(source.getSelectedIndex() != -1) { + client.getCommandQueue().offer(new CommandEntry(0, new SetLayerCommand((Integer)array[array.length - 1 - source.getSelectedIndex()]))); + } + } + }); + } + + public Editor getEditor() { + return editor; + } + + public JScrollPane getEditorPane() { + return editorPane; + } + + public void setSmoothZoom(boolean smoothZoom) { + this.smoothZoom = smoothZoom; + smoothBox.setSelected(smoothZoom); + editor.setSmoothZoom(smoothZoom); + editor.repaint(); + } + + public boolean isSmoothZoom() { + return smoothZoom; + } + + public void setSoundItem(JCheckBoxMenuItem soundItem) { + this.soundItem = soundItem; + } + + public JCheckBoxMenuItem getSoundItem() { + return soundItem; + } + + public void setTagsItem(JCheckBoxMenuItem tagsItem) { + this.tagsItem = tagsItem; + } + + public JCheckBoxMenuItem getTagsItem() { + return tagsItem; + } + + public Set getToolPanels() { + return mainGroup; + } + + public JUserList getUserList() { + return userList; + } + + public void updateLayer() { + Layer currentLayer = client.getConnection().getUser().getLayer(); + Set> es = client.getCanvas().getLayerMap().entrySet(); + int index = es.size() - 1; + for(Map.Entry e : es) { + if(e.getValue() == currentLayer) { + break; + } + --index; + } + layerAdjusting = true; + layerList.setSelectedIndex(index); + layerAdjusting = false; + } + + public BrushButton[] getBrushButtons() { + return brushButtons; + } + + public class BrushButton extends JToggleButton { + public BrushButton(final UserInterface parent, final Brush[] brushArray, final Icon[] brushIconArray, final int brushIndex) { + super(); + setIcon(brushIconArray[brushIndex]); + setToolTipText(brushArray[brushIndex].getName()); + setMargin(UserInterface.NO_INSETS); + setMinimumSize(new Dimension(32, 32)); + setPreferredSize(new Dimension(32, 32)); + + addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + if(!parent.brushAdjusting) { + parent.client.getCommandQueue().offer(new CommandEntry(0, new SetBrushCommand(brushArray[brushIndex]))); + } + } + }); + } + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/client/audio/chat.wav b/src/com/jotuntech/sketcher/client/audio/chat.wav new file mode 100755 index 0000000000000000000000000000000000000000..e4272c24114f3a0f32ffd0f907d4f3fef926f8e9 GIT binary patch literal 12904 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 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/audio/intro.wav b/src/com/jotuntech/sketcher/client/audio/intro.wav new file mode 100755 index 0000000000000000000000000000000000000000..8667eb2b020cff176149d190a6e3021a4c5d0c66 GIT binary patch literal 132160 zcmeFZ{a+O2_Xj*PJG(pkG_y}UExXIIEU+Mu5t11hnGqQok&zLZ8JQxQ8JU?Gk&&6H znGqS8nVFfHk(u!^Gb181BQr81G$T`l-DTNb_F*3Gw|qXY`*r^Z_b*@1YnIuW+1c6i zKJRm#>zs30aZ5?bM4BS*zM=A_xeMzZdV(NG2=O#_q69$^dZOlm`Uhr{6b}5~zyH&~ z|7qa=H1K~K_&*K&|D^$vkfh5SMVygdk*<{5#RBmife{w*y|K#J-_aMMQ=*AcA{vVL zA{QbjBD*3BBRP?8BJ=r&$+OBd_6wued}myh`2phu{V02iP2-;6-sIllUgKWoo`*aK zd6sMBp5azbL^Y`W#&1L3va}va1PBUj>bD8bt6uh^Y1{11&#-P3H%=D4fF-h1kOVK3Y^1sKCmb7-N=3ZA>Uc=z1|Y3-8lTq3`Z%A#XY`qTW?#H7!I$K- z_^dvg&+bd{rTUycmoMFy3CZ$h`*M7_zAJp=eff|A-vr;)zKOm`zH5Eg`HFm{zK?yc z5C7sf1lZut;Q8QR!7qYqf)4~sgV#ZBz~AY?ir`(r%HZ9QnUH&eRgh}PeZg75`*H09 z!8ySPgEhg2f^#ABf)585;{9N7YxtaSg1)5r!|+dBIH4->frQm@_nRIx^l^i11N%7p z9y`G10IR3DHIP-@Q$TeAaQrWdvw`DfB<~wTa^@J4ca0%gK8ECNV@Q_%e~>KZipP+= z7Fb@xP2>u>3EWj&K6fQIp3CEMxp7=Jm&LicE4YPRlsm5PGJI`(&2*)Coq50cQ*(=X zvH2FW+pIT}=BO!bikNtlWFqj6G!y0#Qvyfs)BybacI zNASJi_aSv;0slTRQ_iZZ*?$a+%>TyK#GB&_;wbZH#-)ZD{mWdC-OMg#>)7Ymo$N2H zz@`GL3gBAc`8D%q^DE{R<~in@ z%-Lq6Su}Y}f1Ca=oihDu>M?bi?lE0&oTgu<^QrvuqvT=1932Tg5%|Era`+$L5ntH1 zU|1U7>Mt7kZloyidf-$*4A8+dfenF#z{-(szr{a)xDyQf-dpdz)@$){Ub8pdTjZUI z_v^gdfqN&A|IPb{_fJSK{{HSgh4(#U@*DPl$FW{-pZ5&x<8SXju!#$>j!Uo+55xzn z7=cxU;3F=KBL0d32=z<+&!w&Lr#dz37KBOqPBA5}HGkQbh z%h*9No_bXtWo+7$tjh4QvCH%TJmyUE-=-T(FBm%wI>STyli;tM`<8u+UCpjyUjqIg zvz_dpte=$wp;WN(3UKo>Kd%6$ZlLMltXvZCGjRrvH5_D%657c`GB}M_I-FoXj8yE5+0s3-0j;9)al`e zhJPC_^MCGFj}(uTk4zrXjvV&S^81EY4y%W^0PlY9Ti&_e>%1;+JP=RB-+b>>Z>6`^ zyTbdjx7EAT+vaWe9`<$s|E~YZci8{0eCxd|ojBX!Ju)VjuR97k208Bi5nH$Sg!d$@ zt%hDeT}|TzM|nh!7vu0x{Sy8KiLZvgpCv%?u34fh z;g0Ap8rqH5n^u}unW{`$({^L7agQO-@TtC7{~N~XJkG~{&2D4Yu}zS*>}%Nnm_5WE zV|(H8BP}9Kgk{9IDM`D zn7+`k-JmxvH})DQn4U9rz-Old?+SA@m|cUd3S;;rjMI8EZ#r)}WU4itG!7Yd>-C&P z*Q%vto{jV{~rNKhottH(We?+PB@;?Azh%@LljR!;aw`hyy4O;7E&a z9!5~cciOwxyB1@2wfA<6;l*J3B*Z? zy~8*7cfbZ0jT|4z2rLVHjge;pM&u>HdsVP8_#{T(S-`Id{EZLN!4bq8rvoQ2B6VR* zIuvLRd=WT+?I7O$6z~NKgP#VMgq|Kf8Lp4s#n*~ki3`*f^0~^Dss)-1-A>lSh4n`b zbBx~`DU-=Wn2sBpjN^^nhB^an*rK1PKgBh`&xY9V*zLf2IedIAy!<0SmOU&hvY35>cq4^3#X?A#X+B|4#H_b8i7+IsF-^Fq4 zL~XV@pnO+8Rn|{5ix2VlMV}A%g=&Kt0sTn2zh?NTZzd2u2?Sb!*wfx6;OrbATZxhS zHsD$6o#HL@W_wfM&8_g|w3gaf@ ztHvjd(~N54K|`$}-q4}1*JtQYa~lywYq)N9EBh4t09(P9vD4X^?8EFbpuGuP-_7m^ z-e0kY*&~pz*aPeyb_b5X$L_`PPWA`(C$^hC4u5bAk-$H|`bxy`yEq>=N#CSDtf{q{f(Y(r{7V!9C2L z)S5Kes&u7RK0qBM_KOGjo~SXhcr*}vC$MDXVSmH$mxzis1H(T(TRe|?Dm>SD@;&1` z8IT;$B+oR@EYD)kD$nbl-JWkfeICDu_8P`e&+$(1UO$HVWt*4|+qfOpQR=j-(LT&1eg$`r1v>~Vq z3>;qqrY{8Nm*LEFY$N+L_Lksm9XpSm1M7Gg*EF&(vv05;0(l>sjk()VEx@R=ssys?j9+nM|ebQfo5StKvDJ+K81+Nd7M$~@$aG7tT*Y8>25r=jSEgmWx z${%tLB@D$6IfkwpnvNqaL!Co`p%l+lPmO1#XQOAEXP@V&=YmIz(R&6w!D?W(4YC<5 zeb)OVFs+BzU+Ara%mecu^ge{Yi*URF*S-Q)ukk*Gb2Z-i;QqT9ueF$Et@a)BnTD%| z-x(elF7m(TAN5y_92|)cJP>FFj{blV489)GbqTm!h^Q+aahN(74h+BwdJ$os2z(E$ zKLxM1Lv~=>iaEz`fo#NdcZM=X9pM`zFGT~f=bza*MT(8PR5+Bk1Nox)t}Q(G^{h6 zHDnkcG`?Z%Hqxf6!RjW{7SqS3&rJJGZKgel!*-b7Gi^7$YuaXd+w`VsooSJ2yy*nI z&nt%a^lQ0N_Kdbdvt4yosaCk@B5E2jOKjv1MfH*8qeST4z(XT9`X>#S`j&VPc#=KM zLs>(|2b%_OA9N3z2jlTtGB|H=?ck?_X9p99W)5u`IzQz0RC}KDZ1wC1+I^mo$BcQ| zeTdZ7!8330KJQ%ylo#XmS#J}@@#SFiePjGC1Lw;T%g@1)MX-a*$gjpYejM}kNxr9j z-}|h?j|?9f*86Arn=#wcj@&u2Z6q*K99S9H1&*E#M8WE8a5*2dtz^VvA>g@N>I8+a+OIq-R4FmPk=NU$zcJX#d4iF_J$@*fB{NN0(aR093JJV&{m zVbn7tS7``fd7%zRa*0NIQ)88CwyR#hE6XsxewOm{ucJTxObQnq``8df4=cX(7CJm1&0Q zPE)z5*py;AZ`@!s8|N8b&_Bw#**#i~rcAY5xlP^)Uh9eL#btbZR2i8w+7p}`u#EVI z&-%`LNpGQN?T|FMZZLmv_)^EE4=!znY`=8qQvW66;FQ7o!H))ggM~v4V7S6l?0Lk~ z;yL6w>mlIH3xQz`@LdYTFOSUsl~wrrBsg7;I4;kdhS5GAal9Ro{5W`nN$~UY!SC<9 z3g2{JtIy|~GQ4rPZ`kc$=-=({_a~0rGO}W1FUD$X;MTyB!1};@h_jA@z2^cK0v8d7 z{RJ+c2y|df-Wu41^J{?f(!e4}ec(CZd=Q>sO0X?>bBG@8A3YytqNTBIyiwdJIm!Lh z6#B6I3gtTHw92R%uN|*5Ay!%mte5M1!0h`CFB!HOwu0fchU>xUlls^6ck0dhKe>;& z)!c04L-feI9LL!FF55g7o3DVUt_8R6VM~Cfmh}MXW4aFAA>9GpC%Qe@4(Uz;c^5qS zN36u&&b4y=+&KLr{T}_Ge!OA1q010&oQ1j8uSSKb07yS&+GyGeX*N9%)MuG)HCRg&L|lkF|;FcJj$-qWoTblUtny?B6+#2hHQ{_3Fl(z(Z|E5 zLgm5!k&XU)hOhAzcq_nZVrb1^&fwpdc3)a`srFL!rCFEif%maX1n{3XxMlFyLG4fp z&^|mw!JDu2v;k`^@+~vqjhBPR&x5CH5qrNp#_`KB*c#w}FJ^3Z*wUb<-!tG5;RkYn z{vAO2W$!`EuBZCm#EicZb1ce#hkvub&u<@@IkIl#@Q80DDR51oEHDF70l6zMD^M4B zITpK716a*#)rUo9wc~4+YFdW<+S~>b?coi5Oj+G1h zMK`gXbjh~S@rnjz4->DRtSQwN>a>WI>N%c!NWWL#ucr-(2D>52pfGs!-8k}szCv%( z|BS3@8D`DBh_coL*_rUgz>^r^C$YQNB;zG4#UF7ek(*bola3p6@+jj}!6OBH;TjVyxYWsoy|6zY-&Mt#=k!eVy0s zHF^ne2v<_xIM~K)c>C{=OL6$heQSLued(CZ|2|ycf64zlaIPNN2%HB-*g!5&s|eg3 zC=Xm8$POe2;vtrRJzx#Q1=xTlpvOB`U|b*%SGofZ990KYI9rAooDIGmyfvgB^^9H! zi;?`;bNqlXOFB)=qRz=?$&V>q%zV}B>JK&BwX1bAStIu$mkLfF(Tn;V!xTf2!D-<2 zCxOLEeYxJL_hU}96nV^Eb|d_?g}nq6cj;PmYjn@(mg*Mk7U~x1>UAr0O}h2EX5DKz zzFb$UtJ0P0%5-<=s&#d`M%^}DH*D&5wgu659=8Cz?&3mVc8z`ue2D^c`7*AEwA3K zn#Al<$mG*y8_8~o6Yu7CN6nGu(frUr;ERz~|EA&XzN221_hHY4p%;gy4Y`M`Luo@r zLk|wUKGZ#=_ssNc_Y8S*FwSm5MkM5Q!RIdZZ39M{;VHvQhBpr%gzqK&F8>sNrGJip zp1;;V*Z&~)W@F^N#XrfP=O5?K_uqhb_5RoWNBjYQ2AI2QWcNtV2n{YSLIgD!$V6u3 zjo`6hB$yhyDfCe2xln7UEz}X}4xPky6nh<^F8nYMcPtriS}x(MH|-qqS>Qat(l{_R%6uktM{p&Q{S!5Q>)bj zs^hBts_m*xswUMkRjsO8RSBt5%~mZ^tx|1OeWm(CD=A`DlCaj^6XtQWDw1wJRwD)Nr(Jt3Mqixi# z!s}9Pt#+1nI-V|5Yt-_Ze$989ZJI|lSK+xD)mrt_suPTs$yVkovgPq~nEIJ~i&#|m1GAEu z%iPM0XA&8TxuE<>*{Mc+ z8pXScc15@1oFb@Tlu61=<<-hkWtFm4xlGxl+@##D+^0OM{6|SJ7Tmvtsb-eoTi;@K zGi}UXW+$_iX<;@puRu1ANei%&>B= z@;+r$(WD?0bL1b<=VkG->#2vxHAI{Ar>GT+gvI>(u?x|O(UyoJ(h!z~H;iVFo(#Pd zDi1kAQg9%6F8FVd4?05ALn}jjLwzA;G;4IqXyxdF(bc0LjQ#+>s10X_OT%-+&xf~% z4~I{Oy%c4!uP0{Vqw&pC&Jm+vS{`kt^j2IW6aD z4}FS0Oz)uA(<|sDbR9jHo=x9FSJE@-IrO9SYI-~U4gDwWr%Ab1o+x+Ai{$snpOSBt zcgg*7hhmyy0c_+2NF)9>Dpo7j!bYA`EK}4fW-4w_WGfOC8ihh3Q;70_{Ji`(`Ehx- z{ItAZei85b7QiPvNO~SYCowatB73^ zFII~G5%PqO_(HxTHZvB8wnp!WveBO-uY)T&5h8LXd^G$OnAH*fDcl$Kg_%f3WE%L= z3|^gx3;-cEYK>+`i=ySxn&|TA%h7kD2cq5Zl%c2`I5>gGxj-R3mJu5t zn}S+$ZESh$`PjNxOKeB%K*c+4D?Nke z=x$l7>@iuTtXMWdmM6=>mM<&7{#CN^vT-t(%p&7tv@AxAPyLTM9L*A zlRYZih;KM1`&UNMPP&9%0NeN&_H~N>i#|v9(%tkC`T)Hb$3CS$quc0Rc#gGnJuGG- zok&MzeXiF!H6^2!c~wQ?4i&uXav0wCs+j+j*k}#g~>vR zP$rZM6~YXmN|-Aw6J8RUg%;s8VV&?i(5w}zab~74PiPP}3;TrQK$j2`#qr{8;$z}A z@uaAhN~E|R-&>}lD0+14?=elFW7 zTO*qd?F~_TsCsHL3R45*NwSMPN}eG5a1TE@3jYvBLBF5uA-^XNlkMaI@^kVF>>VXf zkwc`GDx_+tjnsa8&n5VgWLc5y0oiKV2eKnT>I`r^fxR|-(+(W_1ZcJcz1^}mWDU5k zSmuUJl~g*#QiJ&JSI7s+ zi6l#&A@&eUi7Sa-=_$!9?GekwfUpA^94}BpFW=6;#W(Sf@pFLL1l|e!4k-NO6AHXyY@curUWX%b$=`%i?!!ZG1D;VjVe2tL7&`-uWA zBIzdzLQwDuLpbgiMuDwHOcwLRsp4$0L3~dSbfYw1S}%PeU68EAbfSUSM_eFM z$eH8@=%b$`s3hoU8a11Glv+WpqE=IDfl3Rt1$^H_eNKG|*+*@qo}p&qI+pT~Kau;$ zt>mj@6S}au&#aNHu5!c zJ)Zm(awB8|`7*hhe1=>?){uAODa!B^lkuHtq@D~Dr-=i^CSnOuPGqA;=a{rns*sG* z3Gp?tN=y^I!V%$ZVHJ>?E!++!<${G)!2u*E!4uvkJRmF-o&<_(fa7*yztAQ830-S| zVvblS7KxLw6^X^-G~8{m_`JADY!%-Yw~K9Jm-wgX7v-=k3&bpGC51#_825;0#h=83 z;!ZrlYOxUrHHa(l*;%l@>&2_ZtHgZV`8simcq8s!0364Q*N8WZcZ+kyN5y60N_@*Y z@pbVnaf|qdxKUh-cP-)v;@7yZLduiwkQPg8r0r6NbWze16NoBeC9$38BK}1iZ9JJl z7LYeULo1M(X%^DkJyU*u`BoBS5ma2Ur9gQYv5*`?$xvJ_}$;IkAtK%69w z5T6n|iETtH(F||#60wF@3u(f)EQ2)S=pN!*;t#@4Xvr+{7GVAgxgYlyNITeA2{apF zS#QCXnqg=2VRJc@nUYgz?4?99fG0UYeoeOF+gr&^fK*mFI z$#l{}YS9=xf?xJK(Sc`LL(~x!#I-~gVIf#Tl=`K^KzoifL1Lu~;rNdqdVJDNNVxV~wp87UvhEydzAk|8bOO5!> zx1~MOA?Ziycj+up{s(;aNg;_q|9d7em6$`UfR1)SZ{H9Qh|6? z58c|~fm28;Vw%fb8O3=ItfQa!i#SX4fu%jrd`SHpG|U=(P9SKdax0bkrmt^mGI!oOS| z7w!OW-S~cj9D*she(S@3?7 z_zw7Y7_99FpW??DR4FaM9o~@Iq~p>hbZ>Hm5t|Baq#mDd}(ED@iPoL^z2INIHIXKA3hlblya?z>DvJ_SzAPw-cWe zZNy$|`-ww9|4;B;A{bzKWN;v-@!KDi0oR(Qxg#K*)3*lQ-%gGtYT zS=G3|n=lg$ezhR+V@g;Ezwxh;qehnC2IX2Fg!mpIz-E?eI zF-Evx4>tFhKLd@A z0s}oF?`$A`HMVhh0)`kFL%a*V`~XmR51(m}=7F7)rEIV~3f>+>47*-j1)usXURQ(f z&EmU2q8nqa7Hqyjx<^_B-oA}HoWL_kk{Q~~Cnn*!uEF07JR2{agH`PT9<5{Y<`_z^ z;TbpJlaFH*sQ^!N;f0m(=>j~34*oq^vcm5t;ja^Ho(j*u6xV+!b>W%)u;meaTOW}9 z4YBn(*!1ON66`vTNCTG&$DZIi;(B0k3vm}QcZ|_H5t$tXC%cFr!OfqDqd@o*V7DEf zaW4@4j`#)a^%6WmgXcVu|BE;di+B$jUybp%5!_mh5qTYC4SZ!iFqi=x^9cty76G?< zr0<}Ko%o%Xe_yM#8}`>LMWxI9o&x^Y5X-^wow#Qw?)(do{}Uc#5cpsA9{=F|4|u}e z@X<|(tL9+LodUGdi9|w8M5TYBJel-o5Y*r|>HR_`ZNN1dq{+_or~5v#@4f z;(&4iF&Vlq#fW(m{@x7#IRl)V3shENynYLQ_rJ0Q+I;nYc-7(jT%vYt#CrxhzKrE+ zJof^8ayoQf2whp>tF&MTl2H%_zvc2i4G$?v5&WtPc!uA=t4`@l__y~FDQw2}0l3#G z{fghr1MLFnrw;bA3AVEzSpNoWeMFcb;YW<{*v7Fj!wb9*;z?KGiPpd#I7EaWkqT-S zb%eS`c3SoceM)|>vQ*Wgxq(eG2&VtU7bM-19JNlfKaf)Cs7_tx{3b0Wy(L4;Y{-&j zU&sn&^=F;W>d88p^<`FXmSvnicTJwb}Xn#J$>m$UQG(lKoLrv)ZVbCVyVRGFH`c zt78^04>9*McQNHm88e-k%_OVdRNtxHt9umH;kBp>yI6)5bi9sW6{rpC*#z_eWV3~+ zGTq9S<9rn=iI1XVU>&N9t*9}6h)UxT^!fCm+bb~E*%xAeXLH%VwR1GLs4KN6jk}X0 zX}hw@bJpfGj&o+qvTk=%?vYH&&AN?lwOh;_%sidhmD!%TC-Z~M_cFIbc4qF)Jeb*$ z`9tP0NTS>C&dFXpZb6QiGY*>S&uPQGR^~M1Y{+>B`-gLW%=sf{Fo(*u<`zP$OLEue z?#MlmdkE5=+lKv?+!u3~<<8EX3N0&h2Xap4e4bO0^Vqma+2`GdGXKiBFT;^x&KOB| zxYnlhCcb2FYSt@^^qsQ9vd`%w@>WH*@-gK)pdv-mF=wWl(>q)J@Qd+OM@u+B=bN=QXD^|IzHwG;7vr)@WYTtkrDPv}$&0 z+B9Eje$xD-5j1Ax-LFPnV1{RE?RVO}IMS$TP&c9$a7k08zbbyV^>iwg z(ds^$btdb^tP1yx%w-up>5I~@OV3L$NWUSyJiR)-CVeip>hwF)%OJO>SEk>G_bby+ zrLV}Cl{wQrEh`~=U$%8z)wm^)>T$*6oa5Bv!r9*Jf$WRf7qb7&?$7=!yEpqZzDKOBuI2JCbF|%5;}xzLdda>`Q+oy)eBuO`Uqu z`fnX75ie5CnR!)xrQSyX86*FL13 zhZ@ELY;(2M+A?i{HW3w;)0+L7r5d%SPQ62Ql3B*sRR+yew#FEZZ%lqI<$|*+eK2ER zW^d-kOe(W7p|BN*9zAv*DJ0AE*hG&XPnAt z$(-)K;GUD!merRvkaaezBWr6`eO5`9IqQP^Yxg#HlY6nd%3bQd+C9$gblcn(x80rL zF2s@9?kC*q-S4{hfwx`mv<>g;uToLU@NpT?&(x$Nm*rB`JPWYmD;R`*Qz zN_VsSZTD7pi+ip6Y3Q%UUG1)P-;LLK?&UbQ&;5(r<5pxPX1TI5u_b0{vZC&b?qA)9 z@u@m!xGmG2`9j92^o;anuAa21X&ufP&Yo0b>Ypj`_JhfNiEqU@jjilNjg6TrcgyCH znW$pX$azmdG!&00Fo)brW?=R{O3g-gt_pekHS!G9Vy2>cV}Y++hw94Z8q2%bt7j^h zJVwFvD%;>0>XdgViwF?D&b8MyCA~9!QbtQge}*lyG;?m|vdm{PS7a{E zoRxV~W=^ItGn#QW3^mFoPHp^C4Fi7^mJ#s&vnqX+I5dB&!u(^ z!cTOjeVukVt!vC*1k%(lhpWIf#Z}^(h0c!D8L0z~H4cZPIpu`? zu&vU%!Ll?lKEAzd_C zc72~VKTUKtIT`13siNa42jSS5lAUtEo^GFQyVuGkuSnXSup#aiQ=fho+o!2hS(Ra$ zkyVoCq&D#@K`yN1U3?(si6!uh_yN92C=iFm15y)FiF{oTwG7&vPq(A?mLSiTUn$Q) z6F3UvQ+E(Oa_)3)bgppDbC$z<=$(D3TT?4i1$=j@ z!;`Wpr7-2Fz104mt;gDvyxEePveo8r!av{YG z&8%~DI)aXb)bXjMsnxK~dU(#IsS8tQrA|*RPMwJH$(`!Lc17w0NM5QV)eH|2a`Zd8 z;cee@G&vrGPWhDmDYYp{DINA2d&JggQ`pv7ZPvZX#mPr3d6vaV4T*OooR6DoUSZs< z-^#AlKBB&hDOFU^%c#Rdwscr{o^On`LxX*hcF1oLHEPX!qORCyu`1LW+l7ZvDcB&< zn9&`AbxuNFxRvZgZRK)xWe=(Xi;&a1icCOu;SBLLW~eJMYfU4($gw_;9Hkpoj1G)p zbCDmv8&wRQ^p&)oIDlnS)mVzTTe%7=W-4{paaO}6<2G|~{E>w8qz5g_lIK|MwhwKb zy~5sL-)!G$-(}xzZ?hk~$!vPbQSDJ3cODXl4AK(D7$&ZeA$Zbx9p ziH>owu}RQRnnMMKo=*8W<+qdp;9+x2a7=SlILaK?IFcOxlk_qBs*9O2#Tu~O7-7YTA?^R>tlpO75LDr`Z%h9L7$TUmtc z`T|tMrXcgFN9L2jj5+~XSUu?{4r3-g1$mM-WJB_iFFq$8M>ZoWPLsZs77?XnIXq;D zZdACLe$~gCmAa|isD6_%-n=sIc)TLfos@5}C;yY&U=3KO*A5xb{u9O0O_( zFH1SB%cFTffvvsqTvQ4)=ZQE#Tg>800n;LtnJsXk(z2w`kwC7xBi>ll6-5jWZ7*gw_HqWNHQgDPUI37Cme|XJMNsC6`=DqJY)#Pg^pZx-rN^>hnfek*!L2>usXc6UsS zRq}uGuM3Un@i|6hQ18pi zZSA%yZ7y4$ZKAEjHp})DblMKf>a$(2`D}ih$JTEy!?w?C@7kJdb8H3hZNFPT zwKiKOtTXJTiP4WQo+9#I=%NILz;k zeI6Y^=hX3VL%1?r7OoDjM7QEVI4|;aq$g4seJjeuo`_w9uRO|65H<>Zf?1p-R*6rc zqOec=0@b2cWSN(W4~sKVm(4-_{S;!*<-#;{XPo5U;O9Y?Q}|iXsS!5$qPSYxO?b#M z*-?77f?*D+9>;pZW9%ILdBZ)X{pL`dF+rPnA#rcgJc~JbS8|qhgY}Fx(RLli&bhXF zXmPpi3EL7|9W+{E%djyvzx5yMAJFyJ);8-q)|a87QmYxd`5?J5d2Vuf^2B62EUee^ zndKGB5=)ikW=nx3*%C_XOnNn`CTVg~a#ASqSYm7912Ep6gyw|m1ZTp9`2F$E$5+G~ z;y;ZmjC;e}WAYmN4Dai2<&Np{w9C}{m_bF3e7UTbyo2ZyR|zG2cB~*;6FCqr2=|O` z9o;y(9UW}q=;ZKP^c2pF9FI(mei3ye8j8g3;oH#TGD)Zro<&c}4ph;ahc2~?1lgHTDb+Ps6aoWPq5oU;srH=@PYLHpv-HKLb zp}J6eLH7(N>T8XiCVkxW_@xP}5|<>ESQN=^$tBirtQoe)!0B#SU&t1K?H#dgwk@0)(k6c?N9zLc{jY<HFE4x^|6PUBR@k9o{#;4-lVyR zpE{!pqlV}wk@83=ybpKTf=8lknx7PrNW(c*N{-lVlji<4$0l_gC~vM13= z7ZOh_JFwDiv+;LBK!28d zlg-g>(NOBS%ukA9dAqEb`h|Ex$`xb$IrLq!(W*!n`da;?pO0=C-3*)DJ^C$rDqZNO z+=ni_S&@AaF8WxsH##M@IrewVfexPK{G0q2{7KAvqC5lk8U;f5lYgI|%Uk)MVh!kl zJcSXzILcxCC!#sgRZ(s1Fjk_p2_Eql;&U=j_930G=u*yCF`8Dbm3@)x(VN#DZ9)hA6z8cci-Y_%r#CG1XkAz^O9l!W92U;Lr?HDIg-wzeg% zI?f(LzFh)J-auS*@Vu zFUwriQDV7NBpL-C9c_;2?8rCao5KC0n?`4hI!1}nXh=I+fS&FHqss6-@RPd8!;ym# zRdjlEP4p}DEEb^C?O@Cwi$@RQc+APu&?m+668hb`z~hCniRdfsj5bFXMJu8=BMz;P z{wJCfI~rTZKZ-umWl}5gE9sOqAabn1N{=FSv*u4Ni?tUvJ%Jwk4aOp@gM8Agjcbn6 z#xIFK93PE$Borl-Cp-X)sZE%fkdNh^d*kQDyW$7q4#vF{cXymKZp7SW-iH6{pu(JI zX3ZC|X7WRRPnznhy1URPQkL$^yj&xi}puaB6mg{=musY&d9xyk0XxgzUU*dTi{tI ziBqMS#A5PgYPak-?U%F4R3=B2txnX8Xbx)Yb@5oE9Ebls=x?qJD-^6)v2@rlWKdxJ zW1exkaUoV1HyGz(?dzbS#ZYPx^@p&QX14xDeV#r^Ph+LUzuYrkkqM=zi92MUK8kdxy4IJ6>zmDz$#iIrQ>(pqqak zGShjQ^Xd)i@#;?19jYIhtC@|;bBZ*@J@VD`URgIfypqZ3#A@jndT?G41azsI`Tfw% zwdl7rLLU@5Zu_Fg&}Vr%D!`7aV{6a}+aELXH=)OMJO4d@miM4<(ua<`0rXLxMQ`3g zbZ;)@r=v?&$@gJCxgu5;%Z}O6<9v6lH5QK5@gw}p&|yqGDs3f}k+)F}*|6*gy+MAj z!lC>_*~B=J1HQacAy2baBWgI!s0?Kj#j+6HLk7U;u{^#imv1dV*J*@e9QEX_oXS>sc8sW+?VLMx-H4y9qi(W_S-~_gP0S0-^LSm)Y+*iP_Mw-34f3lD^Qp2Dee#PH=j1oaH`4>M zLfH!HYt)5rCe}$kqDx#U{EK)*M89xVEHQQ#v%nY87yd-FF}fkTCHhhH2=o|>rlXU2 zW9+AxnxBf!-~-T`8hvnAq7O1n&dY7az2zM~HP z!`EVDpM=hfYSfaqVwUbD*HLctYfh*CrC*SbQyf#&D80(X%n&nI)uSp@uTmdT2h?^= ziDo|PKHD|znjf*UBC64AUC>kkDnnZBdCixa4Vo%VlBQeTq`pB-sgJAPSFKkys#aj_ z$5PefswJu#Rf)=?y2u=WP99{67!z|I`RHcUqN|87a4?3A&fT-~t7`;<)BU;ZxJ$owV;Lng&^tE0u zJB}XvA$qa=to#PW7DY%=qI^O5rSe}T&FC336VD_wP9~d~z}&=Cp`y78>lb!HD;-Q1 zbC~%MYapr^7c+o$7R!~>l^IG&aYpfjqEqpsqEF#bL=|DhMa2ol0ma+sps!cVQIsnR z6=ubdyaS!~4e}a!xx5s;`!nS8kyqX=KZ>XD$VcQu=%oK#zDiyq7tx13izevTWa+Z~ z)O7TSZa{8f5cz{@RQ6Axu6`pj2fM`wMVt6LBEcExv>d@ax(f_#<3B_!vxDEwe~Hd# zo_7dS(2?1IzSj=nAI!5|;tgU2dhe&9JJKZj5Hq%+BXc?WGb=EIsTAg5CewtT=iTVg z^av@4)?39vaXRYx*Pv^{i7ru!T0-?x)6q#BmK9@7!ExFwuadVS>&_~!N49(ge)TG3 zhig!Kn4&09WGL(khayi=qL_;_I~5(!)~G^*^(GdjW^8TB2F1M!7xdFEe?`6+dYOz2 zX}nyb&(a6!7WxVLUU~{Lcm{e{c2xGRtP#D__aPfvDw~Wh_zam{mWFIqjcfz5d%wv% zGEs)%nC4{{aP=11d|9UKH}t+bs19TkY~(NK*qM&*n4i&CF&#Z9?a00u#KXeMF`M#1 zhdajDxe!_0dRW&>$c%pg*7os)Fb=)ntDu>m&>d_+^EKS?H17~Mun5Y$LJHU zhX!XtkF$lxg|*Q7KA{uy9zt|uj`J$|sdCT-(=XkK&OC{jh3-%%)qt+ueB>pM$Ow88 zy_nuc|3LfbcxYk1e1m+i{5$yx`APXP`B(Bb`7ZfKu#ryr@30n9p;sg*;_<3b1aQR; zc^%dc_@J{5SWQq$r_mIBL3R?k(l2BmqwBjx)+DQ!)j}f+@On9)d?R|%9WpKYzWcCd z;1GJp_fy|ee^Y8?nyaDbR(xtJddTNsok5strKAuMnptpWJE+pYG!6;M&zqzM8<1mhGa%W z=4(b|ri8p^zQ$|3Mutd;h)9Tt$XO2KG{zV^AD(UhAN)W2kTg!){ap8T-_Lb_f4>X7 zJRh9;QQ{sUMAbY8ufK%xCAj)Sc;AQc*)hDIazsfHG&Xs7e2C{NkyTr9YShgbfI`B` z;Gs^eAZ4T{R)BhZZ#KyIK)m+>qIr?p{t`_04&oJJHAr|VXj>mV1cWDYoRL0(s%R_f zqNgxhKLwfj1!{p8!2}!exHO;j&S`;$ucnfXBH6 z;;I-mhb$1w5|~{8mTi1YB_XAm*f$=H<7uo5uVq8+(uY$KJM0_pq zLa$()VnJ3B;5S_^A^yS!_g-*7zk#bE!2)gp33CpF837J0A36dHJ(hR_I)!TJ%``Yc zS0ZeWdzta8F=J{THh>4 z%saHZpl9_UX*@yG2I8mu@RdGLad{wS{b&<-Kl{Nf%D^+#A*Qli5iT0yuO87;fSmR$ z=<`@G=rQc)<5|W!#+!_M#A`XC@+`)-9C7;(WVs-Q z8gs9h*aY1LkC;Gx`5dU=f1)ayfPBWs$atbEN~0S=3{HSMA}~&|^v6MqF2(c1pwCW# zkUEM}=U>4ewV<}zjoN=V$kR4dtt(NJeh$RhsQbT&oUMqWAk5@zn4No&u^vZNMus@_ z!)PfHkqdnOI#&*AUsZ@YIx5(yV9Ih9X|$3>0q72Y6WB6 z0MhF=@}C3a76;yKH|;Ypl&8R7-as6XxcX0Fe&m9CEyVmO$0>O$eH1f@AUK2v)Dl8M z41GlaAtC%0=N*fn=+mGRe#M9s(f8w{2tTQNXTS_T3|cP|Re3qcSP?Rs9rWk|^)&>JRO6llZ8(Z6-MmO!R)T7~0G9X~ zu6_+Tu+QANAm&~JL%s$7W@G%;BR-aaGB<--ZAC`>9kgr}GzQ;;t*l1vu+KFMZk7e= zQG}>X!07DecH4+}FGc^HCks&_ zUrm1%74lO0FNlgh`V?J*j|sXKDwIIXwoIIF?MB8rNPGp2zzJwU&O#+pMU)d?5FcPZ zrV-09qGl+JS{Jn-$1sXV!IhUIhy4P5Q44;jhHi%PXhC~qq|f00>+#ihag_q-TJX}} zf^=R9;`J7Y!GGetq`DslMHm5=(+3$%h<{~Je}y0qdAjKslR3P5oy+VZ+yaoEabQoM z1|PTze4xzD0R=pT95{{d(nAd}>ly)h+OSA}*I>6(fjaD0pv?D!HQx)R$44O1KS3lG z;+aC^!BZIRVHX3xHxV4;dR&WLV2n$VUoYZ%b$}*Zp!EVkyKevi{|$CCHxY9*?+<+B%je8w_ZXqgP$7rOvAHyie;MxSc{V@7`#Gf4Tw;pr%D6&}t=I0&vAR^xY zYFU8ziwFI)f%Yb{+q-SJG3k+ zM(#kDH;jm4K$9RxbS{i*u$${P;n|y5H7?>&hnaZ`1oRZ5)9A8bhSIQd(m?DO5r-O_ zS2)BYzROj=(icf~q4EA5Y@5L@=vqpw1V@Fqif| z$kPKDv+qET*WsP(Xnc%HDhTjx^xgE2FpJM%9%|{{L=^ET=4J-w?+Z|gZN^M}mB_-L zBMFKz8NnjPFbj_(7I)((|6g&EK#xK0492XKV1yTVQv!R8L2xmbFjnUlncd1ojYAL3 zMTBn5ee5AbI9K}(vuiun%6O~+a#u9e zR2#86lwdv{$Hx)Zm)Nm{;@kqvqFO0So^SU4Nxf!$c627k< zGkbyVU(o+_AXEN@t8gAGaW%g7_u}=UAtUe+sS6KZWRh^~XOb~9wjg4Qah>b1rp#e4 z6O2e*3l+pstZ$82)l@V)O@cZ764sG}i;A{<%;yX!=ayr(iRoOh^$x6(LPTRU&J|^g znhqY_8()**d!E3Y--hwoj+4ionD^PxOg&G362CDP*DD$$y%KqMGqS-6dL1-YeaHii zQ0bK7daT9HCIX|c1qJ*aB6Ag9ofWKpwfjrNNe0G3;`YE@2gmJ=&lXtsr!Yr%LL0mf zkAH%C&&Lcd#+mX_s4|Y=aTFh=prm($mR{H;>JX)!h}CvHIuO|lF>7^sB7er?_ix3| z7b7qHg3;;3==dNzuSN9jM}{fDYP$`4=8c%uS)iyN1jp_JPMiVOnMv~i2Q9&VG<;Dt z@C5C7d}j{k{5~kt$`L`A@s3(BzL#kK1LItW&ziAjcVN~|W8O0{nnBoi@aZ;C^sP_| zo?j&GE3v<*LcE_t6jmetP9SR(A^YZFR;Im_T-2bZ#Tnj zcbTw`=rMceFo)HP^VsaNVg1n{!g{e5s}}Qu2)nw6v1V+-HQI|E-xnD1BN)XC?ps)s zJ+V7T!6?3g>$wvr{R?B5g`GnRUg0v#_#m1u2=WDHoCn3pa?JQG7`Gx&=v6qQ9>RT| zjQ$us3$(=Bh{(N|x1VEg^BHFR!djDqXLsTG_wj!_5vS|1OG%=yz|M}OPhgaPMCRLx z(b-IU6~FhbMV5UZu4f_s!a+O^EPnPC{#FYzFb6xF75HmunBkd-(geh-9C<;En4~Z> z+OX654tkY0@ao0bJ=fsfZbm+P5GzdrX4hkgq808X*w@7%+T!ut!kQ6|5sk)I*J2gg zi~M>B`H&{LF;f^~NyXKqG^1;)C1@{@le+*>~ zUL3r6-#oHqRM!7n`|hSS4eZ8-YZqJUZ#3Q5(Nccn$nDAjojSo*N5r#=nfn-8dM=}Rm-YF*M=MpY6+|l+#Dnf@e2J~78|xA?4IlpIETk%ak6u=NcpkwBjLN`cG-)e zxgk`LEQl5)$0=Z~MD2Z*_PEZV`poP3I?UdIi`B&xD&sAn9*X6xL)r!vMA zV|%8K>VCFTE)8)U_xnsT6_pSzLjZ{zyH z&t#t_+Hk}A2X)D{#9i*X=zP`rpi4;GMf^x6v4Ytf*x~FySgEWDW+C$q*~BP91%ID= z7(86IBgdX$d)T_koNKV?{B+Ut6^0@6WAb|DXYq{5ku9aQid-JVM@j%*SfIi7F zM0~|9^Y-)W3n&Wd3GJ5Ml07SH3jHv2Kj^qX*$3c{D47H#mroc0hV%2V0C~QA6G+5j zS#0P~$n{`m@X?^^zM)M}KXSW$fta(m1?HIh9K4q;0wR(#EIeQhmj%8-j zn1Q5#JjT4q+3dAdxI=tIQYa$Y|(m=L&Is3gZ)yVf?1Q;ZUOKin`rv@SRM z7%%9v^fbdUW4k%aHs#pns(^WR{e1)f7}DQQ9f=*S9!(m1 zNtHPfFumC{TUMA*aYJ)U9+(1!5!>yl4^gB)Nk@5Jfbh zyVkjfN^@v!q&3I1OMiK82tJFovw3r3{Tfr3bpuu5-cNLqU$bi137i!iJ6p+-a4o$5 zdhvYDiP9zKg3d{ohlPV-PKekNL61;{UkTeTwFX=evAy5q#*#H|CAG^YxAYiS>7Sa@ z&+MN{7*8E7yx%-9+iUEeyrb?2Y(IXp=*IB%GtJG{$|11LK1yYTR3Q$Jkgr2@#>rHnO`(nW_+MyYs3Npn zst37I7<@N~6Vx9NCb{D$^yLXIdHQe(W;xC7c)@a8e_qR<5lvkk=cvw&ZWvMD&mNi> zIMlzb??CTp&;FjRJqLP5d(QO+^glP4H7rtXoAR9PoP(>Ij!o#EF=Y$K zNw^qZG*7@cquiO}%5r0UqrXG!WUM3Qs5NG={>3VXPtX*+NV3U8jA7h4dNG2@PNqMn zjo0GUB{=R|<(DtM>X+^NiT4`bO7a`$J@ZCgjyieVJ$z{}r{CP0+N>fO@U)PHF( zX*g-@n~5lO$Lv4m?-?meyFK0ct~-f-f#_k>lR5B?QNn#DgB8n~Lj`=23?xGs4tgVP zpZj5#6`V<&eTQ|G`FDd`_l9=4=A`=mv~$|7Zqg*p#p&}*tyYpUxxS9eoK0cB))X=x;p7G8^M|AtOo0o17Ek8CFUOV12adq$2gIBYga+*7D zTxfT79US0{FVPlRF4A^#vwe0;vZX7-yOo=kj7OI){bcEQ^!SpBsQAcB5l<+(8l|pf{EaRLBgPdz+VDBm-zW_^xNV4ijTs(#?#HESk;Ue+NV^9Rcb1n=V|Y% zImjt@$JUL8jwpv;yWcRBIMh72anLkSKCo@zy@9y_-C*(kDgfvp?dTvZJWEmRqXtc8g}I4 z#9r$-Pn~gIb?Mwe^myW7h6Ii=`AmwL4V8kCC4}lg&-$IUi8X`>*-u_zXi$5l=p<^y zIgB3iG8&7dc;tI+^!~SCxzBCEe(z+j2;N4PH<9mbwn~i^b2&4ICIeORBetRZ!7Br| z2Ywz*yq`A`ui7%%u6{*3J-^9RVLk8Ic;Mpl_NxK07i~tqxYlsJqoH&Dq(rbF=eXjBfLF+aFY? z+lR4})x%BmsuB2z*7&~>m=IDQstP+DZd0ft{sG0pcI9xynBuMQH^K&_13@23`b5D# znO+6l)683Rv(v{O1XKC(+0)aT#{Ea81_pYVcX!>Ew};-`)xvLfT}^0gX!!ohcztvI zo-4|~>{p4Fr~f{C$KIzIO`17la5xxbxyKK}X-STh9e!0=zT}6cJu%ysWi4xnXV4hrV^6P`7^EKW01$Vi|iI)m*t zv(XSY-=e*)iJ6(5HcrJ&9h>x=ES%7dXN{jxS;y9o^^aDJ)*)9%sXiG`ntXP;d`7H2 zqf0g1HDy{)*e_9)uJyDl^md{MzCHvwg37my@gwSOAJF@;%l*vV;S#$xIx8p*+?49= zyFqf^uopQFQv=RS_bu9sLKK=Z z68fjK%eaHfL^bUkZHm5;(MP7jmoksT=O%E+I5bWP>kvs0B6qLjAJzfm>iOHVXVj|6 z6XP>uy`wp!Wux21uB&P$gwt1MzSHiX&o(Am?6zYR$DIsc1pIay^;e30-#t7JdQ zuEoCM6J{sKZxKUJFQd`i;ZBaD#+qP0hw+-%dd`;5oKde<=cxl{qBP&mZl5ck4>8V~ zJ?yzo5&b^d!uiYd4?&qIO>!aVvUE$>(eO75{$ zwfc<;Z+f5f%;45C;nL&$#uj5brE|@^Fj+I2IArgo?mpgmrM=+hJ1yU#e0ZfnU4QB_ z=W^!dGTaL9YvSD4(|)=uyT5Eys6IQNU@M{RWvjie`I;oTAxU9biW+5p)afOe(FM^- z(Z`mYh}ss(QXW&t!cT;8Wb32{gDV2hO3K9tM7xAJf_(nJJWug{;1sap$$GlPokf+{ zbms4k6?*1;{ak~V4M$Ab>`l#X4NddUnZMQ4v~XHBl{8sA5jNp7@#aL}q--i@`o6kI zvr+qou2kP*WLRQtDGsUgH<#AkMcakimkB;3DpV}e=+~e(-ss-zIt=D)3SL_^_APKt zJ8R$SD5NOoAMP^xA;$a6b!-v0is$wS@gn#a_{+R^f`5>DAK~|T89X~Z_VDI7>2T-e zkR`+m^c}QGsM`(LIg9Bwx)J-t4)PN?js;_n`4n>{SxfZMs$J<+wT&{T8ms1?o=coP zJd>q9G#xX&a=L7KgF0_Ur76=M)K%zvi~>uFZLK5KNxBcv>glz_c190FNG>76a7K6) z88Djh2dXL=^hDZ(E6aJ%QH(4?8T0h2x$U#cnMbD^CR-;qPZVHOR!m)*uAPb2a^_z& z(yV%ifVP?};GFSn5;TfRBmu#%gszr1DjJmuQBh02S#oqq{E|SuXSZp zk#?c=Ve@I@4#Ri)C_SMk^*(x*{_puM^MC4w=GwKzv(cJ1^>@?%o+76%PX0dWn*3tw zt?4uBbWN-_QYY3=84jBSmTc=+wh!%cM~R~ur}5p6-#|4*fuWDFe`Zr#cUVQ%d*I40 zTbS10&^2J6;{{_XDpYpY49W0o#MOhYI8`D3&X~i!6zVjp({o~Nljh>glzP3IP}9`e z>eVwxG!JR5bAQZlHgp+9=0JE+=YzZMv!1fXTB|HUmY>Y2X07Qcyy|JDDL5HR(1#+} z{E+1j>v4NK^{D$U{Rp|8oyxO%zUiIsqx8)dE%!U(Z$4RTBwc$!^PlRcq7R2OW(d6;W++U!h%~A0(o20;<9~>B4_&p_%bw z93c#-3qC+Ix(=daz&d-0^@O>=7^W|q^PK%woi_Er#4eTp*yE#C)GrFg){YNP5;MoO z-|KbeeU4DtC2}P<-|L`HmS3NQ7JNw>5Ed0atVqN)8io2dFY58A+DMhMGolcy&EsL~ zLRW?i1im0S>9%E^t4fiHtqiD<*KQnq25RDif?cGTi&|nI{(_Pt9gyQ z#^sHjjhv?5YcIAG+)TYya_5Df;=%AS`;=Wvnw<77+HTf4k6gheQ32Mv4bp$g9+a1b zpHu9Kn22yiT#k@M$Q7+}Y1pz*c1T^|T1gjlaP@*m`Ar_Xxa-+pF!^K~afV((%XRNW z$3Aao6}1lRVm}mI_Z=26jdk!`Yy$gfwYFIHnkA+xLzMn!T?YKt_sn|E&S*rl$7l1k zrE^U>mOj<6)tG7;GR2!Wz=2h4{uO;lo-pn*{728xe?FfuA348mero=rzQqt~YBpcB zdO6CSn`o(wWY)vnV9x>mKYZ$ZYy1-Zvm}%x3A%tol4Jg>#8o1r@Nu7yy{olWKO`)Wr7HAhuDvt0tzq?e;Ux(cgf27L6M!fAN}PI7laN!3mK16iq# z_OkoD^PXea)@u366mPhr+ok1cE=<2WxpBO7ENoOVQZSr7JTWX79Ut2;@!a$|%~st` z<6Uc^GlO8U4|{ZaH~Vh&|0(eE5S~mVzZ5QrkSle{1Ci>;Sm?bKQ8kffr8eTc;=%Ae zVQ+=Hf|CLt^4I!q672AlbBY+JUEkQ=Fhgd6Bq3ogGhfdv>k32FqIBuWXt9eS7W-PR- zsI7Djb33nzKP)^W_6Zb){1V!U{VJspDW{Z$k*Y|vLyH=XEQ*{^@{~HoAyi6^hsr}X z1!nrwM7e_Fp6_y;jP>qPdyT0{*EwUHNFD7P{JU4y-PBogi~e^@tNccA%b(ZP*N?aS zc_aPi#=oa-O?0MplYPNM2S-yTAJb&dmzx_Mw`rG|AM$A4t9{e_^?@Skx3WF*`tSpa z7DcIIAiP!{8@4_)EkqD>QL;+h==-7%&HI{X74HJa#X8D-k37zRf}7|fn9w2~26NKQ zFf#(lN8wtUKyt{lAeH0ZJG2*Odo&X>gX&w;L%26mP4cFWO}#r^qSnsT&bsC<>g!D!>r(0y z_Z+d6)yUO(4tXCGYDGT&!;;qm4+f<{xwR(vKS6&49taRg_K44m&I@-4dc0U3ft;1h z?L@QtIj7lPYdvQE#@L__p1(L(p`DpMGuu6zqkV2}uWo35i@{?2-n`bTu)7?c&V2W6 z+8ufsk&YFlhI|~F=^ADQxWIRrd*JH3pShR0levkR$$Vnb1Gby|81FrsQBItqe@K(N zzjoemwAsonNv3+eQuof{{ZZ=p>?k=>e*f&y%AplQCx=S!&ki?^lH(U9o7E3%jq?Mh zZd}v+~2&O^{Ew2_}2#}g=`L$hZR88uT&gU3@BI;q6kWH7RvH%;d|w;g%Q{> zt_yYsto46Yr0_ZG<>oG9#Sy-)aa)6_a{jy7^V62`g3;9buMLd%w%jw`-O?qw6V+LH z``g<@=eJ%DjVp*NB+`lAxmC zbs=AetP0s1yf$b!V5MY}_%+c}LWw}_)#lO36>!Q}yOy=_ z67x6I6^+aRkb_6SAhMW;NiBFS8R1X2LeKVt^JC~Y&)9Wv-kz`)TK%oxTLhMUW;HrZ zo-wkF8w_Ro_IYxCwXST=h`vqLSc~>+0yUE}=9vu|_AE`CKBv~*(|eloER^kAD#fj( zmyrqVHf}2Pt)+seh39-5MgQ`P67Lt6h?B)f{Z5MZ_)3LG1g-ow&l9{%j+%LZA)=pf z#Zb3xXDpXY9>yy8)Hms5x+-*fIXWlTdCq6)hYTgACoLS?lzouub+yp`MMRSY%o5gX zY!`b6rwWX6DQ5$R$N3L?3mgeJ>=}@z|3!VS2<|3EtPo$+QX0_{g|&qG96vq;cvC^=q0f+QT}H{vDI2^}IdR z+2US7Eo7_76r$2CbK)-0Dm70TYUhv69h>c%S)(>iU7kEUQ9tfh<*TAp zJe6FvPo)@-m^d)`;Iv{UefIF2ael8c+G4fcqkhIc!5|sS-oV}D5%1N-Ujo+ttWS^6 zMf5Ky6#UaWj$h*`^vL0MvbV4#OdE9Z&k*fk04wP?!KvVG4qD|Jv^0$d$5?=SythHK zi5U|_Exb@S648Va?x|7qBRE-1bN_8m;=}XX8t61Nnf5^~kIAF{&J#2o^l8JjBy*;1ubzO1qr>8T7%q~^|XPz75 zvC@<8)$WyxK2jf^m)B;;wdn<0wKe1C{9mW2Rw; z{@VP@^GmSTDV>ki3k@rb`%GH%K5L9!=V)}6ySLK47^UPe(~IrPQFDs9Q}F2T<5qC9 zxv^Xtw*$WH+2E7M*>!LXInVxz{TTZq%f|F!3P>B#LeHhyT)UkbM}b{#8?aQEcbQU* z0S19SZvJgu4Z72mX*0BG+V8Xph|Z_xztn3Dn@xS@ZC0nP(y_*Ab{&C|@qdhmnN=(Y zJB7QCcg~~M^GC0@_#*F<-lQN-5F;>qA4NCD-TW3WiPr|tBOX`Lx>nTNom4Nfvgxo0^?*{{GN zrga0^9gi}~O{c(^L>xn19N+p4{$N|~BgV+w|-hUGLAopG+ zoKMb~xZ&00~zJXX$sS3CCLwEz~%@(2ka)7eKA$6^k2w^!v?w%|D=D zKr;4_vG6WGWP8R=!o7M2wGt#N3G(e(dL==UFEhVJ#q0v7l3NT1BAds0bViVSp7-$f z$l&ef!byw0h9zcRXKW)TX&c-v&Znun_FXoCwcdQ#^o8*Px`m$8|DYey?>594xu#i@ z%1l@@ZH@Nls6ppeRB57#&5S(qJ?4unKKnG=AMX2m;Y{=rCzx{sc|-$W`B)YSa#(}f z@CCTQuVfB^KJI4(Gh&HwI!WtxRXE?LwmEj$p|Qbz+P`tX*M)8f&%%YDFq=(u^Aht8 z^L6t|%SFrpIuxHR=uy!@bvT<{zqm_idGs7&D`P8}!Sq4Rcr)9B^CxE$yno_&S#bNY zagT8M-1qQWle6<`*NhOxNy3-dPRFUX`=+ZF_Y?m{-BD|M*!Hc} z(|Qb@7<$kTU=`+Olj#_`78aswnbEY_tTLBaHd{B@4%s^$QO=KDZElhtLWseFmyydr zNV}MEtQ7dzo8d~b3BD2Uk=Nk05kjP(=2QjRXSa*xYKDhx9ekm)zz6Js|J^q<7ATt| zsCAtLS-1&YrDBmqO~l!KDKbtazV;!`@N?+Tf_OR(hN2v7$7%SZYC+aNVgCG3lTc{L}`I-1zZ-Twr0=_93bkBOwq30OuNfTMhjAiw( z4zLwaAh5X)a24DU%a6GbXH*p*u{wC0;qu@vK+~-_l@LJENn$ZK{y8TUP2XCPNMZsdf ziygL7=-Vb1)&BYRYP;I5gsQUEp@2dm8Q$sZU3Z|iItOp%onT2qKt_z=egBPpQ5)lN zvYhNCjiefmDSJpI*#_oc#JEqi5RLGcZ-F006LR@k;#-_IWD&u{9neey?4K31pTHmN zb#>uh;y5Lx>K&g#30Ca*8G7ss*dI}885PUwP;a#u^tk5a2{@oxgJ3(504mN{<*nW)G0cLW@^^PkP{@K@@ zUpb#~+A%tBQ%^%>b(HbOn1bnQcQq<}_|!6Ent%^yV41yGp};k~yIff$(vhKPKL zEQIgL5qQbG35Tv1$!Ew2vV-vy?z&p(bnFXuxR1N8IY%icdLU%mYivHY1J(fRfaNbs zlV#eXwC=KAv#zvVM6Q}gE$j$Y;N0Qb=zbdA3V3jZ|DAD|%x1aefcaDlH=C0;CkArAsV5jRayH>g==S}#37eiaW z-T4N*_G7T}_EC-0Zy3p+pp5z#uFX+=-a*mf0lyW>l|#^6lt2s63XSs;I1iu1Rf_|M zQs=h0m%>MRH%OSn_$!}-b4r1GW4HTHa4mK44($i;84X@%!B4^nHj%T)xcwJQ(|VA# zOlTL5!_k!QZUMix9;CB3czcV}37tY3e2%ZeMIjD%t9RWgV4f7|54?5?!^(X*cpGE&S-38@cAt>K+VnMI)0rot9;+|?f<6n##F!{%!e^|>{ z#-K2l_7Y(@{Y#-=gm>#vIF#jMKF1^LSE5=o1byU2Ymen4)b|vYV2jf74En1~S#qEO zZn2%P7dX~XfzV{txxRJpq&*BqxREGl6p$O40j$$d_=wn^>`8bhyE`Aj6DHF6<7ud2*$e3gBG5rw~=5dRy& zEiO3P4uCG6!hDSd)ATdERwF=H9YG!h*Xg0t?=i62Q=_A@NZXx zq+bKa(+lABcA);;=?(>-^)GnKUdN25aApw)I`CVN!4!6)Nw}Ubq9*NzAIuA2G7o{d zg8~RDtcy@w@tu9p8||PTrg)UvF^t-zoZ3iz3FY887232)y$kBYF7$U0@qd8Q0(S^|9@`7DLjipot7xa&A% zt14%va{?;6ew_GJ*oF4vwq%>pS__5lekkSJ-~sVJ+h#cBxEx(rZ8o@k!To!8hcff8K{AMkX{#&qy)D?kJi?kQ-DPC|RM z+7%4F)&SPs-=P%gfq#N8GE+8u#fMSFTLKntfrpDm&RSsEo^^kXmH8>K?wz>0aya@N zhR6S-#9=69ELbxFu}VZU9zZ{q7*v9Xh@auizjQIe)9DV7kFP?f(u?@6gOVT~9<-z2 zZ?i!9y@qw+P3#=Lhgzfs3WZ6SVCfrwU5QSc(qCZKI>waTb}R z47&SsSkHp7l2u|Q6JXB1;Wa`2<$AYIp(25G}{C2S|n@ z`(fy44?FHT;*j+tpbtyNJbwtkEgqx%Pwd%#BVushRt*)=Fw{i`1|6C#5<8KLcs2#O z>jGw{CsBu8LmJLz7CI{QfNpFA-*^P9qzr81MRe)dg-n@-U3;?oam0=SzUB)WgHdFT zHYhW`hk_s*nSZ@&8}dW}B4ac1L?Q_1K;#i4)TSz@5xqtNa2+1RSGHm$J^?Ro#u~uvX8?3=<0skYY>04%J$oNI&n}uba?Sg=DwXu#FbgZ8%h-oqsGL5CweAtTyAvS$ zW87-=uXqUS`g6`+Di^e1tz!%H*bIj!G}&uGaa?o|=&sUCDbdU3BHoPvD_b#Uj2tAb z3a_@A_7vuM25|*S?Y9;?1vR3}&tDk#3dRrU4Re(71;%?p1;>Z;+&7E&&UB(1uV)X4 z>JSjB)nHJ!V?9mA-iwRZbqQ=}I#!Yz*X!sFVRTL-4+ldxv=!r9f*gJZPCDnHxq8_p zbhS7?gHm$2lXP}c<%o|2yaPK_yhDiXE=M1_GO@5<%Rv0sQwl_P8o1q3w;Xe7IU+L_ zS~Vr(GsaDHB%+f%Qb%a(>LmOLw{YVAW zu^L217~*0zqNV`7N}3Q?X0Y!u?w9b}&S1u$#p;j?N;YFrFYq!xKLLeBG>F|n+QMn2 z2m(PQ{!|p|w zhmRbUjsaxBt;jB(P=#xqZ$Wjn2Kua}m`|QqBPDQ3j6*aBlRL?i zpIwFBNj@|WYF89it1prJnz2HJpijU#5cN->FOQD?7L?XmI78Ai;tWHGJe zeezE*TSLQ%QM8kaWWQ<2)PNxUNpS{oc%1;+cb=E7qlf==wQ;{9)Xq z$y^^`{~&e01&xHp{UGN5FzrQX1T%>SLJGZQCDg!1h99{UTI^)4Ij(6wJ_yud}i^P6(Tl#{rjeH+IN^3X-{>pQQ=npWLf-76o89{PRs^I1=8Gu1** z_b3tl99SN*Ln_1LQ0TW|DdBzLjq=;Fb)m!3N8p}VEb|P@4eJjJlm9Bq3pp6r5wH_Z zv~R=R@0LsxBJ;jxFHwuez8*~@jJpdv)$LS)tDX6fKpvPCQtzMU zRY8axg>beJT65q**NX0lH!U$b(L}=FKl@LPG|U8;6pj+i;tw#FCtUxdsR?gX4bQNJ zoYg$Opx0j>%2Pb8j8bk^Xu=vo)1=)Y7Tp(UGdIJ+)*E<$ylpBpY&ekwT9j2R@go_uEi*X8r#e&n~^%?PQ~mW zr3aIV+(f}9e`SbTMhh1!E+`@+_QRXk0KeVD@Q>sYxjQUb?hK0!4VJ9)yyeWD>mG|6 zIMyTR+1>kB{|iH}-Cs5MbdT=#;LW(}TbrJ`nte6;+VUI5_ME#3{e{DiPpD^U)@_V! z{4)P^>F4r3MRP<~#G4U~3RC!y93H`;JESW^HU&?>52_+)ZP5NeN@5ZBiB|dMqp$fc zU()YG@hb78u-#*re#?AFvt1Q+ziMF1K*3f1|X~;I>kb;2- z1O@S><4rh#Wx2%2k?+%>dL({g*hxN|eXCfZtR!YEDQ6@TXTi}dBMaE|yjjoPUP+#p zxTUNOjAGh$7u?6Fc6gl7?8%n<28V7PI+;JBOVl?R^DH`>)$ytGf~(T~F4l|Rv4>lQ z4st6Ji72c86^%dZ6!uPfe4noc1mwi*50s z`S8TGfelh~Sh}JyVzW}AjEkrXXUWrK=cO-%Bn58>dL^(@vel0+_=2c~tE3*q9Z0%d(aVmJBH;6fxmv!k(3JLR&+=2!`udU`#-cqKn!+o>PYP3b! zJJHW{4@isE7Bnidq**#GN30*(KDK}EI0UcFIOM;z(8F$kT6{fpYg)PzHMHHhH~0eX z2`7njsH+vi-=G%G0Joqo+K9W|P0%i$gJLlmwN5qtDP(OC_J(q-sL80RPB524)6&XD z=U|VEUdseO3Q510;6q#y^mqtgdN<^w;K0B>u|xPhzm~g>EONbNjncCm)jA%t9X78scI)Hy@9Xmod=qI|ZrkBF z<7{vrq_+^+;44U|7~ZEBz#XkkE zmmUdAQY0(CiF^|D(`}rH*F6ih5XzFK1`~nP;uhgiuYK%xTA!^=-!Rjr;tZAD z`|fs3+q>6Gt`;|Jt{<(l{#o|ttv@f-mDiv6%XzKyX26{j{ej~#bJ@0+8I_QtB?hmQ z_bFqepN?6zY}K+|F|*Nzs0+w+V)=aNe26l*GO#G%4zBSTNjrS+-jn>tKU;iIMENxH z^}KS{0KJE*v()J&+F&(*QaZj}rBfZ5kWH`GjL+>h{LfryYjkXP7P^An&x56~LVGE7 z{fbpG5YB%b^s~%@_r@6Z%MGqX=(XN=>(R;Z9<|pIXz#MtTU4N}dQdmtZFh}Zb8@~-2xG7r*ZjvkXnSFZ7&{$?U>T&p@io;sO3 zO=#M+we#nVUt5;jpQb8MajSCXQT6r~YloR@I&L_lUyXCNm4=s%S4~NlgVtTP5%lEU zXX`=rKi0Cr{H@7lEHmyf78(a|HntD42!XwolGB`w6i$=pOFr#>WZ+cDwy^CAm9isB z7CjuTMDK~i(Tz)fj@l488u7B?H+h%rOXdY+H@-S_T(;>L+-xg9UFIBEt z;)t$Vx_{~A=#Q4%k90*?!-vCehPH>Wf(rtb0Tcce;#9u|Ux9GBK)|o|Ah`sqlCZc0 z4v{6!@crB&jZFQ?)TPPJ$@-~R)VnoJTE+Z748^8TEgNla`|A{39Z|IkfnI(G?y|2y zml%p!d5$Kb|A6^>7@Z~e6Ft~pZ*ey}eWeBNFK`_&r+OZRNP%rm5(Sj3H(qX9I7y z=M(%|?IE6hUDEF4}6Fo<{QZ|h|M|;X?v`v_kjS~Hby4*SXT-03moLQHrPc}Yj z&aoETi>P?lUUwAgu2rZH6gnTGRQ77yMXQ&!(b8pEW<6&W+g8G7al7?DmH{(qR+=(! z;@YcUqqokF%!lY}^$mvArsphOwr*+_jbco&N5Dg!^?kwrLg4QqYh@qH6BPLo$;x8o zR^{yoi()FgM!qXdCc7ey4ap3$OC;j2gM>S>gcgu17x>P$Jy4=Yd8NY zsZXgR{+znRs(Yor=dZ2JLpNhP(|b81k52z*USZEB5_x-l=#tuyLiu`S%#zThtI*ly zXpDKOF8Ze>QBftzc7<8a3L`=%f`0}dXY@Pd%lG+^-{PU?=$Q3Hj$24|SsP3meZH<# zyKc5o)2N9@Px?pZj_Ex0B?i*8#eBq4VLfRpvL`rxMIBIzzQ~#IRcxc4#=U2$YdPvH zOz2BTP;c1bTIQ^DjM^xR*u2)*t}mVcUdPi-%q8ml=8N=2Mh@0uu``{P&B$P>ISP+S zPX&J%PJm4BZ~6DVhH)ax;H~AHWyzUcj8W7fo`$z~7UOmDPv&a&IH!PT^hou3i7)jo z#v>5!uUxNukE7h}Y!0)CpxlR?DUOx40*k~e@kdiOPMQkf zVY=I*HLnH}sxv}&VdyjH4AI6sW22F8T4TyX7xrbQyT*5nr149Gz;H^xR-XuZXG-5; zSYmRSGi{;NHaCkg%DT;~jNMR2nP~_|R{O&vMU`tW&i0_FD$&Y}Q2K{jQ#OI*Zz#xjx$X)|HXEEq_j2 z`sB|CF6*xR`)X3lk-v}L5%hHr_e=`rwwix*7Lz(&lfdlvZlGK$40}C%NyHxI#z=D{ zy5L0JkF+W4BT^Ja@)eS-CKs*)&8SB;!2!3( z(QfOpG@7anzsxty`D)K=DrQ78(KDu*-Lr*rd_7@Gv(`AI?p?&U%zYfvL+Evu-|oFf zP!6ZX!`_GZ4|pB%=->u&KE;)0k?HU;@&pMn&Dck-fa+4q>SkAR)^lgLn|WXGHuAdR z{T9nnvVB=B5ETPNJ^g>E__|QvIEQnZ1l)DKkMqn6@F2n(fr=Q7D91(WH zX0-%b-Z0miNYmrSZH7Ji-1)US`J8(8yyoqh2(@michWksV`9U^t%>2u{OK>DK#|T@ z7)z~nl$2h{Oa!|Y;rpb&D{z%m5SAbQPJ~v;jT(#kbjj$Fxh3^W)-SmjrHLdX^%37F z>gAhcyF#o1bAC_wSUnzN$!WDVuHhlgj`5zM(>=r;PWzuXRyF^AHM;TmUxLQHSKF`k zwUo4tbPU|x(*N|xrpeOTzYIOLU);gWXx;!n$v4HnCGfA1SXr37D!f^-H{v+@y2L7` z<=J6pLd!zpgAPh6{Z0xGd1rfW;O4NtV-WOTT|ZFm_UCLXtq0-h8Dq(|3|fk;PueWD zui-*@){%tx=F{oK>l4O5EwHXfM+axU*ee&b^K^wo*&H zsZpPmT z(nls}~iip5g^GfpxxKrc2ksUc@dr&mrHCq~A@#wS#n#aaW#je3&0jVrUq9W_*Q))y<90^(^8ROr z^T*Gr=jIYjMfN&(2YHFRm488aNIVwM8N5F9g|JKV;)VNZbZS{6H_9?X-wW9s#0c0f zKH+;tP~lb0Gq8^`e_{9&7ik~5;s5P4q1Sr~^&E8uWM?&M2s;*itFushmAb4rL&%4_ zR0MXNLMJ3hs6$Ax3u}dg96{}KG}s$#Us;nZ%_b>ysIfXTt}!)TKc$!oojNmhar)_* z4YNaYcl1*8AGQ+byYyAedmJG;qs02C;a1;*_7H)77erIO{la5Deu8KCFL-X^6?0}- zA26dxZ^klWFWrgi)Lv8pd9+%15phs^&4oAJe_Wf~NwgsB*H05`Q9*i_Y$K)21JLko zWgSIVEGcyIJ*e941p)Cjs-vYi)Ay#CL47<;(ZLwzTXp6P(@zHVe6a2jZL&tHo|wEe zUNbf^vUzyv{f$GCp%X*S`yQjmRK=5h>JsgbdZy)9#}V2Q<}M!FdxP&<|LH)1^rmci z_=6FH%GjutOK8z2qpi`p=(Ewu(Z4O>pqJN-GAkk{JTz>B)D}pI_Xf%W-B8!%-hAgqd`rvqfEMYEwpRY%W4Ds-uX{q^W+kP|AA?!~^lN>UdMh64!a$S7cy!y$>D46*#y5 z66XgdI4rJ#i}#@IJ?oS?(X`u8Io~tK(I#n%)RO7tQ!SGnlh00NPHWYEv&ZH#^-E0& z)cEql2|rQ^6)m6L!Or1~a?-h{xINqf?m2E6w~@1y zQ_9w{5?Q;M|0YMl(S{O2y2@SVigTWK7;Sb-t7*GoRQJ5LW#-js&&gg@?dTuFy!)+# z)`6-4)j-SOw)>YynpB&oHfTQA-7`L5`@(sL?qo`MEBUd)9zV~3wxH$G)iMwHp71Xe z+ag%Xx0I#IL&_JFbLj3=pm;4@7p9Q8LiPn+kR0(tp`L$&J4AN7f3T;U2%T0PHPJDm z8!YLoy_a|Q(wzgH9koXM4fMEV&Oq{EH@ zTd+0L{F*UQZ1Crs~{l22`#5=^gB&(H9*MY=4*R`UtlFeRczF{CUrr`$v5 zMR_;)1pB&u^F*bhEus-$k*|+%K(NPKg9^(oUJ>Ur)?xBIlx?2wRnBrKo;fzDH4kg5 z4^%cimKy7jE!ojT<+&1Q6upWO%dB9j*c#4n+(cdhuavi+x1G0@w+YU-O<;s}aee~x zSIev*w=ibtt7*Beb<~6{-tvm^t@$0=olwHJjISD-8g3dQ2OIh&{o(zl{=C6G_a{fX zRmoFcnmFAzMun}_xtVBUnR(;_y Ys=Pk(+T^v?>lHlGy&}9Uo^|MM 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 z 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 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/audio/outtro.wav b/src/com/jotuntech/sketcher/client/audio/outtro.wav new file mode 100755 index 0000000000000000000000000000000000000000..2d9648f7a75df33a252b77225b25dc775367b135 GIT binary patch literal 88096 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 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/command/CanvasCommand.java b/src/com/jotuntech/sketcher/client/command/CanvasCommand.java new file mode 100755 index 0000000..69329b9 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/CanvasCommand.java @@ -0,0 +1,56 @@ +package com.jotuntech.sketcher.client.command; + +import java.lang.reflect.InvocationTargetException; +import java.nio.ByteBuffer; + +import javax.swing.SwingUtilities; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Log; +import com.jotuntech.sketcher.common.User; + +public class CanvasCommand implements Command { + protected int width, height; + + public CanvasCommand() { + + } + + public CanvasCommand(int width, int height) { + this.width = width; + this.height = height; + } + + public int perform(final Client client, User user) { + try { + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + /** Create and set new canvas */ + client.setCanvas(new Canvas(width, height)); + Log.info("Created canvas."); + } + }); + } catch (InterruptedException e) { + Log.error(e); + } catch (InvocationTargetException e) { + Log.error(e); + } + + /** Return silently */ + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + width = in.getInt(); + height = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(width); + out.putInt(height); + } + +} diff --git a/src/com/jotuntech/sketcher/client/command/CreateLayerCommand.java b/src/com/jotuntech/sketcher/client/command/CreateLayerCommand.java new file mode 100755 index 0000000..b636cae --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/CreateLayerCommand.java @@ -0,0 +1,56 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; + +public class CreateLayerCommand implements Command { + int layerKey; + int type; + String name; + + public CreateLayerCommand() { + + } + + public CreateLayerCommand(int layerKey, int type, String name) { + this.layerKey = layerKey; + this.type = type; + this.name = name; + } + + public int perform(Client client, User user) { + Layer l = new BitmapLayer(name); + client.getCanvas().getLayerMap().put(layerKey, l); + + if(user != null) { + client.getUserInterface().println(user.getName() + " created layer " + l.getName()); + } + + return Connection.SEND_ALL; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + type = in.get(); + StringBuffer nameBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + nameBuffer.append(in.getChar()); + } + name = nameBuffer.toString(); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + out.put((byte) type); + for(int i = 0; i < name.length(); i++) { + out.putChar(name.charAt(i)); + } + } + +} diff --git a/src/com/jotuntech/sketcher/client/command/CursorCommand.java b/src/com/jotuntech/sketcher/client/command/CursorCommand.java new file mode 100755 index 0000000..6962c08 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/CursorCommand.java @@ -0,0 +1,56 @@ + +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.Input; +import com.jotuntech.sketcher.common.User; + +/** Cursor command. + * @author Thor Harald Johansen + * + */ +public class CursorCommand implements Command { + Input input; + + /** Constructs an Cursor command. */ + public CursorCommand() { + + } + + /** Constructs an Cursor command. + * @param user Source user. + * @param input Cursor position */ + public CursorCommand(Input input) { + this.input = input; + } + + public int perform(Client client, User user) { + if(user == null) { + /** Signed in users only. */ + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + user.setCursor(input); + + /** Return and broadcast. */ + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + input = new Input(); + input.decode(in); + } + + public void encode(ByteBuffer out) { + input.encode(out); + } +} + diff --git a/src/com/jotuntech/sketcher/client/command/DeleteLayerCommand.java b/src/com/jotuntech/sketcher/client/command/DeleteLayerCommand.java new file mode 100755 index 0000000..23c2732 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/DeleteLayerCommand.java @@ -0,0 +1,74 @@ +package com.jotuntech.sketcher.client.command; + +import java.awt.image.ImageObserver; +import java.nio.ByteBuffer; +import java.util.HashSet; +import java.util.Set; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; + +public class DeleteLayerCommand implements Command { + int layerKey; + + public DeleteLayerCommand() { + + } + + public DeleteLayerCommand(int layerKey) { + this.layerKey = layerKey; + } + + public int perform(Client client, User user) { + if(user == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + Canvas canvas = client.getCanvas(); + Layer layer = canvas.getLayerMap().remove(layerKey); + + if(layer == null) { + return Connection.SEND_NONE; + } + + // Remove references to layer from undo deque + for(User u: client.getUserMap().values()) { + Set uers = new HashSet(); + for(UndoEntry ue : u.getUndoDeque()) { + if(ue.getLayer() == layer) { + uers.add(ue); + } + } + for(UndoEntry ue : uers) { + u.getUndoDeque().remove(ue); + } + } + + if(canvas.getImageObserver() != null) { + canvas.getImageObserver().imageUpdate(null, ImageObserver.ALLBITS, 0, 0, canvas.getWidth(), canvas.getHeight()); + } + + /** Notify the user */ + client.getUserInterface().println(user.getName() + " deleted layer " + layer.getName()); + + /** Return and broadcast. */ + return Connection.SEND_ALL; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + } +} diff --git a/src/com/jotuntech/sketcher/client/command/FilterCommand.java b/src/com/jotuntech/sketcher/client/command/FilterCommand.java new file mode 100755 index 0000000..47c63e6 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/FilterCommand.java @@ -0,0 +1,82 @@ +package com.jotuntech.sketcher.client.command; + +import java.awt.AlphaComposite; +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.common.filter.Filter; + +public class FilterCommand implements Command { + private Filter filter; + private int x, y, w, h; + float a, b, c; + + public FilterCommand() { + + } + + public FilterCommand(Filter filter, float x, float y, float w, float h, float a, float b, float c) { + this.filter = filter; + this.x = (int) x; + this.y = (int) y; + this.w = (int) w; + this.h = (int) h; + this.a = a; + this.b = b; + this.c = c; + } + + public int perform(Client client, User user) { + if(user == null) { + return Connection.SEND_NONE; + } + + BitmapLayer pl = (BitmapLayer) user.getPhantomLayer(); + filter.setSize(w, h); + filter.setParameterA(a); + user.getLayer().copyTo(pl, null, false, x, y, x, y, w, h); + pl.setAlphaRule(AlphaComposite.SRC); + pl.setOpacity(1); + pl.applyFilter(filter, user.getLayer().getImageObserver(), x, y, w, h); + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + x = (int) in.getFloat(); + y = (int) in.getFloat(); + w = (int) in.getFloat(); + h = (int) in.getFloat(); + a = in.getFloat(); + b = in.getFloat(); + c = in.getFloat(); + + StringBuffer filterNameBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + filterNameBuffer.append(in.getChar()); + } + String filterName = "com.jotuntech.sketcher.common.filter." + filterNameBuffer.toString(); + try { + filter = (Filter) Class.forName(filterName).newInstance(); + } catch (Throwable t) { + t.printStackTrace(); + } + } + + public void encode(ByteBuffer out) { + out.putFloat(x); + out.putFloat(y); + out.putFloat(w); + out.putFloat(h); + out.putFloat(a); + out.putFloat(b); + out.putFloat(c); + String filterName = filter.getClass().getSimpleName(); + for(int i = 0; i < filterName.length(); i++) { + out.putChar(filterName.charAt(i)); + } + } +} diff --git a/src/com/jotuntech/sketcher/client/command/KickCommand.java b/src/com/jotuntech/sketcher/client/command/KickCommand.java new file mode 100755 index 0000000..c592085 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/KickCommand.java @@ -0,0 +1,58 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.client.UserInterface; +import com.jotuntech.sketcher.common.User; + +public class KickCommand implements Command { + int targetKey; + String reason; + + public KickCommand() { + + } + + public KickCommand(int targetKey, String reason) { + this.targetKey = targetKey; + this.reason = reason; + } + + public int perform(Client client, User user) { + if(user != null && user.isViewer()) { + return Connection.SEND_NONE; + } + + User targetUser = client.getUserMap().remove(targetKey); + client.getUserInterface().println(targetUser.getName() + " was kicked out (" + reason + ")"); + + if(targetUser == client.getConnection().getUser()) { + client.getConnection().setTimeOfDeath(System.currentTimeMillis()); + } + + if(client.isSoundEnabled()) { + UserInterface.AUDIO_KICK.play(); + } + + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + targetKey = in.getInt(); + StringBuffer reasonBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + reasonBuffer.append(in.getChar()); + } + reason = reasonBuffer.toString(); + } + + public void encode(ByteBuffer out) { + out.putInt(targetKey); + for(int i = 0; i < reason.length(); i++) { + out.putChar(reason.charAt(i)); + } + } +} \ No newline at end of file diff --git a/src/com/jotuntech/sketcher/client/command/LayerDataCommand.java b/src/com/jotuntech/sketcher/client/command/LayerDataCommand.java new file mode 100755 index 0000000..1a791bd --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/LayerDataCommand.java @@ -0,0 +1,66 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; + +public class LayerDataCommand implements Command { + int layerKey; + boolean phantom; + byte[] data; + + public LayerDataCommand() { + } + + public LayerDataCommand(int layerKey, boolean phantom, byte[] data) { + this.layerKey = layerKey; + this.phantom = phantom; + this.data = data; + } + + public int perform(Client client, User user) { + Canvas canvas = client.getCanvas(); + + if(canvas == null) { + return Connection.SEND_NONE; + } + + Layer layer; + + if(phantom) { + if(user == null) { + return Connection.SEND_NONE; + } + + layer = user.getPhantomLayer(); + } else { + layer = canvas.getLayerMap().get(layerKey); + + if(layer == null) { + return Connection.SEND_NONE; + } + } + + layer.decode(data); + + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + phantom = in.get() != 0; + data = new byte[in.remaining()]; + in.get(data); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + out.put((byte) (phantom ? 0xFF : 0x00)); + out.put(data); + } +} diff --git a/src/com/jotuntech/sketcher/client/command/LineCommand.java b/src/com/jotuntech/sketcher/client/command/LineCommand.java new file mode 100755 index 0000000..37ab3a9 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/LineCommand.java @@ -0,0 +1,73 @@ +/** + * + */ +package com.jotuntech.sketcher.client.command; + +import java.awt.AlphaComposite; +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.Input; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; + + +public class LineCommand implements Command { + protected Input input; + + /** Constructs a Daub command */ + public LineCommand() { + + } + + /** Constructs a Daub command. + * @param user Source user. + * @param input Position of new daub. */ + public LineCommand(Input input) { + this.input = input; + } + + public int perform(Client client, User user) { + if(user != null && user.getLayer() != null && user.getBrush() != null) { + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + Layer l = user.getPhantomLayer(); + l.setOpacity(Math.abs(user.getBrush().getOpacity()) / 255f); + if(user.getBrush().isLockTransparency()) { + l.setAlphaRule(AlphaComposite.SRC_ATOP); + } else if(user.getBrush().getOpacity() >= 0) { + l.setAlphaRule(AlphaComposite.SRC_OVER); + } else { + l.setAlphaRule(AlphaComposite.DST_OUT); + } + + /** Draw line */ + Input end = user.getPhantomLayer().line(user.getCursor(), input, user.getColor(), user.getBrush(), user.getLayer()); + + if(end != null) { + /** Move cursor on success */ + user.setCursor(end); + + /** Return and broadcast */ + return Connection.SEND_OTHERS; + } + } + + /** Return silently */ + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + input = new Input(); + input.decode(in); + } + + public void encode(ByteBuffer out) { + input.encode(out); + } +} + diff --git a/src/com/jotuntech/sketcher/client/command/MergeCommand.java b/src/com/jotuntech/sketcher/client/command/MergeCommand.java new file mode 100755 index 0000000..d98b8e7 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/MergeCommand.java @@ -0,0 +1,45 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; +import java.util.Deque; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; + +public class MergeCommand implements Command { + public int perform(Client client, User user) { + if(user == null || user.getLayer() == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + if(user.getPhantomLayer().isEmpty()) { + return Connection.SEND_NONE; + } + + UndoEntry undoEntry = new UndoEntry(); + undoEntry.setLayer(user.getLayer()); + undoEntry.setUndoData(user.getLayer().merge(user.getPhantomLayer())); + Deque undoDeque = user.getUndoDeque(); + undoDeque.addFirst(undoEntry); + while(undoDeque.size() > 10) { + undoDeque.removeLast(); + } + + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + + } + + public void encode(ByteBuffer out) { + + } +} diff --git a/src/com/jotuntech/sketcher/client/command/MoveCommand.java b/src/com/jotuntech/sketcher/client/command/MoveCommand.java new file mode 100755 index 0000000..db04bf6 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/MoveCommand.java @@ -0,0 +1,68 @@ +package com.jotuntech.sketcher.client.command; + +import java.awt.AlphaComposite; +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.BitmapLayer; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; + +public class MoveCommand implements Command { + private float sx, sy, dx, dy, w, h; + + public MoveCommand() { + + } + + public MoveCommand(float sx, float sy, float dx, float dy, float w, float h) { + this.sx = sx; + this.sy = sy; + this.dx = dx; + this.dy = dy; + this.w = w; + this.h = h; + } + + public int perform(Client client, User user) { + if(user == null || user.getLayer() == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + if(user.getPhantomLayer().isEmpty()) { + Layer pl = (BitmapLayer) user.getPhantomLayer(); + pl.setAlphaRule(AlphaComposite.SRC_OVER); + pl.setOpacity(1); + user.getLayer().copyTo(pl, null, false, sx, sy, dx, dy, w, h); + } else { + user.getPhantomLayer().copyTo(user.getPhantomLayer(), user.getLayer().getImageObserver(), true, sx, sy, dx, dy, w, h); + user.getPhantomLayer().clean(); + } + + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + sx = in.getFloat(); + sy = in.getFloat(); + dx = in.getFloat(); + dy = in.getFloat(); + w = in.getFloat(); + h = in.getFloat(); + } + + public void encode(ByteBuffer out) { + out.putFloat(sx); + out.putFloat(sy); + out.putFloat(dx); + out.putFloat(dy); + out.putFloat(w); + out.putFloat(h); + } +} diff --git a/src/com/jotuntech/sketcher/client/command/PingCommand.java b/src/com/jotuntech/sketcher/client/command/PingCommand.java new file mode 100755 index 0000000..1dbd192 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/PingCommand.java @@ -0,0 +1,32 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.User; + +public class PingCommand implements Command { + private long timestamp; + + public PingCommand() { + this.timestamp = System.currentTimeMillis(); + } + + public PingCommand(long timestamp) { + this.timestamp = timestamp; + } + + public int perform(Client client, User user) { + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + timestamp = in.getLong(); + } + + public void encode(ByteBuffer out) { + out.putLong(timestamp); + } +} diff --git a/src/com/jotuntech/sketcher/client/command/SayCommand.java b/src/com/jotuntech/sketcher/client/command/SayCommand.java new file mode 100755 index 0000000..0ac677b --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/SayCommand.java @@ -0,0 +1,62 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.client.UserInterface; +import com.jotuntech.sketcher.common.User; + +public class SayCommand implements Command { + boolean isAction; + String text; + + public SayCommand() { + + } + + public SayCommand(String text, boolean isAction) { + this.isAction = isAction; + this.text = text; + } + + public int perform(Client client, User user) { + if(user == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + + if(isAction) { + client.getUserInterface().println("\u2022 " + user.getName() + text); + } else { + client.getUserInterface().println("<" + user.getName() + "> " + text); + } + + if(client.isSoundEnabled()) { + UserInterface.AUDIO_CHAT.play(); + } + + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + isAction = in.get() != 0 ? true : false; + StringBuffer textBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + textBuffer.append(in.getChar()); + } + text = textBuffer.toString(); + } + + public void encode(ByteBuffer out) { + out.put((byte) (isAction ? 0xFF : 0x00)); + for(int i = 0; i < text.length(); i++) { + out.putChar(text.charAt(i)); + } + } +} diff --git a/src/com/jotuntech/sketcher/client/command/ServerMessageCommand.java b/src/com/jotuntech/sketcher/client/command/ServerMessageCommand.java new file mode 100755 index 0000000..4424333 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/ServerMessageCommand.java @@ -0,0 +1,41 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.User; + +public class ServerMessageCommand implements Command { + String text; + + public ServerMessageCommand() { + } + + public ServerMessageCommand(String text) { + this.text = text; + } + + public int perform(Client client, User user) { + /** Notify the user */ + client.getUserInterface().println(text); + + /** Return silently. */ + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + StringBuffer textBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + textBuffer.append(in.getChar()); + } + text = textBuffer.toString(); + } + + public void encode(ByteBuffer out) { + for(int i = 0; i < text.length(); i++) { + out.putChar(text.charAt(i)); + } + } +} diff --git a/src/com/jotuntech/sketcher/client/command/SetBrushCommand.java b/src/com/jotuntech/sketcher/client/command/SetBrushCommand.java new file mode 100755 index 0000000..ed65649 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/SetBrushCommand.java @@ -0,0 +1,57 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.client.Editor; +import com.jotuntech.sketcher.common.Brush; +import com.jotuntech.sketcher.common.User; + +public class SetBrushCommand implements Command { + Brush brush; + + public SetBrushCommand() { + + } + + public SetBrushCommand(Brush brush) { + this.brush = brush; + } + + public int perform(Client client, User user) { + if(user == null) { + /** Signed in users only */ + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + Brush oldBrush = user.getBrush(); + user.setBrush(brush); + + if(user == client.getConnection().getUser()) { + /** Update the GUI */ + client.getUserInterface().updateBrushSliders(); + + if(oldBrush == null) { + /* Enable editor when first brush is selected */ + client.getUserInterface().getEditor().setState(Editor.State.DRAW_HOVER); + } + } + + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + brush = new Brush(); + brush.decode(in); + } + + public void encode(ByteBuffer out) { + brush.encode(out); + } +} diff --git a/src/com/jotuntech/sketcher/client/command/SetColorCommand.java b/src/com/jotuntech/sketcher/client/command/SetColorCommand.java new file mode 100755 index 0000000..55d864b --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/SetColorCommand.java @@ -0,0 +1,53 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.User; + +public class SetColorCommand implements Command { + static boolean firstWhite = true; + int color; + + public SetColorCommand() { + } + + public SetColorCommand(int color) { + this.color = color; + } + + public int perform(Client client, User user) { + if(color == 0xFFFFFF && user == client.getConnection().getUser() && client.getConnection().getUser().getBrush() != null && client.getConnection().getUser().getBrush().getOpacity() > 0 && firstWhite) { + client.getUserInterface().println("Use eraser unless drawing white. :-)"); + firstWhite = false; + } + + return perform(user) ? Connection.SEND_OTHERS : Connection.SEND_NONE; + } + + private boolean perform(User user) { + if(user == null) { + /** Signed in users only */ + return false; + } + + if(user.isViewer()) { + return false; + } + + user.setColor(color); + + return true; + } + + public void decode(ByteBuffer in) { + color = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(color); + } + +} diff --git a/src/com/jotuntech/sketcher/client/command/SetLayerCommand.java b/src/com/jotuntech/sketcher/client/command/SetLayerCommand.java new file mode 100755 index 0000000..e7bc186 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/SetLayerCommand.java @@ -0,0 +1,64 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.Canvas; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.User; + +public class SetLayerCommand implements Command { + Integer layerKey; + + public SetLayerCommand() { + } + + public SetLayerCommand(Integer layerKey) { + this.layerKey = layerKey; + } + + public int perform(Client client, User user) { + if(user == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + Canvas canvas = client.getCanvas(); + + if(canvas == null) { + return Connection.SEND_NONE; + } + + Layer layer = canvas.getLayerMap().get(layerKey); + + if(layer == null) { + return Connection.SEND_NONE; + } + + if(user.getLayer() == layer) { + return Connection.SEND_NONE; + } + + user.setLayer(layer); + + if(user == client.getConnection().getUser()) { + client.getUserInterface().updateLayer(); + } + + return Connection.SEND_OTHERS; + } + + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + } +} diff --git a/src/com/jotuntech/sketcher/client/command/SignInCommand.java b/src/com/jotuntech/sketcher/client/command/SignInCommand.java new file mode 100755 index 0000000..390bfe6 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/SignInCommand.java @@ -0,0 +1,96 @@ +/** + * + */ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.client.UserInterface; +import com.jotuntech.sketcher.common.User; + +/** + * @author Thor Harald Johansen + * + */ +public class SignInCommand implements Command { + Integer peerKey; + String login; + String password; + boolean viewer; + + public SignInCommand() { + + } + + public SignInCommand(Integer peerKey, String login, String password, boolean viewer) { + this.peerKey = peerKey; + this.login = login; + this.password = password; + this.viewer = viewer; + } + + public void decode(ByteBuffer in) { + peerKey = in.getInt(); + viewer = in.get() != 0; + int loginLength = (in.get() & 0xFF) + 1; + StringBuffer loginBuffer = new StringBuffer(); + for(int i = 0; i < loginLength; i++) { + loginBuffer.append(in.getChar()); + } + login = loginBuffer.toString(); + + StringBuffer passwordBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + passwordBuffer.append(in.getChar()); + } + password = passwordBuffer.toString(); + } + + public void encode(ByteBuffer out) { + out.putInt(peerKey); + out.put((byte) (viewer ? 0xFF : 0x00)); + out.put((byte) (login.length() - 1)); + for(int i = 0; i < login.length(); i++) { + out.putChar(login.charAt(i)); + } + for(int i = 0; i < password.length(); i++) { + out.putChar(password.charAt(i)); + } + } + + public int perform(Client client, User user) { + /** Create user */ + user = new User(login); + + /** Set viewer flag */ + user.setViewer(viewer); + + /** Put user in client user map */ + client.getUserMap().put(peerKey, user); + + if(client.getConnection().getUser() == null) { + /** Assign user to client */ + client.getConnection().setUser(user); + + /** Select a default brush */ + client.getUserInterface().getBrushButtons()[0].doClick(); + } + + /** Add canvas as phantom layer listener */ + user.getPhantomLayer().addImageObserver(client.getCanvas()); + + /** Print message */ + client.getUserInterface().println(user.getName() + " has signed in"); + + /** Play audio */ + if(client.isSoundEnabled()) { + UserInterface.AUDIO_SIGN_IN.play(); + } + + /** Return silently */ + return Connection.SEND_NONE; + } +} diff --git a/src/com/jotuntech/sketcher/client/command/SignOutCommand.java b/src/com/jotuntech/sketcher/client/command/SignOutCommand.java new file mode 100755 index 0000000..a4eda46 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/SignOutCommand.java @@ -0,0 +1,49 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.client.UserInterface; +import com.jotuntech.sketcher.common.User; + +public class SignOutCommand implements Command { + String message; + + public SignOutCommand() { + message = new String(); + } + + public SignOutCommand(String message) { + this.message = message; + } + + public int perform(Client client, User user) { + client.getUserMap().removeByValue(user); + + if(user != null) { + client.getUserInterface().println(user.getName() + " has disconnected (" + message + ")"); + } + + if(client.isSoundEnabled()) { + UserInterface.AUDIO_SIGN_OUT.play(); + } + + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + StringBuffer messageBuffer = new StringBuffer(); + while(in.remaining() >= 2) { + messageBuffer.append(in.getChar()); + } + message = messageBuffer.toString(); + } + + public void encode(ByteBuffer out) { + for(int i = 0; i < message.length(); i++) { + out.putChar(message.charAt(i)); + } + } +} diff --git a/src/com/jotuntech/sketcher/client/command/UndoCommand.java b/src/com/jotuntech/sketcher/client/command/UndoCommand.java new file mode 100755 index 0000000..e83abca --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/UndoCommand.java @@ -0,0 +1,35 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; +import java.util.Deque; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; + +public class UndoCommand implements Command { + + public int perform(Client client, User user) { + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + Deque undoDeque = user.getUndoDeque(); + if(undoDeque.size() == 0) { + return Connection.SEND_NONE; + } + UndoEntry undoEntry = undoDeque.removeFirst(); + undoEntry.getLayer().undo(undoEntry.getUndoData()); + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + + } + + public void encode(ByteBuffer out) { + + } +} diff --git a/src/com/jotuntech/sketcher/client/command/UndoDataCommand.java b/src/com/jotuntech/sketcher/client/command/UndoDataCommand.java new file mode 100755 index 0000000..e483154 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/UndoDataCommand.java @@ -0,0 +1,45 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; +import java.util.Deque; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.BitmapUndoData; +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; + +public class UndoDataCommand implements Command { + byte[] data; + + public int perform(Client client, User user) { + if(user == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + Deque undoDeque = user.getUndoDeque(); + + if(undoDeque.size() == 0) { + return Connection.SEND_NONE; + } + + BitmapUndoData bud = (BitmapUndoData) undoDeque.getLast().getUndoData(); + bud.decode(data); + + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + data = new byte[in.remaining()]; + in.get(data); + } + + public void encode(ByteBuffer out) { + out.put(data); + } +} diff --git a/src/com/jotuntech/sketcher/client/command/UndoEntryCommand.java b/src/com/jotuntech/sketcher/client/command/UndoEntryCommand.java new file mode 100755 index 0000000..71e5969 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/UndoEntryCommand.java @@ -0,0 +1,46 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.common.BitmapUndoData; +import com.jotuntech.sketcher.common.Layer; +import com.jotuntech.sketcher.common.UndoEntry; +import com.jotuntech.sketcher.common.User; +import com.jotuntech.sketcher.server.Connection; + +public class UndoEntryCommand implements Command { + Integer layerKey; + + public int perform(Client client, User user) { + if(user == null) { + return Connection.SEND_NONE; + } + + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + Layer layer = client.getCanvas().getLayerMap().get(layerKey); + + if(layer == null) { + return Connection.SEND_NONE; + } + + UndoEntry undoEntry = new UndoEntry(); + undoEntry.setLayer(layer); + undoEntry.setUndoData(new BitmapUndoData()); + user.getUndoDeque().addLast(undoEntry); + + return Connection.SEND_NONE; + } + + public void decode(ByteBuffer in) { + layerKey = in.getInt(); + } + + public void encode(ByteBuffer out) { + out.putInt(layerKey); + } +} diff --git a/src/com/jotuntech/sketcher/client/command/VoiceCommand.java b/src/com/jotuntech/sketcher/client/command/VoiceCommand.java new file mode 100755 index 0000000..b00d244 --- /dev/null +++ b/src/com/jotuntech/sketcher/client/command/VoiceCommand.java @@ -0,0 +1,37 @@ +package com.jotuntech.sketcher.client.command; + +import java.nio.ByteBuffer; + +import com.jotuntech.sketcher.client.Client; +import com.jotuntech.sketcher.client.Command; +import com.jotuntech.sketcher.client.Connection; +import com.jotuntech.sketcher.common.User; + +public class VoiceCommand implements Command { + boolean voiceEnabled; + + public VoiceCommand() { + + } + + public VoiceCommand(boolean voiceEnabled) { + this.voiceEnabled = voiceEnabled; + } + + public int perform(Client client, User user) { + if(user.isViewer()) { + return Connection.SEND_NONE; + } + + client.setVoiceEnabled(voiceEnabled); + return Connection.SEND_OTHERS; + } + + public void decode(ByteBuffer in) { + voiceEnabled = in.get() != 0; + } + + public void encode(ByteBuffer out) { + out.put((byte) (voiceEnabled ? 0xFF : 0x00)); + } +} diff --git a/src/com/jotuntech/sketcher/client/images/about.png b/src/com/jotuntech/sketcher/client/images/about.png new file mode 100755 index 0000000000000000000000000000000000000000..2e0c2a6991b9bb89801f17d1b4205bc8b13bd28d GIT binary patch literal 24638 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 RLh-72T}?xc1~rE_{{xIv^WOjf literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/ad1.png b/src/com/jotuntech/sketcher/client/images/ad1.png new file mode 100755 index 0000000000000000000000000000000000000000..e58a25e850d262a1793ab6f2d6ee2920a23fa945 GIT binary patch literal 54047 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 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/bezier.png b/src/com/jotuntech/sketcher/client/images/bezier.png new file mode 100755 index 0000000000000000000000000000000000000000..231a38bfb553884f5356c84336e5ca599e0dc72b GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hTL@pN$vskoJtlacY`JOk_3uU~t3RG1nVk{UB}a&rFgA8IjS&~4fL|NsB<90Cpr z%n4E-cQ#C%_|e`+c$0+#gCP?uhn4UW$yj9`1{MKf=2ixUh8Y?gWmy=QI+DbJLPyy^ z;;QG^85$MC=>*>WjdYL`N5#W l%)}xPSjjk_n}LakA>xbu+)Xd?tAXxi@O1TaS?83{1OW5QRRsV5 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/blue.png b/src/com/jotuntech/sketcher/client/images/blue.png new file mode 100755 index 0000000000000000000000000000000000000000..e69acfe08f77cbca173a525cdfe6435bcaf672da GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hT*@^oy_pikS`V1-O|u8VGbVY_t&QR=l_< zpm2he-G-wKj7M71)I^#Yl%;xQ8CV2nG5!!SPTJVg$f(e;VF$zV{*6&A0uDYma)0$7 z4+sfoVi6GjnAmrh8>r9aMCXi$hdPwl!14#4eg7X3%K&7zF!S6^3lRqzHZS9k|CECa zj4jGilAKF8TO2{QS#L??lHAzB=)~*5VEE9VxrgO4BaoGNo}DM+6U(<5OdJYsUYm^_ b8WPg*^c{nztDnm{r-UW|6(DJ< literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/brightness.png b/src/com/jotuntech/sketcher/client/images/brightness.png new file mode 100755 index 0000000000000000000000000000000000000000..e65526cea6a53536705f7cd3f8ef52ceeb11ce13 GIT binary patch literal 781 zcmV+o1M>WdP)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ;gGod|RCwBA{Qv(y10y5je+DuDP%k4u0I|R{^DuBS z@H6l-2s7|8h%g8+h%*QQu`n1*fN4RXxFC?l3zX$!;AY?eTMQ6DEHKl4GW=us!0?;l z8<6z|NIqa-0UF83z{T(vNdEvT{|v+*7}$YUu>nO{fg}h31Q6VS-(dWo;Va`mhW8AA zpd!B*7#M$ojb{KF!T>ZBXeJQ+1!8tE1rUITaW??~go0Q=eJJ8@|4p3ER2D~y3;6+( zPfie)qq(88<$)@TjOmtM*EewC2_S?4Y(ORt2Ll5iP@|wQ5Q{S~2#GN;h)4q2Vi2~V zC{SJqs19fdCok9lfB-@m!1NDj3((o@K&NtjV_@L_#K0g7v_+JafdQzOK@8|#VW6DQ zXNV=-TwrYg0faE%A5imepvIp-gT4Y4etZvf=5wH*feQZuo%{nxe*${#Ezp&`K+Flz z3J`z?dPf2Pf?_C|`0anM%wTxPYgDI7iu(`fMeYQzfk*C&u(BE^aL6u;^iGVRMKtZ6 z0D>F90!$9H(K;1FhF;1pm4h9wYlF)~a7 z>H`QMxB;w8{~36IJOS3f3_?H`itsQphynv$R1ipu0KG5H$RG?1LjhnI@&OIur0ReyjVx%-X0|XcVCU||;ny0L@00000 LNkvXXu0mjf)ng@6 literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/brush.png b/src/com/jotuntech/sketcher/client/images/brush.png new file mode 100755 index 0000000000000000000000000000000000000000..83a14936e5000385daa5a2e8531e75e905cfb67a GIT binary patch literal 489 zcmVvvpfdj~|5X0NdfTt-n&tb}7oNlO@I0UA4-cHLDqsWkuWKu1W=gUBz8GuVw)!v=;Risxh_?XGVQ*JNGO|qN=XnZ)( zmzW!VK!GIVDYsM9+5zy?%nB}5RRdqr+cXwi+4!!bIBOV9t^vHngkHaijiwUOW-&GF z7U`usA|8(mKwNi}UND-#rD>Y`+x`|xRxlh61Nf(tYbS=?7iWSZyZipixB!IjR-ApKHxvA{*eH-MQ(1qTrj~AQv^m<}E$`|^ z69n4bW&DsY0#JXmpC`d*0RHG~@{hZp`Ge!*6YMq{mr5M0d|Ku1&|~iTnu32j*crg* z10B8aD%Of>oV6Y%Lxalw(EO=sz}pWg(qB)hbT%+E5m35(kB;~UiJtB*0SK+3PUb%( f03k~j$!x(dk?xk4i>q%H00000NkvXXu0mjf=CR{v literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/cmy.png b/src/com/jotuntech/sketcher/client/images/cmy.png new file mode 100755 index 0000000000000000000000000000000000000000..88366a9d7ff741d972044c487427338a54d2f8e0 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP*5S+ zBgmJ5p-Pp3p`n?9;pcxK{gQ#9)PRBERRRNp)eHs(@%%~gN8NyG4|}>ehE&{IGC7*> zkO2=%x^muK;m^}1oLc-hqE5&om|dkKB{g-opG{$^wCA(-)M#nXZD%=R8iKdQrryqJ z&v`ya`{c@y;LZAeS%0?rl}^(3U95b6k;D5hx8xgdG4LEdz~Xa&cL%d_!P)AIN8ed) z7ulY>FG%Otk7X+YPm3K=+rQ>YuEnAir8c!ouI*cYeS5WI3Y*-_3u_mO2hNG^(C>Qg zlNEpVf!-X~%r{#ECiSG7ezgztSu6Qw3*RoKYubPMUf#d|(~_ZiTai-!yVgrU?=X0} L`njxgN@xNA!ex7Z literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/color.png b/src/com/jotuntech/sketcher/client/images/color.png new file mode 100755 index 0000000000000000000000000000000000000000..58883491b6408ff1028341499ca16123d6a075be GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx-l>?7J9lkhE&{2`t$$4J+rd%<9aqDh5&tK2L{8Y%pDvpNiGHxS|w#yNq-t78%{brEG#H+_+c;biGh*D?16SqJ4mRw*!f4iAVi3}=R51OJNh1c z=`ElB8Grcj$-v+r`=|Xijny&=4F}k2TEM1!{QS}RhdfjZbI*6i$kX*I%n}Fn1Ox;a zy6b*?V3cW4U=VOfV7_-aWM6yRpa10=dKK(nyBZo4m_6?Q{$3ypbX7|dgK}4}fL;av z6&|B-4-WyIKmY!+NAMUkun2UCJBT^Qe3O&%=+UqX771YCzPrC#ex4fxQwQra7q^nh z3U!Q^-!EKeC}hI)`TSmc_HtPVhK0utvA@~KAk4<9G~>VEx(SS6Cp%qY-`4$6IEX2o zh3h~2?)LtE{x`?{v$vHV&lLNIA;nYQ^&+hZ+HX} Y7!0D?J*teuK#|Je>FVdQ&MBb@0NMw#3jhEB literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/crosshair.gif b/src/com/jotuntech/sketcher/client/images/crosshair.gif new file mode 100755 index 0000000000000000000000000000000000000000..61ced1dde0e56942ed305f5093d305282cabe393 GIT binary patch literal 105 zcmZ?wbhEHbRA5kGn8?8J|Nnmm7^(P^g^_`Qi9rV_0+dw%vaP1{uRQ&hfAO3xx4Jjq z+hZ-jaF4NTalpKc6@3S^53R^yE!)s#o_Fx0HS;#BmBAN}8mYCPS@xN;*UOTX!5RQn CkSBrw literal 0 HcmV?d00001 diff --git a/src/com/jotuntech/sketcher/client/images/cyan.png b/src/com/jotuntech/sketcher/client/images/cyan.png new file mode 100755 index 0000000000000000000000000000000000000000..ac66843d917c231e217b09ebb848a326b24666dd GIT binary patch literal 274 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�t*#^(%6N9S% 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