From cbca1a486f7e3049d44978fe778548f85a0d7f1e Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Tue, 22 Oct 2013 15:39:30 -0400 Subject: [PATCH] Restructure and mavenize, should be able to do everything with a simple 'mvn package' now --- .gitignore | 9 +- MoparScape/pom.xml | 30 + .../src/main/java/org/moparscape/Debug.java | 71 + .../cacheutils/v317/ByteStream.java | 10 +- .../moparscape/cacheutils/v317/CacheFile.java | 10 +- .../cacheutils/v317/CacheIndex.java | 10 +- .../org/moparscape/cacheutils/v317/Main.java | 10 +- .../moparscape/cacheutils/v508/CacheFile.java | 10 +- .../cacheutils/v508/CacheFileSet.java | 10 +- .../cacheutils/v508/FileOnDisk.java | 10 +- .../org/moparscape/cacheutils/v508/Main.java | 10 +- .../org/moparscape/cacheutils/v508/Misc.java | 10 +- .../cacheutils/v508/RandomAccessFile.java | 10 +- .../classloader/CRCClassLoader.java | 10 +- .../classloader/CRCClassLoaderOrig.java | 10 +- .../org/moparscape/classloader/CRCJar.java | 10 +- .../classloader/MoparScapeLinks.java | 77 + .../org/moparscape/iface/ClientInterface.java | 10 +- .../java}/org/moparscape/iface/Hasher.java | 10 +- .../org/moparscape/iface/ServerInterface.java | 10 +- .../res/AbstractDownloadListener.java | 10 +- .../main/java}/org/moparscape/res/Base32.java | 20 + .../org/moparscape/res/ChecksumInfo.java | 10 +- .../moparscape/res/ChecksumInputStream.java | 10 +- .../org/moparscape/res/CompleteRunnable.java | 10 +- .../org/moparscape/res/DownloadListener.java | 10 +- .../java}/org/moparscape/res/MakeTorrent.java | 13 +- .../org/moparscape/res/NullOutputStream.java | 10 +- .../org/moparscape/res/ResourceGrabber.java | 10 +- .../org/moparscape/res/impl/BTDownloader.java | 10 +- .../moparscape/res/impl/BTDownloaderCRCs.java | 10 +- .../org/moparscape/res/impl/Downloader.java | 10 +- .../moparscape/res/impl/URLDownloader.java | 10 +- .../java}/org/moparscape/rsakeys/Base64.java | 10 +- .../org/moparscape/rsakeys/KeyGenerator.java | 20 + .../moparscape/security/SecurityManager.java | 10 +- .../java}/org/moparscape/userver/Server.java | 10 +- .../v317/ConcurrentOndemandServer.java | 10 +- .../userver/v317/JaggrabServer.java | 10 +- .../v508/ConcurrentOndemandServer.java | 10 +- .../userver/v508/OndemandServer.java | 10 +- cachedump/completeRSC/config.jag | Bin 0 -> 58819 bytes cachedump/completeRSC/entity.jag | Bin 0 -> 244467 bytes cachedump/completeRSC/entity.mem | Bin 0 -> 48212 bytes cachedump/completeRSC/filter.jag | Bin 0 -> 15377 bytes cachedump/completeRSC/fonts.jag | Bin 0 -> 9784 bytes cachedump/completeRSC/land.jag | Bin 0 -> 142383 bytes cachedump/completeRSC/land.mem | Bin 0 -> 154683 bytes cachedump/completeRSC/maps.jag | Bin 0 -> 37629 bytes cachedump/completeRSC/maps.mem | Bin 0 -> 59481 bytes cachedump/completeRSC/media.jag | Bin 0 -> 98729 bytes cachedump/completeRSC/models.jag | Bin 0 -> 289822 bytes cachedump/completeRSC/sounds.mem | Bin 0 -> 114375 bytes cachedump/completeRSC/textures.jag | Bin 0 -> 63685 bytes clientRSC/src/mudclient | 1 - clients/client317/pom.xml | 30 + .../client317/src/main/java}/client.java | 0 .../client317/src/main/java}/rs/Class11.java | 0 .../client317/src/main/java}/rs/Class18.java | 0 .../client317/src/main/java}/rs/Class21.java | 0 .../client317/src/main/java}/rs/Class29.java | 0 .../src/main/java}/rs/Class30_Sub1.java | 0 .../client317/src/main/java}/rs/Class33.java | 0 .../client317/src/main/java}/rs/Class36.java | 0 .../client317/src/main/java}/rs/Class39.java | 0 .../client317/src/main/java}/rs/Class4.java | 0 .../client317/src/main/java}/rs/Class40.java | 0 .../client317/src/main/java}/rs/Class43.java | 0 .../client317/src/main/java}/rs/Class47.java | 0 .../client317/src/main/java}/rs/Class6.java | 0 .../client317/src/main/java}/rs/Ground.java | 0 .../client317/src/main/java}/rs/MRUNodes.java | 0 .../client317/src/main/java}/rs/Node.java | 0 .../src/main/java}/rs/NodeCache.java | 0 .../client317/src/main/java}/rs/NodeList.java | 0 .../client317/src/main/java}/rs/NodeSub.java | 0 .../src/main/java}/rs/NodeSubList.java | 0 .../client317/src/main/java}/rs/Object1.java | 0 .../client317/src/main/java}/rs/Object2.java | 0 .../client317/src/main/java}/rs/Object3.java | 0 .../client317/src/main/java}/rs/Object4.java | 0 .../client317/src/main/java}/rs/Object5.java | 0 .../src/main/java}/rs/ObjectManager.java | 0 .../client317/src/main/java}/rs/RSApplet.java | 0 .../client317/src/main/java}/rs/RSFrame.java | 0 .../src/main/java}/rs/RSInterface.java | 0 .../client317/src/main/java}/rs/Sounds.java | 0 .../src/main/java}/rs/TextClass.java | 0 .../src/main/java}/rs/TextInput.java | 0 .../src/main/java}/rs/WorldController.java | 0 .../src/main/java}/rs/animable/Animable.java | 0 .../main/java}/rs/animable/Animable_Sub3.java | 0 .../main/java}/rs/animable/Animable_Sub4.java | 0 .../main/java}/rs/animable/Animable_Sub5.java | 0 .../src/main/java}/rs/animable/Entity.java | 0 .../src/main/java}/rs/animable/Item.java | 0 .../src/main/java}/rs/animable/Model.java | 0 .../src/main/java}/rs/animable/NPC.java | 0 .../src/main/java}/rs/animable/Player.java | 0 .../java}/rs/anticheat/MouseDetection.java | 0 .../src/main/java}/rs/cache/Decompressor.java | 0 .../src/main/java}/rs/cache/OnDemandData.java | 0 .../main/java}/rs/cache/OnDemandFetcher.java | 0 .../java}/rs/cache/OnDemandFetcherParent.java | 0 .../client317/src/main/java}/rs/client.java | 0 .../src/main/java}/rs/config/Animation.java | 0 .../src/main/java}/rs/config/Censor.java | 0 .../src/main/java}/rs/config/EntityDef.java | 0 .../src/main/java}/rs/config/Flo.java | 0 .../src/main/java}/rs/config/IDK.java | 0 .../src/main/java}/rs/config/ItemDef.java | 0 .../src/main/java}/rs/config/ObjectDef.java | 0 .../src/main/java}/rs/config/SpotAnim.java | 0 .../src/main/java}/rs/config/VarBit.java | 0 .../src/main/java}/rs/config/Varp.java | 0 .../java}/rs/constants/SizeConstants.java | 0 .../src/main/java}/rs/constants/Skills.java | 0 .../main/java}/rs/graphics/Background.java | 0 .../main/java}/rs/graphics/DrawingArea.java | 0 .../java}/rs/graphics/RSImageProducer.java | 0 .../src/main/java}/rs/graphics/Sprite.java | 0 .../java}/rs/graphics/TextDrawingArea.java | 0 .../src/main/java}/rs/graphics/Texture.java | 0 .../src/main/java}/rs/net/ISAACRandomGen.java | 0 .../src/main/java}/rs/net/RSSocket.java | 0 .../src/main/java}/rs/sign/signlink.java | 0 .../src/main/java}/rs/stream/Class13.java | 0 .../src/main/java}/rs/stream/Class32.java | 0 .../src/main/java}/rs/stream/Stream.java | 0 .../main/java}/rs/stream/StreamLoader.java | 0 clients/client508/pom.xml | 30 + .../client508/src/main/java}/Animable.java | 0 .../client508/src/main/java}/Applet_Sub1.java | 0 .../client508/src/main/java}/Canvas_Sub1.java | 0 .../client508/src/main/java}/Class10.java | 0 .../client508/src/main/java}/Class101.java | 0 .../client508/src/main/java}/Class102.java | 0 .../client508/src/main/java}/Class103.java | 0 .../client508/src/main/java}/Class104.java | 0 .../client508/src/main/java}/Class105.java | 0 .../src/main/java}/Class105_Sub1.java | 0 .../client508/src/main/java}/Class106.java | 0 .../client508/src/main/java}/Class107.java | 0 .../client508/src/main/java}/Class108.java | 0 .../client508/src/main/java}/Class109.java | 0 .../client508/src/main/java}/Class11.java | 0 .../client508/src/main/java}/Class110.java | 0 .../client508/src/main/java}/Class112.java | 0 .../client508/src/main/java}/Class113.java | 0 .../client508/src/main/java}/Class114.java | 0 .../client508/src/main/java}/Class115.java | 0 .../client508/src/main/java}/Class116.java | 0 .../client508/src/main/java}/Class118.java | 0 .../client508/src/main/java}/Class119.java | 0 .../client508/src/main/java}/Class12.java | 0 .../client508/src/main/java}/Class120.java | 0 .../client508/src/main/java}/Class121.java | 0 .../client508/src/main/java}/Class122.java | 0 .../client508/src/main/java}/Class123.java | 0 .../client508/src/main/java}/Class124.java | 0 .../client508/src/main/java}/Class125.java | 0 .../client508/src/main/java}/Class127.java | 0 .../client508/src/main/java}/Class128.java | 0 .../client508/src/main/java}/Class13.java | 0 .../src/main/java}/Class13_Sub1.java | 0 .../src/main/java}/Class13_Sub2.java | 0 .../src/main/java}/Class13_Sub3.java | 0 .../src/main/java}/Class13_Sub4.java | 0 .../client508/src/main/java}/Class14.java | 0 .../client508/src/main/java}/Class15.java | 0 .../src/main/java}/Class15_Sub1.java | 0 .../client508/src/main/java}/Class16.java | 0 .../client508/src/main/java}/Class17.java | 0 .../client508/src/main/java}/Class18.java | 0 .../client508/src/main/java}/Class1_Sub1.java | 0 .../client508/src/main/java}/Class1_Sub2.java | 0 .../client508/src/main/java}/Class1_Sub3.java | 0 .../src/main/java}/Class1_Sub3_Sub1.java | 0 .../client508/src/main/java}/Class1_Sub4.java | 0 .../client508/src/main/java}/Class1_Sub5.java | 0 .../client508/src/main/java}/Class1_Sub6.java | 0 .../src/main/java}/Class1_Sub6_Sub1.java | 0 .../src/main/java}/Class1_Sub6_Sub2.java | 0 .../client508/src/main/java}/Class1_Sub7.java | 0 .../client508/src/main/java}/Class2.java | 0 .../client508/src/main/java}/Class20.java | 0 .../src/main/java}/Class21_Sub1.java | 0 .../src/main/java}/Class21renamed.java | 0 .../client508/src/main/java}/Class22.java | 0 .../client508/src/main/java}/Class23.java | 0 .../client508/src/main/java}/Class24.java | 0 .../client508/src/main/java}/Class25.java | 0 .../client508/src/main/java}/Class26.java | 0 .../client508/src/main/java}/Class27.java | 0 .../client508/src/main/java}/Class28.java | 0 .../client508/src/main/java}/Class29.java | 0 .../client508/src/main/java}/Class3.java | 0 .../client508/src/main/java}/Class30.java | 0 .../client508/src/main/java}/Class32.java | 0 .../client508/src/main/java}/Class33.java | 0 .../client508/src/main/java}/Class34.java | 0 .../client508/src/main/java}/Class35.java | 0 .../src/main/java}/Class35_Sub1.java | 0 .../src/main/java}/Class35_Sub2.java | 0 .../client508/src/main/java}/Class36.java | 0 .../client508/src/main/java}/Class37.java | 0 .../client508/src/main/java}/Class39.java | 0 .../client508/src/main/java}/Class4.java | 0 .../client508/src/main/java}/Class40.java | 0 .../client508/src/main/java}/Class41.java | 0 .../client508/src/main/java}/Class42.java | 0 .../client508/src/main/java}/Class43.java | 0 .../client508/src/main/java}/Class44.java | 0 .../client508/src/main/java}/Class45.java | 0 .../client508/src/main/java}/Class46.java | 0 .../client508/src/main/java}/Class47.java | 0 .../client508/src/main/java}/Class48.java | 0 .../client508/src/main/java}/Class49.java | 0 .../client508/src/main/java}/Class5.java | 0 .../client508/src/main/java}/Class50.java | 0 .../src/main/java}/Class50_Sub1.java | 0 .../src/main/java}/Class50_Sub2.java | 0 .../client508/src/main/java}/Class51.java | 0 .../client508/src/main/java}/Class52.java | 0 .../client508/src/main/java}/Class53.java | 0 .../client508/src/main/java}/Class54.java | 0 .../client508/src/main/java}/Class55.java | 0 .../client508/src/main/java}/Class56.java | 0 .../client508/src/main/java}/Class57.java | 0 .../client508/src/main/java}/Class58.java | 0 .../client508/src/main/java}/Class59.java | 0 .../client508/src/main/java}/Class6.java | 0 .../client508/src/main/java}/Class60.java | 0 .../client508/src/main/java}/Class62.java | 0 .../client508/src/main/java}/Class63.java | 0 .../client508/src/main/java}/Class64.java | 0 .../client508/src/main/java}/Class65.java | 0 .../client508/src/main/java}/Class66.java | 0 .../client508/src/main/java}/Class67.java | 0 .../client508/src/main/java}/Class68.java | 0 .../src/main/java}/Class68_Sub1.java | 0 .../src/main/java}/Class68_Sub10.java | 0 .../src/main/java}/Class68_Sub11.java | 0 .../src/main/java}/Class68_Sub11_Sub1.java | 0 .../src/main/java}/Class68_Sub12.java | 0 .../src/main/java}/Class68_Sub13.java | 0 .../src/main/java}/Class68_Sub13_Sub1.java | 0 .../src/main/java}/Class68_Sub13_Sub10.java | 0 .../src/main/java}/Class68_Sub13_Sub11.java | 0 .../src/main/java}/Class68_Sub13_Sub12.java | 0 .../src/main/java}/Class68_Sub13_Sub13.java | 0 .../src/main/java}/Class68_Sub13_Sub14.java | 0 .../src/main/java}/Class68_Sub13_Sub15.java | 0 .../src/main/java}/Class68_Sub13_Sub16.java | 0 .../src/main/java}/Class68_Sub13_Sub17.java | 0 .../src/main/java}/Class68_Sub13_Sub18.java | 0 .../src/main/java}/Class68_Sub13_Sub19.java | 0 .../src/main/java}/Class68_Sub13_Sub2.java | 0 .../src/main/java}/Class68_Sub13_Sub20.java | 0 .../src/main/java}/Class68_Sub13_Sub21.java | 0 .../src/main/java}/Class68_Sub13_Sub22.java | 0 .../src/main/java}/Class68_Sub13_Sub23.java | 0 .../src/main/java}/Class68_Sub13_Sub24.java | 0 .../src/main/java}/Class68_Sub13_Sub25.java | 0 .../src/main/java}/Class68_Sub13_Sub26.java | 0 .../main/java}/Class68_Sub13_Sub26_Sub1.java | 0 .../src/main/java}/Class68_Sub13_Sub27.java | 0 .../src/main/java}/Class68_Sub13_Sub28.java | 0 .../src/main/java}/Class68_Sub13_Sub29.java | 0 .../src/main/java}/Class68_Sub13_Sub3.java | 0 .../src/main/java}/Class68_Sub13_Sub30.java | 0 .../src/main/java}/Class68_Sub13_Sub31.java | 0 .../src/main/java}/Class68_Sub13_Sub32.java | 0 .../src/main/java}/Class68_Sub13_Sub33.java | 0 .../src/main/java}/Class68_Sub13_Sub34.java | 0 .../src/main/java}/Class68_Sub13_Sub35.java | 0 .../src/main/java}/Class68_Sub13_Sub36.java | 0 .../src/main/java}/Class68_Sub13_Sub37.java | 0 .../src/main/java}/Class68_Sub13_Sub38.java | 0 .../src/main/java}/Class68_Sub13_Sub39.java | 0 .../src/main/java}/Class68_Sub13_Sub4.java | 0 .../src/main/java}/Class68_Sub13_Sub5.java | 0 .../src/main/java}/Class68_Sub13_Sub6.java | 0 .../src/main/java}/Class68_Sub13_Sub7.java | 0 .../src/main/java}/Class68_Sub13_Sub8.java | 0 .../src/main/java}/Class68_Sub13_Sub9.java | 0 .../src/main/java}/Class68_Sub15.java | 0 .../src/main/java}/Class68_Sub16.java | 0 .../src/main/java}/Class68_Sub17.java | 0 .../src/main/java}/Class68_Sub18.java | 0 .../src/main/java}/Class68_Sub19.java | 0 .../src/main/java}/Class68_Sub2.java | 0 .../src/main/java}/Class68_Sub20.java | 0 .../src/main/java}/Class68_Sub20_Sub1.java | 0 .../src/main/java}/Class68_Sub20_Sub10.java | 0 .../src/main/java}/Class68_Sub20_Sub11.java | 0 .../src/main/java}/Class68_Sub20_Sub12.java | 0 .../src/main/java}/Class68_Sub20_Sub13.java | 0 .../main/java}/Class68_Sub20_Sub13_Sub1.java | 0 .../main/java}/Class68_Sub20_Sub13_Sub2.java | 0 .../src/main/java}/Class68_Sub20_Sub14.java | 0 .../src/main/java}/Class68_Sub20_Sub15.java | 0 .../src/main/java}/Class68_Sub20_Sub16.java | 0 .../src/main/java}/Class68_Sub20_Sub17.java | 0 .../src/main/java}/Class68_Sub20_Sub18.java | 0 .../src/main/java}/Class68_Sub20_Sub19.java | 0 .../main/java}/Class68_Sub20_Sub1_Sub1.java | 0 .../src/main/java}/Class68_Sub20_Sub2.java | 0 .../src/main/java}/Class68_Sub20_Sub3.java | 0 .../src/main/java}/Class68_Sub20_Sub4.java | 0 .../src/main/java}/Class68_Sub20_Sub5.java | 0 .../src/main/java}/Class68_Sub20_Sub6.java | 0 .../src/main/java}/Class68_Sub20_Sub7.java | 0 .../src/main/java}/Class68_Sub20_Sub8.java | 0 .../src/main/java}/Class68_Sub20_Sub9.java | 0 .../src/main/java}/Class68_Sub21.java | 0 .../src/main/java}/Class68_Sub22.java | 0 .../src/main/java}/Class68_Sub23.java | 0 .../src/main/java}/Class68_Sub24.java | 0 .../src/main/java}/Class68_Sub25.java | 0 .../src/main/java}/Class68_Sub26.java | 0 .../src/main/java}/Class68_Sub27.java | 0 .../src/main/java}/Class68_Sub28.java | 0 .../src/main/java}/Class68_Sub28_Sub1.java | 0 .../src/main/java}/Class68_Sub28_Sub2.java | 0 .../src/main/java}/Class68_Sub28_Sub3.java | 0 .../src/main/java}/Class68_Sub28_Sub4.java | 0 .../src/main/java}/Class68_Sub29.java | 0 .../src/main/java}/Class68_Sub3.java | 0 .../src/main/java}/Class68_Sub4.java | 0 .../src/main/java}/Class68_Sub5.java | 0 .../src/main/java}/Class68_Sub6.java | 0 .../src/main/java}/Class68_Sub7.java | 0 .../src/main/java}/Class68_Sub8.java | 0 .../src/main/java}/Class68_Sub9.java | 0 .../client508/src/main/java}/Class69.java | 0 .../client508/src/main/java}/Class7.java | 0 .../client508/src/main/java}/Class70.java | 0 .../client508/src/main/java}/Class71.java | 0 .../src/main/java}/Class71_Sub1.java | 0 .../client508/src/main/java}/Class72.java | 0 .../src/main/java}/Class72_Sub1.java | 0 .../src/main/java}/Class72_Sub2.java | 0 .../client508/src/main/java}/Class73.java | 0 .../client508/src/main/java}/Class74.java | 0 .../client508/src/main/java}/Class75.java | 0 .../src/main/java}/Class75_Sub1.java | 0 .../src/main/java}/Class75_Sub1_Sub1.java | 0 .../src/main/java}/Class75_Sub2.java | 0 .../src/main/java}/Class75_Sub3.java | 0 .../src/main/java}/Class75_Sub3_Sub1.java | 0 .../client508/src/main/java}/Class76.java | 0 .../client508/src/main/java}/Class77.java | 0 .../client508/src/main/java}/Class78.java | 0 .../client508/src/main/java}/Class79.java | 0 .../client508/src/main/java}/Class8.java | 0 .../client508/src/main/java}/Class80.java | 0 .../client508/src/main/java}/Class83.java | 0 .../client508/src/main/java}/Class84.java | 0 .../client508/src/main/java}/Class85.java | 0 .../client508/src/main/java}/Class86.java | 0 .../client508/src/main/java}/Class87.java | 0 .../client508/src/main/java}/Class88.java | 0 .../client508/src/main/java}/Class9.java | 0 .../client508/src/main/java}/Class90.java | 0 .../client508/src/main/java}/Class91.java | 0 .../client508/src/main/java}/Class92.java | 0 .../src/main/java}/Class92_Sub1.java | 0 .../client508/src/main/java}/Class93.java | 0 .../client508/src/main/java}/Class94.java | 0 .../client508/src/main/java}/Class95.java | 0 .../client508/src/main/java}/Class96.java | 0 .../client508/src/main/java}/Class97.java | 0 .../src/main/java}/Class97_Sub1.java | 0 .../client508/src/main/java}/Class98.java | 0 .../client508/src/main/java}/Class99.java | 0 .../src/main/java}/GameException.java | 0 .../client508/src/main/java}/GameSocket.java | 0 .../client508/src/main/java}/GroundData.java | 0 .../src/main/java}/ISAACRandomGen.java | 0 .../client508/src/main/java}/Interface1.java | 0 .../client508/src/main/java}/Interface2.java | 0 .../client508/src/main/java}/Interface3.java | 0 .../client508/src/main/java}/Interface4.java | 0 .../client508/src/main/java}/ItemDef.java | 0 .../client508/src/main/java}/JagSocket.java | 0 .../client508/src/main/java}/Login.java | 0 .../src/main/java}/PacketParser.java | 0 .../src/main/java}/PacketStream.java | 0 .../src/main/java}/PlayerDefinition.java | 0 .../client508/src/main/java}/RSString.java | 0 .../client508/src/main/java}/SignLink.java | 0 .../client508/src/main/java}/Sprite.java | 0 .../client508/src/main/java}/Sprite_Sub1.java | 0 .../client508/src/main/java}/Stream.java | 0 .../client508/src/main/java}/Unknown.java | 0 .../client508/src/main/java}/client.java | 0 clients/clientRSC/pom.xml | 30 + .../clientRSC/src/main/java}/client.java | 0 .../src/main/java/mudclient/AudioReader.java | 41 + .../src/main/java/mudclient/Camera.java | 3161 +++++++ .../src/main/java/mudclient/CameraModel.java | 27 + .../main/java/mudclient/CameraVariable.java | 12 + .../src/main/java/mudclient/ChatFilter.java | 689 ++ .../src/main/java/mudclient/ChatMessage.java | 105 + .../src/main/java/mudclient/Config.java | 16 + .../src/main/java/mudclient/Data.java | 480 ++ .../main/java/mudclient/DataEncryption.java | 50 + .../java/mudclient/DataFileDecrypter.java | 503 ++ .../java/mudclient/DataFileVariables.java | 62 + .../main/java/mudclient/DataOperations.java | 240 + .../src/main/java/mudclient/EngineHandle.java | 1548 ++++ .../src/main/java/mudclient/GameApplet.java | 548 ++ .../java/mudclient/GameAppletMiddleMan.java | 443 + .../src/main/java/mudclient/GameFrame.java | 77 + .../src/main/java/mudclient/GameImage.java | 2196 +++++ .../java/mudclient/GameImageMiddleMan.java | 34 + .../src/main/java/mudclient/GameObject.java | 1079 +++ .../src/main/java/mudclient/Loader.java | 159 + .../java/mudclient/LoginDataEncryption.java | 80 + .../src/main/java/mudclient/Menu.java | 679 ++ .../src/main/java/mudclient/Mob.java | 45 + .../java/mudclient/PacketConstruction.java | 198 + .../src/main/java/mudclient/StreamClass.java | 134 + .../src/main/java/mudclient/link.java | 87 + .../src/main/java/mudclient/mudclient.java | 7593 +++++++++++++++++ clients/pom.xml | 44 + clients/renamed508/pom.xml | 30 + .../renamed508}/src/Shortcut to src.lnk | Bin .../renamed508/src/main/java}/Animable.java | 0 .../renamed508/src/main/java}/Animation.java | 0 .../renamed508/src/main/java}/CachedItem.java | 0 .../renamed508/src/main/java}/Character.java | 0 .../src/main/java}/CipheredByteVector.java | 0 .../renamed508/src/main/java}/Class10.java | 0 .../renamed508/src/main/java}/Class101.java | 0 .../renamed508/src/main/java}/Class102.java | 0 .../renamed508/src/main/java}/Class103.java | 0 .../renamed508/src/main/java}/Class104.java | 0 .../renamed508/src/main/java}/Class105.java | 0 .../src/main/java}/Class105_Sub1.java | 0 .../renamed508/src/main/java}/Class106.java | 0 .../renamed508/src/main/java}/Class107.java | 0 .../renamed508/src/main/java}/Class108.java | 0 .../renamed508/src/main/java}/Class109.java | 0 .../renamed508/src/main/java}/Class11.java | 0 .../renamed508/src/main/java}/Class110.java | 0 .../renamed508/src/main/java}/Class111.java | 0 .../renamed508/src/main/java}/Class112.java | 0 .../renamed508/src/main/java}/Class114.java | 0 .../renamed508/src/main/java}/Class115.java | 0 .../renamed508/src/main/java}/Class118.java | 0 .../renamed508/src/main/java}/Class119.java | 0 .../renamed508/src/main/java}/Class12.java | 0 .../renamed508/src/main/java}/Class120.java | 0 .../renamed508/src/main/java}/Class121.java | 0 .../renamed508/src/main/java}/Class122.java | 0 .../renamed508/src/main/java}/Class124.java | 0 .../renamed508/src/main/java}/Class125.java | 0 .../renamed508/src/main/java}/Class127.java | 0 .../renamed508/src/main/java}/Class13.java | 0 .../src/main/java}/Class13_Sub1.java | 0 .../src/main/java}/Class13_Sub2.java | 0 .../src/main/java}/Class13_Sub3.java | 0 .../src/main/java}/Class13_Sub4.java | 0 .../renamed508/src/main/java}/Class14.java | 0 .../renamed508/src/main/java}/Class15.java | 0 .../src/main/java}/Class15_Sub1.java | 0 .../renamed508/src/main/java}/Class17.java | 0 .../renamed508/src/main/java}/Class18.java | 0 .../src/main/java}/Class1_Sub1.java | 0 .../src/main/java}/Class1_Sub4.java | 0 .../src/main/java}/Class1_Sub5.java | 0 .../src/main/java}/Class1_Sub7.java | 0 .../renamed508/src/main/java}/Class20.java | 0 .../renamed508/src/main/java}/Class21.java | 0 .../src/main/java}/Class21_Sub1.java | 0 .../renamed508/src/main/java}/Class22.java | 0 .../renamed508/src/main/java}/Class23.java | 0 .../renamed508/src/main/java}/Class24.java | 0 .../renamed508/src/main/java}/Class25.java | 0 .../renamed508/src/main/java}/Class26.java | 0 .../renamed508/src/main/java}/Class27.java | 0 .../renamed508/src/main/java}/Class28.java | 0 .../renamed508/src/main/java}/Class29.java | 0 .../renamed508/src/main/java}/Class3.java | 0 .../renamed508/src/main/java}/Class30.java | 0 .../renamed508/src/main/java}/Class31.java | 0 .../renamed508/src/main/java}/Class32.java | 0 .../renamed508/src/main/java}/Class33.java | 0 .../renamed508/src/main/java}/Class34.java | 0 .../renamed508/src/main/java}/Class35.java | 0 .../src/main/java}/Class35_Sub1.java | 0 .../src/main/java}/Class35_Sub2.java | 0 .../renamed508/src/main/java}/Class36.java | 0 .../renamed508/src/main/java}/Class37.java | 0 .../renamed508/src/main/java}/Class39.java | 0 .../renamed508/src/main/java}/Class4.java | 0 .../renamed508/src/main/java}/Class40.java | 0 .../renamed508/src/main/java}/Class41.java | 0 .../renamed508/src/main/java}/Class42.java | 0 .../renamed508/src/main/java}/Class43.java | 0 .../renamed508/src/main/java}/Class44.java | 0 .../renamed508/src/main/java}/Class46.java | 0 .../renamed508/src/main/java}/Class48.java | 0 .../renamed508/src/main/java}/Class49.java | 0 .../renamed508/src/main/java}/Class5.java | 0 .../renamed508/src/main/java}/Class50.java | 0 .../src/main/java}/Class50_Sub1.java | 0 .../src/main/java}/Class50_Sub2.java | 0 .../renamed508/src/main/java}/Class51.java | 0 .../renamed508/src/main/java}/Class52.java | 0 .../renamed508/src/main/java}/Class53.java | 0 .../renamed508/src/main/java}/Class54.java | 0 .../renamed508/src/main/java}/Class56.java | 0 .../renamed508/src/main/java}/Class58.java | 0 .../renamed508/src/main/java}/Class59.java | 0 .../renamed508/src/main/java}/Class6.java | 0 .../renamed508/src/main/java}/Class60.java | 0 .../renamed508/src/main/java}/Class62.java | 0 .../renamed508/src/main/java}/Class63.java | 0 .../renamed508/src/main/java}/Class65.java | 0 .../renamed508/src/main/java}/Class66.java | 0 .../renamed508/src/main/java}/Class67.java | 0 .../src/main/java}/Class68_Sub10.java | 0 .../src/main/java}/Class68_Sub11.java | 0 .../src/main/java}/Class68_Sub11_Sub1.java | 0 .../src/main/java}/Class68_Sub12.java | 0 .../src/main/java}/Class68_Sub13.java | 0 .../src/main/java}/Class68_Sub13_Sub1.java | 0 .../src/main/java}/Class68_Sub13_Sub10.java | 0 .../src/main/java}/Class68_Sub13_Sub11.java | 0 .../src/main/java}/Class68_Sub13_Sub12.java | 0 .../src/main/java}/Class68_Sub13_Sub13.java | 0 .../src/main/java}/Class68_Sub13_Sub14.java | 0 .../src/main/java}/Class68_Sub13_Sub15.java | 0 .../src/main/java}/Class68_Sub13_Sub16.java | 0 .../src/main/java}/Class68_Sub13_Sub17.java | 0 .../src/main/java}/Class68_Sub13_Sub18.java | 0 .../src/main/java}/Class68_Sub13_Sub19.java | 0 .../src/main/java}/Class68_Sub13_Sub2.java | 0 .../src/main/java}/Class68_Sub13_Sub20.java | 0 .../src/main/java}/Class68_Sub13_Sub21.java | 0 .../src/main/java}/Class68_Sub13_Sub22.java | 0 .../src/main/java}/Class68_Sub13_Sub23.java | 0 .../src/main/java}/Class68_Sub13_Sub24.java | 0 .../src/main/java}/Class68_Sub13_Sub25.java | 0 .../src/main/java}/Class68_Sub13_Sub26.java | 0 .../main/java}/Class68_Sub13_Sub26_Sub1.java | 0 .../src/main/java}/Class68_Sub13_Sub27.java | 0 .../src/main/java}/Class68_Sub13_Sub28.java | 0 .../src/main/java}/Class68_Sub13_Sub29.java | 0 .../src/main/java}/Class68_Sub13_Sub3.java | 0 .../src/main/java}/Class68_Sub13_Sub30.java | 0 .../src/main/java}/Class68_Sub13_Sub31.java | 0 .../src/main/java}/Class68_Sub13_Sub32.java | 0 .../src/main/java}/Class68_Sub13_Sub33.java | 0 .../src/main/java}/Class68_Sub13_Sub34.java | 0 .../src/main/java}/Class68_Sub13_Sub35.java | 0 .../src/main/java}/Class68_Sub13_Sub36.java | 0 .../src/main/java}/Class68_Sub13_Sub37.java | 0 .../src/main/java}/Class68_Sub13_Sub38.java | 0 .../src/main/java}/Class68_Sub13_Sub39.java | 0 .../src/main/java}/Class68_Sub13_Sub4.java | 0 .../src/main/java}/Class68_Sub13_Sub5.java | 0 .../src/main/java}/Class68_Sub13_Sub6.java | 0 .../src/main/java}/Class68_Sub13_Sub7.java | 0 .../src/main/java}/Class68_Sub13_Sub8.java | 0 .../src/main/java}/Class68_Sub13_Sub9.java | 0 .../src/main/java}/Class68_Sub15.java | 0 .../src/main/java}/Class68_Sub16.java | 0 .../src/main/java}/Class68_Sub17.java | 0 .../src/main/java}/Class68_Sub18.java | 0 .../src/main/java}/Class68_Sub19.java | 0 .../src/main/java}/Class68_Sub2.java | 0 .../src/main/java}/Class68_Sub20_Sub1.java | 0 .../src/main/java}/Class68_Sub20_Sub10.java | 0 .../java}/Class68_Sub20_Sub10_Sub1_Sub1.java | 0 .../src/main/java}/Class68_Sub20_Sub11.java | 0 .../src/main/java}/Class68_Sub20_Sub12.java | 0 .../src/main/java}/Class68_Sub20_Sub13.java | 0 .../main/java}/Class68_Sub20_Sub13_Sub1.java | 0 .../main/java}/Class68_Sub20_Sub13_Sub2.java | 0 .../src/main/java}/Class68_Sub20_Sub15.java | 0 .../src/main/java}/Class68_Sub20_Sub16.java | 0 .../src/main/java}/Class68_Sub20_Sub17.java | 0 .../src/main/java}/Class68_Sub20_Sub19.java | 0 .../main/java}/Class68_Sub20_Sub1_Sub1.java | 0 .../src/main/java}/Class68_Sub20_Sub2.java | 0 .../src/main/java}/Class68_Sub20_Sub3.java | 0 .../src/main/java}/Class68_Sub20_Sub4.java | 0 .../src/main/java}/Class68_Sub20_Sub5.java | 0 .../src/main/java}/Class68_Sub20_Sub6.java | 0 .../src/main/java}/Class68_Sub20_Sub7.java | 0 .../src/main/java}/Class68_Sub20_Sub8.java | 0 .../src/main/java}/Class68_Sub20_Sub9.java | 0 .../src/main/java}/Class68_Sub21.java | 0 .../src/main/java}/Class68_Sub22.java | 0 .../src/main/java}/Class68_Sub23.java | 0 .../src/main/java}/Class68_Sub24.java | 0 .../src/main/java}/Class68_Sub25.java | 0 .../src/main/java}/Class68_Sub26.java | 0 .../src/main/java}/Class68_Sub27.java | 0 .../src/main/java}/Class68_Sub28.java | 0 .../src/main/java}/Class68_Sub28_Sub1.java | 0 .../src/main/java}/Class68_Sub28_Sub2.java | 0 .../src/main/java}/Class68_Sub28_Sub3.java | 0 .../src/main/java}/Class68_Sub28_Sub4.java | 0 .../src/main/java}/Class68_Sub3.java | 0 .../src/main/java}/Class68_Sub4.java | 0 .../src/main/java}/Class68_Sub5.java | 0 .../src/main/java}/Class68_Sub6.java | 0 .../src/main/java}/Class68_Sub7.java | 0 .../src/main/java}/Class68_Sub8.java | 0 .../src/main/java}/Class68_Sub9.java | 0 .../renamed508/src/main/java}/Class7.java | 0 .../renamed508/src/main/java}/Class70.java | 0 .../renamed508/src/main/java}/Class71.java | 0 .../src/main/java}/Class71_Sub1.java | 0 .../renamed508/src/main/java}/Class72.java | 0 .../src/main/java}/Class72_Sub1.java | 0 .../src/main/java}/Class72_Sub2.java | 0 .../renamed508/src/main/java}/Class73.java | 0 .../renamed508/src/main/java}/Class74.java | 0 .../renamed508/src/main/java}/Class75.java | 0 .../src/main/java}/Class75_Sub1.java | 0 .../src/main/java}/Class75_Sub1_Sub1.java | 0 .../src/main/java}/Class75_Sub2.java | 0 .../src/main/java}/Class75_Sub3.java | 0 .../src/main/java}/Class75_Sub3_Sub1.java | 0 .../renamed508/src/main/java}/Class77.java | 0 .../renamed508/src/main/java}/Class78.java | 0 .../renamed508/src/main/java}/Class79.java | 0 .../renamed508/src/main/java}/Class8.java | 0 .../renamed508/src/main/java}/Class83.java | 0 .../renamed508/src/main/java}/Class84.java | 0 .../renamed508/src/main/java}/Class85.java | 0 .../renamed508/src/main/java}/Class87.java | 0 .../renamed508/src/main/java}/Class88.java | 0 .../renamed508/src/main/java}/Class89.java | 0 .../renamed508/src/main/java}/Class9.java | 0 .../renamed508/src/main/java}/Class90.java | 0 .../renamed508/src/main/java}/Class91.java | 0 .../renamed508/src/main/java}/Class92.java | 0 .../src/main/java}/Class92_Sub1.java | 0 .../renamed508/src/main/java}/Class93.java | 0 .../renamed508/src/main/java}/Class94.java | 0 .../renamed508/src/main/java}/Class95.java | 0 .../renamed508/src/main/java}/Class96.java | 0 .../renamed508/src/main/java}/Class97.java | 0 .../src/main/java}/Class97_Sub1.java | 0 .../renamed508/src/main/java}/Class99.java | 0 .../src/main/java}/ClientScript.java | 0 .../renamed508/src/main/java}/FileOnDisk.java | 0 .../renamed508/src/main/java}/GameApplet.java | 0 .../renamed508/src/main/java}/GameCanvas.java | 0 .../src/main/java}/GameException.java | 0 .../renamed508/src/main/java}/GameSocket.java | 0 .../renamed508/src/main/java}/Ground.java | 0 .../renamed508/src/main/java}/GroundData.java | 0 .../renamed508/src/main/java}/Interface1.java | 0 .../renamed508/src/main/java}/Interface2.java | 0 .../renamed508/src/main/java}/Interface3.java | 0 .../renamed508/src/main/java}/Interface4.java | 0 .../renamed508/src/main/java}/Item.java | 0 .../src/main/java}/ItemDefinition.java | 0 .../renamed508/src/main/java}/Keyboard.java | 0 .../renamed508/src/main/java}/Login.java | 0 .../renamed508/src/main/java}/MRUNodes.java | 0 .../renamed508/src/main/java}/Model.java | 0 .../renamed508/src/main/java}/Mouse.java | 0 .../src/main/java}/MutableString.java | 0 .../renamed508/src/main/java}/NPC.java | 0 .../src/main/java}/NPCDefinition.java | 0 .../renamed508/src/main/java}/Node.java | 0 .../renamed508/src/main/java}/NodeCache.java | 0 .../renamed508/src/main/java}/NodeList.java | 0 .../renamed508/src/main/java}/NodeSub.java | 0 .../src/main/java}/NodeSubList.java | 0 .../renamed508/src/main/java}/Object1.java | 0 .../renamed508/src/main/java}/Object2.java | 0 .../renamed508/src/main/java}/Object3.java | 0 .../renamed508/src/main/java}/Object4.java | 0 .../renamed508/src/main/java}/Object5.java | 0 .../src/main/java}/ObjectDefinition.java | 0 .../renamed508/src/main/java}/Player.java | 0 .../src/main/java}/PlayerDefinition.java | 0 .../src/main/java}/RandomNumberGenerator.java | 0 .../src/main/java}/ScriptParameters.java | 0 .../renamed508/src/main/java}/Signlink.java | 0 .../renamed508/src/main/java}/Sprite.java | 0 .../src/main/java}/SpriteFactory.java | 0 .../renamed508/src/main/java}/Stream.java | 0 .../renamed508/src/main/java}/Widget.java | 0 .../renamed508/src/main/java}/client.java | 17 +- .../renamed508/src/main/java}/log.java | 0 .../java}/nativeadvert/browsercontrol.java | 0 dist/pom.xml | 125 + hackme/pom.xml | 37 + hackme/src/{ => main/java}/MyEntry.java | 20 + .../java}/org/moparscapebla/HackMe.java | 20 + .../java/org/moparscapebla/MyInterface.java | 29 + hackme/src/org/moparscapebla/MyInterface.java | 9 - java_client/java_client.0.15.5.cpp | 38 +- java_client/java_client.cpp | 12 +- java_client/java_client.last_human.cpp | 38 +- java_client/java_client.last_mopar_patch.cpp | 12 +- java_client/java_client.name.cpp | 38 +- java_client/java_client.orig.cpp | 12 +- java_client/java_client.preautoresume.cpp | 38 +- java_client/java_client_human.cpp | 38 +- gpl.txt => license.txt | 141 +- pom.xml | 79 + readme.md | 32 + server317/src/ItemList.java | 13 - server317/src/NPCDrops.java | 14 - server317/src/NPCList.java | 10 - servers/pom.xml | 83 + .../server317}/autospawn.cfg | 0 .../characters/Use this for new people.txt | 0 .../server317}/characters/donttouch.txt | 0 .../characters/use this for admins.txt | 0 .../server317}/data/notes.dat | Bin .../server317}/data/sellable.dat | Bin .../server317}/data/stackable.dat | Bin .../server317}/data/tradeable.dat | Bin .../server317}/data/twohanded.dat | Bin .../server317}/dialogues.cfg | 0 {server317 => servers/server317}/drops.cfg | 0 {server317 => servers/server317}/item.cfg | 0 {server317 => servers/server317}/npc.cfg | 0 {server317 => servers/server317}/npcdrops.cfg | 0 servers/server317/pom.xml | 37 + {server317 => servers/server317}/shops.cfg | 0 .../src/main/java}/ClientHandler.java | 20 + .../server317/src/main/java}/Cryption.java | 20 + .../src/main/java}/DialogueHandler.java | 20 + .../server317/src/main/java}/ItemHandler.java | 20 + servers/server317/src/main/java/ItemList.java | 33 + .../server317/src/main/java}/Items.java | 20 + servers/server317/src/main/java/NPCDrops.java | 34 + .../server317/src/main/java}/NPCHandler.java | 20 + servers/server317/src/main/java/NPCList.java | 30 + .../server317/src/main/java}/NPCs.java | 20 + .../src/main/java}/PlayerHandler.java | 20 + .../server317/src/main/java}/Players.java | 20 + .../server317/src/main/java}/ReTT.java | 20 + .../server317/src/main/java}/ShopHandler.java | 20 + .../server317/src/main/java}/misc.java | 20 + .../server317/src/main/java}/server.java | 20 + .../server317/src/main/java}/stream.java | 20 + .../server508}/data/ChatLogs.txt | 0 .../server508}/data/banned/bannedhosts.dat | 0 .../server508}/data/banned/bannedusers.dat | 0 .../server508}/data/characters/highscores.txt | Bin .../server508}/data/items/equipment.dat | 0 .../server508}/data/items/grandExchange.cfg | 0 .../server508}/data/items/items.cfg | 0 .../server508}/data/items/stackable.dat | 0 .../server508}/data/mapdata/0.txt | 0 .../server508}/data/mapdata/1.dat | Bin .../server508}/data/mapdata/10027.txt | 0 .../server508}/data/mapdata/10028.txt | 0 .../server508}/data/mapdata/10029.txt | 0 .../server508}/data/mapdata/10030.txt | 0 .../server508}/data/mapdata/10031.txt | 0 .../server508}/data/mapdata/10032.txt | 0 .../server508}/data/mapdata/10033.txt | 0 .../server508}/data/mapdata/10034.txt | 0 .../server508}/data/mapdata/10035.txt | 0 .../server508}/data/mapdata/10036.txt | 0 .../server508}/data/mapdata/10037.txt | 0 .../server508}/data/mapdata/10038.txt | 0 .../server508}/data/mapdata/10039.txt | 0 .../server508}/data/mapdata/10040.txt | 0 .../server508}/data/mapdata/10041.txt | 0 .../server508}/data/mapdata/10042.txt | 0 .../server508}/data/mapdata/10043.txt | 0 .../server508}/data/mapdata/10044.txt | 0 .../server508}/data/mapdata/10045.txt | 0 .../server508}/data/mapdata/10052.txt | 0 .../server508}/data/mapdata/10053.txt | 0 .../server508}/data/mapdata/10054.txt | 0 .../server508}/data/mapdata/10056.txt | 0 .../server508}/data/mapdata/10057.txt | 0 .../server508}/data/mapdata/10058.txt | 0 .../server508}/data/mapdata/10059.txt | 0 .../server508}/data/mapdata/10060.txt | 0 .../server508}/data/mapdata/10061.txt | 0 .../server508}/data/mapdata/10062.txt | 0 .../server508}/data/mapdata/10063.txt | 0 .../server508}/data/mapdata/10064.txt | 0 .../server508}/data/mapdata/10065.txt | 0 .../server508}/data/mapdata/10066.txt | 0 .../server508}/data/mapdata/10067.txt | 0 .../server508}/data/mapdata/10068.txt | 0 .../server508}/data/mapdata/10069.txt | 0 .../server508}/data/mapdata/10137.txt | 0 .../server508}/data/mapdata/10138.txt | 0 .../server508}/data/mapdata/10139.txt | 0 .../server508}/data/mapdata/10140.txt | 0 .../server508}/data/mapdata/10141.txt | 0 .../server508}/data/mapdata/10143.txt | 0 .../server508}/data/mapdata/10144.txt | 0 .../server508}/data/mapdata/10145.txt | 0 .../server508}/data/mapdata/10280.txt | 0 .../server508}/data/mapdata/10281.txt | 0 .../server508}/data/mapdata/10282.txt | 0 .../server508}/data/mapdata/10283.txt | 0 .../server508}/data/mapdata/10284.txt | 0 .../server508}/data/mapdata/10285.txt | 0 .../server508}/data/mapdata/10286.txt | 0 .../server508}/data/mapdata/10287.txt | 0 .../server508}/data/mapdata/10288.txt | 0 .../server508}/data/mapdata/10289.txt | 0 .../server508}/data/mapdata/10290.txt | 0 .../server508}/data/mapdata/10291.txt | 0 .../server508}/data/mapdata/10292.txt | 0 .../server508}/data/mapdata/10293.txt | 0 .../server508}/data/mapdata/10294.txt | 0 .../server508}/data/mapdata/10295.txt | 0 .../server508}/data/mapdata/10296.txt | 0 .../server508}/data/mapdata/10297.txt | 0 .../server508}/data/mapdata/10298.txt | 0 .../server508}/data/mapdata/10299.txt | 0 .../server508}/data/mapdata/10300.txt | 0 .../server508}/data/mapdata/10301.txt | 0 .../server508}/data/mapdata/10302.txt | 0 .../server508}/data/mapdata/10303.txt | 0 .../server508}/data/mapdata/10309.txt | 0 .../server508}/data/mapdata/10310.txt | 0 .../server508}/data/mapdata/10311.txt | 0 .../server508}/data/mapdata/10312.txt | 0 .../server508}/data/mapdata/10313.txt | 0 .../server508}/data/mapdata/10314.txt | 0 .../server508}/data/mapdata/10315.txt | 0 .../server508}/data/mapdata/10316.txt | 0 .../server508}/data/mapdata/10317.txt | 0 .../server508}/data/mapdata/10318.txt | 0 .../server508}/data/mapdata/10320.txt | 0 .../server508}/data/mapdata/10321.txt | 0 .../server508}/data/mapdata/10322.txt | 0 .../server508}/data/mapdata/10323.txt | 0 .../server508}/data/mapdata/10324.txt | 0 .../server508}/data/mapdata/10325.txt | 0 .../server508}/data/mapdata/10395.txt | 0 .../server508}/data/mapdata/10396.txt | 0 .../server508}/data/mapdata/10397.txt | 0 .../server508}/data/mapdata/10399.txt | 0 .../server508}/data/mapdata/10400.txt | 0 .../server508}/data/mapdata/10401.txt | 0 .../server508}/data/mapdata/10536.txt | 0 .../server508}/data/mapdata/10537.txt | 0 .../server508}/data/mapdata/10538.txt | 0 .../server508}/data/mapdata/10539.txt | 0 .../server508}/data/mapdata/10540.txt | 0 .../server508}/data/mapdata/10541.txt | 0 .../server508}/data/mapdata/10542.txt | 0 .../server508}/data/mapdata/10543.txt | 0 .../server508}/data/mapdata/10544.txt | 0 .../server508}/data/mapdata/10545.txt | 0 .../server508}/data/mapdata/10546.txt | 0 .../server508}/data/mapdata/10547.txt | 0 .../server508}/data/mapdata/10548.txt | 0 .../server508}/data/mapdata/10549.txt | 0 .../server508}/data/mapdata/10550.txt | 0 .../server508}/data/mapdata/10551.txt | 0 .../server508}/data/mapdata/10552.txt | 0 .../server508}/data/mapdata/10553.txt | 0 .../server508}/data/mapdata/10554.txt | 0 .../server508}/data/mapdata/10555.txt | 0 .../server508}/data/mapdata/10556.txt | 0 .../server508}/data/mapdata/10557.txt | 0 .../server508}/data/mapdata/10558.txt | 0 .../server508}/data/mapdata/10559.txt | 0 .../server508}/data/mapdata/10565.txt | 0 .../server508}/data/mapdata/10566.txt | 0 .../server508}/data/mapdata/10567.txt | 0 .../server508}/data/mapdata/10570.txt | 0 .../server508}/data/mapdata/10571.txt | 0 .../server508}/data/mapdata/10572.txt | 0 .../server508}/data/mapdata/10577.txt | 0 .../server508}/data/mapdata/10578.txt | 0 .../server508}/data/mapdata/10579.txt | 0 .../server508}/data/mapdata/10637.txt | 0 .../server508}/data/mapdata/10638.txt | 0 .../server508}/data/mapdata/10639.txt | 0 .../server508}/data/mapdata/10646.txt | 0 .../server508}/data/mapdata/10647.txt | 0 .../server508}/data/mapdata/10648.txt | 0 .../server508}/data/mapdata/10649.txt | 0 .../server508}/data/mapdata/10655.txt | 0 .../server508}/data/mapdata/10656.txt | 0 .../server508}/data/mapdata/10657.txt | 0 .../server508}/data/mapdata/10792.txt | 0 .../server508}/data/mapdata/10793.txt | 0 .../server508}/data/mapdata/10794.txt | 0 .../server508}/data/mapdata/10795.txt | 0 .../server508}/data/mapdata/10796.txt | 0 .../server508}/data/mapdata/10797.txt | 0 .../server508}/data/mapdata/10798.txt | 0 .../server508}/data/mapdata/10799.txt | 0 .../server508}/data/mapdata/10800.txt | 0 .../server508}/data/mapdata/10801.txt | 0 .../server508}/data/mapdata/10802.txt | 0 .../server508}/data/mapdata/10803.txt | 0 .../server508}/data/mapdata/10804.txt | 0 .../server508}/data/mapdata/10805.txt | 0 .../server508}/data/mapdata/10806.txt | 0 .../server508}/data/mapdata/10807.txt | 0 .../server508}/data/mapdata/10808.txt | 0 .../server508}/data/mapdata/10809.txt | 0 .../server508}/data/mapdata/10810.txt | 0 .../server508}/data/mapdata/10811.txt | 0 .../server508}/data/mapdata/10812.txt | 0 .../server508}/data/mapdata/10813.txt | 0 .../server508}/data/mapdata/10814.txt | 0 .../server508}/data/mapdata/10815.txt | 0 .../server508}/data/mapdata/10821.txt | 0 .../server508}/data/mapdata/10822.txt | 0 .../server508}/data/mapdata/10823.txt | 0 .../server508}/data/mapdata/10826.txt | 0 .../server508}/data/mapdata/10827.txt | 0 .../server508}/data/mapdata/10828.txt | 0 .../server508}/data/mapdata/10836.txt | 0 .../server508}/data/mapdata/10837.txt | 0 .../server508}/data/mapdata/10838.txt | 0 .../server508}/data/mapdata/10893.txt | 0 .../server508}/data/mapdata/10894.txt | 0 .../server508}/data/mapdata/10895.txt | 0 .../server508}/data/mapdata/10902.txt | 0 .../server508}/data/mapdata/10903.txt | 0 .../server508}/data/mapdata/10904.txt | 0 .../server508}/data/mapdata/10905.txt | 0 .../server508}/data/mapdata/10907.txt | 0 .../server508}/data/mapdata/10908.txt | 0 .../server508}/data/mapdata/10909.txt | 0 .../server508}/data/mapdata/10910.txt | 0 .../server508}/data/mapdata/10911.txt | 0 .../server508}/data/mapdata/11049.txt | 0 .../server508}/data/mapdata/11050.txt | 0 .../server508}/data/mapdata/11051.txt | 0 .../server508}/data/mapdata/11052.txt | 0 .../server508}/data/mapdata/11053.txt | 0 .../server508}/data/mapdata/11054.txt | 0 .../server508}/data/mapdata/11055.txt | 0 .../server508}/data/mapdata/11056.txt | 0 .../server508}/data/mapdata/11057.txt | 0 .../server508}/data/mapdata/11058.txt | 0 .../server508}/data/mapdata/11059.txt | 0 .../server508}/data/mapdata/11060.txt | 0 .../server508}/data/mapdata/11061.txt | 0 .../server508}/data/mapdata/11062.txt | 0 .../server508}/data/mapdata/11063.txt | 0 .../server508}/data/mapdata/11064.txt | 0 .../server508}/data/mapdata/11065.txt | 0 .../server508}/data/mapdata/11066.txt | 0 .../server508}/data/mapdata/11067.txt | 0 .../server508}/data/mapdata/11068.txt | 0 .../server508}/data/mapdata/11082.txt | 0 .../server508}/data/mapdata/11083.txt | 0 .../server508}/data/mapdata/11084.txt | 0 .../server508}/data/mapdata/11089.txt | 0 .../server508}/data/mapdata/11090.txt | 0 .../server508}/data/mapdata/11091.txt | 0 .../server508}/data/mapdata/11092.txt | 0 .../server508}/data/mapdata/11093.txt | 0 .../server508}/data/mapdata/11094.txt | 0 .../server508}/data/mapdata/11149.txt | 0 .../server508}/data/mapdata/11150.txt | 0 .../server508}/data/mapdata/11151.txt | 0 .../server508}/data/mapdata/11156.txt | 0 .../server508}/data/mapdata/11157.txt | 0 .../server508}/data/mapdata/11158.txt | 0 .../server508}/data/mapdata/11159.txt | 0 .../server508}/data/mapdata/11160.txt | 0 .../server508}/data/mapdata/11161.txt | 0 .../server508}/data/mapdata/11162.txt | 0 .../server508}/data/mapdata/11163.txt | 0 .../server508}/data/mapdata/11164.txt | 0 .../server508}/data/mapdata/11165.txt | 0 .../server508}/data/mapdata/11166.txt | 0 .../server508}/data/mapdata/11167.txt | 0 .../server508}/data/mapdata/11305.txt | 0 .../server508}/data/mapdata/11306.txt | 0 .../server508}/data/mapdata/11307.txt | 0 .../server508}/data/mapdata/11308.txt | 0 .../server508}/data/mapdata/11309.txt | 0 .../server508}/data/mapdata/11310.txt | 0 .../server508}/data/mapdata/11311.txt | 0 .../server508}/data/mapdata/11312.txt | 0 .../server508}/data/mapdata/11313.txt | 0 .../server508}/data/mapdata/11314.txt | 0 .../server508}/data/mapdata/11315.txt | 0 .../server508}/data/mapdata/11316.txt | 0 .../server508}/data/mapdata/11317.txt | 0 .../server508}/data/mapdata/11318.txt | 0 .../server508}/data/mapdata/11319.txt | 0 .../server508}/data/mapdata/11320.txt | 0 .../server508}/data/mapdata/11321.txt | 0 .../server508}/data/mapdata/11322.txt | 0 .../server508}/data/mapdata/11323.txt | 0 .../server508}/data/mapdata/11338.txt | 0 .../server508}/data/mapdata/11339.txt | 0 .../server508}/data/mapdata/11340.txt | 0 .../server508}/data/mapdata/11345.txt | 0 .../server508}/data/mapdata/11346.txt | 0 .../server508}/data/mapdata/11347.txt | 0 .../server508}/data/mapdata/11348.txt | 0 .../server508}/data/mapdata/11349.txt | 0 .../server508}/data/mapdata/11350.txt | 0 .../server508}/data/mapdata/11405.txt | 0 .../server508}/data/mapdata/11406.txt | 0 .../server508}/data/mapdata/11407.txt | 0 .../server508}/data/mapdata/11412.txt | 0 .../server508}/data/mapdata/11413.txt | 0 .../server508}/data/mapdata/11414.txt | 0 .../server508}/data/mapdata/11415.txt | 0 .../server508}/data/mapdata/11416.txt | 0 .../server508}/data/mapdata/11417.txt | 0 .../server508}/data/mapdata/11418.txt | 0 .../server508}/data/mapdata/11419.txt | 0 .../server508}/data/mapdata/11420.txt | 0 .../server508}/data/mapdata/11421.txt | 0 .../server508}/data/mapdata/11422.txt | 0 .../server508}/data/mapdata/11423.txt | 0 .../server508}/data/mapdata/11561.txt | 0 .../server508}/data/mapdata/11562.txt | 0 .../server508}/data/mapdata/11563.txt | 0 .../server508}/data/mapdata/11565.txt | 0 .../server508}/data/mapdata/11566.txt | 0 .../server508}/data/mapdata/11567.txt | 0 .../server508}/data/mapdata/11568.txt | 0 .../server508}/data/mapdata/11569.txt | 0 .../server508}/data/mapdata/11570.txt | 0 .../server508}/data/mapdata/11571.txt | 0 .../server508}/data/mapdata/11572.txt | 0 .../server508}/data/mapdata/11573.txt | 0 .../server508}/data/mapdata/11574.txt | 0 .../server508}/data/mapdata/11575.txt | 0 .../server508}/data/mapdata/11576.txt | 0 .../server508}/data/mapdata/11577.txt | 0 .../server508}/data/mapdata/11578.txt | 0 .../server508}/data/mapdata/11579.txt | 0 .../server508}/data/mapdata/11580.txt | 0 .../server508}/data/mapdata/11581.txt | 0 .../server508}/data/mapdata/11582.txt | 0 .../server508}/data/mapdata/11592.txt | 0 .../server508}/data/mapdata/11593.txt | 0 .../server508}/data/mapdata/11594.txt | 0 .../server508}/data/mapdata/11595.txt | 0 .../server508}/data/mapdata/11596.txt | 0 .../server508}/data/mapdata/11601.txt | 0 .../server508}/data/mapdata/11602.txt | 0 .../server508}/data/mapdata/11603.txt | 0 .../server508}/data/mapdata/11604.txt | 0 .../server508}/data/mapdata/11605.txt | 0 .../server508}/data/mapdata/11606.txt | 0 .../server508}/data/mapdata/11608.txt | 0 .../server508}/data/mapdata/11609.txt | 0 .../server508}/data/mapdata/11610.txt | 0 .../server508}/data/mapdata/11668.txt | 0 .../server508}/data/mapdata/11669.txt | 0 .../server508}/data/mapdata/11670.txt | 0 .../server508}/data/mapdata/11671.txt | 0 .../server508}/data/mapdata/11672.txt | 0 .../server508}/data/mapdata/11673.txt | 0 .../server508}/data/mapdata/11674.txt | 0 .../server508}/data/mapdata/11675.txt | 0 .../server508}/data/mapdata/11817.txt | 0 .../server508}/data/mapdata/11818.txt | 0 .../server508}/data/mapdata/11819.txt | 0 .../server508}/data/mapdata/11821.txt | 0 .../server508}/data/mapdata/11822.txt | 0 .../server508}/data/mapdata/11823.txt | 0 .../server508}/data/mapdata/11824.txt | 0 .../server508}/data/mapdata/11825.txt | 0 .../server508}/data/mapdata/11826.txt | 0 .../server508}/data/mapdata/11827.txt | 0 .../server508}/data/mapdata/11828.txt | 0 .../server508}/data/mapdata/11829.txt | 0 .../server508}/data/mapdata/11830.txt | 0 .../server508}/data/mapdata/11831.txt | 0 .../server508}/data/mapdata/11832.txt | 0 .../server508}/data/mapdata/11833.txt | 0 .../server508}/data/mapdata/11834.txt | 0 .../server508}/data/mapdata/11835.txt | 0 .../server508}/data/mapdata/11836.txt | 0 .../server508}/data/mapdata/11837.txt | 0 .../server508}/data/mapdata/11838.txt | 0 .../server508}/data/mapdata/11848.txt | 0 .../server508}/data/mapdata/11849.txt | 0 .../server508}/data/mapdata/11850.txt | 0 .../server508}/data/mapdata/11851.txt | 0 .../server508}/data/mapdata/11857.txt | 0 .../server508}/data/mapdata/11858.txt | 0 .../server508}/data/mapdata/11859.txt | 0 .../server508}/data/mapdata/11860.txt | 0 .../server508}/data/mapdata/11861.txt | 0 .../server508}/data/mapdata/11862.txt | 0 .../server508}/data/mapdata/11863.txt | 0 .../server508}/data/mapdata/11864.txt | 0 .../server508}/data/mapdata/11865.txt | 0 .../server508}/data/mapdata/11866.txt | 0 .../server508}/data/mapdata/11924.txt | 0 .../server508}/data/mapdata/11925.txt | 0 .../server508}/data/mapdata/11926.txt | 0 .../server508}/data/mapdata/11927.txt | 0 .../server508}/data/mapdata/11928.txt | 0 .../server508}/data/mapdata/11929.txt | 0 .../server508}/data/mapdata/11930.txt | 0 .../server508}/data/mapdata/11931.txt | 0 .../server508}/data/mapdata/11936.txt | 0 .../server508}/data/mapdata/11937.txt | 0 .../server508}/data/mapdata/11938.txt | 0 .../server508}/data/mapdata/12077.txt | 0 .../server508}/data/mapdata/12078.txt | 0 .../server508}/data/mapdata/12079.txt | 0 .../server508}/data/mapdata/12080.txt | 0 .../server508}/data/mapdata/12081.txt | 0 .../server508}/data/mapdata/12082.txt | 0 .../server508}/data/mapdata/12083.txt | 0 .../server508}/data/mapdata/12084.txt | 0 .../server508}/data/mapdata/12085.txt | 0 .../server508}/data/mapdata/12086.txt | 0 .../server508}/data/mapdata/12087.txt | 0 .../server508}/data/mapdata/12088.txt | 0 .../server508}/data/mapdata/12089.txt | 0 .../server508}/data/mapdata/12090.txt | 0 .../server508}/data/mapdata/12091.txt | 0 .../server508}/data/mapdata/12092.txt | 0 .../server508}/data/mapdata/12093.txt | 0 .../server508}/data/mapdata/12094.txt | 0 .../server508}/data/mapdata/12097.txt | 0 .../server508}/data/mapdata/12098.txt | 0 .../server508}/data/mapdata/12109.txt | 0 .../server508}/data/mapdata/12110.txt | 0 .../server508}/data/mapdata/12119.txt | 0 .../server508}/data/mapdata/12120.txt | 0 .../server508}/data/mapdata/12121.txt | 0 .../server508}/data/mapdata/12122.txt | 0 .../server508}/data/mapdata/12180.txt | 0 .../server508}/data/mapdata/12181.txt | 0 .../server508}/data/mapdata/12182.txt | 0 .../server508}/data/mapdata/12183.txt | 0 .../server508}/data/mapdata/12184.txt | 0 .../server508}/data/mapdata/12185.txt | 0 .../server508}/data/mapdata/12186.txt | 0 .../server508}/data/mapdata/12187.txt | 0 .../server508}/data/mapdata/12188.txt | 0 .../server508}/data/mapdata/12191.txt | 0 .../server508}/data/mapdata/12192.txt | 0 .../server508}/data/mapdata/12193.txt | 0 .../server508}/data/mapdata/12194.txt | 0 .../server508}/data/mapdata/12332.txt | 0 .../server508}/data/mapdata/12333.txt | 0 .../server508}/data/mapdata/12334.txt | 0 .../server508}/data/mapdata/12335.txt | 0 .../server508}/data/mapdata/12336.txt | 0 .../server508}/data/mapdata/12337.txt | 0 .../server508}/data/mapdata/12338.txt | 0 .../server508}/data/mapdata/12339.txt | 0 .../server508}/data/mapdata/12340.txt | 0 .../server508}/data/mapdata/12341.txt | 0 .../server508}/data/mapdata/12342.txt | 0 .../server508}/data/mapdata/12343.txt | 0 .../server508}/data/mapdata/12344.txt | 0 .../server508}/data/mapdata/12345.txt | 0 .../server508}/data/mapdata/12346.txt | 0 .../server508}/data/mapdata/12347.txt | 0 .../server508}/data/mapdata/12348.txt | 0 .../server508}/data/mapdata/12349.txt | 0 .../server508}/data/mapdata/12350.txt | 0 .../server508}/data/mapdata/12351.txt | 0 .../server508}/data/mapdata/12352.txt | 0 .../server508}/data/mapdata/12353.txt | 0 .../server508}/data/mapdata/12354.txt | 0 .../server508}/data/mapdata/12355.txt | 0 .../server508}/data/mapdata/12364.txt | 0 .../server508}/data/mapdata/12365.txt | 0 .../server508}/data/mapdata/12366.txt | 0 .../server508}/data/mapdata/12372.txt | 0 .../server508}/data/mapdata/12373.txt | 0 .../server508}/data/mapdata/12374.txt | 0 .../server508}/data/mapdata/12375.txt | 0 .../server508}/data/mapdata/12376.txt | 0 .../server508}/data/mapdata/12377.txt | 0 .../server508}/data/mapdata/12378.txt | 0 .../server508}/data/mapdata/12436.txt | 0 .../server508}/data/mapdata/12437.txt | 0 .../server508}/data/mapdata/12438.txt | 0 .../server508}/data/mapdata/12439.txt | 0 .../server508}/data/mapdata/12440.txt | 0 .../server508}/data/mapdata/12441.txt | 0 .../server508}/data/mapdata/12442.txt | 0 .../server508}/data/mapdata/12443.txt | 0 .../server508}/data/mapdata/12444.txt | 0 .../server508}/data/mapdata/12447.txt | 0 .../server508}/data/mapdata/12448.txt | 0 .../server508}/data/mapdata/12449.txt | 0 .../server508}/data/mapdata/12450.txt | 0 .../server508}/data/mapdata/12587.txt | 0 .../server508}/data/mapdata/12588.txt | 0 .../server508}/data/mapdata/12589.txt | 0 .../server508}/data/mapdata/12590.txt | 0 .../server508}/data/mapdata/12591.txt | 0 .../server508}/data/mapdata/12592.txt | 0 .../server508}/data/mapdata/12593.txt | 0 .../server508}/data/mapdata/12594.txt | 0 .../server508}/data/mapdata/12595.txt | 0 .../server508}/data/mapdata/12596.txt | 0 .../server508}/data/mapdata/12597.txt | 0 .../server508}/data/mapdata/12598.txt | 0 .../server508}/data/mapdata/12599.txt | 0 .../server508}/data/mapdata/12600.txt | 0 .../server508}/data/mapdata/12601.txt | 0 .../server508}/data/mapdata/12602.txt | 0 .../server508}/data/mapdata/12603.txt | 0 .../server508}/data/mapdata/12604.txt | 0 .../server508}/data/mapdata/12605.txt | 0 .../server508}/data/mapdata/12606.txt | 0 .../server508}/data/mapdata/12609.txt | 0 .../server508}/data/mapdata/12610.txt | 0 .../server508}/data/mapdata/12611.txt | 0 .../server508}/data/mapdata/12620.txt | 0 .../server508}/data/mapdata/12621.txt | 0 .../server508}/data/mapdata/12622.txt | 0 .../server508}/data/mapdata/12623.txt | 0 .../server508}/data/mapdata/12624.txt | 0 .../server508}/data/mapdata/12628.txt | 0 .../server508}/data/mapdata/12629.txt | 0 .../server508}/data/mapdata/12630.txt | 0 .../server508}/data/mapdata/12631.txt | 0 .../server508}/data/mapdata/12632.txt | 0 .../server508}/data/mapdata/12633.txt | 0 .../server508}/data/mapdata/12634.txt | 0 .../server508}/data/mapdata/12688.txt | 0 .../server508}/data/mapdata/12689.txt | 0 .../server508}/data/mapdata/12690.txt | 0 .../server508}/data/mapdata/12692.txt | 0 .../server508}/data/mapdata/12693.txt | 0 .../server508}/data/mapdata/12694.txt | 0 .../server508}/data/mapdata/12695.txt | 0 .../server508}/data/mapdata/12696.txt | 0 .../server508}/data/mapdata/12697.txt | 0 .../server508}/data/mapdata/12698.txt | 0 .../server508}/data/mapdata/12699.txt | 0 .../server508}/data/mapdata/12700.txt | 0 .../server508}/data/mapdata/12842.txt | 0 .../server508}/data/mapdata/12843.txt | 0 .../server508}/data/mapdata/12844.txt | 0 .../server508}/data/mapdata/12845.txt | 0 .../server508}/data/mapdata/12846.txt | 0 .../server508}/data/mapdata/12847.txt | 0 .../server508}/data/mapdata/12848.txt | 0 .../server508}/data/mapdata/12849.txt | 0 .../server508}/data/mapdata/12850.txt | 0 .../server508}/data/mapdata/12851.txt | 0 .../server508}/data/mapdata/12852.txt | 0 .../server508}/data/mapdata/12853.txt | 0 .../server508}/data/mapdata/12854.txt | 0 .../server508}/data/mapdata/12855.txt | 0 .../server508}/data/mapdata/12856.txt | 0 .../server508}/data/mapdata/12857.txt | 0 .../server508}/data/mapdata/12858.txt | 0 .../server508}/data/mapdata/12859.txt | 0 .../server508}/data/mapdata/12860.txt | 0 .../server508}/data/mapdata/12861.txt | 0 .../server508}/data/mapdata/12862.txt | 0 .../server508}/data/mapdata/12865.txt | 0 .../server508}/data/mapdata/12866.txt | 0 .../server508}/data/mapdata/12867.txt | 0 .../server508}/data/mapdata/12876.txt | 0 .../server508}/data/mapdata/12877.txt | 0 .../server508}/data/mapdata/12878.txt | 0 .../server508}/data/mapdata/12879.txt | 0 .../server508}/data/mapdata/12880.txt | 0 .../server508}/data/mapdata/12884.txt | 0 .../server508}/data/mapdata/12885.txt | 0 .../server508}/data/mapdata/12886.txt | 0 .../server508}/data/mapdata/12887.txt | 0 .../server508}/data/mapdata/12944.txt | 0 .../server508}/data/mapdata/12945.txt | 0 .../server508}/data/mapdata/12946.txt | 0 .../server508}/data/mapdata/12948.txt | 0 .../server508}/data/mapdata/12949.txt | 0 .../server508}/data/mapdata/12950.txt | 0 .../server508}/data/mapdata/12951.txt | 0 .../server508}/data/mapdata/12952.txt | 0 .../server508}/data/mapdata/12953.txt | 0 .../server508}/data/mapdata/12954.txt | 0 .../server508}/data/mapdata/12955.txt | 0 .../server508}/data/mapdata/13098.txt | 0 .../server508}/data/mapdata/13099.txt | 0 .../server508}/data/mapdata/13100.txt | 0 .../server508}/data/mapdata/13101.txt | 0 .../server508}/data/mapdata/13102.txt | 0 .../server508}/data/mapdata/13103.txt | 0 .../server508}/data/mapdata/13104.txt | 0 .../server508}/data/mapdata/13105.txt | 0 .../server508}/data/mapdata/13106.txt | 0 .../server508}/data/mapdata/13107.txt | 0 .../server508}/data/mapdata/13108.txt | 0 .../server508}/data/mapdata/13109.txt | 0 .../server508}/data/mapdata/13110.txt | 0 .../server508}/data/mapdata/13111.txt | 0 .../server508}/data/mapdata/13112.txt | 0 .../server508}/data/mapdata/13113.txt | 0 .../server508}/data/mapdata/13114.txt | 0 .../server508}/data/mapdata/13115.txt | 0 .../server508}/data/mapdata/13116.txt | 0 .../server508}/data/mapdata/13117.txt | 0 .../server508}/data/mapdata/13118.txt | 0 .../server508}/data/mapdata/13132.txt | 0 .../server508}/data/mapdata/13133.txt | 0 .../server508}/data/mapdata/13134.txt | 0 .../server508}/data/mapdata/13135.txt | 0 .../server508}/data/mapdata/13136.txt | 0 .../server508}/data/mapdata/13140.txt | 0 .../server508}/data/mapdata/13141.txt | 0 .../server508}/data/mapdata/13142.txt | 0 .../server508}/data/mapdata/13143.txt | 0 .../server508}/data/mapdata/13200.txt | 0 .../server508}/data/mapdata/13201.txt | 0 .../server508}/data/mapdata/13202.txt | 0 .../server508}/data/mapdata/13204.txt | 0 .../server508}/data/mapdata/13205.txt | 0 .../server508}/data/mapdata/13206.txt | 0 .../server508}/data/mapdata/13208.txt | 0 .../server508}/data/mapdata/13209.txt | 0 .../server508}/data/mapdata/13210.txt | 0 .../server508}/data/mapdata/13211.txt | 0 .../server508}/data/mapdata/13354.txt | 0 .../server508}/data/mapdata/13355.txt | 0 .../server508}/data/mapdata/13356.txt | 0 .../server508}/data/mapdata/13357.txt | 0 .../server508}/data/mapdata/13358.txt | 0 .../server508}/data/mapdata/13359.txt | 0 .../server508}/data/mapdata/13360.txt | 0 .../server508}/data/mapdata/13361.txt | 0 .../server508}/data/mapdata/13362.txt | 0 .../server508}/data/mapdata/13363.txt | 0 .../server508}/data/mapdata/13364.txt | 0 .../server508}/data/mapdata/13365.txt | 0 .../server508}/data/mapdata/13366.txt | 0 .../server508}/data/mapdata/13367.txt | 0 .../server508}/data/mapdata/13368.txt | 0 .../server508}/data/mapdata/13369.txt | 0 .../server508}/data/mapdata/13370.txt | 0 .../server508}/data/mapdata/13371.txt | 0 .../server508}/data/mapdata/13372.txt | 0 .../server508}/data/mapdata/13373.txt | 0 .../server508}/data/mapdata/13374.txt | 0 .../server508}/data/mapdata/13388.txt | 0 .../server508}/data/mapdata/13389.txt | 0 .../server508}/data/mapdata/13465.txt | 0 .../server508}/data/mapdata/13466.txt | 0 .../server508}/data/mapdata/13467.txt | 0 .../server508}/data/mapdata/13612.txt | 0 .../server508}/data/mapdata/13613.txt | 0 .../server508}/data/mapdata/13614.txt | 0 .../server508}/data/mapdata/13615.txt | 0 .../server508}/data/mapdata/13616.txt | 0 .../server508}/data/mapdata/13617.txt | 0 .../server508}/data/mapdata/13618.txt | 0 .../server508}/data/mapdata/13619.txt | 0 .../server508}/data/mapdata/13620.txt | 0 .../server508}/data/mapdata/13621.txt | 0 .../server508}/data/mapdata/13622.txt | 0 .../server508}/data/mapdata/13623.txt | 0 .../server508}/data/mapdata/13624.txt | 0 .../server508}/data/mapdata/13625.txt | 0 .../server508}/data/mapdata/13626.txt | 0 .../server508}/data/mapdata/13627.txt | 0 .../server508}/data/mapdata/13628.txt | 0 .../server508}/data/mapdata/13629.txt | 0 .../server508}/data/mapdata/13630.txt | 0 .../server508}/data/mapdata/13642.txt | 0 .../server508}/data/mapdata/13643.txt | 0 .../server508}/data/mapdata/13644.txt | 0 .../server508}/data/mapdata/13715.txt | 0 .../server508}/data/mapdata/13716.txt | 0 .../server508}/data/mapdata/13717.txt | 0 .../server508}/data/mapdata/13868.txt | 0 .../server508}/data/mapdata/13869.txt | 0 .../server508}/data/mapdata/13870.txt | 0 .../server508}/data/mapdata/13871.txt | 0 .../server508}/data/mapdata/13872.txt | 0 .../server508}/data/mapdata/13873.txt | 0 .../server508}/data/mapdata/13874.txt | 0 .../server508}/data/mapdata/13875.txt | 0 .../server508}/data/mapdata/13876.txt | 0 .../server508}/data/mapdata/13877.txt | 0 .../server508}/data/mapdata/13878.txt | 0 .../server508}/data/mapdata/13879.txt | 0 .../server508}/data/mapdata/13880.txt | 0 .../server508}/data/mapdata/13898.txt | 0 .../server508}/data/mapdata/13899.txt | 0 .../server508}/data/mapdata/13900.txt | 0 .../server508}/data/mapdata/13971.txt | 0 .../server508}/data/mapdata/13972.txt | 0 .../server508}/data/mapdata/13973.txt | 0 .../server508}/data/mapdata/13974.txt | 0 .../server508}/data/mapdata/13975.txt | 0 .../server508}/data/mapdata/13976.txt | 0 .../server508}/data/mapdata/14129.txt | 0 .../server508}/data/mapdata/14130.txt | 0 .../server508}/data/mapdata/14131.txt | 0 .../server508}/data/mapdata/14132.txt | 0 .../server508}/data/mapdata/14133.txt | 0 .../server508}/data/mapdata/14134.txt | 0 .../server508}/data/mapdata/14135.txt | 0 .../server508}/data/mapdata/14136.txt | 0 .../server508}/data/mapdata/14154.txt | 0 .../server508}/data/mapdata/14155.txt | 0 .../server508}/data/mapdata/14156.txt | 0 .../server508}/data/mapdata/14227.txt | 0 .../server508}/data/mapdata/14228.txt | 0 .../server508}/data/mapdata/14229.txt | 0 .../server508}/data/mapdata/14230.txt | 0 .../server508}/data/mapdata/14231.txt | 0 .../server508}/data/mapdata/14232.txt | 0 .../server508}/data/mapdata/14381.txt | 0 .../server508}/data/mapdata/14382.txt | 0 .../server508}/data/mapdata/14383.txt | 0 .../server508}/data/mapdata/14384.txt | 0 .../server508}/data/mapdata/14385.txt | 0 .../server508}/data/mapdata/14386.txt | 0 .../server508}/data/mapdata/14387.txt | 0 .../server508}/data/mapdata/14388.txt | 0 .../server508}/data/mapdata/14389.txt | 0 .../server508}/data/mapdata/14390.txt | 0 .../server508}/data/mapdata/14391.txt | 0 .../server508}/data/mapdata/14486.txt | 0 .../server508}/data/mapdata/14487.txt | 0 .../server508}/data/mapdata/14488.txt | 0 .../server508}/data/mapdata/14637.txt | 0 .../server508}/data/mapdata/14638.txt | 0 .../server508}/data/mapdata/14639.txt | 0 .../server508}/data/mapdata/14640.txt | 0 .../server508}/data/mapdata/14645.txt | 0 .../server508}/data/mapdata/14646.txt | 0 .../server508}/data/mapdata/14647.txt | 0 .../server508}/data/mapdata/14893.txt | 0 .../server508}/data/mapdata/14894.txt | 0 .../server508}/data/mapdata/14895.txt | 0 .../server508}/data/mapdata/14896.txt | 0 .../server508}/data/mapdata/14901.txt | 0 .../server508}/data/mapdata/14902.txt | 0 .../server508}/data/mapdata/14903.txt | 0 .../server508}/data/mapdata/15149.txt | 0 .../server508}/data/mapdata/15150.txt | 0 .../server508}/data/mapdata/15151.txt | 0 .../server508}/data/mapdata/15152.txt | 0 .../server508}/data/mapdata/15406.txt | 0 .../server508}/data/mapdata/15407.txt | 0 .../server508}/data/mapdata/15408.txt | 0 .../server508}/data/mapdata/16123.txt | 0 .../server508}/data/mapdata/16124.txt | 0 .../server508}/data/mapdata/6230.txt | 0 .../server508}/data/mapdata/6231.txt | 0 .../server508}/data/mapdata/6232.txt | 0 .../server508}/data/mapdata/6484.txt | 0 .../server508}/data/mapdata/6485.txt | 0 .../server508}/data/mapdata/6486.txt | 0 .../server508}/data/mapdata/6487.txt | 0 .../server508}/data/mapdata/6488.txt | 0 .../server508}/data/mapdata/6732.txt | 0 .../server508}/data/mapdata/6733.txt | 0 .../server508}/data/mapdata/6734.txt | 0 .../server508}/data/mapdata/6740.txt | 0 .../server508}/data/mapdata/6741.txt | 0 .../server508}/data/mapdata/6742.txt | 0 .../server508}/data/mapdata/6743.txt | 0 .../server508}/data/mapdata/6744.txt | 0 .../server508}/data/mapdata/6988.txt | 0 .../server508}/data/mapdata/6989.txt | 0 .../server508}/data/mapdata/6990.txt | 0 .../server508}/data/mapdata/6996.txt | 0 .../server508}/data/mapdata/6997.txt | 0 .../server508}/data/mapdata/6998.txt | 0 .../server508}/data/mapdata/6999.txt | 0 .../server508}/data/mapdata/7000.txt | 0 .../server508}/data/mapdata/7244.txt | 0 .../server508}/data/mapdata/7245.txt | 0 .../server508}/data/mapdata/7246.txt | 0 .../server508}/data/mapdata/7248.txt | 0 .../server508}/data/mapdata/7249.txt | 0 .../server508}/data/mapdata/7250.txt | 0 .../server508}/data/mapdata/7492.txt | 0 .../server508}/data/mapdata/7493.txt | 0 .../server508}/data/mapdata/7494.txt | 0 .../server508}/data/mapdata/7497.txt | 0 .../server508}/data/mapdata/7498.txt | 0 .../server508}/data/mapdata/7499.txt | 0 .../server508}/data/mapdata/7503.txt | 0 .../server508}/data/mapdata/7504.txt | 0 .../server508}/data/mapdata/7505.txt | 0 .../server508}/data/mapdata/7506.txt | 0 .../server508}/data/mapdata/7509.txt | 0 .../server508}/data/mapdata/7748.txt | 0 .../server508}/data/mapdata/7749.txt | 0 .../server508}/data/mapdata/7750.txt | 0 .../server508}/data/mapdata/7753.txt | 0 .../server508}/data/mapdata/7754.txt | 0 .../server508}/data/mapdata/7755.txt | 0 .../server508}/data/mapdata/7757.txt | 0 .../server508}/data/mapdata/7758.txt | 0 .../server508}/data/mapdata/7759.txt | 0 .../server508}/data/mapdata/7760.txt | 0 .../server508}/data/mapdata/7761.txt | 0 .../server508}/data/mapdata/7762.txt | 0 .../server508}/data/mapdata/7763.txt | 0 .../server508}/data/mapdata/7764.txt | 0 .../server508}/data/mapdata/7765.txt | 0 .../server508}/data/mapdata/7995.txt | 0 .../server508}/data/mapdata/7996.txt | 0 .../server508}/data/mapdata/7997.txt | 0 .../server508}/data/mapdata/7998.txt | 0 .../server508}/data/mapdata/8009.txt | 0 .../server508}/data/mapdata/8010.txt | 0 .../server508}/data/mapdata/8011.txt | 0 .../server508}/data/mapdata/8013.txt | 0 .../server508}/data/mapdata/8014.txt | 0 .../server508}/data/mapdata/8016.txt | 0 .../server508}/data/mapdata/8017.txt | 0 .../server508}/data/mapdata/8018.txt | 0 .../server508}/data/mapdata/8019.txt | 0 .../server508}/data/mapdata/8020.txt | 0 .../server508}/data/mapdata/8021.txt | 0 .../server508}/data/mapdata/8240.txt | 0 .../server508}/data/mapdata/8241.txt | 0 .../server508}/data/mapdata/8251.txt | 0 .../server508}/data/mapdata/8252.txt | 0 .../server508}/data/mapdata/8253.txt | 0 .../server508}/data/mapdata/8254.txt | 0 .../server508}/data/mapdata/8265.txt | 0 .../server508}/data/mapdata/8266.txt | 0 .../server508}/data/mapdata/8267.txt | 0 .../server508}/data/mapdata/8268.txt | 0 .../server508}/data/mapdata/8272.txt | 0 .../server508}/data/mapdata/8273.txt | 0 .../server508}/data/mapdata/8274.txt | 0 .../server508}/data/mapdata/8275.txt | 0 .../server508}/data/mapdata/8276.txt | 0 .../server508}/data/mapdata/8277.txt | 0 .../server508}/data/mapdata/8496.txt | 0 .../server508}/data/mapdata/8497.txt | 0 .../server508}/data/mapdata/8498.txt | 0 .../server508}/data/mapdata/8499.txt | 0 .../server508}/data/mapdata/8506.txt | 0 .../server508}/data/mapdata/8507.txt | 0 .../server508}/data/mapdata/8508.txt | 0 .../server508}/data/mapdata/8509.txt | 0 .../server508}/data/mapdata/8510.txt | 0 .../server508}/data/mapdata/8522.txt | 0 .../server508}/data/mapdata/8523.txt | 0 .../server508}/data/mapdata/8524.txt | 0 .../server508}/data/mapdata/8525.txt | 0 .../server508}/data/mapdata/8529.txt | 0 .../server508}/data/mapdata/8530.txt | 0 .../server508}/data/mapdata/8531.txt | 0 .../server508}/data/mapdata/8532.txt | 0 .../server508}/data/mapdata/8533.txt | 0 .../server508}/data/mapdata/8752.txt | 0 .../server508}/data/mapdata/8753.txt | 0 .../server508}/data/mapdata/8754.txt | 0 .../server508}/data/mapdata/8755.txt | 0 .../server508}/data/mapdata/8756.txt | 0 .../server508}/data/mapdata/8757.txt | 0 .../server508}/data/mapdata/8762.txt | 0 .../server508}/data/mapdata/8763.txt | 0 .../server508}/data/mapdata/8764.txt | 0 .../server508}/data/mapdata/8765.txt | 0 .../server508}/data/mapdata/8776.txt | 0 .../server508}/data/mapdata/8777.txt | 0 .../server508}/data/mapdata/8778.txt | 0 .../server508}/data/mapdata/8779.txt | 0 .../server508}/data/mapdata/8780.txt | 0 .../server508}/data/mapdata/8781.txt | 0 .../server508}/data/mapdata/8785.txt | 0 .../server508}/data/mapdata/8786.txt | 0 .../server508}/data/mapdata/8787.txt | 0 .../server508}/data/mapdata/8788.txt | 0 .../server508}/data/mapdata/8789.txt | 0 .../server508}/data/mapdata/9008.txt | 0 .../server508}/data/mapdata/9009.txt | 0 .../server508}/data/mapdata/9010.txt | 0 .../server508}/data/mapdata/9011.txt | 0 .../server508}/data/mapdata/9012.txt | 0 .../server508}/data/mapdata/9013.txt | 0 .../server508}/data/mapdata/9014.txt | 0 .../server508}/data/mapdata/9015.txt | 0 .../server508}/data/mapdata/9016.txt | 0 .../server508}/data/mapdata/9017.txt | 0 .../server508}/data/mapdata/9018.txt | 0 .../server508}/data/mapdata/9019.txt | 0 .../server508}/data/mapdata/9020.txt | 0 .../server508}/data/mapdata/9032.txt | 0 .../server508}/data/mapdata/9033.txt | 0 .../server508}/data/mapdata/9034.txt | 0 .../server508}/data/mapdata/9035.txt | 0 .../server508}/data/mapdata/9036.txt | 0 .../server508}/data/mapdata/9037.txt | 0 .../server508}/data/mapdata/9040.txt | 0 .../server508}/data/mapdata/9041.txt | 0 .../server508}/data/mapdata/9042.txt | 0 .../server508}/data/mapdata/9043.txt | 0 .../server508}/data/mapdata/9044.txt | 0 .../server508}/data/mapdata/9045.txt | 0 .../server508}/data/mapdata/9048.txt | 0 .../server508}/data/mapdata/9049.txt | 0 .../server508}/data/mapdata/9050.txt | 0 .../server508}/data/mapdata/9109.txt | 0 .../server508}/data/mapdata/9110.txt | 0 .../server508}/data/mapdata/9111.txt | 0 .../server508}/data/mapdata/9120.txt | 0 .../server508}/data/mapdata/9121.txt | 0 .../server508}/data/mapdata/9122.txt | 0 .../server508}/data/mapdata/9262.txt | 0 .../server508}/data/mapdata/9263.txt | 0 .../server508}/data/mapdata/9264.txt | 0 .../server508}/data/mapdata/9265.txt | 0 .../server508}/data/mapdata/9266.txt | 0 .../server508}/data/mapdata/9267.txt | 0 .../server508}/data/mapdata/9268.txt | 0 .../server508}/data/mapdata/9269.txt | 0 .../server508}/data/mapdata/9270.txt | 0 .../server508}/data/mapdata/9271.txt | 0 .../server508}/data/mapdata/9272.txt | 0 .../server508}/data/mapdata/9273.txt | 0 .../server508}/data/mapdata/9274.txt | 0 .../server508}/data/mapdata/9275.txt | 0 .../server508}/data/mapdata/9276.txt | 0 .../server508}/data/mapdata/9277.txt | 0 .../server508}/data/mapdata/9284.txt | 0 .../server508}/data/mapdata/9285.txt | 0 .../server508}/data/mapdata/9286.txt | 0 .../server508}/data/mapdata/9288.txt | 0 .../server508}/data/mapdata/9289.txt | 0 .../server508}/data/mapdata/9290.txt | 0 .../server508}/data/mapdata/9291.txt | 0 .../server508}/data/mapdata/9292.txt | 0 .../server508}/data/mapdata/9295.txt | 0 .../server508}/data/mapdata/9296.txt | 0 .../server508}/data/mapdata/9297.txt | 0 .../server508}/data/mapdata/9298.txt | 0 .../server508}/data/mapdata/9299.txt | 0 .../server508}/data/mapdata/9300.txt | 0 .../server508}/data/mapdata/9301.txt | 0 .../server508}/data/mapdata/9304.txt | 0 .../server508}/data/mapdata/9305.txt | 0 .../server508}/data/mapdata/9306.txt | 0 .../server508}/data/mapdata/9363.txt | 0 .../server508}/data/mapdata/9364.txt | 0 .../server508}/data/mapdata/9365.txt | 0 .../server508}/data/mapdata/9366.txt | 0 .../server508}/data/mapdata/9367.txt | 0 .../server508}/data/mapdata/9376.txt | 0 .../server508}/data/mapdata/9377.txt | 0 .../server508}/data/mapdata/9378.txt | 0 .../server508}/data/mapdata/9515.txt | 0 .../server508}/data/mapdata/9516.txt | 0 .../server508}/data/mapdata/9517.txt | 0 .../server508}/data/mapdata/9518.txt | 0 .../server508}/data/mapdata/9519.txt | 0 .../server508}/data/mapdata/9520.txt | 0 .../server508}/data/mapdata/9521.txt | 0 .../server508}/data/mapdata/9522.txt | 0 .../server508}/data/mapdata/9523.txt | 0 .../server508}/data/mapdata/9524.txt | 0 .../server508}/data/mapdata/9525.txt | 0 .../server508}/data/mapdata/9526.txt | 0 .../server508}/data/mapdata/9527.txt | 0 .../server508}/data/mapdata/9528.txt | 0 .../server508}/data/mapdata/9529.txt | 0 .../server508}/data/mapdata/9530.txt | 0 .../server508}/data/mapdata/9531.txt | 0 .../server508}/data/mapdata/9532.txt | 0 .../server508}/data/mapdata/9533.txt | 0 .../server508}/data/mapdata/9540.txt | 0 .../server508}/data/mapdata/9541.txt | 0 .../server508}/data/mapdata/9542.txt | 0 .../server508}/data/mapdata/9546.txt | 0 .../server508}/data/mapdata/9547.txt | 0 .../server508}/data/mapdata/9548.txt | 0 .../server508}/data/mapdata/9551.txt | 0 .../server508}/data/mapdata/9552.txt | 0 .../server508}/data/mapdata/9553.txt | 0 .../server508}/data/mapdata/9554.txt | 0 .../server508}/data/mapdata/9555.txt | 0 .../server508}/data/mapdata/9556.txt | 0 .../server508}/data/mapdata/9557.txt | 0 .../server508}/data/mapdata/9560.txt | 0 .../server508}/data/mapdata/9561.txt | 0 .../server508}/data/mapdata/9562.txt | 0 .../server508}/data/mapdata/9619.txt | 0 .../server508}/data/mapdata/9620.txt | 0 .../server508}/data/mapdata/9621.txt | 0 .../server508}/data/mapdata/9622.txt | 0 .../server508}/data/mapdata/9623.txt | 0 .../server508}/data/mapdata/9625.txt | 0 .../server508}/data/mapdata/9626.txt | 0 .../server508}/data/mapdata/9627.txt | 0 .../server508}/data/mapdata/9632.txt | 0 .../server508}/data/mapdata/9633.txt | 0 .../server508}/data/mapdata/9634.txt | 0 .../server508}/data/mapdata/9771.txt | 0 .../server508}/data/mapdata/9772.txt | 0 .../server508}/data/mapdata/9773.txt | 0 .../server508}/data/mapdata/9774.txt | 0 .../server508}/data/mapdata/9775.txt | 0 .../server508}/data/mapdata/9776.txt | 0 .../server508}/data/mapdata/9777.txt | 0 .../server508}/data/mapdata/9778.txt | 0 .../server508}/data/mapdata/9779.txt | 0 .../server508}/data/mapdata/9780.txt | 0 .../server508}/data/mapdata/9781.txt | 0 .../server508}/data/mapdata/9782.txt | 0 .../server508}/data/mapdata/9783.txt | 0 .../server508}/data/mapdata/9784.txt | 0 .../server508}/data/mapdata/9785.txt | 0 .../server508}/data/mapdata/9786.txt | 0 .../server508}/data/mapdata/9787.txt | 0 .../server508}/data/mapdata/9788.txt | 0 .../server508}/data/mapdata/9789.txt | 0 .../server508}/data/mapdata/9796.txt | 0 .../server508}/data/mapdata/9797.txt | 0 .../server508}/data/mapdata/9798.txt | 0 .../server508}/data/mapdata/9800.txt | 0 .../server508}/data/mapdata/9801.txt | 0 .../server508}/data/mapdata/9802.txt | 0 .../server508}/data/mapdata/9803.txt | 0 .../server508}/data/mapdata/9804.txt | 0 .../server508}/data/mapdata/9805.txt | 0 .../server508}/data/mapdata/9806.txt | 0 .../server508}/data/mapdata/9807.txt | 0 .../server508}/data/mapdata/9808.txt | 0 .../server508}/data/mapdata/9809.txt | 0 .../server508}/data/mapdata/9810.txt | 0 .../server508}/data/mapdata/9811.txt | 0 .../server508}/data/mapdata/9812.txt | 0 .../server508}/data/mapdata/9813.txt | 0 .../server508}/data/mapdata/9875.txt | 0 .../server508}/data/mapdata/9876.txt | 0 .../server508}/data/mapdata/9877.txt | 0 .../server508}/data/mapdata/9881.txt | 0 .../server508}/data/mapdata/9882.txt | 0 .../server508}/data/mapdata/9883.txt | 0 .../server508}/data/mapdata/9884.txt | 0 .../server508}/data/mapdata/9885.txt | 0 .../server508}/data/mapdata/9887.txt | 0 .../server508}/data/mapdata/9888.txt | 0 .../server508}/data/mapdata/9889.txt | 0 .../server508}/data/npcs/npcdrops.cfg | 0 .../server508}/data/npcs/npclist.cfg | 0 .../server508}/data/npcs/npcspawn.cfg | 0 .../server508}/data/objects.cfg | 0 servers/server508/pom.xml | 37 + .../java}/DavidScape/ClanChat/ClanList.java | 0 .../java}/DavidScape/ClanChat/ClanMain.java | 0 .../java}/DavidScape/ClanChat/SaveChats.java | 0 .../java}/DavidScape/ClanChat/inChat.java | 0 .../src/main/java}/DavidScape/Engine.java | 0 .../src/main/java}/DavidScape/Server.java | 0 .../main/java}/DavidScape/Skills/Fishing.java | 0 .../main/java}/DavidScape/Skills/Mining.java | 0 .../java}/DavidScape/Skills/Smithing.java | 0 .../java}/DavidScape/Skills/Woodcutting.java | 0 .../Skills/construction/Construction.java | 0 .../main/java}/DavidScape/io/FileManager.java | 0 .../src/main/java}/DavidScape/io/Frames.java | 0 .../src/main/java}/DavidScape/io/Login.java | 0 .../java}/DavidScape/io/PacketManager.java | 0 .../src/main/java}/DavidScape/io/Packets.java | 0 .../DavidScape/io/packets/ActionButtons.java | 0 .../java}/DavidScape/io/packets/Assault.java | 0 .../java}/DavidScape/io/packets/ClanChat.java | 0 .../java}/DavidScape/io/packets/Commands.java | 0 .../java}/DavidScape/io/packets/DropItem.java | 0 .../DavidScape/io/packets/Equipment.java | 0 .../java}/DavidScape/io/packets/ItemGive.java | 0 .../DavidScape/io/packets/ItemOnItem.java | 0 .../DavidScape/io/packets/ItemOnNPC.java | 0 .../DavidScape/io/packets/ItemOnObject.java | 0 .../DavidScape/io/packets/ItemOperate.java | 0 .../DavidScape/io/packets/ItemOption1.java | 0 .../DavidScape/io/packets/ItemOption2.java | 0 .../DavidScape/io/packets/ItemSelect.java | 0 .../DavidScape/io/packets/MagicOnNPC.java | 0 .../DavidScape/io/packets/MagicOnPlayer.java | 0 .../DavidScape/io/packets/NPCAttack.java | 0 .../DavidScape/io/packets/NPCOption1.java | 0 .../DavidScape/io/packets/NPCOption2.java | 0 .../DavidScape/io/packets/NPCOption3.java | 0 .../DavidScape/io/packets/ObjectOption1.java | 0 .../DavidScape/io/packets/ObjectOption2.java | 0 .../java}/DavidScape/io/packets/Packet.java | 0 .../DavidScape/io/packets/PickupItem.java | 0 .../DavidScape/io/packets/PlayerOption1.java | 0 .../DavidScape/io/packets/PlayerOption2.java | 0 .../DavidScape/io/packets/PlayerOption3.java | 0 .../java}/DavidScape/io/packets/Prayer.java | 0 .../DavidScape/io/packets/PublicChat.java | 0 .../DavidScape/io/packets/SwitchItems.java | 0 .../DavidScape/io/packets/SwitchItems2.java | 0 .../java}/DavidScape/io/packets/Walking.java | 0 .../DavidScape/io/packets/bountyHunter.java | 0 .../java}/DavidScape/io/packets/desktop.ini | 0 .../DavidScape/net/ConnectionManager.java | 0 .../main/java}/DavidScape/net/Monitor.java | 0 .../java}/DavidScape/net/PlayerSocket.java | 0 .../main/java}/DavidScape/net/Protect.java | 0 .../java}/DavidScape/net/SocketListener.java | 0 .../src/main/java}/DavidScape/net/desktop.ini | 0 .../src/main/java}/DavidScape/npcs/NPC.java | 0 .../npcs/combat/NPCPlayerCombat.java | 0 .../DavidScape/npcs/loading/LoadNPCLists.java | 0 .../DavidScape/npcs/loading/NPCList.java | 0 .../java}/DavidScape/npcs/loading/desktop.ini | 0 .../DavidScape/npcs/update/NPCMovement.java | 0 .../DavidScape/npcs/update/NPCUpdate.java | 0 .../npcs/update/NPCUpdateMasks.java | 0 .../main/java}/DavidScape/players/Magic.java | 0 .../main/java}/DavidScape/players/Player.java | 0 .../DavidScape/players/PlayerFollow.java | 0 .../java}/DavidScape/players/PlayerSave.java | 0 .../java}/DavidScape/players/UserInput.java | 0 .../players/castlewars/CastleWarsFL.java | 0 .../DavidScape/players/combat/MagicNPC.java | 0 .../players/combat/PlayerCombat.java | 0 .../players/combat/PlayerNPCCombat.java | 0 .../DavidScape/players/items/BankUtils.java | 0 .../DavidScape/players/items/ItemObject.java | 0 .../DavidScape/players/items/PlayerBank.java | 0 .../DavidScape/players/items/PlayerItems.java | 0 .../DavidScape/players/items/PlayerTrade.java | 0 .../players/items/PlayerWeapon.java | 0 .../DavidScape/players/items/ReqItems.java | 0 .../DavidScape/players/objectLoader.java | 0 .../DavidScape/players/ptrade/PTrade.java | 0 .../DavidScape/players/ptrade/TButtons.java | 0 .../DavidScape/players/ptrade/TItem.java | 0 .../players/update/PlayerMovement.java | 0 .../players/update/PlayerUpdate.java | 0 .../players/update/PlayerUpdateMasks.java | 0 .../src/main/java}/DavidScape/util/Misc.java | 0 .../java}/DavidScape/util/ShopHandler.java | 0 .../main/java}/DavidScape/util/Stream.java | 0 .../src/main/java}/DavidScape/util/Vars.java | 0 .../DavidScape/world/items/BankUtils.java | 0 .../DavidScape/world/items/GroundItem.java | 0 .../DavidScape/world/items/ItemList.java | 0 .../java}/DavidScape/world/items/Items.java | 0 .../DavidScape/world/mapdata/MapData.java | 0 .../DavidScape/world/mapdata/MapList.java | 0 .../server508/src/main/java}/server.java | 0 1857 files changed, 21894 insertions(+), 443 deletions(-) create mode 100755 MoparScape/pom.xml create mode 100755 MoparScape/src/main/java/org/moparscape/Debug.java rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v317/ByteStream.java (97%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v317/CacheFile.java (88%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v317/CacheIndex.java (96%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v317/Main.java (93%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v508/CacheFile.java (92%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v508/CacheFileSet.java (83%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v508/FileOnDisk.java (87%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v508/Main.java (96%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v508/Misc.java (87%) rename {src => MoparScape/src/main/java}/org/moparscape/cacheutils/v508/RandomAccessFile.java (94%) rename {src => MoparScape/src/main/java}/org/moparscape/classloader/CRCClassLoader.java (97%) rename {src => MoparScape/src/main/java}/org/moparscape/classloader/CRCClassLoaderOrig.java (96%) rename {src => MoparScape/src/main/java}/org/moparscape/classloader/CRCJar.java (81%) create mode 100644 MoparScape/src/main/java/org/moparscape/classloader/MoparScapeLinks.java rename {src => MoparScape/src/main/java}/org/moparscape/iface/ClientInterface.java (95%) rename {src => MoparScape/src/main/java}/org/moparscape/iface/Hasher.java (90%) rename {src => MoparScape/src/main/java}/org/moparscape/iface/ServerInterface.java (78%) rename {src => MoparScape/src/main/java}/org/moparscape/res/AbstractDownloadListener.java (92%) rename {src => MoparScape/src/main/java}/org/moparscape/res/Base32.java (86%) rename {src => MoparScape/src/main/java}/org/moparscape/res/ChecksumInfo.java (96%) rename {src => MoparScape/src/main/java}/org/moparscape/res/ChecksumInputStream.java (87%) rename {src => MoparScape/src/main/java}/org/moparscape/res/CompleteRunnable.java (86%) rename {src => MoparScape/src/main/java}/org/moparscape/res/DownloadListener.java (83%) rename {src => MoparScape/src/main/java}/org/moparscape/res/MakeTorrent.java (97%) rename {src => MoparScape/src/main/java}/org/moparscape/res/NullOutputStream.java (76%) rename {src => MoparScape/src/main/java}/org/moparscape/res/ResourceGrabber.java (99%) rename {src => MoparScape/src/main/java}/org/moparscape/res/impl/BTDownloader.java (98%) rename {src => MoparScape/src/main/java}/org/moparscape/res/impl/BTDownloaderCRCs.java (78%) rename {src => MoparScape/src/main/java}/org/moparscape/res/impl/Downloader.java (97%) rename {src => MoparScape/src/main/java}/org/moparscape/res/impl/URLDownloader.java (94%) rename {src => MoparScape/src/main/java}/org/moparscape/rsakeys/Base64.java (99%) rename {src => MoparScape/src/main/java}/org/moparscape/rsakeys/KeyGenerator.java (86%) rename {src => MoparScape/src/main/java}/org/moparscape/security/SecurityManager.java (98%) rename {src => MoparScape/src/main/java}/org/moparscape/userver/Server.java (94%) rename {src => MoparScape/src/main/java}/org/moparscape/userver/v317/ConcurrentOndemandServer.java (93%) rename {src => MoparScape/src/main/java}/org/moparscape/userver/v317/JaggrabServer.java (92%) rename {src => MoparScape/src/main/java}/org/moparscape/userver/v508/ConcurrentOndemandServer.java (96%) rename {src => MoparScape/src/main/java}/org/moparscape/userver/v508/OndemandServer.java (97%) create mode 100755 cachedump/completeRSC/config.jag create mode 100755 cachedump/completeRSC/entity.jag create mode 100755 cachedump/completeRSC/entity.mem create mode 100755 cachedump/completeRSC/filter.jag create mode 100755 cachedump/completeRSC/fonts.jag create mode 100755 cachedump/completeRSC/land.jag create mode 100755 cachedump/completeRSC/land.mem create mode 100755 cachedump/completeRSC/maps.jag create mode 100755 cachedump/completeRSC/maps.mem create mode 100755 cachedump/completeRSC/media.jag create mode 100755 cachedump/completeRSC/models.jag create mode 100755 cachedump/completeRSC/sounds.mem create mode 100755 cachedump/completeRSC/textures.jag delete mode 120000 clientRSC/src/mudclient create mode 100644 clients/client317/pom.xml rename {client317/src => clients/client317/src/main/java}/client.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class11.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class18.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class21.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class29.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class30_Sub1.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class33.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class36.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class39.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class4.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class40.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class43.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class47.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Class6.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Ground.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/MRUNodes.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Node.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/NodeCache.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/NodeList.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/NodeSub.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/NodeSubList.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Object1.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Object2.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Object3.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Object4.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Object5.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/ObjectManager.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/RSApplet.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/RSFrame.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/RSInterface.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/Sounds.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/TextClass.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/TextInput.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/WorldController.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/Animable.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/Animable_Sub3.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/Animable_Sub4.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/Animable_Sub5.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/Entity.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/Item.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/Model.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/NPC.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/animable/Player.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/anticheat/MouseDetection.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/cache/Decompressor.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/cache/OnDemandData.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/cache/OnDemandFetcher.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/cache/OnDemandFetcherParent.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/client.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/Animation.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/Censor.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/EntityDef.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/Flo.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/IDK.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/ItemDef.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/ObjectDef.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/SpotAnim.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/VarBit.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/config/Varp.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/constants/SizeConstants.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/constants/Skills.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/graphics/Background.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/graphics/DrawingArea.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/graphics/RSImageProducer.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/graphics/Sprite.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/graphics/TextDrawingArea.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/graphics/Texture.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/net/ISAACRandomGen.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/net/RSSocket.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/sign/signlink.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/stream/Class13.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/stream/Class32.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/stream/Stream.java (100%) rename {client317/src => clients/client317/src/main/java}/rs/stream/StreamLoader.java (100%) create mode 100644 clients/client508/pom.xml rename {client508/src => clients/client508/src/main/java}/Animable.java (100%) rename {client508/src => clients/client508/src/main/java}/Applet_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Canvas_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class10.java (100%) rename {client508/src => clients/client508/src/main/java}/Class101.java (100%) rename {client508/src => clients/client508/src/main/java}/Class102.java (100%) rename {client508/src => clients/client508/src/main/java}/Class103.java (100%) rename {client508/src => clients/client508/src/main/java}/Class104.java (100%) rename {client508/src => clients/client508/src/main/java}/Class105.java (100%) rename {client508/src => clients/client508/src/main/java}/Class105_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class106.java (100%) rename {client508/src => clients/client508/src/main/java}/Class107.java (100%) rename {client508/src => clients/client508/src/main/java}/Class108.java (100%) rename {client508/src => clients/client508/src/main/java}/Class109.java (100%) rename {client508/src => clients/client508/src/main/java}/Class11.java (100%) rename {client508/src => clients/client508/src/main/java}/Class110.java (100%) rename {client508/src => clients/client508/src/main/java}/Class112.java (100%) rename {client508/src => clients/client508/src/main/java}/Class113.java (100%) rename {client508/src => clients/client508/src/main/java}/Class114.java (100%) rename {client508/src => clients/client508/src/main/java}/Class115.java (100%) rename {client508/src => clients/client508/src/main/java}/Class116.java (100%) rename {client508/src => clients/client508/src/main/java}/Class118.java (100%) rename {client508/src => clients/client508/src/main/java}/Class119.java (100%) rename {client508/src => clients/client508/src/main/java}/Class12.java (100%) rename {client508/src => clients/client508/src/main/java}/Class120.java (100%) rename {client508/src => clients/client508/src/main/java}/Class121.java (100%) rename {client508/src => clients/client508/src/main/java}/Class122.java (100%) rename {client508/src => clients/client508/src/main/java}/Class123.java (100%) rename {client508/src => clients/client508/src/main/java}/Class124.java (100%) rename {client508/src => clients/client508/src/main/java}/Class125.java (100%) rename {client508/src => clients/client508/src/main/java}/Class127.java (100%) rename {client508/src => clients/client508/src/main/java}/Class128.java (100%) rename {client508/src => clients/client508/src/main/java}/Class13.java (100%) rename {client508/src => clients/client508/src/main/java}/Class13_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class13_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class13_Sub3.java (100%) rename {client508/src => clients/client508/src/main/java}/Class13_Sub4.java (100%) rename {client508/src => clients/client508/src/main/java}/Class14.java (100%) rename {client508/src => clients/client508/src/main/java}/Class15.java (100%) rename {client508/src => clients/client508/src/main/java}/Class15_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class16.java (100%) rename {client508/src => clients/client508/src/main/java}/Class17.java (100%) rename {client508/src => clients/client508/src/main/java}/Class18.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub3.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub3_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub4.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub5.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub6.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub6_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub6_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class1_Sub7.java (100%) rename {client508/src => clients/client508/src/main/java}/Class2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class20.java (100%) rename {client508/src => clients/client508/src/main/java}/Class21_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class21renamed.java (100%) rename {client508/src => clients/client508/src/main/java}/Class22.java (100%) rename {client508/src => clients/client508/src/main/java}/Class23.java (100%) rename {client508/src => clients/client508/src/main/java}/Class24.java (100%) rename {client508/src => clients/client508/src/main/java}/Class25.java (100%) rename {client508/src => clients/client508/src/main/java}/Class26.java (100%) rename {client508/src => clients/client508/src/main/java}/Class27.java (100%) rename {client508/src => clients/client508/src/main/java}/Class28.java (100%) rename {client508/src => clients/client508/src/main/java}/Class29.java (100%) rename {client508/src => clients/client508/src/main/java}/Class3.java (100%) rename {client508/src => clients/client508/src/main/java}/Class30.java (100%) rename {client508/src => clients/client508/src/main/java}/Class32.java (100%) rename {client508/src => clients/client508/src/main/java}/Class33.java (100%) rename {client508/src => clients/client508/src/main/java}/Class34.java (100%) rename {client508/src => clients/client508/src/main/java}/Class35.java (100%) rename {client508/src => clients/client508/src/main/java}/Class35_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class35_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class36.java (100%) rename {client508/src => clients/client508/src/main/java}/Class37.java (100%) rename {client508/src => clients/client508/src/main/java}/Class39.java (100%) rename {client508/src => clients/client508/src/main/java}/Class4.java (100%) rename {client508/src => clients/client508/src/main/java}/Class40.java (100%) rename {client508/src => clients/client508/src/main/java}/Class41.java (100%) rename {client508/src => clients/client508/src/main/java}/Class42.java (100%) rename {client508/src => clients/client508/src/main/java}/Class43.java (100%) rename {client508/src => clients/client508/src/main/java}/Class44.java (100%) rename {client508/src => clients/client508/src/main/java}/Class45.java (100%) rename {client508/src => clients/client508/src/main/java}/Class46.java (100%) rename {client508/src => clients/client508/src/main/java}/Class47.java (100%) rename {client508/src => clients/client508/src/main/java}/Class48.java (100%) rename {client508/src => clients/client508/src/main/java}/Class49.java (100%) rename {client508/src => clients/client508/src/main/java}/Class5.java (100%) rename {client508/src => clients/client508/src/main/java}/Class50.java (100%) rename {client508/src => clients/client508/src/main/java}/Class50_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class50_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class51.java (100%) rename {client508/src => clients/client508/src/main/java}/Class52.java (100%) rename {client508/src => clients/client508/src/main/java}/Class53.java (100%) rename {client508/src => clients/client508/src/main/java}/Class54.java (100%) rename {client508/src => clients/client508/src/main/java}/Class55.java (100%) rename {client508/src => clients/client508/src/main/java}/Class56.java (100%) rename {client508/src => clients/client508/src/main/java}/Class57.java (100%) rename {client508/src => clients/client508/src/main/java}/Class58.java (100%) rename {client508/src => clients/client508/src/main/java}/Class59.java (100%) rename {client508/src => clients/client508/src/main/java}/Class6.java (100%) rename {client508/src => clients/client508/src/main/java}/Class60.java (100%) rename {client508/src => clients/client508/src/main/java}/Class62.java (100%) rename {client508/src => clients/client508/src/main/java}/Class63.java (100%) rename {client508/src => clients/client508/src/main/java}/Class64.java (100%) rename {client508/src => clients/client508/src/main/java}/Class65.java (100%) rename {client508/src => clients/client508/src/main/java}/Class66.java (100%) rename {client508/src => clients/client508/src/main/java}/Class67.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub10.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub11.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub11_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub12.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub10.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub11.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub12.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub13.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub14.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub15.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub16.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub17.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub18.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub19.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub20.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub21.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub22.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub23.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub24.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub25.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub26.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub26_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub27.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub28.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub29.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub3.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub30.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub31.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub32.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub33.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub34.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub35.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub36.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub37.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub38.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub39.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub4.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub5.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub6.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub7.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub8.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub13_Sub9.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub15.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub16.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub17.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub18.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub19.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub10.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub11.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub12.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub13.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub13_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub13_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub14.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub15.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub16.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub17.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub18.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub19.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub1_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub3.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub4.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub5.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub6.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub7.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub8.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub20_Sub9.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub21.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub22.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub23.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub24.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub25.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub26.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub27.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub28.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub28_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub28_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub28_Sub3.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub28_Sub4.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub29.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub3.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub4.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub5.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub6.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub7.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub8.java (100%) rename {client508/src => clients/client508/src/main/java}/Class68_Sub9.java (100%) rename {client508/src => clients/client508/src/main/java}/Class69.java (100%) rename {client508/src => clients/client508/src/main/java}/Class7.java (100%) rename {client508/src => clients/client508/src/main/java}/Class70.java (100%) rename {client508/src => clients/client508/src/main/java}/Class71.java (100%) rename {client508/src => clients/client508/src/main/java}/Class71_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class72.java (100%) rename {client508/src => clients/client508/src/main/java}/Class72_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class72_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class73.java (100%) rename {client508/src => clients/client508/src/main/java}/Class74.java (100%) rename {client508/src => clients/client508/src/main/java}/Class75.java (100%) rename {client508/src => clients/client508/src/main/java}/Class75_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class75_Sub1_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class75_Sub2.java (100%) rename {client508/src => clients/client508/src/main/java}/Class75_Sub3.java (100%) rename {client508/src => clients/client508/src/main/java}/Class75_Sub3_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class76.java (100%) rename {client508/src => clients/client508/src/main/java}/Class77.java (100%) rename {client508/src => clients/client508/src/main/java}/Class78.java (100%) rename {client508/src => clients/client508/src/main/java}/Class79.java (100%) rename {client508/src => clients/client508/src/main/java}/Class8.java (100%) rename {client508/src => clients/client508/src/main/java}/Class80.java (100%) rename {client508/src => clients/client508/src/main/java}/Class83.java (100%) rename {client508/src => clients/client508/src/main/java}/Class84.java (100%) rename {client508/src => clients/client508/src/main/java}/Class85.java (100%) rename {client508/src => clients/client508/src/main/java}/Class86.java (100%) rename {client508/src => clients/client508/src/main/java}/Class87.java (100%) rename {client508/src => clients/client508/src/main/java}/Class88.java (100%) rename {client508/src => clients/client508/src/main/java}/Class9.java (100%) rename {client508/src => clients/client508/src/main/java}/Class90.java (100%) rename {client508/src => clients/client508/src/main/java}/Class91.java (100%) rename {client508/src => clients/client508/src/main/java}/Class92.java (100%) rename {client508/src => clients/client508/src/main/java}/Class92_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class93.java (100%) rename {client508/src => clients/client508/src/main/java}/Class94.java (100%) rename {client508/src => clients/client508/src/main/java}/Class95.java (100%) rename {client508/src => clients/client508/src/main/java}/Class96.java (100%) rename {client508/src => clients/client508/src/main/java}/Class97.java (100%) rename {client508/src => clients/client508/src/main/java}/Class97_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Class98.java (100%) rename {client508/src => clients/client508/src/main/java}/Class99.java (100%) rename {client508/src => clients/client508/src/main/java}/GameException.java (100%) rename {client508/src => clients/client508/src/main/java}/GameSocket.java (100%) rename {client508/src => clients/client508/src/main/java}/GroundData.java (100%) rename {client508/src => clients/client508/src/main/java}/ISAACRandomGen.java (100%) rename {client508/src => clients/client508/src/main/java}/Interface1.java (100%) rename {client508/src => clients/client508/src/main/java}/Interface2.java (100%) rename {client508/src => clients/client508/src/main/java}/Interface3.java (100%) rename {client508/src => clients/client508/src/main/java}/Interface4.java (100%) rename {client508/src => clients/client508/src/main/java}/ItemDef.java (100%) rename {client508/src => clients/client508/src/main/java}/JagSocket.java (100%) rename {client508/src => clients/client508/src/main/java}/Login.java (100%) rename {client508/src => clients/client508/src/main/java}/PacketParser.java (100%) rename {client508/src => clients/client508/src/main/java}/PacketStream.java (100%) rename {client508/src => clients/client508/src/main/java}/PlayerDefinition.java (100%) rename {client508/src => clients/client508/src/main/java}/RSString.java (100%) rename {client508/src => clients/client508/src/main/java}/SignLink.java (100%) rename {client508/src => clients/client508/src/main/java}/Sprite.java (100%) rename {client508/src => clients/client508/src/main/java}/Sprite_Sub1.java (100%) rename {client508/src => clients/client508/src/main/java}/Stream.java (100%) rename {client508/src => clients/client508/src/main/java}/Unknown.java (100%) rename {client508/src => clients/client508/src/main/java}/client.java (100%) create mode 100644 clients/clientRSC/pom.xml rename {clientRSC/src => clients/clientRSC/src/main/java}/client.java (100%) create mode 100755 clients/clientRSC/src/main/java/mudclient/AudioReader.java create mode 100755 clients/clientRSC/src/main/java/mudclient/Camera.java create mode 100755 clients/clientRSC/src/main/java/mudclient/CameraModel.java create mode 100755 clients/clientRSC/src/main/java/mudclient/CameraVariable.java create mode 100755 clients/clientRSC/src/main/java/mudclient/ChatFilter.java create mode 100755 clients/clientRSC/src/main/java/mudclient/ChatMessage.java create mode 100755 clients/clientRSC/src/main/java/mudclient/Config.java create mode 100755 clients/clientRSC/src/main/java/mudclient/Data.java create mode 100755 clients/clientRSC/src/main/java/mudclient/DataEncryption.java create mode 100755 clients/clientRSC/src/main/java/mudclient/DataFileDecrypter.java create mode 100755 clients/clientRSC/src/main/java/mudclient/DataFileVariables.java create mode 100755 clients/clientRSC/src/main/java/mudclient/DataOperations.java create mode 100755 clients/clientRSC/src/main/java/mudclient/EngineHandle.java create mode 100755 clients/clientRSC/src/main/java/mudclient/GameApplet.java create mode 100755 clients/clientRSC/src/main/java/mudclient/GameAppletMiddleMan.java create mode 100755 clients/clientRSC/src/main/java/mudclient/GameFrame.java create mode 100755 clients/clientRSC/src/main/java/mudclient/GameImage.java create mode 100755 clients/clientRSC/src/main/java/mudclient/GameImageMiddleMan.java create mode 100755 clients/clientRSC/src/main/java/mudclient/GameObject.java create mode 100755 clients/clientRSC/src/main/java/mudclient/Loader.java create mode 100755 clients/clientRSC/src/main/java/mudclient/LoginDataEncryption.java create mode 100755 clients/clientRSC/src/main/java/mudclient/Menu.java create mode 100755 clients/clientRSC/src/main/java/mudclient/Mob.java create mode 100755 clients/clientRSC/src/main/java/mudclient/PacketConstruction.java create mode 100755 clients/clientRSC/src/main/java/mudclient/StreamClass.java create mode 100755 clients/clientRSC/src/main/java/mudclient/link.java create mode 100755 clients/clientRSC/src/main/java/mudclient/mudclient.java create mode 100644 clients/pom.xml create mode 100644 clients/renamed508/pom.xml rename {renamed508 => clients/renamed508}/src/Shortcut to src.lnk (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Animable.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Animation.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/CachedItem.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Character.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/CipheredByteVector.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class10.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class101.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class102.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class103.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class104.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class105.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class105_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class106.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class107.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class108.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class109.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class11.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class110.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class111.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class112.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class114.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class115.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class118.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class119.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class12.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class120.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class121.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class122.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class124.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class125.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class127.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class13.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class13_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class13_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class13_Sub3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class13_Sub4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class14.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class15.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class15_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class17.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class18.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class1_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class1_Sub4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class1_Sub5.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class1_Sub7.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class20.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class21.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class21_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class22.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class23.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class24.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class25.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class26.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class27.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class28.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class29.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class30.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class31.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class32.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class33.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class34.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class35.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class35_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class35_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class36.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class37.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class39.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class40.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class41.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class42.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class43.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class44.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class46.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class48.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class49.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class5.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class50.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class50_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class50_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class51.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class52.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class53.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class54.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class56.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class58.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class59.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class6.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class60.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class62.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class63.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class65.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class66.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class67.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub10.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub11.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub11_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub12.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub10.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub11.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub12.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub13.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub14.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub15.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub16.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub17.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub18.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub19.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub20.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub21.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub22.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub23.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub24.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub25.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub26.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub26_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub27.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub28.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub29.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub30.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub31.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub32.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub33.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub34.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub35.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub36.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub37.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub38.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub39.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub5.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub6.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub7.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub8.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub13_Sub9.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub15.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub16.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub17.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub18.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub19.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub10.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub10_Sub1_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub11.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub12.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub13.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub13_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub13_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub15.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub16.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub17.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub19.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub1_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub5.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub6.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub7.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub8.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub20_Sub9.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub21.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub22.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub23.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub24.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub25.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub26.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub27.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub28.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub28_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub28_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub28_Sub3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub28_Sub4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub5.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub6.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub7.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub8.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class68_Sub9.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class7.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class70.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class71.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class71_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class72.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class72_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class72_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class73.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class74.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class75.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class75_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class75_Sub1_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class75_Sub2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class75_Sub3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class75_Sub3_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class77.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class78.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class79.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class8.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class83.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class84.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class85.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class87.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class88.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class89.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class9.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class90.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class91.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class92.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class92_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class93.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class94.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class95.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class96.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class97.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class97_Sub1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Class99.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/ClientScript.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/FileOnDisk.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/GameApplet.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/GameCanvas.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/GameException.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/GameSocket.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Ground.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/GroundData.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Interface1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Interface2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Interface3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Interface4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Item.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/ItemDefinition.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Keyboard.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Login.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/MRUNodes.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Model.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Mouse.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/MutableString.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/NPC.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/NPCDefinition.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Node.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/NodeCache.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/NodeList.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/NodeSub.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/NodeSubList.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Object1.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Object2.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Object3.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Object4.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Object5.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/ObjectDefinition.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Player.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/PlayerDefinition.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/RandomNumberGenerator.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/ScriptParameters.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Signlink.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Sprite.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/SpriteFactory.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Stream.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/Widget.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/client.java (99%) rename {renamed508/src => clients/renamed508/src/main/java}/log.java (100%) rename {renamed508/src => clients/renamed508/src/main/java}/nativeadvert/browsercontrol.java (100%) create mode 100644 dist/pom.xml create mode 100644 hackme/pom.xml rename hackme/src/{ => main/java}/MyEntry.java (88%) rename hackme/src/{ => main/java}/org/moparscapebla/HackMe.java (84%) create mode 100644 hackme/src/main/java/org/moparscapebla/MyInterface.java delete mode 100644 hackme/src/org/moparscapebla/MyInterface.java rename gpl.txt => license.txt (86%) create mode 100755 pom.xml create mode 100644 readme.md delete mode 100755 server317/src/ItemList.java delete mode 100755 server317/src/NPCDrops.java delete mode 100755 server317/src/NPCList.java create mode 100644 servers/pom.xml rename {server317 => servers/server317}/autospawn.cfg (100%) rename {server317 => servers/server317}/characters/Use this for new people.txt (100%) rename {server317 => servers/server317}/characters/donttouch.txt (100%) rename {server317 => servers/server317}/characters/use this for admins.txt (100%) rename {server317 => servers/server317}/data/notes.dat (100%) rename {server317 => servers/server317}/data/sellable.dat (100%) rename {server317 => servers/server317}/data/stackable.dat (100%) rename {server317 => servers/server317}/data/tradeable.dat (100%) rename {server317 => servers/server317}/data/twohanded.dat (100%) rename {server317 => servers/server317}/dialogues.cfg (100%) rename {server317 => servers/server317}/drops.cfg (100%) rename {server317 => servers/server317}/item.cfg (100%) rename {server317 => servers/server317}/npc.cfg (100%) rename {server317 => servers/server317}/npcdrops.cfg (100%) create mode 100644 servers/server317/pom.xml rename {server317 => servers/server317}/shops.cfg (100%) rename {server317/src => servers/server317/src/main/java}/ClientHandler.java (97%) rename {server317/src => servers/server317/src/main/java}/Cryption.java (82%) rename {server317/src => servers/server317/src/main/java}/DialogueHandler.java (86%) rename {server317/src => servers/server317/src/main/java}/ItemHandler.java (89%) create mode 100755 servers/server317/src/main/java/ItemList.java rename {server317/src => servers/server317/src/main/java}/Items.java (93%) create mode 100755 servers/server317/src/main/java/NPCDrops.java rename {server317/src => servers/server317/src/main/java}/NPCHandler.java (96%) create mode 100755 servers/server317/src/main/java/NPCList.java rename {server317/src => servers/server317/src/main/java}/NPCs.java (82%) rename {server317/src => servers/server317/src/main/java}/PlayerHandler.java (94%) rename {server317/src => servers/server317/src/main/java}/Players.java (95%) rename {server317/src => servers/server317/src/main/java}/ReTT.java (56%) rename {server317/src => servers/server317/src/main/java}/ShopHandler.java (86%) rename {server317/src => servers/server317/src/main/java}/misc.java (87%) rename {server317/src => servers/server317/src/main/java}/server.java (87%) rename {server317/src => servers/server317/src/main/java}/stream.java (88%) rename {server508 => servers/server508}/data/ChatLogs.txt (100%) rename {server508 => servers/server508}/data/banned/bannedhosts.dat (100%) rename {server508 => servers/server508}/data/banned/bannedusers.dat (100%) rename {server508 => servers/server508}/data/characters/highscores.txt (100%) rename {server508 => servers/server508}/data/items/equipment.dat (100%) rename {server508 => servers/server508}/data/items/grandExchange.cfg (100%) rename {server508 => servers/server508}/data/items/items.cfg (100%) rename {server508 => servers/server508}/data/items/stackable.dat (100%) rename {server508 => servers/server508}/data/mapdata/0.txt (100%) rename {server508 => servers/server508}/data/mapdata/1.dat (100%) rename {server508 => servers/server508}/data/mapdata/10027.txt (100%) rename {server508 => servers/server508}/data/mapdata/10028.txt (100%) rename {server508 => servers/server508}/data/mapdata/10029.txt (100%) rename {server508 => servers/server508}/data/mapdata/10030.txt (100%) rename {server508 => servers/server508}/data/mapdata/10031.txt (100%) rename {server508 => servers/server508}/data/mapdata/10032.txt (100%) rename {server508 => servers/server508}/data/mapdata/10033.txt (100%) rename {server508 => servers/server508}/data/mapdata/10034.txt (100%) rename {server508 => servers/server508}/data/mapdata/10035.txt (100%) rename {server508 => servers/server508}/data/mapdata/10036.txt (100%) rename {server508 => servers/server508}/data/mapdata/10037.txt (100%) rename {server508 => servers/server508}/data/mapdata/10038.txt (100%) rename {server508 => servers/server508}/data/mapdata/10039.txt (100%) rename {server508 => servers/server508}/data/mapdata/10040.txt (100%) rename {server508 => servers/server508}/data/mapdata/10041.txt (100%) rename {server508 => servers/server508}/data/mapdata/10042.txt (100%) rename {server508 => servers/server508}/data/mapdata/10043.txt (100%) rename {server508 => servers/server508}/data/mapdata/10044.txt (100%) rename {server508 => servers/server508}/data/mapdata/10045.txt (100%) rename {server508 => servers/server508}/data/mapdata/10052.txt (100%) rename {server508 => servers/server508}/data/mapdata/10053.txt (100%) rename {server508 => servers/server508}/data/mapdata/10054.txt (100%) rename {server508 => servers/server508}/data/mapdata/10056.txt (100%) rename {server508 => servers/server508}/data/mapdata/10057.txt (100%) rename {server508 => servers/server508}/data/mapdata/10058.txt (100%) rename {server508 => servers/server508}/data/mapdata/10059.txt (100%) rename {server508 => servers/server508}/data/mapdata/10060.txt (100%) rename {server508 => servers/server508}/data/mapdata/10061.txt (100%) rename {server508 => servers/server508}/data/mapdata/10062.txt (100%) rename {server508 => servers/server508}/data/mapdata/10063.txt (100%) rename {server508 => servers/server508}/data/mapdata/10064.txt (100%) rename {server508 => servers/server508}/data/mapdata/10065.txt (100%) rename {server508 => servers/server508}/data/mapdata/10066.txt (100%) rename {server508 => servers/server508}/data/mapdata/10067.txt (100%) rename {server508 => servers/server508}/data/mapdata/10068.txt (100%) rename {server508 => servers/server508}/data/mapdata/10069.txt (100%) rename {server508 => servers/server508}/data/mapdata/10137.txt (100%) rename {server508 => servers/server508}/data/mapdata/10138.txt (100%) rename {server508 => servers/server508}/data/mapdata/10139.txt (100%) rename {server508 => servers/server508}/data/mapdata/10140.txt (100%) rename {server508 => servers/server508}/data/mapdata/10141.txt (100%) rename {server508 => servers/server508}/data/mapdata/10143.txt (100%) rename {server508 => servers/server508}/data/mapdata/10144.txt (100%) rename {server508 => servers/server508}/data/mapdata/10145.txt (100%) rename {server508 => servers/server508}/data/mapdata/10280.txt (100%) rename {server508 => servers/server508}/data/mapdata/10281.txt (100%) rename {server508 => servers/server508}/data/mapdata/10282.txt (100%) rename {server508 => servers/server508}/data/mapdata/10283.txt (100%) rename {server508 => servers/server508}/data/mapdata/10284.txt (100%) rename {server508 => servers/server508}/data/mapdata/10285.txt (100%) rename {server508 => servers/server508}/data/mapdata/10286.txt (100%) rename {server508 => servers/server508}/data/mapdata/10287.txt (100%) rename {server508 => servers/server508}/data/mapdata/10288.txt (100%) rename {server508 => servers/server508}/data/mapdata/10289.txt (100%) rename {server508 => servers/server508}/data/mapdata/10290.txt (100%) rename {server508 => servers/server508}/data/mapdata/10291.txt (100%) rename {server508 => servers/server508}/data/mapdata/10292.txt (100%) rename {server508 => servers/server508}/data/mapdata/10293.txt (100%) rename {server508 => servers/server508}/data/mapdata/10294.txt (100%) rename {server508 => servers/server508}/data/mapdata/10295.txt (100%) rename {server508 => servers/server508}/data/mapdata/10296.txt (100%) rename {server508 => servers/server508}/data/mapdata/10297.txt (100%) rename {server508 => servers/server508}/data/mapdata/10298.txt (100%) rename {server508 => servers/server508}/data/mapdata/10299.txt (100%) rename {server508 => servers/server508}/data/mapdata/10300.txt (100%) rename {server508 => servers/server508}/data/mapdata/10301.txt (100%) rename {server508 => servers/server508}/data/mapdata/10302.txt (100%) rename {server508 => servers/server508}/data/mapdata/10303.txt (100%) rename {server508 => servers/server508}/data/mapdata/10309.txt (100%) rename {server508 => servers/server508}/data/mapdata/10310.txt (100%) rename {server508 => servers/server508}/data/mapdata/10311.txt (100%) rename {server508 => servers/server508}/data/mapdata/10312.txt (100%) rename {server508 => servers/server508}/data/mapdata/10313.txt (100%) rename {server508 => servers/server508}/data/mapdata/10314.txt (100%) rename {server508 => servers/server508}/data/mapdata/10315.txt (100%) rename {server508 => servers/server508}/data/mapdata/10316.txt (100%) rename {server508 => servers/server508}/data/mapdata/10317.txt (100%) rename {server508 => servers/server508}/data/mapdata/10318.txt (100%) rename {server508 => servers/server508}/data/mapdata/10320.txt (100%) rename {server508 => servers/server508}/data/mapdata/10321.txt (100%) rename {server508 => servers/server508}/data/mapdata/10322.txt (100%) rename {server508 => servers/server508}/data/mapdata/10323.txt (100%) rename {server508 => servers/server508}/data/mapdata/10324.txt (100%) rename {server508 => servers/server508}/data/mapdata/10325.txt (100%) rename {server508 => servers/server508}/data/mapdata/10395.txt (100%) rename {server508 => servers/server508}/data/mapdata/10396.txt (100%) rename {server508 => servers/server508}/data/mapdata/10397.txt (100%) rename {server508 => servers/server508}/data/mapdata/10399.txt (100%) rename {server508 => servers/server508}/data/mapdata/10400.txt (100%) rename {server508 => servers/server508}/data/mapdata/10401.txt (100%) rename {server508 => servers/server508}/data/mapdata/10536.txt (100%) rename {server508 => servers/server508}/data/mapdata/10537.txt (100%) rename {server508 => servers/server508}/data/mapdata/10538.txt (100%) rename {server508 => servers/server508}/data/mapdata/10539.txt (100%) rename {server508 => servers/server508}/data/mapdata/10540.txt (100%) rename {server508 => servers/server508}/data/mapdata/10541.txt (100%) rename {server508 => servers/server508}/data/mapdata/10542.txt (100%) rename {server508 => servers/server508}/data/mapdata/10543.txt (100%) rename {server508 => servers/server508}/data/mapdata/10544.txt (100%) rename {server508 => servers/server508}/data/mapdata/10545.txt (100%) rename {server508 => servers/server508}/data/mapdata/10546.txt (100%) rename {server508 => servers/server508}/data/mapdata/10547.txt (100%) rename {server508 => servers/server508}/data/mapdata/10548.txt (100%) rename {server508 => servers/server508}/data/mapdata/10549.txt (100%) rename {server508 => servers/server508}/data/mapdata/10550.txt (100%) rename {server508 => servers/server508}/data/mapdata/10551.txt (100%) rename {server508 => servers/server508}/data/mapdata/10552.txt (100%) rename {server508 => servers/server508}/data/mapdata/10553.txt (100%) rename {server508 => servers/server508}/data/mapdata/10554.txt (100%) rename {server508 => servers/server508}/data/mapdata/10555.txt (100%) rename {server508 => servers/server508}/data/mapdata/10556.txt (100%) rename {server508 => servers/server508}/data/mapdata/10557.txt (100%) rename {server508 => servers/server508}/data/mapdata/10558.txt (100%) rename {server508 => servers/server508}/data/mapdata/10559.txt (100%) rename {server508 => servers/server508}/data/mapdata/10565.txt (100%) rename {server508 => servers/server508}/data/mapdata/10566.txt (100%) rename {server508 => servers/server508}/data/mapdata/10567.txt (100%) rename {server508 => servers/server508}/data/mapdata/10570.txt (100%) rename {server508 => servers/server508}/data/mapdata/10571.txt (100%) rename {server508 => servers/server508}/data/mapdata/10572.txt (100%) rename {server508 => servers/server508}/data/mapdata/10577.txt (100%) rename {server508 => servers/server508}/data/mapdata/10578.txt (100%) rename {server508 => servers/server508}/data/mapdata/10579.txt (100%) rename {server508 => servers/server508}/data/mapdata/10637.txt (100%) rename {server508 => servers/server508}/data/mapdata/10638.txt (100%) rename {server508 => servers/server508}/data/mapdata/10639.txt (100%) rename {server508 => servers/server508}/data/mapdata/10646.txt (100%) rename {server508 => servers/server508}/data/mapdata/10647.txt (100%) rename {server508 => servers/server508}/data/mapdata/10648.txt (100%) rename {server508 => servers/server508}/data/mapdata/10649.txt (100%) rename {server508 => servers/server508}/data/mapdata/10655.txt (100%) rename {server508 => servers/server508}/data/mapdata/10656.txt (100%) rename {server508 => servers/server508}/data/mapdata/10657.txt (100%) rename {server508 => servers/server508}/data/mapdata/10792.txt (100%) rename {server508 => servers/server508}/data/mapdata/10793.txt (100%) rename {server508 => servers/server508}/data/mapdata/10794.txt (100%) rename {server508 => servers/server508}/data/mapdata/10795.txt (100%) rename {server508 => servers/server508}/data/mapdata/10796.txt (100%) rename {server508 => servers/server508}/data/mapdata/10797.txt (100%) rename {server508 => servers/server508}/data/mapdata/10798.txt (100%) rename {server508 => servers/server508}/data/mapdata/10799.txt (100%) rename {server508 => servers/server508}/data/mapdata/10800.txt (100%) rename {server508 => servers/server508}/data/mapdata/10801.txt (100%) rename {server508 => servers/server508}/data/mapdata/10802.txt (100%) rename {server508 => servers/server508}/data/mapdata/10803.txt (100%) rename {server508 => servers/server508}/data/mapdata/10804.txt (100%) rename {server508 => servers/server508}/data/mapdata/10805.txt (100%) rename {server508 => servers/server508}/data/mapdata/10806.txt (100%) rename {server508 => servers/server508}/data/mapdata/10807.txt (100%) rename {server508 => servers/server508}/data/mapdata/10808.txt (100%) rename {server508 => servers/server508}/data/mapdata/10809.txt (100%) rename {server508 => servers/server508}/data/mapdata/10810.txt (100%) rename {server508 => servers/server508}/data/mapdata/10811.txt (100%) rename {server508 => servers/server508}/data/mapdata/10812.txt (100%) rename {server508 => servers/server508}/data/mapdata/10813.txt (100%) rename {server508 => servers/server508}/data/mapdata/10814.txt (100%) rename {server508 => servers/server508}/data/mapdata/10815.txt (100%) rename {server508 => servers/server508}/data/mapdata/10821.txt (100%) rename {server508 => servers/server508}/data/mapdata/10822.txt (100%) rename {server508 => servers/server508}/data/mapdata/10823.txt (100%) rename {server508 => servers/server508}/data/mapdata/10826.txt (100%) rename {server508 => servers/server508}/data/mapdata/10827.txt (100%) rename {server508 => servers/server508}/data/mapdata/10828.txt (100%) rename {server508 => servers/server508}/data/mapdata/10836.txt (100%) rename {server508 => servers/server508}/data/mapdata/10837.txt (100%) rename {server508 => servers/server508}/data/mapdata/10838.txt (100%) rename {server508 => servers/server508}/data/mapdata/10893.txt (100%) rename {server508 => servers/server508}/data/mapdata/10894.txt (100%) rename {server508 => servers/server508}/data/mapdata/10895.txt (100%) rename {server508 => servers/server508}/data/mapdata/10902.txt (100%) rename {server508 => servers/server508}/data/mapdata/10903.txt (100%) rename {server508 => servers/server508}/data/mapdata/10904.txt (100%) rename {server508 => servers/server508}/data/mapdata/10905.txt (100%) rename {server508 => servers/server508}/data/mapdata/10907.txt (100%) rename {server508 => servers/server508}/data/mapdata/10908.txt (100%) rename {server508 => servers/server508}/data/mapdata/10909.txt (100%) rename {server508 => servers/server508}/data/mapdata/10910.txt (100%) rename {server508 => servers/server508}/data/mapdata/10911.txt (100%) rename {server508 => servers/server508}/data/mapdata/11049.txt (100%) rename {server508 => servers/server508}/data/mapdata/11050.txt (100%) rename {server508 => servers/server508}/data/mapdata/11051.txt (100%) rename {server508 => servers/server508}/data/mapdata/11052.txt (100%) rename {server508 => servers/server508}/data/mapdata/11053.txt (100%) rename {server508 => servers/server508}/data/mapdata/11054.txt (100%) rename {server508 => servers/server508}/data/mapdata/11055.txt (100%) rename {server508 => servers/server508}/data/mapdata/11056.txt (100%) rename {server508 => servers/server508}/data/mapdata/11057.txt (100%) rename {server508 => servers/server508}/data/mapdata/11058.txt (100%) rename {server508 => servers/server508}/data/mapdata/11059.txt (100%) rename {server508 => servers/server508}/data/mapdata/11060.txt (100%) rename {server508 => servers/server508}/data/mapdata/11061.txt (100%) rename {server508 => servers/server508}/data/mapdata/11062.txt (100%) rename {server508 => servers/server508}/data/mapdata/11063.txt (100%) rename {server508 => servers/server508}/data/mapdata/11064.txt (100%) rename {server508 => servers/server508}/data/mapdata/11065.txt (100%) rename {server508 => servers/server508}/data/mapdata/11066.txt (100%) rename {server508 => servers/server508}/data/mapdata/11067.txt (100%) rename {server508 => servers/server508}/data/mapdata/11068.txt (100%) rename {server508 => servers/server508}/data/mapdata/11082.txt (100%) rename {server508 => servers/server508}/data/mapdata/11083.txt (100%) rename {server508 => servers/server508}/data/mapdata/11084.txt (100%) rename {server508 => servers/server508}/data/mapdata/11089.txt (100%) rename {server508 => servers/server508}/data/mapdata/11090.txt (100%) rename {server508 => servers/server508}/data/mapdata/11091.txt (100%) rename {server508 => servers/server508}/data/mapdata/11092.txt (100%) rename {server508 => servers/server508}/data/mapdata/11093.txt (100%) rename {server508 => servers/server508}/data/mapdata/11094.txt (100%) rename {server508 => servers/server508}/data/mapdata/11149.txt (100%) rename {server508 => servers/server508}/data/mapdata/11150.txt (100%) rename {server508 => servers/server508}/data/mapdata/11151.txt (100%) rename {server508 => servers/server508}/data/mapdata/11156.txt (100%) rename {server508 => servers/server508}/data/mapdata/11157.txt (100%) rename {server508 => servers/server508}/data/mapdata/11158.txt (100%) rename {server508 => servers/server508}/data/mapdata/11159.txt (100%) rename {server508 => servers/server508}/data/mapdata/11160.txt (100%) rename {server508 => servers/server508}/data/mapdata/11161.txt (100%) rename {server508 => servers/server508}/data/mapdata/11162.txt (100%) rename {server508 => servers/server508}/data/mapdata/11163.txt (100%) rename {server508 => servers/server508}/data/mapdata/11164.txt (100%) rename {server508 => servers/server508}/data/mapdata/11165.txt (100%) rename {server508 => servers/server508}/data/mapdata/11166.txt (100%) rename {server508 => servers/server508}/data/mapdata/11167.txt (100%) rename {server508 => servers/server508}/data/mapdata/11305.txt (100%) rename {server508 => servers/server508}/data/mapdata/11306.txt (100%) rename {server508 => servers/server508}/data/mapdata/11307.txt (100%) rename {server508 => servers/server508}/data/mapdata/11308.txt (100%) rename {server508 => servers/server508}/data/mapdata/11309.txt (100%) rename {server508 => servers/server508}/data/mapdata/11310.txt (100%) rename {server508 => servers/server508}/data/mapdata/11311.txt (100%) rename {server508 => servers/server508}/data/mapdata/11312.txt (100%) rename {server508 => servers/server508}/data/mapdata/11313.txt (100%) rename {server508 => servers/server508}/data/mapdata/11314.txt (100%) rename {server508 => servers/server508}/data/mapdata/11315.txt (100%) rename {server508 => servers/server508}/data/mapdata/11316.txt (100%) rename {server508 => servers/server508}/data/mapdata/11317.txt (100%) rename {server508 => servers/server508}/data/mapdata/11318.txt (100%) rename {server508 => servers/server508}/data/mapdata/11319.txt (100%) rename {server508 => servers/server508}/data/mapdata/11320.txt (100%) rename {server508 => servers/server508}/data/mapdata/11321.txt (100%) rename {server508 => servers/server508}/data/mapdata/11322.txt (100%) rename {server508 => servers/server508}/data/mapdata/11323.txt (100%) rename {server508 => servers/server508}/data/mapdata/11338.txt (100%) rename {server508 => servers/server508}/data/mapdata/11339.txt (100%) rename {server508 => servers/server508}/data/mapdata/11340.txt (100%) rename {server508 => servers/server508}/data/mapdata/11345.txt (100%) rename {server508 => servers/server508}/data/mapdata/11346.txt (100%) rename {server508 => servers/server508}/data/mapdata/11347.txt (100%) rename {server508 => servers/server508}/data/mapdata/11348.txt (100%) rename {server508 => servers/server508}/data/mapdata/11349.txt (100%) rename {server508 => servers/server508}/data/mapdata/11350.txt (100%) rename {server508 => servers/server508}/data/mapdata/11405.txt (100%) rename {server508 => servers/server508}/data/mapdata/11406.txt (100%) rename {server508 => servers/server508}/data/mapdata/11407.txt (100%) rename {server508 => servers/server508}/data/mapdata/11412.txt (100%) rename {server508 => servers/server508}/data/mapdata/11413.txt (100%) rename {server508 => servers/server508}/data/mapdata/11414.txt (100%) rename {server508 => servers/server508}/data/mapdata/11415.txt (100%) rename {server508 => servers/server508}/data/mapdata/11416.txt (100%) rename {server508 => servers/server508}/data/mapdata/11417.txt (100%) rename {server508 => servers/server508}/data/mapdata/11418.txt (100%) rename {server508 => servers/server508}/data/mapdata/11419.txt (100%) rename {server508 => servers/server508}/data/mapdata/11420.txt (100%) rename {server508 => servers/server508}/data/mapdata/11421.txt (100%) rename {server508 => servers/server508}/data/mapdata/11422.txt (100%) rename {server508 => servers/server508}/data/mapdata/11423.txt (100%) rename {server508 => servers/server508}/data/mapdata/11561.txt (100%) rename {server508 => servers/server508}/data/mapdata/11562.txt (100%) rename {server508 => servers/server508}/data/mapdata/11563.txt (100%) rename {server508 => servers/server508}/data/mapdata/11565.txt (100%) rename {server508 => servers/server508}/data/mapdata/11566.txt (100%) rename {server508 => servers/server508}/data/mapdata/11567.txt (100%) rename {server508 => servers/server508}/data/mapdata/11568.txt (100%) rename {server508 => servers/server508}/data/mapdata/11569.txt (100%) rename {server508 => servers/server508}/data/mapdata/11570.txt (100%) rename {server508 => servers/server508}/data/mapdata/11571.txt (100%) rename {server508 => servers/server508}/data/mapdata/11572.txt (100%) rename {server508 => servers/server508}/data/mapdata/11573.txt (100%) rename {server508 => servers/server508}/data/mapdata/11574.txt (100%) rename {server508 => servers/server508}/data/mapdata/11575.txt (100%) rename {server508 => servers/server508}/data/mapdata/11576.txt (100%) rename {server508 => servers/server508}/data/mapdata/11577.txt (100%) rename {server508 => servers/server508}/data/mapdata/11578.txt (100%) rename {server508 => servers/server508}/data/mapdata/11579.txt (100%) rename {server508 => servers/server508}/data/mapdata/11580.txt (100%) rename {server508 => servers/server508}/data/mapdata/11581.txt (100%) rename {server508 => servers/server508}/data/mapdata/11582.txt (100%) rename {server508 => servers/server508}/data/mapdata/11592.txt (100%) rename {server508 => servers/server508}/data/mapdata/11593.txt (100%) rename {server508 => servers/server508}/data/mapdata/11594.txt (100%) rename {server508 => servers/server508}/data/mapdata/11595.txt (100%) rename {server508 => servers/server508}/data/mapdata/11596.txt (100%) rename {server508 => servers/server508}/data/mapdata/11601.txt (100%) rename {server508 => servers/server508}/data/mapdata/11602.txt (100%) rename {server508 => servers/server508}/data/mapdata/11603.txt (100%) rename {server508 => servers/server508}/data/mapdata/11604.txt (100%) rename {server508 => servers/server508}/data/mapdata/11605.txt (100%) rename {server508 => servers/server508}/data/mapdata/11606.txt (100%) rename {server508 => servers/server508}/data/mapdata/11608.txt (100%) rename {server508 => servers/server508}/data/mapdata/11609.txt (100%) rename {server508 => servers/server508}/data/mapdata/11610.txt (100%) rename {server508 => servers/server508}/data/mapdata/11668.txt (100%) rename {server508 => servers/server508}/data/mapdata/11669.txt (100%) rename {server508 => servers/server508}/data/mapdata/11670.txt (100%) rename {server508 => servers/server508}/data/mapdata/11671.txt (100%) rename {server508 => servers/server508}/data/mapdata/11672.txt (100%) rename {server508 => servers/server508}/data/mapdata/11673.txt (100%) rename {server508 => servers/server508}/data/mapdata/11674.txt (100%) rename {server508 => servers/server508}/data/mapdata/11675.txt (100%) rename {server508 => servers/server508}/data/mapdata/11817.txt (100%) rename {server508 => servers/server508}/data/mapdata/11818.txt (100%) rename {server508 => servers/server508}/data/mapdata/11819.txt (100%) rename {server508 => servers/server508}/data/mapdata/11821.txt (100%) rename {server508 => servers/server508}/data/mapdata/11822.txt (100%) rename {server508 => servers/server508}/data/mapdata/11823.txt (100%) rename {server508 => servers/server508}/data/mapdata/11824.txt (100%) rename {server508 => servers/server508}/data/mapdata/11825.txt (100%) rename {server508 => servers/server508}/data/mapdata/11826.txt (100%) rename {server508 => servers/server508}/data/mapdata/11827.txt (100%) rename {server508 => servers/server508}/data/mapdata/11828.txt (100%) rename {server508 => servers/server508}/data/mapdata/11829.txt (100%) rename {server508 => servers/server508}/data/mapdata/11830.txt (100%) rename {server508 => servers/server508}/data/mapdata/11831.txt (100%) rename {server508 => servers/server508}/data/mapdata/11832.txt (100%) rename {server508 => servers/server508}/data/mapdata/11833.txt (100%) rename {server508 => servers/server508}/data/mapdata/11834.txt (100%) rename {server508 => servers/server508}/data/mapdata/11835.txt (100%) rename {server508 => servers/server508}/data/mapdata/11836.txt (100%) rename {server508 => servers/server508}/data/mapdata/11837.txt (100%) rename {server508 => servers/server508}/data/mapdata/11838.txt (100%) rename {server508 => servers/server508}/data/mapdata/11848.txt (100%) rename {server508 => servers/server508}/data/mapdata/11849.txt (100%) rename {server508 => servers/server508}/data/mapdata/11850.txt (100%) rename {server508 => servers/server508}/data/mapdata/11851.txt (100%) rename {server508 => servers/server508}/data/mapdata/11857.txt (100%) rename {server508 => servers/server508}/data/mapdata/11858.txt (100%) rename {server508 => servers/server508}/data/mapdata/11859.txt (100%) rename {server508 => servers/server508}/data/mapdata/11860.txt (100%) rename {server508 => servers/server508}/data/mapdata/11861.txt (100%) rename {server508 => servers/server508}/data/mapdata/11862.txt (100%) rename {server508 => servers/server508}/data/mapdata/11863.txt (100%) rename {server508 => servers/server508}/data/mapdata/11864.txt (100%) rename {server508 => servers/server508}/data/mapdata/11865.txt (100%) rename {server508 => servers/server508}/data/mapdata/11866.txt (100%) rename {server508 => servers/server508}/data/mapdata/11924.txt (100%) rename {server508 => servers/server508}/data/mapdata/11925.txt (100%) rename {server508 => servers/server508}/data/mapdata/11926.txt (100%) rename {server508 => servers/server508}/data/mapdata/11927.txt (100%) rename {server508 => servers/server508}/data/mapdata/11928.txt (100%) rename {server508 => servers/server508}/data/mapdata/11929.txt (100%) rename {server508 => servers/server508}/data/mapdata/11930.txt (100%) rename {server508 => servers/server508}/data/mapdata/11931.txt (100%) rename {server508 => servers/server508}/data/mapdata/11936.txt (100%) rename {server508 => servers/server508}/data/mapdata/11937.txt (100%) rename {server508 => servers/server508}/data/mapdata/11938.txt (100%) rename {server508 => servers/server508}/data/mapdata/12077.txt (100%) rename {server508 => servers/server508}/data/mapdata/12078.txt (100%) rename {server508 => servers/server508}/data/mapdata/12079.txt (100%) rename {server508 => servers/server508}/data/mapdata/12080.txt (100%) rename {server508 => servers/server508}/data/mapdata/12081.txt (100%) rename {server508 => servers/server508}/data/mapdata/12082.txt (100%) rename {server508 => servers/server508}/data/mapdata/12083.txt (100%) rename {server508 => servers/server508}/data/mapdata/12084.txt (100%) rename {server508 => servers/server508}/data/mapdata/12085.txt (100%) rename {server508 => servers/server508}/data/mapdata/12086.txt (100%) rename {server508 => servers/server508}/data/mapdata/12087.txt (100%) rename {server508 => servers/server508}/data/mapdata/12088.txt (100%) rename {server508 => servers/server508}/data/mapdata/12089.txt (100%) rename {server508 => servers/server508}/data/mapdata/12090.txt (100%) rename {server508 => servers/server508}/data/mapdata/12091.txt (100%) rename {server508 => servers/server508}/data/mapdata/12092.txt (100%) rename {server508 => servers/server508}/data/mapdata/12093.txt (100%) rename {server508 => servers/server508}/data/mapdata/12094.txt (100%) rename {server508 => servers/server508}/data/mapdata/12097.txt (100%) rename {server508 => servers/server508}/data/mapdata/12098.txt (100%) rename {server508 => servers/server508}/data/mapdata/12109.txt (100%) rename {server508 => servers/server508}/data/mapdata/12110.txt (100%) rename {server508 => servers/server508}/data/mapdata/12119.txt (100%) rename {server508 => servers/server508}/data/mapdata/12120.txt (100%) rename {server508 => servers/server508}/data/mapdata/12121.txt (100%) rename {server508 => servers/server508}/data/mapdata/12122.txt (100%) rename {server508 => servers/server508}/data/mapdata/12180.txt (100%) rename {server508 => servers/server508}/data/mapdata/12181.txt (100%) rename {server508 => servers/server508}/data/mapdata/12182.txt (100%) rename {server508 => servers/server508}/data/mapdata/12183.txt (100%) rename {server508 => servers/server508}/data/mapdata/12184.txt (100%) rename {server508 => servers/server508}/data/mapdata/12185.txt (100%) rename {server508 => servers/server508}/data/mapdata/12186.txt (100%) rename {server508 => servers/server508}/data/mapdata/12187.txt (100%) rename {server508 => servers/server508}/data/mapdata/12188.txt (100%) rename {server508 => servers/server508}/data/mapdata/12191.txt (100%) rename {server508 => servers/server508}/data/mapdata/12192.txt (100%) rename {server508 => servers/server508}/data/mapdata/12193.txt (100%) rename {server508 => servers/server508}/data/mapdata/12194.txt (100%) rename {server508 => servers/server508}/data/mapdata/12332.txt (100%) rename {server508 => servers/server508}/data/mapdata/12333.txt (100%) rename {server508 => servers/server508}/data/mapdata/12334.txt (100%) rename {server508 => servers/server508}/data/mapdata/12335.txt (100%) rename {server508 => servers/server508}/data/mapdata/12336.txt (100%) rename {server508 => servers/server508}/data/mapdata/12337.txt (100%) rename {server508 => servers/server508}/data/mapdata/12338.txt (100%) rename {server508 => servers/server508}/data/mapdata/12339.txt (100%) rename {server508 => servers/server508}/data/mapdata/12340.txt (100%) rename {server508 => servers/server508}/data/mapdata/12341.txt (100%) rename {server508 => servers/server508}/data/mapdata/12342.txt (100%) rename {server508 => servers/server508}/data/mapdata/12343.txt (100%) rename {server508 => servers/server508}/data/mapdata/12344.txt (100%) rename {server508 => servers/server508}/data/mapdata/12345.txt (100%) rename {server508 => servers/server508}/data/mapdata/12346.txt (100%) rename {server508 => servers/server508}/data/mapdata/12347.txt (100%) rename {server508 => servers/server508}/data/mapdata/12348.txt (100%) rename {server508 => servers/server508}/data/mapdata/12349.txt (100%) rename {server508 => servers/server508}/data/mapdata/12350.txt (100%) rename {server508 => servers/server508}/data/mapdata/12351.txt (100%) rename {server508 => servers/server508}/data/mapdata/12352.txt (100%) rename {server508 => servers/server508}/data/mapdata/12353.txt (100%) rename {server508 => servers/server508}/data/mapdata/12354.txt (100%) rename {server508 => servers/server508}/data/mapdata/12355.txt (100%) rename {server508 => servers/server508}/data/mapdata/12364.txt (100%) rename {server508 => servers/server508}/data/mapdata/12365.txt (100%) rename {server508 => servers/server508}/data/mapdata/12366.txt (100%) rename {server508 => servers/server508}/data/mapdata/12372.txt (100%) rename {server508 => servers/server508}/data/mapdata/12373.txt (100%) rename {server508 => servers/server508}/data/mapdata/12374.txt (100%) rename {server508 => servers/server508}/data/mapdata/12375.txt (100%) rename {server508 => servers/server508}/data/mapdata/12376.txt (100%) rename {server508 => servers/server508}/data/mapdata/12377.txt (100%) rename {server508 => servers/server508}/data/mapdata/12378.txt (100%) rename {server508 => servers/server508}/data/mapdata/12436.txt (100%) rename {server508 => servers/server508}/data/mapdata/12437.txt (100%) rename {server508 => servers/server508}/data/mapdata/12438.txt (100%) rename {server508 => servers/server508}/data/mapdata/12439.txt (100%) rename {server508 => servers/server508}/data/mapdata/12440.txt (100%) rename {server508 => servers/server508}/data/mapdata/12441.txt (100%) rename {server508 => servers/server508}/data/mapdata/12442.txt (100%) rename {server508 => servers/server508}/data/mapdata/12443.txt (100%) rename {server508 => servers/server508}/data/mapdata/12444.txt (100%) rename {server508 => servers/server508}/data/mapdata/12447.txt (100%) rename {server508 => servers/server508}/data/mapdata/12448.txt (100%) rename {server508 => servers/server508}/data/mapdata/12449.txt (100%) rename {server508 => servers/server508}/data/mapdata/12450.txt (100%) rename {server508 => servers/server508}/data/mapdata/12587.txt (100%) rename {server508 => servers/server508}/data/mapdata/12588.txt (100%) rename {server508 => servers/server508}/data/mapdata/12589.txt (100%) rename {server508 => servers/server508}/data/mapdata/12590.txt (100%) rename {server508 => servers/server508}/data/mapdata/12591.txt (100%) rename {server508 => servers/server508}/data/mapdata/12592.txt (100%) rename {server508 => servers/server508}/data/mapdata/12593.txt (100%) rename {server508 => servers/server508}/data/mapdata/12594.txt (100%) rename {server508 => servers/server508}/data/mapdata/12595.txt (100%) rename {server508 => servers/server508}/data/mapdata/12596.txt (100%) rename {server508 => servers/server508}/data/mapdata/12597.txt (100%) rename {server508 => servers/server508}/data/mapdata/12598.txt (100%) rename {server508 => servers/server508}/data/mapdata/12599.txt (100%) rename {server508 => servers/server508}/data/mapdata/12600.txt (100%) rename {server508 => servers/server508}/data/mapdata/12601.txt (100%) rename {server508 => servers/server508}/data/mapdata/12602.txt (100%) rename {server508 => servers/server508}/data/mapdata/12603.txt (100%) rename {server508 => servers/server508}/data/mapdata/12604.txt (100%) rename {server508 => servers/server508}/data/mapdata/12605.txt (100%) rename {server508 => servers/server508}/data/mapdata/12606.txt (100%) rename {server508 => servers/server508}/data/mapdata/12609.txt (100%) rename {server508 => servers/server508}/data/mapdata/12610.txt (100%) rename {server508 => servers/server508}/data/mapdata/12611.txt (100%) rename {server508 => servers/server508}/data/mapdata/12620.txt (100%) rename {server508 => servers/server508}/data/mapdata/12621.txt (100%) rename {server508 => servers/server508}/data/mapdata/12622.txt (100%) rename {server508 => servers/server508}/data/mapdata/12623.txt (100%) rename {server508 => servers/server508}/data/mapdata/12624.txt (100%) rename {server508 => servers/server508}/data/mapdata/12628.txt (100%) rename {server508 => servers/server508}/data/mapdata/12629.txt (100%) rename {server508 => servers/server508}/data/mapdata/12630.txt (100%) rename {server508 => servers/server508}/data/mapdata/12631.txt (100%) rename {server508 => servers/server508}/data/mapdata/12632.txt (100%) rename {server508 => servers/server508}/data/mapdata/12633.txt (100%) rename {server508 => servers/server508}/data/mapdata/12634.txt (100%) rename {server508 => servers/server508}/data/mapdata/12688.txt (100%) rename {server508 => servers/server508}/data/mapdata/12689.txt (100%) rename {server508 => servers/server508}/data/mapdata/12690.txt (100%) rename {server508 => servers/server508}/data/mapdata/12692.txt (100%) rename {server508 => servers/server508}/data/mapdata/12693.txt (100%) rename {server508 => servers/server508}/data/mapdata/12694.txt (100%) rename {server508 => servers/server508}/data/mapdata/12695.txt (100%) rename {server508 => servers/server508}/data/mapdata/12696.txt (100%) rename {server508 => servers/server508}/data/mapdata/12697.txt (100%) rename {server508 => servers/server508}/data/mapdata/12698.txt (100%) rename {server508 => servers/server508}/data/mapdata/12699.txt (100%) rename {server508 => servers/server508}/data/mapdata/12700.txt (100%) rename {server508 => servers/server508}/data/mapdata/12842.txt (100%) rename {server508 => servers/server508}/data/mapdata/12843.txt (100%) rename {server508 => servers/server508}/data/mapdata/12844.txt (100%) rename {server508 => servers/server508}/data/mapdata/12845.txt (100%) rename {server508 => servers/server508}/data/mapdata/12846.txt (100%) rename {server508 => servers/server508}/data/mapdata/12847.txt (100%) rename {server508 => servers/server508}/data/mapdata/12848.txt (100%) rename {server508 => servers/server508}/data/mapdata/12849.txt (100%) rename {server508 => servers/server508}/data/mapdata/12850.txt (100%) rename {server508 => servers/server508}/data/mapdata/12851.txt (100%) rename {server508 => servers/server508}/data/mapdata/12852.txt (100%) rename {server508 => servers/server508}/data/mapdata/12853.txt (100%) rename {server508 => servers/server508}/data/mapdata/12854.txt (100%) rename {server508 => servers/server508}/data/mapdata/12855.txt (100%) rename {server508 => servers/server508}/data/mapdata/12856.txt (100%) rename {server508 => servers/server508}/data/mapdata/12857.txt (100%) rename {server508 => servers/server508}/data/mapdata/12858.txt (100%) rename {server508 => servers/server508}/data/mapdata/12859.txt (100%) rename {server508 => servers/server508}/data/mapdata/12860.txt (100%) rename {server508 => servers/server508}/data/mapdata/12861.txt (100%) rename {server508 => servers/server508}/data/mapdata/12862.txt (100%) rename {server508 => servers/server508}/data/mapdata/12865.txt (100%) rename {server508 => servers/server508}/data/mapdata/12866.txt (100%) rename {server508 => servers/server508}/data/mapdata/12867.txt (100%) rename {server508 => servers/server508}/data/mapdata/12876.txt (100%) rename {server508 => servers/server508}/data/mapdata/12877.txt (100%) rename {server508 => servers/server508}/data/mapdata/12878.txt (100%) rename {server508 => servers/server508}/data/mapdata/12879.txt (100%) rename {server508 => servers/server508}/data/mapdata/12880.txt (100%) rename {server508 => servers/server508}/data/mapdata/12884.txt (100%) rename {server508 => servers/server508}/data/mapdata/12885.txt (100%) rename {server508 => servers/server508}/data/mapdata/12886.txt (100%) rename {server508 => servers/server508}/data/mapdata/12887.txt (100%) rename {server508 => servers/server508}/data/mapdata/12944.txt (100%) rename {server508 => servers/server508}/data/mapdata/12945.txt (100%) rename {server508 => servers/server508}/data/mapdata/12946.txt (100%) rename {server508 => servers/server508}/data/mapdata/12948.txt (100%) rename {server508 => servers/server508}/data/mapdata/12949.txt (100%) rename {server508 => servers/server508}/data/mapdata/12950.txt (100%) rename {server508 => servers/server508}/data/mapdata/12951.txt (100%) rename {server508 => servers/server508}/data/mapdata/12952.txt (100%) rename {server508 => servers/server508}/data/mapdata/12953.txt (100%) rename {server508 => servers/server508}/data/mapdata/12954.txt (100%) rename {server508 => servers/server508}/data/mapdata/12955.txt (100%) rename {server508 => servers/server508}/data/mapdata/13098.txt (100%) rename {server508 => servers/server508}/data/mapdata/13099.txt (100%) rename {server508 => servers/server508}/data/mapdata/13100.txt (100%) rename {server508 => servers/server508}/data/mapdata/13101.txt (100%) rename {server508 => servers/server508}/data/mapdata/13102.txt (100%) rename {server508 => servers/server508}/data/mapdata/13103.txt (100%) rename {server508 => servers/server508}/data/mapdata/13104.txt (100%) rename {server508 => servers/server508}/data/mapdata/13105.txt (100%) rename {server508 => servers/server508}/data/mapdata/13106.txt (100%) rename {server508 => servers/server508}/data/mapdata/13107.txt (100%) rename {server508 => servers/server508}/data/mapdata/13108.txt (100%) rename {server508 => servers/server508}/data/mapdata/13109.txt (100%) rename {server508 => servers/server508}/data/mapdata/13110.txt (100%) rename {server508 => servers/server508}/data/mapdata/13111.txt (100%) rename {server508 => servers/server508}/data/mapdata/13112.txt (100%) rename {server508 => servers/server508}/data/mapdata/13113.txt (100%) rename {server508 => servers/server508}/data/mapdata/13114.txt (100%) rename {server508 => servers/server508}/data/mapdata/13115.txt (100%) rename {server508 => servers/server508}/data/mapdata/13116.txt (100%) rename {server508 => servers/server508}/data/mapdata/13117.txt (100%) rename {server508 => servers/server508}/data/mapdata/13118.txt (100%) rename {server508 => servers/server508}/data/mapdata/13132.txt (100%) rename {server508 => servers/server508}/data/mapdata/13133.txt (100%) rename {server508 => servers/server508}/data/mapdata/13134.txt (100%) rename {server508 => servers/server508}/data/mapdata/13135.txt (100%) rename {server508 => servers/server508}/data/mapdata/13136.txt (100%) rename {server508 => servers/server508}/data/mapdata/13140.txt (100%) rename {server508 => servers/server508}/data/mapdata/13141.txt (100%) rename {server508 => servers/server508}/data/mapdata/13142.txt (100%) rename {server508 => servers/server508}/data/mapdata/13143.txt (100%) rename {server508 => servers/server508}/data/mapdata/13200.txt (100%) rename {server508 => servers/server508}/data/mapdata/13201.txt (100%) rename {server508 => servers/server508}/data/mapdata/13202.txt (100%) rename {server508 => servers/server508}/data/mapdata/13204.txt (100%) rename {server508 => servers/server508}/data/mapdata/13205.txt (100%) rename {server508 => servers/server508}/data/mapdata/13206.txt (100%) rename {server508 => servers/server508}/data/mapdata/13208.txt (100%) rename {server508 => servers/server508}/data/mapdata/13209.txt (100%) rename {server508 => servers/server508}/data/mapdata/13210.txt (100%) rename {server508 => servers/server508}/data/mapdata/13211.txt (100%) rename {server508 => servers/server508}/data/mapdata/13354.txt (100%) rename {server508 => servers/server508}/data/mapdata/13355.txt (100%) rename {server508 => servers/server508}/data/mapdata/13356.txt (100%) rename {server508 => servers/server508}/data/mapdata/13357.txt (100%) rename {server508 => servers/server508}/data/mapdata/13358.txt (100%) rename {server508 => servers/server508}/data/mapdata/13359.txt (100%) rename {server508 => servers/server508}/data/mapdata/13360.txt (100%) rename {server508 => servers/server508}/data/mapdata/13361.txt (100%) rename {server508 => servers/server508}/data/mapdata/13362.txt (100%) rename {server508 => servers/server508}/data/mapdata/13363.txt (100%) rename {server508 => servers/server508}/data/mapdata/13364.txt (100%) rename {server508 => servers/server508}/data/mapdata/13365.txt (100%) rename {server508 => servers/server508}/data/mapdata/13366.txt (100%) rename {server508 => servers/server508}/data/mapdata/13367.txt (100%) rename {server508 => servers/server508}/data/mapdata/13368.txt (100%) rename {server508 => servers/server508}/data/mapdata/13369.txt (100%) rename {server508 => servers/server508}/data/mapdata/13370.txt (100%) rename {server508 => servers/server508}/data/mapdata/13371.txt (100%) rename {server508 => servers/server508}/data/mapdata/13372.txt (100%) rename {server508 => servers/server508}/data/mapdata/13373.txt (100%) rename {server508 => servers/server508}/data/mapdata/13374.txt (100%) rename {server508 => servers/server508}/data/mapdata/13388.txt (100%) rename {server508 => servers/server508}/data/mapdata/13389.txt (100%) rename {server508 => servers/server508}/data/mapdata/13465.txt (100%) rename {server508 => servers/server508}/data/mapdata/13466.txt (100%) rename {server508 => servers/server508}/data/mapdata/13467.txt (100%) rename {server508 => servers/server508}/data/mapdata/13612.txt (100%) rename {server508 => servers/server508}/data/mapdata/13613.txt (100%) rename {server508 => servers/server508}/data/mapdata/13614.txt (100%) rename {server508 => servers/server508}/data/mapdata/13615.txt (100%) rename {server508 => servers/server508}/data/mapdata/13616.txt (100%) rename {server508 => servers/server508}/data/mapdata/13617.txt (100%) rename {server508 => servers/server508}/data/mapdata/13618.txt (100%) rename {server508 => servers/server508}/data/mapdata/13619.txt (100%) rename {server508 => servers/server508}/data/mapdata/13620.txt (100%) rename {server508 => servers/server508}/data/mapdata/13621.txt (100%) rename {server508 => servers/server508}/data/mapdata/13622.txt (100%) rename {server508 => servers/server508}/data/mapdata/13623.txt (100%) rename {server508 => servers/server508}/data/mapdata/13624.txt (100%) rename {server508 => servers/server508}/data/mapdata/13625.txt (100%) rename {server508 => servers/server508}/data/mapdata/13626.txt (100%) rename {server508 => servers/server508}/data/mapdata/13627.txt (100%) rename {server508 => servers/server508}/data/mapdata/13628.txt (100%) rename {server508 => servers/server508}/data/mapdata/13629.txt (100%) rename {server508 => servers/server508}/data/mapdata/13630.txt (100%) rename {server508 => servers/server508}/data/mapdata/13642.txt (100%) rename {server508 => servers/server508}/data/mapdata/13643.txt (100%) rename {server508 => servers/server508}/data/mapdata/13644.txt (100%) rename {server508 => servers/server508}/data/mapdata/13715.txt (100%) rename {server508 => servers/server508}/data/mapdata/13716.txt (100%) rename {server508 => servers/server508}/data/mapdata/13717.txt (100%) rename {server508 => servers/server508}/data/mapdata/13868.txt (100%) rename {server508 => servers/server508}/data/mapdata/13869.txt (100%) rename {server508 => servers/server508}/data/mapdata/13870.txt (100%) rename {server508 => servers/server508}/data/mapdata/13871.txt (100%) rename {server508 => servers/server508}/data/mapdata/13872.txt (100%) rename {server508 => servers/server508}/data/mapdata/13873.txt (100%) rename {server508 => servers/server508}/data/mapdata/13874.txt (100%) rename {server508 => servers/server508}/data/mapdata/13875.txt (100%) rename {server508 => servers/server508}/data/mapdata/13876.txt (100%) rename {server508 => servers/server508}/data/mapdata/13877.txt (100%) rename {server508 => servers/server508}/data/mapdata/13878.txt (100%) rename {server508 => servers/server508}/data/mapdata/13879.txt (100%) rename {server508 => servers/server508}/data/mapdata/13880.txt (100%) rename {server508 => servers/server508}/data/mapdata/13898.txt (100%) rename {server508 => servers/server508}/data/mapdata/13899.txt (100%) rename {server508 => servers/server508}/data/mapdata/13900.txt (100%) rename {server508 => servers/server508}/data/mapdata/13971.txt (100%) rename {server508 => servers/server508}/data/mapdata/13972.txt (100%) rename {server508 => servers/server508}/data/mapdata/13973.txt (100%) rename {server508 => servers/server508}/data/mapdata/13974.txt (100%) rename {server508 => servers/server508}/data/mapdata/13975.txt (100%) rename {server508 => servers/server508}/data/mapdata/13976.txt (100%) rename {server508 => servers/server508}/data/mapdata/14129.txt (100%) rename {server508 => servers/server508}/data/mapdata/14130.txt (100%) rename {server508 => servers/server508}/data/mapdata/14131.txt (100%) rename {server508 => servers/server508}/data/mapdata/14132.txt (100%) rename {server508 => servers/server508}/data/mapdata/14133.txt (100%) rename {server508 => servers/server508}/data/mapdata/14134.txt (100%) rename {server508 => servers/server508}/data/mapdata/14135.txt (100%) rename {server508 => servers/server508}/data/mapdata/14136.txt (100%) rename {server508 => servers/server508}/data/mapdata/14154.txt (100%) rename {server508 => servers/server508}/data/mapdata/14155.txt (100%) rename {server508 => servers/server508}/data/mapdata/14156.txt (100%) rename {server508 => servers/server508}/data/mapdata/14227.txt (100%) rename {server508 => servers/server508}/data/mapdata/14228.txt (100%) rename {server508 => servers/server508}/data/mapdata/14229.txt (100%) rename {server508 => servers/server508}/data/mapdata/14230.txt (100%) rename {server508 => servers/server508}/data/mapdata/14231.txt (100%) rename {server508 => servers/server508}/data/mapdata/14232.txt (100%) rename {server508 => servers/server508}/data/mapdata/14381.txt (100%) rename {server508 => servers/server508}/data/mapdata/14382.txt (100%) rename {server508 => servers/server508}/data/mapdata/14383.txt (100%) rename {server508 => servers/server508}/data/mapdata/14384.txt (100%) rename {server508 => servers/server508}/data/mapdata/14385.txt (100%) rename {server508 => servers/server508}/data/mapdata/14386.txt (100%) rename {server508 => servers/server508}/data/mapdata/14387.txt (100%) rename {server508 => servers/server508}/data/mapdata/14388.txt (100%) rename {server508 => servers/server508}/data/mapdata/14389.txt (100%) rename {server508 => servers/server508}/data/mapdata/14390.txt (100%) rename {server508 => servers/server508}/data/mapdata/14391.txt (100%) rename {server508 => servers/server508}/data/mapdata/14486.txt (100%) rename {server508 => servers/server508}/data/mapdata/14487.txt (100%) rename {server508 => servers/server508}/data/mapdata/14488.txt (100%) rename {server508 => servers/server508}/data/mapdata/14637.txt (100%) rename {server508 => servers/server508}/data/mapdata/14638.txt (100%) rename {server508 => servers/server508}/data/mapdata/14639.txt (100%) rename {server508 => servers/server508}/data/mapdata/14640.txt (100%) rename {server508 => servers/server508}/data/mapdata/14645.txt (100%) rename {server508 => servers/server508}/data/mapdata/14646.txt (100%) rename {server508 => servers/server508}/data/mapdata/14647.txt (100%) rename {server508 => servers/server508}/data/mapdata/14893.txt (100%) rename {server508 => servers/server508}/data/mapdata/14894.txt (100%) rename {server508 => servers/server508}/data/mapdata/14895.txt (100%) rename {server508 => servers/server508}/data/mapdata/14896.txt (100%) rename {server508 => servers/server508}/data/mapdata/14901.txt (100%) rename {server508 => servers/server508}/data/mapdata/14902.txt (100%) rename {server508 => servers/server508}/data/mapdata/14903.txt (100%) rename {server508 => servers/server508}/data/mapdata/15149.txt (100%) rename {server508 => servers/server508}/data/mapdata/15150.txt (100%) rename {server508 => servers/server508}/data/mapdata/15151.txt (100%) rename {server508 => servers/server508}/data/mapdata/15152.txt (100%) rename {server508 => servers/server508}/data/mapdata/15406.txt (100%) rename {server508 => servers/server508}/data/mapdata/15407.txt (100%) rename {server508 => servers/server508}/data/mapdata/15408.txt (100%) rename {server508 => servers/server508}/data/mapdata/16123.txt (100%) rename {server508 => servers/server508}/data/mapdata/16124.txt (100%) rename {server508 => servers/server508}/data/mapdata/6230.txt (100%) rename {server508 => servers/server508}/data/mapdata/6231.txt (100%) rename {server508 => servers/server508}/data/mapdata/6232.txt (100%) rename {server508 => servers/server508}/data/mapdata/6484.txt (100%) rename {server508 => servers/server508}/data/mapdata/6485.txt (100%) rename {server508 => servers/server508}/data/mapdata/6486.txt (100%) rename {server508 => servers/server508}/data/mapdata/6487.txt (100%) rename {server508 => servers/server508}/data/mapdata/6488.txt (100%) rename {server508 => servers/server508}/data/mapdata/6732.txt (100%) rename {server508 => servers/server508}/data/mapdata/6733.txt (100%) rename {server508 => servers/server508}/data/mapdata/6734.txt (100%) rename {server508 => servers/server508}/data/mapdata/6740.txt (100%) rename {server508 => servers/server508}/data/mapdata/6741.txt (100%) rename {server508 => servers/server508}/data/mapdata/6742.txt (100%) rename {server508 => servers/server508}/data/mapdata/6743.txt (100%) rename {server508 => servers/server508}/data/mapdata/6744.txt (100%) rename {server508 => servers/server508}/data/mapdata/6988.txt (100%) rename {server508 => servers/server508}/data/mapdata/6989.txt (100%) rename {server508 => servers/server508}/data/mapdata/6990.txt (100%) rename {server508 => servers/server508}/data/mapdata/6996.txt (100%) rename {server508 => servers/server508}/data/mapdata/6997.txt (100%) rename {server508 => servers/server508}/data/mapdata/6998.txt (100%) rename {server508 => servers/server508}/data/mapdata/6999.txt (100%) rename {server508 => servers/server508}/data/mapdata/7000.txt (100%) rename {server508 => servers/server508}/data/mapdata/7244.txt (100%) rename {server508 => servers/server508}/data/mapdata/7245.txt (100%) rename {server508 => servers/server508}/data/mapdata/7246.txt (100%) rename {server508 => servers/server508}/data/mapdata/7248.txt (100%) rename {server508 => servers/server508}/data/mapdata/7249.txt (100%) rename {server508 => servers/server508}/data/mapdata/7250.txt (100%) rename {server508 => servers/server508}/data/mapdata/7492.txt (100%) rename {server508 => servers/server508}/data/mapdata/7493.txt (100%) rename {server508 => servers/server508}/data/mapdata/7494.txt (100%) rename {server508 => servers/server508}/data/mapdata/7497.txt (100%) rename {server508 => servers/server508}/data/mapdata/7498.txt (100%) rename {server508 => servers/server508}/data/mapdata/7499.txt (100%) rename {server508 => servers/server508}/data/mapdata/7503.txt (100%) rename {server508 => servers/server508}/data/mapdata/7504.txt (100%) rename {server508 => servers/server508}/data/mapdata/7505.txt (100%) rename {server508 => servers/server508}/data/mapdata/7506.txt (100%) rename {server508 => servers/server508}/data/mapdata/7509.txt (100%) rename {server508 => servers/server508}/data/mapdata/7748.txt (100%) rename {server508 => servers/server508}/data/mapdata/7749.txt (100%) rename {server508 => servers/server508}/data/mapdata/7750.txt (100%) rename {server508 => servers/server508}/data/mapdata/7753.txt (100%) rename {server508 => servers/server508}/data/mapdata/7754.txt (100%) rename {server508 => servers/server508}/data/mapdata/7755.txt (100%) rename {server508 => servers/server508}/data/mapdata/7757.txt (100%) rename {server508 => servers/server508}/data/mapdata/7758.txt (100%) rename {server508 => servers/server508}/data/mapdata/7759.txt (100%) rename {server508 => servers/server508}/data/mapdata/7760.txt (100%) rename {server508 => servers/server508}/data/mapdata/7761.txt (100%) rename {server508 => servers/server508}/data/mapdata/7762.txt (100%) rename {server508 => servers/server508}/data/mapdata/7763.txt (100%) rename {server508 => servers/server508}/data/mapdata/7764.txt (100%) rename {server508 => servers/server508}/data/mapdata/7765.txt (100%) rename {server508 => servers/server508}/data/mapdata/7995.txt (100%) rename {server508 => servers/server508}/data/mapdata/7996.txt (100%) rename {server508 => servers/server508}/data/mapdata/7997.txt (100%) rename {server508 => servers/server508}/data/mapdata/7998.txt (100%) rename {server508 => servers/server508}/data/mapdata/8009.txt (100%) rename {server508 => servers/server508}/data/mapdata/8010.txt (100%) rename {server508 => servers/server508}/data/mapdata/8011.txt (100%) rename {server508 => servers/server508}/data/mapdata/8013.txt (100%) rename {server508 => servers/server508}/data/mapdata/8014.txt (100%) rename {server508 => servers/server508}/data/mapdata/8016.txt (100%) rename {server508 => servers/server508}/data/mapdata/8017.txt (100%) rename {server508 => servers/server508}/data/mapdata/8018.txt (100%) rename {server508 => servers/server508}/data/mapdata/8019.txt (100%) rename {server508 => servers/server508}/data/mapdata/8020.txt (100%) rename {server508 => servers/server508}/data/mapdata/8021.txt (100%) rename {server508 => servers/server508}/data/mapdata/8240.txt (100%) rename {server508 => servers/server508}/data/mapdata/8241.txt (100%) rename {server508 => servers/server508}/data/mapdata/8251.txt (100%) rename {server508 => servers/server508}/data/mapdata/8252.txt (100%) rename {server508 => servers/server508}/data/mapdata/8253.txt (100%) rename {server508 => servers/server508}/data/mapdata/8254.txt (100%) rename {server508 => servers/server508}/data/mapdata/8265.txt (100%) rename {server508 => servers/server508}/data/mapdata/8266.txt (100%) rename {server508 => servers/server508}/data/mapdata/8267.txt (100%) rename {server508 => servers/server508}/data/mapdata/8268.txt (100%) rename {server508 => servers/server508}/data/mapdata/8272.txt (100%) rename {server508 => servers/server508}/data/mapdata/8273.txt (100%) rename {server508 => servers/server508}/data/mapdata/8274.txt (100%) rename {server508 => servers/server508}/data/mapdata/8275.txt (100%) rename {server508 => servers/server508}/data/mapdata/8276.txt (100%) rename {server508 => servers/server508}/data/mapdata/8277.txt (100%) rename {server508 => servers/server508}/data/mapdata/8496.txt (100%) rename {server508 => servers/server508}/data/mapdata/8497.txt (100%) rename {server508 => servers/server508}/data/mapdata/8498.txt (100%) rename {server508 => servers/server508}/data/mapdata/8499.txt (100%) rename {server508 => servers/server508}/data/mapdata/8506.txt (100%) rename {server508 => servers/server508}/data/mapdata/8507.txt (100%) rename {server508 => servers/server508}/data/mapdata/8508.txt (100%) rename {server508 => servers/server508}/data/mapdata/8509.txt (100%) rename {server508 => servers/server508}/data/mapdata/8510.txt (100%) rename {server508 => servers/server508}/data/mapdata/8522.txt (100%) rename {server508 => servers/server508}/data/mapdata/8523.txt (100%) rename {server508 => servers/server508}/data/mapdata/8524.txt (100%) rename {server508 => servers/server508}/data/mapdata/8525.txt (100%) rename {server508 => servers/server508}/data/mapdata/8529.txt (100%) rename {server508 => servers/server508}/data/mapdata/8530.txt (100%) rename {server508 => servers/server508}/data/mapdata/8531.txt (100%) rename {server508 => servers/server508}/data/mapdata/8532.txt (100%) rename {server508 => servers/server508}/data/mapdata/8533.txt (100%) rename {server508 => servers/server508}/data/mapdata/8752.txt (100%) rename {server508 => servers/server508}/data/mapdata/8753.txt (100%) rename {server508 => servers/server508}/data/mapdata/8754.txt (100%) rename {server508 => servers/server508}/data/mapdata/8755.txt (100%) rename {server508 => servers/server508}/data/mapdata/8756.txt (100%) rename {server508 => servers/server508}/data/mapdata/8757.txt (100%) rename {server508 => servers/server508}/data/mapdata/8762.txt (100%) rename {server508 => servers/server508}/data/mapdata/8763.txt (100%) rename {server508 => servers/server508}/data/mapdata/8764.txt (100%) rename {server508 => servers/server508}/data/mapdata/8765.txt (100%) rename {server508 => servers/server508}/data/mapdata/8776.txt (100%) rename {server508 => servers/server508}/data/mapdata/8777.txt (100%) rename {server508 => servers/server508}/data/mapdata/8778.txt (100%) rename {server508 => servers/server508}/data/mapdata/8779.txt (100%) rename {server508 => servers/server508}/data/mapdata/8780.txt (100%) rename {server508 => servers/server508}/data/mapdata/8781.txt (100%) rename {server508 => servers/server508}/data/mapdata/8785.txt (100%) rename {server508 => servers/server508}/data/mapdata/8786.txt (100%) rename {server508 => servers/server508}/data/mapdata/8787.txt (100%) rename {server508 => servers/server508}/data/mapdata/8788.txt (100%) rename {server508 => servers/server508}/data/mapdata/8789.txt (100%) rename {server508 => servers/server508}/data/mapdata/9008.txt (100%) rename {server508 => servers/server508}/data/mapdata/9009.txt (100%) rename {server508 => servers/server508}/data/mapdata/9010.txt (100%) rename {server508 => servers/server508}/data/mapdata/9011.txt (100%) rename {server508 => servers/server508}/data/mapdata/9012.txt (100%) rename {server508 => servers/server508}/data/mapdata/9013.txt (100%) rename {server508 => servers/server508}/data/mapdata/9014.txt (100%) rename {server508 => servers/server508}/data/mapdata/9015.txt (100%) rename {server508 => servers/server508}/data/mapdata/9016.txt (100%) rename {server508 => servers/server508}/data/mapdata/9017.txt (100%) rename {server508 => servers/server508}/data/mapdata/9018.txt (100%) rename {server508 => servers/server508}/data/mapdata/9019.txt (100%) rename {server508 => servers/server508}/data/mapdata/9020.txt (100%) rename {server508 => servers/server508}/data/mapdata/9032.txt (100%) rename {server508 => servers/server508}/data/mapdata/9033.txt (100%) rename {server508 => servers/server508}/data/mapdata/9034.txt (100%) rename {server508 => servers/server508}/data/mapdata/9035.txt (100%) rename {server508 => servers/server508}/data/mapdata/9036.txt (100%) rename {server508 => servers/server508}/data/mapdata/9037.txt (100%) rename {server508 => servers/server508}/data/mapdata/9040.txt (100%) rename {server508 => servers/server508}/data/mapdata/9041.txt (100%) rename {server508 => servers/server508}/data/mapdata/9042.txt (100%) rename {server508 => servers/server508}/data/mapdata/9043.txt (100%) rename {server508 => servers/server508}/data/mapdata/9044.txt (100%) rename {server508 => servers/server508}/data/mapdata/9045.txt (100%) rename {server508 => servers/server508}/data/mapdata/9048.txt (100%) rename {server508 => servers/server508}/data/mapdata/9049.txt (100%) rename {server508 => servers/server508}/data/mapdata/9050.txt (100%) rename {server508 => servers/server508}/data/mapdata/9109.txt (100%) rename {server508 => servers/server508}/data/mapdata/9110.txt (100%) rename {server508 => servers/server508}/data/mapdata/9111.txt (100%) rename {server508 => servers/server508}/data/mapdata/9120.txt (100%) rename {server508 => servers/server508}/data/mapdata/9121.txt (100%) rename {server508 => servers/server508}/data/mapdata/9122.txt (100%) rename {server508 => servers/server508}/data/mapdata/9262.txt (100%) rename {server508 => servers/server508}/data/mapdata/9263.txt (100%) rename {server508 => servers/server508}/data/mapdata/9264.txt (100%) rename {server508 => servers/server508}/data/mapdata/9265.txt (100%) rename {server508 => servers/server508}/data/mapdata/9266.txt (100%) rename {server508 => servers/server508}/data/mapdata/9267.txt (100%) rename {server508 => servers/server508}/data/mapdata/9268.txt (100%) rename {server508 => servers/server508}/data/mapdata/9269.txt (100%) rename {server508 => servers/server508}/data/mapdata/9270.txt (100%) rename {server508 => servers/server508}/data/mapdata/9271.txt (100%) rename {server508 => servers/server508}/data/mapdata/9272.txt (100%) rename {server508 => servers/server508}/data/mapdata/9273.txt (100%) rename {server508 => servers/server508}/data/mapdata/9274.txt (100%) rename {server508 => servers/server508}/data/mapdata/9275.txt (100%) rename {server508 => servers/server508}/data/mapdata/9276.txt (100%) rename {server508 => servers/server508}/data/mapdata/9277.txt (100%) rename {server508 => servers/server508}/data/mapdata/9284.txt (100%) rename {server508 => servers/server508}/data/mapdata/9285.txt (100%) rename {server508 => servers/server508}/data/mapdata/9286.txt (100%) rename {server508 => servers/server508}/data/mapdata/9288.txt (100%) rename {server508 => servers/server508}/data/mapdata/9289.txt (100%) rename {server508 => servers/server508}/data/mapdata/9290.txt (100%) rename {server508 => servers/server508}/data/mapdata/9291.txt (100%) rename {server508 => servers/server508}/data/mapdata/9292.txt (100%) rename {server508 => servers/server508}/data/mapdata/9295.txt (100%) rename {server508 => servers/server508}/data/mapdata/9296.txt (100%) rename {server508 => servers/server508}/data/mapdata/9297.txt (100%) rename {server508 => servers/server508}/data/mapdata/9298.txt (100%) rename {server508 => servers/server508}/data/mapdata/9299.txt (100%) rename {server508 => servers/server508}/data/mapdata/9300.txt (100%) rename {server508 => servers/server508}/data/mapdata/9301.txt (100%) rename {server508 => servers/server508}/data/mapdata/9304.txt (100%) rename {server508 => servers/server508}/data/mapdata/9305.txt (100%) rename {server508 => servers/server508}/data/mapdata/9306.txt (100%) rename {server508 => servers/server508}/data/mapdata/9363.txt (100%) rename {server508 => servers/server508}/data/mapdata/9364.txt (100%) rename {server508 => servers/server508}/data/mapdata/9365.txt (100%) rename {server508 => servers/server508}/data/mapdata/9366.txt (100%) rename {server508 => servers/server508}/data/mapdata/9367.txt (100%) rename {server508 => servers/server508}/data/mapdata/9376.txt (100%) rename {server508 => servers/server508}/data/mapdata/9377.txt (100%) rename {server508 => servers/server508}/data/mapdata/9378.txt (100%) rename {server508 => servers/server508}/data/mapdata/9515.txt (100%) rename {server508 => servers/server508}/data/mapdata/9516.txt (100%) rename {server508 => servers/server508}/data/mapdata/9517.txt (100%) rename {server508 => servers/server508}/data/mapdata/9518.txt (100%) rename {server508 => servers/server508}/data/mapdata/9519.txt (100%) rename {server508 => servers/server508}/data/mapdata/9520.txt (100%) rename {server508 => servers/server508}/data/mapdata/9521.txt (100%) rename {server508 => servers/server508}/data/mapdata/9522.txt (100%) rename {server508 => servers/server508}/data/mapdata/9523.txt (100%) rename {server508 => servers/server508}/data/mapdata/9524.txt (100%) rename {server508 => servers/server508}/data/mapdata/9525.txt (100%) rename {server508 => servers/server508}/data/mapdata/9526.txt (100%) rename {server508 => servers/server508}/data/mapdata/9527.txt (100%) rename {server508 => servers/server508}/data/mapdata/9528.txt (100%) rename {server508 => servers/server508}/data/mapdata/9529.txt (100%) rename {server508 => servers/server508}/data/mapdata/9530.txt (100%) rename {server508 => servers/server508}/data/mapdata/9531.txt (100%) rename {server508 => servers/server508}/data/mapdata/9532.txt (100%) rename {server508 => servers/server508}/data/mapdata/9533.txt (100%) rename {server508 => servers/server508}/data/mapdata/9540.txt (100%) rename {server508 => servers/server508}/data/mapdata/9541.txt (100%) rename {server508 => servers/server508}/data/mapdata/9542.txt (100%) rename {server508 => servers/server508}/data/mapdata/9546.txt (100%) rename {server508 => servers/server508}/data/mapdata/9547.txt (100%) rename {server508 => servers/server508}/data/mapdata/9548.txt (100%) rename {server508 => servers/server508}/data/mapdata/9551.txt (100%) rename {server508 => servers/server508}/data/mapdata/9552.txt (100%) rename {server508 => servers/server508}/data/mapdata/9553.txt (100%) rename {server508 => servers/server508}/data/mapdata/9554.txt (100%) rename {server508 => servers/server508}/data/mapdata/9555.txt (100%) rename {server508 => servers/server508}/data/mapdata/9556.txt (100%) rename {server508 => servers/server508}/data/mapdata/9557.txt (100%) rename {server508 => servers/server508}/data/mapdata/9560.txt (100%) rename {server508 => servers/server508}/data/mapdata/9561.txt (100%) rename {server508 => servers/server508}/data/mapdata/9562.txt (100%) rename {server508 => servers/server508}/data/mapdata/9619.txt (100%) rename {server508 => servers/server508}/data/mapdata/9620.txt (100%) rename {server508 => servers/server508}/data/mapdata/9621.txt (100%) rename {server508 => servers/server508}/data/mapdata/9622.txt (100%) rename {server508 => servers/server508}/data/mapdata/9623.txt (100%) rename {server508 => servers/server508}/data/mapdata/9625.txt (100%) rename {server508 => servers/server508}/data/mapdata/9626.txt (100%) rename {server508 => servers/server508}/data/mapdata/9627.txt (100%) rename {server508 => servers/server508}/data/mapdata/9632.txt (100%) rename {server508 => servers/server508}/data/mapdata/9633.txt (100%) rename {server508 => servers/server508}/data/mapdata/9634.txt (100%) rename {server508 => servers/server508}/data/mapdata/9771.txt (100%) rename {server508 => servers/server508}/data/mapdata/9772.txt (100%) rename {server508 => servers/server508}/data/mapdata/9773.txt (100%) rename {server508 => servers/server508}/data/mapdata/9774.txt (100%) rename {server508 => servers/server508}/data/mapdata/9775.txt (100%) rename {server508 => servers/server508}/data/mapdata/9776.txt (100%) rename {server508 => servers/server508}/data/mapdata/9777.txt (100%) rename {server508 => servers/server508}/data/mapdata/9778.txt (100%) rename {server508 => servers/server508}/data/mapdata/9779.txt (100%) rename {server508 => servers/server508}/data/mapdata/9780.txt (100%) rename {server508 => servers/server508}/data/mapdata/9781.txt (100%) rename {server508 => servers/server508}/data/mapdata/9782.txt (100%) rename {server508 => servers/server508}/data/mapdata/9783.txt (100%) rename {server508 => servers/server508}/data/mapdata/9784.txt (100%) rename {server508 => servers/server508}/data/mapdata/9785.txt (100%) rename {server508 => servers/server508}/data/mapdata/9786.txt (100%) rename {server508 => servers/server508}/data/mapdata/9787.txt (100%) rename {server508 => servers/server508}/data/mapdata/9788.txt (100%) rename {server508 => servers/server508}/data/mapdata/9789.txt (100%) rename {server508 => servers/server508}/data/mapdata/9796.txt (100%) rename {server508 => servers/server508}/data/mapdata/9797.txt (100%) rename {server508 => servers/server508}/data/mapdata/9798.txt (100%) rename {server508 => servers/server508}/data/mapdata/9800.txt (100%) rename {server508 => servers/server508}/data/mapdata/9801.txt (100%) rename {server508 => servers/server508}/data/mapdata/9802.txt (100%) rename {server508 => servers/server508}/data/mapdata/9803.txt (100%) rename {server508 => servers/server508}/data/mapdata/9804.txt (100%) rename {server508 => servers/server508}/data/mapdata/9805.txt (100%) rename {server508 => servers/server508}/data/mapdata/9806.txt (100%) rename {server508 => servers/server508}/data/mapdata/9807.txt (100%) rename {server508 => servers/server508}/data/mapdata/9808.txt (100%) rename {server508 => servers/server508}/data/mapdata/9809.txt (100%) rename {server508 => servers/server508}/data/mapdata/9810.txt (100%) rename {server508 => servers/server508}/data/mapdata/9811.txt (100%) rename {server508 => servers/server508}/data/mapdata/9812.txt (100%) rename {server508 => servers/server508}/data/mapdata/9813.txt (100%) rename {server508 => servers/server508}/data/mapdata/9875.txt (100%) rename {server508 => servers/server508}/data/mapdata/9876.txt (100%) rename {server508 => servers/server508}/data/mapdata/9877.txt (100%) rename {server508 => servers/server508}/data/mapdata/9881.txt (100%) rename {server508 => servers/server508}/data/mapdata/9882.txt (100%) rename {server508 => servers/server508}/data/mapdata/9883.txt (100%) rename {server508 => servers/server508}/data/mapdata/9884.txt (100%) rename {server508 => servers/server508}/data/mapdata/9885.txt (100%) rename {server508 => servers/server508}/data/mapdata/9887.txt (100%) rename {server508 => servers/server508}/data/mapdata/9888.txt (100%) rename {server508 => servers/server508}/data/mapdata/9889.txt (100%) rename {server508 => servers/server508}/data/npcs/npcdrops.cfg (100%) rename {server508 => servers/server508}/data/npcs/npclist.cfg (100%) rename {server508 => servers/server508}/data/npcs/npcspawn.cfg (100%) rename {server508 => servers/server508}/data/objects.cfg (100%) create mode 100644 servers/server508/pom.xml rename {server508/src => servers/server508/src/main/java}/DavidScape/ClanChat/ClanList.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/ClanChat/ClanMain.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/ClanChat/SaveChats.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/ClanChat/inChat.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/Engine.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/Server.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/Skills/Fishing.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/Skills/Mining.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/Skills/Smithing.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/Skills/Woodcutting.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/Skills/construction/Construction.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/FileManager.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/Frames.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/Login.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/PacketManager.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/Packets.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ActionButtons.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/Assault.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ClanChat.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/Commands.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/DropItem.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/Equipment.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ItemGive.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ItemOnItem.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ItemOnNPC.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ItemOnObject.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ItemOperate.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ItemOption1.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ItemOption2.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ItemSelect.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/MagicOnNPC.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/MagicOnPlayer.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/NPCAttack.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/NPCOption1.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/NPCOption2.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/NPCOption3.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ObjectOption1.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/ObjectOption2.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/Packet.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/PickupItem.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/PlayerOption1.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/PlayerOption2.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/PlayerOption3.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/Prayer.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/PublicChat.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/SwitchItems.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/SwitchItems2.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/Walking.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/bountyHunter.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/io/packets/desktop.ini (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/net/ConnectionManager.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/net/Monitor.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/net/PlayerSocket.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/net/Protect.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/net/SocketListener.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/net/desktop.ini (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/npcs/NPC.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/npcs/combat/NPCPlayerCombat.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/npcs/loading/LoadNPCLists.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/npcs/loading/NPCList.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/npcs/loading/desktop.ini (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/npcs/update/NPCMovement.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/npcs/update/NPCUpdate.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/npcs/update/NPCUpdateMasks.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/Magic.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/Player.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/PlayerFollow.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/PlayerSave.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/UserInput.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/castlewars/CastleWarsFL.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/combat/MagicNPC.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/combat/PlayerCombat.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/combat/PlayerNPCCombat.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/items/BankUtils.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/items/ItemObject.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/items/PlayerBank.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/items/PlayerItems.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/items/PlayerTrade.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/items/PlayerWeapon.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/items/ReqItems.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/objectLoader.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/ptrade/PTrade.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/ptrade/TButtons.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/ptrade/TItem.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/update/PlayerMovement.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/update/PlayerUpdate.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/players/update/PlayerUpdateMasks.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/util/Misc.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/util/ShopHandler.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/util/Stream.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/util/Vars.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/world/items/BankUtils.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/world/items/GroundItem.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/world/items/ItemList.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/world/items/Items.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/world/mapdata/MapData.java (100%) rename {server508/src => servers/server508/src/main/java}/DavidScape/world/mapdata/MapList.java (100%) rename {server508/src => servers/server508/src/main/java}/server.java (100%) diff --git a/.gitignore b/.gitignore index cafc79b..4a0fa21 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ -.idea/workspace.xml -.idea/dynamic.xml +.idea/ + +**/target/ +**.iml +**.eml + +cachedump/*.zip diff --git a/MoparScape/pom.xml b/MoparScape/pom.xml new file mode 100755 index 0000000..8e7c160 --- /dev/null +++ b/MoparScape/pom.xml @@ -0,0 +1,30 @@ + + + + + + org.moparscape.client + main + 0.1-SNAPSHOT + + 4.0.0 + MoparScape + \ No newline at end of file diff --git a/MoparScape/src/main/java/org/moparscape/Debug.java b/MoparScape/src/main/java/org/moparscape/Debug.java new file mode 100755 index 0000000..c127e83 --- /dev/null +++ b/MoparScape/src/main/java/org/moparscape/Debug.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + +package org.moparscape; + +/** + * This class is just for convenience, to handle debug levels and print developer info. + */ +public class Debug { + public static boolean debug = false; + + /** + * This is called when you only want to print something to the command line in debug mode. + * + * @param s String to print only in debug mode. + */ + public static void debug(String s) { + if (debug) + System.out.println(s); + } + + public static void debug(String s, String... args) { + if (debug) { + System.out.printf(s, args); + System.out.println(); + } + } + + public static void debug(Object[] o){ + if(!debug) + return; + for(int x = 0; x < o.length; ++x) + System.out.println(x+": "+o[x]); + } + + /** + * Called when you want to print an exception's Stack Trace only when in debug mode. + * + * @param e + */ + public static void debug(Exception e) { + if (debug && e != null) + e.printStackTrace(); + } + + /** + * Is debug on or not + * + * @return Whether MoparScape was run in debug mode + */ + public static boolean debug() { + return debug; + } +} diff --git a/src/org/moparscape/cacheutils/v317/ByteStream.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v317/ByteStream.java similarity index 97% rename from src/org/moparscape/cacheutils/v317/ByteStream.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v317/ByteStream.java index a275105..fcb35c0 100644 --- a/src/org/moparscape/cacheutils/v317/ByteStream.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v317/ByteStream.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.cacheutils.v317; diff --git a/src/org/moparscape/cacheutils/v317/CacheFile.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v317/CacheFile.java similarity index 88% rename from src/org/moparscape/cacheutils/v317/CacheFile.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v317/CacheFile.java index 506d6e9..f410825 100644 --- a/src/org/moparscape/cacheutils/v317/CacheFile.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v317/CacheFile.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.cacheutils.v317; diff --git a/src/org/moparscape/cacheutils/v317/CacheIndex.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v317/CacheIndex.java similarity index 96% rename from src/org/moparscape/cacheutils/v317/CacheIndex.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v317/CacheIndex.java index cb6b3ab..daec13e 100644 --- a/src/org/moparscape/cacheutils/v317/CacheIndex.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v317/CacheIndex.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.cacheutils.v317; diff --git a/src/org/moparscape/cacheutils/v317/Main.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v317/Main.java similarity index 93% rename from src/org/moparscape/cacheutils/v317/Main.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v317/Main.java index 23990a8..cd1f305 100644 --- a/src/org/moparscape/cacheutils/v317/Main.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v317/Main.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.cacheutils.v317; diff --git a/src/org/moparscape/cacheutils/v508/CacheFile.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/CacheFile.java similarity index 92% rename from src/org/moparscape/cacheutils/v508/CacheFile.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v508/CacheFile.java index 2ed822a..33f974c 100644 --- a/src/org/moparscape/cacheutils/v508/CacheFile.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/CacheFile.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ /** diff --git a/src/org/moparscape/cacheutils/v508/CacheFileSet.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/CacheFileSet.java similarity index 83% rename from src/org/moparscape/cacheutils/v508/CacheFileSet.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v508/CacheFileSet.java index 6dcdc6e..aad4414 100644 --- a/src/org/moparscape/cacheutils/v508/CacheFileSet.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/CacheFileSet.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ /** diff --git a/src/org/moparscape/cacheutils/v508/FileOnDisk.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/FileOnDisk.java similarity index 87% rename from src/org/moparscape/cacheutils/v508/FileOnDisk.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v508/FileOnDisk.java index 570e8ae..498f611 100644 --- a/src/org/moparscape/cacheutils/v508/FileOnDisk.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/FileOnDisk.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ /** diff --git a/src/org/moparscape/cacheutils/v508/Main.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/Main.java similarity index 96% rename from src/org/moparscape/cacheutils/v508/Main.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v508/Main.java index ec80c69..db695d5 100644 --- a/src/org/moparscape/cacheutils/v508/Main.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/Main.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.cacheutils.v508; diff --git a/src/org/moparscape/cacheutils/v508/Misc.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/Misc.java similarity index 87% rename from src/org/moparscape/cacheutils/v508/Misc.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v508/Misc.java index 3694e89..3530e09 100644 --- a/src/org/moparscape/cacheutils/v508/Misc.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/Misc.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ /** diff --git a/src/org/moparscape/cacheutils/v508/RandomAccessFile.java b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/RandomAccessFile.java similarity index 94% rename from src/org/moparscape/cacheutils/v508/RandomAccessFile.java rename to MoparScape/src/main/java/org/moparscape/cacheutils/v508/RandomAccessFile.java index fd796e3..94edecd 100644 --- a/src/org/moparscape/cacheutils/v508/RandomAccessFile.java +++ b/MoparScape/src/main/java/org/moparscape/cacheutils/v508/RandomAccessFile.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ /** diff --git a/src/org/moparscape/classloader/CRCClassLoader.java b/MoparScape/src/main/java/org/moparscape/classloader/CRCClassLoader.java similarity index 97% rename from src/org/moparscape/classloader/CRCClassLoader.java rename to MoparScape/src/main/java/org/moparscape/classloader/CRCClassLoader.java index b7e6b13..ebcf74f 100644 --- a/src/org/moparscape/classloader/CRCClassLoader.java +++ b/MoparScape/src/main/java/org/moparscape/classloader/CRCClassLoader.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.classloader; diff --git a/src/org/moparscape/classloader/CRCClassLoaderOrig.java b/MoparScape/src/main/java/org/moparscape/classloader/CRCClassLoaderOrig.java similarity index 96% rename from src/org/moparscape/classloader/CRCClassLoaderOrig.java rename to MoparScape/src/main/java/org/moparscape/classloader/CRCClassLoaderOrig.java index 3b342ad..0ce5572 100644 --- a/src/org/moparscape/classloader/CRCClassLoaderOrig.java +++ b/MoparScape/src/main/java/org/moparscape/classloader/CRCClassLoaderOrig.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2012 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.classloader; diff --git a/src/org/moparscape/classloader/CRCJar.java b/MoparScape/src/main/java/org/moparscape/classloader/CRCJar.java similarity index 81% rename from src/org/moparscape/classloader/CRCJar.java rename to MoparScape/src/main/java/org/moparscape/classloader/CRCJar.java index 31e1c7f..cb7d8a6 100644 --- a/src/org/moparscape/classloader/CRCJar.java +++ b/MoparScape/src/main/java/org/moparscape/classloader/CRCJar.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.classloader; diff --git a/MoparScape/src/main/java/org/moparscape/classloader/MoparScapeLinks.java b/MoparScape/src/main/java/org/moparscape/classloader/MoparScapeLinks.java new file mode 100644 index 0000000..c38fe7e --- /dev/null +++ b/MoparScape/src/main/java/org/moparscape/classloader/MoparScapeLinks.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + +package org.moparscape.classloader; + +import org.moparscape.res.impl.Downloader; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.PrintStream; + +/** + * This outputs some HTML with handy links to test clients/servers/caches in MoparScape. + * + * @author mopar + */ +public class MoparScapeLinks { + + //public static final String mscpLink = "%s %s %s
\n"; + public static final String mscpLink = "%s %s %s
\n"; + public static final String mavenArtifact = "%1$s/%2$s/target/%2$s.%3$s"; + + public static void main(String[] args) throws Exception { + //System.out.println("args: "+ Arrays.toString(args)); if(true) return; + if (args.length < 2) { + System.out.println("Usage: CRCJar rootDir htmlFile"); + return; + } + final File rootDir = new File(args[0]).getCanonicalFile(); + final PrintStream html; + if (args[1].equals("-")) + html = System.out; + else + html = new PrintStream(new FileOutputStream(args[1])); + + html.println("MoparScape Test Links"); + + outputLink(rootDir, html, "client317", "server317", "complete317"); + outputLink(rootDir, html, "client508", "server508", "complete508"); + outputLink(rootDir, html, "renamed508", "server508", "complete508"); + outputLink(rootDir, html, "clientRSC", "server317", "completeRSC"); + + html.println(""); + } + + public static void outputLink(final File rootDir, final PrintStream html, final String client, final String server, final String cache) { + try { + final String clientJar = new File(rootDir, String.format(mavenArtifact, "clients", client, "jar")).getAbsolutePath(); + final String serverJar = new File(rootDir, String.format(mavenArtifact, "servers", server, "jar")).getAbsolutePath(); + final String serverZip = new File(rootDir, String.format(mavenArtifact, "servers", server, "zip")).getAbsolutePath(); + final String cacheZip = new File(rootDir, String.format("cachedump/%s.zip", cache)).getAbsolutePath(); + final long clientCRC = new CRCClassLoader(clientJar).getCRC(); + final long serverCRC = new CRCClassLoader(serverJar).getCRC(); + final long cacheCRC = Downloader.crcExtractFile(cacheZip); + html.printf(mscpLink, clientJar, clientCRC, cacheZip, cacheCRC, serverZip, serverCRC, client, server, cache); + } catch (Throwable e) { + e.printStackTrace(); + } + } +} diff --git a/src/org/moparscape/iface/ClientInterface.java b/MoparScape/src/main/java/org/moparscape/iface/ClientInterface.java similarity index 95% rename from src/org/moparscape/iface/ClientInterface.java rename to MoparScape/src/main/java/org/moparscape/iface/ClientInterface.java index ddf642a..b29b579 100644 --- a/src/org/moparscape/iface/ClientInterface.java +++ b/MoparScape/src/main/java/org/moparscape/iface/ClientInterface.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.iface; diff --git a/src/org/moparscape/iface/Hasher.java b/MoparScape/src/main/java/org/moparscape/iface/Hasher.java similarity index 90% rename from src/org/moparscape/iface/Hasher.java rename to MoparScape/src/main/java/org/moparscape/iface/Hasher.java index 5e33d0f..4bcf974 100644 --- a/src/org/moparscape/iface/Hasher.java +++ b/MoparScape/src/main/java/org/moparscape/iface/Hasher.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2012 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.iface; diff --git a/src/org/moparscape/iface/ServerInterface.java b/MoparScape/src/main/java/org/moparscape/iface/ServerInterface.java similarity index 78% rename from src/org/moparscape/iface/ServerInterface.java rename to MoparScape/src/main/java/org/moparscape/iface/ServerInterface.java index 66bc563..01591f9 100644 --- a/src/org/moparscape/iface/ServerInterface.java +++ b/MoparScape/src/main/java/org/moparscape/iface/ServerInterface.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.iface; diff --git a/src/org/moparscape/res/AbstractDownloadListener.java b/MoparScape/src/main/java/org/moparscape/res/AbstractDownloadListener.java similarity index 92% rename from src/org/moparscape/res/AbstractDownloadListener.java rename to MoparScape/src/main/java/org/moparscape/res/AbstractDownloadListener.java index cd13bb5..edf69fb 100644 --- a/src/org/moparscape/res/AbstractDownloadListener.java +++ b/MoparScape/src/main/java/org/moparscape/res/AbstractDownloadListener.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res; diff --git a/src/org/moparscape/res/Base32.java b/MoparScape/src/main/java/org/moparscape/res/Base32.java similarity index 86% rename from src/org/moparscape/res/Base32.java rename to MoparScape/src/main/java/org/moparscape/res/Base32.java index 811ba52..4a69c55 100644 --- a/src/org/moparscape/res/Base32.java +++ b/MoparScape/src/main/java/org/moparscape/res/Base32.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + /* (PD) 2006 The Bitzi Corporation * Please see http://bitzi.com/publicdomain for more info. * diff --git a/src/org/moparscape/res/ChecksumInfo.java b/MoparScape/src/main/java/org/moparscape/res/ChecksumInfo.java similarity index 96% rename from src/org/moparscape/res/ChecksumInfo.java rename to MoparScape/src/main/java/org/moparscape/res/ChecksumInfo.java index dcc3d66..c38dc48 100644 --- a/src/org/moparscape/res/ChecksumInfo.java +++ b/MoparScape/src/main/java/org/moparscape/res/ChecksumInfo.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res; diff --git a/src/org/moparscape/res/ChecksumInputStream.java b/MoparScape/src/main/java/org/moparscape/res/ChecksumInputStream.java similarity index 87% rename from src/org/moparscape/res/ChecksumInputStream.java rename to MoparScape/src/main/java/org/moparscape/res/ChecksumInputStream.java index c05587d..9c4b715 100644 --- a/src/org/moparscape/res/ChecksumInputStream.java +++ b/MoparScape/src/main/java/org/moparscape/res/ChecksumInputStream.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res; diff --git a/src/org/moparscape/res/CompleteRunnable.java b/MoparScape/src/main/java/org/moparscape/res/CompleteRunnable.java similarity index 86% rename from src/org/moparscape/res/CompleteRunnable.java rename to MoparScape/src/main/java/org/moparscape/res/CompleteRunnable.java index 4be8e82..51f2c16 100644 --- a/src/org/moparscape/res/CompleteRunnable.java +++ b/MoparScape/src/main/java/org/moparscape/res/CompleteRunnable.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2012 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res; diff --git a/src/org/moparscape/res/DownloadListener.java b/MoparScape/src/main/java/org/moparscape/res/DownloadListener.java similarity index 83% rename from src/org/moparscape/res/DownloadListener.java rename to MoparScape/src/main/java/org/moparscape/res/DownloadListener.java index 25655d8..230f1ce 100644 --- a/src/org/moparscape/res/DownloadListener.java +++ b/MoparScape/src/main/java/org/moparscape/res/DownloadListener.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res; diff --git a/src/org/moparscape/res/MakeTorrent.java b/MoparScape/src/main/java/org/moparscape/res/MakeTorrent.java similarity index 97% rename from src/org/moparscape/res/MakeTorrent.java rename to MoparScape/src/main/java/org/moparscape/res/MakeTorrent.java index b8dc6ae..b96e76b 100644 --- a/src/org/moparscape/res/MakeTorrent.java +++ b/MoparScape/src/main/java/org/moparscape/res/MakeTorrent.java @@ -1,24 +1,25 @@ -package org.moparscape.res; /* - * Copyright (C) 2012 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ +package org.moparscape.res; + import org.moparscape.Debug; import org.moparscape.classloader.CRCClassLoader; import org.moparscape.res.impl.Downloader; diff --git a/src/org/moparscape/res/NullOutputStream.java b/MoparScape/src/main/java/org/moparscape/res/NullOutputStream.java similarity index 76% rename from src/org/moparscape/res/NullOutputStream.java rename to MoparScape/src/main/java/org/moparscape/res/NullOutputStream.java index 65d2797..a4db44f 100644 --- a/src/org/moparscape/res/NullOutputStream.java +++ b/MoparScape/src/main/java/org/moparscape/res/NullOutputStream.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2012 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res; diff --git a/src/org/moparscape/res/ResourceGrabber.java b/MoparScape/src/main/java/org/moparscape/res/ResourceGrabber.java similarity index 99% rename from src/org/moparscape/res/ResourceGrabber.java rename to MoparScape/src/main/java/org/moparscape/res/ResourceGrabber.java index 3d80007..9079887 100644 --- a/src/org/moparscape/res/ResourceGrabber.java +++ b/MoparScape/src/main/java/org/moparscape/res/ResourceGrabber.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res; diff --git a/src/org/moparscape/res/impl/BTDownloader.java b/MoparScape/src/main/java/org/moparscape/res/impl/BTDownloader.java similarity index 98% rename from src/org/moparscape/res/impl/BTDownloader.java rename to MoparScape/src/main/java/org/moparscape/res/impl/BTDownloader.java index f0443db..cdf6ca5 100644 --- a/src/org/moparscape/res/impl/BTDownloader.java +++ b/MoparScape/src/main/java/org/moparscape/res/impl/BTDownloader.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res.impl; diff --git a/src/org/moparscape/res/impl/BTDownloaderCRCs.java b/MoparScape/src/main/java/org/moparscape/res/impl/BTDownloaderCRCs.java similarity index 78% rename from src/org/moparscape/res/impl/BTDownloaderCRCs.java rename to MoparScape/src/main/java/org/moparscape/res/impl/BTDownloaderCRCs.java index 5b1403b..db06a14 100644 --- a/src/org/moparscape/res/impl/BTDownloaderCRCs.java +++ b/MoparScape/src/main/java/org/moparscape/res/impl/BTDownloaderCRCs.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res.impl; diff --git a/src/org/moparscape/res/impl/Downloader.java b/MoparScape/src/main/java/org/moparscape/res/impl/Downloader.java similarity index 97% rename from src/org/moparscape/res/impl/Downloader.java rename to MoparScape/src/main/java/org/moparscape/res/impl/Downloader.java index 23f60f5..d1f8338 100644 --- a/src/org/moparscape/res/impl/Downloader.java +++ b/MoparScape/src/main/java/org/moparscape/res/impl/Downloader.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res.impl; diff --git a/src/org/moparscape/res/impl/URLDownloader.java b/MoparScape/src/main/java/org/moparscape/res/impl/URLDownloader.java similarity index 94% rename from src/org/moparscape/res/impl/URLDownloader.java rename to MoparScape/src/main/java/org/moparscape/res/impl/URLDownloader.java index a12c552..c601779 100644 --- a/src/org/moparscape/res/impl/URLDownloader.java +++ b/MoparScape/src/main/java/org/moparscape/res/impl/URLDownloader.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2011 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.res.impl; diff --git a/src/org/moparscape/rsakeys/Base64.java b/MoparScape/src/main/java/org/moparscape/rsakeys/Base64.java similarity index 99% rename from src/org/moparscape/rsakeys/Base64.java rename to MoparScape/src/main/java/org/moparscape/rsakeys/Base64.java index 13faedc..c3bbe15 100644 --- a/src/org/moparscape/rsakeys/Base64.java +++ b/MoparScape/src/main/java/org/moparscape/rsakeys/Base64.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2012 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.rsakeys; diff --git a/src/org/moparscape/rsakeys/KeyGenerator.java b/MoparScape/src/main/java/org/moparscape/rsakeys/KeyGenerator.java similarity index 86% rename from src/org/moparscape/rsakeys/KeyGenerator.java rename to MoparScape/src/main/java/org/moparscape/rsakeys/KeyGenerator.java index 1e02cec..35421a6 100644 --- a/src/org/moparscape/rsakeys/KeyGenerator.java +++ b/MoparScape/src/main/java/org/moparscape/rsakeys/KeyGenerator.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + package org.moparscape.rsakeys;/* * Copyright (C) 2012 moparisthebest * diff --git a/src/org/moparscape/security/SecurityManager.java b/MoparScape/src/main/java/org/moparscape/security/SecurityManager.java similarity index 98% rename from src/org/moparscape/security/SecurityManager.java rename to MoparScape/src/main/java/org/moparscape/security/SecurityManager.java index 5c739e5..ad0519d 100644 --- a/src/org/moparscape/security/SecurityManager.java +++ b/MoparScape/src/main/java/org/moparscape/security/SecurityManager.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.security; diff --git a/src/org/moparscape/userver/Server.java b/MoparScape/src/main/java/org/moparscape/userver/Server.java similarity index 94% rename from src/org/moparscape/userver/Server.java rename to MoparScape/src/main/java/org/moparscape/userver/Server.java index 5a10a68..5670ee1 100644 --- a/src/org/moparscape/userver/Server.java +++ b/MoparScape/src/main/java/org/moparscape/userver/Server.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.userver; diff --git a/src/org/moparscape/userver/v317/ConcurrentOndemandServer.java b/MoparScape/src/main/java/org/moparscape/userver/v317/ConcurrentOndemandServer.java similarity index 93% rename from src/org/moparscape/userver/v317/ConcurrentOndemandServer.java rename to MoparScape/src/main/java/org/moparscape/userver/v317/ConcurrentOndemandServer.java index d82901c..0a36651 100644 --- a/src/org/moparscape/userver/v317/ConcurrentOndemandServer.java +++ b/MoparScape/src/main/java/org/moparscape/userver/v317/ConcurrentOndemandServer.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.userver.v317; diff --git a/src/org/moparscape/userver/v317/JaggrabServer.java b/MoparScape/src/main/java/org/moparscape/userver/v317/JaggrabServer.java similarity index 92% rename from src/org/moparscape/userver/v317/JaggrabServer.java rename to MoparScape/src/main/java/org/moparscape/userver/v317/JaggrabServer.java index bb42a4f..fde6932 100644 --- a/src/org/moparscape/userver/v317/JaggrabServer.java +++ b/MoparScape/src/main/java/org/moparscape/userver/v317/JaggrabServer.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.userver.v317; diff --git a/src/org/moparscape/userver/v508/ConcurrentOndemandServer.java b/MoparScape/src/main/java/org/moparscape/userver/v508/ConcurrentOndemandServer.java similarity index 96% rename from src/org/moparscape/userver/v508/ConcurrentOndemandServer.java rename to MoparScape/src/main/java/org/moparscape/userver/v508/ConcurrentOndemandServer.java index eda1ba7..de9bbe4 100644 --- a/src/org/moparscape/userver/v508/ConcurrentOndemandServer.java +++ b/MoparScape/src/main/java/org/moparscape/userver/v508/ConcurrentOndemandServer.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.userver.v508; diff --git a/src/org/moparscape/userver/v508/OndemandServer.java b/MoparScape/src/main/java/org/moparscape/userver/v508/OndemandServer.java similarity index 97% rename from src/org/moparscape/userver/v508/OndemandServer.java rename to MoparScape/src/main/java/org/moparscape/userver/v508/OndemandServer.java index 7b77c22..c265f1c 100644 --- a/src/org/moparscape/userver/v508/OndemandServer.java +++ b/MoparScape/src/main/java/org/moparscape/userver/v508/OndemandServer.java @@ -1,21 +1,21 @@ /* - * Copyright (C) 2010 moparisthebest + * Copyright (C) 2009-2013 moparisthebest * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by + * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Official forums are http://www.moparscape.org/smf/ - * Email me at admin@moparisthebest.com , I read it but don't usually respond. + * Email me at admin@moparisthebest.com. */ package org.moparscape.userver.v508; diff --git a/cachedump/completeRSC/config.jag b/cachedump/completeRSC/config.jag new file mode 100755 index 0000000000000000000000000000000000000000..b1a641feb005de1d675fb850363d0f730bb72cce GIT binary patch literal 58819 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%0A@PJv2g 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 *r?fs&!A6-#&qiezjL$tvCt3^qc1)+U#2` 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

<-RI4Y0d`7zo$S9uB)8L7ost95t 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%0A>Q1a}MR@zcU3FMN6OjRIK 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

D?RPj9sqG{}} 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 C#6W%k literal 0 HcmV?d00001 diff --git a/cachedump/completeRSC/filter.jag b/cachedump/completeRSC/filter.jag new file mode 100755 index 0000000000000000000000000000000000000000..5f885f6882f918f0b3b38e3e36299e6b4c8cdd0a GIT binary patch literal 15377 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 LWt;T>{fYe_h+H>K literal 0 HcmV?d00001 diff --git a/cachedump/completeRSC/land.jag b/cachedump/completeRSC/land.jag new file mode 100755 index 0000000000000000000000000000000000000000..475941c517aa2134cbddc4597628a134a7b60079 GIT binary patch literal 142383 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 F0D$bux5fYf literal 0 HcmV?d00001 diff --git a/cachedump/completeRSC/land.mem b/cachedump/completeRSC/land.mem new file mode 100755 index 0000000000000000000000000000000000000000..b95324bdb4b9a9030b4242cc910736f99c9f9aee GIT binary patch literal 154683 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

3zx9kggk-93=>n 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%0AXV` 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�+rDW1^|Q+ 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 literal 0 HcmV?d00001 diff --git a/cachedump/completeRSC/maps.jag b/cachedump/completeRSC/maps.jag new file mode 100755 index 0000000000000000000000000000000000000000..9ed93ad23b13025984a4e2676f837222f6b82f0e GIT binary patch literal 37629 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 B6;=QM literal 0 HcmV?d00001 diff --git a/cachedump/completeRSC/maps.mem b/cachedump/completeRSC/maps.mem new file mode 100755 index 0000000000000000000000000000000000000000..d3e38620c95d8f174a0357b12061385507bdef7f GIT binary patch literal 59481 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 Sy5@JE{}*yaI8cz}T{gCkxZ_Cx literal 0 HcmV?d00001 diff --git a/cachedump/completeRSC/media.jag b/cachedump/completeRSC/media.jag new file mode 100755 index 0000000000000000000000000000000000000000..f72fb1a94ae891d06fd1a068362ec01f253f3e08 GIT binary patch literal 98729 zcmV(*K;FLrfujL|qW~T$-)EixQj-7{ttzst?*L~k03iV@h4MfET*UwyaV%LkkpNZ^ z02b#hEPUbsWi0?1$SwcEGXRhv01YeVhEO>G1VaD;AywtKEC3eC00PJe{V=ou1!4dI z)avT73jhGd002solz=n<76JeOQLM5(^#Jie03oV5MXJ^S3se9BgYaXP!T=ru00760 z0Hy~37100>jDa|nDF6bh003F|MN^6ZT@e5jE%_Lj+W=Sa01%k@>)tE?Ukv~ePx`+j zeE?Uu01*58l4#BVRd)an$NXik9{_P802FxrIP-7-P-g%R=%QOwy8r66 zQ@Q{W)&Adp5&&bv03A4rIb90?27CYj+(g#8bpRNm00d}7ssF|RnMVKz5lmnG*8l_` z003DrL0KkKS^V@2F#rtx2Z@dvvRZ%oC-OU}gRi3Aox^H(< z&UakO+Bcih_j|=VyUe?~-LyFHhj$uh8HL!>w_Cisl^SSUUaWVwjoY5(4NpP@XwU*; z6IArdXc}Y?Ab^b$W>ob(O$;=`L=s`8227r(sF?stdPso+Ddv>$srniSfrf@mfsu$Y zGH7XmA|OPV)b%wyjZX;3N-_8Q^oqoF)@P63E6qeP?M1eya>1C1b6{Y?=fS;>&$#_R zC7R+_^xrG64aW-_?11pG0{8*o!j`)1$`D64^jv^8fSLG`mG1rch{szu_Z7jpfpw4j zvroaR`)_{JyiwMUoU#W59UvSHx7q2oUneo*n>cTcN%C@cU|Cxc*7G8{UyUOmhipE%>Urgs7kkGT?}>IOLPoFkbuG5rMijKH{Znf z`jB;HY%jjIGg}Z9-eX@6p!x9otcSiw^?wf{&@C2iYWE! zPZSP65vQLPyR^vVR3w7D^RFanGhM=WhO z!KKx&ECZ0rv?C@5+ef1ps{rEBEL)hqSR=_OuFU{GacK8yttRnGjVLW!MSQU&p@VY3 zL~6wXA%b6w7bFZp;4uQI|AT0Kn(Wa%;ZCP;xppa*KJfH48#qs|*nB30fiByn=Upn(gP% z>xj_~%sVUzM;qXk>d?FQap8;9Zm?+g9AP)^lrSkgcMt}7!$!SY>L%@dCKi&1^hz~C zKAKJyufcu7`;N{~HnuTQf#d91SG;W4l z#0ZJ;C<{XIZHq$u<{3k^f2N6WKgNCh5ocdp%>kwR1TLv2p`&}Fn!*0$LH;y^-HkZQ ztOlyv`yv=qkUhh*zc|Gr3yK1z92)q2v+vO7mdCfuYzgBP{72)EIA#0?+$KpKHjQs+ z(V1oQ_=&=fri6^4;!XS7HR2`*1PER7XyX>Vk3>Z92nir{eIUUX+@lJX7-8EYMk%b^ zZ6cv2CTYQiqUA)yA6a3BuqCZ{=zTv4^e&ov>SaQBhg-&w@dvU@624UMn}P}AdoEw7 z=X5qi?FX&#aR)v-9mNZc?*zL!Imn8l?9>{q7=o1~L#q)M;RVALss$BDm1$OsNUyt8 z5VVw`h(<_?DMD5=EAF3+=jHum#`8L9vx6*{g_Y1l1=yk>I>R81+fR8GTCSYR1{g90 zq>_?50)#0jCRd+azwz!I@{ZQ00^qmeg#2h9zu;dVL%#+J54sRSkrApyR6(Hh8cW|e zTW~-W!-R$4@Ea>YGhz?q3!_HFG<-n|pw5?2%>!n16$Xt5GRVZMxB`4jYU^%aoL7hD z8Us%7onaHRUn#;CS=(BNy{wVV}^T?_hsP~ zRlJ7PPr$Ya)$oXX3sD#(oMF`a+t}0#%k)QD$o_8QasLn@4D%HiFt&5qQb_t2Pe+ih z1nfh+Ks(GF#AKeJo&8bR0lz7L3&70t!fVd0BUBvhbWkL*j*u~oc)sFyaK5KyJiUQ* z*7Tw8QJfSw78XGnff2W(aSjU4R2lATXJaw0ekUE3*7bwJ1Gc8{FRT{=-&qIh^kH#? zgnLdmLsWvpRQKrwv5airxfeWSaltD!vxp+W<|?yNh2U~=HEij@1ivDeqzK&01l&(f zLQ4T_iiK6Zkx)qFx2S;Nc##!{d|QYaixtxMpl;ol@d@ikakx=9R<`ale-EK%uQzofvrN zwyKUGeS2VYZso`g)-{u|krZ@c$Vy@pNOLV`2dQp7`Ves5xZ4+^k`6(U$Xoo)M4cMx z5Xb8B$^~|bX&D^+P?Yg|&&};Evwl*WCdi@mm!!`uOKrR8^B>#gm>MKQYn-|SK9iY; zJ0uGq%scR!i2Z_v|8KtKe-AZowTDPoGmOH|6pu*(5a#mFht`{E(Iq3?VcR<1Vj4(C zx0L>pBu!?cc}(@!&Lnx1Nn!>rjnhFHjp6@NjD%50dJ`05!SY8X5`OJonBu+&c~<-W z|CsbNQHYyyF@;CpZ=D3aB+;g;-qBx9@1?3XwfcmE%LSXPKWUZ>8y_~ItFdh7i9%oI zCi-B7v}R5Qc$hB4DzQi~Wl8=u!f&(61q5DOcn>s$2$_dSuJrX(vUNVOTPDjJLr&VR zu>KlW!7`U=pt`677XedYVk%#hK@hI~G>K_7?O^AwYP$p}hGZd>ZsNo#E6w!c9Mgun zr5CpM!d(seO}Cn>;GL%2mJ?wQMW3;P&Njk8jTWLljRHX=Mrz%8t3^FZ7-(}3VYYhr z<2rQ>!SUe@b@;=PP#BknsKe5~vu@NUA-F&tBsA#-(Pf)~NLCLr8w%XmYQ#hkPYpus z5+~J?k3p;*A+kV9qa(Ty5Sg=)A2uz1UrD+bIn< zyodtbX~KoGMbL~;fi!FmJN-cnC~r3%iR0bgg=WWQwd3lZd6{k0fLFc?(X6U^X__#Jo6>t&%my zAaYe|W?`diI-AitEps~@-mG}bb-P*wi3&BOssK$ATC5uh3|*+u#!v8)J&xE1PxcA` zM~zq{jO(=F^#nwONMJm!X5yFXbw51j9&>gSN;2b2;->vV|dH+_sW`rhQhaTT78EUrGc+(tdy2GXWvCDjo=sB!|yc&_x0^Ix;0!1T>u3*?8p#K1=y1 z?#$I5%=40!LqQjCixqB>VAY`ksV!hS5FBE|fO~}P1--CLgk^Pg#uhh6EaRKS?C*HE z)dr%KLz*))@Um?aZm4pejZ@4H&rTHfFhM;c_`LeVSM_Hg^~M)@TPxTW{8=J4nMo4J zvMdqilS=c7aTQjzrl!wNk=Za|1bO^*cK*+dSmqERB+jnObZUyc6rLwG^nFZ5GoKmU z*{Cx~E_cpPS+=J7Xz7g2(yWLOM#dz-FRF(dJGcq2Wn=I7*hSFRF^POpT%mpt^oDQ$xj5;gMCcC;AuNk@}<=y$+qs`O5cYU`O}Pn;K(^M*eI zkzh0W%ys;puFhk7^+0bC=tnfPJi#Y|396vS*VXT#Kc+91-7L2pkkv##XuIY#G>q5_ zAC$?~zfk2c>@t&3gi<)hI-aDJEN{PCb%6Y+T2;j^@0*vSc{VXI*@ zxD`EmF!9?@Sulwc;FsVJf2*MIa5Yu>>28^+MzM>!|?lJlEE$R4A}lp`SMUHe+cD<_JE?h0Pcz-3|@K3%DS#B6O*E=89Z;&1D!Ocj zPn8Fsqa8aVdT0jRrzOtblMTM<`(eT%WL3P+U9h#13`D;wzT63)#m)XV`MM~8#}Twr zwIkOr=&TCBWn%Qs6u5{5zYvFdPZ!gXflFyvgz(-LBH{JPc4wyMHLUV)Ljt$sVHG71 z2q>??OgboZN!M(|19Uxn&GA?3^N|^D9~)Uqh==MDu@FhKP>$ot559V4ZZkH_IvLd) z<7(J8=pc#~L%4Q!U=Fg7B)B4YLiDEi(n=l!D7Qb& zulVaAMAY_|a8vqj*fJcUFZA-VFX~j*Z*Xf-SVKv5a9FZ7TO_q#oveJ6@@u)%UkN4< z+g6D$vk8ueG!MlXY+PbWImEB2xIDMzOjf6~9l57Eu&X~r#d;ql5l>!Q!y6=|1p>&y zPPo}a*W{cj{tK~r^9Lvs7Cl{53`K7R?xCzXL)|_Kp1ceY<6%PrQvir!4Ce=G+}n~T z3M@J=&350JySAL~21M%;&nH2gf;R;BuNlyG#G{y-j7#aAJLdLc)h#c14SuBhh8|n~Fk*_+ zsJaXTKdE1yX}t3`>V{G!5)SIc+L>lGy-5U18$Z8T;Y!*Q!+^z>eSqr8U@@Lzj{7#+ zmCIYDHg-z4-NS4&y7=NZnkc-GNeILW?RZQnw`qhnYke#6aa3Pq;;-gUOk3U%xkM8J zDIMgE-wxQrY)K*c&ja@QeqO98h+-TjY>lIW)h5e#7(L5Y^c{;NDlI4+fpoLj!7{}G z3(TfQQ*)Ok!D`~RV!XWr)cf@6PmeD>W@fpCTS3S|@&mLaUf)$Oz-j%EM1C{|yrfXF0Xc|a zVoFV}&g7T`i5*Do2NP!Pk`1m1jWj~y)}?-Z=!0TCjwGABycRB11rb-~D$OfYTu{)! zA>mJig3DNVg-O8&$4KMG`)i&ZbXER zSx$w!+3VDcFAP72n8Y(|0bMqx0%%c#JI$m*mUU1{O9C|;Z8)0kKzD(R+Bz0?8; zX$U~sV#;;6r4Pc+IbqAUbA}Z7%AJ4QgP((k(U0 zQzi)J=S)KM&2cp=hkex&1!8Tv{c}wP@GGFxYDj&>~KJm z5>bpd-y8MmtXP4dG{lbkCAUq#H=mn0eD40|Q@4Jzj!Fk8q>$x7?5@GcydZ~Y_<*RQ zSZ#%v^z=pwAhjqmZ6rZycyf^MdA?(N(6S_DJLLocGJ2YI($FngOs-lv5h(8P(;X0! zZFWt1I82HRh&7pJt}gm%v76hCi(rPv+SwY~BKfesMyWOO?_+1_czEPm@!`hxXGdX7 z&e-E8H?}f+PC=MsGcsepzFyxPdB!C?ygx7iWpfe8101vjT=5fvw$f}V3ElwlP1<8b$ zRItS0iMJzqEJ0}r6qr%>B510k2r>~H5o9w~F{{CD+gJo#^w%G+pnf1tmxcx}(kwlv z)Y@gHiV=#JGJr(a;kb&`h`wdR7*hSa_b=uDXN#MEa7O-S1T#Shgbc?f+ZeTxL02Jy z(-I^@cBSU(T3hB@rp7VO>mn^02~|9PTwy&OH3|lLZaV(gUEG)BchoU$vE?6+J())-T z*$t8m!|m<26$?$t>ipwZP#yH-&X1N_k5My``se(JN0b+1AVTeLG@nC-(>fPOFu$M>-(3uZ%S|e)m{I1eIel^G*4QLu4xQr9iK%( zDLd}o_zj=Lz38HTy5R5z*q6c5J04c?>81{W{UDJ}E}f}AxdgW^y&aozjC=ohlIWp- zF(Nm2n+>w{8^Deg9Gv5qqrMYc-t?8K^m01z3$eg{+mQj!fx@W!JT^2d!q=j*uWi~`{r5R5<2(AucXZ- zqtXNpoVL4jL>L?B@7*=&t`A&wxV)imfu)MBcM`_$SBkB@@6DwChG20DtjvhrBma@j zzkf{)ISyPj!&iCX`@GaZlWEdm%~8`9r6}(bn+R4!nnY3DyT6Q5m%6}M@QHS=qH7so zEY$?zFokeH zB8HsjYjhCTWD^?o#rb#|-UDb*X&UnWz4HO;wY9K$TTSS;-RNSkYD_=~ zp;H##yr@F61K$oLv}j(b>NR1aG^iYFt3bV4MKzm8HVYtPUk`3_Glr4=Xhv^I0_+N4 zy#9G!%ECFd)MeW8)!44jW@y__(ngTl7d9jfhK;yBBthk(%o4?;#3`4k7ATnh)$D}W z9NI-#k5`@$3vt(VV~k$Rwc-Td2C`=Ukw&n<7x+V6p%~aPAI2y5Ori`I!S6f#NhXh5 zLfC*|whEZ6&zH^gzt*-g)T+7hPTQ<;Frj{k0SQ90<-P>(c~M90vIrNJY|_IHe2B2c zjwXz=UUrK{v95G((!(i+8^kuKjF@XvTEn%N-_=r9VKEMvhxeUab_V@kjM<7bPMF%r zYOIP@sU+;zHmFvGf){MKQPIE)q8679#FdK#Ac*jygBvN2XB{{=8x69K)`J?TWdlZ! z4Fm7+o2gJffurd#?8J3s{{B+++9Ot*ZF@9BZRlJvHVdOhts|S&qxEP9*u#dgD`QSI z<&^4%w=|nab6I*S&_>?G?4$@3p$}Qv{t?K_{Lv_4{{N_qGh>mqbc+^QVfm6(Nik^B zozdb7a@+4uo}Zj*qkj1O_NC^Tk-LI$4X4iiB! z`7ue5zJypumdeXNs98((VFnQm0OSPydrh;tcnsJ1JG%)t*nwOUkTj|W67FP$G&w#V z5AO8z0mp)|Q0@67L1IQH+N-;zVmxcFd;4a#)4f|>n4;x+IdXgZm>E)@qp1L|9HH`1 zqDHubYI+;Dy0;SkI*NtX6c6!3fTt8eSi|!0NT2Vtew|69i=FSPh9cb^!(|*p(&@9F z$+I&KJUC(KK$m^Q*RHcQlZ78yQzQaWvqPpvaR@l6%(CE#yGkGz^@a2tHg-kj{1^~G z>WA_7n)^hVJ#_xjc@UvV*2yoGc^x2VE%RfNQv<}ieIHOpc0x_YhFzBJqDXT{bQ?`4?YKh>?6KLrU^n4M2Ne<9+V(7!{qp3=zN&qK4t19 zABgReB(=X;mare^-#{loHk&x!P?HBd*ufo41R{wcrLy2L4XDJzIzoRcW=oq_bH|7q zx-r&RgTv4@3%={!mdlL%n5{F-0hrj;GBa3Omdr|;rv=m0{pp+>JYqqi9lbwQQfLq4 zWCS?;eS$27)wL7jNv+PqESx*Cp67hvC{=~C`TlK6^(tky2F4GUC!>-f*Y0u6z3laj$_)NFMl(jZ6t>?NCJcsKx>osdzH6*znkFvIau zIY5cmD$Bp?7fYgJ0_~=xOtPDi!5}u^2Ero5&$b%(D1br_sxUJ&#rnOK`dDW9Pwi0_ zeAkZCPK2XybDDDkk_2dh(e68U%MkFYk&F34^YD(Dcf^>YVu>)(I%9tVv-dcI?)e(4vlCfPD%584e`if)Le zPYS5Jx9GRjO6L|R*m{_x!cR#s7dGG&co&oVyWS8^bz)YDW2>leW+u8KZ$RtmXF5fa z^lCMQR+IIn_c=O<{goN6))A{bt{R>Aoyfk(Q4ZF*opoaEcyYt7=MoJCfZ1RXZ5599 zrS>#n^i?LOLP+M}!vUf&xogaMqfJo~5HlwoRC{y0Xw~_yk1S5d5!R}xdXVI^lqFn4 zh*npX4bg4llY2o@8zZsNB;PpfVcY16LQHg=MRMQnXQ2+csp-xA@pgq+{P%pnJ+u2e z@yEu8(&_liSrMs}<)9R`PFXOEaY!ko*xPBLS1z>e7^bNSp;vaf$Ib9K;p8#>(L+Qc zKEsyUNh7ijZ)}N!OUqlgNOe;agWgVgj-Oyiv24fJGqc94VGpXg#;A;kvs zXe18Ry*`%bZ{yDUN5^BYFlzbF4>*UY^hI4h_zs3VpooXb{OmqEA?u{{^GcW<2o>M6 z=KS^Er~_~KkhO%buT%U5v3&(OrVh43fT5njCV+cXF7SK8lu;g$_KN6^=lv*4dhaSj zcB!{3-eN=iaKF>Wn-z*Xn)&xy5>b)xv{cS`Rvdg#`U$`N@p;7GUs&1fbas0{RR{_F z-LpO7=JFhFTnQmZ#0q?k%he2?JacR9w*R~5OpKl9)68!Fx)%fQ;HDU0LzEwSJZ~oa zAq;P^X?qI~FM$V`ZCM>$uv+5Cu|yr5Di4pAup*U|g|w!y?-lBt2mlZx*o4LTZVWDF zJ1-{zo5d7GZ*7V-|8TU%jl|R?dwk za3EsXi*6=c;jOHSP0YZX{=504n7Yg4Up$P;tFeSduXpnL3Qk}mG=IvzkOpxfd+x)M zaHTYhNJ0;>J2)w~@^MLs<~z&3FYCpr%t+NvJx(aW4}nS$qg~$z@1K3DdY*Q6b0^Tj z`U(8nV#$GihJOAD+c7kK1iGL+n#T!XS5e^?Ym z9Q>hI0HfAO)d>$JC@kc1)1~-y)Phv%(Ot~5@=AGx4k-M1d?!{aFWiCuTwMH?xhR#F z-n`2Yeg^{Ou8$j9+Slq-fU7P};)Wt!YRP32cUii$-Lii~{=chUngDMvcqGIogn{&d zauLXusB%RL3cA>P3VIHd|gb>d7_k;UuTZA2iUyxBI14y%#YKsCS{Gk4Za{-g0KM+TeP2jp3kl&~jn3NBca?jx9=!JD|bLA&H z0&^QGG^SGXA;qC26xLh_Z=|NC?z~>ez&DYT=Bq1a%c&1@RN$d$GMrIF{50x?D3*q$ z`4<+bWx_kQE!rD@4NAzF!1N*boOX0}ZFUk}$fKaO(54J=Do_vu^(sinv#i?}AG}eT zsKrIoc%qisb%^)1O-c}n0)hRCUBdURwPiA3;UeYz=N)K&dQ#h;R#lvPFJZ{Or>BD?4 zlEs~Dpkz3JkqBX)jSA{TehUd|3dEzdmzUJ+-YF0BPCq}=55&w7X7wWQE{M>r$Ip+h z54rWr>b%4eJ0+|6lJFqO9p09@$^n7a@2atJnmov@aG+8slnZMrD0`|1w^Nxk<1JZt z>5GSln9NG=vx^Z2B~V1}UR)?pf?B;(2QXP)b$w9fTkQud_!Y~*vMj2w-Sa=VjLv_| z-pf?(?9C+k@W<H*?!``qjU?=8r4RIx-0JRt#I9l19k0P9+7J1I5AG@(GIaF zD<{Q_#?L=_dRvVd0^)iu!Sm?{@Pj0P2hcTB>MQf@i%QWldAersgL^#qL3=$+Ht0Qb z#l3Bih{)M3G&4j%ebkGOhX|t~mlq2T`|cm3okQ+i99snO+*M4!`D=Bua$6pdQhzbN z1*-05dZVSI2iSE|3yg=>>|PVIjzXV)qP0hhT(a@W_amYDEv^Esj3^IDBrr zXQTbvgr~iIZa=InvoWmGI*i4L>OgFrYKoAOUCgz1uaW}+F?U`7HihJk_- z!Zu=Q>p4<&R~Dq9zsFE*S!YU24P(!JZmuf($L2C)hjA|xzS1J7b0fB_zLLZV0<@P1 z-1RUBhw(BeWKkuQnG-hNuJ-^03vpotS?w>uNbj@82|q7UGDKnSrQdT}D2 z8&V0R%QCkv#X>UE31UyUqcM&I&9NjV={B%yipr zD^yr2Ru7YEz;%70KLKRMBtm5hYK?Ab+i}rcmrpZ1cq)V@P}8}uE86K{ss$`zAm%_$ zTnK0q03KRjGYxtj$vW6$mMKM|dpe=O(-^FlP!$Oh(re^zc9fwkLSz1XN>XUCOliXb z+{qKOQnZFb@?`n$&DMw(X0*cu2N3tR9Zungf!VR=Z1%Ks@XXShz_t@AK8npSBl)0M zQUM6lqWIb}l0QI2wja=p9HD7jUlgfGJt0I<4QQlnGGufyarStWj z^wpi8ZT^=OQ%!uA!k|rSo2LhaMErPJ=L{o;lt?^~N^zoA#33m5!C}M(tp;Zyn_WxJ z_cebuIkeCV3dOPlAaBBIAO|mTByrUq)oo)|;(=su8AK#l^n{IpnH2+)=d%LQI zs%fX5{rXr-GH*T+q63cp^tv#Pg`K^oiZ&EUy3Tx&n_{_fXjGi>F>3`{95q~Up0w$( zm%+AyQo0emg_1jx&r-vj-)vr+u31Yf29nq!5Mia83?(gL_r)cF^oD>G^@Td#{8cJ5 zA~D5LN`%5!mmA{NiNLvPamfu$x#*ylKc}ZNSX|OpP@)17OC)tDIc+WS*DmK<522y* zf|#cihU%my+5A3xKotTj9F$QK!b#j4XN6$Ea%f#Nl4gxO?9mkxBT!Do>VOb?U1dNb z<@TOtJ!6@E25=`5*Pn;dEn~@bQkx6liBd=Jc}uL?kO2_I4`Fm5DZuATB`azs#F(jD1t*c-9$PDc(m*dYrsQDQHuu{%IrTyW27bErzRmTV}RRDmJbeEs)x zeCAS$nFQ<&efhw5gz-mBGr6qlWQxG4OnZ=Hp9-nrMWB!)?L#5NEg|6{@qv0aE&(GV z?W)f8bSgYFIjqicJ7Hd(5`YLKz^iGRrx`+0kaQ}P5h8M$8&nD%eVaLmbj4moWdzD~ zsG=w!a+y6JST4O3HYkp%k_~59BQ;NiG->dHaD|D+9tXaddj&y4pOz}Wn5wum2Kmc0NDUFo;qL4fLIfXniK6@9M5}g%YgrS^ zT3i&kY-3by_MQv37yLIZG0=q8_Enke`hy(IA;|}S4s{@(2W+aLSA(k>K8q)>IGt~% z&;n>!W|`6X!pA~L?TMih*75>Rqlt&eh%=gS9cta7X42HHeA6vRB4I*knn$zq-TFq< z=h|Q5KO*`7$WlNC{8)l2r|#IKY6a@$OIC)b@RN-RXW``;N8Dnvh)qFxjMD&pXGbwI z&DA*eM3HqE0udCu48#*zBbUPJZ1eq`oKM2wHr^n*;u-iL*ec~2D2%m4C2EVCWb+U~ZQ#34Dd>sn0@X_u1i=|f1Oy)_9-qd0?+^Mdozm)0*!$BD zQfHoD!_BH^=C9W-KZYk#HG8B9v`I`zl8`}Ca-DqjHTqI30Z(7xyP>S{%}BAgdIjCA zi7yC4r!J9UzgJ<#f@t3-5cH~069M`DIFW=&!tUKeF%*8c8cP>o3{U$P{PngMv8-#3 zF4qDxl)od)LsDp+3*)_6VWO)-YRX+_#d(S8X5=E8SURL&(8ik8yrQNrMk>%!of#`t znwF{#3po*2t#yWkacf0I85Z|S&vu%|6V1%7TxwP&1V=kCNks5oxK|Mq zZ`G}6W-SrOwN)#b#VwI%R;5#Ps-JPr3|(1oDa_7i&0w#MUa^^0yfj>pc7&L3VNIuR`sg2Z>`k32m--2J&Q-Y6WBk6zi|i^h|$)I7$jhp5K<_<`+<^`#?4Of3RRKSGRqZLcPB+>WhWSd0jNX$ufH z@UV5}1~2n_arkt`w>lsad(Q5cS6WHDUq> zAwG6&UZ*;TDiQ}q5DWC@MrsgTLH*Q@xzo8(j6qz^6Ipx(;zzdJ=qKTvC6BIxu^6$c@ zMuN{Iw}1t>Zs8WV&PT(F`rI@Ls4rHHY<^k87a zOvF)z6tk`6%MU^eP_)R1j6HhWXLWFRomGOv8yZ%KGir7$h?OpiJgSDR41obc_6?HM zrGgTau|y=wV>pf6ttcSZSfWf#4X0+<5keT&v2qRM%nF#%GQpQea_<5xP*T&=iv)_< z$fdoJTA@k~&w<~PL zM%r7%>eH)AWI+JNlp$g4h}7OV?BjUZXju@cFI5dGRFDXi(jsNVBvf0Yg9?3OWeS@# z*2$hI2!RyhnzgDhSXkO<960!m2M%n3YrwkQ(S;gWs$+XC-P&{K69@tYu-9w)iFIOS zCt75_{ zXWg|Wp=x*QKFC~YV@K7$dP#ek|1Kgxh#-WTBn<_^=gYV`BPNdBzli5X0uYAMQ1oz@ zSR}RTm!zt*tWE*8MoPnsw_!XffJsUa;RCU1EGvcS;k4@r@^@&LQ{&!PHIOtzecaZL zp*M2dJW70bfc75ihY7s*c=6aHm&X&aisP&_d7g}eW)f#AqMU-t)b)7PxV<{OBB zh0zH_kb@@4tMymvr}`NRRZ3DD+<-Iz>Ju~VdYmpt&q{XZa0j8%LZwhR6H<$^S`DVi zG(IP52ImEXC$y74eQa07=!>FeCv(*0V+4YbvTZ5)bCj_OLdbi;@*hU6Gyopr_)N~$iLJ(yhiGKlnAG!-B9(KhZr_0fAZZv_HqKM`h1dQer7ENZN zcUf7I>4R7Y3?_zv9JU0(j5o+dUNX3*Qek5kN5qLlF9=Y=d2Pr6N{@M zu?oiaFP1FA&+X!a{m53Be>m|R185v98&ZTXo+!jhW+yEgVot1;%aoy34+e*6{Qrx& zBAh5lBM}fCfH6T?CR14{Nq74I72tRn|NsC0|9}Vp00ICY1OQ+lU;>rr#1v1hsi$7D zlbh*LeROpVPeKATX`l#+riy-~0j5C&1QCj9rYSv03^hG6LNZNEqr{)6hL2M~ z2A+`!LqHQjrh-jC2vUfOdrcb?s{hCeJaw4fbT5v_?0bMWWwI)U)EqtNrQ)F zDG41t?&s?d*7o_sE@HNCO1aw}(~3#4!u}%nE-TbJJGIpa=9rCeg)2 zdYwjC4j5^!E80_?`o#CSfA78$IdhLbanAf-Pi4+!{%NaxAtPfh4aB26Y}!L9k~X%{ z&a<(0)sld6!vYJ}C_Um(v%}tw<7HDEPZqWeu&iaUc@wf08d~*gPOG#F&TMqOv}`L( zMDv9L=yKpIGXe{D;Wp>FV{L92?Y!o@U)Cb~U10Dg8NOk;ShTTHIaHw~zR)QaL>e4% zf{i0?SUJFNg?wQ8N|Y!sDdP(5AbR>|cI|E2g4S-$^Va!|@`o8;FKh#xC&Z^21M1RS znp=+^(IcL63yU&k9b9vSS%@|6IBksP&UAqkW!DH@r#S`HoNhtSJz$U<1YL%VcbNnm zFc04lmW&M=4-I&2htoT`=F_Bp@_WI$dBCHz3cm7-=jDPv+E_HFC<|;wG7YQGk8Zlh zF1VrEYk+Q)%S^?4XGqk9@R!!-wi+;mNd2J`e0XLzOr;AkFp&OXJ0UwWHk^*0*cwLa zouC4bq&|K)QAx|LIuX^N^@szTeBxM!(2-UF_V}<^V!K=Xz#n_!J@35wN_bC5-#xPb zMfTgbU09A z6^6s*q!nuH5$@1#U?{95`IDunFHA5@BJC5SuGAJ^+(Xrce_%H>jhg;gcizmCSR+yt z(|S52p;m$S$JNR zn7&ct2NicDa3O6lbF+xun~36UEJF}15+s3IU*;3?N%e#9ZDQ*=J#ElCXlbBugT4-; zk`imm#KbHKW(v)T(;PIT$sWWY_d`N`X8+}tzFb++;H${At}I&UAiZ*8pPVbcOaIR~_~UV2RmKKKd3 z>K|;wJdfkC4K4k5t+c~}`hIHr5EDPt+waG#zi6617O;Bw#9!EC#3J7e8Fj>S_e3b0zkOPxo;fbii0Xh3e5_Vb034)^8PwO{8SU0rY5 z{b2a8C1W>;f0*8hjM-}~!^jgFwgo`n`pA8-0*e5@UkX+#KPx}Ks^FS>*9Vat)`x?|N{fn-9But+s-`i?D3*31n-eiHxwu z(3?saXEkVJb**NVX~IYXQ=*=BkeZ@OlahxBr8Dhzuv*O*Puyg~Y;P|V zno;wy>rZi*p=49LL4z`mWT}VgDq*&;O**G4Z|OM4iXcy)g&hvjHBLw#QR@d7k?25b zxQy<;97r6Ew1c-QemK%=(zcOD0)Gk&4rN_X>=8gO*856of(S_#b@$H4grzty`nmi)HlbWPL8Q~TK~6w2v?j_b?wNk{NnchPppm_ zMi?$FX2DB=#ij{$WN_Ol-;`?aSX5~&FjQ)$DLonrw3BA85N%#C&q`NBlI4+*dG4rl zY@sZQGCYM?2&#RTmiSe4g=p_$qZoKFtl!CTK5MJ5lQ|cZT!N10QR;Pw1?6H1L^&Du z_P37rebDKKllNs~2v8swD_C~~TeH3oGCMd@pok-GG@-{%mJfA-K?54hP4RN0t{SK?he?F7r_y-btjs0pBZ#^K5 zHh)cVXD81($Z3xf8=Gy6Jls$&ZiGLq*VAC|1 zLOi6~g?ERw$PXL-?E2(P5o}eQ33AOvhR^~85cMzQ5IO5@^Acweq*5Cg766DkOA*HI z=XqMl0S5`pf7M0^_2u&W_T^9m1%mC!kx!VWV`Fl!Nurv9Loy||ERDR=_VFh6L^HG@EwU_I)LmgII06Yege zEjgik1dg)m6zmY&No$d5*D^GJKpVB$X^Y|w>kuGW2(nx$nrFx@Qi7y`8H)|F6*pcS z4e^8)AVS1zh-#87*)*c@2Ih&l&Bs_1W;SNsIDNEDD#`7-E97-BG74+X=Pmc~vaYdHGeMnUX7^7x#Ky6YGr`z|{3d#P%VC;E zBFoVuLBOjHG%a6lMQn)|7yS~jQfdIywq7}OR`6x-W$hIbME_HL`fg0zf^AT5GwUJ4 z%K7rGQ(sB^p+r%0;@W8oZ|sPkaUIXCQ3u795xJgIGsb@}8&gkr!1|EFza!QBZ>Hww z>x*V-(HFLjf-WTp#C%1rjdmMH>sqGrPs8q7*P#45fj+dK{D#U}VXDNkRKdp;3Htkwf4v>oy<5Ycs= za}b=L^%qc1VN=c#Wmsj_81jm9c##&`!K^0)wB?P>%e$^{8m3x8vfy&=hJ=&|$b8zTm9Y>1N8s+=wxUMUrieL<-X%+<%p4-Brc2pw zsPI}ii!{TCgsfTvq+VP(B1?a^J-kfqDbUP`3qA93GvQ*T2rUB}oMJBV;Ac9E14c0l`84xr)B787;$N5z4}jSE=}U1NwyHE;vOqLl$CZ8f@W+?(lb221nOuO1y9Ymg=s(nlu1=^28VvuT+Up4WK zHjwd$BFIP&;j%*OW%v153kVk7Zp#r78O$dT1g48KRLNk05Oxq12}FW!McJ0}QO(e} z!0u5oc6@&DqubBv-O@U96s7`rxz#hwye0rxXGtVKB<$5CkzHqexKQ z-6q zJ8T`0(6b^^$!%Q-1_Z;bJB%jiS=@^=(Q%>R$-*A>punJwq-#l13UFs1;G9~9gd#FR zl4YscP^KSSJOV3{?%6>)36Dkkafb*ENqQcnJj)}zN7mjvSP8w7Jw22OJ$7ZRio6FC zZ)>OxIZOkS&d(-KDqWj7_r|k=BwlYauk#bbUPa_w62$Bh2IMBW2$B*(n(wxwdBN99 zS?u^>rPJCWg?iU&rK1gx{i?-bX=@gvN#{gNrxXnx1Fa{b)tv|%jNnj*Fc1(%4&$LM zgp4Xs9_{A_0;pw+RR!qm?R-0?4AR4E>ojysibvR;LQo*CN~yRAiPd zpqP%rW~lkzMYh%%Bk)8S zA&pW@)eTCLXXNawEF#D?rlAm9c#it*(uG}IER;jJtR{lq3s9(V`Y#pK$iW@KMSgeF z0*iZs`UiXLz~&vnB?-|~%IYpKW**`9oAgSM{l~bc$F*hH5CeXE#nx1C1I}Z1~Z=-7>~> zWW*s^Q?8SOoKtcpVK|na#QO`4V-0oY{Y6^cIon)}*#Z$n)P8_07t9G9%z^Aw6voYw zo7GS(?kCj59*H)3bBV?Ae-GlZqNZQwE!99tXU{9wws}x&8$nhF22q4Q%trC<^_-iT z9I{SDi!T^l5!&^G8tPFbe__DBh{Olv>=tnlh0sqxN54l(w{zB2LQI7Xpn8dP6j6Y5 z6t(FQ393&y^GpL)r~#4!t2Fk9_u(f(UTQ8zvV?PC@#}gWY>g&e_0vg5;?K6%#fLEH zHqZih<4+ap!g_&Mf86jy^g&_j(Jm~x=Q!&)sC_37PY*g$96s;ECXq5gND5T0wqjUR zz~S`tP?)h}p@n#X-r7HRQ`aL6{h02!Kd24Qy7XFlA)ujk%dJ)gf+e%Cww(DsHszGm zz_>QYXEQle^A;r*!y}1MQg%WF2z_(wmrN=%6F6_UM>a{0>nvZ_k+_7Bld!ZjuwYp!uW?fFy96cIuS_uWd?X79AEOi_(oeeAKvLVQWUvofv-F< zIz0<(`7&n8jo&S4_g&MoC5>$1Fl<+d1UxSefN`SwH`g>EuP8X!utk}@e@Hq9fKOK( z4|*0g;}cTW>M7mgzDFi(XLN zn%m#Db7RU~_{?#u#f;_xB5dH77_G8&k=Nc_Mv1|DS>%jywYZ2SZ=o|77y&?7nR6e6CQ4jAplzq~2#(n?27D4ZC8g1V4 zIg8NJ%YeWrOi5&;gHh`{#j(u&h2I_jJ(tz8UPmM|-{StJl<@p(t*%<~a?3xR&*8NC zzh;wglEv5y&1r{26P`&bPj=7v~#&G8!(%WvXE#8Hn zqDce`92G+GNOVL=jrA?~6}el+DMT%=E4e8{t~jMb6$leV;rK0Pp+`&1=t48sNS)RRBq%5F`+yK5#G4OgvzN z(X~glL1odci^|>sZ2@Yx_ULDf*d2pK<$9|6aV(Cc4Ku0&(aI{D!{s;@uzgzwopVP2 zIyL#ilPtqW?Fcuzy$*rZ^=J$+A}+_n*op}h)KERWcOZyd=sf;E2xkWQdg z@EDI~YQrx_87WvjFP%0Wd16_#tijU18 z7nfs{<)uL{^heN?T4f6oF&Go7cDWP+OZ!Ovo1Crq5EvlevQ0!jfj^Dg`L>S5%;7=YD4U)LhQW8vvt!*m2&G^ zlurL)dwvWeKM0Nf?i10|akaFC00}?2N_p!xAy9%e78miQf5%7@BWXw3=qqD0Dq2jb zT@4u>4l7c<%OQq9rl@th>x4%qQpjwG1&Ja8L^(6FhztoWdez5A(euwoZ+cUAWt6Wm zC$wa}C6Tlc=*VD%*mG^6ZgB9$Q@w`4#Q$BxIKr_Zu<6C+55oUbG!bl}M&gs>G6$3j zwSy-wC5R1%BwT0#>y)BdvI@Ui%w*af%e|qR1tz&>3@C;IrJbmWUzDtAO5y<#nQ35M zs7$^Gb+55ts8`#!g&5+U!Q4Q2A;}I_#lUnDMADND3RK_qH7KzdE?W%_*LM>EBoS$T z+RW0LRx;%c!(U8^?$opa@qSV(@8u$!UA{D*KJzT!5xJ$v=z2Dlxx5pIK6*O|Sq7sH z+h2N%pe1HOu$kJ3m<1?clNg2(oUF)6NC^qg0@e20whEUp^n#9;&YD(Qn?0ogEe)uR zrs6F^0|UT3v!jH~CfX9+cfOw_>=urk@Ob+S-(a7hhp?|{osar`Z*uEumzD&|O`stu zx*?4E+Ts<#U}-jDQx?J^7Z&4Xk)%Y`h8`Wpn}g;*=cg(%hALqBPW&`~pS-JsV!w8p zDb={%R%W8aq`?s|Ch<GBh6M_a3{q-Jf-EefD`@eb;Wj z<9mDC-*;}k_1n|y+@5>fRd>tpw(QRH!&A}#m_QRG^wUW+h{>iJoYmj$jX(w(Vi2a85YSAgHYjD z(xf2jkhQtI0Kx;TIb?=5OK-s7aiebF8r3tsB? zJ}I-~l3$bm{4l8)-5K!P3pb1IbVW=Xv(@=OKUY`{zRi}CgQ)HL%U3qS^v)vh;kq(= z*MB(sug!ekMCGk)y*1a2_UGJY?9&y|72~G2?-;fSltqc2Rz8kNJQvI*05Zs{A7rzWEehkh6HC0mi z)jD^2oqijA1YlJ++ifnWUxlZ1an+mak_WEvE|2pE{qHk zK^_p?fH=p~iA=rRAzAsung{lCPz;4@N*ZtL*#s zJ$1zHfI~KXFb-R_B+9E+aMHLW2y{YEweqr3a7hY63m_kMPHcvX`K1U$XOQq@43m>7 zkee`%y3r4Znh^Y?KHJqZWUXlE+6GBaf2t2Z6$8RU;U`sLABsHK55*AGgohrL4(Uvr zs~`p$C%Y*YLQ^IX@b;>K%`;`~t$-AO28_I_O&Cp3!WL@(Hg3pC%_KRevMFd*?Ltis zQ>T1F9MdG9NPgHrH+Uq`kUo&vkUdglkPVVWgom3C3D*@1K-G&S43IZt5Mo99r&UXg zhJLlOPhV<=Ob-kI;+}q#cZq~9uI3Wi7uAGP222bg%_%ozCW#L0G*(H`{Pfns9v*J~ zB=v6{TSE3JFA=5KrGjiHdc8{(Rd4RqNwNhb6oIa_4hRYplNOnVDB#*GJV3>~NJ^X? zB}<^IiyBNxe8yLk_9P2@(sMv94m{`$*b8Y%Z6cgoL1Z~HWG6(I&VXDnGeRsOPHgxY zt0d-v!9|cWKQwMRD6OgsB*;M3>V^GO_+-h1G-O#P1UNF1bV4lb&ykv^-|<`2lrkda zRFz)%uT(e&OWx>gprMNsvK45`JnF8h2GQK9Y`Db57`R))wYkIipjcs$_3%+naXX?S zkWuE-83iXKhCFxauAMz`>8;oAEV~uB@t!M|@(?68`^{rg?cI9tTSRSWH&+T)%Tf^8 zNpE*^s`WU=p5iw?(LElAox1uvDwh6{`}i|#FT##mRw%7t+?=8(USNxOUv*;0(Y~1S z*{e`MULl5Ur9Oa=6b#gBmVvz%qZ&6@Q`==Ji^yleObG*MB+~>5CO| zOQ^dFJZz*yX^3u{Kn5s~T=Z!llGqifb(a7@r+it0pBVDLvY%dKNaA~LiQ|DRZ17&* zGqI}b&?j(3nJ_DKBeC%)P#In25&Bq)wE&|>4M9N-`uU%{LkoqI%PK0!(~r|we|d9- z6i^gW@ZXH|s$Z~=c+GUU(VDZb)GW4a4u1oo)HSTPZsvUMD~ zi99^pWy&Owxm;E1h7Cz%WDsx?&uFY8Q5R@FS3$d=-iNaj?i&YqNwu)=3R^uOsP&YTGX5R(1kurtN&riI1m#$cbVB5~OZC90T1j}gL ziM!%ADseO@%jI3iScH9?`r(uwKx^phBQ{H6kIR7j2iQ~fvQ%KP`zz?Msc51LR)oTA zX0Fz1FDjx?j4t4={3gXQN^qW!BYxVEU_(LoI1=U!!TSz%3XBX zlYmUoO*@|%9t->cvY_SG#=aoJHCcBEK%zXnL) z;L{kZu2VG$&t(riE&U~8hbh)Lyb-cgip*DgyS)75)$;`_E*GaQL~8KlQ0&H_h*6n& zPCR@>fVI^4Y=%1eW1L-?FRAA$$rkmgvp{a-7{OsjG|Tw z(b~GW{VtM66gnF9;%=K=wF83-$Xs^ic{f-pQO7T=!^byQc*F@|S}_*FmJuj(#C>l+ zOoY26I|ZzFu?)@@HVApi*=u`6J&Rr_+y~3OEm@xc)N|j~YqOpvLPACEV+ca{p5DxM zTnr`Uq-TZD5uu-&r^x_G8ukjp%o_qXCOvvgjxEC=?z7He{@YY@{`Kxz5J(?pF3`z? zl>?NnrXXx!2k1rxww%86&gLhaw4+nui55tgOy>mg#Gh^Dk`!s3yX$r+}kNw zJ3{BX$ViO@H50!>YgEj(b*DC`UU=^DpxqR&qYaJrK_yZUCifwhHPD#c9`j(2KKtNk zRapQ}58Ho^ytf?m!){*Li6IC>p9!|zWX@Y5;rk4arNDOZ%%VKV;DH`RW%6|mGs;BD z+{VOMIL)}ey0}bBNTi51QOCz=qrnz?a?{v^`!-EMn+II_cMv!|thbiyoG``qxH-|X z_NBa9OGd(AaXVW=#l!_4iq{BSe7>B({Cr3>_ep4X$T1Q(x@e`~c)rEJ~ zr&!ioX3IDUiqWC5zF#8Oaz?C$t`G!`b;AeKMsX-<3u#s2!G^jP#&Crm*G?5Ghw{Wf zf5*VMnW9m}D6J`b-&hiCXeY|nc{K&$SdK?D(fEHj8LVi|*w)poHW-e4EoxCKDA+Kp z8FY$)e(y#J%UrT{R?S#IcfYB8s>gsq1oQI4Ko`p`l!h!v-!-q{3d@EelANf1gWE^u zXz~?5N42;1OI>vimsZrpK`Iooct9>Ema{~C{IONhP6X(l6bQw6x-i6X{*iYBUv?5!`amuNk>X0`WvIMU1p zW-RnX6wEDDA_iu@*q1TsS(dk()+7<>vnBsZSfqBp!-=kxnDjW+Fx4*;6C*Fkz+p`N zR~(FRD!FR@uqJFXk*1(-cSz&a!!cx!cF|;ORWdf@sY{v-NF7M;bxG-+^Me_Owk{D9 z2-R9*o7-uUXTrVnheT{d5gXPLaZODq()((yGbWlG27<-AZ(z=kgxB`$wh@DE9Yk@% z3`(tbB!TWwIh^{wCRQSp!OEoeAXH{!o493b8`wQB#A5ZlxPhkszwr8E!tNM=_6>8Y z5zgJ1RJ0S-Fx)CB*{O>~VY>Uo&z3EDay^%6a&<<5vE%S{u(y$LuTGJ~Gai1XHLpn? zjWB)fZ!cmymow~&f+nmO!acP{y4HdF`DV|e*z0<^Z!ZyP8MOmCashRtyHE^emo0T+ z=!|Q3FR#Xrmlgqn6dp)46j92G26jpmb;RYv6Vz+P8sn~*Hu<2TF83SIr~)&Z#KcBS z2pvd>`h2FnrSqBu?qsU9@yIutSd=vIFTS?X;F^-0CvJ@aO^CoQL};f*X|e_Q{+{$> zL_qok4C?nAnkZF6m+%&~3Vjeb^3|c>NyKQ8XrWeGyZm}+h3GM~aWlV7HDA_cjP&nT z!{f@Q7DL;`mPV*Lvm}f>@btvISE2@!Dw8HlL1Mv7x>1(6x=s;1u~(&eHl@^%Hb`d3 z8K7#JhfVANGhsBXYi2;O?r=H0oc`L59~&WlivXLT#>IB)a`C2mX>%cS>r(}V4jPC( z5ib0@c;BSs0+n3rN@s4HTZSk$U^-74vN5 zdDl4cO&{c@J9OcNApGcr^5fIV2B;OHVhvIYmTvwEM{T~i;$=yWn_PwPC=U#PV-*fo z)wSCF6Bw$QGKOfIv#RLc>OF{c7IG~`zTTSwwmmqRB>8Fy3ph5u{ zX^F7_z)Yvn#R8boOM_Y$aupRZa;Q#=7sbV_fokyg!U%z?Tx~4MU!+7ge+9=s2yuAs z;`3IoIAP4+N?SH%D+=w;O7p&39b9~x*5^$aZm?==%B`775q0j=*A@Jw*QY$r8geTQ zWb{klH}`G1Xf7^$7S0K^L|<0_`wfPf^Ih<~SM8oo%-!54-U1S{0o$i8??G~PDc{Ac zU1x`Y@NCIpJpMA|#chZV;v*X&na8$u)VvYU1{Ht+xsrF&V!{$+^^lrr zh!`yd5jIl%>Z$8wDnYlB)M~Z$XxB>RmxKJao+FHFkT$byf)D6}hRGzJiH zUI8Kyk0J(<;DC$Sm$~hCb72)Y{3z?#qm5{;t5=J2OK){?gL(<89j{x)&9ulw{2-}y z@wJ6S1io}y&}3^N+$sb2Z92yec}ra*2u<8N@^9%PQn6Sis$Bi#YNM`Z925t!-<SsKsnO}T?|uEA^X0?s7Qbrp zCre1`K^{;hlrF5x-)V}_5 zD=T(@fJ9s5@zOqZ%gXm7!3Uqz2N*vw?KP$|fx}6WF@5ZMTG+?pRGrlNY#}n&2VR=+VZXTJ& zLHX)1&JE4g50<(-n*{6Ijq0fk6i|^Zf&n{_nh_aj4syhqeDYiDs^Nf=1x+btLRq|N zk4~Me^!)hV__+F*(8@)1><|Yjw}eK7(6Y&gX!KLgyER?hCI}JM(h6;ezGi8smF)BZe(flEelZoAlx<#y7 z4Kl5)-Wd*;9H;aCNMCY;p4H85SSP%P_53|{-G(}MYElvz6Jt${_uGGnd(C?>pIttk zhMRoDw)%aayDZ8&C;CmEI(37VbLmm#?^*pMzO)ohGgqCAE z7GRT}>J1!-8AIR}g-Vbck`#$wNA=Pfqq)>zvyswhKw2gMC&E3ioK{dt%yPy6AdEs7 zK+|-9%}atH#fn*58Mg$Kpav9&mY@ysuTrA#QT69hrR)&h`FM8ZWO39DNe z=^a;miB!=EK&c$)qRJ@#6E;bjDFY@F753ik98^XnH|44InVw-& z(u}OxB!PF3<;OgiCEu2>#ZkJZ>3nXf$>@kRvB(WcWExZaA$YS<)`9h9apqfO@Uhrs z<^lqz;Ot<8kR(3Cn@S$ko)BE2L`zwu9H68IBFG_;fJl5Og!L(g*+dFvWe`$OtPiFc z7g6NW3bL7L*)ZTk>%ZpoS?G|Iz?bn_*=|N7nQ;s>M=$Tda%WH%VEGCC{R?pGGGnmRK%kirkTMDhZYrZzLSq}} zM~bED$~~)=l}}5elAOFyOGF5p0WI=%cTIF@-pz}RX5k^e-k7zkbz5&!SBaO3_QhGO z(c+V2nYuDfm~o}>*MN9%l(z@VZQZ|67NCbmpLUrh=KZINm1w??L!vd-_AXTNW zZi9dTQ`Mm%MDq~IaPK4tZ;fMgOS_s~Ml9oCk#0BvA>yQc^9(Qa@v&v;VySRdIb=O#|^1uUMldD|VL{LzOZe~aYyK|z+b z3s~$XB*jP!9(?(h2*Nv=Is7&~(w^gBogkSFJKw%)CfB_s1kS5`p~0j4A%oE3ku6TO zQxQaMV%mfDQ5Yf=RuNL!6M-M0!rT>`3I51af`}fxKL+>yKHj}KCPfcRk}b0SkB_>} z)@bt$+=qzjafN6M_=9Q8)?)jxi^FUdTUM+hT>9!;yeOuZZ-0Do_0nlJy(;+rM;?tO z&yhp~6eRs6Z~hE51oUeEbpy8{xmwoVeR4Ob95g?&U0)Y92V($GIGAPlqz2#TF2-_D z3-lOUKT`}i;bV|c^abZ05#hFB`=n;z~OMK2h_WP$j zcjL15Z;9)#`ID0;{zGO!=lJ%|5cPQFQhk%~2#HW{;<6__zWSte6iq(UMB02gU^K!5-L|NkLK0D%BtAK(J1@BjcF*I;LMRdt)w z9bgeldvl_#xwbAlZML(m9W*V5_V0Rwy}j=ahR*EhbmcakyKYo)l}%?F8(>_!i`F`} z;i>3A6F>+A(r*F@hw1T(Bf&L2a^Kp<^t zwmL&3QJs3LwpZZ0oU3E9BFz!!?0iNBxM>G-12aU(cSaqppBh8Ihu+!j6KNcB1Zpzk zvxNE>M=F666H!-TfzDNqPaQDfs>3^un(3v-In!=&ZBOg+ez@vF(}DAMzOxGD=bP!i z`B?dw#S_gheDTjIMOHG`Ccca%EYdo|6y>D!9YT2eTMY*jvfSaVkS>WWQ)-UNL1as=Pu!YDMm6rK+%Pw=2m{~cb^|o{zW1KXo zyfV(OmT5v}`R2L812r)<;&P02Q8<%LxUzm~{^UMHG6^Bcyxk7hmpJK7v%dKCy;fT1 zXXdT%>Y&c-m-cQaZGxe(lU??C$f4rB<1an<7=VDQV;aJ@3h1HG)-ggR;JEEN()i5^$j-zfV&;ge7fSDqN@XYawiOafIZ{&M z;`WE(JtK<3v1(O)BSNoi?T%zTk(YXSM4>|OfQU0KMSshVOQav1Z;j4A=?X;<0(pDZ$tWroE z9`+r{!IGg_11vmzDIwm3GLvRPPlidP^JFKltvWbDu!587#SM^HL-fdSKn$ctNKPz1 zs+dSl&uSgkg-IcnPa9<2kPk$VGK&uMQ1(C%G?Ex+qAH40#=xmQ5_hBz1XxIVB--N> znpd~%&@`-y0n|Z>Cwo#u_1)7Gl6SlZmz~3Hg3m@0_E4GpSbbb(&qV(o*GUz8QW`@I zVfMud)K2F4TpXwa7(;G!l5_ZM@j#==77+6W0)EPMj4&jrSWHHsZj-Og55wfnKbmXr zeib(Dv)LyEpS1W%<+1aKVe@Be4q%m@n^1?V(D$%8=HeiV$HImYXY~5mV^om`=}Jrp zFM52i79E!^aut*1GR}ItmYrD+`)9-XSF!MQia_M7HxL=^Lb6XrPPCWFqY;Ku51kH5 zlMhxCyS1kgw9Yw-na+(F24{<{XOSf(&*rAdHgIqo_J&`S}4pG-S7>G zgs;|+gOGr@$HF^pZ^EZBkt=Y0CK?C?rM!Fj=j`Uu)AZvaArsk#Nw7IV0fFPYjpf+1 zbdpQDAHCEAy3Yydv%&yD6#R;}@k8?6$no5V#Fyo{c)Pp3NIqhsPKMpi4Mjk|d8o#8 zR+Uuu+M(hic)6TH6!r)wE)pGMm7MbOgsF4?bnrKQu8Z7{DhF~s8-~E~<@n`gE*%UC zp_=+1j=kRr*gq2HK#oYx5B+nuBe3t(e$m!=F7J4mp@&8M>kF`qWGu`{dN5RdEe{wJ z13l`~JVDVTu4NLvJIS69%au^!v2=o<0BU(hR0m=gLPaGxo@9E{0e#|9?@Q-5m1XQS z0-|x8vJh&sTt7zoPqdl&F#2N<}`M*+YMN>xYw#_ zV2cT4Km^FSI;21v+E~2>ZCu@bN@p^SfxZFY>Z6FbV3dIO^nYj}sj@#?uNmSHyv{mR ztq8M8p%LOYz;a@V&^mo-?0XyG$!WsyOW#)x`CkgWyc7gr zCiOz99NS%OW4@;Q+TL-unY2*3k={^ZL1V~)V{f>%g-QT#R$}M_AB@0cN&c|lN-(5F zh$(kc%y@xBYNzmp5Xd0$N#CnvY($XMtA!c3SIPsXkvi*0%V>cTQuS;K=zwJ^DijxO z?Ik3uZE@jccKsx6xv&-!WLhG}uU=@ZMzMFNTz)tFW)^6%0E8XB$rzNZ)jSaDBO zr{kzV>PLaR95SfndUrUBKNSNoj1)RgLHI^3rX#tdbB-6AsIir=CO3Cs9z<`X&a#Cx zu7^FdQIkFCJ6L^`Fo2*&-)QcsPxl#d!GUB)g1~74xfY&a#~pKBQW8zxpHIz8_s!)V zrf{s8sQ3x44pp-z_E%r}@1@g>G}K1z$1M{hy4F==Xy+n`6Fk&a_rHI%EpPDb^UTNE z$$47lakwbAhAI{f?`uo?bqX(e%qoMTXDmG3xoSc;ME?@A#ejQyO8*d3w>ULQ2_!Ru zfVQ$A-=qAurFCLKo95xej0-_jgO;ibu5crkNAxn5aC9?Zy^E8S;EI;vAV>9)$6RW_ zdbQo5V1)wd12)*eAqhDKR6O`cMd&q~Eaa-kBeUU*Y_Ee72RGSUexrG^Kjl6RH`gp) z;f=T$K?Rw1g21Yk6!jP#*bs-WREyZ&w;g=QKjIF2BfH)~7DA*FcnG3J!`5jt1Q~eW z=BjWtov;YtC|m>79AlsCR#eVnStKmpieR`bh9baG=7mM}{9<4xM9lOmJ)U3Ly=D9k(MXUaZ~8`OC== zMhLo;XwGaN$SusRy_T_UEhWm(Z`hN zcfCArkvKY?ZCvN6z0vpMm#k56hBA^|D}5baZA1|sPm$`^fRfpm#Ck6Cba&nN1F6Gr z(i0Mg@(N&30uTb4hy?(oOR%dgCT+*bIJfWFWlvK7)3m62p?1%|etNQRy|m26E!%oH zD#2!4q?1O3JH}|i=ma&2hdus(^0R<&_(E&`KiB+e{{{<_0vGki{r3?V_hF9t*NNz0 z+tk}c@p=>`l*G2c!KM`T{m7AwT=*L*gJGBT)&vtdbaw;_jWj3`XAHw=N}6Q}vCO%a zUZkR<4x{0#$q@AeYq@}-Qqx$hzKKDC;eT_3?2uemp2R zOVBhKI720@F#07*2Cs9Ogu7^&%?^-X1!Ol6t{Xg?i$b8J1O#nCO3{FXnX-^^9qhWR zYm_yV0?iz;=&9A}MZUa!y&&v|7K`BukgXdfmAs($oWw}_ZdA>Kh!4>5C{eYosz@c> ziyd7Zf6m6B=U8x+RW@XBTE$W*qMPJO7#O0iM>@E#k0r&OdFNf)hnp*=NU}_^VLf~@ zoLq*br@N_ryY+8>tBdJc4YWjW!wwL`K-8**OU}^5T99NvrNc>!dfnktG--31;YNY&Av@OE_}8#TR*(qt87*mB_&n5U$J#@oR;v*t!+B znHjYL5dvji2=4YFlPIc@0HpqK&lSnhW{}YZ&e=vZXC#s7#B|!N%$bHVNu!2GO4>p@ zW@rckY&$g4BQqP$Yfl-}T4K(7{nhh_0~7SlQ9-|ptAt0q{3}pU7uPb+BG}!h1OesF zE+pow7JMdon@x@3#UV68i=fP|MTTu_n@}R{KFDY;=0&cF=QRry4$~LX(nx^CP5ex$ z4n%!+?gOE7ha&<#!9s_4)AfE4vB$?PH-lLPgjyyRK@^C=aV4MiThg)Q!EctVt4lPz zltPTl@WQ>3qIyNh|DJ#9;@A>#v_5?)@tU{K#MU?rFt+ik-YZkz{p<2EqkDAVAhet- zdZlgVoZg#z#8?K6|G4c)X`8FZ77rGH7`=~AE@nOY@Nt%*r~B#7U~YmH;4EORdSjT* z)R92HN5mYFCI4M2t*Af;1VvV&(E}l%*M!wGN!u0O-*3=_{CNJji4=Ve%Yd`9MVOP? zvHDC_-QnntWH*$q*zToxOn6oTNg~{cAl_K--NeWu5r=28M3cbggQL4gbB|ulkvKeU zx1|}s*WBwBti+o`6$f=uloP8!ZB(=#;wXR_e5IEWgB0g>Q_)1%47KUz!Y@*oye68dlXU1+d@qQ(4QO>)P`$XAVCJ@e+FT<|to8 zj4qgleNXyg(S~?J0=aG-8O(Y(1tTdC}XKp6E?wF9;0E0I{x61$0Q6{C6>F zPIVvMHHwWYr6W$(rAROM<^cl1hcPJn9tVSpot>*KOt#T!NhFhO;sGHz_Gyx(?c(l& zB?&lp9sPxs*Dgh45uQ>P2?uvgw&NOmrOOegiOp1mxd>D+5F`+URtBd!YsV`Kib*BU zl=ktwsolQ&tc+jnQbKD*1wQzC*NE`kF7$^u_Q~XWH#1E2%?`afXFIA!(8z+iyoKHC zfkuWrTSq&UYj@os7Bpr#{ zmM_Pe+)g#LcyW_#XE0+VF#5{7*szB*0)}jpd?U*y*5uvQ!^0SBd8*7V?tXk4J)91i-G&AuAbW_VU@16`BIVatxK;YAb|e=kd7M4pYylOZZZYjU~ZOung;PvK}bCRwqka9;~$;o z%sn36Mu=3y4-%+>ayKO7df{t8VAf@Q?X4{@h*B*_(A*_4SWPTyr9w6F^1k@g%TDHv z)g5-7EnN3h$wIlFB3B_oDB%Edzllu6mFrxmR~A}y%|=HYZ!nZral4WY>Ks)#m>B0= z!niAytf8fwo*`xxzcZ8twY{}<&38#|In{Y30s zgqI(QDhhfzeq5r0`)1GlmxD+hn^H=_MF1u0M2bjMN+ev^)=4P#A@FdY;e7eUNFyXN z`28C(ydlySS5gKtfI>y4_RB!H=T2^TQmW0%RuN)>6lT^O6CP@Q%+bX2&MiqYBGDdo zb3`PTM5aAlFV38{%#jg4sYg{gAbBo{b}c3-^JT&H=~GXC7yZ?)^ll9rqC~t2h(Lq{JjFoY1l{2} zcw##H=>fr!b~}p{BPK@%KKB{Mn$ZhN`EZkjAt6Y#Jug;*m7D21VyrF?EWEPwVYwxz zmkdT_$A?kcqqM~-ZR~ijCbW|zkywm>XOhBQGU9V;pIb^M2j$N;!xY1Oz12`OS|wYW z7lgD^_G;z<$0aHT{k!$6nnu)L8_F;~&8G?)kqkhAmgK=Gw1UngL~gF3o6Sm6Eo-{0 zc>0t@>1c|Gh4`JBLy=&EG&XI+9|aFp1B@`6?_0#hGC*0qA2xU0S`wE~5P>o8KE$DE=gCyuVm@YT)jc6JY#>;{P){R&AG}xQbEQ>N z78w5iJ3DwHafXcrAb9&}O}iVul}X*MSi9H1P3!Iv*jUlVQQ9>YuX^Twu8n2fC3bkpAvFi?oSnx!oar}imDM0)f0XkP9v0bU$56<=rEy3v=H zEg90@Yr^!2S6uok$RoPKX2uOGFHF5w( z|Lbbn4+Fr%#!p7xT%w;4>oUH@u5V>@r?2~4IpUzc&g53_G!{|cz7{9*8`mbU3Lao7 zu@rwnlR619Y+t;VvZDRtk}y!>4w?>I+x_Ta2QQVcAYquL|MboXQ1zuv1|ucCWvu%? z3Xt{Tc(nQhP5xF?0j)&#P|xoKik2ltg4eEdESq{D6INeA_g5K%+Tz*1WPuxVqcA-| z6Y+$DkKEnPUQ(X$bnD$%hm>;J)?>hxBdPr?DNLw8uUfxtT`YaN1*9A!N#;nS8&za?(yC`z!qvBy5b_+NvyJAcPK6p{ zV@o+d3!0bhW=InaODT;HOYME}4i67tEq<3LM5$i(q+y-Qe$_fA=G%kZzqQDu?bhrh zBbuBa?T01Vl=%P1kTJ*8fccmSyNbXKx=iB-zibt`?qwQ#Z?kR<=$4he? zw~otvBN9>}^%nvU6Z@lw2{wD6p0|14DEk>Pa`D-e61MNo(9bQzTE_(OVxG%G8FPE& zdb1y+A~H8c#!!55LISjWOJ@2Gq|Q%8T&rF)I5w@HO(lQjv)51VDy+P1 z{}Pe=cUOl_DfrcRnB2_6xj{YuEGbd&UpIan`cXv0a0n~wfB$j5cv|ZK$o>wN{~uie zAP)c#J{m$R3gDBzCo2u#n~1$HJyuog+#sx2XD$IH?fOwFM`&N6>cYsrxBb5S< z=m7klyEw7}0*o&--rf=WBTzWkxOc@xc5+w0Jj zefZV}(@xFUQK;yxl|{KfEq#D08vMuk0EizIz*K6wJ*)8Z-@i0O;#B#+!vmhj`R*!_ z(MR33k;E+}B1=>vMo}o8HzXt|Wxv(lht)&b>maiJ+b}bGH?P7%oN}*uDWkaeyh_qK zl+fQRtx@s+{%Rkwin;2|HDP&^rAg{hA?PsqBHz$cBw5g=^>DnV2${Q!jD|hSuA&us>DL zBS|kbA+io(G$ev%teuH&*6A~(yI#93jx+|Cf4B=pi+IbSY(;}UnfJGp&(6!h_R z%EG|3BFjw7&3)TpRukL2@1ZeaX2==&%dbHQSeoDa!UXKzg`hAWH2V(*oi6SxnEsoE zuH_9r_;+h5g&v>unP?R`n)P5jwG;dKYGR3D_@mJ6b~&%$(GM33AEFJerWkn8=d=+d zrBcn4X$!d`Q#;ZpwTizxvV+=S?iQ@3P3-b3C8v^=x(%X4ykjfxCj{^a>RK{0gd$|% z?_b*Y<tYL?-!pUO$By@E8yMfk;SHmu}zE%8*A1qQcBa1|rCc>3l(`d(onj#n!1 z&ev*nO|QWx4{!6H2mMf0tW)^1-luz!r*MBeY>gehZjVtl>)2(&)A%K@ZreM=ME+v< zjmp{EHo0hOjmzlsrxVZ6ZxlEB;bGI`Z*iY^KZAaGSd;F$Sp0f<1pGS+OZT+3DSXcK zky?{98TxHOV*QH~LAPt|`1Kx}>wUK}&RRujF~>x>YU0C+g&s4XY7&#g_Z0apRWQMa zjT62@GKsrP2K6+?;tG;?4Zs5EkB#G_)>9FzVayZ7`|CNL1dx6g~s~g6~_b!ugMFg=P`whMhx2l$P zd|dcCFTxik%)T75bSur`S_xY)qWp-4Ks6zDXaySVX5s3=hbqz6iIem=jg*@DN zq%0C_WuWv8Z!4~NS~hv{74&<({ysL2Ub3ex`lRixQq^Pv278no7{nLpaW*Kf+ab~y zK1Tkm48U2{kp%s?+B^A@zxFN>ukF{%Vj$6+ya~s`1f}lvozcost*W<-rv0Mo;v}(J z<%qI|@TcHizXOy;ii@u#>>P#OSx5yoct%vJj$1ge1w0k|bJDO>WdIWz4;=V6GePxJa}M zeZ!mAQ3~r zIasJ9eF_KPu{d*n8hrm|_(NW>j*^`2{M9_4YQo0rK$^j}g0sVJ$u!4Zr9L>+f(VSZH(wl|8N5BEf)$8bm2TjUpw_I`Vy)N2-J z*m6SaI^MdOKSB~kmywDh@DM z7vE^>5&{uUMu^e*I0YKxi-VW^L)>43QGvp!t-gs6xn{e%#{~}gOX**4bIEpfasHlO+H*9_n|BhI=};K(Ufh$#^=?t+wE$_6%C|cU9=K7( z$b%sqNc!&mNQ?wREvXtB(HqvlTA0)b@Cp;4neh?d%x>=&%*aqMlUKsPd7@fFHg+$*_+>794)kqMslXii4hH(rCd zZ++@;DAKK=dhb#h{q4u}48iKH&EH56OGIZhu!#~<$z?W=v)wKMBu?q7D(hI9O3|jR zj9;>J^hC7P<1 z&-EgpaoaZZjMLPbLBpWF2&99pIX>m{ufD;xVRYM_n8;zKs>TJzS4C1>pY4nt8uQ9jpXO52wu@Fr>^x?U-dF(Sr)i+|7d*6M& zm_7L#mJWLH`HR1AkOSAg4E%?cd%%w)^jBYTiYIj?z1q4xzBH z@6*E{(~70B>>OxzO~u{w4dExb)NEzYe4Ra^_g53X>gPj@k{sW@{#;`l@6@hbI~Z{WXPuRc9^jCsDH>k9V(r2H)lzbhMmbCD#O9EtM8AqFDG@`2bH zL-I*tkXlv}-;lmste!AOLP_zEoL<3Ra{j>kYPY8!XoO5Q(*ow;YB8J;#iURVW3!wd zix`ti-+gr-la^MM%re174N6{bIVsV5*A_Kpn>Vir!yaVW)C~-6y&ojm80Kj04}ZHk zlXhUhq?Rz4O@yxMiYa6>=v>)e<6}N3wY^`aw|?D$uRChuv&C=}*h*`RqrKkPiQ2j= z({sCLh2C|=i<%mI^tPhe$QLMvj-nHvenXEvE`@LrAH>=5YYUf>icxQ5XAfzWKSlas z5N2+ChoYY%JL9ouxxX)jdHrYXy5l`Et*{d?ytukw_fa;cyy}=2f0`Zb|E)i5&)ax+ zM?Cp!Su%MO8}?ju#M|PqG2bTm*f3Sd<A^Q2*?%wS5|274ZUSB{pN7!kN++U#&x# zYW*)p*Oh~zRkW4Iu!9PWPw7m=ZSaBh_4vCm;`b)%6{=m~uI1xZIt8a!RQ8h7(yQZ+ zdf8+jUFqET7*E>0$P@vu*ir@G)i7c4PU?Pl4V6r7GHQv>{7IhHx&NF0tx>A|28yA0 zWXkHc`(Q4x`SxlhppjFd996luI=s8%yCURz{UHHvK*4%FMxRkj9hNpvGbi<`@@77B zj`1S4_y*ygx2(2NB02A{#l3#056kS^XC6xM*XR|aAfs$XO4!xgfKAofTw`6)oj>&! zw#*J|%glmWBR^D@j>XcWRs>DQeV5(R)DkX<@eboZ(%<~Un~}$F-IT60jzq=c=P2S@QxB1qWGX7*L5;^9oX}5v zZnyRPxdfR^@Jj#6aa>jn?u3=THL;&7;8=okzGNDL^j_RW{s_374#|RydJqrj0uR*_ z-RxRVYNU4Fa<|IZXGmI5*rAkdF&r}w!TDPqbaOlQdnYFi|D0M{(z)MzY!qq-M*a-E zom_BNuxYQ$Fy>L?sZkT;vbX&2X^|DlKP9px#8vFXQGQN+ma0G zeTaV;q#Q@|#((9(!eStEX7uP;rz_6F09T~q%u3+8tLiOKvClEMfFG?qOdUu9XtxN_Vc7Jj;#A@bURfW%t73~ zpDh313ksek)&bzOo#Ouc@1LQ^R}=~$)Wye}JIu=*V7T-n(xL)Y*;gbik5D>hRAkI5 zX)(|di4p1BS69dbU<(V6%FJ5oX%GNTMH-d}MX46cqsU;>KX+C0DSw2oVkz;YBHHgm zph6N^+hzMX%Mfw&*DT^okhZD3E(E z-*-}(U_{oC8fm8Z@$^mLL2^CNi=m+3kZG_{Z0?s>{N#E*V5`%6hC|v3A|qXX+uDDj zrHYWG7v0lXq$r2cMb}_;uQ=l0>WajbWe+WBT(Y4_DALIx;jcVXiOx=tmq=TZ*XH)Z znCLWAeV=cy+jdKf??qaW-_eb#x3@S+0h$4L`sM2@iE6+(!>{ zC_N>zn8=;mQeczyGAQ>N029LhXso`T2OhNDHX(ZSrF7pe2*Wz!oYk5>*@o3!Q7)@3 zEKCFtY!H@4dqwH%*;5O>N~nuIvj&OZnwhF7>B9-MBHJkk7%NCY5P$SstN6f1t2fd# zn@wP~gWFp{X_y+?4pJPkE2Ekh{Y&vmt&*6MJf~RwuZQ|j-kZNcrBy26BGu-smXXG3(hu(01SY_&E>PWi6*P4EN4;b=*D{}ng#nCG}A znNA{l#DGm1?$^FiBRSY74yh*QVefAkc~2O=-pfDETv@zuCd!3Jlz+5Elv#$PHjQFn zABo#Uac9iaxb5`%`O5G^B1M%tUj3Kn0Sc0aeEIL0e!cYk8vwu`0r&#|tgHZc5qUNa z;|fu7+WtvWRnZ>NK<|DoYwb90wAD!^%3FS)?!wH)9qlykxc8qM{J-n}Yst3GX9)1< z{|5dAkN|KV^F^!x-B72BFxIL~9sM4+dEHH+IH8Z?;lmxe7+}omqlw;7XrrNg>P06O z7B;Z|@IS?j2u_;@(0>iKyUzCjC{_QLfcp2(zvqvY@1~kYZoL9!8J)8n)l#c$xQ{n^ zOiGFM-wAxXjUwg{8&>rT{h?-&4*HlZ`eMuZMgPUd6n6*7ta!x+wMvAU8IaiVLkB-5 z4^wZOT5DxEE5DSE5QM)giN2B z+rErjeS+wMB0fWQIs&23m6BNE_?4Y-Y1ygBaRD#^0NCQGgaQ_DDvKey*ix0)iUa@y zyUJs}3jkopAF=|W(P+U0DlIy|(j)|_7>Xwka3pxV06-5QCCDWRC3vg?@N;3YoIsUF zr)LEKKmj;{kH-KifNa76`6YG2)T6@mslPN{!53erk}N-|F4bZXb*cc}i&w-{J*i@e zJ(p8Lum;GJ>;6F&pJNoD8H$dIi8_lhRgaV%oTA5;0;3~XA2*NR@40;`aij^LIh8_f zq6v!|p4QS*R;}N#k-rg*J7I{bx5DzI*Jlp9t-s(UBTG1MV_CuTi(fb$Ziy$HIFG<< z)#QnOBDozUIE$fOW_S+jfHlxya&>cr+lUlX*%g<1sp_Y4#&I;`=&IC@pGH>8S7?`s zskyZ0wx;iLCEAm^N{SFNrO_*^iO_yGq04?RI~sENGQ&Ikq&<~QU+!jX;Kq3Z5G*w{ z`SGEoq+Jc?1$}L8YxHi2_g2M)Pj+Z%93gQt4Wy{f5K>JM8JS9%x0I3>48PL_# zG%F)jc$5_=fap|exO`+f7yL!DB%xGERoxHyD%_g%>)-1IYx$co^%OL?LdK(^SUw;a zWne=c4>FD`89@^d<}|r{lsxywoQ4Svpc76(h zgvUdMIhARM2~&TGQW&>%Nk1V(89SKgn@FC^Ld{9kgn(;eV<|FQFg?8qhYDROk~B(s zNysq#(@=#PF289p(yGaHIj&@8(9RP#v?Pk2(_u#)Fv%kZE3HDzEYm`Ewl!|3(W}J7 zHAUJSnK61EcpL|c9YW34If)(-ro2q9)tMdYiMBlSlP2IJP-zaXPLElyw*B*+UC7MN zAskKM*Npnc&nXqW`$9vaV^$=flE;CfB0j)y(cN(KmePq@bPTn+;UUDehN$RBcdF_- z9bp*{yp0KxeT~ujwt3B|oWzrdUgKP2a)YHqJ?u=jrmS=Ni`QORTn7TY6I0EszRpo= z*Pq2+S{7`Xsan*x^YF&S`BHD%uTa@`Ean;P%xDTt9GFDn=G_!tthCQF-PV6y!434x z8h$p`r1DdDZ251pk6Pjt*WrgQ8!l29|Kh!3lw|ok&Z+|JpKi<6lgA$+>bo~qzKfhn zk5~{`D6s|-Td2Y~;T7=llf{eyrb+1Yl}F#i4C)Nr!P5}^%Nvr{A{^VFxyZTgaAZyI z$;+8vUQ0Y%v$A1rucgV9_rvhj*Td&lR)u~tgR7@oZ;MYH&Ck6vMMarj?CyuAL^-0! z{D8V?PKgv|2CeOOS~9$cALC*qbmFFGWj9_7cBKh$*AE>x9oQp9`d}+3q9C!0$@iOE zKe!S1qvhe`u&6D`mL7a`>?Aw={;gM?#}U#v67WK4^1;KS{VVt9zfEst$+r7gtnBUi3;(EJsm|{S?*eFA zGX);XOJDO`jSDEydq1w0J|6bsae?l4&2vdKynP|0ETrD#7xsTX-yYwMB`1AW%6I4a zY^y#M6Y%!3S?C-E9iFx6YB^eORC?l7>_wxj)>djAc(GP;;_^=JSNPT9#qBrk0?Ulo zhj|3uPdl>ziND~sD`CZH0g*sLxoN>*HjsVNY)jM>j9FD_i-CG|x z7GFsb>vWQ`VB}VK6NlDR3SQ1SNZn5X_oyZ(T4rF9JcS284p>dG6pF%ee35X=y)q`HMlMUl?dHf4he z4KBf#*68||hJXr{NICeAxzgwP+d(4!uCn90Rp43G)0*nK*C*^JpE}7}Bm5PGCrw5* z0F*xnk#tq(6!^s9snniebHe-y1{Lf+Pqs4-GGxD4x}Ry+$g(n`5X;zfS$J@o%Mn9k z6dmNBrs((ndoyeCO18!j(Ds&3c*u|b#ew#L&ciS&{YTN8&-(u~-8@2P(tB2Qa6)NE zig_q;AFBV^*s=XX68R#PPT@gIhaRIGZ!S3|WIzfPp2l=S&bSr-ilPifabRN!cqSjT z*Pk_8`&Y=e`;f$&P<}AHfDfae664+iZ_{Rmg<-gZ3Rdh8Q^giT1qItE#n)$<@i^*P zmWmcdub-s_ZKY?A5z;)#<3|?!_)wFd^Yc zIRoMPsCg6oX!*KC+90HRlBQE9-3 z=K?}!bgh-ZobJ%JY3O#hSZrLTkjhNzRyC-Ya5nRqm7*LO4r7{jt_M?9z$Z-#r-8zWB4 zsX-{f95(TzLR;(@28nD}<2Dp`u`K#R3@)2FQaV<*R=V?00S3Jy-xWfUR3LC zD6lsuZ*a3shEGOy8Yaz5a|{E4tvL14c7&Yc(Nag05(GEN5Sh zo=}9!Yb8PkuVFubr11$3RHrrj6y@&+tl9B@>EsEmq2RJKvS1xs z&RJvVQgop*WKgA4Mh@n=DSonz?v&v=z zY%LIWG}rvx{P3SpkjN+ZZvafLLX;5RzHh$)~>~ z@Qfm~L($7trNcg9W+dr$F*Lo|v{%uAhah}NVUxC2Y=#0bQGegS%e%=ure!L3b}_kp zIy$;pP9?b3OU@6>uK_D=M&!7Q+8I4XYuFSC-sz9I?gK4Z@}MciRSz2ectjLNnAk9< z)RtyWVM80rsew?wl~^kV8M6{z%oaTuz03oPb=9r14o#@DMrYfZ5VH>Bflgzj+~euz zcIs+i;Ws?>?O^0_Q$~Age4Tq~4L%zoQKbYlHl^<1;?#k+gs>dszerC=F~UM=CMUaf zP|BL{X=eiz7pfqnQ4@Z+f`i5Qd!B@EEpFRU=@~8-Dcj&5dvXa*oofPF)kwW#y5xKkksH%s=p8~);K(`rEI>ccj#%w$UrDX#`8 zT0=#=tb%2dyC?mus?HeloSJsOs<9&=x#7-Vd_xmQ&tuW3BP~}j>svc8b&Dsl-wkyD z97-iav=>ba2tQ7~sXwcg9pYN2zT_)~mZD3lX{fK%Cv=9x)#IEZgl zBK25D^jS5`07g`p3hK< z<#p1LWX`huHWcW%A1;N^=SjT0BeF_8%ljS1+%GL_(_>b?2kuEa9G9(*!A&HUP?MI% zlu&OU^m}0qMZz>Yuhs-N{qPd5?N_f%MIfX2V$brdy{?~2T`m`om`ACPhzOSj7bDwl zW`H!F-wuTk_agT@sfo^9l-O<_;)Lp)i#gpf9|!}21VB`xC8#^M>b@WauFTzk+R;Fj)y(~Z9QFS_YOJzZoB%J45Fzg+IY2_<|z_&yFJu=+>BOQ zP=Z&8$%oa+pXXqf^yGZcI;cF9YSS_vGb2IuPB99h} zLTVoK*q(T-_JyMkh2`4S-Z7B1d*zQD!fBL~6S~t@N3n~GMdj4z2G&XaCzPh4tuB=O zc3eihRKNtafhtF}23T%lcw;j!L#eV`ZL%{hE**T)SiWI31|l3vuG zTEvg5p_7Mlzjm2M$~e~yw^dyziIM9|rHupd!?@RQE4o{vbW+~}ZFF!nit%az1)xxG z1wBR3aOsw}9;}%jtg_Sh+Ov{CkF%v2WJJiY1f?BUHd{;4prdbABdV!Ef_06%xvQ0x zgEjKozI<(MDrPoIPLlIT!K;8TWL7>MUwbM!?{QTQ9>AA2k#zh_@+K*Ud)HK zw`Qp4TsS?pQa=6DyKDc@z13Wd%W=zt`||2`K6JM5^woT|-I?!=4se#gR${gB#ivt4 zuBj(G)|0X+co%!6=j*T<`pzEd8#yoSs*Y`u{KGcP#4@F1H#bX>1$a&TJ@-z9Kkp}I z28+BlT9U!QoSf`~TX9HH>*f8tBs1!lM{7{W>lDFIY#BR9_p+^YHM`U7@=#dw-XQ>) z&yZo&0^`M?2Ls&dG0F9Uf~+Rw2K|9M3t@DlrP)esxk|G)cNZ7_@3)9+QjL~}tZN=- zzAEH0q@=4|aIOi8341oup|E20<)$2`cXVa$2va5YB^BIC3S`D|4vl@cX~TsQp&?l} z&0{n=z3VQW<)0HahFfPs$awud*cR};)~fb9)z1CfRrMT>I*=ZBKygL8F4BA@TJcAx zq`3H}X-|gJg%>3dKS9|q2C>a}%(fIOn1>yTWPgjCi6aaS9yK{Bw3r<4 z@19WSqK|zDDp)ulrC$h-eVYMxAgsX7QOZB*vFP42x48>9<$@v+tqs|JsQqo^N?( zOYN}t9(+{l0@w@zY2Uy>Bw#&6k-b-~-2E%ePZu{`JRf*jUz z_-E>pS_-OHW{phd31t0SvofPmptv%1Km%L|4UUy?#T^IWiG>)(Z)23`a(%p=VbHks z@nbo-##koYz|gzmTDXtF^bgsG*z`3ki|!BGwkS3_A!9m0GUL+l#ASU7Rp)L4)9}%j z7ccyx-@+;fq*>*m{CZC#_}nTAm`a)se%^1dS4yR4t;&aC;06TVc_Ii{pf&%VT9Be6Y8eXRw5QC)~io*?QiyC}@1Jh6RR0iF5~r&{RhfDO>D zp%Sa{`S^ox$5`nh)#&7jseB469ex4j8UJ(RZZwJ2h`NqAzJh@P^@ZfOmSi&--=oH7 z47!7fFqjcoNY^D|UrC(~g&a(A+>@s|uyWCw%0xs2wX%U(qm)U>Nv~{7!cM*ZyK`aXgCyee)EeSpawzUNDA!p+M)9jJi2AwFdG8mF?70? za4fTYELI61beU1hBGq@a-=%<=Rw&Ix+n20K_7`W$OvhC58=ohyHdU~NatuR0s`-pH zpEPXm-n{kb5QS%CLR!{HSg~12f5+bA(e_NLh6Cz_2f+J=NC@}4jvmsdlKu6=bo$ErsCVrS6 zy=O)fY#M>AZp)h7Be6ty!A`|2CZ8%8jfV*h%th1}qh8TZb{x6lsJ9mzb@1AtBVQ9) z(IwSE;A)aXK4ouREPS1#zZ1JPGv$u=bdZ4FnSFn|^!|LU(ku3Fr_XSfO<(rD116)4 z{?%6QGugUzfK|@(to8K|`hSe0x;2N=#WQK`%)*&Tk z@3-s>S1ztJmnYbuY3E_YIt(3avzL3GlNZnO7lUx05ARBTpSPRoN&}@ZWP6CuoXIwH zG>HDf0K^RkswP4~282T%V?eFl%iKO|H5DXC)N!Yn)xaOw z15{~A7zK8)kM$%c-e-RNj+Ea9YbAP2)4p|UH7mAFmS{nj3VqR*I5O4ncSUH|7cv;B z5^UNa;F529?yfG^B48PFCiydmTVf3aqHBF<-zbER+aj8Ldv69IgdqAZc5LaRPzRGiXNyvu58K5y{z8&Chy?> zs=8QOxgDZJY?`rQN&;q56W$1>BC6A7aozNJYf)DgP{rcnKrr?s#C%V3Xlj9nbuj)( zgP7y&YKmF3IQ~nUB|o)F8kHg(p77c&7cfLkXzLX-=L#JGA)g`>f9(6--qA8LV{?Jk zhDdX-)egt?aT7k~4kt=JG#T;j;@B3PuB*v9*YrNmGnb+NDGU`$6^j|LMQ30EMwC?1 zdHu$q<{@x-W8b#wae)$ToAiw52R>NrC*t25cq$^3gaV8_v6X4vLDP;8>l6Sy>CK`u ztdjY<3D8jCF<~-<`=vdQ1D7@;D=|K~FkrTk(7|HWQG)~=ftwgdf2_p4XdUhJQV8ye zsjkgSdkjg>Y5L3UVrU1&+4Ae@Mp)&sE>h!ClJfjbs(hDDKt@NCu>}Qjc3a9VK)7Rz zl}b!FS{zft8fJ`XCo$y;r>?Fd39!ZDG>f;y5aZ(}CkxcWBtabPIB`P5grhjP;8=fjZ7YFPVuR{nxPBtz^03d!RUX~u zuY?$2DLf>0a8Q0;be)=h>RZ{Yjtrv{HpDJ^oHEg#i%Y=5$_AIolIhb2VTHPAf^my1 zBR_|MM$nG0hTZ(N zMSs4h=T?gJv`oz3Vz?9_2-04jP#}ajS@S7HWj@mppS_TuR?*XVWCUh7<#N-IjA9JT z?9j@bl)43`W*UOCFiOMqbh(1OhL#qwP$Kpeix#(vA86|IdHR}NPqzei_;vn9Bjccm zB8VOQl4L^WdbraOf52=_vFX(OP8|1uUjhQ4>LJrR6)>3Qvp*Q)v zyKvhRt98Rv20Lz!EK=O?OP3>8&4S$xibD;;Pb+>=)woaD=+fvJTUQV+7#hm<8LVlO>kj**bEN{q*$~l(rQ_;OdT2O92^z!P)RZP#8|s zHFbJt#Jsw@L{>F!5-!6bp1uYn0xQx( z5ENI*(zN8zROKkYwQmdlW3`AZIV*>jiSR2IdS{F%8Q)cpW6N#(swwxg=M<|Am?s6P z!cfpo?#d%u*qu!I1*N#Dq6DHdzzetBEE)0?CTE1Z(8;s;F6y&bqCOla;@bu3QH5X* z#iuyFiYJJ6A3_&-s?>;lzQ=H7d`e-16PB4kz?YA}&DgNDlCL~f_`M9M@S)z^+JEf*60gf;S z9y94{%%}Ttt^&<70-KtOqJt&K`M48^xLqoUdswEZk&$*h(tux@jool%8BC&Cqj;}8 z(D!oV?RYYWD!dqLs$qUgLcdN2lSP9d4T@3s3Pe!S_hnHJx9JF65XwlrH9(<})^$AsQ>W!u2QOqHrr)-yC zjD9N6(qoL_cT(oz0<@y;gv->K=_Acg!(rw1PGEU~h6?bexw>g2?(ffu9`It01PPv8 zu*?1wgfk@$S1k-Vf(kpxl1r%eMCf@)z?EH0K(?i!9+T0)+_zY2k@xK~GtrV^Ed4Er zp2a4JO_sf9Vw2Gf;+;c|b2<03iktic&o?Y-TyI6Tx}`Tg@DV`hF_V+4`)WFO(OpDsDs zhFV3D6sB5=K0^rgZe=PZ*7#FyxK}jr8API$RZvKc=@;Lf(pcFx&gK)&2Uw}B@zV(^ zm21WVGvYXDN^Z=R=4yr(NiE;E;5I+h^bt|=h}+H)q(6?5ZHz6Z+UQk@w3x5)Sxbbfr-Fh&2sAJ6baIY`keM6g)~r*YtT< z&C_mBTH@endLH=xXf3GIvR>fpU7__zI=u#8zR=jtpA?g)u8=`nR)#W;zy3pNMAh1d zEc}Pm$bz}V0|0#wfH!wDcmyzjraUf(x2OOmrIU`{>sV31J$|lQc>3}J`HCnySM(8x zfS;zrUE~N5{pVFR*RekJdfUjFPp!Bei7!QlI_8pXa`Y7BL^Lr;m!}DBuhB7NoTBKK zrofkUM74JYlH`_USo2n;cDtzwrR?^1iIINkh@~4zj7K2M8J450RkSK?$#pY-zxiGt zQ^HgXu_|aFbj_}}l!(nDiXYMd$k~RC>B-bb=>$cv200c@&U}3zox8durhQ4C{9Udg z3qu?y#8f=t_r58bi)0}aNKWaPyh17`_HMc6DAae7)jXw10Y|}*eMn0(OVc=^MFBth zoq#~ea7eS-lnS-|B__K(h8aiFfru9;PI&Rxkgb{ynVCM|6ilDBuHtP!RA{S1n3M-`RFz zLZ+U^(ap4hak`pcBxzA=lQcQV6$z8xk#GmtX`;>5EX2}J4`srfl!aR)s z+7m(qVu|J(OKBnvO)rq_FeD^7>;Wfo3_n|4Uf|36Y>wL{e@IX!`=aNt*HLf63jD;l z&(U-hyR)H+lgOradEmZM=^pw@KbFuM439uy)1HXpxEFl}$3Dj42KbSP#)JPstXL2; z=i+_4*0 z>Wb`iXd$99V~IiaT!;Jgo}N@oPDl4%JhozrQ9T!Gt;iF|juid6yn$F=SR&kHpqhZ@ z$~~S~NGz0^<|xNil#9XB=c=ywAd07?kV2Ob9ic@}5bE@}*p80=BIzT-N7xY%7z)7U zK9Wzj79A|oq7q%6tf)SF6hF z;uHYIwbCL1WINFT@CWb*0Qd`z_!Vi6tl540! zoFahgIU;+}26+w$%(YPoXN1csV9|nvn~y^oG#QG>Mu^dql0tcm2YO>(=rYni`ME?M zA_6p+uZK)%`KX4k4cJEyPMethwn>h}OkI~6|CRv8;Ch1d-3UT?W)y@t)kD|21QxTA z{smIA0SbLzHg@i4GpO043#q!r=S7uCi$!E!PKuf_KMGplG>kn3>2g6% zg0C$Z-wEA#h7!sZYfjNRmQ0x9ko==1&1<|ugZlKrLqD4R3kjuSg(|>x#0``uxSC@{ z;39WG=wRHG$~1*k8v|L0XGC{@&6t4o=d`ODlCqvirrYv*DtJ$nP-_wmgXeJrZ3!Nl z<(8-*k>&>+siK6uhD4-=gm_|v`OxwK;Z z8E$QV!#V9MSi<5Hy_(>D2AnWYkq9ATr?@{xp;;Lt>Kq3Hwbx~RNI6r{-7w{i;*SbN z$eC+U*yjDahMmaCT|KMmj?)@flar~so(atFq4s4RM27}Vloh0wM_|Q4h%<6S+4oWc zLH11PsT-E`HW)V=qfFIaC|cQ-?q)=VpKV&gKvWRP0c|lL@tK+d+EW`ZGhum`4O+#g zQGZ{d)vHIi9;D>L*Kg&)FfJJifSwx z9!b?x%HvvdK#rPI=m@|G?4Ca-AY)G7LJ#uSt&s!BlcRDK9gT%??n=D~3rpL1J?TfD zHB~}d*SZeEQ!g}3f{G+eS+&R{);WXJ)&}@1CS>B(KpcckxXc%AY1X*zMzcDZK|{qA zx^$qOiECYiBZMAgHY9-YDS+5G!YKfPtdkb8(Yk+X%vx=E8^a}$vhb;9B?iT8X!DX~ zVA=j%p58RLm|oMcg5xp*_sTdUlR)?WW0fwf?r9{A+I&P~7?4$m`J>z5qCN8K+)Xo%=jXhF8DT|&Bzw0cDiY?!=FbMe4VUWPpqeS64{zGXxzHn(6PW6iJ4(T3uyQ)T z#`Nv$2$pai9PTAOs{FdEkH{CXEhOO+^H1KRxGRb{0@!@$O2S!oiJ1AuNm!!88Jyij z(_r|3xJM_&&Qxr?#g^?je)_PqA`ps~FupxAC{|OuLpYG`WfBKYwJ~%wc7pFHb8*Yn zK2d-)S#=*R>aQN7XVvwVKMN~n2<0C>y<4S05M&Ec#&U}EfD~7ek+y3CG=rK7r|$9V znQ{l61DiD2+L6U@=78dfPI0fJ55kn7__w!o-e4edn+Z%35w5(kcCl|3D1A2y16F>ZkFojWuNmk%r*=vmI~H|2Pc$1g7Jx5btn~veen^XX0^x zeh59kneplMgr8CBR}*a_!YBbv&AD%K}0W$U^(i&L+|R zjb*L-Rbw8tEmrsMRWI%17%;g~{@u(R2k73B#@WkcV+ief=pJL z269GpvpMA$*t;~BjpN8gCP^U)G8rJg`)<%eRep88A1At4r~fDl zUK`;dTC+P|(FBu_*(}IXbBv@kWOfouc;#Fmm|o%?v0e5(=OY(xuhglGrM!Cb7o}H8 zBp^lmxPlHk-gwJWSJphKjGhiHe7?sn9e2+rDF{h~Att>;qQ`}lh32PIz-jbSvt}lJ zphX2qQ~?Q+5=o6;;OBnS`Q6V$IYMj=>fQCc#Iq&BxH=L$l+KN%KAH7dl_U(Z!cbqm zIvKND{u}_{P!UXXE;?KKJ#Hgx$Lt~)X^Hc`uHPdC)EZ6KJpyzFg?f98nkUdLZvEdv zb{b@UWpnFe!#04KGfbPM&p5+n(-L%Af1@P|T-kCA1{wnsR_x4EMwtvXWWnE}(&M{+ zOU03aj=^yr1F#3mOltowt_LiJU^mR~4f*8DAQ;_{H^1{WFlJ%0tBJ>U05X{WtErKO z8+_DHeWc-Jlwpm{FmPW|vVg-IHo3uuNukLf@$xTPkyhlYt?c{?-<9q!v# zY>iMGIS&WnYxJ*}mHf6 ziKXwQ`w;)Dck`k%a{pf=ozU&NUv6>$IrT%N>PQkmSUHFNdj*)$2 zK?OMI$8cZ*Zbipeh?2V)(F6bnWd9_@7XG!M&24)|)(k3hynuJiD zYyU*#r>zEJh9^3S2r z?T%bdYTbH@s6h?ty>TRd~wB!E006mFB&%aCCk^|MH1p&To8&=50c zhDOV|HcXRfotQHmu()xojMKIqzM?RGr&EERRwhb}&e~7AwL3)m>r4&pcdGF*?K!joxxpmg5N}ThW0iut!`(E`A2f-tY{KLt(YCqpk6ye6^}@bt`LBSj9x8P5= zdmiay_VDf;r3NGPKU}$;&S-%|)Oi@EV3FF?FlSi1)#iFL&efZB2BR zHOWKgQa7uLkmI}^+^fBcqh}_6OjSw7(zh`d3n%`bMmA&a;#Aq^LOaO~eX-=VrrsV) zdDaGk=Uj~vrjq!mX$LDOg^J|nDON5kMnGDy)sR%q4e+2L+@`xdD+xIUeNe3EbLI)9 zOjl6-)6g=Nv6`aDGmyrQGvmP-=l3u#tIKPTfOuXNMF5DNk3*(sNjf z|6ZBKIw17;kRwp>?z@igRpKHd(bsi7cvumMke7mwWE4wyYW4T&n-vDT0p~ptuCAT* zvj(~pl&$S|IJPxSgt~Ob$)?ceK|UJfLVgztKw*!}(>qjscGY*+l0tj8Ldhg;J<)`Z zl=ic%GW@qHKs7ps$x1M}P6ixZ*3jH)o-!D3nh@V{jrfx%?PE;MQsuMZ>4a2pzPO_( zAro6FG`SN?lByr^IktLNLXeF{v~^{i+*)G9|1ujWI}eFC zOukplA}24cG5hn@?946+Xgz&-h*hoEpnpNWACDNi;yYjjSNs5>dhXJC=W@rd$&7+{ zCg3E+N3M-2soet8AWaI|wXi>nVUMqWI$!@D2S?Twu^XYO}J72UUwUE8r)A`v~ zqvYi|ie)~5u!?7)zVM$6?|{3)py*ADswL|YI!wV>yezZD?4>cF=Du{Wpy`U)Jvs`r zQ%p#5ms~CBP5rB~d}X(RSk8LhVQFxHp3$L$sC*H)MPC5GAl|TG6w8bvA6_GN+0O?ulT!?DZ+$51p(NG3(U^{F!#mj9LPdMO^zTK!3ZObedMBB zXVFi1@@ z*S&b?X`ul!06-v{Nhr+(rXnE;l4^RB$kR$}De3@YQYw0e)X?6j+Dw2n01{~;5SdDP zo+qLwsCt?npah8$WYl_Uc@x^Fqe--yXaGs5h>ZYE2-66sl*k6#kH(E7C!U|UG6dqf z;jKM)$Z4Kf{cT+~`QPhPzg#buH=Gf5%RKlCTQ3AJ3a9}fuk2)T$C{33Dq_5|dEz?# zTf8zfgquWS<(2PoIl;_+uAXv60gS60^2d&i9xqN&Yp4U|dT)-!RBPMH%lp?S;bEdf zGR@z8_x?m~2_+9rFxBKjPLl6xkrfCRp`fPV-?D%Ec2>EANVQ365$c05>!W70HajH-S*(X)^ z9j|&}D#@*VS>zUDb%4*t_Lu@bbijC5h4&`$V^@Y>ODNB8r-PY+k2jx%qK-GsP)?Bp z7{o)YB0-o?fcFq^&IILXZk{9log)E6u;Z$g&8K zSc=H8RDhuj<6D-J8j1ADKW`xjWI`&LWTrqoKIlw*`P|Ev1oU7--2#vUEbzbzd7yV> zhjfQgk{)cFUWq$DI#drNJraF0!?8JMWkC6Ay?M7jIX-&UE<15+Dh7}=!cXAAy1DaB z7EHQyLj3I04ephMmI)PoJ*>0Gg0F4Zu@8O}bHp_y@bEHr(T`8YwDw_|vs4~TqJ6!+>K}*grC%KGWbh3{JF@<8NesMGCc-BLs@v1w029Fp zG7{jS$10urxm8soqNzIHoj9pWkTk37_5U?ysR*>@%O4O$-?vq(dqY%~Th?M>A{f!P z6&5Pa*J`3Wh*`wN#kz?cr{UaU<0`mVQ5zcyg|21Gk0S$Gq_vGzwv}JW>t7A+=fRU{ z!{LF&wKb4zNSu%U(Z(|pQ!X~kMW68EJFGs#L2nGmRm8tRoi zdtL9n;k9}x9hj9e)595D7Sc&7RTx^)9de7`87$mwdQ?d1l#Uvo4k&HRxQHg2BF_0? z!gqGFi&N4P4XBm&WZdG?tQJV!NbbZZ59676Ar_wHf_#9q`zQX)I?Y!^|Qs!op zouC46fVIP3mT!5auWo7ar)NXo47Xh<8noJt^(=^QSnq{cB?hV5A2vNA);fwBty8d$ z7dq{Q&U7{w+u>M6G)9kQw-k|cwSRH`k!52b5gN4f1Yo#~tza^l*g z14a`rK2ew;$iptww3Ja?84&01ZEZXe8fuM_w!YeDCY~zrs$=3vL#EwGrA=h>Cs}iC zMQd5+amMi88S<=VaVtFPvo@te1g!(LaUnfI?jVV&c`qD{R@K%ymx^B+<51DYw%!pD zLARNSN}M9mo7mod-jxNVod-#-+Xapg#D?n!WkBQMQ!JInNbbynX!U*fChUYcD=9(T6@YuNF4Q3Z|ZT))5!Qqr)l31{6sWNd_ik z0jdbtEN?DE0deQ5_>-DIZzJ6*eb>3Dj& z;@C*nTQ!-8HX3xqvh7&w=LqCmYkg+g61SQY12J zLTrqnc>gNGamtnaATEnjEDENaX3L3yZLna&$g&-j_Vp`|>o>o3G_w1rFWI4>9QrrI-qqzz+AS=5DVtO}_m`5k*@hFZEx^ZoD>$)L7hL-K6@@{o~ z@jt4s*$D<6NS+E3@f1x`A_-A~Q%^j~L$%F=1_sJKTl0?wzT3N6j!>x|x8HYf;qQ4q zQ?`B)v&f;zB!*ZO{C;)m2`o1TV5Z76R@9!5S(qI9#|g?jL)B?nO;9gg^s~(-S*>5n zi`7thh{P3OW?MBBP%0<->MV{2QXlmLIc&_ll`SL%9$LL?*n(9ys*-{7ygz zOd8lT2m^SLb{)7G?w-mO{c^gZmfa=|gRM2JmlKkXjs$dWLkAD7T_Pczq~ZsxBL9VL zR^j(89_<{)r^wf}1^Z^gW~lmo4Z*&w22a6Io8DR#6DSo5Pt{d20q%jdwE`NOBoiEm zz3FcI(pwf`S%~u8GUPOzG3)Sr5!9UB$+B|4PnbpWt|pcq$8ikXpLg+|(@52>MRI$E zRG+l_YI!N(z-{JdpDN4w=V8Yc4HQL!ET)62OMi##Zv{U+tEIIe_qq(eq8enzx2>8; zR!XTD_Z)&@)xbWLPMNzCqKi~gM+)N92A$qnMczRmw&-`5D-+bMBU)iKC2d;4v9^uG ziBmM;7gmxQ{TNVV4!eAm#_-;)QF!aOJKE4Ija;&8RF#!s5>`pd9K76fMZ42Ocx=me znqXi+uqN<4429ZG6@V3(nR3*s@w5_p>xss}OkR?_!tK5V+d#@^gtIpX4BgXAl z4<-$yfl{A+5-yWXwYRV2RHb&j$F6lPj`MK92Pyx?EUHlnp`bM)9=ZDt5L>G4l*TvT zI4~8SU5(aJz1)-AP&Ijse+I_uF>_HFe6cB9abYe2|2`AoXM#wGsXd%; z){@yxE5*RFldg#5k8ts(T$altP)DGo(j029BPISLTulE-AC8g zcuDSo!W^)i$h}+;v7Lt*BIsh`XNc(5rNaTi2C%7hPs0sGV9%;g`?UQom#wqMjAu&DA|Q3&q#=Bp>lK6@{f)CQ=jJh8Y}&(5vP9Vemr4lob2v*62lL}epl5* zkz;hdyfw`U8}Aj;*sxH@hp(Q$@1B>q-GbXo$EPZR(JHrzqfMI-uA)4iD!t)H!q14$ zaS>k|`Mc35DV_KxyRb-HtFij2YB@;^9@JFA0)!yvK~}MY=?_G`+Km=gR42#X;4)GY ziTsukNd@`-UpH&t)KdN3_h(AmES;iJY5ky(X(b?G36(`AL5Iw6AvqqExK?vc+&dj| zy_MT-3415gaoiVBNptjpXz5qn?h+|D$WI}bx9MDr@F|GcJ!WiNxj5Mtb?;z2}%Fh_P#YlKP5-dWvT}ne06Z@A~ z*u)12YC;(*CS+k|ia3F_)Ig4QsSQ+1LZ;n6IN8^?mMb0otA7`IBVdRmNjh}T*L$Ir_I85J3+K>>-_+AjnO z0WMIXN$0I`SZ1`&iK;TDs;A06drKz3{3@#L<@xi{A<$kLEmAE-D&Ci!T#J7Uy!&sw z!B+j`_~DS-V`~@Wu9D$?(cqGHKzT2!SZ8WyvRUl=urUD;Q5&eK0pB4Q(>FP-;DZC% zUk6g=(T&8I8*?Lqx+DhG;Dm@qeo) zn~~RHsx&{<`_E$qxKO0}F(i6!=2pGz%>r3UsvGaVE;PVuuIQHpkapokKq=wW@D>0r zQVbn=>0|80*kuwN|Gvg07_JRoZ}q;sss%*dMcENTl>rbw^vGST*qoU{lCf?@EG85J zZJQ6h3-utT!Ya(kcoDMDMKyH?ywsf=dbO5sPv2m=8 zKc-ysI`})^K8xtt?UQSm`4-t|vErAFT#MjW)FKQ*rTS^zv05BdT5M;^?HS)VQXrXCVWvRkFlO1AEU9dy@t(6d*H1f*6ju0e zrE-!NDNHqTNnJbj4n6)Sempz%oHd>%k07QB2=%YM6} zMxBGs3qMlBH2_Ol&Cwmc9HAfw8C0@VSYD4T?4RWc={CWsVf130tg3f%>wicBlT|}j z(3FSrd^fRB?X4UupHDx=nH5c{2L>D}5aI^(=8*52#Yz%;)jfSNoE0-F2bvSv)$&3Y zr+Nbjq>&r-aZb8BnJ7zQ94T9^Ax2@NgMy_Xq>%`rqkj-Gh{x|lpAh~aV4mN7&ik~O z$HprL7-zcz{(LxnJt}RMsudByAF3J4U@n&bKR!W&*Hgnx&(2FUpx30whN~6<(G*UV z=@3E=de#3ZI)m{YQ5Odl4H4qH;NdT>+Gi&7Q9p7MK;BSKhD?kj#M5j;2=1+OQUR^i z0~jJ8l~41|;06e5%zvIfdB-UCUz^9*OmM@ROVk$r@L2lr$ONT=#j_ou2iR_t2tp*+ zPka3``0@X`0`=!1L{bqWA^o*S#w3#|I5Ev8VS%#ccjEb8Ntg^`&Nr^6hzkJ`APeaO zvPB3F0vKrfs@Y|1L1Up)GNqu5{*MTwhz#{?Nkl4Rh`hdB)GOO38urTw#dq7D`sv!D zuV&FTu2(tR@B7}fO1~WEOS&?|*wR#4Y#gju7{p~lv1Im{m{WJ`lT3+sMxEo5=o*o= z?;2(-J$VUnoM?+Z_^QlT<_Nq}`jQ|MSaG-nl1f`XFzsju$gLD<8#|zNK#*%A#@EV= z%gI&3e~vE4ZM^j@7@zmi;&+)fiNm{zRAQw~=A`hQ_;1Jd>yJCc73u;pMVR!(RUlnt z$t9zf!nK`{uHAydq@kY+U3bJWQ+Y|7$Kv8uG-(jkj^1Qhahf9Tns+C)qQcC&0w_ntYAdhY4$^Dj_wzvq|scZboU%L}^ zK)o=vIX}BMc!Xj?2TT;mk^E+=DM@wb`aS2t@6G6#0V=W%DuYGR&YB(fa{C}r?`Q*9 ziF+;*w3S1Vj)Yne5DtLI!ckg_6tE{hr3{oQ%A|Oz(kfx~7J@1x653Zf&!sa{a~-RE(7a)$@z@C8hEt_a8lFhzci z)IIXE!!Xc*6)vt;3zV3jG|aU`s>>3y=}Ib_hYA@ zcK564?YDgQV!PYB(DHNJyWe-S+%X_bnrH%vol>IWG15ZSz zgc>P{r>3T50MVe6Q4l0gN_*7PQh7|9Bmg2RXqsqGQzY`B+G;%200}h_5_%e^wI`~d zr>0dN(L)e$0jlB(PKe#!UPIA4r(`J)TkYOwqK9ZscaZh(+<#4vMr zfgkIYA|&T-d=cx2vE5=PPRvy0I4FD2KG8>f9V?_j#-k?NRgiPwGMmJ~7RM%jAE;+s zXen~hVH-lSt`zrit_!b=rqq3AJ<=Yw#1PHHPZQU)W#TQ*SVGWU`a$H zO?H4Yr=cEnopv2Fub%4>K9-|^ynM*vwFwY=>#k5%fWrn~I$8S0Oh~=Ypb|g~>vW@i zorbws3+ej^{o5?8VAj&T{b4;ho<;ZO2*TSr)6_r#@c%i@*`Y;^8;$LTHp-%|>_}C< zs(|q)UBz5G&kP@rNPP+SSL@0(S06c^ntE|2nsU{$6kcLE+$;?c#XL=Sijit)^aEP>gPWFds%2otgpHAqhG?1+x==>>L(8IUm)4P&HJLJ7`3$i5@G zz)`|fLNP#O2}qF-R6)p!1VbUQI>eyBmKJSnh{T5?kVqsz4ul=CMX5PTkWAFNV1gZ~ z89+3z%Xpn8{YH!!0uv+vSs3E!+X{z&LaFT@lbi>>{IYX_>+@CG{xUX;A5d(#&yvhB`2k{T$H^W5h16cQov{@I_JH)Vx8?fw~#5^;H{H;Hb55z*dzh*HXi2}qRR@g{zutqp)+L1_fIHN-#REktsD&(p~&?5oCP_`?zm@tw8Wr43x z=ibimURr>PNP92_1JdXe3ueqLN|J<#lmdZEWR`#$yzU4f`@l^i9ioQ`Bc#ZVE#4+@ z35uz8+GM8jH6(MYg^-M9``42&2AiAW5YdtwDjFefOQ2K)Sp#Gyz*z;5WGD>>_H|3m zMn4hYa-|?Eupto_`ST}Ra%*vn#r|JUZni|Fo^c)cqz0yBlur$U?vz;#j}o_jb)W`U3gi;E6~ z4o)6M9Q{1-wMhYW%-y>9^YdH$0vQq-0EUqfkg~!@+eG6BgQ3d&pi*e&0tKrq9D%(< zlLg%X(U9(*9Jm%IpK30Wf(A=9U|7lVRAh>%6a!2JWj^ghkd;<8?&`N*raaX^8fjW! z+vY99CWNV)z{25nQi~LVGw1P~WtQG>hPOiDCETfW8zo&a5}FYffM}|uSv|xkMkUdk zDUOVz=R&cHG!u)Lbyd;~IWp2|ROY%DP##nPh5%)T44bSQ%H&pf9V##4b(%SpT5b~G zlefIwSe<=S(j4ta9xqzj--)n$>#-3(*g=-cA$x8R*K6n7pDGTBT>-4SJn{GFMu1=3 zHC!6to6i1&XuVe_dywwka8#48_I+Or1Usq_=;{o7Dnhs+>5?1_Q;MDp8Z4R6IOqyz z#;Be*8wf5lqMsZSOcK(9K$4Mg6_=-9JKv3UlHIkf5?<>{vM?8F=&}~>+*5SHXC)*U ze`pW8xr_!9Nqxd1B^g%9y*u$(F@>vXL^K6+l}td2P^J&2?t5*P$>i_2A|X4ot+d{$ z)jyh`ltgO`Q3n)nj)`Fwc&(E}nR6CZsFYHIl|F8 zq|)%wbc|K%Jjj^*1CX4!<$mT$gct}DU#g_*KGX|Q4qh)Gon5^N{TpE)i?RmkKGAhh z{lIvD47@BJSzi=#+pScodsTwAsIAr5g{RX8Ynl-B-zDM2ba48l(KKO*At)E${B{CF z2uRrm&h_Uu>5;kL5aL55WcR81=VIrtwFSF5d2opZTz0T};}}$oO}E^n0R~!aJ~NG^ z=P4^R!K`s>C44&A9Tm#q_?%R{6eeS7W|$@>ru6Lzl4~oY(Ujquplx(TQ--FED7xm3 z$xl|i$>wDJa?6Q`oUMe`uG`?`7z&>mWzAuaJ;u&+`|!?%^^oD~ny)e&-)H!9r4SB8 z7!gP)10chi8?md~7JyPqP8fV$cw3+r6CR-s#dP_ zQg%h646gm8J0K(gZg*kvCn#rT-Ef*s;@i%)!XqD2#LA=F5prl{4|&wYim54#2xAl$ z^|RtXHw~PnNez=&5;fKIm?vm!s|d}pnP*Kccetf`CPHYVR&y>EEk+njJo%X6S&8MF zYl7TYkhA^1x6!%fjWlp|;MB~l{-5UY52{vM#JsYX0eiVIiCYM`9bAcSX=s($t3${` zEZuhp?1yA=zZ`Rss^H+&(}-wd zxgK5{dCB|q8BE^2(S;S97;b~tWvz=_HdRAU4+8o&If(}i7d7c0O1!}$ZvAUXtUqUP z6b8r}=VsH|M(mB`5We+HS9-&{ojO=>$ZU}AC%;N06aqv!&J7AyU|0C@^{zgxeMGX} zQGVUwZqtr*Y>?7hsm1Mk*7`Y}LCHYhzh5vK(X2N8=^n2wvNd74ebOIhb1?c3-X>7_ zO$GBo)J5IV-5hwHLF3we>leI{pVx`h12&72LsNhj zHfAe}p?tazX>hJ?p0TnWSW=;KoL(b)Fwd`LE^Wo_V( zk;WR3k)ir8>mc3G#t@Lfc3hr*K6AzIr<`{;{qrY#X8d2eg}bmz!@h!;uxe{)(*Ao( zQVa_cny#96?V->~!wr!Ucy|lM+)uk&@ZV8Tb@vVvgWuze>Y@t(r5!bGp}i#Sun^rp zmTBpa6Y3(A`W!aS5=)MTE}?-GpTOjFm?NF6Pka%Al|Qa#&ECLx)tcF!Yo#;sF3n+8 zN8j^#*=IL}mQ@j^k1Qk|Z_07$JS`TAV=JC2JA#m`<5b%r&~095K&BAYHG{Ts3uaFD zV3-)V#qqQ^ejHYPitOi);^|ko!nW$G$VHIJuA(o~7=*i$bg*11&-q!A-R}R)Kb*NX zufK(>)dCDT;)(=R`S4>|iN}*dPtx6Ep-sgr(>$|Y%McJAQ@4$LMk5Y)cOX^+`IV*BmUQKoQx8Kzla<4cKU+n8bR|_Z zCf}&Nipc1{4Y^3WNKckzlP>7W#2F#S3vIlP-2Ir1a!i@ieM6Y$(N94Jg$9VqErZ$9mvIetmjNZ(e#=j; z-&et#Sj^Lm=N~E~lD@XuqmM5+u?s+B^1wHH;-U$=UJY7(?>zXSgGA7VGJvZ-5X{ns z!9Jp?d)>`#8mud5oy8Sb%~)1RDd{@YtxZ3!5QCc9)zQf|oH7Lj*xK()>&ql-OOo+o zmS`f$3RHuCo^hROK-!IJwYE8!s@Gi#+Zma1l+%wU31U*&#(;*W9)PFBJ)7FY7(ikj zlfx&V{GB}6geUv+f2`FRutFM{q8Iyk*EqZKzd1eSqg!u)4mQ2kW)2M5o?GyfabGA6 zB4kaX+*N-`%9OzX`H5n?sRhwU3TYGrC@JS0bed-Jig1A3uf?i;MPF8d@j`}Tjb1sT z7tSm#U$b`dYluzQs}nR+QPfLRyma-#CwiwEce#h%=3Jylj2j|#36LBq!Gq$S<0V80-48Ugh3&9UFEsei znWv?xFlv{6H=ZxdojH6h?-N0bxof_`$?2^tDZVP4CB^za4XCyNnXvlGkb&A4`&V7uy(GiHoKz7uUlj>CxgJ0u56${4a-{LTQo}40e^ymh5CMXj4Cr z1b(7p21)4y-ERV#2z$Z<+v=PVRzZLm{Bft;8Z1DTnB^UnZ^yaJuhr9W6j5ES@kIdQ zkttXb*)qWFsKicxv*`7&wxo=qps$*ryivo)olD9?Iu$Q|nDjGr0$V~P^9vMDw9m+W zeS-@4)H?JT5NeJ}5JWK~3^7BVeEEnu)EZ6XZB?%xxTvf&ZXXj%Kv*E`mI(8qo0{~- zeeV-rKi+AX%OZPqpPQ!YW3>{{Q--D%iYl6*zqnxq3-qAKOJ~xkswQn@^Kas%49`9i z!{y;3)zxz~HY)NPZ_KK}Roh2_E*Z8`_)_vW_9Ud~nYP^+hCQPhyQgzsKD9cP;;U-$ z7*uGd;w2)IQeeRem$#x4!b$IFWZ-(|etxIZ$CB5#C(eNhu0)?>u$AAgh~Mv1%cW&^ z7@uN6+aT3caYoR4t4G2p?9t0fgLav%FZn@8OsXiPrbt)PRq~+vFP)GpN9xO#B^QTW zX0s);65D_AcO+AV2?*o<)?hI~Ste6iKOJ0|01uJ;0Du4g|NoF80N4;<79ark(e$22 zTzK%8b~RN;duxlj>N{$&tuD7j*lp7~a@|h!>)!V@bp=Pg=X*<5wXZX^z|%r#CYnt& z0;lA}(L@>nDTs+0AekC!dY+_uYG?o$83sTBh|pv*0|c5#h)pIHKOmZqQ}s_m00JbE zY3gcvCeogonru@|p#T9PAd#ktrb16C>9kEXJySr_R8I32{QU7RbGBRaRSWkv9SUDN z#aZ#D<%rIy;~8#1&$ zfDZz6y2${ER?kpUfg2ZoJO{QACF$U>@OyXo>GAe zz;m8ZOnXoVc?R5Q1?2)kM7#wYv!O$rk$AyO>{17e8%0P#k%y83EF zHNzN&xBz-5ELdV2Kr5yxj4LOS5+3ZFFmjU$5W56jAhv>G6$2=vp#%eO)8%Dt1Ah9( z7J`P(6{PJIIq{@f0pyT3@V*qn9g-@@C<_l4{fo!B3XzFnr(LkT#uF#tXFl{IVZ@KK^Hv)`oj>2Vhlc zsx8t^I!MQNT}@@tHDstQEenscgoce@HbBoj^8S0(EhC-Fv=+GQaSIhif1|7sje8TU;5s?v1pyedOX zC!&5H+Km^*tTUU@tkG_xw`91)#Oo04|3%YRHnfs&a)^Oj#SODa7?s;J|2(nFrb;vJ z)XOh6gz-%;w^@qKG9f1Io&Y>ou&aVtKm34G^mb0_tS}Aots391H3}hbM6&^`~1x4SMu2KQIR>-p49FirOfqdF#Udk}RP0>xN zBO%SR$qkHpd6;3F)XhR@`m}^Uo5HS8>BViSrpsk?%nT8XrLMZ~W|(GTVF@>lT#Q#G zUre~d(t;al1|0ay>8Z~icc!)6@8PBu5SspRoBH<7uHSium8RxM?LqNfsKe43fn}84 zg-C$Oycqjt2Yn_nLjZF#AVoE&ZgYe3>lT@X_Zw^BcC&6O^8#&UzILJM6Jkv{)j}y| z7XizgXqjlb8Y8y*j1BT3jFS&G1~f(uwk*9lMfiEs&)&tlQ0?Bt-fPFden+EYod&rz z^t)DK2>RJkPL{@}bS6Hkb@1)G9pYu8ZK1E7=;C_IykpBRPtSd61l8VCqNQ!+#t2#} zN?@t#K?w;Tj*a)dY~(*x?e(TrkrM8|9tvX|{$;d0wcCKDj$@IQEB?*{)Y* z&Mccqeu`98hMTlC`n{O5T3vb{68u(|gXpq#yC=?z%bMqM-YpPp;^ve0P+ol{25QF2 z3py~;q4Y!9;1JW{oSfV}9d3x!GEs_#{oxU=TwT`)!-qlr&~@dT_gbgABbVOY-M_3o zJvaY1Rox;OMu6y?+A}UO)NgEY;%my?X%EF+V9dRkUv=go&p2-WI#Mvgf5;_G2H>6#jIetntw`Fqb`!VDaLDlS!+z%(s6<|+CoUhLoG>&sJ{5?E!AS-Z%;`lr|tM* z5Ur))fM`>si)Fh)RDL?V>d>}99p@KurbPHmMcb;8hhM9&^qP-OIn;-;NiM9DYU9M10?@u+L~&NDAzt6Dn1x+l&GP1XG~4Lr3Hp3H-)&BU z$QZv&%UPZ`5VEbu%vU3|C8Q$%ICjo9R{b4nVihDIV5?5<+?!LU1UASRgmTI+_&@d& zY(L8(&)B3g&@%j)zY^#mF-Imo{`z`z#x(O9Tbp*>1=T{HXRdCKvXe&|ap!HuvkHR0-KsZet%`~F z$+cA7rX&N*lq}0>xKm;tSpbvdJRvJ2MNM?PeXKOdZT<3)M?PLTm#>KCbbC2`lYv3D zEAeSWyYy!(!3J8U(lZe}o-fxLTKI9SYTJ*A2GZl#P1@u#Xwlg;jUzI|@4?*jpV{4< z2ys(FF;M@9|G2ZGIKBfyG-1L*G?vEVjdZ#V%xn8)X^xh{EYTDh^YmNonZ!XhQFt+a z8LsjeY-|*U3(JKYu~OuAuR<)~p#UAW!?Bi&hn$^C#Z7P*bB*aNiEnQ&z6RW{Eae2L zR_?M0A2%v>B6CR5U#%n@V2PH#{a+%Y7Jt?!w!@9>P)Oi?<-1DJg#^X}hHAddm6Mi- z6z02GK30cXO}gUVePyoejXUg>qkNZ_6$qH@N~smu9%+b=-yhmqR>cDbC6p%uHxVf+ zCVng_qs?GV9IG9v@jIE1E85mdlJvDJdUwOw^?dsNzB4you142>j1S&dt~lYu&DjxM zprSB!(!#&37OlO7INz>%SADgm6cW*|pv!|hdJ(L~q@>F0ATUEzV2sibPqOTb4P z?(-~q)YYSl7yVJd$d6lwv=e-vzSru?(*@bJ2U0hBV=uocu~{) zwHNdCq*&hwG>m>S&3^kK(fjwHa=}4(Q407te5q|~`eE>*IgUPij#&wa)iKGiY)PU2Uh7- z1hUOPR}CA;L1ZQ{ien1M7{JJaQ7&0yyx`B*r8JQKJ`FzkL4Q}T2C(eRVflNx^K%)` zh7~(&;lNTYTjCXn8C%F$b@48(ab4M^;i-&r^4Br#d_Cxxhi_cPch$w)` zM@5i@W8S=4z&_&-O}Q80AsIKwh73XFE0CxtUB03E;MTN6X(0V#4(0^AyYSnEXmc33 z?_SwzFtcqlgox`4Fhlia_1dz|)}peI>5SWT5)Qqe5BN88#px52ce@Q)@Pv{{2Ynjm zxr*}h>C?nbP+=l^_O~(_#1D1~fDeDYpMRc)XV(9(Jn|ar>+i3jzwv$%L$;%#2pQFW zz7KNSYK~R?RpZ3@V2CsJsN|Phb?3RThuKlghoih53^}^4@`)DxijvxE5GvSoA>hmJ4?Sx4a23$ z0Fpx!&WG6p84nm^`1$d`dVIecYLBfZ(M1qa85GVyvRo~R#3LKQ@*Y{wyC|yRUS;Y)GSmajk9;Rq4{XX=f;laR)ioYwF*$7lv~G{IYC3s zTF#qQ*ddnIzUfL&wifS2^3-?59Jyl}o38#ZBxFg|HM6x2 zUL>h`-cwgSpn5P11sHoEVj_r$K?nv<+u-BTxY0aMhseEG#VpG}eEma>f@-Bh>E~q* z$3&OR^qP8N`@fZlMzQgI`dKo+f5`(+uJ6Fego1@of}Cf5kJ{CiCCe=cYmmDx2p#{F zz8cxB8erS)`d+eimQ+fs@cewoPFK9Y^$RVhuCQIVngW5?^?IV{Q7yxy9# zO|gjj(p|g#A^!h-HmdCI2XF9Q$rRy2K>T%bWHCWmCR15J9h0m84E^;0fB*mg|G-cH z0svqYVn|;AJft%Y#_qs!_1wcj=|j5&)3ysRof*BbOSbgr=EE}V>DkcjQ?Bd0G|>|Y zkP(3+(I=FH2ATv2(?v33RQyVQiW&gW(o87ROpJguXaEwPkr0zaWKBGT^)QoA1~h2U z44DlWjWi7~5^6|jA(S*}F+ER8o|Dl9vS`Z6_r_^E1U#=2vX1TM$ie3&1qr(59CN^< zr}0Gjrs?5n$a(l|ZDta&K z!q(m`r3TX9#`?(3$Q6$JdPtzW1)ZNZdJ64Uu3ByQ zsj!+LrCzcs&c8ct2^Pt_T#paYsivj`uAStS2MCo~UUO%OeXKn;EBNF7r)LLFXj?U2!g zhKQ$=3TNe=`Q>RL%wg_^s1WR~Cy`L>fMoYT76d%RgvB6k{qN|ORe*CuXErrO2?7^l zGD)I9)q!>sZ0O}wFi=2;q6F37Za=Iff%o%7A>oEcYKtc%Ii9Urssh4>DGAc33Q5@> zwGN-o{}=}bnP-R7CJY1F>L@Uwq?J?>lw^lE#6?~0m-pvH9ZG$*y0rGo)yEVz?lhWW~IKGn$m5^}BLCBOH(jAgTlhJ@K-|mmscqz4|VN;Y( zb{9`W=7_uLK~;M{1A%B;u~G{Up0x`&G|EC7xfb)o2@2wSe%va=sfr4z+nom@&zOr&%|k@_hTk@8bm!#_h#(2M(~nyN5`h!)I8yLaL( zbEGZBP|gryZru}&S^khc;(Y`^{H0l5dIp$ zS}mgx)xm2{wH=bQ*FQ-`;l8lq^<~_FF7NzT-eH)ZJH6?eI}%922jrVA*Muj_L41Ff zTV5OGRYpwA4W(6S7etCVJ7Fsw-Ik>Z z+b4$;b8(=w*ws-Rofb=#8mc@E!i-9eDk!T#6Tywrq1Df`N4se_fLwz{#Dx};l67^b z0^fG4DXyBYuPos&m{%jjC03z&`0wy>v-^vl?D%<`v2ePbk2@9aLG&&*v{gqyA5>8B zs;9%avIJNLdafNa9c03gS%%4Ahwabx4-H zTo%5J)FY3x&)5}}^lIa56=rN86H`G-yE`N8&R`x{FmUr^GQ^;Zil_ARWb&PPr@T3h z+F|I|{rBqo7I@}a>c|R%^swN^K#JWF_8zN>)`DzEqjhIt>_)t$$|_@$zX`|zGLjkC zGZm_(1P%3oB~M9tus3g@pmYcu1Et*~Wo|;#p}S6USGyC1>NO-GR;TgR;#Y&rY8Lg9sHMeuLX9e_av(&l zZ_?T1YKYeRCX+oiXpW6(-TLUQZILP^ zB<5M@oc*%Zq}JFLB-|>#+(@5~-)nRFx(&76pE*bShmDS;K>ajbc{3Rq@k8W={q+kG zB{fH#-SCrSXN6wxV@7Fj35;gWY#W~KAy>yazJ5;R@>TR-DQ zDay*)UETj_Y0@HK)K;};9@rcRaqT%SaPrZLMh0DZGp*$?L&Rp6O{kwgWof=^Us-Et zh=;-a%dggNzZlX%xvt zXHp9Kp&F{w${R?OaS2O78n)v;c>`SQkKO3exV30#tFd#I}SD#%sTE2y=k0ntV}Y`KvM zMTESpi`3bb&bG)3Z$7&UhL~-}XERCh>h%*#bN%LT@bA%&*9aI6+XV?yEXt~(Fhx(FM$F^A10Z{JG2ipy$e}oj z+D~7m(IzB*p0*8={~Kv;J0XEl9o35;hKzt_LPDshhYFN*s2T?yDo!?UxtAZ&c|9O#0ZVt8TPpu2g`a zaVAJgkwH+>q{O)&G2Bms84bg3DD7>f(t?qy^%@i6$c2Ax3%7IEw>arnOI3~i?j~0O8aMwqHra?-@Rr^)qrHX7+iB9Mv zfsWAJbt8ZvlsrF+@f;60Z}llp-|2GywwxJg7gjozU=1(2iJJFf@fG6X31(+uU{|F` zsBjLArs6LguyR*`SBEO^_2hH!NiXyi95qo9X$*o(U04*Q0UFT=e_q@dwyVu5a&q{$ zgrgP*S1PkLVqY4pauS&`^o7)f6M9US@w+#wy#@)w(@T1WOfxE$xVc9O4|$~HBxUhG7$0O;o7xZVUu-?X&S72L=O9bL9ZwP7l#xq;U$F zlD~p~vw+^aRh;H$M?;XWFU;X|{5Xa(KCb3$bEam`7WC2Y(=i4yu_Uj}QgB7nsEhVf zl7VCrg@ks)qz+9%Q&v&s53hf|Pp=bKt^*R3r$gPXir5{U!8~r_rjEG@+z1 zEvx6N2&y2kji`p%)R4(Bi2)cA!#d%e_2WG9yWH;xo5Jxj?3a#rnHi&UaRag_nu_kh z|6WTm15IfwIAOP>`yA8(=aT9=VZ^N^+$|A46OVr{54rjqhHW2@d$TL&g$&$%vY5vz zThFFSiy+s5venJA8mE0x34lUz?6l6_c=+E{od(yo3pC|noJ%^{NF@#7AmSdkqod`{ zoU+poe-Fh>?J96@lVF&z3Nb|(EPpmd9ZO7mNwnDRNX^OHckli2bQ?QMYM0e9E4MJ* zt)=m}W4BFjQl%)>ReBdZ8uWFLoJ+c^c;`k6=vg$hk&;wss^r-VHMi>^+r{{q$X+pZ zs|(59rR+zi=`H7->W3r?m+eFoJJWLoZ@99De##Y>i^&rCuu)2VP0jQM8 zBRP0|GVd)=@K7r$At0a^AqGkTc$`uYF$2QBw=8s4{oSQ=tUqx6H^a9xX@c{B_CYFW zGZ_gKErm*mpRS$XpS0TbMG6Wa2&>!92twW_lY87Fe$A}+kHd3H+i3|1->iYpEp zndw$QAFE~( z0JpX^vC6W;8|ge!-LzZ3+|LKk?JN3d^nCl>;p+oc=txkY3Lhv+|6%vK{76zYmh8l0wEq?VJ z9*Hde6BbCs5*q_mOqJ%$*h#e*mOzN*8-gK_b+_J1%fUOG!i`5Z!r&@LO_G4(F_ZL> z@85qNesa2q=2n`OEQ%z!=pp>y+OxLHU z)!n|k-O$=EIy%BL<#P>aKZ&O>|_ODIPTW@%~ymoup;NEf?Xn>6x0GR?b zH6UaXng}3*VkzOI+Cd-zDT+-36I03P6IAk^k?ID95^5n7#A<4LL{DWJMop;D2GLOf z&;vt22+@ENYD6Z9iReZqnomiI5E*AdKYd^K^+`&NL?rqK&Sjyy7n1)bme;l6H=g-v zZz;{4Q9SvRtM`YAZR_XPthBsxJ>BkP2IDWE$u|XFG=?CH{B?642PxNd9=vsi9d%!T zM%&}?cHdp)J(tKAjD}!m=Er7lhFs^v^6q^RmU{L|_S?3jA$8Hs$@ia&yF(cab2K$k zQ=T~Z7=*VC`#Se`u25*$Qpx`@725AM&}B%#8pLB0 z2sXapGN_D}3I~U0-d1T<%NuGf%IyJ+b4Ec+*4VsQ952ER*?e&CUWq5WYiO+6C?Ww^ zVtZ>H_ecz}v|Xh?QV%IAQthn5DIgw3m#=}#*YgRz;6RclBhyLO*O#^^v^HaHBBL`* z9BsbYR4_MTGXQl!P3(uFda4GB(-@E&B|r|9K_>@jjTHiXvIOjqIpst-rI|c1l)#gd z1~PC!@u~izGR-_UleDfhJ6Vb6^IqcCtbTN0M{bqP)=XYbmeEF=%B zBru-rhU`7kQ#r8)9|eK~RUt5BoqZ}mDPV}Aqz>#So_<=cecMYF`}4M|{nc27UZEz@ zJlQ&-N!62rU?!N?rV5aqU!nkviW!VVMJH%izf4)n7N`m-f+H68YiU81ryOEzoFr)( zS}Q8LSx^_Z+b%GQxTv5FU5rm;Ts^W;9yA0xC$mR%sT3>IRuYr<`qU=Ds*rZHC>_-a z*iOun^~|szQP)IhB`AlU$Ty`e1Kkbp!Pmv0cTU5ggjvZthJ&6L5mwU|^(hyVK>7t06m-65Gb`cu1?WnyDBhZ%MqJiIupR~%@wO+4+J=j)ZL zqEA#$A;$z@b}ppRycFM@BRAmeE4e*Qz->WnJ#Nk~H`T0`dWbG1pQ>B6(sb)K0Jx6aLlH=GvWsUa<%Nz^mIBsc)ZtN zv&Ct)k~SUBl^7uBmTF2@66M!ucQ0qdi3vlg>!WS6qJo3~#N5at2F6LOVTqo3+<^{Q z?gT{#9*1?972xqnV!3TDE-DRFSRQG&#K^8$&QNc7kETGY~p#U3o zOR9D9%3@x6GiGG(^R3%T^4nEKY)GI8F1_|NgpJc{g^HJl;psr2zV5pf0(NY%k2Lg}V8cHulX+U1p=Qfp#qsT(`dVIiTGt1vzt(i(^$;)>av zS*&;2+=WGF4e~lnL^wcz5`i?#$xv2RUBzMuaG10c2M1uz9CQStqG2i7!hr}uUfrRj zu;<>cT?W;-$q+b^=Imi5Vtt_AuzS4T;QsH?4QY-QR2h^|P&Q`)3$jHg5xx~d=UCp> z?%$}_;Sm)P)6C|o-zuojR#C*Z87vFFG@wQg zksd1_P!TyL2w-a)E{od{5um1sf66;K560B# zhO$(g5PvTu_r5;K^h`A8ZkumaXoUu`4+L#uEkIHSYPd=e(3t4Yqy|#u)zPl(oyyjh zx4y2xy$ywmtNrkvdOC>yQj$@FLgl%P%&qQ{ICnIqKd=Cr(fUBW$`EI zN`8LkYKmG64^OBdx!A1BrmtbSONjLM`p&Haa#a=(DCGqHh~gD9z2Msq3X8gjz^0~x zcBbV0J^2p9cn7x|`e42lDh+bh50lB1lbd5AlVs@9sR<@;&*MefTN*x7O|jxbWhCte z@Z_>~WHVO@i6d8+sy7d}w%FsW_wu=IM{Y@m-(S8BY8Sq}d{8ir`L*45rA7~ExDNf4 z39l>@j6iU6-(V=BWClKv+n=sBSNEn=t|Oz$t{z>gj8ISEqyTL=9;sl+Npw?N1A1N+ z+E^hrUZEPo8L(@B^z&fneU4Xgp^zaRJKTW?H8wJno9~tFC6g;B1aaeH3DYOIgPL=C8FhzI8bWA37c5`Ih zh;G7l7WoxzarqVEUFb|SA+lwPJSuPPBHp&M>vl9%T@g}>}Nb0 zwBJ<1_rPjw45FwO$q$0_oFf+|vepn0gFRsySq)^(GHDcr=Vlk_gvWz3RBW+{fUM~k z^JgIS$>NDN^|1W%qHcnSlgVp}gd=nVndJZ4|A+%sgxZJ$zg<0lK0jv*@sn?C{4Ae8 zZH~N5cc)&`O6JhyPLPSx63+47;q}!HK+F?@EhU^c-j1s-SaDVb1tEDR;6T&|vzQn_ ziyI6fEZ~%FXvW+bKW&xAiY}gTv=XHE&D2d3{Hp)#B*)&PZgMP?2{-c~QYADU=AqhWnSnp?P6ODFqzq zgTk{KaWmFP(TrlIV|9`}T)i?yWXYYA98Dq*6T zM`uk+>BU*yJmvWJn3NuiumZ+aAgmKHC%NS=^DruMA;m@_W0ts`Js|j|$>8-NKyFxe?tQqVuD|FPF*!40lCaF>_KLx6xMUu>1 zL0l24F{^oJO6Rjb$l$m+-C+h(4i8)hm`HwA^Sh#|l&D%B&Pr2s$^lXK_h;A45(rb#rK>R)^hz5@nZtYfNsggq({rw%(FVyJF#fv zXI8NIr3q+5*_*Pe5aLDC40V->tUJo&>E>M}igF3tDLumXl7V`O)-cL=74C zof(EzwM7vY)`?H#>DsU#RL1U)S%H7e;Cc#Mg zCPavkSqSYscC}X*gk3Q=4_T6#3Z5OwL%Z89OuqJZJd-dP%l)GY$+T8W^yDmR;K8%o z4}-*OUp-~ITyab752wGbnr7FD`cfS0m$#h(K1_9N2~TP;iw%aFJ7u>anQ76o9z9By z)nl#yTHz0dF_U4F!MbQEG}~1}7AS@RGLv+MH7JH+79y;QK)50?Bt{>0+*y2foLbdM zGH+^zQDdIZJ$UZIhcY}JM!X8FaNUAkS~(LioIK|!qiWzTN+gldOA{-a=! zI7iaF?vyfgjPoT;$U1(AE>l2$zm!;2%TfaD*?rvBA>3#|g6?_d*=ys`5=iYYhoXN38Me<~z`s07s zhI~KJ4_JoPDA@~bIC$0=?$G9n5!sy*@)6bsw%JTL1n)UbICU?2_*W0y6-*wJ??JP9W z001EP!u;6^={OpdVQ@!=|ND#z4sT7VwK@rnDg^1c&0vrkoIE7dcwc|b^t9$m+ z)#?Ty_@1#CCQ6IgCln5XD!}H*0>WX5o0(Ls^1H(x7o!2%8ef#*)9WQOJ(M2$aD&zJ zuS|2J&^z+m%hzNvT@iJQM(G}>AxFuFj@x+}@d<~Hg8Vb5I`1t8VwEg9I{YYs1huJv z@W$`KJTqD2(A6<+k?q5udIqMmDx_MA!BNI^`pS@gS}glvPHHh@A$8k|hKx;&GrNPL zLhcA~6qj_D8|HJa2*Rz48nTX{-604IhtOPB9~$`6U2ZL8N8bcHgk5|cdc#TtT&-@M zaZB^UN`fy?SW1-UyqopQHozN-d*EL@1r~#{pjRY1CjMb`F6k=tu1*@c%Xtr?oOI7o z@G_-xY@&9&E-!43lnFOJGjqkE0W@%vP5OHhIAjjA?mN=8Ijk8>^UpX?QZY6BNe*datx%O`W8(&E zvSgVrjJqtYdf*QM*F219+}27*mf6lGX{Hp>;gHqC5)D}xOj=HJJtXhS@>$P@ zZF+8kW^M35J7Q%J9bhTMV1cqJax(OYipbkn6+jOImM2p(d9p)nt%i&t4b-maf}PpI zf#U&F2q@(N;KU*0my3q16q}(;gvgLlW_+p~*c}24s#jz&Br&Ar5wr}r6t<|9oLpHh z>c-eC&&$4;iisd|5(F}=J8#b55sV}^ijf6m3`P>rq>*T01p#1+o=&b;Hb@rd0+O(k zn+3#}umhMx6yi;hL~RUopc4iFYRFKkqCy*?4(Z(rK=8xp$>j}LC|NbMz?F&~3<|>u z4lI*KRE8K}VwB9Wd>Cbtb8WIpj+RtgV<@$XL&_+s7*$}>rsjL%s>uSuMry^MHloeb za_T?H=dX-OHQ`F*6%68e^s1^$*{7^fs31OY65yyC#Ea;L6^C?4+Ah?q5i~Mc0_iKk zX6EE)5 z+SJq_!msv#B(fv+(O2J?`GtXq5ZQdiuvdoqHLdjlj(dx;mydUulB~ zkH5?w=w@%q3WS{I?!D8ar%tuTD#J0k0FARH)|x+LT`pD;d{E_LG{x(Edl)o5v>Q`P zz4YIZy5Oes1Bl4@k?v4AsSR}}?fhG8aZp%CAK>I@%FRa-c}^N+;F*{&BY~riSV5#^ zG&`w<0M0BmM7siq;U!lBb%CN;XNogsHi^Y3c{(xBt7l<{W6sbWZ5C^~ycTp) z5*m>zkcf6mWUO1?K&EIyLDf+#?6(-x6)Hql5&4F1$BuVIT&d4AeS3z_)WnI|8YZ%t ztS&zu#hwi)`9CMGO!bo3@Xbh*sC6pD=I%W4mXndq{k?weW@Cyuk2gH)8Ths3)b;Xa#Y*rtUL92yUe6l-%ApoXV>p@w%WeL(x47MLDmKvG68IxB($Ep z6%T$rtPbw!!#uUqB>CN<-4Qb|*)1%go!R_5o(hsHwU{ecI$d;nlL;SoW6J%@Hf$qQ zA0~{6G&zXocT!N8C{sTSz$c$$@J`8YRdpP0@eHHe;T{!H@I6%+IKX~EbrzOr-~mvG zK=ycU)|H=FNvkXPZN_I$x+RdzBoeNeZUD7n{;)OUGX!WkiudFqbjIHv`70kno4x+olWi&mN##(qP$2ThTRRGPlsi%D>BKo4GVFDYAgFp$wI_iLMzz#a zZ!XZuzY^ne%SxOa7`j^GtconGE%WZrM^4>ovyrTramO?Fh~Re|xg(gvIbHUG@t-ny zRDmaYSkD_{gsQdR$%O6_(P~RhtZqxS_xhH~$egFK#6z(H3ewEbf^VFC~c zSVw$RIv$_-OvaMfAwFzfJspcUtUrSelc4L15Hq~zE^RhrZJY>~1SWk>@t-x8<962O z4|aLJ_;@r?1B3O|xc!6!*0MP*LYb61GYqT;kYr?~?fUm{f%&D19hGp?Z@y*Cn1o2A zE`Kt97dZI6-UWz{^?p`WWAEi%F$zyKlSh+*kyp(jE4=}A;=;uC6Fy0G7`?68Jw2`A zj0VSbfp)T_kkJGXkTq1`!%5&b4KVoS(ZN;~Pn}^Ahl|4hFXI-=z@2VMc0XGEo{ncG z5^CsKP^?{b=cbw3iXIFp0Gz9htQ%)W(JWyU|pg(Zn2-}UkJ>z+Qe9M@cbFjpYAsO5&?-?;$-jM(Q+P?nM9 z{v4714-uYF6Rm$H@!VI#I-1|0->-LS7Yc9+=B#v59Vdzb=0CX09kxd}W_@jmzCL^~hoiSgGRM%as(B~M? zVdKunBjkULOleNariV4u?}>b{&$W%*Gs@3{Ls|JJ1cwNja*ix4R4Wz>2*wNKox@X^ z84Xy8^fji`+wGj{TGUJ#_{Kimu0XUMD5gR#Y^{%4^!}dZUXQWRxp3$*9K@Ea31=Qx z)tH9Phml+&4rkUIk8vK8>tpT1oK}!>LzfTH&Sy25P-Q&wAF?K7^Wl0zWG;YMYue7e zvn1!NpqHs|VF+@Lk2?yEs#rKZ*h)0^# zPB7d)2=WQvFwO(NEJ+NpXDL(;)-<^c$ro2l+X`X`Y&hgmeEHJFB81;@?hKpO8>2{m zU4pyArKsmY;!I%hG$=44S}6-zY*SB51qcu`h{BKq~cxob=is+jMBsrO|C=#PKJND`?H<6@ZVeEzb%9*)F@nw$zCIbct zb-szOesp{$+i%IlgQgE#%rw^CMWBibFv~%ys<6S7qX8hQA_hN-e%Ekp2n5s3D!fLT z9kk8#y|CPb+@g4#388dwzgx+QjJhW3(CWeOPS+ORZcxD{@+BCR1O)Ujx>8%QJ1q&XVV*d z`kBH4yndj_qD#zkmp3n0?Yh*9Ve2p8TMC?9G#xO(h8Thh2I)tdRAsb-{e8Uq>+Jz# z)r3&)Y*0+>)waoq%SpXd50eOe$H1Bz%=-3m2QwXutLb(I$fXu)H}4GzlR-RI>=Q2S z;;k|)nWNKsa(fQPbK_CIk(whDKtc|vXs&8Og;so-Y!Rqn;b>7_Tr@0GE4wPRytLu7 z13P95v?fHu5ZWk1KzL1ZG#f)0R8l)=d+$M`7eTaWNvlkz0}De^GZPR<)Mp;9P7K}G zb_D^#Q-)N?`5#-8s;Qu#aqI}d7GhW)B=iWIy-*QQMZOkzvm_jcn-{E=RN`6bY}C72(*vU92HMh8 zYJjBhr2;@6M0hX{0}_Ta7~b_%P!9Ml;vW-TuP1ss-`zYWP94TPYeebWwsBLmKB82( zlZ^@%l5%GBZKb_UHB0;Q_-=d8DZJALXGbL*NnbIE5yj#jSZ3S1`LnX(f(z(x9~>T; z3s2rAIU9C9ZB0}RJZ*lLWJVG~zF||u8KNoR<;Ba z!ONi{(EN8%2d8ff1~5lw7YJ-h%GQ!6S(Un`X6UlByFj=)d4^1ih{A->!<^{rKzjuF zu*JBd7OWItED<7tC)cf?8rip3@C)G53hbrSf6i!2*E+YWMUM6fQ>pRyZ716 z^s~K~7vlc=+rhL}Q!B=wFA7M5sylKY);}yf`DPZh0&Cqv$Jy3d{q|Mnv3EeGIdlGA z^V3^fD6~ab5D0{h+kQklw4LWd^@K zKO1vXYxsT%K<`2!mz}9t2l>~thNix(!|$qq6Ml-F^HkL2_3Tj`f`($t-TloB$N?;0 zS0Qr5(w>>1@b5U3{QS<7`h}pm`hogw-7vaT8^`}Q`;4mSnv{7YkusqSJS&J|2>mPL zwk%?X7+uV9z}QltWy>_*c=XzQFZfv}iNx`z>GDsIb4 zpqjHS!9Dz{7DPZ*ixK?QWl*3duVj|b9~|_@5x?h6Zr>^nP%-Yt(gyjIAtC3-iF9wm zll2~X>0|VOZTN5!H|8T`FyMiq^?(?l@KN=#uIa%TfST`m+y;24WAt?Q(aC&hIx58^ zFQ7b(jae{CVEXSHJbHPCs7POw_S*q%YBAv-7<=@8d)rwS4j*v)>RF+o`-Q(0-bE}Z}mPy7IX z|NsC0VxSN}0ALc50uB$pum<;cop%jnYL4#fn(a=7ci!^wTFSc3vd}dm>bC2*cDtQ- z8>nfd(1S$4Cebny9-sqF0tC?-nq*>4p*0!|5+JC>JsOkL{V4H4k4he(0!>6g0$~Wz zrbQlt07R+)4^RLA005B?K^UVGMwv7;NirMj;To0iSL-S7aEWR9`PTyg5sKH9Dfe|D^9g#Wj2ZEBIN5+aD z!M&R%`m&I*3`Yzdght04qY#O3LFj-y6agGUWrg(znR$&o;}bDF89w!n8CY*#ln3y z7!Em9vb2^7Ps8F~bNBUxdD0o&g6wrWOU|iwu6I8!wx#N6qhM!J;NY%ZldaVhrqszV z>1Ta6%ulG@c#icjcqmN&8D%t-L{E2#PK^W$$$xce?-xN<>IiW})zb2SwCf9mx2JW4 zs;M;?o}9?(=dN%C?H5ISzYkZYvZXe}UI;Th({3ytX-=bNi%>gG;`A3!-gL0*_VYa zrL+ZGP+w!DD}bddE%ikX3@J&r10Zn)QwLU4rk4#mGQFtNeYVg!r#2Epl8PWBBoqKp zle)$PVE95vWgu>oDI}_?(Uy=jWH&;5VyP`517v{nsHBF>!vHu8?l1}5VFTHQc~DQM z(xIc@jYxVnkWz2)RDo~upV!Sv@b+QCdDmoFKe41zUX+n!_Td0|y;=k>^L!v<5WmJC zE5Sh16;F1hMMG}Nh_@h8D($zDswu|zk#rem0ykp_K~aevU!v;UAwR+qIS2}HVHAK) z=n{~dF!^NmdL%hB!dnCIk^F6B3SyJ93HK3A{`5;qs8W{0<(}ydom8OocW?`erjvq5 z7Qir&CuT#C!V!A6opT%-G81J`Z3!q;9{z=pJsBZ{llySMhxPjOu?N{9I2{Ixrk1Iw z0n44)_HyTy6ofqzC}XbHY|8qjNHxaG;Og87Rp zwuDR)lAv@#UPnZj5Q7t`17@f)hwXExz|mv89GJP4fZ)MH1<|9MLD7?o3ihQZR4H0* zflLlD4nGwRJ{kEd=%r29SzE-(1GN`crx*tE1Z$ z-G+~|qRV`$u0y`PZc~xVPL)#G!qSAjZvz1JLSw}oJL$=g!fe1dy^GtvEE630;|IcQ znqt2xEf2y>w$8d01P|Hef3XaE?|Y{$>RDk?!;D^;oE4%`Rdfw4=3}Q4*xZaR-q1x? zhV)ln#5SqK!9L_MnMfjHik+_LWS~yGWka7TgUIRb;;23n8JQ(mM55;C&4qlzKL@h! zi~26h+lco?bfF&_^`!~=?&PP$1{;nAH?>i#KsJ^Q8zst~T3csSrp9D^Rxi?iN{ggi zOkLgUcrfUhso~cd8&Pzxc;+)*0-UstZlrW58Y`CdEM!4yzdGXGbMMn`yv%Xk4azn* zS8@nY1oBvts2~w1izd?$`Gtx=3dK@TC0F#HOQIVg4CqibP^OtwPCu^KI2j59*$AL0 zpJXHVSyo8J`HD{T_$^yew|m8f3H%>-ee}~~H6vBq^LFt4|9a$ewS+Bns8Uj66%1Z0 zz7(5XXv5G$Mr!8hbBl^j?nfSVNedKN`OQok=J;QpFnDl^ePZ-)PsIc;^9F) zMMK#s$1$U#3Xv|PfHL~BB{-~<`$<5MQafJZ7pU@knKw>P6*Z{cv{1>y;s;FNQj$4@ zUsZ|_a#AD(C>^I3A=|et)2Nb$d0#^6+bBCt8ElFqJ_HBb?~8nn)MV08j_dZaHo$5bF7y&pU0O6ChVAR0nvmCpBoqtN*Em?8Su= z51!t41&6lv17A<#!|a%mLrU+8hi3@6O6v&V&MP=9F|Gm1CwFtMdVAaMCWK)sWX;K5 zwYGAy#Hz1~tu$$VwOa#`GfoUNW&7z2u<)35X_$0n-D{eY4YEph#parRns&TGs&y6l zrjwc^rY0rA)mBQy<`}sb=&)QxmgG5SM)v2@`6uw{b>Cbz;;ky7Q>8R7HA_(_=F*xV zxMMWIP18kHj^#>BwEa0*Qp14AWHHi;SH)KWUM;qT^=pD=TTw+17kd~kGIT)blF~zq zZk3CjpYVN1f(0V`I|8mkj2=V*wiF2VC!?rjw?REDTR6sGiMZ)LYZ>B{lyF_3u;P~QS7?Y=j5BaRO!SdMN& zNzFC;ZX)H5uS?tZ;0s5ZAE(Is6~^8W^FomjoZCx7;iL{JG`c8AYA`J&QA!FFGArJx zzgn?dIo*B}09z`#X9To@z(zaKz6@TBjNlX_3I!RpP@l)e+7R*1q}Wa@Dasbtok=0x z;y5cr<%|er5-Ry~%NyF{+?J9GF~*-CrB+PDzEcr_k@iu^DA;M*20%J*?egLVNaoX= z>C!2qu)4hLRkE@7RadhziMcxM?Q`$ih*_A8G89%218J~`oEnd~``;;ac@MuV9(|#f zEJwRa%q1;tL2?*m4~p`?MrS+Lx*Z!!m7{cQ`r5itLe2};nv5@*zWDUvL(_HFS_%cv zG7XUsBv;0syWoad4`RC;7Fl}VQ%r!tHh#aK6S(oOp6$|l^~Y$SH+T_}8Ni5j2v8FQ z4WnM%JYBTbxk^C}MhM0;*3=Qs?ygx;=c#A04(`xm1#f$KP9M{_V$g1Rv_mtg2No5| zpiwY<`+9K3j13^j@~Jqbf~px;43bn}0x_0e#%^J;=7t;u(i(Bv(Q8aR%650~Ruhcc z8Zk{Z^MrJ$PdL?vuy=SL@Fn-jy6O2%3nYXgF;M^I;AmYeu(2RauGF z%1%!aG{H@A(`;qSS8I5GLSuAvGSSIgHC8sg^bd&~-EPtpyon*-x6K2NIcr{vz}8#`4}rQ-5k`>n`2o-DvuFMGAPVn zoK%zajd8v%%+nbmlUuA=VX=(*!%9Bc&M3)op1nQxj{&WS2AXU?gkSg8)(^v}b=g&P zluDL^tdIkF3=|Z$G(GJJ7p+S!mycQu!vcHdDYku2dF=HX448gtAN$k$li=r;de%2# z9v2oJ8VfLK=^GWqDj|Hl?T2QT7O!%CtAL)|W$6XeZxmPcZXDe5$g`@rw^CqGhFGl2aIPYIbX- z6E8}Xs*3eYp=>7x_PhnMs)CTga+m1?{zk!WGDeW^7zPz^8puM^&INYq9p?;o&F;cE zF+mJD&f4*s?t~m2n4>GfOFUg;T4wedK5Y-ZyiqYRp$wyW<+dF1_{0htYn%FZ;$jK> z>cg8g^{8~yJRiH9D3INO-3G)U505Jb7y0d6K6QZ)0~8{ul?n*ys}var=-WK%g;Var z(81fE3&A0}Y=(@Ij(qj6J{2@$8~hfcs3kMh1q@p>ECpFojUx}+@$!d;eNa+U z36yxXJTjH#!&B>y0e*W>3_}yjV#N#4OZAJE(Q?|$YbT2Upw(){PcZ?SjsYk?*TC(V zQbrH7X7ULq-?TbVh$OO=MR-Tw>nBp8sHQfB>eSkWFGe86mc$*jJ70gLMzvSdymxOM z^Ifv*!$PSlWl1HNGBGX9oMNS7jqZ*PbJ3@6F@sAYs;G5SD9z~Qabvg^uf zlEtEQJ!7|Co2j9LIQ4^WxyT}Wz^~~7qYRi8m5-`b;P>?{=YNy1ZC}|7qP>Bk)I+kT~sai67 z`H*XE?6jpvCwe@f7*OW()}R+*fPB2Q+iLfcEGI;fl)g5)G3Y~3IY0}u+lZF>5Ihznyc^21%+!%N?0f`wF0esQkSs@wISH^n6yCPh+AZGQBm<_ zOe2$p!|(*mEwJSPQ$uJ*-jO}wB^a}y&n8YC{BZ64C3ZHSh!DN0JhR5`31^iCH9zrp zBvXY62Ah)U&@n+-CR179^Ok)803YB0egFUfpa78!1PL@r824G=@%5sLW2r1d;^6M5 z!%3blkeUYvYYlcwpSR#k~ZH=Gr$7DQseP|gKu|mHprN)M>^=5-wnguD2fg0+x@^~-_n!5a zp0~AoTCUwbo>aPzS4T~^t*-LPZRKrjw2Rjj?d{GyG|@By06+<$r4S7=2tW`Do@q5b zQ`E!*O)^bX@)OcFqfCGR12l?cLq$*YO;1%nBT{~+sSOMwN@$voNs!GZKs`es2{jS~ zCKE$Ogk;h{UPC{YOnZ2T%F&sn#iBZ9x#6mY>4tL9s$eV@r+i-b#CwL%`SE%Q@2$s~ zZ)}u8_0T98n{)d+yhs3)BvT=|NK+=qs|8sg!3gLvw>y3>?wE)R#mf85nB!0e12i_y zMYYd%mcGumy`d~CgUrKilt9#HfZW<#=H9kDLoM_hX-^tE30sB5MAX~^z8SKd@V=a}8*BH5%`x_p1JyWq@3ppZ zGCmseLMSILT)pqLE6c5x;{6`D5g}?gMcHfjC51Dk1 zm;TwtzmMWp`>ZQLD2}Gr=@9Q2a)u&5y(A`x6PZAO0ga<;iv3WIs-td%*fg+pI>|og z(AEakj8GtMK=xz`^r8mkNE*I~pb*r6JoKd=P(;Eic*E3*L`teH^iBKio^(S8#RP{7 zsR?W(HwdsH#aWZh2}-~zw1=Z1gd1c0>4{ZjZtqsSUYRGFLB42@MiS$66uD zA>ElE2lW8)WC)~&=0M_vHFHC@PiukrfE`fTAw7f+$*Kq12Ded2ee21VN0n!BO1kE9 z=n9>H=}L#0GRBTMQ-zwxR^ zbrBlhTVn3GB}cfG7C_=KHC7PZ3=VAOf(!@0#nTLLD>fWCP$?D=-&Iv1{dcAMRxwMr zRo*nVd=9Ch3tFE#@vW?ZB5aGCGJ}j!?uwAZRqd^Y>x=D5I!Vio1+qf}IiaYKL#yDH zL(heGQISHO8A_aJ>&CATA2Yo2#S8=M*R7K@oMSc0fl2*j?fYnl&!uzgTx|Z=eh`ced>m^WMFm&r72CfNm>+gcAWl1-V?ZZf~p=^XCSA zDdA?{8QRC|4+H0G_p3w%(Q&pn`sHuq&7SR!p#gHL`<~ico+e|jZQJ-hwsyTgz>NRI@t|0}yK?Rv64(<8iz`wGpB2B8YI<{?+9SZp!l;2#V=N%$f z?vJEC|6el2RC(ukz_=wSlQQv<+8p3UG4d-9a)y3+>#O$n59rb!f0oDBZ`H15Btz^V z?sOUj$X@$2DB1=c#XQ8;!n{e@?U#AAbXo?mLmTL%&pLOf=rj)(F97RBKcw?wQX}Ee zY9Ob4N{t%rzM?}I5JL{58}8$`Y?(Lm51xIo5f})s-`1G#Id#987ah=BYAImEAWgZr zvG1Sn>uiNTr!8t+7{nqZpx^Ndvdg(pghx88u7aw=UHK3LdSQn8(6OJtin1V*N2XHb z4v6xiaAw2MH8($u<(HyZ={@jY*Fj`DD*QSn)DNzr<7}J_BB}4_LVz5G!>K9}Cx;2q z>pD0_2aKKSTz2~v(k$tyYnP{H92D*$mSP3&z#&9M5vUGCaJ_8M(g2=IhnQ-D%oMAJBTS=2-!DF=Xt4U9ueqtUd>E+w5`8f2ApGFGzjk_s6#@VPQr zSg;htCkR}&=h@!W`Y~cb7dh=B8Yc<1bu=m)V35W|DtC8Czpg-XFcJwQ2q4+kY8{D4 zg_?72M84)+P+n)Mj6y(~$J%(RM>YDA`0;%?VR-R%k&DZ6h}-ctfg%M_T8xmX8e|Pv zJsm_3VmjZCvm9?tub%d{x6b%oOfx}~Wkc2_IBcM6#4^N^VNA&fDOS>@s|m8OCQ8Wk zG!Td-fe3_4Fcj*qA*@4qT8`MkxWyK@ns*W~K%lZg^Tf`z?N+f1DCZ*Dwygs6rJzzo zVv8-MK`~2Amwc*f0iumTBSJbJ zsWHslf^q7?kf1v4C2LXf!apTy6Wwz|>UUnlAA9s+nW8-w9kS=yp8K z`%F&g7}WYU#GfM(MgXw>XGA?VsROGEd?Kc?9!EtB=@O($44MsSWNm{6be+w=Q4-lC zJL8YeTKMU~yQl>xqebO0>6^BDR?`lMED8}R^rIs#eC4e;oa?7SXmK11ZCsaD zbQr=o4_p{->f=UabCu@u4>6vQ5g+cJ8WC*BaxdixEw3(IbGosY zxVGw1!wPTCosf3lPZ$ZSRdvMM968ECzqe&U1BKM};%Hv;re>T{6grnrSY%CyN7vG!WG^eeqQLBWvWR z?@*aDiP?h_{&2}``>`z*6$k6EU7f=PP@SmCuRLXVZOsCrL>V(o*iu^sP;hGpu+`ja z0&!M;J6ctU($L^QvfjGnDW@A_!bVZ$aILDbt%~2I?vxsDW$h_}FoEd7|2tV?EvJOY zGZN>WlY1?cLvUL<77hnnKVb&zUz=}05FRV6Q#g+@!{eRbfsFVqdBW$RV#{k9&qgH zfm1ezIb<*s(Cty(KoZzfvIVmYfia4iX-NGHr?O!-mFi90L^Zzmz&t}s@E-h=vQ2; zPkJa|Y_8bzAVU%3b=>R7V0cwBpZX6EJ{}If2M5V!Cb^BjVZDaXjCIW=W94VnD@G<6 zO3q9-A;W4})iYpxuz|Qukcyl}X^Liyj!watBGhZjy`I&?44t3h53d~?2yCLH20vs| zE3o1DW3%8}w3>V@h{tgT{X81V9b=Q%pD&mh&_dg)mm=gk6_OeBix@f)Xc%x*(rrNl zX?FlfN-fE+Np*B+IlRrqpn>QG3Sml;p(u!SQA2}TRaMlXL?a3dZUnTvF-6^EcDy?S zgxDZemU@1i2$crgT?hgLZRyaJ4RSC$J_P0sIZH_}*BC+Clf6(t2$usAOP_IRqviBA z;+)%f&bsEYWCoid$N8l-NLdzgJ?s|ZgyyC=p}FEOlGiXG-T+q;)S|V`gRK?TDm))r zXG|<~Nm9*0;t&-=LL;+I31Y^D#Mw6RwUHHzYfJo}cby-W`;7Gxkm4w|HA8<_9eB)Z zI0J>BdBC%(x8tkznp=t`EEIx>D@leBD1!MH#8XITX4R{UHK1%Bb%2n)azb$L288K? zy0G36V^zlU+kpqut*LVQt`bnN#2e$pTrv>-NM0QW2bAjR0iaS3h-*?T^G!Uudfs^( zY?UUdt$5unPz4=Gmhfyp&_BmfZv+hmRuoV_tk562_{#{2C9;~77a%bHzOUw$lt~W- z@^f*nUVYC8D_j#)cOV*`wJ#rZAIT--Jq5+UY6>uuj0dowpxbOKmiiRmo|^jSu3buf zsHxf-2b)^t7r#B`=B@{N=u#vjIDw^{3_~n;WHzWgl4bg;`H9(E;n(3=Kyg6>X*jBF28OjzP_1HuJfJ>h}t)?p1s<5>pC5s!#YcTMY`0K*X zk^)#-k2LsenA?nC1W>9cCKnZjaax?!g)(6#6d7WIi4g$8m#|Y67Q=39rHM>fV?Qd+ zvI8x*GLM|D6coVS+TnB28)2Ld8Fkr8JmM@aGG#iUzox8;)D@X6 zCHBYdxu(Lvzv3*Q8*cpmCrw zgF4>Z%BpkH1Pq(06+MuAH;3(6Z3u@UHs(WC726n1t0-lyPUv<|Zhl*Qld1;~ev}`N zlj3o&1^-A%d_1zi25f`m>i6sCe=Qw}GrgW1U@x-1K{g29KP|N*L?kD3ujBQwt19}t zftFNo>2_g9!}fHwu_R_1Eb87XjH^jYL?J8M%!0?cS?l9#OfRiXmC&k$kuubbQ*gI%@0xxk0A4Nm= z8~h|8^nruD6&d6Fy8!!Th@{SqA(_ z`$}Ci`PLSVR9F#VgT4R=gAzOtz=#nq3IqaXf-`M)Khp`9)|YiC19}1ToaV(ef66QA zHroa33Kbe?`DT_>z|4}<)Zy*Xzt+m2@I+{*v$!MwJUCY^w|fYC9X&FA(Pniy zW_2$ZL#7r+LAXmJJVVM>AT+*6kn9@$H~iN5T%0G?N9q$&kf-+$BHb!rPPCAep|(!% z;lY9GU1&4miWGCk>%e!Wwke=BA!7)!BI?rihHr2^e+W(Vd=L252x@VU(>9n*ngnWu zl-!jg2yY!$Dqo52E5px8^xvVmgbzVDVu@lFl-dW|A@A_lzw2%I-F3O6=oXTwFjZ1E zPKt;=xUWUdlo>pj-cifbH}{kokLEZ0fSc@iKJn~bpr4b+%)W~}>tQKhe{z@bYeiYm zMVvo)jAJ@rHzQ)e51ggskvGx+fMWxKw~IcvJs z8_*Px@N;pU04kC+PAwUo>wdIk zS<2{!tcwU23wHHwZ^f#na|&EGNBFyvDZ+$;Jo+;*F+o`-Q(4k9iedm4&3FQT|NsC0 zG(dn50AM8m00+a+1VUBp<=v^>-J8wtYu@tjdArXyyT!BB6sw!hO76ycsJYK(o#(yf z6dR9qogHeh7lplVZ$YM&-mhHl_0H1t?@x7Y-OeX1-p#?1o?iF8t=^m7-t$~E(1KwB z41i50QU|CtJVFQ{KmjSJc|oAl(Gep`n;NFlpX#2Y%9-U&Gys(Jkc0#Yg;V^K5vi0g zVWE)ICV*lZX`@3%2{jQDM99R_F`+c3(g6h>{{1KGh$qF#y9maQ3>dzva~naRI!aqx z0fLV(5$R+16^0v~7-HH>rg4b+jHPei30`Z=gswgHGVnLe`S`cn-#YPrzT18m*N-;) zXk4KS(tg}}+e%G(r>*QG1t5myvH0wIrB(yTgp-^*^wZBgv`iDC)%oL2O}V9%Dpe^o#BVsfl5?`?Gff4uWh{Y;84_(RB~TDauFY6N{70w@a-j#9q*y| zIc!MlltorRf;DYhz1o*4?<#ujTT|ib;(3Q_{c8LwO3Wt!tmXp1!bO zG>KM8Pgy{FC$fI8OiUA&w0w;CLrVEB8nc7V>W8*yhT#!6vJe!IpA3)<$Qp?r^%Mdw zhym~EL_4H_VG#lc{y21Jw=8knSkYggnp#<6Sd@ zn;x`DxrCo=IIx@s6Hlrjb=HYAO_{y(NOwWjfc8XqGJaWxL-L-@GpjJdy^4a#uZ0pF zCuRvl1{Zc%_Ld*4Q2L}YF%VKga}Wc5Xy<-b#wZZO0+mKd^pk}AeRxA4Rs<;e`@(xf z5=dN)$bz>a8uzjm3_aQ`Mw^ugm0a#n8bLw~8tWru1tZoU>*E1wR4oUGX+hVy;&Zy@ z`??uPCgBda*|5TB$uvX7nb>vI#Fv>$!vYjAec1&&v>3|swf|R zR20PXC=2046N6rCt4bA15+x}F=$|LPOqhtJd^Nk>3wkH{ zf>2sfJRlJ$JP`RpB|mun`+bdPDOD~KBCG>$)E_!md!RWXu4)~h!UrU@GL?pi^GizI zs@vinS}WD`mD0jnQ7%M8{dcc~IJ4ysgp-dxcOmkO7=spkAI*3U4^YxRx&RD(F zkw1Z4O(6S($h}Pq(D`+Fr*3;Z@uhXnQKmF&TITWzuYGsPqz)tindd%j4nFZn)&**T3cv69!&wbyRGqftR}}ScwmMTi=`kkh@%zlHPMUEF-t5v|`NsOZy8)1zH1plH+fRTa?3R$6aFpsk9WBXiu3bp`|~h zbBE_M80C%_zR089QpR+VOlw3sT>mbM;dv^#NHc?p6&c&6$@fRZFY3@M%dedzeQj& z{kp7@b+94feL)zb7{DdVd-{0hVKShH{ATn~5nmpTl_pvdL|U(el2P5p-#XTp zL6(AJ(qzYGP0Z70)p0mxhla&yZFQ3o7(qo)cmxO`aEc~4yFgqRlu;_+inNIfsZB;Y zOG2*YGW2g&tV5FF{6xFU^M(ZwB%SC?5OHGNfhqpC106TMfgB`i1>*B_9FTzYdUk~e zyD}+Ef6%|j-Be^S$OZ%)SJMo$AW&I$9H`YUHXf*tO}W3`Y9L7@lu#xL6g}2K^z6G4 z>!dTmYHp@_z2Alr_Qm$pkLzT8bFF^4V+X2zu6pFU~cH^v8hhUys^q}4czaH{ju~5x;dMW8oW=xThY6Fq2-e?Z!qL(1 zVnG|{?6At!Vo-NGnd+&SlAMjojL3nkRvJ`4B50_a{RNTJg+MX_#7zA=&J@{1lXJjj z6DT^Wj|61}40mgxWixW!21Ju7A?GyB$W7@5@?@HzgMeZsW{D)E%0f~w#_Rs}q5)y` zKzX}U7tbdf$o_?1fri2db+Es)7`@ueXz_H>$hr{sPUUvLWfs=D5}D9Y~I1tXe;1Wex+40`-r{;3hP7KBR2e$SVEymyNyhX;Gyl50tNhgV||cStH+tz#I# zc1Q`oT;g~Tvm*|hlCUos7J14c$6LKt6X=lh#B;^nHzbjWu@{N?4(XPw0*6%-JlRF% zVJsV-!K4WU87f>WFiUYDo=1-F+xeB;&355iM+h;~PPa9TwM?gCaFu}!!ecNu)z}G< zNifmXqYhn|nrL>J;vo+|)(>o6^3TV#{NlFY?JAapV{aT))l*nlAd;og#>+J^#O+@_ z>r_pk6L?QaQjs~&uhBMZXQ{CUkTK5e$yFv0{5WEVM>ibHcht5QglKJZ?)B&M(}44N zF%o^weY$GXDb@^9eL@H|ZD!yyzS{YDx*b4H>3cY|+`GmaP-|(*;36U zFQ$KsB65bO;}{aF_)fB0L#R21yop9pEJY;@Ow_0`ohqPp5CWs0N|yLOCqsj_JszF1 z76%Fy{k1OSyEAHz*T4EbGV0KTFHH}J}c^79k0J#Dr4n%H5$~os< z*gg=0i2_RBuB4a32j7X3(`24Xu(p+X3_?*!`2_{S{@(1Zb#0|k{X!L+PAq5b9ykHczqhg*gBUTbKzLZgDN8( zpT1+W5|Ao)mCj`A{XRZMd~|iuUbZ}nwu{aMgv1nZY)hVz5w;t5cFxR7Mz1?X!y@h^!imMZzOUw!~UcNA}cV#;Qb3 zGtDcV##!32d8@9t(#+)=n&gxnBy$7m5L#Yc;YDqvgqv#>cw*F#Chhr5Hlu}+R1qX1 zNj~!1uZU69!~>};;kN|`HjM0zbA50`5L+A|+zk*o;vOTGOWoMNG}Q8=yEif{XQATd zba;wJlcRo@nB63M^NqYNxEb92zM<^GJtS8Y`qYw7V{a;fn|XHa5j;1zIc2S9_ZRaw z0OA;3*7OcYQ<1{hbvM$G%HgIkvtSG#2M;aY_ph;l6lG4}6=PyZB;xIMTumS(AKn=B z<9E^EN6EOnbWx9gq^`*JMutUX@P1`!=7Xi?>3;s%4${ABaXu0nI@x!WC6!}xjRlW6 zy-x%(E({Uev7tObM+kN11HI2jy!Fnu(;)AGanYhcdXE{c;${SfCbo+}q`j-U7xY|S zv3qHKD}WCf>4U}_9f(AdV!USD5nU5J_Tz{nCCWHKm;8?pcO7w;azyh0qExUO)#}qd zHrhFqEO#EE=$F&AoL;x-t^;!xld2rsV6fYPr3Ds3TPncdZKpDiCcCFMIh^H|pG?E_ z&l$$u673}-d)I3-h2S6~-Dj-Re8JHI%%P%~}jbp;mN-L%X95BzbOP?JknctSj3E$$+^z1is`R)Evz&VEZFzaCKGkCI43tJ7 z&@8GoQb%+#vCqQsddV9WgYe%^t-dedgRKO?4N|3h#UK2ed38ihflq+#aR?=V+fud5xr^yQkJc*eV@X9R{VQ^6GyS3APNqm zR|!?&J?@J5b&0%`Vh}BfUgHqV5jxpsVP%@X^?A7wVyCaQ(Y_8LdBip5n>H@G$5Jz2R}pv!GJ`JS*`Ex|_V3PZ(?*P7;&#R^3lOJeqA}!!TtNXrQGbZ<{=4m0wh8%a zF*s}Ey#`6oNvq=5wpKZdNwkadQ`TH%$G)B55+A+Ro9ro}G;6q8bN&vlig* ztBtk8X06^=JRu_>{kuCeWax9!w0vML5Rd(fK6YY!UYLcKXg8VYcgAhKeBeYF{lf>) zgnh)XSF>KZhIb6VI;rc@10Nk;L~PfIK)P6SabZK05CkMsdyp+%03>SX64e z=c7Mpw^hhtP}z`p1uWD|IbjHVYz$RE*roc(k~9jD3Yn`D*OZ4Xj%o9grG%lQtmsp_ zL)q{32J=>aoi?2GKSWHQJFrucHc`g;YZ2R6O8zGywj;0G_rQDKcKv6HvlDBl>59^e z+tN{DVVrnv4`~lfm!c8L`rB{X;-!#8iH;ybTDz~+Ai`%Q@6Dt}2ae`4 ztr{}Kd09=nS@Vdf_$&w?sm0ceTeUQjCBYm(?=nU}#p_@*Dyzm!3pkg%Rb6HI=T=Ib zn@Hx~iMq$Vskep#E5EL=w8e|3rtffpw@6beLD-9kS)W3?LN&G$_GU-$&Z;JhhDm45R6GKrQ0#y}PKHDvNQFh(R7xku?8%;b z91!0@&V|fl7mGx;p#?6ZFqh+QVBPd>_Y?+h)AuX8iaU$fO^4vz+_sT;ep)bj!2WyXzv>a!$%Q15ej}~ z3PIzR&rb6Ze&%*i=&;$B!oxooaF&3?3gDNj!NkksV1v-sv1WYvj`^C-Q!W(9xk5x? zWsKcN61FF{$uScioP1ww{eq8k;tzPqDe-RQNh3u`xx3}BJdoe{G?z7aq|48>S)lvT zMboe6o-p^~$_vp0Yl6}uJd%tp#My+qmmno23`i@ljT^@%iN5mj5@2l^S?cP)V#F=B zx|z$A9Cqy{+7Pj@JlbusPMaPV4O!ajMpLNHOeq$3YZT`Z-7Jh)6WEe%Q9 zOGVi;YOJU=%Gy&!GVNunS}XGyUk4KPwy=&lyiZawjn!G%W43(_Z6A*HtH#c69<_L`YQjj9CK;=`x27eRI7poHEafL@=+^1FW|3`; zqzQsH*FeUdH;`O{L`H;Ypm*S4$)A=%B?&ryr2jfe-3L2RlkgN=C`9)bby@yG4yvM>6eaY+fAxC8jz;A!xd(C)vC{X^tZCu(&;E?zfz5cG_(WhSFjU z&<@9Bp#*_Zr5%cqItvmd!B)xwh?Jw*BV?uo98Fc}HeHEet&cDO8azVLw*aC{{g`8A z5__3Ct(j!%pn#%|Kdb^&nOTJaONm1jk-&i`-?gHS{do5g)Yj^lgJ8wAv<9rQU+wia zzihh*{%L`n%f_gm4R0(02qcgwjR$mj69vSQ?#qDPjGZt-)rk=l0I35HeLSqy_;-k6 zHXc{}K!!fwSCq;Y-hsth5soX!xjJ{&dY ziCs76X09oOnB>FgCaKI~f|-!+jO(8Uz#kkjJEi31EnP<8EtWIu{GePjn0ff;~-M zJkKZSi(>2JOmQ6=q$5|5;DTj@K2@L*JF9es>y5hzW=gPngA=={JKs1GN4-k~jHQ?g z*FO&p9s{}McQZ%lzeXleAo;?e({EI@Xz*a2?o_xhNEosdDL`)3LDpV)#Mzdcp@jJU z=0odyv}prI*3kecS|ho#nnNl(AcwfYRQM0Hdh2}93%XQfXV!gMgThor%-=pd2nPM(f4BS2|E`?5a@OcGl$TZRZBFcYk=}Ylv4xyL${O>5a~a`a zKo_qQ>4+z~@by3pqOylA2;?@mLhwv26?k@~H&?&3{%aG8_-K1P49I7FoM!eUZU>+H z_}^@#6p;JS?=?nvbbK%<;B4f^b7wg^p)iebQVMc*qm0UbdsTYepr}u*I!KZNlh1DA zBw7x~xyO-2Nv4yP$vcbSuk+=pKAWT`Zo8UB8$9L96dZgt zojvh6l2c!Eyepy=f#-g+qkW!;>lZ&)+W23w0s*81hQ9Xuonj(!A`6}`0-f)j-G!AD zeHi8)hl$jJ6{@*9_jHe16FJ(2aXJ2%@)+o#|8MgpL?4jk&?A>$b#zWe15Ho~|B`XB zj}wQ~2>mERk)lSpOG>tZL-w3v35iP=?ye;w~8 zzc<&rn$G;Y@rN;SJ`k`tDMVs-X^Nte-@Ks99l{&54N^@R4K`CDsCKbXgd{2Rs<-Gt zwN(*GAPk1hV9NlL|KjdQrwS4pMv+WFF+o`-Q&}7Zqxt{ zQ`99lq(EpS(xXJd8emm2N{uiO$##Vst1c`ny1(qoQi*W)9ltq(D zin>UZ8pVWX5*+uBa{e>OXEQwYy}OrY@H2MxhIeW_ zW9~>ejD$l|2|>ukIL#wCf(=Y12F5NmF`U^cY?N+7WV04XPYe9uhw_QRrNsyLLegvcv}M1wxTMo-ix^+oG3^R0@3{dF+o`-Q&}%XYfS(F?Eip& z|Nqwk08jt`5I_I`fFJ-+1@AX#b+ZB1g3(y&kV&F*Xx0aPW*19D??s9jPM5{i%l`6QP|2!N z5E_DKdO+8e2pNb$Q6xDLWEg>1RS<;l&4k-n5ZJ{OA?ZO`!y(!;(n_AE4TBlNLtg-t zUq3do9$5No-oeJh#|LpGOvs3fA&J8xFijRh9J`V_W`PXM-+H|a-$w_>Qki%C%RV*099)ZdAzw={00^SNdc$ledaZ{pw~&NZIEaQcS?8d&K%q(c%T?t_LOp zdG56hOStK~JCho$Yz#p$p6h?(a~K|Qa2QTxHCO}I2VmesFqNWGz2Tu+qcc%RZ@yob z@p{!QIX&w1H}hoSGf7k}|7rEqqR8u<=+&0@VVkYi9W}^Qp7K#mp+uW`v{Qv~(+py8 zW_?qHI9Sv*Xr+DzxYjJd!))RFIfn_&@pqJyg0=%}qgh#UShB%Yli8;t?_1sW1vqcs(_h=Pzb4ks5DM55k%yA za`^`pKv;6qn=3UKqNM;*b|#h@7@ievHl||*%C;WtTW5l@7R27K6QDW@DaaZ?+rk?d zvVGEhkda_Ud0xYOB{Gzj(dRQBUzeRy!5D6~6_IBgw4*j|lW9`E(xWhw>KXD(NMRG&}@s?dFtyj)#(U<+I@>%4M$lTKJ=H z-&>7$9$pb{&yY_u~x{7Vz*nduD9*Nh+s!Uq1EWl2p;|;fW!B z)UySZrKK$|{LIF1)8K*9`(;{t%Hc1I@Fe)v496Ix?-4RYQbFDVRhPmXKnN0SWQZLI z3Pa+HdV1B>>wRUm{0=NUXJL8r~F;X6yZWZy%nuAF+o`-Q(0W^pyU7rn1BBN|MRzWLjVuy=>WapK7c?@ z01o!BBme>+03-k)0ALA6!76%H2(FzMJ8hI1z+)*=1g3-tL6Ssi`lCjHqYwZLfCEED zo)j9ML?J^!WB@b(0QCR>000A+O#z@ZXu>oYjWIG}XfTZfAQ>RMh;a)6_Ho z007VfAOWGEJwWCYKxhpbFpUNyOiY-X3?o3u222E+Q345}DW{?u7?=prkTf(HBLu)9 z4bqhMd0s~5izYjZ2rj_lUv z&X#kee%@FF$)4E?-U3Jmd?u(pVh-D4;}o|NZZ$hH2QKQJTo{m(NNr)U&$|%SBN%MRNk>A_kzMmi34Y#O3s)DtlpE16ZePc|vngPpWM)M>GQDUmaK|oYR z5fqk%VuGp&2}Ys=8d9K$AcUhwW+_xvF>WDPVg`U@4J*80LM!1yiOSMV&l@Cj<~UH; zfzn-E1)`vV=Ce_UoMwx|0}+R1K$;0V(N<331X!aLVlayo798z_L1gol9!7;uS?6^CcEO6*uv#HYawVX1YTUC>SZPR!h3#A~9~Q z$}I&gSF_8v7qlW55u9}9h-D`l~pRbHp+UmmN#kaYrbku_buZ z2MU59iyl`ITr5Cz^(Oh5Hg2nwD@Q2YGO9NWxm04!Q*3v{B&a2K9N&9hlepMTIo^d| zeHoUTQmyo=8xm}GAj5#*E||ccJ+C3d44p1(Ud*{mG)2xjp`$oqqUT$JY{Hv5x;rIi zgdohtQq~?JoK2b00K%wDq(ed*Tb%XR8VLpfyRmc;+;Hu}h#H9OcazOZ#L!H*yzIOy z{H+fQ24rmz~-Fd^CoYH*mN zj$*r|n>cah$wa%c^?kVG_3(1IA4tM%Z=&HTjU3Mc2!Z$3J_n8}P@0pW7)VmZ&A=j! zun?X|mCK@zVxj1pxVLt#utbt7ge;j#Q4Rvl?HExGWll;V-JN;-@3I0`7QVzpEjUaI zBsxqA2Rd(GC5oEyj;ndRy;nHy{16zGnmAJ;qggjH@@jUe2i-^%IoA2WovZlnQ#L`( zY1z@2t3tk;`ZKL*g@04ug9&Jcu*hc2?PZ(sc8KA7?#)$AjIWGWBcf{}rHE4aqY}(f zFvHMRfZ*g2vm(xBX x)X}>oxuO6Mkc3DO;FBv$YkS`dX{kf%X(dDeV#vfr6i}awxgwk>NO$Fgs(?wn8HCW>#kd5r6p379`4(ncGY{e zZryFRnO@ozQ+du`TKj6N>jLeiQ(07nE%#Rt?K^UGuAO8ObnXCPmD#G+loX&1u~2Kd zw$xCdssxn~kdaED1s_I=P^2JHn1BtLc$sz<$RB;nv+H*^eQwWobr5d1UOw)<=ycRhQR*LS;)-s90-%yc@vx;rwqeeLvpTkKnP$7QzdY~Hied)R1*CL8qGynoHj3!gWWEvADrRC?&i9bmOrhpS5AWa$on3@v}CK>>S5@v>)H9Y_mX&N!0 zBhK*^o*0uOw@Ty8Ba}2Fop>{r?osbs-VO|Xh0!= z1kec^KoO}tWSV+R3Z9y6Gz=-^r9xqhD|j#Q_?arc}x+t zGJKTV5D`fPj7$LW@m7&Sdik5t;8o~i0;c`{)q;YX@|m`s3^^c3{kr{ZN##XOp( z$~`uz{-pAndW@ivL=Xtm04ACOWHcrw6A7l1GA06>03@Eor?E1V^-m29nM_mkC#k98 zV^sW&4I$zt)jv?$DeX@tO$5e89%@W%lT+CmLu99!3VRWw6(WKC*bP;I7vql#UHA9{ z+6eP1?b#FG92dFl0q+5_;(b30-;&5W`TNzwe{%RqC*Og7MSi9bGn1NBPF8+yB9$@NItiuRwtvoLq=@#0#`7h*8mDY>fTHa?3;-ZRO1sGKzn>!sQs@x} zA;jm$<%0v9-W;q_H~DZEqv${?ySuyA)Lx2m(m03$3zWsoT5mX88!e*nAb2g%q#dW2G6LJN`tKco``&c$t60-*JRZzbog&<(P4=W*r77 z5KsDmX&qnH4f!1gX|vZujpIT_h3lY>IrRed!wp!lX@h8HL?wz}*FRN;PO+NSdru?D z_BSmKlAIVe%Ni9riM_zWVzaEwsCzCln8GY^=fXhndyn6$QP~-T87ZWupxP#oRXOat zysSzE%TV9$@3lGm1MMeeg9J0;aZ+Y)=w90PUXoHgl{6CQF94uz{dPP5m;cn~@Cf8s zBg3k0d$N^U>>L&lW(!&kLm3QO7wWJDAfaNCQjz)Iwg2UXRi=Bm;Vsy8p_V7HG>JG? z8f@SDRwoj{g2LQE05`aGO&`;ih}y?(d>9?lgSC17(lv5Od}2hxJwwB4zskCuKZ~?q zJhX)EuZJEBz`^I2(%`iIKHpc~YQ1isms^*S_P0!bC!?3=cjCl0C49*=EH&X|RBFi5 z9du-YfC9MO|FdkAvKFABApe|y6}GzknDu8E41+CR=>^wy2q9(Xpa*y;9k;)-aWS@E*Wb1LxZ}f^?$j+8>*IdeZnqn+ z+I1aQ`l}j_`?Kty_&O~fv@^NfbAR7DKGV1!Cc?*efs4rPJhJONBarVmg z0W=6eK()K-)ENw}Q7)DNtfs*#>^o`e1wwj3#E=UaWK05D>=_EvL4=V3zMJdbbA9g8 zo8bcQ2SuozVtf3WNf;huyFkEw^&!9&7-&d zfA$`yRgK2E{!2^9_s5m%Z8XK{M8tM^E7h*w(bVZRBZurtfysxAC&c9eUk*igiyP&naVf4V3{FfkW%{ zP+m87kT{KktfuB**NVEr7V6|FSNRq3smH>RcGh==^uT{-?(r0QHiF87iIa?`k zSkcd&UB8KLync`C(9Ui+4c8m>>W7Q(U;_qq`^t}Y{a=F zyi)7(RGiMk&d!1CH~Z&4E*Pos_;Ved*At21^s{{p$>!h}7m3i1)Lu$|a_Di0!Gi%# zjzTwovf!p)j^2Qj9%B-FzdNpVcd*SeG?w`a+&x;>gM)N2=0ZfmZoutDDDhA=5LK*b zdyF6r%bS);r``W+R5_)P=HP$`0uLa%?ak`>(@@Ljga{zFp$k9&@W=rNl(l{87xGDjDvt76_OJQ2|4uXD*ngsRbBaJ%8JO@7 zV3x6H#QykL7gpGDb$X${N4*59tH3N%IAmD(4D`*jCtjz;IqN|zZ?n#wCYtTP`5w1- z;_JU&^8M^)E?Uxd9nX82@UY%Zf0Ltk59t4-9e?+C@Z0*C+gxY`P96N#8Y!xUM~!@* zzv%7dSOQ0@a=jj(l=iQyxO523H`R<@w$>`W@^8-UP=zh6p#5?WXSA$@y*TLsezKZ< zIjr{YMJ2D}*bWw|7ya5_N1C0dfyYE_=C{AijjxB{_P@1}b{ZT#9)Np3Z4LH4Y8k|Y zY)|VRma0{Ub?SheIf~{sDCXW&8WSNhz4H58d_!qC3BNw&YZGwlQ7$=NAKEk8(_ZK&#Lg#zFpN}3Q49-KD# zlu#{M;7>D#X`p#ZEm=DNstf=k#Z`$&&?QxX-^qeG-Gr3d86txl8`<#6<3|*q*YAl| zHAh<0wC5hnt5cbU^02{t_HpE=wD(ND!rHQ9cBq*ML!b_FM+v;FK>p*Q^;1K)jr?|A zZ;5xyelD}9A124R^R~GKreK;e@O0_hm=m8$E1BVf#cf>U#aaVMK;q~kLYzNaFNvHP zJMSK7=Z)$`<-Fr=sQ|o{Bey-0_i?pF!R72GG zzHKx};CB6%%L!Lq{?>sBJX94-BsO3=fDm27%VXIweq>v%wQ3to+^F`o(fi}#RcQo- zQ)0U3A3$3BC|5&m%h*sxssjDU_wzpI#@vnV8Nq8^+o=rPm_RZkDOnOk`N=_!3>@K} z{;%HeG>$UXcXXM($H$nU911m^=K)IPW_}*(jq9cKF=W&$XqY=6J4`1zUQBE)jB4j$ zlTL;Fe9d1|C3?NGC1xiQLgOhQ+q|Y)3o;%4o2!)F=`=!tOPaq*n*e#gZxuVk*G1JRMBK%uY_ zW@AkwPNq1>AQphM>FSS_8XCSOY=v8HQC|aYsP-}#tB?ouAXyl} z`ns@QTjig1*H`-f(~8g6zfHmKqUj9Dks0gczuiHA!N+BrcWtQZ_nU-|wN(QTUV(q2 zkhr!z@R}7a*47S1$0K_yZJYZP{wFFrm`C+S^Mg8QDf@}oa(lrdr_cWwy8cvhAZE5; zr0&U0;dJ-q*wnd#QOmeg5&tGbP}HhbcTF#S%=Z44;D0BR%<3+-{mbDl{)t&IbNbE5 zM4N1@<=SAHl7PsgfNjs|nwA@rnCqY!w6T>+4ZNjg$V8LIvs}yxI22{$rXQWek5Fu1 zip`fAf;jivigrk<|cRoH9$g?A$@jyx%hvi>%P^V>zLb@4c=Bw}J zJ(P32I!Y>ZkXSg0j7A2QTXn4B;vic#)3}q0KiI&f(op%46{nGU_Aqw75*VGADiuKu8;VAmx|8B`kv~9*m3?$%Pr&N8BvR1 zT$VG&o2z~o8_Y%XWK7~5;El+VhOd>blXhjSZtcM!nsJMOGAOK!;_gZ}NlA4_q(+&> zSx~9jNU-rpTi*+*Qj*Wk{+hZjBIN)GW`T=B2C(G}p5Eldyg4s@K#UvEF^r5nO*Hk_ zbzHd$f|PeNg>^2ItUc7`XIJR@WkUS+T(i^WCF4m>+n$$MewD@%l+5uqosFfbFG(4U zn?x&Q_7Y$go|#_ES*mX$7>W(G^s?1|0<3mjH4Tr*`9gUIG_*>QQVy|GiH{d)7HV7F zwjDB4j~iUiGkv3G-^hB3wXJ0<2D&4(E3+&0&`6A}9m=+%Wdc#+f^cebvNTW5gzyW}2`BW$s z0xhS$y+sNrBZ4Poi8Jgzl$&B)GQo#T7)?DS+_&FO%hPYSpz%8zY8dc8mU-U?+Z6Li zAjkw}VOSCsmC!t-rynK0*zF%E+QP$3O3&m~j^iQ-3}7D)jS?NydsiR?Id;i$m-mnz z)?`=*b(3S%ecHZWK;qpv$dY0^^{Kc6`y(j_V4{89Luc4z#6#QfTVR$94WEO(#ZZ*h9p%mJOF&Nc*Na(h#*-P zjRozwD2t}mBe018Op}t4dl3a@#r5l&F0-7zqWw#H-d&$*cv3cvVqNp@b`l?wUisNG z-qE!_@`v&AWG0ayKcv(#CDvVu78oWkCqpjs75ZHPSlN<|e6-S2Wq#F%ujDgNce%hq ziyPg89Sm0cNseK;LR~=AqZzzZCrV^A4;d*o+IjcXB8gNyc``|zLuATzrL?iRdp~Py z7^Va2KjXhtvu8f6cV4V~E-OK{PHsNh#dxI@lcFo3OU!IG%PzQSEB?N`8 zVoN^;>qQEIwbJ7m+#`>m;13M^^8?A7k6=mO5JYt-%VUv&Ck=$=3_-ZqNpniho`|8s z8ka<{GXgnM5KXU_K|n2}2o0HNS!@jjV#L{YZyf}pbz#WmsxxvD&xaJn3a1r!h$ilS zoU-pXybo+ z5Lf)AX)AbnP`T1;uizW_xq9aQcZ(9qdBmk&H-w3Jq{xzM3>=%M+p{s*MRV6*vEk0@ z#|Nc>lQ4dC??SeCmpeLq@9Y@$39n)PZo&V{V$PJLl)pbs8OAkIc&Uf_<_i#ZSg9S|}< z@N!t>rzmss@VzxTTv(}@sM>Nd(qh(j*@5pI(2o|WywtAFLYZO)81;228`A>H6%uHu zTf1YSl;*S+d4#sbq;n+twd!dV43xwDJJ{*b&e-bez7iG&ZCOvaL+mrL61mO)MizH^ zs`H7))pJSh>|YV$c-<4ClXXBB;K<)u@f=8;DbphpcD&AZZheXP@^y@Qt9$N9R@f@1fD;uOm)U}ELG^l5mFY3y?wtADZ zTwIq<^|RG(*vyUCSjE}KR;k)}9+?>Vv^%^Ok~!nbhsepw60=+Fpqo7Av!+FkTWM;k z(rH0v4YOc9npr`9VEbxoBlo5~Opb5+rF8t-dWV=Kcd7NNvsbMQCvW3L5m!st<$W8} zznbuVr`mzHq&B60^bbw#R;mh;TCba?UmLp6uN%pMV|&S-Jr5Azh*VNF*ia`fK4Uaz zu$j_peY=pd6+?6+wYX)R?J#(T2MavQ-DS>i(?@~azokFsRw}@~xxpfDU!;$Z_>C{@rR*Sa1Prx`Q zoWk5@qK-{GbMg`X?mA{)vzuC^Odj4RvZvX$p)Ur-W0S{aY=G?HfhE6(=%XPFZ}Z@T zcz+Ksp|P!kF}%20Xf9$f5W6F;mMW|?RYq;&&9K9cQl@Mnlz;xfKJbNN_$b60#DTUomglT!sh ze>c27?A>!Kv~t2>?S<>yk+jTEAw+yNgl2KsNb}Xxf1Zr*w#Y%#lU|C33_=h+lT>$* zLka`|_6(i}5%(4w8YI^&YA6Bn)IoGZA>pbJu?7KVO2$Y)B3Nle1eov@P^ZC&v_h2{ zP?R~7WK3j`GQQK?MB7k!23;?yep5s+euEewMkodoZMOq2c*X;5jUM}<$oDal9na6{ zKcGj-*A6I5Ol8}1_L@M}RoY`{n{Hjfb%Mu->X4$@FqjZ{k!|9#=_m*bzR62r9V{26 zd@bAxla9i>a|lvJr$~c5KFrrDuv>WpyQh7+{YRdRRRy;4b+;MajL;H2%y8UIW ze-|G`Y;Yf#~d&#%i4 z=Kp}C476-{V%k!Q{dm`l9n{k?LT{J(JfiCe^B$>;;oixw4R_Xk6AO$tc^tUsl@JKu z%#Ch;FRWsRd`)TI@sG4&}%)h)@!ohkj$S`yLL}iliwy(n*g-1hbY0^*5+E{VY?mmTj;7(YkeM5XTINY zkleYQl)(@zdKx-AIu_qLh-|UoTq1l$7JWmO-#bvog1u+(CA#Z@03C zsW}Sm?Qo zgP)kL*3>0dN~UY6c}D75VUewI*s4_yfr_)(nVoX{-7*n9L*|H9VhbcJqu?wq>O}+! zn$IrsCFv>xce&C@@Z-`e>Ac6!fIf%j87k|c< zd~0@l+d2RU#6tIltU^K?-4;NNw4Z{mp)WvQTCXLz$bv zybszyfy{(9qU;6wJ^y6$YA1b|)BCYeUxhD$o7(vlrVp;;QE^i7hA2l!nYs@XK*K>w zi=F7b*XcV)l-+a*$8;RmNmyV*Tob?f@XAzoQaS*lR{`B%8rXUX$>G={i zyQk$2z$;YF&8fi5O`z@T!Q`G2iQMhgTA~{NH}dJ9sGBc{2^16ScpuFsqmL)ot$)N1 zLyUyKBRd}#ZxgHEN5!!Y;El7ioTNCO&y2EGo{mp7*FJ_)H&e~d&)DyBk)G#BhEJWK zs7^+nIv2*7lFU!kIYTLZd);Qg&gIO|@9G5V|AXI$*Qo6RGU$3(Tj--}*2s0(z{;|a z9v_3le4uhj8W8csNYZzcJ0@&d!BXo~n{aV#vkZE{s5R_F!0=3LDc4>oO2nhY+(wXe z4k=x-K2P^}e}fzAc#;H{Wn$l5yE8Gd2Nuwo@R13w>3NHhlJ@ozi*C3Z35oY0!IwB` zCTuQK2}nkfso018eWZSakR1@k=!h5pe8|gPreMr!^vbCw&KZHaF|CsJMP&5H%zK*r ziYE6o^>udcz9SH}hz=NT2MPL-jU9jDHrVOuYkngU)}&BnX7=#u7M6A-hY;;f{vI%s zZRuuN(`r$v^E}`6OAoUN6z`MJK^_Tg-f*yf+9p|(4wMaGlo|+RPsfdhu*B$B4+ot7nWLk*zdgI9#gDPjZVtE0+lW<1B^ zM)MueL}=N5C;^}v?u?vPXH^GvlolOrvlY()J^_hNKJ5OTg~5+ER2CJ!sFI08tA_{( zfMWZ#w)@-sPE|iNyDK4vz~$?wM69hZyaE2QNL*id+6R z*R;t7smG!)8_BA}aYiRtw^&UYUyXYbE&QXncNQk6<+vT-u(j@f{_0xhH3P*2H6kQM zP$V~1f?5E}IKa0w%{t5+3L%2L&yIbbuC zn&z7gLJ$&`%&G>%5dEyh12JR)yGE@95i3{B;1Ceot#F ztznFFN8{-PLY(Q;ZJ{`GL;DArpKqivt1q$nGorsoCKk%*2Jby?9=c>fkhl`ndqe#g zMLH||biW%jDx+K)4kr`nRCJ4m@D20#eWRr3MdOa?EoE#ijCNGFbuF&Iq8dM{w6L$a zV~Qyb`p@qQkT08)!z+(2p^yn~)6AqmyH`!)Jzi z894d!48UpavQmEB$U}@Sk~0Sxy?o+uh#Ak31!~W46%+F{lg6#R(aGIA8Ng&f5~czS zpv#9%Wa2{D#v1LC+Zv22Ti3|Q2JKdJ8^L^ykV zq;c~=L*jkCGny5Q&y|h-9YZBy)g0=8d-mDR(c=xBj{Arms+)GGt*;N$*{XT0JMl*F>j?ZcM zCqrIG4qXqrk2@1v82USJF1a;6P@aLz0nafk_C7aW$`zARmLyJjJ#0;>povs+GE%S9 zx~YDzomDs8Q2*ju8ktv9x(8yLgQaLNBd4!13D*Wk9se&1S|FZE?W;d zA9#QgXEY#Z`EZ5&Te_%S4$t84opbt+jF%G|$x!Bwx@R8_NpQ+^X&p}DczhF%v3aXz zz>&y-KKX7-_ZrcLpX#Kpgm!t1P=y*Bd$L^d>(Db}OCXYdNJTuv2?t+W>LfpVkzw;P z{&>In@dvQR4R)nvwyCsW2%zS&Ee7Fgc4xVRDLzT@h{}uTl9)bF{Dbdc4s@+Qt6v4& zCi$I`N|*DZ*Flq5q2!JW%gXUw%GKGvR%67kdor$^v*g|!Ya~xc9Ys|#U3mL_FCIGi z?>aAbhbKoGbtyLHj)Mi8(u1vkRj!@nAE`N`eYxz61BH9bUeqbxD=WQ&LN-IlGI5qms0dz7&d;Ijr~jfZIx4~XZ~U@G0WMmS-O zTf!J}w(S&m{u2R8M=_z>zB5YX;-EG*?GX%mg(B&neNLCc)TSfT*RK;ZyA3*(MBmu5 znPKzwRIOd#+&EP{T>5F*oS82qcZpL62MUu|uhe2@>ZUeP->KqJCZQic2uQ+%CIT`m zpjhD2I+0p|-oueTp+qDZHE`0o4W1ShnTAgpcnj%OuxWO|^91s%D^MyE5}NwcRm?$2 z!!T>!LGwRCm}V&CkAZk4>b_))A+Cc}{>c|%VVG=l6VQ2-Q^MbI;Pfl@3qMzcFzL6*gWfyFKoadqBwKAd1hSuFKYE@HF&K7`@qA~-hpS(rIImPpZ0ucD z8xcK*aEh=DJ?nj#zo~4-)Hm=phBEPCF&48*yG_Pef|DdgTMO9I8IMXKXIB`jU%vg) zU=(owN2AHVyPmc(^C#XxzDB)3NKk*qE!2K6?ZsYESL1Q{RN*7s=u!bcp`KK`Yl4mK zdUm3qy?)b6(=z9jeb&zX0&2euclD;Qvtzv@=59?X6P#W_k%4;uOX6>q9 z!hu49#qI9`^4itP$HRKk%`L>%DMDi>0cpe7;wUKPm@C_2#dIs^Bgm`EEFJ}I^xA?_ zgz!i&Of)eItF&N_N`_7P=)wbZ4lI`?LRcp%Em3B@Y`2IWuBAn)%uW8; z7lbZM^=0`cIu)aZ=;2F$=~3qVw~YB#A*KUVC8 z2IM2u`dV~~33!?CbZqM&KthY3-=qE-m9*R0u6&^h#P;ex&wVI(yw)Hnm7?V}n!V`p% z6JsZwNhD8=YO;q00*!OuDtIY5OlKB*NT2Z;=L+SI(gmVyBgkItbK|r6B3d*=(sd`T zrGjF`=ZTtu+>pWfEE3iJ)^Zh_ccifL5Ixk1omPrb=Y5>EB_|NEl3R#-FyHLfQWHRbCbR@cL@J zSP8^oqfhCWr?QQNvDzuaDB6jhtL~7e~c4J9EOR!LXr!lp?Pfnj@_Ds z_f!AKZf9tp4)7d2r{dUty|s%Q$~m6bwcfiJt%tw=UZgb@jq@lt4PELbM__@A1ugR~GC$Ik>{q9__BZ%} zk`zS53I2VqJGf@J5Os za3?GEUw+?Ba;MOy#e#hX(Sk*iBCthf%ry7Q+aUgntFuzR!MmI9n=|2A1D|MwkRs%d zt5N*Vr<+J5mPh%d!2D}f0s3?-9(}8m*oILEe~{v(l7K`n8Dp|Og>3TpmTr9yQX6-% zgqU`6yyVI=F`9DH-b!Bf6745K8}(DIc7j6KOOB|wWU^DrbP+DRO|0e;zIS^l@sbZ- zPZ6V97HbIj{9o~(SjxuCvDeln7dXVuE6sh$lIRW^G?PN2^m=|EIEutibVU6Cm}*(rO*O2Uz95Ah~BsmEaAB zY#5vupmKT^4ABfNU8xw2fw0wl=REZZHWhNsA;S{4_MxB!M{j&8567Q>X>IW$}|8`Vg}B&h!qLI+~A*|1<{W5lw89ZU z5KNg&9*TV;%P_RsEac^*ma;lG$Q?EpN%jw<#;X6`PZZD4HsQZ|#HKM>92O#CPzSPV zKGG_Ns%YGy*na&;G#2;lDO2x6#@$$}+}iazfTrZy$HBI`MZ94E>CN^5$5GR9)`eQI z)EtNU!NazMn9~+jnOf7=GKOOPP;Nw~2LS^$KL_dxmfEM75^`tvire5$t|Db78%5pc9Mv&+W2$}e%e3r(th5?C!+6MK6amsr^C_Qj;j!rH5(kOj?Xe(dVY{XZb zpuqAxUs>8N9B87l0H`UVSstKp6_K-hM|qJ<@;ZT-R#7@NGQH6<%5i_{`W5o@ zXLyGcC(`KQN5xZ_drtpfTF9?%d+`bOr&%vPc9eWkbYzAvyESuI(@k7T7)?n|!*GpP zeL0@%&N>zqo*zO3c4rGqt|$>Htq-+|q94{Rk4Rf|K+`$s46uR1!w#!eu)nI4h`^X{ zCd{;O&(&reirjx;MjwQJ0q^1DhE51+g(oLp0s{t=Zx9whs+our;xp2{l-R?=5{o1n z=^z}L;--|na(CUh@CUz;L{|@)5l)E95b@2LGOq;#7|Iqzpm9r+2#;)TQiFIkHN=Q8|sH2yupTh2-uhWzzlwYwk!Cgeg)U zwrowl5RHX{vPb(*>>_8k>}ua$c0*dB{+c3k7ENK${&3K@`TfI!SLlbG`s(V=^x5Zm zvKx;!vi9sSZVJ~YHJ31r>>Iy3z+To|*h4UTV_uD|S4u!c-P-^IRmiCXB{H8DHx zdpJIY3n{^3of2~6tjm@X`_~;WsIc9K51)o{GW#BA^yquV;8x`+pwz})v7=Y&kp_~W zM$dQ$>PAe1tk$G3zHlTeV$IdOH`t*7H-2fYaR;!mRhiL`rR~i_wtSy2MwT{uzwGk! z>XQm!Gk!CRUytl605z;?zkz=grDrkmAT96~_Dq2e5B3Sc&~eTBD~AqdNZoIni&X(q zu>i8Z&U9I9f0_dl?M1w3DMBR*f?tND4cNN4%MYoPaXxyrQ#~Bo&XQcRu|&BUF(H3i zvj!%A>HLa~T%Kx#ncndJQ$KTj$|_LL)Pxt0ese}uueCZzNXKc0_#=p00{A1~cP70U z|36SZy8l83h6$6ycn8EG5n9{amU+#GNy#Y%2Hs=5cb(kZscx5wZg1lTFp~N zEFr{!%iy8bbk=v+4S+$8lQgeBzZB%~{@sQ7?EEDfbC1yy-ai`~^&+xIX~mY&Hgc7B2Ew3a?PdBa{@LxF`BJses=de>6+uJEj(x7Xzylay}lQ zf0PB5o>*5J9TmmTFrD%lJ5(>!ejvx&h0;h;((rff%NOj>`}aYSCoK^N^sg)yW%^CS zO^J-{h;fk7w94|rrY>P{n5hRh(hE9e3r4_}JXx~7>o)*lkA=&Qm`QsxSsFwM;>f}X z0j1CwwLSFz@(By=8Lk6vBl0Rp#b_aD4e@RUSu4fj217BX_J3p}%$^r9J2Cv|ll^|j zW+uraE!^n#*wL&Ia~O9A9B(x3A>hb=+J7oiM1md9ao7il7Nwqie0{BD23M4e+lf5{ zQ71}UCn@jthAj9FlLUh?zKUL((A9Xn{iis8@0|q%tG^ZI?~6-42oHMQp`&@77`Q)r zf$gtl>e7sf(J61}!cw%sy}@`8cVe-$8&QTHxS}ae$Pca^K)#s{7;h4+j+%EkwwJ+?JrJ7f0Z_u?8qRyqg>v>;_ z>Fk!G5iIo*g#L9he5O9c%qK>FE%52JeW(5p1|iOh5h=+MM=v22AQe3>B7Si`$wC|F zN-e4=bo-&?Sgo?mTS?PB9j+P%0KE8HhBnWmVmNy)8FCA6e`AjSeUy;6?jy<0k3Ol_ zqG_u$LBN8GWaeXXSiukE8R{z}e(b1Akv2h ziFyLMlYVAStmwJmhX{0HLF%QAI^=;t2i~Oa$sf!U;nnzT z>BmCJqXqjTUpl%D500j1|I>*VSj_tpfrrp8`-x`Vt$R7;yiCovR1QWn4c{&AY1#f5 z99(MprNKm538}LA;)N#^(U&j zCu)2JiPz%E$WN$bVGUq!oFE~c!@RoBV0?|p%?zPvYC@Bg^sVaDU^qA>BCHB1DBea-#5B`oeZQ)L524PZD8- zwGKPAzcf%Sd@(FuF9geYLB_9AAImdTzH9Udq4Su7!+apMse53S2c{5(`|g7sL^|{M zMqx-mu#V%V?Y;W7>xYeaIN7pDJCO&eKsVr=G1bS>TBE}@%TbirS2Z;@o zY*+)r5@!D-^8(76ey)03y%Y z&{||)&0#YV8cKLUoGcPQV;57MFNNrO9kn_O$nGcF)R^5jL+bELO~WVt+l}fL8NimyhO9HJnqyq z0T#paEZ;+r^J<(b1>*)FLXe`st}S|sULBD|bqCFeR$BxrftDQj3yy8vwpW3NGtzj&|XTNh6&!`uOsfpsh%QdF-jT+*9TY8>0Ez}h5ncxj|d8UOs8 zxRZ7=OJhn_=l{z>grx#F$iZ9`v7itSK*as=o@QOHNGXs=Lii5>61Ruz)@qmrZcMZ* zIQSKcL;hwCMvmW*E5|$KvFGX<1_uPDy{C5hKOQ3Uhj>!ZgS->PvtuAsz2hau4|-HN>M=%u8e z`^bobUj6;(`}1(s|F9XiNQHU<(JD|{+pVIou(J{Kr%ebz*0?1g zE%Mwmn70@A#A$eIj}L509=F_Y31jB|?@MlgM;@Ku#D#JR2y8chq8}5MVcqO1tEbIZ z@s$2=;r}*;{4by8MnQK5{yET;j1(DYPVq0Ozg`>Vp85#fIwfW_d=h1emGr%jW})bO zac|Ga=+-y;^+wu-iKW7d4k}0ZN}R`&ay>RasBG>WZ z^sgedkFVUTyk06JNc8^4AbDzkRT{9?@7Gd{RnhFnzlC`VH@uK~DxF!X6b~2Go^eZ& ze38|HFuSrnAAzk*zQ3STQ6et>_5=Lx#*tOuPxQ^;GFdkB6|;L(E2!A0+-+0P-RcG* z&c_weeCqGYXi#6FSv$*ddTrV>z5cQBju#V$nAWXJnt2nG#!L=Niu7Qhrtz0VpqSgO z{j&KndNo#m`Wx6KMd(7_Fdb!l>R8Xu!}>Cw$j@CzPsLKlY;+O_odG5*jd5y zxIfo+b&oW?;xrun3O`7m7JmEwtU7J=UcS3mvgBso*Uj0&?_sw-$EZ~dyR`k4+*^9p zK?p^?>=h#DUA#mQ)c1ygD;hdJI_}QzYuUK?$VD6+4}b6X%VpeL zI@ew_(^W#dNFGGjE(V1%d?>2v5$_oezp-mm4#JcK47eVt&v%fXVOZ~;tnCVzSArR) zxetjpi`u`yzRmufFUrFr?#}MwFci?;d@yR|C~LT(9_{gN0+ZY7m%o@*z^JgY9!@p(E)P)CNmC;|G_6^f@r67q+R#&!{!TiL{6XgQgyP z0&8lfVH;qvVi9|dF#ri*#5Up#BH#YKV41vTNR>rN5F9u#DS-?aO*X!3xcljC8Nw-u zfC&OE1W9ECAq)@)&XXV^h9HH`GLt(4Stfx5fd7*o8g6~(6zPfEKsGz-p(235W&DT( zhQeY$PIXLxde|)&kgj-V^*!B84old+93rOf`zhabJ&T5=Az{RKp18t#?fv z8uHK6_vRdh>4zXeV|4A*?&hip@2gg*uW)=zE5esU5l7U7sBBW;n($sf4_rR;qRwF7 z^I^HY-2X_Sygyo1HNM57NQUj&iK+X2znMU{6ANybuJn1t&UZ`VM^SY1P0hyL|P|J@fob}W;h|F56e zv;PiZ&x_$@-aAk^pNl?ig$`)Es0*m)H&xRtcYN>i_eex$_fAd^D&J3|qJzWLm`|o~ za-lfexQ>G}iaN*3xsb`}Yq4`*xzc54k=HXN&VKilg$|aMp-ytOu5*ySfm!WeF*_{l z?xBsNQ;Xv6M}v@4{SNObcZT^f zyE^WMB5$XUK@iV%2%w&CE!4iqP199S^m=r4G`%$}Qz?3^s!er|TWy54z}#BtFxVG% zZ%|qDAU`7@2588OoMc0eg$RT@SU`n>5ji3xrt9JUEvki1&M6Th!L%@8qQNa$NC{GM zszgLamcl5R%#aW$Ab=xd-CYB|kMvik)iX*kK-_jV95DgQLbik=?2EFBufb^AL5L{; zC`a&I5WtWSL;!>|#xaBcq%ztPL}ahK9sWC^DL7R#?{wKdEi#;~yMj)@oZGaIm zHUE038WS(t@rR!Q9jSckNZ5FUY(a&9mB>_}Orn0_V6HA`NVbRe~XLVM6o( z4VVfnC^CgfXN&ylCkdB1FQiCB<49t&cs6aXikT4o!NsTtxHr$yoAVh$eHdo;PmxUrF zX^aNRU^f3XnFMj4%K>o{z-Mz(AZ!;7lmjVA<$(#<|ld&4sE;)EsCFwB~CxB|^ zNR+~28%rvMC3%AwGbsr$`$-TT;(z(^*mlVXH16!5}AKHjvr^y8wep4YZp?SS?~Af(8JOxU>hZR!n)9 zUe$)FgE(Xu^6@67F?2Z87?y$}Mis`X3!e=lnnhDz{5gZrT8*+3CWPkbq(3zo=Cop5 zLuG;t+ekK4c90k)B=S>9IuLfG38&~glIs5=>m)n7!*5rK#~;_1SC+z z#F&7Uy2}Nq*h2Q1#Q_8lVV+7-&B#t6rfkbUm&%`=Iott-*S2hiB_JIO$TS!M5o*($ za+c&I(x!4mVjG(RkvOXMqe@!NT}E4_PvmX5`DmPT5m%ys1xuKbhzT17bgxP>8ubeH zAgVv{Xe}@ojKkZs9{#A247#i#fKfw*UAD}z=#ALikO74iI;y%TOacLCki5aKx&pTZ z+CVzIg^^@gpomI!!VqZ;OATft0OSI4?lA=rooM~t! zh{u}NS{l8m3z@OIKr$&~V8gPN7r9Xo6R`GDt)K*5;c5gqNhrnKS#x#litgE*LU8u| zLyG3ak#RDpHKz%hN>ekD1F$MXX=p~Rqw>pTzJ3yW6$NlaL?7((47HOWaUIngo9ONPlI&wP5#JFpj{zUp4?7C6?))fTFcS89<0z;-yB! z>46iyvffHqX<%7yrh- z6on#3-fII}r>M{(EHhuOaf={H0W4q!rB*`O$k!GXB>04W|I3WDN>JKEZqB?p)Ll&p zq6MopM%3A~=hN2GqJBMh5Q)|6p?2kqtY&t52D*eAZVec2tf)#UMS~wXQ>i9XT1Jqe z!B>gpiTBpX-s9!vRoHb{vCDAk#?H*ee=os+;qN)}KTQR!q8z?xW0{0!4U z04uI70-1pZ2}scs-@-)33ml<42L||eM95tc-f0DtC|T8qe|veUs&!gbl$7C4*s~QX zl{ODO3c}wp4uxs>8cx*RgV8j=)TtGVE`_8X7NEC|@YuH?qs)9yeHU&KUB0Y$P?EO8 z;i|HR9&Q%UGxHM@ii4Y=8A?-aVwB54Dlo)D5Q~;oVnGdc0xeJma%B~7B4F}iwCBgS zOiq05$wY7H$&+1+mhLvDh1B`HN-kPzXr^x(xlDqvfD=TWLP4e{2^$TiTUAPB3?Pc= zRn-%85FAX*-!elHz02Fx#`L}QVRpE*0O=Ynf2b!rO~X zHn`0bmmVCtsZly39r%}(y|;ZV)AT)j>{zDtmxBfnEX_+21~N|U;)JOT5|~Fuu`pV5 zwX!!14tdOD-w$H4c8L-0|A$ZZFzvBzO(6v)CWz?q-)2ujwp>9PEK`Uy$|#dHwotp} ziF1~n9!^SBK=~_zh9pzam6^4XEi?@f+_fF|ecPr~fxJ4-w(cm~cH%%=D7=)O-OFMv zb>$u?+PcRJ!(zCKjECea#8lGw+c-c|Q~rhOZ9 z!=r~^`1eap5i?>NR2o+iAmTt-LJ(#o?}NA9@CQdPXQG<)jFv3G(vKBdIuINv(F=}F z-KINo=&hTKWxGhr-NyG@!)gNUi}x&xNrNg70ia=^x8RJz+F>SHY}&qFkw^w?U`B4O zP!2!EtdY6tza6kNRH>$3XXnST){-QJkjm`@?N4H6Wk8K^cElTjmBWmA#|P1`B<$+_nR ztj;0HOsqTAS}A`4`CP1`_ldpOW&@#7q=-eS@cxX*B?S_p14g+kEfAHDD$TJ@q9evY zyHT9Av|v)pw2%$D)toR5n|q5o6J3~L(1Rimqd;w1Vj*hhUByenB;3Qo8Lunb67+l6 z;dAl(%|PG%oWRTloLs^MS!Ny%p8KQI)CMF`X^T(!wV|mZM^Mm+u+M0c5eTdvKsh+0$K!EEn9osuCA-6E$Ye;| zT)QR~tW9v*VPWdz3cyGNfwq);ZnEN~1`OLOn^e3@Ch+Zd)OW9LbDlK6lGcyb(qsj` zuPh9)XGzVrY?(7~qR_%U%nd8E5)!zK;{ib$LAkR=!#^puU!4KPEE%6U$<*7`NZEx= zEVk+IBQU6qi;uI{)oPJ?+aOS`Y*9%i4b~Nk`TdO&xkz~>sW#B-T2AGaJGSRG5-p24 zkEt{u5E$vsi;O;c;%uC@pRLi*CeaEAVnqbgLu?uOk;%X$UH|MHV*s(i~&ylu>k0$aopDc$RtFFb`BXT zdHt1C8?qd<*5_Rw2ZIVWH^Hu~OzmTFRd}un3vr4*5`2dg!q&_yQ#NrwOq7`)L z20D3vkTx zXHkW7weD(iB3VO`Vz12goH^{}_I4XM{jEjaMCk);k_(uWSfW5&!yp;KoIp41z|qDt zErBZoA%kKNiVX-jMwAGUAV3jCO7B7gY;Ik8*-(={-fzUt{JF+|qFU=LlQ08sp`p7? zi1pnb9JS)H!*-IEHVo`6s6&BF-3>Aqfa+ET*Ndg#S6HZ2yH+OI9(@&5)f!52uvNW$ zPZO=e?{9JB#o~ddt_;zTNDW4S7@BMvY!T=B9KXh=PHt)h0a7Ip3!7l<=I8Jnx;1tB z=o8>+P}}?cp@amg95pWg=*VzQxGa##K>!<>7Y>C=>5Cf@kWQW;J-c!hiWItBiZJD? zPtE%M$A5(D5$Q9=($-^ul9{%K4Yq%$){-a@RiNbB4FM7@0a^R^=b?pOnm9J5(Z?J% z&La$z5McVfCT6I}3dIar0+2K}e1rr7Of?_2Qd$P>&n8rkGnx?gUsG3;zx>%}hz^IG>9sFr)wQ{`RxQ z5+4CyMo2FQCD>||+@td4E>}NYbm`1?8_iQVTxXNy1x0n9yS$4U`NB2#&$g<@r}v!fnlMRD{rQDncO`Z*x889Td~L;&%Gc#MA+K`DWK|)$_jh ze4Wya+8cRtK*=%v}lp%KfNW6D#K7^w~oe6rLcL!HBQWRa?-3~_t zgP`dfVJ5iZd{)D&%^lA{ep}q}T7A*xHFdVdsA%jL=JR#`kI&v4;BT-XB8oufB_IoZ zHY4aD0X+0zNF1&}9D*C6d9UegiU`4AvA2^fK#vYw>1v=zb~YLnbUFor`q*O~69=k&})M3l&Dbmx*x zXmhvhbbcR10KM;rwB+7=pmhPL2BJogRh|e11S+dU0$Tgsv)H0L5z$f!x*)>L1u@38 zbz!=9maA|Kq?D878Cxn2U_s58+3G}AjB+vpDGdi=!-GpAg>wB*G4e0;9tps97~2GC zfFYOOWY#_uKTQxoE`$LrH$i*emnHl6)(AMshQei?Y3N&eq0SlVB-(A<_nRB}8|3qC*$9r`Gppi*qkQ27(OK+fUHvpdeY`Of2+#yxp~%vEStc zHEg=a430N;^+(bmD?~nTMAcfe6RwCJlsz-+6|{x4E<{#|os%aGlaVWJ>3mgv#AWC&0JBVDNP`9mjV`X7081MT(Je@U zUr1nZ)!mr;Sw8O{){$a`M$F2cvCyO!Lw4e7Uz@%M^a3h zq%@9~aVKs`)1&de7kQ{^>r&K4QL@q+j*5g@AxxNC>@J>hA*h!zDsV?Ly`O}N zGxC$V-h~heYR?YVt;4z6D1k)71H2cbKw3k0bXl|`>1kyBRnwnk|J=_@pUBd}W@n^l z0E$TCd6)?SX^784&jGMgRy&=tcWNpob9y{=CjFGKWE?P6YF4vev)aAF*LlYb7yPKf zvaz;|@?;!ULRIf<&t^{ZhsJ{%SeU}@F3uuLA%KwRgJFrFpbmm)COZgtcCD_r4?@o_ zHlvaASmeF`df#75kzMtest|*=4f8^f1IP#yDyYXH1&lILD^tV$oQ;P*sL0RI7Lovw z5n@8hfffrzXp1o3U)gC|akDf^doE%lFE$Q4>Cu|THtqUa^+;4fnqh7IZLtH$5#hb< z02xWh0ThhIDpbA-fFdOTN+l4$Z*;qZ;+bH>F*Ua|)~o!!qK=tujF17ytplB95Y*x9 z3lteER(|#9|Emi+K11WroQ%W_-Wv<35=1fpXd*yVFHwolQE%D1i>D9+Vbe}La}dQu z(AjZ>vdmG<*-TA)(sUC-3;{gzeJ=`5HA}UPsI5p!u07Q84Y%R3nct?vj#c|P~b(b*|M$|@cBNy zvtO9k0L{Ki2Z(_r=mh97NDQA#0}G!UYacF8@A6`QO{`U;hqs}}J2lDzN=K}D*$|de zG2L>p3lnH>I*Zltn2ccrb5>&%gE4{-0WAi2?>KUjj>itH-oanVD&6UE73n;P&rSYt2fT;3~xK$|E%e4(^e4h9N z`Pp&)&S(S7$Dk!a<3x~970%Ott>5yKBq|9O@&ie>+d)g!^1pXq#Z>3Vtaov;b*%NV zxw{GJ(iitvMsYxM(AQyrp6-@JCCE~mPQ6-`oBkYMQ$WuJZJ@=kr#{o(&X5(JT1A!x zBWytwxP=+$&5I8FbfuCVPqKPOiW?p1*7xOBNI9GsSYpVM5ZFd{Ci0~?z{aZEkDG_U z!`}Ptv;bd;0b?FPzu;{I9dr%nQ9}P>!8*>}gj*L_rA& z9fS$6fdiC)4I~Ir0*NR9B?!oYlO-vD3Xn$v2m!u=d7UQKT`9*a#|mUPDS0$8`PdWUAb5v8aSIOX_C)A3N_fvG;zjKCMNz!#GifbU|jc zkpZFuY#U)Km58X+TwIP;5Nt_-20xDkkp_l^AZM|M)ADuwR&HKFp<&1yn6>m`;BCr} zAyZ1!tALn0s5)m5gevFDf}&x)b6aiw&ZaEHkw}@y|8hmFVNz7cffyj63&R8vUlO)b zib^IAK6N~~Clqp1j*er*-eDa`N^&-pQHpnte*)pj1l5QupYJY=0Fo=NLJyvnf@B*eJUHl$0f$fWevToCjoc&vaFQvaabjqG z24{glOag9tQ#El!yNRAj2D?cO6z0rN8Y)PK0!a&h_`P`vMS4sGUjq1FM`>!tWmgu9 zwjjH_xJ`$_q6nyLF^n1$o0fGT+=tSdz1i@7ugzbN{*1W*$WAbKJV-1pu?TFGf3zi`sYp z!~6YaHJ|~WHhqZwl{BvL1nOYxR8wON&4x$kj%-LK={fEdO! zBAH|L>?IYCZ1d@h z%J2F9-KvBLZIhq{d(ZiLV`TsUi2=qvL5@eovA>HJm#~MpI(S|tT;xgEvs}EMWU@&O zgk4yL%&c~}UyFbU%ol=4_7M<>5HW*D8uo2A7rY$)1|8W$V)3QV1^e^9Y{`My>oV8a){xt6A{Sp}*0zC#we2low+ivNTF*IGwhD8Vut&jjS4qfoX-_arDv==;UsWie!PuSf0A5Taz_y zw?-3LzNSDj1c=%Qr}w*)nFqbE2`<=_E`Vk!p*kJVCyLPcv~ux-Bchm7KED#Xl8^ygolO8{vT#HQOAhq_K-5662BEJV&SBcomA!Gp9Pu&8yFC0+p;mg-!mN!_ zKDwSKuXlKzb`tw9E?>csB#a=N!zxZ&KSoTe88XJp2wA;?pC&|LrJA7S0Z*U~)^KOH z_*SLa!}&0igcE=ukNiCUhl&J~i4lx}Q4l`k@ie|t*U(s-u{F0>BT)IDG|^!-Ca9P5 zA%nJus_cJGb4frj1=shX(c9&`J)ETMKzuw&VnqS{Z1o=g_sW|*3Kg&z1(QJ&>DsTs zH;Svx8QZqvq^&4Ul_B1XV^8h%s2jcr9O)263gwzEw=QI6AqLb`8&RKWKex5bb)|GP z;Vygqw(d^0&322K6jSAvw~A5F-NVr)9;!UrrS}6E0EAzv63!V=8N)X1xVb-84*n9P z2(bwQnt(ct<@P+HcTgOs9;fY?fy&Q^2blQ>9`v*Id6LkM{JWCu^r-OVBaX;~rB~wg zHjh*H{MC%mF(i~4Z8oZXh=@@ha2dgza;J3nS9)Di(;d7}zk6qwIh@K(5hs$3=R+)| z7#HCoPyBf^#OQE}`U}_nN4tzf0~5lqntyujw`%T)NZVrI#s5wrMjn?FlT|1rp^~1u z$5%N0Y+lzNKQTFoBxUe3upppwXCXaS18D&>6h{g?v^p zG650d-#$0Ix-gPKm;yL~m!9}`^=;ox>fM}S>0f+UmRO8t=1}+xoa8Z*R92^BPiBhDtFWZ(`ig&15e=niQv|j@Gb&a&2!f*i+ z0qEaF&QBvH^t&Fv9uMjN+9C-fFCb-nu%1NU6T-i=2m@&qUT-zYfJ7jOAshso;KToa zGRAwnDV-ig-I243{HDBRJ%)utb`l%A-UlIVD~$&=1R%O3%c9h^-hWG%svn z2YxS%mJP}CK4m&|4zBXHk#P*Ue4l=DT>0s|nj!^3Axr`1Ipx`a!_%HlOmk=CGQopc zgc#}$h|z1G_~mMGVw)~yAS5ur29RAjYvMsDlu_Vzm2+&qUp6sT%(yLNw&QK&#u@U7 z1b*Dg{H@Fje*D=!OyH?HGln*|#J%QOGSBDF-nLRw!#WzVhYhPVWY*r{q>t?>?rizp zexQsZ0{GZ3k4gd*S%6;ZiYBL^j^f4miq=syt|nHppUUSlm2p=X-G9|uKtE9eObHtR zzs`-VjCh+f?HMwY0k@0Lxr?ZV`CCu)tb02}g3}lYv?I^<9^e0!rb#QUg1RVeW64;? zTVVq~>1{N$B{{id*x>8mZ-C2ptakTNNyWUMMvv?NoQ&lgN8$Z>83UT0@=VX)lt`&<#WM^n7v&8}9Z z;JREoDSf<%5da*BIg5NH!^yXL#&-!d%`5R0=LfF8M{>?$dKoawq5PXq2MDmBSB8>p z0~f9Dc)xGoS(p%J2^oNWsj`K&{dS{95LNHr9p8hi7W4N>u`S-=SEeY@3Uiy zjXu=Ap+CluLR#BJi$X}XkHUb37DyuE^nFdv%D!l1k5%|FhXv@}gqJ@L<&SsL+(n=* ze7^wz5DF7W12HrewtDM~<~OOkJV6ay6UsZ0tuw*x?-#bI)0L!^gT{C6z(T%)`XQgO z*Ap`iRg%1yKaK^j&n637%k*aaJ@?nVE65e5i-pC$2!97rG32sFiP(go1n8dxpDKrf z-DT^{em70Kr5KEZH}FT+WxK!r*6?e(Jfl%74l+O(iG+n1hZlSNy&g>>lp}?5H@vQg zq{y4fpS^-}H6z!>k?8Z%r%^}V<7uPF;qFOP%~oNBLG&_(%1^fe@}dX;+`s|F!lDJp z4)PF5p?A=#9<%}huYd&Az^HOxo=AqK0S$Bt0mZ^>-~cFqRIeYR0BXPiKVc+I90-NT zngvFzB2fa1Rskgf5da`W0EL>8<9 zpc<$UKSa_1#(;KEf{r8t0W<&yFWpE$o&~!CQ39M43TI$MCWK#q2qVMCGYXnmM4B_u zfFFT0A+)@P6&NV71ttU-D6t@m1QLlnwj=}_5@HIh3JlYJ7xVC*EXb5iBsL^ACNOl| z5ZVTqn@yycz^v0kWiT{9&uMqx=ujRTKgbG8J$ z&vm>+h$m=lY;88%7@HCsNbtQ5mT(6+shnPWX_X)0f>FzR&7A2z+F1O5BarmJ=jCIr zIJb}_LZq)Lv4;3@TMT_Eb}sMwgOi?{#tEOPi|=>~)$q``vzwNenRORObU;IW0ssZp zhLLq5|LOJpmSs%%e-=cqY{|DBtpHuVK0Zu=w|C7V*xLjM6u2m zi}Y%#Ox`YG54-d(*cC72I1!!0 zIU10ZeSJDSQ>(%y>~O&VIGy&6dDvlrN&qqjZ2ysl*FAql6Ev&vY{*-=3v|}^kLU8w z23|+^X5Yeqx-3{Alv+qe7G75s&-7x zwDES?_L5h@8-J5^1V(@^fpssX_@~I$8ajF=e%1yKR{?j^)|OEpyvOo&SVVFGA8H&b zGhsst=sT#fuOsQ~PvgCB%%EJe1B<7&%l5UkI{qt>qu^W-c?$AroL<+dh)6JLi3Sjv zp06 za&u<}MJ6Tg-$C+!^U8v@D9WyDw$p5F0&G_Rq8(SVnmi2}7QSXXdva`jP7*4E*6bvoUFnSY z-sG_%70{3tKc4bYXbZp+BL|%?wO;k(sErY!G*Fx#P4gnJd3kPvT!k%iSCwZ*tP%&E+eAu_q^YvSTiv4vMy3dGxjDa zA0dE>n`K2LAS&x1Ci@&503PuDU(LtPczH`ufLx_AlNa>(-OX>Ga-F7chTu((y9Yfc z?2wzWs9seDDE5BRyQmlNCSuH3zsBQFJ3{u&6VYp?t6Xdp)&$G$?ENIPD3{h2Q4I3|#<2+Bv#o`q|6 zohK6Jp6h{jULo|C_dg#Y$Xo*ufH)uz#UUJU#~x@8{lK4SgoXeJg;pU{f&d7Bi0ow{ z7=;GjL7;-{+6$A)Tbfsb)MG&F9#j><}SJ&^(@+UKMLuQs4_S+Px{Gs?<@x z=Wn5KMA7&XFDl*=;&z;MPxANucAn%-rOxHfWYg$P;N4NUA#C+*@)wmS67q(Qwzj6( zuP?!Z&ZcQcRyf!#jFCBZVXSk&Av_QwoIZ*=M34ls6ay|&F+%U(yD5uS^>(PcX8Np<^Yl83(=N^6$)MX7RR&8zcj=%vpco9oqOKDg{A` z7ZSKGzFRw3LutCQ;#aEqnDGlJD}pQB6rnMzBc99p44m z_j0`zaqvr~C+==+|Hjx^6+9>a?Q6oPwxJbd0J4dN_NDTpnfk0#-but~7PehJpRBe8 zfB{&5lt1*CI+>&kd~PR&*z7qE8$pB9yD5N242gGJt@rP|w=P00$#wHdQeZBu{WnXT z&*j@LRQerF?D2aN^_`wo;4a<}KE%>yh++^a0{Ync94E!Ig8iVlSk+mx073&|#?qF1 zKtu>cB?~|veHQu-@15NE9gMkugFmUm=P>>W@T{plr&DslDR2a?Gk0_6{+>{kOb8)5 zSOpmQ?+sRC-1ihHyzYKl&Q;77$}OG8MKNg>Aql{?K7Nm|xr_fQzEs!it5!%7762gn z++=X^kKgB=*suA%q=1tMCfZDf7(ikH2w)LNNEIatAt+{%Areple_N@-j@lb2iRMBP z=}1)b`d;H4wk~cN2S)-F1FMqXp#BhnT!xfNdcoJD0UcqT)sVR z-s7`Bf8DB9bzlNbg66bjObc8>(%JTD!LPHXJf6Y118gmU_J0Bk6uWRp zM|EZZyo2>$H<}RPW9Drq@^`^tw5gMyebCT0aRn)MnSKAUS z5dxfLfuVmLKXP3yBa==I9Naw!4^3Csx#r~-+i?(xZ#=)fH@Tq__*@_9==|8>vppCz zlZtOXKfLK~<%w-l(GQ;~5%T0uGWu|db#9Mk@@L{RSUudco?e@a_}D7V&GC2(trvs` zRRFSweIigH5T*JE0{H(AZJoKsdw*2Lg;FH0%IEoTRO8j~JIdZvyV;c$IIS$;6BIaH z1+WFj7%>+Zg$5zC18E>*7%{=1Akt7Ez_=(F>~%ReB6&Z9{OVO+wh1b1Vyq3YK-hwi zi(xDdxAxe{&2)O{PmI?qh?ULOF}%=G_F|M86tv=Om0hoyB~USW|I_=b^df~Y3GTJM z^_q3o_^<*-hQYC>C%(?lHToNSr(=Xq)p#*M76t?btYkx1@MKI0iW$KDv~#~}NwKvo z@AZ5OO`$BHzcv&uw1v|DtP(6BOt32mg>Ce_ZaN=MV-JY@j{_*Jl$AiN3}Qerq#eIT zyAQfZN&=iL3O*kChkX757cMXZgANRMZ50mF8{wT=t8 z`MsYD&TV=LvU*Q_gbWx(9C-13+>&8{0*WO7WTfZn@TK2yl=@mN6!vx5SFRS8xSW&- zDab-x0kD@I*H_x&U9;P3JqW$P^%n~z!rBOhdgrL*{P}`sVZk7vP(=iPm%#pj_AC#s z#R3EbRP#Od#-_ALc6@%vH0HTim2$<=+6!Vq2C5+wA|bEVA=|Kn5DJ{U3eyCk@p!II zdBpb+iXJ>DS%FfP1v{t|DT8+lDM?CTb|fNdU=pP=06Hj9csNidg$(ov5`{@XrosgS zkb#~QP9gzuAq2qy2}~k{T0l0E6+ZR=07Z+TL4mdnrS|WhCeI$*kbcvJ&q1Ch(h+w) z31>DWS`}3vJE{G=M_2T<+YjK?;W`Tz0>Gl%QMQ)a)&IkPkIQ9YiLChC##>~xKnb9M zEuvcj*#2rilJ+(WSrx*$0zeN70s|;G-A!(udI+@;0ci_Bc3j%xLe~5l+2eC(kvpBX z7SLK%EkIK1ASDnA;anrT-p}>t^6%$xhPUgd)?-m z-K>m`hwRJP{$D#L`UJe+NAp>@rC#x_-!TH(mI8FV-xIF!KFv9*P<`H=&iBifu)G0s z*$hC6L;+V>`sP{DCk$i`23&Wy;OuEFa&`@E%=B) zn1z6ZO%;DzzPHiV9}6W*H!G0BDagUEg7T#FHpd5P<9m-QR*P3~s!#E8^_#B(%ZMWB zw!to2B0!grey#DQ1imyMvVUGbzgsRR=jrTP3abnvgVWjZJz3^dw56r!I`2o?r>^;a zKjGnWzW*=LXgCq9;JOM(22piOtFGDd{^P>e%}hDiJ1?zojnG>QKwA(E54Z1kQTl{lCtr?T6)ur(gQg;x0g9W~Zq~_Qu<~ zeECd#XY>fs>5O2G` z=io>m?#Y~<29S3z3rTKKmbi(WD=7NnUR!;rDMF7b5@Q_ z1%MQ>3V3i5RI06!?IVMJ4%bn(`Ha^v`@7bRC7>K`#$7}!aZ=!vGa8zE4yWEzi?{YV zTUs7V=3G|EauHLT;{GNy?f3`;zJ;XLeg7}+^dIY2mE$?xHw&Y_7wwXj!7`czqy{d9 zs~=;76uH^wh?v??X#m@95Q88Tq$M0r9-&6pkL2oSy&q$!#2SPb1-LX6)Wns3r)`mk{uV0O z1|ft6D&}|b`VY-{NeW;xg#Irx*ihuQHBm_beXmX{C}DS0kA}gVy46OP0aH;T>n*?^s_C3*i?LIZ01Cv0&)ywv^%$3D;<9s zh%PGBg-;9Z%CN0qsy=VO{Q4msub12b$v_A0`i z`aY&FElqH20u~?;ECK__Kr;eRH52`~&*<|um5fvsN`VeZ`v$7AssgB{1H7N&Q1Pbl zC-=2bR1&Df*g;*1FsZJECPc&npdZ=Qd!bzYiE~f_6KnT8jL$c?wp$Ri;Dj4FQVwbW zX>OoJ)um|Vf4kZKsy_dY1+k+{333M5HV6}77n$u^?$~6ciHwjaB1bR4zkl)2N_s48 zLZZM;*g^2+ii^@BBKbgfT@8@T*UoHIgg*| zJ||2EXFxImR!CY2i7OHk$qN4*05U+HaFGC78QF?6xQNsip-CtP1{4tMW|66Z!~iL0 zLlk)oKf9ss>EgczD3%qjsy5g+(0H&|oph^K{3U`pQ zf&nW85aI<%u5A21^Y303lDgJVEs-<>rG!Z$^p*<=_1EzH?UpUfTx4;PYp}v0!@weM zw^ABNh9N>$mphQM1?h8Zb`U*~&!WgTB9I(~2B>!HEmvIFBkBQ;7;=hRG0YD~@83Zyu{Qu2Rt^zuHRD%2J~lD|v5gq9LKGcfHGX8lFacYOC#B@6kK>LE++=6^QaT5b3aMKogaqGVPFQ# zcR~jMUPUnBsy71To7ihRUdwjK#`Urn0oeP;h(96C@PqM}d8prS83}WD*-G)nu7-3< z3@7~d>FZ(3+;2SxIs6zl683@OMN^cK1+aXY(cNUESm)qgXNi1flkz}B4d`A6xF+KF z1I^&F`QMEBIbiU*d`7$YG;ufO_Cx0u8jeLy=Jfmfl(XDmGE*#zJ;h-f z2k?&@r?;C6O>Vr7EWEJWj;uCbSkn~0!R_+khk1qn^AcJy6nVoOGKBNg@7(>qh#~i{#g2H_ByUB~*%H7qSlUqp zuE*d#G4xpkkkCG4dV*AS8Vjy4WMq3mlYSrsWO<$wJ6z8h8BR#nhK0cV2bKkh&kx?1 zU~vPJKrxz7N*?SE>CaS-|3{`A`)Oz4cx?_l+%`LVgr z1o}I31yjkzd4I$O0m~i9C72)MHfQx8a5)gRb_d0uYI8i{-q0=fCvbhrhW}2M)|N^4 z&SdW`0du;CB-c7n{80~7S<|EJ4f!$fKVa4k$^JzmkNRhwy}*I5%_%r@B4B#g{kZpJ z0R^+Wg!ixlDw+b2as|*w*<> z&5lJLV+HMQ1R!9=oRI9|5)9%s=M4*Y2i`0l>FWa0yNu1@jPI|A&MMI-kmaPRa`glL zC6)3kKkZu?m$Sb^bAtmPE;7CnOYMJtc&O#xTe-eJ{M$npxoLsh+TmKo9j8rB>ld=Y zxF?OsobrMuQPctAeA~JHn6Wf)#`XldGH*p!5kUy2L&zVTIt6h*2nco0)Y5~aaCkzy z5TD45Vyi_@!hnXV7HXWA(D@{zQSp2WM5GDv!*+ zN1s{Seh>SP)LSHrTzkC#{{5_(|1*C<1sg z(2^wy5D{a5@Y8~~rJQ$kW?(1NYci5=t@YAd!nJ<72UV|3QRRP`jupTiO3;jC=8S@` zzA=di@&2!yhPi_1iP1^Wp8uK!OOQVEVx-gqY&!f9`F-!Oez-gM@x6+chE{aMQ!Ag) zb%{ZldAP6sA4u7n)`H#PP5Ah;`M);91Sk0T`Hn>oIUzVXqofe?N~IR=nbI?Aq_{Reap7(X3#@~LI%J%_2 zml;F!Vmo+i#V+W`Y)wn3+mIv#vp;P@=J!mS9r9>6l zA_N#HF(uB=UUeb~n2T(w8kC-0SW+k4v%{eNWIMS96xhafP6?rngn|!q>fyA_AY7Ui z*);PTa-XZa)St~pauDGmPdbdNBwcGCw6PFPg7{2QrIeKs*1sf}FkJ3#u5_bHglne8 zFc1t8qz9AhB@r%WCnz}xXV-9Q)Nnypfx*dAGweyj7W1xuVjIc@8is0L+Sz02WA+R1 zE;}BE-;L|&h(p+R-i87Z7;0(Jc{%8iLGQuhNg=Zc1=7oXRU~8oF*v$W#;r*V08$X0 zL4A@4_CBxOBtOINl;qvLwM86T!M!vUySx8Hdw#0w8s-wB7dtY)0mwFx?pGlT{7g_l zegsDi9ryr732Ny70dLqZiA}v#$YV!;q^#BPGFRz24WBt$9KSUo6ucv5a#5UPZ8yY@ zQ8p^Ji&)nF;qosGu|-d27%5IoN8=z;Z$$ber6Mp>h__k*WE2qVi zHjX6;KG0Gvjutb8z$QhqP)xxRb%-=zDIO|5AK&M7TiWS|bC|0p$98DxQFgW0NtgXT zB;veZ*Bjuk?BU3!O%iMgJ_&F-(Udz<#$>hMpsD;70I?zNj?S*2wfz!!#;E7D<%VFK z{e+oEl#x{qpPksoE4MNP$wu8^*!;Tde~F1@aal?$k4dq%hK^D({*~?_Sj0AT9a-y# zc^fedJrg%QHT#TQ`1@Xs=Mt&+{}n`A2zK)07(_%zKdtLL5#kS$!C0|TJg{TJBO#cq zUTL9IMo}fU7{kJ~*yI+ttp@{Z0UuXTm^px)E~bil)shreb)e0!YgZ_*hY6T%fC9Tw zCYOceV9i{lNw*rqp94@)`oLvx3~FhNu3z?d+k&p{$wa^KcpK=Ei74()j;LOOM$sD< zQI+~hK%S_~!h`s5pUo9nQParjViTqU<(D2a@m#l2{w=rAy!|h7W9a9)Y}?OUM}Gh7 zr{De^nbbO`NPg!MqiLF5Z!hmf5BZ&Cooed-KOCEQgrW=p}1$zcOXwgtu!L`Ghy zGl2O!b`XnPX*OS1^yTB9*PGm%F44s!z=`y$yjFQ(f#q#MK;$j%GjQ>qy>oj?bcs4) zogVecu=Li=^5~9vsgpI-YsCgLT%fS;Si9EI|x7sUzf9RsW|&7goOnN#?_RRAw#fzPxVxZVdAmyI(@9XiG?rX%F2 zkM`xbK8|=-^>}+BQii$1QeU(w@4G*hd*}M&eYONeQVsyZ$m|Q+61y+=X6x2YJJIjrW&{*$ zHquj~UF&(>@RzwAYN#-0_1@*I4c}NYsYt3`pSGw#d}5%*1~6ihGMv;%>Pq#1Dk)q+ z@KAvO<`oGkE`rr1tCsskTWV)qb|hR^y= zH@H{}dW3l=6a}a)lmiO-9C+e24o8qdAG+7Zj8>=?XtFvWy+w8?}RwP;1Cjr zegke@1hLbYE$?r2cYV!w?GiKfnG)z4?+37MmI%%wvSeN@EdeQnf&#MJ^vIhQWOMH> zG`_;r%r#bK>(Ziu}FL(YE zEf}^}!LM5QSgllS-}rmGQUlYR>UNw;i;*LC5+^XS2VNE6+ySqkM1spKDsf6+eo<-=A6o3GTnB?wo(cs%A;#V8WY6JMsh|>Q+Vl5&04k4`VB^ zTo(qmqk~oi1QKzYKk$8Fyl>1Dvm^%tk#*%b)(-kMne&-tmw0F#alhL1#q(*Q&ibkB zQY{^($lnn>x4|*w#cqZSR3phThRRe0gqpYDkr64n7NI?4J#-j ztzNi4Ht^R)3C^evj05N|Sy>7V3M2i|!I>iY0FX3lmo_+Zt{=UeE9Hi19691cmD2lc zwaCMYZ~eTh@+`rfvm4%@BoW*Ks3ng(vaL~!;d@`KCeBhg6$42m7~n98h9pKIG$sgv zD}Aln+%Dl6Ix-KsgcC>VySPZtu(dm-M9IbmsTqv?K6Mswij!xTh=|kkkc#84upy_M%A6KK_7T2 z3iX}$l`5}&bpq@wvNH#m*x^G(r}ivVFdRXnZ$Kkq&(>4ju45qrcEuAqTdf`tWrXw2 zMMpkQN|B|gUg3FP-F=HDRsvPgcaa1(Gs`>DL3G7*}d&QI_J}1I*FpA8oL!u8Z0TW%4tU5%S#3&7E%W z35n<76*ID;V$C@E`|c7#VvML8X(h{3Z9L3cDuF=E0@pmlkAo0#l%&tp@KzuEf~EOs#ql0uBcTVgARK|!ucrMs-0xqERn6d^d4Y$C4G%wqPwxF&Vp1R^jVNXs zmO04^jS5jf*U_)P_ho{3@`9I1(7{HapL<{tvwnxFw~-PrWX9U^Ro-Z!zR^9F6eQyj zrYC1C>R8y+C@FhpSfpbp{r>J!-jdi`63U!cs?0?ac^rJZ3+Mlfz}QQTdIr{LVo5V{ zO9ZJ*AOcAUK;=#ngpr;xFfeyh=&#^Szm@UNTr7-a?VzPLA4E=q7TY^Nh;Z-Z4U}w( zC_&msRr)qsGJKP_lMH=)d5XweSa5DPO^Jgk%d<9`kAvBlMi^mV7g+%WCx5`)Geqva)BHammCUKS=^=t8#@R2QGeEZZKsD;jY@ zl=}A+&Ui4R41j`+6s9-8`sCHh=xEy$@i(?6qW=$B*IFwmet!O?wRE9^U14l7)HA-Vy!43Yd)n&)ILW%PWv zmzSHwhfXA32)Ok6Um(S+f{hux76|5`ZVq2bdk^^dT*|d~==xJRLQUP=+R>mkwCt-) zd%aU$-gaVs?ru(JM*kyC0)DN?bCV2Ep=jLonR#m|Lc3R-J592jyy?M_YC4V3e7@Nv z7R5=ef$il}!XXv3ziZErjZZ}2BLeuhs*s4%-*(aC6zInolatiyg4Gt(6LB3AAkh}{ z)18_b{OpINBpVIto=*An*cp9&uhBC^F3e7h*_8&-2CfEE6x0oj+)P@UOgX5X@|XSe zd-5VAkkn`1i$4WZ$5W_m8&(LW!6C2+Wmh9g#>ZVIE=He8t0rFqA7)EMW7U6Q)9{qb z#FBLa*94gwC=eoF(2A3WEoVY@c$N3&CJwq$1&#(%(uk_nR@TJYkY)MkemFw{-H)P| zpokrw+&b9INU5;5*znN_EzV0FGZ@pWuP;eR(eC5%yJdQ^MLovnbL3!76fAJ=D%A;T zlw=4`&OrhpoUPbSSEcDmq_iD5dmWa)vd@q~uA$8sFQ%YT)a+vQvFhyI$;GM~(+nhv zH?&2Conk${N73)+w=R(L&-dWHoTs_RU(n?V2(P@aOSkl?h00&zpx>`qHSE2$skOne ziCDXf1NkX!21U_;S4|vC71XZz-VCj5?4ATe&+VSde0}F9Tieb84n2@%G3(y15qncl zeKDOUH{x>oQ!m}^a=t@bhtoN)=WjUepKnK;uqB1Nv_KulrS+~UmB($CuT;ItWCEdh z@7=9`9k$=GbJRou^?#RBn+Va-VCf-4G5P^TCA04SR6BV11EBa%Dwy|X3JWHlpCvED{l-G92@xuQk)7;oOfVS!L6 zV^6sfe5s+=wXT$Yw!HEX=B|&D+ZS5V81{Vmsq;#p`TVewe#jG~e?l}k{^Dl{$XL{6 zlgvw28w{>}6i#gtzi+#M6D;KR>K8Tb^pX}@OFCU%6l`c@<3*6MNXHIexl~PKtdJ$0 zO+-7oINBZ$`{(W$>GK_xIPR30mLq`_BvH#Bbs0bnRob9-r zMy1%U9uzbr@4c)WoOBxZEI0#g3}kI60oHt5bLRRs7Ko$8LhaAFe_x@E#4VJH`h|JO zK@(EMy$(Q5kuD6Y&rF!A(c(U!8FDSqxIuauw}Yb7g+-^fd~kvE5HQy)WEf+NgcE?s z?!j?X9SpeXMfEY;-MID!T?F@cf^DGDrg!dV>bMhw^9sBD2Y|7zpnE1KpVfvoeaVtJ z?bUOUp4zAA=JXze%xE3!7u|o7T_%PGwq=ewdDyqbHeAEW4b(#skc+=n>yOo$4@1bk zatADzSEb)dk@e*W#dlMiyx3#vrK0%Oo~);c_)1BG>yt2iA;@$g&KT{oYv2!9lrt_S zap6pIxb-O+6SSI3t_TcOuPt)PiW!fF>*~-LYhANaQNm5puY8lYWtjpZiq2^mFaj|i zs?<$i05iX33Z8Yr{sfkpDfqs?B0NMp4~}W zscbX5wkAR}rEr^Y7i44zigd_O$x*2FcckOS5ZY#2888(yY=u9M9CO& zSllqI-1TFFzTMP)@yn%QEx=evDY*2WJ`swBLSch2BEXuFn4#f96$iY(uixi6w?J^%utnCLC@Ey;Veo zQ6QSlH3bfY5_hDPvJSl?OdL0Ux znk;L|+i~l$;Sybb%;>_PBdOwE)9n|)FUB$vR~BV@GO9#~O3tV=&mYZiA(p84w>G6I zs+WUAENUr z2uR)5J^VCy{OzZY%~@G=Ewx#jYml+HR$^riyk=jQFYmDN#ZE)-hk9mcu1xht8bC~V zIAarp>V5-4aUTFM*X>h*gl?ldU-m7n@F{$$sq|i^S~Ft7KpXCKhr# zHlOm*fh%6Ot_?HdL*l{!UU+%me_tQ!@1aQ4p(h-Scvt#=m?^#Qlc9`dAz zreuNrGuct;a=Pf*6S2K$)U1?mxslyA5nDL8luHcPaX@t-D#_K{u-ihkP8SZK6Mxzr z7%_}5s-DaIVP{@g%v@SNk|l}452TC9jELzmaG%+g2?gXXnI(*D%2{E?*8IUbK2 zFM4W{+BZ4#M!@t2jgQ<;H?p5IXBGf?X}}5@)tv5&Sg_%h8}4Q%c1DlNpe7N6`J(wA zk}Q&Rm9WJ|qX#E26{BX~J#225_cVlT0MJx1i$ENU9HMpBSa#qNrcM-&;9x9>UM{Wd zbpU3@_Y!0j%Q!PN!jkAwQ8JT-ylwsd{#!#uu1kQ~{peP%&QKm(0UUraGLY>&wv zr;+PnO5scZ1^56SBJ35zx&bI#?j^(ImKE40f(%kps09eNCpBdzT)I7@u4q2)qN`;r zWiaV*cN06P4BoDJY_D?-R!$+u)L8fPPx6-u>9vNsy(SzEehFFpuo_@>Y;2Mic$p^m zeKLnGxh+R^2TOGli%{7taYD@n1ju=f$>yu*Ms`Zk3<%{Lc?}^4?69AxWuq!}H%9Xv z;D~^h0Se0xzUucqJ~6L`#+fBNpyM2kfSJ{9&4v<4EyBzjA(#lo6&Uc9CasWXOA7~< zP(2X>Cp=k8U!{@8HORn0P3d&Lkg;lvL11&TW#h;*K241b^pMEP*v$$z8OL2f?p76< zvN0GrL2+4m51JwB46XU=a66P)%^`u^CL>t}98j-#%*G0-=-E}HTOB*}+^#sSa%D~h z2cP;iaW6W{DVS_*&rXp_h-OKJRas_kHMQ=JouAggnx+Dg;K6|+RjCfx+W- z?TiV*erlu(ID-3BfDj}Ri4@){wgh`^E4~7dYd&%9Zw!QnGW#SzQxLS66AZsTRX~x8 zfG52mkSkh;W8rMxG>yK|9)i!86JO$?pV4bJnu?-j%YtBo5Gv*N(@%8WwID7pfleDS z8tg2phgPGMl$4^Qps*WE7BgT5Zy*~6)Vn6Pwx zn&l{t+vwYZx$$lfiST4D4c}DthioD@LUbJSn|ft#jVlH*91wnc@LI=q&@vJ}aWG*Z z(ln2g5ql#xdnJ$08L$Rhns1z+8xLik#`0z+-$1bQeP0KUw%X@n)NHilW?RXf?Hf?E zAtXR8H91g+(t3L+?ZWK98X-O=slb^(VtNm8O875KDT5aldy0yOXe`DM$=Lss`a9YM zp$0@0v9siQD$B;OA*6t2W@V<}ttttqupDC8aP(q#oS5{=C6GEklS^Ws zk4MVKwT6&rr8V>o-ApP%;*VPZ<3&wjac^}ti8n`UG0Ebprlg6PSk*7XT1-Y?XN|dd zRUHT$qkFY%ff&W4t?6q(Q3nllQ6?<`vJfl@1_+0M{GB=-Zy!DvWo!^1(nWEu@`p-Q zxCv#Fm7mhocUIxEM~1txyP%?;eJqWn3!zDn^F)9SHX?e9Saht0Q5v3~PYgw@)+GQO z9#ml7tF0i-rnakJhRClRoFUf`W#l_QKNN+^S3SK|Fchvr7hL6bpa#RpTNu8ibXcUg z9W+Cr0iE%YA#JThCN_tC2OA2qvN9^n>EJbgVS z=Dn$YwRkhb&cjf5avg|^5a4Oe3P;{bDNxydR#t;787Rgoh|~HgD>046#^YUqrI#pb zb{QBMs2n^*3k&?lSskX5qX!mg{t~+Y+MJr+wL}z0!uJ@RgWxC-Voa1lrqd>iq7Dw` zWSRH%G{zbNXe~siKmab-$*LTTTh1os&^$nkY6;lf&+$rvbM zvpM?dc=O4OQw+qU{KF*CRV86buAD;eS--|vbtd%Ga&eT@Aj=$(lL%wsanLSpEJ(jx z^URR)OAy)tnGu4!31y~c2cU3;)`pFqnE^!^Qy3+p;s%-PIsLoFT9M- zw;v5ED{mpe`F1$j3hj2fI}KAznq)KEK?3tyA}&0I-yutvc!cOHCmt_R04W@$B4>

NF7~8G|c6YMfO_otG5YiXlTeu5O z-V}B`lyTmPBc6Sn9X1N7zEt0ud?wK!4qJs$s&Z8IEO+3MD`Hi+h#W&I!9_a}10_Y4=C-?;g$41KMSgv3&&E$lIXT~%^dvAhi^gxyHZoPi4Wr!n5i^?dbH zoWjU?CW8d=fB^ZB;%v?eZk}x2RCb7WlF=~k7!^$iX9c8?9Ep3gN)Tl>5&(0tCMN(J zbrU$62NpbK?ccRby8%3z)eV=uy)|Z$QZa5}48r#bbqJ*nlCJearLwjBud>q;_z5`G z$3({(;TXbT_NcVm`u0|>VF_l*QbI`Iu#VSr>*K4+aG{eW>EW`^zw)o``JBy-8mTde zXlyC?Yv}g|%3z3wR1GA~FlxwO9q1~;7H=?enTWcPXv3OUBFaq_^jH!FAOD!3tdl9M zriYs`06=!BF{Y(d4A=n+T0pg_D(#>E=rj~))?y6cYi`pvhOGbq z1u_Gb006;20rxJ!aPk97=ZY~7c5|O+UER~xjWt(f*sj`=`n{WXdTzI@v}nDwq3>-r z-LrdddfYnOc9p%ow|j1lF3oM8-nn{K(d)Ojd)d(4uG_YiuBE-)?`wBaORQeInx?ka zyKbcvDQs%l?#e(^s-3ar0%cLGL@5-NM5S8Q0ZI&jWTJ^%7HZN~%vQ9vYHCFmVlT8Q zB6|k=eca-_fB;uO2a(Z0>p-eV0Are!(@g=UfmfJ)cVl0D(dP2jt=2eFyRFqL(dQba zTMPg~NXNT`g;CR5-POmt+%-%k0kV;rjd!Mr|J(k5QF9ko5tgpOH^Ar|O$z)Yz%|r?e-K zo`}sgO{un?qL0%;pQ9vfN2r?=_JczWRRoC$Kmjyqqd}unOoY=W6C)Eqn9`n;$&}O6 zRP^;U^o$WVq-vYhJk>lC)OwFoVvzk5c|rQ8>VtY|PgBtvdV!jrqslf=+JWgBdV%VG zlrnEr4`og1Pf4DN2$V!j`jnp4J*kQ|NZCC|9*mx*jZXqi z8%B*oYGQdzPeW7nO{PGfsSi^T!C?^-t29)d#3((8va!pbbA%4=D8y zNIgLH9;Sz>>Hs}J05lIqqeCDWlmY1;q57cELb$jHj~|`!=^!5Lim-pxTBU4}=2c?{vxl$lr5fe*@Uca*~ zv;3Yw7fl?QVG|0(TTGfm7Ap(deOUq;N6XPHp&NE@iH-3zo z6BlPU)uR@eh4Mxmp#<;tU}w}*Je;W@z`)9@t$*ImP%tzr$4l(HU-&`P^&utbG#+C| zFNatDy#n`7k3FLMI*;*OAK-^v73qZEf_LYAG>3h4<=NtVg8xkg(lVlagfbNeyXR>a zS!*@cdnyENNC%KbKqMCE@XjB7K@+zGku8b@AcjjcvrcJP9lo&9XRX+3>uv)O2h!)w z0yf0Ag^Jej_$JmPrbo@5Ud(2B8I#~d099Ddu-k^2{ypg4?f)wm?B(hkJ~r2O*<`(g54z{!Nd=~pVqIpg(%+JC%GFB8;IZ&JJb)n2 zG}5`MiRZn_gE=7x(1TFXQ${Ssx)&p?(YjZVK#3?#i<+r<>1!AX!e6!Q_&3zV(>+>x z##z&&-4gsvKP@A2x!G!Dg!{R@U9V*n;wGSE@Jry4$Y(XghVP!jN$ueErIGGC4%A9C z`{_HLAB4@D7pIFU#{)b-C9>DqXb#&C;b(~6SWv`t-_qLpA4YX9%TOU?uS>|QQ(8<< zFy=m$ZV@;v?;WFtOc{@dh+yDcSl5T8_5e(70j@Bc)9*eVk=ED6i@#gnY@^2OB^mY6ysXZzpb-_ zSe9#huEg=YHZ4=+I=o1D@rU9d&VJPaAQG}z)+EMRc-@DLo2P?uivve;2ihHLG41qC za9yW8Cx%w56ASkpWpqu$ESmN(!%ML~)lTKQUVPZ8$S8&AkO!OXEsYQ;fe6Zr5`QX{ zh@p-9qX)|T ztZU&eXbb7*W`PPJ0oPv?+#f>Dzp$T?E#1$}jf`Or^wrh5bKz7F{Iw>gEW_;q=m4|$bVS<9+S7y?yH5QN>c3s9V!}xabR5sc z!`^9@?0bqe&igIC7EYmK81omRQm8PBwb6bB?G;Me?-A(=lIppvP>L`}?KP}_y_xJ7 zz-WR;&0)6?*+U#bE8H-LjP z!h{khF+xX|VP`e9=XEsbW=w^FZ)vfsyg7qpXhhif8dW@1odL-DiEceTjODZQHHQd* zLHdx?s;CO74NW|u_VzSK(~dmV(HT?WQPZS88Z zCw^GlgwYlp=2-2Tr1If)p{Th-;I$g~wJ+LppnIUQKL%6^#M#i&F|69bWQE@h*c{ zILb!9g(6h3FWS7fMF1)mBA2^$&YyM{B-v)CU}BD4Mi^?sQ<4;W7DCR`#inRzF>^xyq z=Tgg9#jtJXE>MCmFXrnZV$shN`EHcrkvAAG2v_-wQDO`K2Me&$O5lXDq6s_QUL$e(1h__-=1j$7bBXoc`Zfw2 zs{CM!w!p<2E{v~l$_@OSlBF6kI<@XwY2SIRk zCXK45k5U+{C!GS zY`QbY`tllYCiq~yl7X7pV7RB@<)R6xi&h$0rvyghmIuyImMWXy+~X5VaF71oXB%{1 zEd|SWCO?ONff$cP@P!BYrCc0`P;-$vEJ-Cum3(D5?dsNN`Zr5_VMuLzY>TqYD!kG95Ve%7zX-c-V^N z3ZEf(P}^Q6R@3|vJg<++|M!&+e|OpBP^-Up#^GS>(hNnp)%P1OWqyB&M*lgNX9k_O&W`u}AjaMHF zW}{Y|)&0JbKUeSpN!>3S`#syV5hsvNyk-a2g?I8&4@A)hN^*LA|1Ucg#g)Y+8`!hD zv$3KWM}B9d+oeTvsFov}BkTJmjJy^OG56-S9d75x1y(L@@sbghTgfQ9 z4DJ6ko~5at{FaE`Hyv~yy{a! zIz#rY^qR^)fR&z6o)Ll^!c_@8bGrgwE)|GPI82H}SSA=Apxc;>SeG(nS+&=7id3f0( zghRg~`NZn;YVmY-o7O0@KAU&$%15qz^8eIbp3duDAI3OiBcBoJm!Yh(u^y8DmxARI z(l#zNM^O87;i{dKY1|6ZA0&Z~Cf*wrkUm6UcSdG5H1bJSdwW)RQ`I8d#pTLK`U76p z$HM%npP56+`VLVtk4N+Ed!N{%TAiI(r3tz>BnSk+#=At;T>bTJm!8mK=Fwq}j~_po zmdLEYqI@Jq=w0I=(g?`U(J{3&2_kFkvIvG}$Atrfp%27u2Rs)ni>B zp^Pzx2I#W`fzYl}hCyV`mc^kY)d=6ozGbw`!nvLO+Fh335=$^t)@Sz&IU~;%b(5y2 zd0KUMra{uqZiGvv5qx_!+%Ps*fPW#D89SNi^GZ*(B}$}*MB_J_UX}vi59U&-h;QS( zKN3%Liu(7(q4_ZQsaw%9wqTBmK%rnQk4U8Pu*vGRr9?Vk#8_RFD zTP;g+u5}{g9qP7iwbXh)GYbq$e_ES5Up@|w_rKg+qZkTMA7F?0Kg|5CFv9m5T7n+7 zv%g_(r`StoZDI$v6$rDyI>mcIhsEApG~4LVUz<%6q>3t|zSxL~V|rhaJ8u)Rike-g zbD%oxAmsW_wFLPgTfY%yGgjE_KSIy$`yL^afD|Zynradr4x4|JcvfnM`7nZv2(H3O zN=WUIoMiQ`7gDXa(!!N$lfKrCa7qyw5m&NE)4F7pIuwx(Hg(rq)wL$9|CPqK2D6ru z6LhATMoOypdy0Q_e4Yt)=+Ug;7C5meD33hUXNE`|viv$g$P}zBl99-Lrp5Y=NsI8n z&2lQu?AN!%JOvyA&Q47R$kGtZX157xyjBo3N()jJ;?=L7@bnCJp`P|POlD_B3~!zC zQXaEJJ20Ddfe%U(*CgRyh_krFZ|)Dp2sZb>UYlzS#K)4JmwB@jWv!G?l%ME%xA-Hd znSGtpOB9+G4zMFFGw+zQnJ=>5>Fig?%GXUD9YlIF{C7{e?jyhLc9k=5dw&loCvnx; zn%Zo+EkWf+GQ$SPnf0A|_omU_R-H|=(R9>#Anqe+nY*NW3 zVN%rgpHaN%_)3khNtTNvO5metGv`jf`WO#U^w!z=txe2^)PD^M)Qi}4Zuts=l{&KN zWNj-XO^j^3Eddh1guO}W)fx55RL8gU8~xSbjEf>PkMa-2&KxK#(}6^ zi-5t3T-~&egZ|bmO}yT-j|Q?7xN{R>=9-v2YMGq9$dYX@6JC+7FLBSBGA`$edTFy- z%R`3h!dhmG%7%dy6rWteIy%RYL_0DYBpxXFgLzA|SYk-2ds$l(Ym3}8Z#=XFW5FV| zn&EGdfh%^9Hbt{0$a&q$S_#6VW7Fbf@^9?h(BZ4#Z|ktASVul)8gft3>vn70^iU{a z-caqs%NaNBjLpiuI|saMJ_MAtHyVV@(35Ba8+9@lZ?uj4Hp1ENB5FP@1Uq)z&P}HbVONSxLjnqvKQK_whyJnW1p3n!3XN)@b|&S<}zdYLZfDc(aLrnEhd4_0xm z(0E>3+(Zlt*86rl&r&(H3n=%FUNwtE*pAM2nF}gEFF41i%4yEJ%0u4U z-dk4Th!eZfI%}Gbs4``{;mvc!-x=Q&JIA&#t%Ci+P6!*24AYXFM9_bwNgk(jN+CXX zWgEl~D-ii6BKGA?{WK%);PfOn9OoN?=BhmCXd9A7x+TSh^E$dBzi2}$bkHb>o9Z^( zFpf_Lj$gg-py|(PTvJS@RisSflSw%eiI<@56DHXW)&+$999Bc z@v5mdyID=`&TP;kH7In`7VQVph2&fLEv97GQ;l0~xm6dlZFo>IHOc<8162-HGD%o~m;yj^b_RH7_2iswvP?K?rA91-EFopP{YPbD>|) z90)P-qVJf5=s1suUTR>@t(1|4@vwiMM*VGKBE_RpFHhzswwp01E=9VoPoS3d;kh*b z-_c*FWXzJ}I_plRytsW$*8O~z7}wW^92mNs`v@ff<_V2ZqInO?pvY~cX$gVFFC&x8PL9L5tFn?R^?KJz6 zZP_1QLR&{QrSG}u{tMy%F!R6i=qVh^z_jX1d$1+l!mmmQ2g+$2N={ef6TO80 z_-fIgQslz$-4B|z0hLynf$2yRa;?sZprc7Ee(7VZH%j7X8b8wCW3#J~rXXavFgAhg zI?n2Nr=@K@6>;A2kdnIwdQRi_#%0y50lL*;Y&UZb-bg1^2W0$HuN!XY=kb27yZl~uNxzy2 z(_m6`H}|rOkIyc;zfjBV|723tHSI25ALN> zf1e4*4wW(p6M*xIaig~j1_b>(@j*vh#dgM zE2MNANYzN_OJ&s9qZ8`HT$dv7gi$e%jW3D_E~`wBg0$X-!Lq z^7Fgww2W3dli7KPdvrDBqYq{piTRb23?((rqR-ub*|d(G+mhu|vk z+syUm%#u>N#HR_5QhOeBwRI<7bC+D=Gm9Hh{?fnjVxBLw)RO9rIo8+LvpT1#v)gyx z(Mz4|)RZ+#ShVjdB$~P^z4TgXJNGb3y`C6dQ8P#o5Kk;vi$u&yuPDIs&zk+g?U~-O zyQu7oMxc2e%hO395Xe39&tsIq|2WFqRm+75dycguL&edy-dtHO-X$Ow3(>G&Du`}P zTfbv$!5n>RcC8w^JqPioQfrRaM)#dY+J$o|+_Aok=1m#3j{Ino5|bDNk%5Ac7We+# zOzSXEXtk5BC+yqesw&F+w&?q7MV`r}GT4J2%h7Pzx%6;q5zDQ9U+-(1*fs+m-6;p{ zM7fyj+@zowCBWdF3L+hhZlBD?cG6@vF!!I)iY!s~kFBmp#yqoSsoG%BJ>znOe>m#t zbl=e9<{wtSg2X0sD#Lx6pYr4hWq(cIJ8jkd$7!()kr4ZsPTIne39Rq5DCKGV3P1gw zN5;3W^FEJ#6^U@9B{rbn1;`xR)g-E{wEL$u0yo^l-Fqo(9z7j5{s-0M+^_n(F1BVP z^`{rapp$fNs*Alv=5x3E>3v2r)9N{k^Pksqlp{pBkGE}3I_kJH(S2Vnu-%tztFl4& z4Si^fR4dug-%DDKbZXA@Y}S$Leh$3@7J*_O%@~NJct_mkf1`f%j|DOaU331*b0R9` z#jn)<9h8q+%iqt+!1d*(WfiP+-1ItF@9YCg^Vj;r!2b%iE7gqzWuaY>p0d?)7i3EM zoC-5LA5-=Dd2wAL!*Mv~VF-+yXwghZJ%K;lUFO$D6zrz#s7zmq$&1;8G5g!3q-je_ z)nIsLL^mf^r4X2nh*t)0?4HB%XT-#j5g{lYLXrc1r$^G)led+?RH`fzJSahDQCo?K z&x=_%c>+#J@Tf8MjG|_U*wM){KQ&rns8y5ULMiu~KZ z+EIIG$YJSG^eOqI$1~e{cda%LDt&qM{z)FqxMGW(Y_h)H3-u3P%B;@vpJ$_jWl#QU z4U%48*qcWXjT0N{OCe9)UfwdA+r`A7-*8jPcDvd9@4`^RUGfzUw-)6)TopFh#9z#! zmv_IWDY`w6j<~C*N^1axpMUtFxUx#G8_|I@nh{g*h;9}WF7*3yq2b=F#*PDy(1!eR z9RmS7Kv8JqY1D%{inM1Gq&kte-lV_xhQqhsGV|BEVq4AYW$)uHW)iuGUV`q2Pc3=J zx=mF1Cq9ZbA{%?h-0|8JhKP+;>tmm3d}6=Rp|16)Sxn9&1G41Uo!&fVxw-I5ab6i( zkur5D^Fnq^ap9snNQLQQ`?mgnfyv{!;Lg37^z&s*6)d1KE*YZ*`tP-qc1TY3ii%o>tbTm*0I?$x}k)!Z?WLk zb!-J(vjY1}D6Zy6JO8sZ_5TH0n)+E1*jczqk1qzTv6F{5|soo!^tY`6q^YKDF6Pqc{1oO4BW- zwxC<;J?Uc7azm=Sw@cd}>N6FibMZ-EFY*EXvn*quIusgcZ#8px-;!Y4Qt#ummP$#Y zH+N;ROm%$}k%0F6Bq=H@eum}n#>w-ibhs@HwD^d<#>W>gvx`|46g-5?(p)tBG8z zui2VgU-G&4iZM%Vb@8rQ*HcVZJBnu9#(2yJd3FvdakBlL8=3fHrCh3}j)Q-L(&SUF zPHtqZ2sSRKq|4mum88P%0gs(>Q((P6f@(dYD3f#AJ=yF#K5cdPHo6}tFXJe|u<|lV z%J2%iq1?b+&-yd)7CvQM*QR;XGWUry=90=dg!OX%SuRrf2g@L`YH^w@WAem_oxmW` zDlGcj1by{CZ-t@}`S#6lMn|Bm=e;Q9-i^ckQ|=|=6LmsseZEKFZ~DHgTTAn*=7ZyU zc&?I@^b(3~{?Z@#LM^NJFJ7};Y}yHsAb5o{=WNeA3C&lI+kGh>#Yz};551rb@97Xk zo$?YPylRmN7v7e``BXy&c^)^{dz9YgY*wfyv)3-;;`ADZT*@SRmmjaX_A!{aY@h!f zWIt_dWmyowtW8qo8b7*PWn4xLcQEp|5X9YB9&Vw1UO%8^BO7p8(k)n$U4NMaoT2*R z2bP98Y#VuYhb#lsr`_M83!h~% zjBw{Jg7S2T3bULA^!Hg0X_ZT>b1F<>0{d1UX&E6_I&JpZG#xpHiez;|?;j88NB=fn z%${96tEKlBCx&F+NciF_Hk8a8nX!JgVr&p|9CTqG+S-|e%55*{6F7&&@tU=+r5f$7 z=_?PV=5ZIUzm=Nye>sOI&vP$PF|(3e7xq>ctH3JS>`uSU=XJxLILlCV#V7H!`h{KZ zsDWN}UZ?2r z&KCB{QZ_7f?gtXd-W8;!o^^rx6iC6-sc+S%%7FhlXPi8eOzdPXY@JD^I^cW%@#vC| z5h!?Qh5(TBl=!-qO=57;tSy(&_-{Drv(j3;p*2|tj$~}zHTon%;|-dTOuaTw`=8H= zq@smhMT$kGwAQL@S+ivXzI60cFSuKYpBSY1E?sv76InYVvGP$K(4>~m-Amn zX3_Ev?5Jgnl#aY`WtlZTST}8ZD9{tMv+a8;_GBxptbyxs0u1v8HjpB z-+xlAr`@F1p;Htf*|iPowy6ZBn@Ijm?ua=uX1e7S*U7|R<-5l9!=eRwVq4ZHAv`!H`j3}#* zYtOA`QQoOOp{s_FB1y z(lF7clr`W}!+aao6&l({wl7Mg`535qBMy@$XUog0ZzndmW$m(I>t&dX!m{M>%(Z<1 z4)Xv{L*br`vT(~f=^|^NaB9**9mJQ6T97re<`B{e)$M`u1JZ!(v~Jc1u)Kh$M&> zK286~rG%a$($Wa1(zQY)3|MQ%+5LTGC)?ROC%=VFK{<*H>9pT_CN}Gb-5_C1vnF4f zQ3N%PrhU}r^^zE86o()1y2OiOL1GPdD)NbFzgz0#8YXPW(SHF_?+QvDn@RHZ{YbD9 z@s%FL&ZB1{em&(|_GGrNf4g;uE;j)=vTVH^Zp~YQwh~&4bprkm{FQ0>4x>DyP&)Fa zTBnWqe7}y}>}=d(()Du`$hJ(odsp2HLWNDWg-P^yAK|@>o2a{mFQd_ay`TPK{*DIs zcY_j}B>vSsE}t@85QW-bRo$h>ipXM5K?meQi#@5Oli!tFwap%@z3adI(ykNA>5`%f zA3uhDyu!0g76rS}s<3rM-?iw`&Xj^moSW+6Ld@j+&s(X(?CQ@cBQ0mh=VbCK?=<^5 zwWS&kzp`d}?QIonI1<5^*NOhjgxw^Hs365J>p;v4pQr1x&Gko^WLN>fST%-s4#A|F z>)*_P3)&6wz5n?-<;;k8Opg11v^U!s6{#aK4@Vmt(ax}Z)b4&P^V${JkpPA(;+OWl zoIakAux%DP(vw3jd^rO?m_??bIQv+A{5TLbkT0h_G-N1|vj9^b=tf zl2nucB=pFEpHuUCpBJTi&{i#1>+f7Bkz*Gupg=HLV?nUQLcI^u@VEZw#bjJa(WbAb zlCXk81%-i+*^KVQ;|00_Wa5wF>cU~1b(apbgu!SaE6GU#pK%M;}x*c(>JH}n^UP~sb8r?sUs z&_bq6J&E0c%kii!Y zl>K0@%a9y?7k5z{J|@Ca8)@R?*L*GYUFxq$KoI4dW+63$6-uCGQyp?-DWLJ#EfC3w z@lQHxPtJ(Y^*f2yEN@t1A)`hnr6v}{qMF2ezVl|#*^;C-)M!r{3uuJ(DadxS&^8Do zT=DueAcivSj<*H39!YET*X%?Gs&PKWP>YiP#!!f#+Y*B8N^s|kHKl4`Udd-afi73t z<(p_!mGwbyRV?FG!?22$m1GiMlN2!}#UCE%TwK#eNvGgeV7%((tS&HW#Z>UV|4WBf zyzQ+rw3#P=dmi4K&_xf9-?HF%T-O}RRm76JHUXQB`-I%)qF%=do1D$*G3XmT<&ZO+ zw&`Jfm2$MKCK=YC`*^b5$VG8p&f*Zx0j@s4t3U_D<76T0~n z$>HBZqK8{RQuy%lSM4;l?&}4glMVkNDOirm5)HkoR|_oWdrKXr6d1|cjAVFEg`i>dQ7$U7Dlt8Y2lWMDdc)T!doJpXed zJ$WrlCs)0i;44`^Ipv;B99a(|Y~_|~|B>f;D`c7p-zHJD61TVQMLf|)nN8+xknv`& zOi#<#-xW z%RIg9&OX(60-e3VOzaPT=HI9EB)o1)YmsGVUhzf7x% zRq<**cY>l~$?6Y19I3*Ne9M(J3{MGCDzadGSL=k|6}nMI*rxCBuA@sb9?**&Ko0i z-&)^kf-NBHpF`TastReLqpIv*XARJu7=4VYQI0o{I;wI3&Hb0x@RUXiv_fbRB^bPE zf8eZ>8bq=UX$G&uZQ9v#?-@p}PbuC!El<0JdlKnd^#7S3-GUNE;y+zJ#oO#Tp~}IZ zoATlkwWU4n^OcPRwLoNy4%FvDq zGkSh;$P+h1cszGkaR+pAqn`2=5YG_)JD;sB)kig*2|Jr1QT#Nfi9O#wxWXyhJyG+$ z%ymqDfrFFl7IV;PGWp=V?DRG4Y7}ecz9QPdX|#kBa%}Ye%M!^FlV?iQETv366$h~R zY}m3#la6(%zsVsh9n>Muu)_G`y2tt2xVwZ;Nl>YZJ?}*m_Ff>Fy?v}y2sMQk^)GD7 zNxIwLvEVhZ;$-)dwZ$H&`CXUPQ$%HD-g#dqo@U`nG&uPJfxddGwTcf-b+5|sJ^JT- z2_yA()Fi)*rsX;G2?!L%OZ)BIC+|7!M&afHnKeTM$U zC1b)tAL^zH*qSSr7Ly>ZYRght=E`X=Qf?dgMhSi71hQ<$4=2bF6ystjnq1Jz; zjxBn}kDm=fvK_`&ii9&_M5iYKK_ky%i(&X#%FpD!6Drtz8Js|*?=WBe{(nf=jXe|n z9*`WQ3!%tw!Z)K~Kd~g#uwzmC)y!t}m$$MMr<$Z3*eQah87lcw4UGp_P0dGNB6SL1 z|4zf~CDi(>RkF5QehO<9hjH77&6RvUnrABP(|c>7$D)Zd?v4cK{JD9rg2ZRXLdOi8 zsK{0w#m-Bx87~i=#NE2Dku7{G>$Jk2J7nffj}o-MM;TU9-y$q0MZ6IfoSmyjbBc@g zlQsAELf;Ik)w8{oR(UkCm`D1)Yce`q;>OZ3Xw7><&!2ecksYZg249 zJ|VXEtszw)uVMnE9S_>gP)^ME0#yFq_k-_fDjG$h`` zyZ#6dxMgeb%O!r!<;scp9N|^s6 zweS8M7ikmU47nLlQX&5O7p!_*Nh)Jt%Hd+X?G~c$Mb-`rJWMt{!D&|DNToP_VIes~ z)b)Hx(Id+NB9zeupBt0v34t^u5a(%$wpM1in4Cz(zE*l3EK zB?OSCu2!k-JoNaBWk9U*lE>?jF(( zGB%9%?N}bxCUzlB9y%;5Nx30oVK-5MH*=|8f8KG4Cy|XLl!Sla zZTHPLgsx!4tvt8D&@?^a?Qtyd7@j|@IRo0dKjbs>%Zw*ye5E1o<0(&iVj{JY#~o4X zf1)1NrGhRA2~-rE@a{%__-MbLcleA=;?%PEK6Yxtp3L?IOk|a@j5iBrN{6V@)r7D7 zjcgu=C93!N^=^VpFo^#fv-s#^6$aQ4QEVFPN1R4`D@q{7B$n2Ug{#obN?JFKPl?|* z*zesAPm{!*!}MH!I@B|`U*KFl{|kR&&%Nv_JY0S)$0PkvJNu1%FjXMDyJlAxv*S76 z=O?O|Pm$4R;a~YTr1`zoVmTyBcW|mb{Prj2C&@1|y;07E@OZuWHv-`GZXq6isGotn z_#F(f==@OnMHXH(d{sKKda132ywc_G7)_=ccsFtXrovVHksKwz_0T)zbW`o+nqL;- zN=K+6{Lj6Ae~hcC$q7FTZ`8+$_J_ zImeZKmqSGy)*Z*7&-y{Xjn$9nVPSHTb=Hefqnd=9xi3J*aIM8H)#EwM$o=20-WU*u zGqk_1YiN1w51hNcmbN7ju{V5i-c9UTr9Is@3-0xtWj?rwr|#8P{rb;6>|*5Z93+xE zUNk~GdVZbIxrUu4Fw=`u`f3J!me3uIGVRljegWI0S949tVc;jHa5rzbDX;M|xLfH> zk~{aPpcwt|ie{c3TaOCe_GgXlmt^pRFUg06$FqJtx$aKz^sYZfj$Gb)^U_I+jUNgf z_(?vp_KTv|O{SQrjAQzqgcf7oY@($9y><|K?ea=HVwZ@r?#C0w#XXkqoqBzSN;XZ& zB$t!4_7F-gFZ}FVoZr6hXZ-ig@m%05#|ENJ_0wlK(OnE+E71hU0&%&a23z38Id<|g_<)XhmfkWrw=34WL8Lsoo#ZRDrK*l?f=sfy% zj2y4{V!5l6Sn|2y{67~Tl^c-u&B=a(MmH56H?8fV#WG89r#JrV8P)Z?1{v@f530Vp z_rGR=!srRZCf|Nz!3c_0K`!B<4UrH(fe> zN+7#r(>_H_J}#e=Sx=>~jS8Vc10v~oR`C|Wf7(LSrdgnIJyW1g1PmrnK^uP1$8!T6 zjnUpc&6vII3#azrEy@!`=4NPLp3tUz*n-nooQ7F`5yDSflUCVsP}>>?*&5rI&xvo$ zO4|idaHOn36P(CnF1SM`F+kyjZ~sOK3~ddvYNrB-ANOJp=i9lf`y!8a!zZ?&J7C{-u1>3EJN;9V^(T zqqyqz|Em16z80>fp#E;Xo`0A%nzX5SR7zcCNf$Hb$DtUEt=W6aODgg6bE{uVJ6#l5 z$2$yU#l=~i+Q@?^?(h?df0cxq$-ajFhp4KSdAAYUH;RGNQhd-Y6P=zpf7H$IQ4>?^FXz3iLB)R?*-9Y#JsZ+(6#=Iv7Wbc^!G_%yqd zM)4}h8D6(H)9^*8CLxL0e` zxM9x2DbRby?Jxa0A6ZjdpVKoYoc3HmyvL+sBA?~Fv(PI^*GK2L$zOK89j%cP)t_-| ztXx!V31hX)e*S59S;I+F=qhwg+uEFTpdkScZhpzVNODs{HhJplw)vy>2qJ;K)LOQ{ zwyb6Aw%jsAdG{}e&bjRSzwP7ekGrxxd=~~0HZ=DgG9&l$=;fQplI@xIJfeA4z}U-) zS=N^axbbCBy`|NiR?z|1>Mi+x>LBFgSH!~sg!&fbD~+#_v2Grf)|dDsXT|tmf1bvp zL7~vsE8mS{?Z<>XT}L#2xA}Pg@!olE!{2j!>+?P@TiW+&xbKAe5Nb-F=G} zg&t*txl!dSDj?Kj2n%Efy{UeN;>y^h2$24y6d#z3Up}C}WkuG;Ai5C|NVOtzL^x=H zyKVqu8e@LbRj`wYy(lb%rqqUpK?(%xf>KA+lqAN1w3M7NjBI77rC*P2hTDpEU6;;1 zZ^6EbmquY|(8f`uAsR|Z5NsPx@e+`rln}<-z)}*DO^5`>ic&;@vK$XoRLL{PVjvkW z(~8)d|Bqmj3L+!oyLC9A#dB-;rl?W87LWS>fAOvfV6MjB^{mcLbT&5p^f{q93NwQ+8+jj)hxs*LO1??-X5GF!;xo-|yxO@Fn!Ksa-Iyyz9Ig1kOPe!bM7-IHi?C_^~RuR;E-Yg{k2LiiRMETN9D_ zUU6(EI<5akooXEePq&NfLtD6KmSybl)!Kb-xIJXJw=D8cx7tmR)*-^8nOt9kJk#C$ zIXfJB3T2<2FLIR``oo57B5?=+FNjP4b}A9^pf$lHNfthC&w`s)>xDz%5MZfOHa0V_e9DgtDq()_T0#3@`WMS%uJ zNLh%0S6nM@j<;CKnyps>L8JesOr2ev2o3WhhFcPEhY~Y$bc+7Se?n2u^RA|VBE=7)q?}F>=OplRzw&E zPK6{DxMVV>H++5vf^9k6y*wEVlK$sCa{G3x#aVHm*uG|!qy0=XB{S5+pPGK3faOx| zee7$^5N-Xp$lzSUXD}u+R1ieV8bMN!a>dIWuo1DK!Q96B);3Cf>2EfPZ#5NHUKvb$ z1+`m}Y&5i`x=^T`Ey8>U6;kzlKk0FKm0!7$7nZ}D!owLjoSY=s6=bVK&X?a@4FbVQ zUa>)Lu6-2mp9RRh=&mXaDPvTY4^=p;7=?F<-=+V@3ke$Z2sE=JTa5x-Yzdo02xi?%7dD3_bsPdfxbjYj{pv2HIl1vE608=kV z7N!{LgDSP70cdoueCD4k0_t0wZ;5pU0dXOJX9!b74yb6LV;GKM^o19goVR6fm4nQj zu!siy)dWDBr3mlFO~~-Am};YrWHZ?f5X*IcC=1ds9RfhS+^E#Y1C=k z)#2j%{06I;q$3*uzrB`;W9-t(8A%-+XAKprPUJaCJe~ex%v+lVqh2nIc|Yfr*zDc2 z_IT5mm?F_0Q(XnR3I$HRMO7wov(NJ=INGJ%6kshA~Hvo(oa{p(7*bgD$A$;9lNoKgcm!Ia>x z)sKfP@!KiF#VdSs?bGSJ*{yjWk1)^b8TgUJhy=W58;uy)A#t=`ljUL{HHr#gb84w? z#P4NsxMi%muOu zT#+O?;v6+~dsQn0C01^6$TPQa3YeA*6?%gif@v__iOxY~b(-|qLI7peFW7^Pv_2?= zf*3NUAo3Wj7$mf@vq8GR$*3rCoG^DQmklFV4wBUJl%-ea42V|;1GgZEticixlI2+Z z0M^15_iLK>TcMxwRGMJmxn`O}MIklJF=moOW}q8Xq&j_O!Hv>1Gz0FAz|%J+*>!$3 z4EqoK7H~!gIFb${@u3I}EdoaiWXZ8fGH5E^sHY>)X!F2 zB%~l~p$fC!6#gG3JxivJ?U@!Q;!?;-o{%;z za!(5U#8P*tD-POapY-bI7Rb7@V)?k5?;;}Lk;$p{s z60y6Lu4YR9^Iz}RjL5m9++q@8F(9tPS-qr&;(ca4mK5rfLRyd0jQ~|lFDh06Aft5S znd!mVN02Jk+l;Bztm3$<5jjiKtuSI-NRcZ@aUeinSP2(hKZej1THf>;hCakH8FSPr z*A6hWu`ndU-VY|5bEUJfMP%@BGItp_a`jzecguCQ)?U%3W2H8;{Iy3a4pCTc=@5hy zMe=|Kh9$f+I4zTi3Gr16j=9b5!q{QL@_8GV&svAp(nW3eV9&l;YN{KNmDwBgIJOAq z(7ht-w;VE8Q*IcH2~0S9#waRaIZHbodoJLN8--d8aY&IN&x<IJKLtZqJi}2{z!nP+(49vqo zqLX!~WR;E@n^Bq}>l!hy3kt4tsv_ZrtC0?RabX(x`zZ{vOOSPw(xwlL_1HnKJ=mz( zaGLx&|Gi%<#MQa&N#x2Ldx{5jpVj!D^XG(=lU_S7gz-O%)?>O%kqW`(|awOCyA+q|l4vLL?v>PsdV5Ye3Xhsjj8~5SOEd&I1*C6qx5N zEfv>!KWDYQ&J5PI>w42*Lgj!BOh`2_FFHolBypufvJrxT@>OzMbmh2*NpL{P!=j|v zLCvYOP_h|t+VQ#RnHFL=F;2_zD}4zREW=z%X|y)84hL1Nv6kH`iDkJW#OXqkpwZ3c ze<#PcOWH$94a8{}jz%P5ssbF)Zz5sepOEXMqUnkj?fAHycc7EX*2Z`Y{x@50M8c+p z8pj36Vr0to=2_lmKW8)ADqhndm`dP+L0gakNmI>AIa*S|fSm6X%vpf%PrmH_HaOs) z&%y3w9=WP?uxn!8d;5dnIarkl3eA~Mj zx;0(Bf;DX9ByWgsQ8hqv*K88jFx7uw3sDXIyP*VS3`wHJ@Y%C> zGQXwVBj_gZdY|VHUW#;dK+uMOUECO9J2UR43UUgIbPHJ}h@0rnvUp z1A5WdtDj$^Qj5UrI5zEMrYJ#0LShIsm=<*A0BJ21^w_mm4GXbFIuA}KhoWKIf<>LE z=sVr$_t*1wxWkM_pnPO!V1Q$Q%+PVAIgZmHwdCv^y?)Nj)XK7NarW<2E1j4<9_eXs zc%ZTLYHmbkq$oN@griPKLJ~;Mrv4RQS_dF8ab2PqZb=JwVmX-wR}FIZGe$dcnwGva z{h!wm3&G$ug8P1Q4kUrJikOkkX(g?wXWg;r8X!9w@BBwC`O^7yH3Aq8rkucNb-P*6j@+#UHS5hl_ z8RI=8($gB74J@@>$*0@&{wJH$tk6z|DM<)G2jfR*HfCg^))a{7h=zEg$c^ah}i?7WOuWG@S>RFlku!9q?@DH?MOk!e6-0Yw66 zWVmeA*$hYwzUo342Qo%ac#~X#v<;QJncKbJ9?5KcE$dDraAdR*@BL!QoL z6K!)aNNu!)+G!1w2;~NIa$3EABzjrWDIM<+gg1Ma_;5(CW34V+6svckyCY*i!>ibTATu1ipx-JKkl4m9 zR*G8@qMa#kM^5YuO1obJwSOsy-PfzjIIWga*iWOCXEv#99H& zr!ZB;%ueQg&FcC5HTifg&+5~%^I`H|e!>msbApoN^7>VG@m}k`h2B3N=`MrVayi36 zCMn~BghsNEb1t#uCh5X61=y>!usL2}ERO_1lCpNY6Pvy!D)}1!pYoG{JYXKF2?09F z6s`-Z2-OKw2RIu90dtWY@D`HD*sWR-EDCaD z2x--oPC(qGOCd6Jyh2Lyk7AWJQz~KS*@TQnL#PDco)Cv|$;=wU#qs@|Tv!!2?H(n= zWlAf%7e^E0rhL_TJ{_u0x$Y_OC&T!k#M9H8EE!!56b#5TeboC?v#EZnsn0mhG`P@e2EYT4jiopU<3_cxZuh;dA10bM;ji)O zW^O+y))cw`GRNH{5I( zPr>mbwaDDs00D3aKsuy4VuKT^BuX7kv(@I$_xViIUQ_mVSXrytjuxiM<>u}0QYv=4 zekYe-6;}L>Hw%wjzSNUenpk(sbkwnLPSYK_we~q;?pm=}R$1_UT_&WBLROb^aHf+&YPqB&GLvLhj3dit(8W?)_1&UPjtIw_NkmYPj2a}+tS#B%>$`jqV% zr(KQ-RmH8)rp+SI!{qqXoM7>gh#X{+AiQdEEjuCQcBu^AT(uf_s*6!!6--5#v9{%} zB@)Cn)fu9@O)doi5Q^*~>pZ1u*@bcUR0mPxPU}mDBFiDx4>2uLq;;)xUCGw`OQh~^ z`C7Qd9AFa^xS@3hl0tK!*7RS)DE1p#e|7)!s=R=iuKYQFvmQ3@Vp%RJiv333Cu`` zJOJN-$R!ODk&UvXWu>Dmxt`{Dw#}v#(FslHl$O-r6}{PL+u!V-H$SbD+T`~*5V#uK z^0imTimdXMU3n);4-~Dl&1b~aBT`7z48pI<8bXt!Zb({?;p}SQ)_dHskG-l{eJHAW zDZ#xv6?KI1UsZEH?=LiTnA&={5-6&aXfZMtVA5!50Vu4u0nK-7 z1hGD^5H22f+I2bTTs-s*v@UZIjx2x=XaWgg>Bk4w$(s>rH%`X`eZ8cXcTD3lWr;;f zg#Gn>pEI2I$Y8;c8G7RgQA$F&Av0Q`D>PIXm0QqA@w2S=9BX0bZ)Eb9Tv`2zna!C@ zz-E9B(;%WsA(<Pbh45D_h1nmm*xp5VZJm zNWgEGI(s$+t93fvC&)g>N;&Vl?`=r+`P$I6f^0crgc3vpmUDy7GzyOg2A?;{roHoW z8mA1h!^gESHI6Zi_M-uEmBu$J`;P6GFU?CL2?9l$AV5T8F)OJJYNgK-{oFBO)z{l%W0LluL{ck z{%-2lg-b553G0rIDHtHc2#hT@aHouzEj1C=Bs9gP(G!NtkCoTIs0~O)q)C_9fP@?` zP!g7+?PB37b5hcB`dcj zckS=@Z61}c7x?4eH=1b%>wC;XB+`Tp?rWO?%ia*3L$}4s?Lmg62J* zPdh+gUJ9q7VAW3(tiZq9*DY?(JW>UAZo$tSFl?S-PgblwdLY*EZd}1y)c_?I$ND3<(ua~nSB@u>1a)v z4FZx;B4EX<@+VVE^OH8T{ri98}f>8Fq_0_5lTV{;D~UMBoZXlAkym$GEKgh z-)`+-g%4zMdKhfH!!7%)xxpYU7Wo#w-CWEKk|n^di!g#WnZ_!U--l-jOfyqYDaJtp3lIVgf|0IL&5^QO{)F7hANc%FTYG#MjpEY)A@7N8gBpl56?(U&CUl8+ z6C8{nBS#}1Oel<~`Rg%aQ~Ui%)R-f}0=C@z!ifyv1`haywQ?GE_7E;*O5~%u=jeOy zg=r(zKa8=Er6WGzIfS`@M;Z=bh1}>Y@!i+yW8BfvKKG&9lDN(t-$%Vv>A%#fs4Pik zmQ|`P0^BhbP|X|C2omZ&!$O!PnzOW3@q(YBu0Zh4Unh^9HJpEo&N;J*84yj>r4`zO z=Un4jyPbym7*PiR{YgwM)=}tD)=f#5BQ-j6>;;K7D9vv2`W9S$t<%Y_zXFQZLTLrJFeO_(4J-^OiCDr0Os-9yvk~jD@l{$r9rPg=jCVo?I#(=JWz{BqxZ1I z)5JZK2A4%c6`c6?e(`FDQ{%CEfp_j+8IaTO&e9Ox$S zge%a^UVd+bgJ0O}c!!bVILQ($1PKYp#|lNF6O-Sn6MQi zuP&pck)-e-5@^9}^S1}6LUd62Uv1UhQ5v>@qSCexHMcE>u=#@kt5n9NRK_uga6x)- zkVcpeBr0(R&z(L$Kbqgq;^*{s>g1mXI}EM78X^LuRBvw{u}oEoY$JNJMkO4;h$M{@ ztvQ3XFru(Yz<6=8xI>-NsO8D|lrHiMaUAp;Ik2YI)-Z2*zfruAREN7zo+mtw4|v~sgxsGz;MNF9rNqB6h;I_w!y@1=!#C> z4T@tWyVF6smXHm@O9Yx)LB^5lz2`;b_@6HZ$CFhh5O8w!a~5paS8_xnoWZ%?g8$`v z%=is%hc83aov-HZ?(U%565MD>jiB8`8>Q=64e2jdH+tMyUhQ^;Mg}Jc=C&stMNeJh zBex-RoLt~VE|YJdW$e#kj$tzx64kc58N|z!%7)B@2r!1cP|E-f+$@z6+@lF$pdF>D zhXMu=$cl`X4<1Vh?TFoHR4&eEwaQ-WXE6d&$59%GrS1+Z=U0+o`fsVHvGt@-J&u2< z5wVUx}*^#5HXr@RzQr`4ymft?#aG#BGE;K_FP~VjF z^r&~P?i-t%DBL#MLr7biA^_YIkaiJoY5`6N%U#iszWO$BBnkC7AqJUehl@$e%Yf8y zb3-7}%{zF?RZN$DpqBD9=~`P7(%9NU+-B$+LM7PY^Y>@TyDbK&LlU$SU<*tjk`@V( zKP(ai@J64jWwzAfl1zp!(e|}>bnb%C8>~qUu@^T{ySh9Yw=!h4K88XrGm2Hq)n>)Y zNg7%v%7*?elCII!`LyrM{BC%V9R7ORGo^sO{yMhM*0m9wRx^m}oU^ZT`A}_DL$ptW z&%w7f1VE}~xm{5?dL&h5L}Wt5Aa3(n637IO2(;HqSl5?S`q0vJq##pIUw+kf*MJZU zNjTn+44Gh{wFYgo-<}?`T86bvY#}P54z-%bYjySghvNA=H)kOu+)gp(jLe(#ZR(`a z=`~XMFjC}iG2A4oxAxs?P4x4drngjTP@xC_YLwSTA*|h>S8co9TfP~)qJ?8Q=r%Sv z~gLJ&l zqPvS|6krx-yxt1ap4Fw_2OGcjy1#k2O;qDmZvBm9HI~d*!}XCR`^f_A={Al6M!fbW zvW%r1!GhqB8xj+qSja-ZHY;jvN8AtDL>GAS`&ym>cSLo~@HfVl7E_M={#5ZDUtgaA zwPaHuU|K6!bL#S^CVJC)X1F6Q-kz z>htXH@Nn5}(Y75nLu@Qf+r9cyK32m3JdT;Rg|?Bl8-IxcQfO{TXWI!!hOgo8b$C0w z5H{-El9tR(t&JaAUW+K5)-QHi(c{r}t;WyrGVj%rLL?*9>YIsfZM1@K%0M_Gid2sP z(wqf6J^zWDM|*p&9~_Tdvvcr#3VV(kI5(vwR}@)qv;A0-{ePADe&cx4q!BH&LKp;? zmf{W6M(Oxqm-|0X635T{U&B2QDg<@>|Bc$-*3JK7TtAav*sSBRz+z1;cQ}7f&yOvB zW90PxYKPkumtHhgw?UZ+Oy$NU*fS1a-_SmoQqpoIq z-`lG`<&`1q$8Tp3avc!o)3!u&#bk_PB!FQc0DM^>fZe^ro3`tYXxqHQ=6I6SV9}sb z3}`Xvv|{y$^dZ)DCI0WC8WPYf=oDx{p$3Wkf62cOf9LQoz32J;YU}>3XFo(B($?a2 z?%4-kg|{j0OM~)Gethi)%MG@`l%a_Z65B+!!w<~Wy|D2z8o!EPVvDa;V^)}}?Nm)m zVy^!gdS4w|TlUt?uTe`8eUD~&URi)W8z zKISW-upt9$QQ(27T_lz?8UpGAQc`O3+rLGQ?intKBf@=thQ&b~)zB&u3P>Ku8qWymFoq}b9( zE;B323VB78-3--wu(4yfuwkZFs-z0K8_vsbr0<>k@xe0!G=zi#4G2<6Bn_yIAUC0U zQWv>0-Kd?t&tJP<+;TA_;CQxdot^VOa0})1P|gJdJG1F}dUZ)Ai~OD{-H0W2vUebF zadtxdlQl0I0?1ysg(Ys@+xY2xYBV(I-Dq7CM-G>7WSBMQ4C|ai_(>IWu5r$LYrFBx z=b~^#oTc~BJ0!UakhmM9x(a2W7gYkHnC~*@q}(z0&EB5g2TKzJrfB7rb7?f`3(WMU zh|&Tk(LIC|L>aQ%;PCTMHo5sE1&T7-%1vSscNQUzXb4Eip)Q+57C~v5V@YX;&)PaO zZ%a1@cv&*q>`Ha0*d>Xl=IkyrGl&*swiaiw!3s=i$VOpJOI@2>9-QY#Hm2s za^CAvY~&UPkVz7e0E7rd%|fW7olNUVSa4(B=*h)*M5B%D!u6yRGSBOv(Z{>6228Am zWoZz>NJ>Cx4g;q?uOCByg1$K+Ub;Enr}-2jq1WE*CWJH?@kUC5p}QusYlu=SV$z@j3~_K{RTKta4>1OuKu3%;YNlHL;3Rpo<{xhiSDk2|g z5p0NuOj40iFu@R{0Vx-*f(RS<38Da;qyz(=fPvJ(MO(PE6cx!4^l=Au5niGyaUufp zi~t?fKsF+Q<{|8)IQ$ zG#w$UqYDdRc&P(4EiWjRgbZZwn zi0dHkmFtKT65EiaGN|Ww@o@RtlsvqLKR3myjFZ}X75U?}@V0h9G2>>+6m;N?hAFfU zX(MD(nw`u!*m`)6j}kp5Z*+J6bJ+H-?{0UtF(fbynOXy22m&??wjBG6W6;}l@gE2L z*Y-CpwB_Lp+1EI?%jf}EnbMVJ$F=`m2D+%{(n>=%!Ryp~YLCp@g+MP>^lt*_lIfZX zUu`H2QXxv|q%_a9nU5Pu!S;40roARXxXTk9xo#u^=oAPEBG>_7R|=^6%sV)D4q}A0 zZJ0Ben0~#xU<2pynL%MNz-7qHtW3(_B2imlqaz4HsEue8N*0TTD@qlA6 zHH#V%A*Qi3lX3-(5hDc6%^e5*H@k*3v!KZ_+VcB2%y`J88^AM6)G6-iR0cxvGoeDQ z^2Ae*%e!>DMGe9a)0jDDM@DeY8PPmz+GnEB2q81mDoSF7Ae>Wk6T!j&dBo18GVgAb z7U548a{T$w<sd~@oVSnq{?h>z^AbU zAFG!kkr?tAm?BKli04N*(zhN{Av+iO9e2XklDbk()>JZslouNbl4OV(MW_mcjKh=s zT4~^+k{5lKk=U+FBY^Gfst)b>BX|$e37o16R&g_dYuNSmoj4EW%h-SJc=Ixo@%W?p zPMeO}0UP{W0A<)9Xw2ASHG6(sx;^%-yBChx zkPM(@LmZHXNG?dUnM5`~rQNu=?dtu$zSiYf6|8C}7Sp*~uh4_Xv2mLcZO&BKgQEY5m{jcB2F<0V#kMR6)1;hYry>+3T zS2ki4f*q-$4GLOzem@ou#3&CA^$xB-xU-H2wzAdOL^J1d8E>HkGe9qma*72=R2klu z8(x8LiUT+LQ1@S2$xI1P! z?EEg}LFG@Q(rU$%BB4PHfaC)p9-+yEUm~L$9 zy}Hdyd7KS%3X|tC`dv@ZbIR>JI(iFp#2Ok6%C1mTq{svw?-YC_bN<3bhj57 z0-t|)<0g%;ts>-e8}yxc=kqOWt8D~~D;RFGs-B|`mFxoS&;uipPx<9e85BN_QW zXZDt#BAoR9xs$bAu%saC+V>mz&In%PpXc$^XwjjeZR~&(WY8PQT5kvb&5t+f`z~X{ z%T)drLn>udq*EMnizZMi457#CU9@fU6=TU?Gm*uV45G3k(m7+2iWLq~r9so?W!%Mg zelthOa5LqA|Dpiptw6Y<0KUGb^a&F9~4}W92j!2h$-a1`HZtz$n5F z)BraS^p&6onur&OpIr7ThpXdrZ?cx0sH~3fwFg+0mV5y5 z;?e@oOjqAipxGms+slN$f7<_s}n zg6e65NSO53O(-2&uMCO>@W;9u@>5f+qS_L+{GkBjz!x`*YLjN_~NNcC_Ei`#5Afb`-d~h91VbzUx{BPF1;(P(ax^r8fOJtZeMrtm`T` z;t*T!2pR)P`jigqv|{G>TR8EU;J`)30b*mMF^BH>&v5Wr)Q1mgxE+NLW$0w^OS{>Iz%N`zbF>hk##2^o5dj}D67h^Ue8xT^E7>Sy(%oQ1q zPfWPbU%12#aw6zttSgV;yp21Ngw6G8mn8qr1WF;Y>B-2Vz zWKp^m{K_^#H>KTC0Rv5PEz>0cQ(%z_E=K=$f(Aa2PZz62E;h_SVo@AWO(A?GR~YRd zAk{YEfN&B334lVEEzO&Ii>_Pks*S`8^j77eKK)$&38r6(>)?y>qp#XCCx0oF4VaNt z$ufXdl`Et-&Ev+{C|HmMf(knkV6=Uq%w#J^ld@e4sJaT<03F<1aPo8#Kr#Vqk`cQ4 zDu1B#5eDK$r%xS5<{-ph;HS8UfY?Y8^wUB!p3*H|erRzgBWZ6?MxAgu*;v`(U+AP`ZFi3LF07z70-&{XOwEg1_U zA?rm<02KwcMxzEVC0E9QAS{bC?7~1~1SCh-*$SY=0!2e%0}426jYpYGWpRkwfR;d2 zh}tESYD(!(t{@gnHmpvGB&$Llpe+Qdid3qjK(a(6mZ4yMN-o}wHo`?DWCB1<`cP-H zN?o+HkQFw7F=9g#U&8^dEsZI6y+10#X=P4TRloT9VNOEdaF( zS&=OewN6cNP*fEz$#z?OxuSVqcQ0ICv*3RDn)98w&Kz#tAs6Km=3H{Fb8it+J% zm4x8@xUF-^y+v-*L4)Azvb&tVTwINc_MV?v{9 z1EkJ4V`UBn1|+Era7gJs5V~g>H0U2HYt=BVzIiFl@@)SBse6TRmsi}(_2$~k;g(w& zdS}|)6$ci2M?6`Ko5=HyI9so>)cc-)x5f9mTV4hvxz*Y(OM=eg@AXB~>NDN}WfS~n zCZ8M*IO)tT{J=uolq*lKN_WL<=dw4pN_X@2K5}+P97~uuMMFiq>VSs@O7}iqiD!^W zCpp+~eXoJt_dZ9&_g$Z?8@)@hh=t*R`;9VNMZ%@(r@O-^nXM9 zf3)YzoOIIuYM=L1L=W)s$W!#$p6&^h))HbWE$09Hvp!zNfLjR-s5Fp=d-LgowxII5SF7Jky+P6)40-ZSlb`%b z1O-Cq2;PzBAYYF_UW0K{%fx{Q6r}_p(Kdz>sgHh9xa*v9Ksg6fffypkt)rxdW)=$6d>Kra<>|rnYri_J z_Ac+jVLLT@;idLz3q)U2FQf2p^*#8cvv-kn)blF&x1{VV7UaDB?y^=3*~dZW^Jj6{ zwCLDHaZjG;Wt6jQNt=yl$u|4L@8Lepmnir+t(OiX`Q&4+|Ac-y#@CHa^3R7S$1wYN z`yD2I+nRLLH&x;vBySGE;4Wy+45)> z185P6rRM&&%!Gx&*uUQ8Cn#;-?lakANYV}x*MaCO+WBfHKhs{8oM?NF@+XX?89N+peZ3E$w?o!8uKxJ?Dy7iawz zuUE#MO8C-E1#UwyOI||dEF_YMfe*3dZTto=^O^w(>wu4o>F4nEE0kgmP=F*#L%LPB zXn(JyL(X03j>Tg~NrZC1Pk6sK8+g#K(sm~7B(=uX-F`y~C65bmlhpKq z8g^8Sm@L=wElOKIFd~sq-%D8@^8I;zq%Z>-RGr{ycGpjM~p*`#fia$Um^7 z_02i>w_YB?TW&9lHA@O=RCgtCmkU4PRYG+urB>SCTKwd6&vTV-oOh%F z@`8aX&&j8mUE!3D6_;t8E?kqj&cDApPB_jI462VH2?OO~A%6|nR%R?E#R7T!q)g*T zXGzIYkT&Xj6PWAPGg(2*6EEiPW4$YR!k>3Kx(I;YypEFhY98FK`e&bTEzgI5_vJ3S zfA+IccHYU#F&ak0JMoj)lH}O#k)7mhXor=SUdCGydCk;$L!fT@QgtNt<%H~H(t!yx z3JsInugyp>g}RM!t>t{&r@tpAq)EknI$_swOb|q%RMs~f0l3F}!fz=AcEm_t7*u7A zz1g*P&@c%2JHHS5p3jj6TJXM!s~!IL@t(!)X&hmp4|7Ow|BY$3qQ91N<*E~e3ZDq-R~?6 z2>>C})_rpvao`j80|*5NH!3e~!^m@wY%zy}{&Ju+qz4R<4lzp1+~3@cVY#2473PUL zTqWrToWD3&e=n%dID#Bpzi@t;SmE$90HM|L*~W+Gz5dYsY^aPJ4L85RqA3TlF^TSh zfPQs}J4irENZEpYUXFB1{{4L?c0(^$c7rJ)k^Y5vh7!VyNtt9AaXu|kg#A92ay#O0 zQ}%Y6;%DKbUU;$brr0{dwL{wLn(dnEH+?n*Jw5!kKN7A1cvyoxB@0$DbQzvQoY%9q znOwbi5fFf%uwsrN6_dt&p2I~|C;mGf!^9XW;Lt*#+ z|M5gV08|?HWZzYOw{AYN5Bn}2d-d_W+Y75(^Sd+7ki%u97{e`|%Z`V3@vipukpjJ! z?YDz4bK!D-+RL>18z*$$dtI6hw&UW@_5>*wdm26uZsXV;$7LSr5mHe8S`Yv#zQO7c zFv}()0V#co2Ye85fkExrAQT}y1-?S_K{G|!nJ;Q(4rb4DxR0c$I-pBO-VgIzM9op1 zR`GthsYM63iV`o9%Txp*&l@csI<4hAQ+urj%_SxOW?b*5XX!?^gxDr-2&v@3bWTkL&AmBn&qGNzG zaTzd!)>h*Co%mL5HTz6J*GOharrD#;OEK4N55TnF*i9|>{QMI7cZ>_&Xsy+_jBka{ zeIvX#I{Q2oRO?F1%Lq50cq%F;v_0m7KMYatU@m>f`hE2?zw2Jr8P{X#*27RU)Ap~B z#G=<}Ab?xCb_D&soLx1%r^>+h5%JhJ<^b-h^Y>73`DHCga2TIpz~J(STs*;KX6@E*NpCSWS zb#v|DvW$~Z9126Ed&|!UU^G{qb*f{ze~PJ;uzr-BG3h6n9-WH&CcjP7EIzB^7!2b| z>dFw(BV_Y+#KB8>ogse=vnK(L@AP|`i>$ayZUF&EKs{g5qp9|!a0dWBHM2XGmKAox z#u)(F4K~J~>98SUa4`&EO(VPd9*W`fzaQn@EDrmlE+H2hFF)u?5i>hd0>uB&VL;Qg z`${%|gKYo-JbA}t$=H|5su%QT?>y=db#RUw@hT)Ign#Y|HI3fo0Lg>UX?*g!-Gf{q zn7{drvAVp?6I|`=E(yHc8GebR~%#>z*%P#_V}>9AC&&kuLe&eE2I1J?oYK z&l&G+vhFkQ2?ZiGqlnJ_1l-}QBKix#OMbzgao+Aa8_>rwzuuwsIQk5G2y|K=GN-&s zRz^is7rI~d#6kqI(Zv`>+E1G#L!ox_W?idH&IeTv!%DI-NJxJ?yRqRooP?~^T1~!~ zP$)k=WA5TI-S3*_Bp6ozYb68cd6Y1SI%JUb3KE;?_p$MbZee zVe<8gvfI0Q8Cc)pjR28i#QMByN#v*#^X81Sm_Fsfl%n+aS#>e_iGF>KQN41qT0e}D3L|L*^-9G;40 z!Heo;+1TZOhpx;W0SRA$02%4CLZBdHgb??~21_;sv{)CIr@#S1hS z*Mp#j?a|S?QIP(LJl9=*Q2$2wwUd=;b+r@=5YZ=f&5q7{T_Y10UigC-<~^S}AN8NN zw-r@;X_8xNYVm0dH6yc(Y$cPu=UN%+n^Txp#WI_0DaFU%A%$`uk| zj=@1NL34zaK@mDwQY zy$_ElgXuXYJ@yi5F(6)C#F^zkzti7hFe*h&AE3%=Ews(w$0WN#)|OHxd)mCtT&3u- zEG%J{x6W=^q%DcU(PG`3(F|HdJ$k66eB%j80@ z11ob81bPFdNqk9ODYJA?sAg_BHYe-Uoxj=$%eqP#FPGri|H@{ z9PD55n7iNzYl2bW;&^B@0#V3_eshbYZgsReGu=QLEa7gCp_E)MfbE`(rCUjlroLFd znE%VtCcL@7`?usANfMp>lP{2WpQa&guX!y5!hR^<8zBakp&Lw{bNhxR-QX7CR1`7l%n4P!4{lgkSZkU%10^CvtT&Rxz;Guv)20WaE4M&sa4Hr5z`n!8dR{qE8aUS#F9rn0vm-o`MUc z?^4|wL+D_|_UXOAWGKT8o+TbIM+WQgYnqT;Z!Nwz(ya3CSc~0>rcoWz|F71CFIbDM zOYaX2%zooyXN*3oPsa&aB0#uBefiWQOAX@FEXtt+WIvy(Xdeh2%*zU2Nb(#3GXQ`J zJYYF0n(%gjZcx;qQzlEXZt(L{S1VA6<-1&97kR2#&rgVBWy=|a4CJ#Z3_4}=Qq!aS zU$Edy7S>XbnkKn@uYqMV1oYYAsp2B@8>A%%C+MT|d}`~|S9P8gT`&|)%nC}G!UBQ} zsTD9o0(de(AP9%0WvHnO9A;(?;OMaatt@bW)BodJ^F9p(|3cFSu_OAIO3R{!cbwHPNDA*qu!jA1p zC4g5KZBI*gtMB)7zW{I$M6$$)am5x_Kb;%^1W_`9-#mIDmRo?bP}e`TEk6!M=H3P>#|S)^w&N;@0DV}X3FTsd$Ot06qy-kSP(UP*PzeQO zL`ekzqy!3(6dlA4LLL8sMEmS8m89Db-C!WL(j?Be#O_3bkjNnY*pVfAB!QkJ+g}fB zzk0v1*8A%P-*$$N>3{i#e_}V3Z?{n z6w#K55ZS%m4j$)lY*{2qaYyi9j4>P0sma{a7ezsPZ3ae0XeHEzdkj`CSSxa`l#-K@ zaS`x;IssJEA{v!zf$O$V!>$idi4f%jf`br(U1N6-4j>pJJw($H_3Z|)`ib3O2C~t0%p ztp(|_8J}M!BR14JI_s+6AtK+lR2jT=Iq`aC`?VpETrn)-0nq?}4Bm>1Cur$CO9M=| z5!No;e+yyk#QdW+ic0>a7IK9cB}t;kLnc1D6J!QTn`TCAxkuM^NE8y zS*pn(QcM0W!kClDfI9tj}9snz7~heAzo+#>i#$ ztrt-8wc8d(0f->68|ov}KoFhc7;2kDpN-00tVv6!dMWan#C$j3;s7megg+S}8Xk_0;}LHbqFtDdXI!gVK^vYe32dMBpGJ2~us zu)1)*iOhHb!SfC|3I`VP&TfW#F25PMDC(up!3xKda)=*Sk#5_z(l@733Jqdy2{=Xc zg}K0-GS%qIxG&38YI7&VCI)Dxiu$q}dHCL(+p2w7{U#4V*c#$frtHj|%1pOHRp(>e zM+C#hulCv8&84Vu-k&Lt1 zidiWXZ)TU5lTO>G=}Dn?@y8L#+Kbs$uFh5W_b+4Np%N{SD2@a{<5Lrv$uzAhW;(0F zUrZ2$7kaige|-i$>*>5ky-Hu<>6j|2q2&&ONyLc3-aNUPo)R*+uVTr!o6|20oIFLX zcG9JSS+ZtDrm-CQ0f8$>QXX$x#}Z+CF`pIQOm(9I|Etz$-~i?g0s&q}!q%r?Jj$mT zTt8Or;J4H|ADW0gEKA)^DLMupGtXls=A{{?Zai118|axrP7rX^j-oCg>rk<;jE(Wx zH&Bq6W{A48_eWVU5$QzJQ}h1qTmf84Ysh;Q&~?&nl%I}(u-7b(u9?6a0`dt&4bL$U zT<6K%CKrJAxQf$d)@DB`b;{AraBJ^^Hi1GFjCS8B->~#PgPjuq5oy6wi(1i(J8w9( zpHeJGcy37I`{<`gQZW8WnGB4BOc)b??NAs)hz<>i;2PO<=$3_FTt8F<)MPAC^IvOO zO9+=NZS*r3xEPuh8rq;aEMI6eskXVpV-mJeXW}_n6U67QJzCxKaJYfGEr)1IKAzgg zpuw|6aTuvHQ{T$JUHKx{L4bI_o)^37|0_4YfAde|N_ZoJ(XokTt?;0c2!ChUQ)b@NF^ZOZ2tw=*WIE=6s0d2fn!~@1{r-ZLryYa$0`YE^D)SEauy|H zA0D+`6^$q)D@N z#xdCDR;dX%^fbIH;-K4J`(l=ajM%O99cPh*{At?*h>`l4dnP|A2y0}s3U&P|Yf3=I zFZiE7xS8J3+}b2?d8%PUJ5-5)YW92{0Z0l83QZuO>~y{ssqMc>DIn@u-`5$x;BY$& z^*cyAXrScTqH%|TpFGUA?e;&tdxwI+E|P2KKY>UaQ;1)Nd@pw+!QSU=baB;rn@(@T zL6Sw^7Sxcx5Fgn2ReL@@uxJIx2QcRP5o(?oPQw9OnJ=CyFN)3=sgO2AFO2kUL?&;H zF5R!tnm(6K$rm<=`)U64q|K;+RWx$`Y$O-+K(jP>B@WeasW~$XL8YZe+EqlPP$eD5 zBDnvX{G0pLe%8%>_x`kgmN~SsS%98o_CmN(payPcnGfrjjW<@L*&t*@5l$z08ZJc* z9KQ6xcQ9;{)hPE6=+oco1UnmTjk#v$Ysvigo0Q}Xehq39sU$^#3Wj%-1{jr-VxEx8 zrK#Syplzvu42DSGsK0ons^$^VCO+~e212tsTw7}x0St}+f73GxFnvsV&5-MwQc*QC zfr7w5Bf<;>K|>?)PVLOr&qQRKXjMLTc%TGYFEC8$o74|xqiRWDIeHSD7XyeqTW60s z$fO9wl8P4nF||h7;>=BFb)YZdkn|z)`}jc9x9@b_7KYah@2`ZEjYEUV!~o)AKCU}h zv<>abQ6;j>kVqP+uk&mEkAh*tgTE}Djb2m`VlF;xwlyc!ob@}CoRNz8rKi}aXT5tztc`O=Z__utZb#F?&BJGsN}Pj( z7;R&rUB25MdK(yY$rL_Q@J1oy+Q*gUkmOY!DAA>nJR}Yv*%0AwaJ0i>158$vHLezR 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

  • p#|0<18EB)GAbm1 zgn*t}AT)r25+H&o1rz!#5``0tM*=PMj2#w&|M=&1Rf|@J63R$Yy%quvOdgr|I{yIv zF20ROtYC(IILKMx_3=r0ugTL14h=ADh#XraAO_QHf0ym%rgO;c=k9oibG5}c-BS9l z4L6i+hRoYt#qNy0uZ2HOLplRZ5Lp~(#tz6R3Nyltv3O>M=K9-ATx$~bN;krBthiGu z*gC20L{D`Ra>I5#z(CsC_#SB<_~xDv%d+}!@AQ|E!%yRdCzpsfdm0?sJT2k&^Q`D;=Dg=3 zqs&9K`=*!Roy7XjS3>h%lt9}nfP(7^N&nvqyPPor@*nP<9q!aUjDmpJKH}%d?7eW@ z*Y_F@(9?}za0)>cK^S7raLHYk&ZK>Z6l>@;33VD#UaTMCFTt1($_pgI$5bUPHrr^C zhv62Zl=-aJc^`h&v52lSNr#hS|DLjKzf(E`)vdphu=_Me08!^G5=Uc&K^LY1pjnPHJ2sQEyyIeJk)59zVhOolXf6o&}<4XLWa=dZHw@%7xAb%M(cmE!@tptUI2 zB7%y$s~C-Buc)xX-WdC9Y)HOEXQjZPDriQ>ZLgnPEw6j#9_4d<+r4!~O_G(|9k?!b z+Su1Luhp@DV2EjTLM)^)BH#_$@_1NXRe1B^Q=ZPR9AS2bzgyw_%{qjtZ>Y^Cj{4aZ zCsRT8rZ30wv=pOb4+v>@rO>d;QO^p3!ojoJ+X)Fly%!gCK-FZXsnM^>Wzf16f&v2$ z<}ffGK=Fuz#Z>9doz0&fo#EAzOwpz_T0KH!jzo$}<<6&P^YX~#g-)ZZh+7Z&=8s68 zJ4HQ?d@Q*~W1Hf3B!=^5T&KDyZSXAad}8Bc5kiS#D>iORQ2=3ox8)eDkmU=~RJ>O~ zHahdJw5hF7?_z|ERx{w3D&5Fo)i-T8_shu$Ow!!?^xmHAr*iobyC}+aU0%Y&rLMHs zU7&OoGw??1W7k(s)6nVlk{JRQB?wvqyP?^15$fP6*cHKER@W0r`!3uHLW}L&`P}uU zNKtH1r5X_~z){bKqSlCtUl^u5EWi>vMT)ycDN5{cq1vVb6i5N$CXR+_>AEpAXi`d* zs9GTflKQ6G@$)UKdYkEX4>TORaDMKnI1Rsh#(?kdA9#D~%NM!i7K_ym5ZpE1$r^4N zZLzk7o5;{q(T0!c@5twV`?xs9>+W&t?M80D35J-K3I(Qn-^$XK#c8l_X{2|=mkWeV zAgUqKG(;s(_bZKeVasr@wPTh_;uyWt%6m=Y^RFF;r5>4N}?^Hy+r zmGh(4soQ7vjbf7AGsMrr!sK`AV`Sf|y2{Xb{+)Ac1(~g@G;=dGO%-F-I1;d>%pgm6 zO*vBbp8FJz3}uYlp1(x3ULm_dNou!}@26U;8W+*;-F)`l^g>ASy_+#&oB11cQ+{@i zZNaF0JUY)l)XgcH#~7P;Jx#!Q@lA!NR@=iqVQ~-^^`6 zx4-QwTzm<iNN1}8AL9Xrnur}=*(zF_{R?u3!Hdm!&s~v!9L>vseY)= zV1;1;t1>Kw{}1V3tCHyKzZ^a%2BaDYa(!ka9+htv>^P{FuyR@3y%2RGhD8C$qU9u= z4k|jqI6npwIex2t_RgIgET_1DY}J4xecr<$iehawDNJc%rOArT_9(RPsbKNFZlc|{ zR+4C4c$*s_-bG>y&va>Y4##4)xD#TP=wXO9S*Si|1CyKG?79R>kfxu z8ZBVmmPnq2>h#bMol)fNKwSsFJSzAcAgC)2mt{IB0Q1&4Y#|?d zbRatOFhB|cFl7N=X&Lrh?923{RQw4!*p)5%O9CTM4oGb4wAGY@y;C5m24c_1iS2U2D{Pz5<{34Jv^t}L!<(ejo|-O#^1>~(xY$s)R6UFRg{TRYkI>C9d_7ymwy-k9+ zvIU{Aa>@8vEE%b4Wm9#S`%quc-lU5H*qRSwGLZ5LAnO|isU=mn`+{3tD4yMU7gveHI}G74RV2NP_X05 z&`$f^Rt*P4!7@ff`TTQkqM@lz@tz!+snapvP5W8spo&#YZwrOAI&<= zrS*NHyMeL?WZOyExNF6+)}}Ii7NF{w)`%>3Lk3**QOBhCDWuYCm!)b_y>mV(Aedmm ziKZJl*yC~gj*I|3hIy^2Sit4hWsJy%sFV&u8`V&DBrC>9A3MLKvjo~+hf5pIpAiPN z@*A!XrC=BoP4KCS0PDb_CQx|KTP$Z!YsMMtZ?KxYL`qQwqev{V-w>(kw6&033RtPy zDkH%muF+dt!J{u~lT&GYF&{fj_8kfZmTpvCMOaj|_c>+qWwhT?u&R?j^Bo(^<@9?; zKiu295q6l?FtU9e{RO44zh``|?Vs&CwlS@sgv~Y`U89a?psE-f**6rVnS+da>IWDr z83DXI%W>v!-0Bftv|;kb0MmJSr!9fGX2r@ht>oEKg;38(Q0(Oe4Gp6oU^GZgL84JU zq#f>PTUf*&UzW_TaL{eQaXqI8mhKpsk&gQ?GecS8imAQ+f2NFZ4) zM;|qGXBI}ruQg|lfJr8o&gKT)q-9u8YjI@(U^SS8FTkIZkJ{C)XzGWAjJk#-C)#RO z98}&R(W1Ql*Ph7Yd0cw%?#_YZ6y@Ra3*|3fj)d2qg45QN%?)5;Y?1s^+cFJcI}Yww za_=;a!J9*fS=`)+Ffk8OH*iNvJ>xg1Pu6;eA^68kVxtUis#jRb!>X!U*aK|c?B_U| zRaF~{Ufb5{)1!{S!4M6I^yU%WBJ7oSj;oixWWq9qA!o0rr0fk8YTWcZd)TjSmxBwG zKVMW!?GzKW`l_NE8Q!|717WyCAe%%a#*snF-H3YZ1O#>QTV@z>!U4e^=c!jbBu<{V zK?ZE$An9Y8#N8prJL!2`+h=+;wme;P+3w5KTyud_1uX`cF+r=IKz8LItD|(2>K9Tc zJb}jKH*Y8QyB5W3-svqbL?hj>auv#W_;u$v#pl;?_PNpZFWvDc{_pN9jWL0unnD5D zM*B789FY9V8yi_e(F;&2g9ISd>{u8BWPB5m%vU4ugE=D-Lz&l1cCZtCvhHsS(QNk@ z2feRxO7Kgi&!0y_u**5LzF0inO;69GmhH+Zu&`hKSgjE+9ItQ>j1CVHARgP+#arWG zN5Kp(QUwm5@o#9OJSWWSy?%_I?p3=lbfLNi8aB0T;W^4YAQ6Ko)0zM|-c$d2vQZ^h?9+iRP1&c}UP5C52;tdl9Mi=d+rfL9^E|NsC0 z|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|L{IfcXw0oouc>N?_KTg>6Y#5iuY;L z-Fti9i=3`#QnC%$HFcY_tqz`-VBI_3dcECx?p>abc3qdYQM+FEq085!u6p--nstqC z>}}lJ+ilVw`Ptd_``%5{w62;U^Z=ws-(kRob=I?sc(i zEt>1=-Sj)KTUO1!=XTgtY`y?=UvIqiN%L)%wzkCDsXbxuZibl;H9M)hmXW5GnP}Tq z?{1J3dZ*6R+d~3OM_z&S=umn9`JLTu>BrIT4OFH*x{@!iO}nI_jM^drr77|E8?x)V z?sMDR+8U*AcOLc}=Tn}|d()}v=Fc75PI=*?5CQ-KVgLXMfC6cP88Hn2005d~Vj5|w zu`ws6LqRZTnlxb<224zvGA78Uo@h||RY{ZrHd zp`ZZu0qPG?r>UUzJws_cqr_?t)jXO(rk>RVNkIfPHm9V>nKqh<8()fEb>W)Y0fB z0WmQ&(9j-{`k;|S37`N?G|&QMXlXM*ObL=^CW)u0^-Za=O{OX7sy&FFlWLwZGMf`q z(w;}Dra*dWPeal@DW~Z}JyT@Tc?YD1O+8N}dJ(b-=`wjW2Ae7DnN#TX{=E2{KezWz z-@4*M+Mn1T5WkYMjpXxsoo}1;11^#EPrdd2(V-#tZu@i8wAZGF1*lYYe}z3k_O_xn zneD&+^A#PS)=ewz;^Do9rL_n!8(7fDu z;8}a(d0Udx!8D;nTe$Q) zt&s^3V*%%{6KP;`JXy$`QOf>sJFM~bV1vGE3v$9tvK$#upxw{thLV%9i9R3NR_MFt z(tIao4H-w=$#0`kC6jEH4Hg|Pgoo$+UYyo3wfFHBT7v6RFx2~Z%YZtyl69yJ^-80ZC!u5Nl!*#>@z7bWQ2NOV=8W_YzkcHdu;f0%s}18$LW6W{>$!noo3iM^6 z8WjO*L|`8Q12u=oX43B{8vrW>8M~f=XX;RUL!2LZj8k~Xe)K<5D|f%@s#*zJDC-|W z$Z{{|9A@4g3x*SaqwGJ@tAZK)W%jtR27 zL$0=SUnR&LR{VSb2U|&^9t{8{y)tg(4kluDntkKk0Eh>Xf$^$8Y4u?TaKw&7UIRfb z185F&N@)vkR+y0-kK$PM6EM5EK|sF0*YCdWGVL~Uj2|Ug z)rYXAAp@F#?2=w#qn2CEMFf8!3izE(es(FRNWB_>pa$C2?>588Iz1-}ntl4b)Q&Fe`m_ljoRQwX_ynw1vC^2RPkBCby3yo^=>`+GqJWR1 zfHhw>EHY&vrYcSSqm{cya_X<2>~omF^?@7j<8PhE2vficT9tsbW6VxmwE=>mJBkmq zEQ~E?$Y{e{{dtUh^tJ}d0N@X+cmxAh|6yw4htuZyRpNU_w>$LBC=+GsbD`>Wa!7XX z&jgw!aIT#_+WgBnqYh4JEjsjA0ctS;Wt`R?^{u%7Se_k>K-O9Jph=uvUuLtru!1H@N zf1dabp4+#3K50kI!AlblE8p&Pj_5t(ddR$vC^!Ngg9S8%y^7svyK>MU%J3dgs?i?? zrtuu zOL%ZpWLi1kxs?kcCrj2d)%SMm%-m8Apm&3y;8Nt%6NXQyZtZ+kVjWy6zyx$vnim(k z9gO?>Dex=XO2P0Y|7)WVuis-YMtxM17$!7y3JFRMY^bbn`CKx>eidre3SIsi^8jy5 z<9yd%8HDR!y`H*o$A^6JvubFA2Fua}?vr@a_0*y1wmpW7{uKBc!b7`^yqfsuywwJs z)%MCmt-}IlXtm_St~pW&FnitE_u8QzEJ2v&bv$j#yK$K9crg6$XH@iSk)e$@iI+Hp zZ46p5QJE$FLeCU;X73kdii*_>NBf*uj$UTHe0%}WJX`kGr1un{u*!qS{JZZRd;Jub z3q@x>%Cn;>4=J=EEn0m?E2sI1Tzehcka*Qti z6gvE&x7ac_P>@v+*iA)Kr8gP*E*T8J7)WfU`uTP(+2dbATe^MqL=BY;eC7^a7Gi(K zq}$1~hB#ZSCAtTlPfB_AS1zmLVklVpD|w%%^}h1Or1F}JBG%U`j&#zlmVS|Z`8Z&5 zJbc`0rnk&j;5?zl@$14r5-C~9jx)vPKvokN+r5rx>hb*FS%mVxof3r^1cg!wJ>bsf z$FBAnJ%pRuOn)o%R5q9#*{rm8yI-8}dvR3xRB*Ugx*Wvc!J0cf3th!L9JzI`-u$6Y z9gyd?=}#Rev~!*{Z&IchZoo()ki}|x36^@RJ;t(z6zJqAvg#I z%2M!xn%@(9(7kK}Q9>t-2H+zcjf{3w!0S6N{r)E>Pwb#$uPANYWxq0(mSzYK17j^b zrqk4Z!Sl~_YEG=i6cqrIAiAnX1LB>MF)Ukw(i%SQOseH*&$Csp_ zuIg$&eXSh+OV0#GzpF6ruEVOjw15oEFNFF?579AVvDQMZ!gYpfQhF%qj3$#GML1@& zPvlr$#(fY3MJKJ$UkjyIpr1(etD%4UJ#B3?KNZwa^ub3i`T5(4Comz^Gc019gm<`= z+__HX-mg~J$`79t^L1qrYgBM~|3dyY02_K|0B?&VuP!|Z7s5n$0!B@7efmpFAOr)< zGbg}WGsj7!063@cUj|4pFALFLaar6VQE*E)pKl<=YYp#0WZGB_<;5U^zh;>L=0D!U#*7Y()U1z&S|ByGuqw+Y@(rGWkC7(}zaz!? z4kE$2r-f8nMtpcDdT4RDLRUr%O;qgl{VrzYnZoGi#_5THwf_D1ZhxVO7&(Xm1}-)@ zZZQ>x^13!8=N+Z;FgqANRQO;PPT>&j|IWS-FTtALRBj-bhz zh|M5BXz5Tq27EkT7eovej={7QN<87lrAx5&h8AZ=|e|0ZZ{jS!BY^%T@<{z50$&q z%On0tlnl;0KwOn``Z<%j@GMGrqydBQA%b`$SKUlS_TwQhf4!@OmhM{Yl0Cu-Yi|3j z76qNF3|ZkoCTW%=!OrG&WE)cu1uhOtaE{xJ`Yh^6?UZUAoS#|@gTGXEU(m|0`aW{x z5j6#?YG5ZMmIR=I0;Wovz5f~&DglUV<7V^g7F0M_5N;{1C9hj!2s%WCsRMXY#8ynx zbu#A7f@EFj67qbvT@mE8|1%Nxx}`ho>=}xt9oJ`%8h8x2h^BDju-eSdC$y=SRraqs zO$aP6vQZwf1SkwwX)Lvag}Dp5P~I_73aNUv${sAJv9}b$QZT+)x%*1+m=>qJ&!gi^ zpeA)khHnLRY?fJ!Or6g#G&%2m*3KCtC_54?d_4ouNJ0pbSSAM&js0vr95!e6iQ0V9 zZR}C(eKQ5OKrf@M(*5maM7R0m6r)Rx$pC^gu!}0gmUR%gWA5_zy!gW+{2bkAd%smX zvcaKBD^(lEU~_tXui^OFn6B^2f>}>6I8cUt)SdXO=)eg0b_EI_(^F4p@#uM$e!y{2 z*-^I=902F_(p`UHaSoV8A(TR!PWMy2VZc;>a1+q+f%@YC{*xgA6sq>7DuMk+7GXgV za^jUZWN}jfSw19$k`6FPa~C^HN$4-GYT-Vv$nj5K%jyFADKe+z-7XSa=p@i~_Kj@VT~HuyT#1bXp`ntLPp+r+@0;Wy)@+ASl4M6BhgP_Brx~SFNO!EhF+1t6)^4E|FNrrzN=!xy@nsBX0}V zlC?AZC=S?D=#?4_L5Qf7xvirMKr()W1Am8MOG9&5xFRO}q(@a2mN&}`P+m!$KTobI3 zUzRfBxYABqx?D`R=(u(6!)XO3=hVFeX1^qVM9S9Ol4XCxl5v+hOGr40ng%m_csP}Z z$lzAKG3+DR8vfUjFMJoivWw?qL5Ze%rHk<36Gcw|BngRJgvjEhmxpi{Y;9~F`gC;( z2s@x~MT~1GK}6D)6oQzb!nH8M?RsO9f^m}RfyEFOL2DY6_0D$&#vq4_8Wx&D?a)KB zrA-cPV2~jP%>h@{C=ZQyL;!^janMQ*lZ16s%E`xU4>JzQJ;{fG^mUayqaKBe?BQnh zC;NYO^*j1MVjmw;nnPznqFb=Bzsr<7oB(L_0+lwxabiK|#B7E7D+)_biJ*#Q>~$SH zRpRG2Nvy)nKCv*dP{3dWl{Lw3m;*j5=mRlIP@Zw17bP@cO0w024v}HY6VLl2Uhs=MsI1)~7ua1Q7E#_=4Z+$#59U58nGL&B zO_IX3>!JWbjUqXUh0*OXn}tslq{kL|Af4D?7$6K05i+H(lmQGZ{eTe2J3oxV{%wz7 zr5z?SiP(L9vIqN)R(rM}^)H;GzWl!Hz_O+`uQ6nPm^c1df|Vm)1`4@|WjzCQOl8ai;2gM_yfSM8&{SAG1sRg-J)iR zfde$!^<5W-t51J$vT->SSX_6+rKh zyKW>Oh|fWvqsu_i1SEzxS=&_49Z^L>0%=wpgJo#X|_oi#?7&P!XmR4+?n7dKxoXE%Y5;!x@H z!^4xz>UHb{`lfY*r|>yNP(HIq>p6{Wy=qfj3ebOx%=EexZf(2tZg7OaeHoru(8XJK zP*2#Aasg5Snqt?{$Q9&U6dmKlhd{)Imsl^-l61!1TSl}R*j);KHoh3+s+9+#b%Q8U z5r&v249X~L+uLPNlVpnZ(@fY0_gz@_`l0P+{l0B0o6I*K@-XFCvPd&2FiN|1Vp3g> zTu)`}rWp(nE;x5XeHx3xc2E^uIm=7T{0DdyT;)*fd7V4dw7KoaE()TZxJtz{up?>*eEmXt|-=2eqsiH~%>&yx_P2SZUs29<9^$gbo z&XN_gu#8YEgifIXB=^J~mR|o2Q*-B=kw7g9`}#bb_21@Suz29{yuO~1*L%RQ1_zL6 zOmO!Rc|NNv!u=G3^MV3J`BuaL=T0Y@X*^>UpW-PBNcxBMO9gGpw*0O#-c zHeP?UJQJgG=QgR`u=b1+)#4a(v`>Y-fRg^oGEoV3_EOuMZGV;Z0^LslRs5CR4>)9z z1U~<#^Pd2DmclAN-)fC=x$(sVI?k?dW3S+Jxw&r}?BfB%;4?_53jhqyRXBuh{4&2~ zVO8iYr||NZ1Yr1^>}LqAn}?Z3ks~^)TgpK2eQChDP;|yt*E0#_hM2&8V=y%;uJMSV zGeYvenlm(GCfc92>mHBr>NR|Iu(q}}_MES|5^FKtx*Io9;OOMc@wl6mJD*_(1!M?a zsj3C$_Y*HH5RlC-=>HN`{x6D1PKLpP#aBL}q~TfSe(uFS$gRuD40i%)SHFOge(tdi zg9F7Bi@#_sd}IhFQV{ziO`3Miwrs7tZ{8YchHqrV5Mt!V zfmFNtR<>+*_(23Um4iU_0yZzvB3}N3G5C8iOM@;^RhY)w>@Xxu5KfMTG+aEsQ^xjTU2{{|k58Ctzu2j?#*fG%v)U_d~&B zIOHi93P)Im8EHYlig8K1oihJ-RN-&Uk~0J(|2L8 z8?4W2ItTy<^W|kn0Ys>9U#K8!&8S~vxMClt)Z|-m?gp|8;0|ef;UG~Yt1Ho?xspGA zjsmD^7p>1}r|_s(pJ5kv#ml6Y7SYW?0!u+E;A0G|g|}OG=F4N>ZTkAv4fSHu9|Y6g z9s!*`qM)I5(8qWj!{`t7$adaSn=zseXw)^81^c?e&M-$t7X_%RhabDLV(}&-io3i` zV0%3YAy1YScy$Q^gtUQn6Ao94L4X0LzWkWv`-)ta%L>90)6gV>H)%~ zm4-7Xpk*l84y(=g;djFwGU>Oi% z$J1OABR+7Y1QY-OHPE#+6}}dIE-nVheh|GO66plOQ_z8*DV85@v5(;=C6563N6TcN z2>;tHuV3X{6c)$O*HrQ?Is75=>}gs|df`RFjE`S?+fj-VkJaHu`;w$uOr!eBfjsi? z#l+|fAgggNG~vhbNq}t=QJa%@e$!o+SAG3$F@U68I#aicTD%2`Y6MKG1h3iZ3z|km zS2-%0Bx6qddzor(x!y=vs7VTKF`;~zD79-`S}6AJw13S)e#?Ivk?)w^JO_FV6@_vw zRa~q2oG1o^Gcyx0eMT?}j16fEx#$HSc{QTZD0JliQitRE3ee=oY$D9j&*QJ}mKv%J zh4#5&@+pAZ!+K4Br`#sxdXfY?E|f!Znl?%U229S1zN7A#F3 z^Sccf{9rr(jS~4?0@Nep-S2VhQt=rPS!n#;@_3T!2#ds zDv>hp;Wff=2YQ)RWy4%yrWljT$GfM9^yUoRD*6F5D1~-<32y@fk5ifz|05buCDlu^ z9qXXCiiBi1-IP*GrDO(x2^~`o1^h$77b+E52q}|Ejlq!Tuk{iH<>+O$AexDBXeEV4 zSADb2v;?J)(HWs1Ah0Q21%K1Hv1~WtxKrk4GbTK1rW4s>G$R(O>Pbr$O;0UFAW^L> z(qttVE(h~=^pv_wIuvc~kp2h$$NhA7T{W80ETD>=Xqr2pgEEwfI7ra_ER`ulp$XRy z5$gPMWN@Y+k3yf*YC`FsF-gv`VRk3;`4_smNFAkprxa(_sx^!z%Yy_>7}akEing{f z2<31V0Z*@Aq3K+f8ttvap~AA5aU?_UmDx^R8M3fKu{N!a<~`zm5Yiui5)=s&P?gu$an94Sg6X6nVhGsCX_-%^YH#}(o5thb0u9k$JKP*xc0 zbhkN?AX1qz83#OWI4gvTM1e3$DupS+n(LJNrIhjo|Fi$W|9jQrr+Q>ruwZVm&^puQ z^8ZDOuMOjRj3A1-N;oD%J;p%A*Y?@h7SjM^1T!MdM^QvVN6$?hdEg`Iw3WWQW-_^$ zj1Sq4>(dSh>S}WU+F=tF3PD(ptkdNI$i#vYL@KI(@gS<*A%ZMyN{%l`G@`mIgj@&} z`MU2`jo?BkN?>K_&Z40{y}?ggmDTg0*dr>731NieQF4MImtbor*j->R zwG6NZ2$@(Syeok0+)gY)YRJXk6)KM#Ns9uw%9nse#8*WA_9$SEg?6ZeC=HG-f4&_X zFHT*ko`Kg73C397o6NpzFV#>}EcM7DUyNZBkgH=e#(}(ciWuEL4hPph^_(vY?sw)^ zWT-yxZ0QZqTjPdYh3L*vrCj3?!Rewc3DD-LBOcMA?!QC?k_#Nlw~9J&_=8RO-ZnLD zIk#C^M~70vR~Y>dIaM3dCjQyfhH{wS$a%c|)NWRwl?!R;tD&SG6{Zwl^}B)+zAzL% z^ODk=;oJT9G~QDJx9VXRK5`W;SAr=4RQWuh-wRkoUvLlA3n%%z%mJkAR`G0d*~X*r zQ$=FzEd$JPBrL?zlF2A{p7nn#RgnOA6WB{dezIIQ@PL6zJ^Q6gDw4E=KGbcfI$Z&g(@tA|y*frjn$?1Q1Tf89c9!K)|sB9{tWJ9|I$L z1G@8nN`N9Qa^|3*8tRD8`tCF6WBRVP-$Ujo?A>V-IUbPA2cd8*8%n_>wJgtnlcTW;Sn*$6q)8DJvF^WTXSBZy?a zH%D0x8HTa$e^2_~r{mo%B03`Y98Cp+LiO$(*gcLjOoxqUj4%-W>8Y9Vu%KkjuxTUj zv|rsCrTBR08dGCVgP>wQ=Nr~7QX7nvl?#?Sp4{W)P|vIHb<_dWRJSxX@Ybg|B<~N?Wt^6nN9sJ8_na&ot zs~q%)O;@piFg&{0bt`kbcBc^fUZ3H;#4jtQX6mKZT@s_-Lx4+3&{e6jG^m7_ZKa>j zPp58`v2A6~El!1NV_dn2Bm)s&*g~7`XnsEEP zR7PhTCOa5cNQ|yo+$?+SsEJ6FyMJm0kuBwjnb3rYG+t1&Ku!Qkbx&4rM<*!E6Wk?7R06Pt(6j+w{y&(UuW0<#1{OQkTe{9XVyRSQS^Badk7FB zC!CRNh>&IG;~wa`2GSY8`dWP{^il0*&nWO#Eppww zGo+$HA2kQKihVvIK$dscAvuS_ft;__iGXMtMO_Vm()y1e4;^EmVvvpU_=D7eR_tf< zGL9P+X;O^ACr9ENX-`J~rg%SAYT{5aR3U_*?OIir$oF;DH)F?wh?cIoQR6Q~#n5|H z0|vo}0gKkNIdwpH?;`mzYK*G$7Vnk%A>Tyuec#c>u`~$;+(I(=WgkCEkTO_E2cJd& zHu&=s*I*Q`6^ip@n2IqE(!^9pJ1OLU3AZ7Wi zB{LC9)orAj0?$x{hpMMu^ zgmWJr{`y*9=j=aM9j%uVf8FkKc6v`o_K%{{^IXIDo&G0PzLQ13Sw27S|L#2F>Q>>7 z*}@eA>1d`xICWz`S8?;GxFHWFGbS&#;f%g3Jd5@yc5(LmkNJ}R@XDqUSalcJIJi{j zm0MN%XZxU+yj4l@@VADwuly9w7-WHjq*{iABxm%lZwt6S`lZyv=t#OjLp9fO&Fw03 zdBDA{6&aEm%n6`gm{BUi#PRpq9Bj2e9Sa&|-KbZ5RSCe&tplv}f`N@SZU<-Xg$SiL z3O^6ckidTEo~TgFVjW17Q%Zc$@lhD`k257W9KW0L!~K~7bn?tX%C$@R!2y?Ulg=Hl zpS9SJ^}-Pca@a@0>;DdW#Sq3pqlOX(<3z%#D2Ep!xMe(LZ;pkdf0#On2f2%BJ0d|y_sy=Dd6-S0@1OUcys4y3EO z6;pSrcBKz%$g6!jz0bNnQ5#;_Aw=ivM{;_eVwz%>j=yn@OY{oH zH06XL!@}IdowO81u|rQU-zGvl`Y*c#>WW<`xI`&LYVCDHrDCk*<8OF-Du_puHo?>y z15-@}$VibNJYhp2(w;B^2K4(;3~Z%}-ddcgV(jyjFdzWh1d{B*j2a9HpQPlEoo@!I zJml!!j)Z2LMf(KcE1%hfc4?v{SSeJxpxGFGa<9wz)c-%*fW(G1b*K##py&~;R;V%b z6obz&W@cTtzE8L6X{)?iaDPobR;FRbC<9Ck%*%!ph98V*js(#ILK38Kt{h5rb`a29nC@O|#rQ)2Xbck;ayWk&eAWYX zdQTX4@hr?TTjWg;%N>IwrUa>j^&BhmUm~Vw)qgnJd>W_PqikF*tywk{ItNB-MaNsQTe?laL#wZq# z()`E**D8QE!D>Dz(N9 z@WH%4W~y~_AU!Bqs+%L675i}DYg(NMhx9PIM+@EJqtE*Fvb~@DqL(pZcYyJOAGgbVK_4rdG09Shk!D4WPM1rR7 zxUPZpJ_yg8FdPn|fbhcIuyy$iP^pt_>tjA!V^IHSc$f{baBXcg2l^p@GU#{_%X8CZ zL+!*34QvwROa+1^+MQDa{pByXHHfz|LBT{r@Giwyu(}~c!RdWKwF<>I9pk!X1&W-g ziPSCz-7zq9KuqoXft9&xNFZNhS0BaUe!qtwwXYr(I?&(Fp+S^(d)~CQHzf(W^hU&< zjtPz3UYWA>sps`4q{Or!n9^JXAMUj~uhAp_e4wV(*P)6khw}RS5;nL_->%!GXiMT) ztXlS#^A5cAU#{KrROvWkItcY2t2b!&#V0u;qaTXrtVNEP8b57MVo`ec>bfOMD1F*O zt-Cq|h^eRgpVIPPKc45R)`H7vjDFS_lFZ-w?$AuCZH;iZ=iG-o#jW;NT4Ni?Tdodp zZXoFWKRhY!cG!vfo{y~i9dp|rk_wDFQ{}Vi{bPGv&rynWTxhgwkW3MO!SDAQb2TV0 zhWb}l+>P1KYXzgoz|Ey~RGHgr5T7Nuj+wR8BchRrBP_USuaSpT~u z5ino+%vgOLx{Xn7OZ$~dAC+=0batQUk2ZDvuh#yIEbL)W^u1MA54hYeZ4h&hNmI&y zi|X_5?frVBUtv`L0BXYr^UeNehq^0b!q-0ZQEJJkqCFn_--6irIq(p=RqiFnIq^B1 z@TPg_UBCG0{J%3Mo_g&op2wcTmCqh8>HnTbsWAUH%BDP}mQxB@46)7U^S%#6e7y9p z@GP>Is#$ch&vOgc6?v$fdrcGGOn|DA<9)ngXbu^#VNZ}_&ezOvC> ze#SIcUJBL$-#gWp?55w@k)f;Zda#~N>%VouVA_$n(I0E=?QMF4)!S2c*u}PR#;Nc9 z?!V{t`vbAItl;nAYgpy6AF<=q3=x@22fYjgNl;w~H^n4XJy1kSi((yhQj_UWC};X# z)V1`Zsq^`DqTT4d5~xrD=`gMU`|-m-xolID`C0`g6bzO?!IKsrB|Gf7Pe&PTc0X&< zn$!qM>jz5^N?UZC3AMtgb>Zs4MieB=v9OreHcZ&^m9J6v6{0>w6 znzJF;{7FhPq*3W5(t^^cc1p*GPTkdt>i#vuu-d$rwiP+-T=dJax9WBFyB&jKD{pmD zy3u2PPu%=@D{s{6$q{{Xv~A$OK3nI`y%0FYw^-aURjwQF3BKL_w@}a{$D@O_Wv$6b0mC*GC_jzYoLCg8mq#bvb;rje0mQ{^sc3s3^1BH z{{Oid?5EcnHg*xAmR61QIux+W-#1p^w(I2-rmz!y?;C6#xrH$xs@xU^N3n zWI&vK(e67dxRcyV?9aFRuOr6q{C^*@;Ck$Uk&s}K+L?WoxM!fw@p_m-|=^DP~m5%wGgRtSNQ8^*~#)B&_t1rKWPOT#kN*dx97|11sc4b`qK3vARSeyjI4qMDWlNo?6;;w*%3OE&V-qT`eaqO}i?8kdn*OLP z7ptT7Up{To1u01mdm3zQh{`leAc2&fQ80sLww8jHqy&r|Nqhpt#X+)C$)jR!d&_V(SW%re_e=tBUu5o`(MPx0DE0qfKNkh+{FudtaGBJ zF`^*Bmq@^KI}wVdjmt%~^QH-RAxJiwVcZ+ASx8Wytv?&G^}iAua1%s}&@}qZO=6o-3&f%7vCom!qWw{?OE^Bpm{JK<}d4HdRP)yyJd*(y;J*A?<3e78R z6SUf5i~$TqG@*te7$EK#pxrKs8*yC5%rp?xMJUK}LzW{0QpIIeddNkvtVMNG@NI-D zc=wi$SYy`BwqKZ@NmX=23<-q@%fVEmg01_MRWy6%H$l^Z zQ6y%SB|s`~fan;;O_cmr!VHao3gbq}TgxIS#HeP3BDRlO!*zvrSplVqQKZpqq6Ws* z_{&v2eoC*{S_>8?q?e#I1u2Me#ogfU@&v)uck)VsK%l>!1uUe48o)(Sk(mIn5Rl+* z&8S)LJD4^XFDwHaT?_ge?w+xyH${TMWKYLkQ)g-Qr_ZXj;^n!sayU*nk|h994J2!5 z2GAj~CeN@&TOk&h2kVRlt&;*QidR_6Uu1#=`<&`XI#}sN+ z;#c(h&$&}bG=z;lf=L7jD>?13LMdoKwY0o)b0>fk+w)^JO4#LMlW$P6x zar9_kfw8K8v))K9*p>-+2F?bh+4>fVs|3`7gKQBE)KJ5jfUjHG3$k5`w=FeEoD{7) z2)I!7B&#e@wsN5X0g4d;5g6&?be4PCpcmjPnA=LUC*!T=CbDqxh&MbPH3#TYNA3~sj8+HmQtt*al=aHk)BHFIqYZe6oWnAwn3*OGKxwf> zRpo7+e;%_AzpKQ<*zG&fnln*Zj^@^l!s|EzUW zJy(e*e3BdQSrG&z304x2b^3#Zy2^vK%_}Q%TEVM$4>7? zX{82DJE=$zJSEE~N^|VZ_N+Ll7fXVj9p2=IhoN@KA=LiVnM=EH~FFobG$?wlJCpW82=rBz(?u zAdlhc8@j-hf;a*o5Nl{Qnox$&8%=9!oEvLI>21Fj*4-PetpWRp3y3r$TopkYU0Awys^{xE zXibj$20zwS3{z^9p=?#oiixm*>`cNE2EapY!OP-##KJEbt9(-X^uFrExTV~anC45m z_@*AKCj5rI%Vcf!^4wI<7}hAj)lHQsRkbXZ4U}pzU8-Kvf~az7zh$gaTZ)}dxh8j~ zj_HAxroOar;l;GIwD&;}AiBXMVQLKnhM}Z3gCs1a@@A&~#uMRdhQz5ULcR40Q}1ee zm?vH#-}-5(4v8_yxdaFc5Sq}I0GeA+3}k`Iw%QnrV_;*iPNMSG$FVh3if2laox`zP ze_vw$K@0}cKsIDZR)XNBq-7_Q)589Xc&kP z!>Bh34EM@voX5F{Mh}6N8K8J@+@6iRM{TiU%eaUeK-sp$JKkcDCLl&pp)PX-n@B-M zBvK%jE#Zn%M!=j<7B{eqxLE^0%Ub)S7bC6;nRBi;vc?@Oc@DRw-ek`O4O@BEiIosS zRERX^V#tXagF-qHX<9>)_plVf4T=zmCz{%zky2S_Dw*YSDApuuv%ajN7uIV@G<7~E zeE?|$kO17&3YNl1fe4xrEr8TQK^I1WDCAy82=7>-gfI&4T9998Rq?ro4~GC+HDN?Z zE|XNyxFy=YTJx&p`gvyd7$z>`rt6p+gK>njEg=+YvzR6yJS`t!hv$7u)C);E(E;Y zb5h0=Qx>9gx~A~4O-_=rrLID3J$9^8pw$V88BJ0U3^EkW`f5;Pl=QhQ;Hwh6CkV9Q zp&puM5f88Txk#0C1Qxf17q-%OjJP<4*6CKFnz$f47Fy*{<5?SKsOZpvhDDGjjysCT zsUKl)jV=qz3ET+`7J8VVGq2@S@7Vo^X0fW)`xy(5upsFpcRZ+^yY?aZn#dY}G@u}n zsQ?0|LIOC#rx@3esnbzvl2?AI!5HTbg5;AIrgCf=7VQi3W^Y{TGZLWTXp}@NH>nh3 zFvRbYl{?N4G_;kBx|)fDkiekhR2$sxuS->2dLkO0G+Rc?ksvslc;4!F0*4mIP7Tw7w9oi)YZpSBB+ zx(MAuNWf$O)0q^c=8R0#^6pI4g7liPBhN6~g6mFaHHQ-f?0Q0#(ATP0=Mqt_hpj{& zVIUH71&GB0X=cL&Sjq=UuxJeJQFk8$^+5nIk>4U1Ob~{^0k*NUEtIj-2FC7VO?Iut zckM<;9SZ8hQ^^5}YYpjd9GW8t+cl`r(k2f1>M4c`5s_!kmNH9w5VvjCd3;)Rw2sbc z<-u9hWJ+m?uKKrtyY$ZV&r3BDj0Vz37z5oiZtGm1Pbn*5mNlK8OSfDRiZ$t8$z1BQ z3t^gcFhIdDzzZ_YH(0sFEDFc%Zp^3;ygq+>MUim7Jwg*_R}XPF^4vD@F&R)oWf*~F zku8&KBU)REqGlSliFc`)MNZ={7-JxlXavBl%xfL{7;oC&$8gCVjHn^9q#`*v zY%aE?JF88OH5rXUBxC9!_>@Z#5MISke;VFo^l3U?KH>z!iO9PebtR&uGez&7`uu^N z`(Tqnh%?wWlD5Gm02{`JwUTF-APQP)fP9!EsSt6^YX#Odt)p0{9Bbl-BaFwrP+2(8 z3oi@py;ivcusPMjih6U5?+KxVt9XTM)?_EQWaP_8BGtmo_(j5aO)y=xzNpkoyi=Q_IQH>6Zmvh^SG#%yky)C`qLuoeH#DMmU z&eXsod@Y%@McH#JD_Lr#MIL1_UWoVA*z3`nb320vSsSjWMsXNO;OwU`QlCT=7)%Vp z6co_0-!Xk&`kt3EHv5#!F^3QZh)M+5khXzs1_`!tt?6X5Oy`qLuDc>u{v5W2hM4DG zla4+1>^WyO4p5sCY0mlr!J3f)49wnymTfd`F^08t;UpofZ=JUC^(q|fbT7ihJWpT- za0US9LJ2HlB3BdJW2Nmn(~L5%aQEd60hh8|E{ zD{QJ)kq>@29Y;kvfAtO^u>y>UfKdd3(ner4S-Lz<@oAQp;E0$YRmz_ljp@xn))}$s zmOWg|s;fV{gv+kbK;?lkkV6B8Wm~79H%5gvJKoLLCpNpXqkq4kmbqFT?ZO9l+Uf}! zf;AINLJdT<19^`27((f$6T5i;!eZERI^t~f7NERyaPbdeJGZk!D_NCBGYo)sU4YkJ zRV#K^V|Y6U@7@e(^DCY~cqCp(Ch~6)@=Kbe)K$iXvdI}P#{7E zv80mj+#zj;Pj{T|W8(E`lYR)<=KMIdv0J$d*)>jlL+9gq<%!N#mJD!Rrk3c+TMVUS z1~PJ}4>3ed91OwkU8*|yNjZQ(FhT((02l$&q)hU*5u>Fj0e%@+hi>8Ia0^>B`#@JSvsS+na?<=R~+A zSbbsTs+atSeF2`#klYHM^|PFtD42_D!axnV^u%rnq=dV7y3k964;J}_o42v! zp|r&qE#{)v-HV_|D5W?boa0`n)?=%kEM8H^YK42e^w zZBEzEy(a*_KFr+TA6v|?(goC{gGgFL9+MD(q-h3O#=oDqrPjuA8XM2uM+DVlD4S2& z?ns+E${Tl$c8hOb8F~(escIcGXv8fbk!b?c3~~e-P){t@G1LrdPP7y9Q>ewH5z0UWIkPtXtlQQ1E zAPh|)Y-q&NNG>ojv_wq1)=Qzof_QVxm?JkTnE7!*zQh%}w@n<{QQz!Jw`wX-#?gi` zsNN{PUOFQOK`*)RKMS<&y{~H}?71yoa9$0mrPDNw6K;6uF$+10bkN4SBWI(IBMp0g_OQZ=P>+rNEs(G1I z)T!)Y^Fa$Bu?R@WknYit69eIHB%@u$ZuNBd%M4dvTLW}lYL+G7s~a4~yPG=HV5*7d zbl#>QXl87KUyOUPmEEjfJ$n)wh?xNl!ZQQ`WE%x%wx?q!sJ%8^9lKlvuESy;(e(N6XBd3$i#8U>I1@bFHwTG(DrkmT$+K;WGsdbIFBagfVHsiMODqn8ic`l{|H&G-sa{Y|*<8 zd76ODNdcOOvzrU=`kLgiRrBmweE^3&mN8a7q}dzVe7*T!bsj*Z-AA@lyoFQh=Sf+8Vd zYO4?(V_HEFHKLUj7}ZLuSU!*IT^6ZE-dcttl%V6P^|wXWVjgdmyztK)2?$~$B*;MC zTtilG5%wU{Dh^0!Zj{~lil4sD2>@m!6eOV{R45U=2KAJ~?J1$>Y{fEQ=i08_Qq;RF z4BCwO{4XNAdRn-PjWyMY_c9R3MVfgH zM3PiZkR#}bD%lDQNhHYI8J*uw*ER=htmXVY?6%~Vat_LCK`b;lrHV2(8T2~3aLom? zM)xf<`o9loea7h;LDC5Xa`p&263i4Vy%chwvg+N$*D=;Se>J`jt5HM`p-B{o3{m_( z8dhBfyvK^NbGFQ~0_R$0-dKmiT09Vqe!&w5aE=8D3J?a7r3fS;1KQ1~RlRD~gfLc? zeRk?_bo-B7=+DBBLkN!z{-!J34hHhp^vYBq%3!n%TC7y3DGhwh1~m3?4>|DcAK2IY zy&@6J`mgWU zrtxux7GZ-K*umP~xwn29-|WT*v$O+aKmbG-$N*|UmA?<_=fbtM$CFbyx5fk$5DE%Vsh5}mxFdHz zw~QaKi2YRxaqnw-rG2XHw;DQJ z8g!AR5dso4w2(9u>FGlcA9Wk1-h6u3V~Z{Y4eM0G_YS=rLD7?nXzkcIW`S|Otmp_> zWi6s7({HZ&(Xebm&dNy{GLk?jOu8RK-i4}lD)~1Nls%a|`ZC!F`;L>3*Fm>a}0`p*KTAGWNbintOz{RzAgIOReC#p|ES?|Hyg{Y8>TUjbY=XOhNtl0 z(DqjzuK06Amyjn1pLBQ>ptdgqj(#d;)H90R-F)a$}WHGWV1j3WRqe zxU;Pn54@l9;EOAwMsRy=HaiWcZuku)DT;uWuu)>zwQXpD5MOxG9ZC5{qx5nSciG7x zX8^}u{CA?I^U;oMt;N-{;cNU3v58plyjr*0gTAAFD0cItR%+E6Zf0!gU6sf;)NXST zjg2J60ub6|6BsA3z3lTO$y!i@eK*vjE19Zb7;@Zl*l}{+8F6#^-SPV0%*{mLsb>Iyn%gYtEr)D z46g8QK8@lBn6S%3vqCDE9A_#q6@Mw#>4FM}(|WqB1anPj#KxPJfKbymkhz)H9Fv5FaV&zAO#ya2~|mo$Zrwj z<`^ZF7JG$f+Uz><-#Ix3R8kp~rE_)Q>PbnZF^&~r?m%&X0LDnu4kXizP|9xBu<8yN z)puzf*ydC^KCDGdhoLW~k~9T*T%hf|+{;NG+Y4;jR|nVDzt;NP!Q2f7D#<562k>az z8Ku^Cx-MADv*O6Xg1lBh+y5tcsWS?uIG7Ze46Tw|(v|kkyQ0_YLtZ*5Ckw+CU@%0s zwWweSh-n$?&*7OO|7nhIJ&A?Zv$USmrAaSuX}Q>{ka@YcsS6S^_%$Bl(&oL{kCHnRQT`_n_@-q zIIIGMt|tF+(p>*rR3D=TYz`zK5rQEqj`eGP#mb1)= z?7AG0stcJ=zZcoG*hR<*2g}3&TpuPy=C-wv%d}NXc5B~wWn)AE2n@Q%*stTQj`0ZO ze-?I(MB-WkNL~O@daCgWBCOJ27aoa4_b$y?Nnjzy_Ib?*PUSBPIw;0xTD~u%@ZV}Kz#-0ryB7=v0E1u3kY0SWo1cZ(M*xi^msN__Br#g77Cl4F?Kr` z2uLE3Wp{n3KD7w2?`;oTwiq&P^%gQE`Ujf2)9u}MoI9<*U7l_DM!-Qj69*OEg7yko zE*}qV^bfKA)8_L;eouD+z>*gnO|%>^fEc_0|7q=yo%&pokgj(k4zFNA;pTM*ztYa% zp1*fKoSbJ*Mih`e73k?%%`dRCr@Vbsxj0}gTC^#bj{yx&%|CtUH&nn7rUZerYzMa1 z5Ohx{fOF7(|9=9ez-jmR?>7DI{LToN`ewq~hz<&!&u%Vr30m zjIwlPhhJVEzX&b4jK-EQ1o78k2^B^PG%{MHP+FR9Wld1+RR+bd;fFFw2ta`$i?D-V zJI&M@P=ip$HiV6A*g<-6GfTqoZc;J#6(X}7{tsE7TUTCer%WY)a0l>hT7QEGWWbgI zAThLILG?RfbQrlz4~o(!xcY4vR@sJ4eJpuhc0F0BGUSu1XxfOa_43Q1HNe_(m^JW zFp5X*BW}r^c4@S*={!Qts1Z#1T0J3IkCpK)#qsi}bW(5U>`BjqK!M6DCG zk;zyDR)Glyuq%=-mh2HE7oJUawuZQbV1m>U$u9o+v-{4$M`6==IZG&GZJZbhAci0@ zTCVZc%ZJm>y7b3Ns~x6;EmtV_cb!&63~LavGyr28O(qb*5g01PcP2!j$KRP&YdPre z5`$|Vj7t0v7YZUi*Hc zNvHx1K)q~f4dIef(k)<)O}3fPYC^4!bV9y%FPUDC(6qq&fBy1-#A4L}h|2_nELt$X zlJ0K%D&XlHN8a&s+gprP58vI}wvK_paJ4o`4=ENSoe9E^IpZ9sYI%#NW@uFy3T5y zOy!aJRa2CNj!+puS%#3(L6|vPdiStSBX>=CUdCGeN^;*NofcNnTysB{aXhFNRP@3S zK*7Ai%}a^wvNHM`G%vGT6;0H(!Wrd`Pk zZp*J6bseWhiY{h&yzgA+<-eQpx9ihLjtyFY3sLEe1Z22d*GyF6PIIl_u|;>?Po=5H z5NOj5>Jjrtyq;P=Tk%o~#cgVOn!kOm_hp(sIGSIScgZqa7iu{1F=XY-@KdDxL6 zMy*tuNi@_)^W-20rXq^ufCBo+f{$edWC44xe?SQTOab&!Q^`S3Ll8{p3Ld^E_(c#d zii>PO3~*LN1bEO9{HTg6)I|h2xGU*9>HvF)q8%&|4$1;N>_8vTi|8PLKL#i+&I%>5 zRQVZa77&nQ2t*`Qgb{=U zkVCYU0jdfFkWCt-OmIM{AcERMVjp#Qgkub38DtQkV7jqvR{9+7vg#5H?i6{|v2ir_ zYPd88nMo*Iu(NC}&A&ret+1esj2saVfR_53kXA%OMo3MaAdtz;cga<2m@k;B z2kkA(T{SI1UE?5l7=liIq(cMZioCyv<&Y_BsFP46)C00!sHMdM1&-&S@L_YNrzQ*R z{2Wj^L$3IbnEYgg%mAd2DIkGK4_X|FYEq*Zgo39}`Ti$+1nn+a6MM(5<^BE2opodb zBN519$rvI~mSn2<`ftuWL{_{@jD90%z0V25?bcjMMzuO3&48$oO+=AVBAD>LdGD8{ zGRqz+qd%LyRiphD;L^;jx8&N6CR8Prp!~-O4MY(IJW7`6Ut;NV*}dq{+uj}$6KH); zVyQ!6^pFBb$OS}$PymXBhS^0ySf$D2Ni@oFAP3nY!Wdk)@R%nA5sd?58b})qVG)AM zk8Ht@PAcP0Y}Q$^l2B7sS_}8U4`CeTkU^1vC}JUvumdPvxq6skv4%3>xqr;2P>V-p z3csxwA0gTiX@Y48Ef5v@X|Z&p)AM{^hbcoFN19pI@^`t@*C+XK$hAwT5quk9KnN9q zB%Q@o>sJ~r$u5T>y#(kkA8p55YZ~1N#+4-Ak>1J^T3U78ee` zH)=`dk~`WLp|q#0bCu%R29)dcI018YY#XRDij^kZtbWaxGg) zEkJ;3L<9j*?GSH$Vmy+xi6f)9jiAv?|O57qp>y8Zv^ zS}i1jXe8QYnI_-c+Q!QD%l<#psJ6`QZ!Rt7_uYLDmui!h02xwA8B=6~NweWVsFgaz zC>b740i47lcdX}kaKo_*(}Ge-01dzwkX~1qC3%7mxfDTyQAX~i|0aAGuv>;Gy#Imm zD%{wCS$^NCgR^Rvsl=X-Eds`XT0lmSK(v4wL-@)?I`rpIRaJc*S)3utoP{*P7t6AM z0ic2?KuroHlo^ep83p`_DoreRzCUdHi*XGTzP^(h$6nX~QV61uNC5yMk|`A)G^ZMj zHL86q_tYzMf|r93Zge+b9F43j=n(V6X{ORh&a;GUSAPpPG2+XQ`8v7wjdjHbuhQ4@ zUF%yCJ;kLw+Ci}fmXInjv^Gl{B{(*cC~*uwne&oJG2zKXPdgNG-^#;q%s&hAb8{XB8YM+hOZ=q&N=`)tfk6O@0Mr*)&Yto}qee@#B)^w(iQvO=MrV&#yb|ln zV7tLFXW<|ulfnXq6AIzt$>pe3b$VDbTUQ!`9Y7giwO!`-V zK)iqjs2suinF#*37UwBm;y||127WV$yj0ig;IO#o^(OOI-6q+04PHG zL2DkKf8$Pa1cT*pAO;f%VQ2&mBw-41@M;@X2=ocd^J*v{!RMKr=671BVQkZAxKeZW`=&Xbjk6tu}Y z+pcF?!Lo)66|b3|BmP8ovMB_L&=e#Z&6I4b9qe7KQu@)!qnmrX=ng!z((7(;+yn*2 zF@OyNU?IDTOZw1(P6$zJ9+dbi=FjBR4BOl~^<~UKbS|&~7g+=f2Y2fbKqktfjUu(9 z1nJ$P_GP}CU}zs~JG}T*iT?4$V6=h?A`(*3NPZ}`Vr|2_rHBDg+9PwpELtyPI*x5R31*eY=%9GslT_kSivV2mnP%AgYrCwnUDd?n)Rq zecZDLfP2(MPv14P5=K=6urmrrG2>}^xNLoFqZd1|;Ogx+hcBmiW`(*?CNA$hT#yeC zcI1rm^a)_9n0QKc{n^rn}X)=9^LTtZVooacuw!()!R+w!l#>f3y4U#G{nC#i5FL3 zq_I--Paky2la9E1R3ppsIdQ6yAA08~g753DV=@1C1yjn%2h+qjO3;;tI0|-EhrdUD| zHgFqtGaRrt@In{T*D{rt?^{Snj%ECW!&n)kv9)eb&UZwW@Df;FHY7_@(rqTw6JU@; z==J&GXv9u~pI!?BqnXk00%xdXA~Bf?Ap%B5ph}`F0j)Rx5e0&B$Q_T=m?Vt%!IpQU;PQ-)KK~E73 zkhW_KQ3SX$A=m2rE_WutF^%C>LXh`3W1jJo9g-Y5gf}4Ls|T z);}#DmjHqo(7eH-12l+2Kq5edAq}ad*a8{aLOMqLS2O?&oytq8$8%#EJf~RW&1G3a z0?P)_Hrq)nAp<1%Hp^ZR%WC?iDi8>y5lSH`R)^d=wjl^ZT6#cWb{0R|r@A zuN@-5#apmsbUhP^|1%+IDF`B8_uWP{Y&fX*`xy)p^Q@Qf}PJSqn*dy z;dBmW_b_D7P(}Z#7*Zv7go%h_I-?-=fG%2~&mX1*<_o!l>oC!^K67F*D8<(?Uno3##8WBpH)5!xbKFF#dwuFM%1+x|d?CnaM3j_$U z0b+~qfH?#OBp|`v&~ws74h(#ZOCnrBJX}j57?iXk8bm|~CPD_pB*r4{O|Ap%%D`yT zHS3H}aR6(_dL77FRFyV zf?os&$Fmr=qkLNw5E4N&LO~FRry0NXP{*@DiXcG=7%~MSnw_cD`j!X*0w6#@0)c#~ zwRWpoc;@%mJONRX)zX4NAPMXYoWzgE;xwk6`1n}iD@42!ti z&Vp`BAKk;FV&C*i3fL8k4FUnNpjYh1c;U%7Z4C-$#DTCts02`B?lD@OPSZdH=>*|Z zKhn^^0GI(u7XSti(h)dTa-Enwe+THi26AT$<06BIM?CPqqp*hy1O zv9#Mjq-a7#1Q1M!0$LD60>i+d*a!`TNGoH70_#CWKoX(_MQ)S{dKuI#l z3N{E>RA&FCK?{<>LE(@EzCc^s0JSZIP!`Y)bW4rPhC&2`(SCQp`IGZ^`VF2BrJ(Ew zOPB9>pX1QD;rc!nkMe!4`UVnh8*97s`>yXm>%+-);UaIXhxj~ysnYoWa{PXI?*`Bh zumOvcAmgK;ZO*hDK3LY>3Dzu&p)&YSb@W{hejps6V0XsQ&yRfa`;)is$Ls~C0-+Bi zft~TpJafD`cDr9RvUK(s4Snu`ae2vFZG55f7qR?>uLw&vy)TX@2;l+`Lmr5a<6wHT zOf?O!f)NOjIw2r1{s2FyZ3o(xbWVx#QgLfU=kCOIfKs1i12=ED@3MR@VK2UsMC*mkgPA-=(TMktwdC8N^ zE7;MPe%xmZ{c7oP!uV$}f!oiEvf>oOFsJ491Pm247vTPn*6B)jKw=rF222;?S~CC7 zs6-907i$cd>11VDg-4nvn1r|ksu}!s4;TTt?f1&AdTajpLI5rRxgHE5`}viO&ELle z6TEUF8>1pO`9>eHy}bM$_8(LiJ~5QG&;n2i26H{!<)M;!)wP)m#;S1m{#$%XLBUao zO?_Xi0stv%Qlt(aIhOpEXN%ZZ82#TPIE}C#U=btL{xJM>HnApOu{L0eW9>pH4|g6k zVA}m}AHI?R>uB7e@_adeb%mg;gPFF zzQrqq|&)R!@MT z*hUe>6Z9bPJbaHd1232R@`LY?@i66RGrB=|B>&{EheGFg-LWg?kn?k}@4VmhE~e|6 z7^UV80g7B-4uwI2AV6{T)B)aWADdzuO`S06nn3gOhr_1Q1PG9T+>#sG>H2OrY5sj@ zCyAmP`1Fvmh-dL2dDs&z1dd3hw+?ugivxjF`?`)&d_C^&=YM%IbDnc8nR)&C2lHi; zGcz|#C{&=7WBY!ZvLLtffQTCOk50oR*92|^N(I=|iV`o6+O z#>}=RVAFjjHvRlcQw{%8J}mN`-UWTGZMhzQy_-rlXAXIrih%d;^o*kA+&mGxILZ*>{fUB z^u}#(V&FM6#CAa6I1gnwXu~mSspWBQoSuOTc~5Ji*9%h{pt1}DGBYf7h5L^Dypfc$ z2+wN5_BPaezY3`;su<2}26==Lo(^yrGcvD20K4jdLCKmHB!FPeW9Yi$sjy)*NVP~! zWkv?Q%Zq6P=3ng(Bslm@1~*eb9={?V|7nFw>zMk2k7Z5`Bm{y%iynR;_E^A8_wv~M z%V4i_Ossb&nCb&M<`X!=0qqlQ=uq)#VTwyXar0xpV$ht_Xl$7Kj3PojRQr8xnLFBOYHjhj zu!uU}ALxP23>xXt(PIXb*~O#_>};bL8=jYAFN3z(Bz~@qX;;hV7y;J&T@GA8x+(hF zFFq{y&*n<%xBh6q9!I6bH}td`WSoe))9JNb@HXI7{vg~>Pxih35tFClRP?(SeXp$| z*Nf#K0h}OWs-X)V;>3L~cSY?Q^F4*Axj=tXk{(AgIN&mh)CKCR6u2S}rxdIGO}sr$ zp%}li-@W!EYk}zC#*IK$$$?dNF3&BGe8^H~_4qXGIPn%Gy&#ml(#^z8$Uyc*S97p3?DraM&8y9VgaZcD1qIiB_i*8LZxTSTMYlT z++_NB`F;U3E3ATriD5?xvFtjCf>`+fg1#hck{8tA-@)bZK-DcuHz)+H0h$ShaQcN7F_D`q z5;Z{xCK1Eyoa;w#)vio|&Go&@9xX?tJ@iU2fgxdCH}&WCTdz&^yzp@GeDBlLk72iD z80-IYKFe5~@6E1=zPFH7d+1Tter}127uEza?C=NKANP#wEl}2H1+MUXuhx&O1D+QP zXtA_Sb<5*M>UW(FV-aO6j(JEBgOTHf{GZhiW2fBQ`a6*H0j*L48r|qCcp^0ONvk}s z^1g{eh--(ejVb?w{zpb>9RJ1b2->|w{)%Az!VL3u2>bY_R6T$9M3JfxYC+ce=nHpj zAS^P`;#Cb^tbO#_{eXtRI-wN>j?w_pnG7ArpBx!b zVm6Vgfz{0%yVv8W>v41paQpD^eeev>&tBbl55|ma@GC~V7AW74fUgnQ@Rh;)sW099bnNh^$*Ms z3!Gettg4WFaYiQ=BJQPOB3{*-MSYI9R;drWgGt|ur|UQv`_2Vjv*l0^*{$x^eR8M? z#)^P_NT`VQ(Loy+s-j4$2)4u;A}AYd7irIf^e*>*0)T+AowHjD*0uO<9ryCxN6iXE zp0h0)bpRI8-MF(XYy1R+voj%OKfjN5pziAe>HFpX)mq660VEcf#YYopn`uk~D6f?- zvgdjoE%#|M17e;8eD7!8#V^gUKt*mD(Vu%AU>bE5UIS^GWv$PRXsY~yLwK;h&gKOq zqzHo^WyLgsco=7fJ$8&QIf z$?W$Itx{Z>?MkLqCd})>D!ddub z>}tSi>x6;Q^_>9e*cF{30>@c&;y|o1)4m(PZV8EBkZukkfBB3P|b4GKV)n;$>@@DFatyw-mZi<1Qt-loF zwhUhe*uMfIDD&gilier_Mg*&4{D}_Sj}jp zA%I`vcc06h;@&9ryC*KfbUD^Wfpl+G%pdV**1TNwdqh=WfH%Ov9)I7WvccF$#%!Pg zN{t0sNRlZ_J_L1|FCf|z#!F(L3H=3^;fw}hc24*3ciLf^85r1cu%-d9Xd2wRIJ~aE zm!b8}`|8iCzLX0;Y7h~SfRhKPkI#jXm6)Z)_3K*z2BI_>WHqnr9Sh5={<9)DGLjI; zFnEIP^?99z593AUV1m2n%8S?g=F-rRw!|qX*`P)s*|*3s`9eV6m>WQQ(cdG%4)3RK zhR8E_OeOAcUh;nccXH>y*XMNWpcupB6D}BrEu30-Fg+yJS+72w z`wkJG{sBqcK+RbK+Ye$*m!&RvHpOL#l34CZJ{+*N43IRko_>Fqr_R+U)veXLUgO#^ z({NM;KsK|{m;nMeqpKeC{CRR_3g0_+OkE-(0F6zMTdPM@OBLJ;-VF7S6 zw)b@#?>NM+?|)<$jbW(>!kePeW+r`B5;Wk>pI6C!Kyj??s%?$8WKMLrus_U9Ks^0G zfNP_u>cEJ5-bn!~a|hc9g#k5|qeOw9=kT)+yy*L_j`vTg*0p433r=9F{}QDg(dkT01WKjZAAFm5Ao*iepdvSfgqV~1Bi?#K%gLDBQN?R9Qh zbs5wb{+)hg4qjLq++h%!jMMJX48BFyLS9hMNxyC@P>l5m<{g=_J;&wO52oXJJ6{q` zr z^p<@8*W%cOjWO35ViabPiIHX1z zo%hD;3v2<)VyU_TR|)Y>M1n z?KEh+o8cR^R8c7c6YvlPhFlUAh6oXi_LK#gocWH!d@~$YfLIQU1NRO_RsjiL6OPU z#ZGN8hip(i>j@99$WjQ9VV6V%g9+{rGnXb3zQUqU>wei+ z2k;$f{6@(i+c0_?{uohU@{n1eB<#767W>nmC5wTON$hEET2JH8R(Q zKt!e?uwHu+dZN_Z^c!DVL&(lEIo?Zx81`RW#Z-WHdf^^{!5#H?BgEMQ+XD*DQw7)m z)F36X>bY|wo`g|#*Ie+iJvkic?e$u8(lvPi}4hj%H z=M#2~4^4o)jpkzHe1KRZ?0uaXUK#PJE(UZmCY+!(vl3^-fB#=LG|WQPv?#OjLSTjO z7g3%r-diN1r@wo7$xo;Oo>!BqOkWZfUEuStoI#WBq(i)d@UCDN@PTNyI9LV@Y!dr2 zIff_VILLxx@xGU&Q(Q!Sd#asOly;xTNIwf(_+rpybVwf1763v6x*3o);{a!WjcEn| zk)y1!wteRKdMIOBG?8i$1&}y;khe5mSCdF;ABYN+nr#ks^Hu`lx~B z|73ucPY&(dj5XvqEn)4jJ2t6+SO?Yvf-1n6D8n%94~1ued^F1DN;5s3aGcU7Hx+Y3 zJSHJ*KJH{YPY3MhIS;a#qT27shYkFH&8OjALZ4wKVII*@>v%jE>ya+nYu}s&=fa&rrWe*pb_V1GgE(5M1-jWHO+}P`WJ-%1!R1 zI0prI7y^Yr#$1Lq0w&DfLq~{u-q|wybJz+&Y@8iH3?YnT9)7S=%WyHp6c{lke~}@R z*9>hC2b?g7*3O)PLW&fekX zczQeRJjD!O2EQw?*2A8?U%F4s!r_*gCs$TMEy!5#G4u|AP7;Ndu)87H{5!?Yp)$te zuv9JUK&}kZ23Dssr{3_3085C8I939+P^xys2pFV+oAq((aVX9Fd>NMsu-1v>Vzkag z`Hgb=App)8cY8VpS!lBf@z5@}myu52_PNdM(0m#9zPHkA|E_a9dc$Q?Q!PR8e>W(6 z1?#qlFl;2;)`1zYty*oU&=;veUjGPwROTNrbS7V&{^^RbX4jAqA8_F2RYD~II#ik* zui`falB)vwR`UJS)j3>za%_{H>72tylVq|}kD+ME*{=K(?H~|ZKNej6K>_97_jXmy zzc9(w=>@{+*5kKi-B}C(Ap!wa@~B^nO1Tjlqq_qoAO+8Qeu1So2K7V?)+e73-MBStrU5KxhIiOIr%5% z7>GMYJj(f7O$7Cr|jcvjU+zTLdj1Cm3xUjd%qD@YsJo_y`37=7bx+Nn(x) zcsms6aEF)LI5VP_9_rk!0lvThv91;-PVHO@P~qgYVuYXMxHk1$;l4O8-CZjIemj0g z5S~6n!xP?nG+&K#P_vd^-KQPl7eF8CU0cC7C~2Bd!HYyCh+KfiyEi)UGj|YnuUKEe z8JN%_C}CG1X$1s|5HGK8&|0D~H>O-9$J#eg=fd?v)^5qm~+^WZ-Owbntl22sF-|Fs?WY;;cxB-9py)_c~*kqUh+|xHe zeSYLu)@8lko*dwi8NGpmS!L)-=E9oX*^28urb?cW)7IP*>O1@GvQIh0j7N3-(PwxFR4%xRFGh5%81a}{?? zxkuz>!jKkHG%gkWXe5OU$<$LQG@B4?2TPDz)Oy2bewb^NTOF}cSz4flD zWW5M-0_`l+h&h&Uyyt!PLuPM`0ZV{_)ILG3fgd!jH+gZK$J1ss%{4(-I+s?zJ_6kU z%Mk_po2Pa;=7WS98E7ABMn2*2kRTpYual7l14?5}>-T0KdRV-Pep{RB5C$&m66l7#O`?8JP1WGn11P#m%OHP&05|xkmZ4A^Dn~If z*6-s0k0ZtVuW=z&&t2S0o(_zr&=$u)Etp*-3;{zWa!29oS?C_JjyC$}GAugHw?Hsz z>+5?eRU3vB#rWTE<39nlIUvNmRjEWX{m2 zF*=ET{JtX+GE+&Yb3K1%)KySWCU|m<=~+m9H>10)7f@OqQ;764Zus0%G>_sOTs|jH zTrYuE-p*F=n5uY{RmaBo5H(ukreN=krP`x@VtKabqNQMtfgLuX12snbTA;7$i3vfi zrL)2NHITlHjZ8D@pM%|XRi=B1=h0mI<3+yMSYdeFp-_IPX!BoJHl;f!iA0u(2>8{p zlc`7)u2}L1UMm74=u_}XILSk?c+!Bg)>ZC^nX#l4Xjx<3hDeS zugxsQNW?n)HiSB%e!E=7PJc~6$E$#iAUAJr+O4Zy-Di~DgnppbkM7M*o{V<%ep_>~ z+lI)?r4F|$?iJU&lB$;l4s6!ly^n6u$38$CvEO8}voiqB)&GIat`2S&fPa>OF(B9w zc6_U5fZQ#k{~@NuF}P=RSY ziwbC()!D2zM$2i?Tgjz(8R2&EL>@gGiBN`rl1+|1VwSgW#lMM2xTMW6l6o{76?S)P zikL{TF$yzH1^VPa)T21k0QrH5W*Vk4&F*Y>%N6b_tY}^WTeD24?omP9HkcOOV^u;6 z%f7!!nKxo~WC_&};&HqETT=I9JW=~AyiMBm%V%Vs)zc-@jV*$H1ZB=36%4Kpe6o;` z-e;~R`$Mk$PQKSQn?r47nq5SaCdV*(HTGRxDAa0)`XW$X2pC-r;kwf)f z=Vq&~)7_8AKMnV_(R@Y?By&CwUGY2*dtprQI(vBVru5YeAcQ=qTpBZnMQCl47sZTL zwhpjb`{8rgNCk}9kcR9mY%|0Tw~ntxZpBQ)w7()Hl-9!1rdD#W!cyY@=Slb+5s942 z&;Ux32%P3a3SVsPHsaIrd09tCwAY9biH;$OjeLZlXr=QHGKaV9mBj#OjxQ5l69buT z6Sv+sShTu#InM2L1v5}!7zuCzE>&zM208TRy|iC3<%Y5<&%iO}DPf)&tEK-fR6_wz znZS{~P+%-4REll%dC$b{19q}N>93LQ7<-MNI!%bH4rO@IE-8uGqiuTJ^^SZ4G{57- z(%2>7vtzOy@AFX0HIF-SCx4MPc0TH$5m$^Ew;xAL%8?c%`IR}@C${Z*Yz*Dt->i|$J zpoM(&bYRDiPiOwK`UU+{E@ZTEH_DEp6sDj#P|{g*kOf89J%Bn(15-3}lv~nO05&-1 z?p{N?dTDq%VBa?PiN%@#;Dw+-!JK2^=0%w@FWu_H5LUlp>{{BAG6Pqd23mj^-}5CA z&h51aan1|X!+?7@He^vij=A5nt)r8c|LmWtM|R)tS;dyt4C1W%?PE9Cj~7ZzYc zYzvSmB22=XsS^0iDdBf?=;sg;26Cfbk^)#Bm?hbm!w6C!lkVcyKYH1Zqpg(^Xp*XR ziLr&=l&2S=uTr%OxFt7)=$UY_z{I)hm5%y{Y{JYRUJL^qYP5qW8w49LleGYaHnQ<%$TE_KSzu_c2wGpHpw)2He-tycP2kI3weGosy zGqYIJ+^Cg5?AA-Y6$l4%)qv=qT4~B`QY2w(BV*Nv?ljC38?GW%E&|}%Kpypj+A+rL2 z4dnxbO|5ece9G}Y*I=C)hqrp*5<+e+i4Xu#7u_Cy3Px;$M%;RU^*_?ddjOZ10y&ho z0U-Q}JwSzlx!@FP#2Kp>Rk0)CG!D3(e%bj^W34so9OPWn{tgYxN{2iz$A)M-L89rQ z=W^!7#pF$-@gRS8um#UW3Tf|8(J^PeVx~SAoI!C?WeqL^MF3+1p?>ZTSOS#aOIYIf zcm66{ z(|@pk8+4g6+nxv0D}ya?UueYR7uJ+`Oh+-GM|#0?+E(=mO{FzTa56ExXlY9bv=m6x z7~y}C@HdKJ^Pk4O+*CO49v5#*o-_r4-Z0Y&y#L9=h+i?roO#yJu=!OcJP8m&l}kUK zippgH8K18359Cyw)pQYkNq&PqPufrdy!riZ$I-v7CuW#+;mukUIH@U-L^Lk^ilhMU zq^12Ue4t*X0sP$lM64s+y0Plsi%!)EVmZfPNw)mkW%QMU7plQqS!Hwiy!dE)Z|q0a zu)5ZeRbVC5C52;tdl9M-2+mufJ&M_|NsC0|NsC0|NsC0 z|NsC0|NsC0|NsC0|NsC0|NsC0|L{F#k6uFK?e90*4w~tM?c7WPR-j%4R=|I zZ0^C+r%E(Zv}`(X0YW;G!KSojn$=eAopX0-*G(h_mt$S&P11;z0bbRCRijg;1El~S zy#N3JBt-Nb$s6ng*15G^w%cthZR@!^vbVRXt?k{rYNbzF_jc~9-ny<`YHgGaWs}vr zx^}Z|RPC*`?WwJdYiz4zx@)2xWwz^DlBlAU1r!}<6zf8vB!p6+Qj}F9=*T1}khP>J zRrl6`&04Zv~VE|ueU9oFu zw(GO*14KXq00Ln$X^;Q_69j3HG|&J5Oqc}Grb+60VhlvUCXF&-83JN$4KfBnl6eD0 zlT2hWG#N5!sp4vQnL&~hKqdeP1jGb1G)*Unn?TB8Gffj}VGUEt08c=$zk5{tqZ7oV zdYMP5={%A8jijELH9b!$>O7-E$^Z<9wMVGYq3Rx?p{CRt0pL-iOqy*^O|>XAAOZpb z8cZex$j~J8o|-h6(HKPaFsG^do|*ueJtmXD29h#uMtY;l8hE4AQ_V>IQIp97L&H?` z^+B~gPfa$Y)6+?wsh9xtlg5oQVTrX>1c-bCxjj4qnsMR*p6+I`k z$l6HFGM-9$jry1rpXw;ndWq(udV|F_N$N1v$n-TB0vdXQ(EvS74Kh6^s2F5vq|j;l zqX>SeB2o|;OldNkNuyNugvxm|$vsD+8kYMG|)8lHlPhO02%-Q0BB+unhgNZ00ThN7|NWSPOrNDBj4=2 zG4^A9<<#;&MgxDLf7|;zFSGmZ;6eW;LbK2(WwHDHBL7Fu{_r}xkKL=}{w{DG0nyo) zOqI^m!C~-k4YJW1JM9$LjzLd*Ud{kj2){3-y-*)`!H@buLMLFKzgpZU@{39Jyx&3Q zdta#Q`VwWG=m3EG^S>^mjiWE?jKCl>*C;*A=F8Dy?n;iw5AU>71E7IE4hT{J^&+hz ztHBbGoT^n6%f$uo7}SFy037^n07(yVGE)G6b44q5T@6!#Xsocx@92!hij}ON zOK;*V48SZ-Hl(^WI%!;e#m28+6&fDEJ<9Gie9o`X89#mA=eWp9evj$;QFS)bh($QS zd^8}48G{M{istuf+3oDPAx=n>yH$ISWj=k`drwc3=-X6unnJOqZ!!{6&}!q3>7P%n zf(XbI#9@bLf7WCA1g;{c44rn)@kGCmrG=P%s;yxGx0j za9Hl$PMBw%dq1_iHJt8Gb(bQ@9?}UyDHzg)1Zf4QBmws9=4ry9&>MMRmNtUsvVR@} zAQsH&cV{k_;-lhu95{T(b-mkq|JlNq4q-4uVij}Ny@qckZZxVzGcY2VkE((e#&+Cx zo{qFb*)A?pHufXhElcRj2p7njXQ6%}Q-Ff$LrBfA6DCr06#R@WDy zZpTkwN;Nb_-1)Eg|Gn^y8a8um^I#jJLKyYsCF8T;jck1xo*D6{3(~yc0SZQ?A-o{w z(;!QKUCYE!IN5{WlJ=hax>qaP(9&^T6h`&1qAyrs`YKx8l*ShU^dOWl10`>s1E3ay zTs;&<6Qm018+3HN+uT;^Z($<&SccQwIClNR!u$tOV>r=L(@+!Yhnq za8t`yV$O`<*jBaYTV5J;H$JbLod@-0#vBTJ7(T`ijaYW@2hcD8#{v;faS+TvWPiGk zba;F#2p=Q&ax)@40BAs*P=(ZLIO;joj4eava763e{225@+(;M^{arbxrKO?Q79x3G z_u+rn>HN;KcSX943;_BaY5E_EbOw&2iUZL?0e~f;6cB?1PDD+eS$dx?ePJtWkruXd z#N1_4(No{pq>KZa(xse=seo(JH(sBj*cpiwdT|fXu1MR)-H6CuEeCeONR@LJ1xmgrCFooYf9kC|n?A z>;EHFRndKSKPylU-TW9T$1u(cDpRczGhYW1*j z7<(SpgdZ_yUkQ<9HyCP@^L41t*B`Yx={7#!pm);i-KK6}rM2TiwM*avZ;1$p0G%gj-r-!WSCB|Q5Aq2aA?fgkrFRn_i z-6RG8rCLce6Sq##>7m$%_SNE)WuIk?8E~L83aB8RebIG}R?%xcV-9b(&JN%{10^8> zTg;A%aJj{Rvgid#WRoeKK?&TMb}BqRH5-y!DorX6Dh%$91f@1DrDeu8ir>Nw6e)(p zOS|#MQ4B+R@v7o_Z0OkCpKO~jqV$5TtvqMCmv4A1eEr1pS==sUq7W}xtvUHWr^j;F z^Nizqcms#}z9ujm6tlLC9qlh_TJ;)T=M@$Y8W+d(ZI*Cg##;)bZsxkWSfS3G@1#*JIeex$XuVP}X3)G~fP8M)cU;iOnosW0$+G6~X-gEwve{2|A z)hdC+_sXJ3_k@F$4nmB;Q6pw#!G|%>1@+YKshr65_2hHxY_Tm~!BIw1Oe<`{0JgRy zcH$a{hDr0OtGlYCGdrN_m&QLL_<9g7-J4Y(oh;YF46gscN-w`8_Mm)and;b=#))5n>)HGI?C$c zQDnWUt*bGPx*!&v0>Y%pkan&!1_Rew>~**c-KG~4`c@7xjR-L;9FYDNtqs5HnKx&P zr(%A)B!acH&rtF+7lQ>E8`_!P-ZjHIH5U<-cz zY#8?cHi)OXtydzzfsmF(!?erSW2Jt) zh3WDF@BZc-77}ZKG#}g5SRWqbg-gGoZWF0a9%+U6&f(o+|boUe^i+!s6 zd5jI!!;oe88pt1_a9^|0bnKI|qbf0~)1rz30BvGG!=8|pAxM{Q_Y*CE$%isf2Q@bB z-vt$*VlIP>n4@EWg@cW{7gI(N2I%7v#J@pC7xqr+rnc$H0Voi;hyzLtTAbsIWiGt| zy@;4ss!0YbHmJHrmi0n*WNI?2xy#yBqY%@q>hG<(C_OtwM`blc1NAy-+DQv8afYv> zpi(i4@2G4>>a$*|;)STj%f{%%74x!c{vC6&^Y|9ZO17lE5UEZx?zhy*L#$-TB=EE? z?ibMv9?8(n+FjL< z)nY5k_^#n8&C;`UwOVbjSHZ=NaC=H3KIKdmDh_prd!5Uq3 zSD?C-@UzIp6;(K$bo)4ZTd&`CxmU~d>R}&Wga#=Dpc8?k={2VqhOW1pFVixDotsr~!5yqA|e>h9S;Ab9(w*rfpK zim^)|xi*8JAah%aybVW8&WpmIO1FmRB)FC~Er|L`p}5nzlD_sSQ5OqS&)8qpOv$-p zV)ZOO=}@4*l_LRLSSUXI8u2_Jw~4w+3__h_W44c>xH%7Of6F?xHfAygN=Trwe%x@Eu$ZPFneL>bx++}dJId(V*Tbf| zD3)nJo&x|QE~8-?^bbm-IpqWp3>kQcw$K%6CW(&}M?gR@%tEmV)xA+mf~$<6J{2uD+#OACG7r$*vOO4EL2C4 zu&|QjEF>igF!{+D7{>?5y1_xG2K5c!3=#9eCjb4~s zPyOd<%S6Kr)5*M5m`x{K_oNH_l}A_Y-?zM&y0; zK0lFa>py?5jyPP+L~c1m+D@EG>ro8L%M0dY2Eo7VDD^Y`RHUf&!$3%Bq+%s-St^r6!_UcCAVUD+X9x!jYgTZWa;)LPG?W zmpwfS#qbyBV!7$TeBitI%MAI~V++`{1yfD;G6gpJA%B5bQ5H+%88x}TM&v%{+0`#E z4nW)%Mwq7cy9JjQOACvf-n?*n(YC=m2v&pSLq72K6~WCT*;G81%50tZI5bK7uc-U~ zAa%JE?hb}*==GS3Fqy%P0KyD;+5ZKs&zjjcu#fTw7W=w#d?2qEjw7JLAryg>wN2kc zrnpulrmPg;p3bX5BgO8;qV`deNyS_>oXsGJ7ZK211Ti_(Pjal& zhaD|6z6Fv{tyz+WF66e+hZ$n``QJkY0m&6~Dfs;eBn=e40Mds$f}c^m_kOG0yRY?_ zRJ=C>nEZyiT@wYCcyMg)Wn4TkM!JkdYP8dSVt+S->ayA}E~etIk2(G;F$_dBQW~8d zjtp#UMqd?dIcfo>(Xyc^s>-4Yg`1Y-;!@U28}(;Uo2iDScH$Eq9(9pTLVY6)l0peM z6wi#AOodi!;-EvTfHCYP5^N0P-U?IYudoyUlytscW$wZkCy7+qq3IiNrTPYiZjpGY zbQA*4tZYVP#=^)UPPQ3zQOB>xahiCCh`2glhq3{WbNY_iQ?GPuSw+cFn#$NNMCRx- z=%fVMuN8Hz`9WRsiAU8Q4x8s~<-8bSoGhz4fLCDu-VU*~p~btz{tIvQ3~EZGUW-MDL$u!i`~0zRpN@XQsN0|xyN&s&o@sB!x(zE8uy#mgAFy&{zRii;bQ zyWO9(po73^QHg@L5}^_d8BRajZ=trpbnz}x119qqKb#B>@}GbIux z84Q>NgHo=Vf;e3VU-bXA?dslt6N{=_D)`qZDMam7lBIYxjbwnbBB4lU3trt{&)GlF z{7b%K{6#%ZrpgASFljqe(Md+DYPD6b+BQ1fb&2nu`E2}|vGrTpa(vG(=hrm3<6p-Y zwTM!~jGJQ&pri__ZxSRha8VIlwsVJdy?)~sCqoGV?Peew51Uy>Qem%knZjfknDD2Ib^)Yrxawdv2L856S?brwLnif}b zmpTX&^SFJBS$<{swrbH`(!SJTrd|}Mt7b@cTByAF?WRFLTB`GHF?CPOFi%UXwRhE3 zLef13=05>`&wRU%RkDFSx9K4;^HeW6(SgMM4P&#paj8#R8pk-{dWoMYQVQ7EbDdDV zVIGC8mzJY`A}l)HA0awh?w(Z_tZ2ZNA+p>{L60Y5GTl?KP+5jG5m}_Oqz~OWzQBOR zZqsO}FwM#Nx?YL>%Y(&U<=t@Vtxi+uWyIrTInu!!6>pO8sX0a$D*on4WEN2v5Twwi=+uq=`bfNbVeeo zt5bzJNXDxK^vnvMsKU()3H{dPsbs7hG|(8H9fE^6Vf|_wu5+`9um06KdetKtFm80B z1JPmf31waq%)b|toQbXT;ce%xK4t7*>mFN7(`v1OX;|lC7cEZKq8VQ#FWXF@kjKY- z1niLp=fWrfrh$~6P$0dR5|0_pao#UKyNJrhz)I2ioRCFLxTzft($aY zlph}5a9^BQ*N3ajhlb%r1$N5#Wx)1LFJ|;A_q~KjAa@d?(q$B{6xRhS-gkx8_Vqpi z_>$g7psF%u#_PsG_e$hSkj>wcxA z2rq#-hskS)xT?H%0KY#!TiBl2qD*RfxsdsAu33Ko^z%OyIC{T1**F5BwJ!5);H(~$&pnjw?lH*v#zd5bEDRj=BAz$lY?q?WSO3a3czHpR8PNB zMs~&W#m#nCwzZjEF}lixbz`DTa(<08cmD7Z>h1hS@C^ji!=Pb-wQO5#5}}8 z$}}@(pIPhP{@Jowc(4-`-Y>hz$$fIOc{m>1j^Ju!?HZwWDFO3j^_tW|D;nyO>_xzc zI}Y%3tsKHJRiYz({Ek^P4bWmKp}-I$E5s4PpG;xLiT9Ba+GEn?P9y&_af&E&UPrF|3ahA9sJ>t0 zny)@$15qLkJ!NaXJfMGS48~BX&ZR{jR+)y#tn=ONt!k=~k>1rt@M{*2SBsGm<9IjxD{d%^#wd5cT+HOkQ+@GLjVkdkVlCc##3=KRTi@+# zdpz+)`BZOVKP0wLGxr zAwAbQB+RyMv+|V3l2}%i;1!Q$UrjZBQ1(NN*Bw+~pyJI1mO{7PEYNjz7wWoT?Nd_0 z1W1P}79rWXqFhEc7(HgIq%V3FX|i3M-b`RK`j8SPLVM&QfPvI5`>ufD8rwY;Rkk~3 zc&&$>^eD{&s`D6>IoS^_5LO zD09&#xM`a;=n>4no4rn$eCN%5N$>~QbepS0DV*3U$PPLH&alf&OnAD)dT_J)`OaVB z{-?oYev+h$9LOc6`&9zZR$~Lep>3^*%;Ow3P_NitB4sSGPIcP&O7q$X5Xu+YdCTYB z7EGX)A2ZZb#8kD0^6>Q(U=6NufMyxc`@VxdK(M*Yp+*h>Fz^xn(GQ)~ z^QL*khPZ?GWS1_5XDV!+91MLQPr_8J455SJoTyo@!6>8;2wM{oV!D!v(FN~POp~pp z1bF5)#B#{)Lb??c(Pz0r99A8=fLnyY-7L~D${{SlE>K)jVuN&Yb)Oetnym(L#<#5j@IgYipK_~#G-o$O%rB_SL%nYL8u;9%L|}Tm7f7w zaa6etz!OQQj9le9G27a{LRRfwr1WQ70<_`h5bdUA{2v3kNjE;*RQm`$M|4ZN>@O48m-^xd)N`LFS5Et@w&oV?s)Q2!DoZ1!|xuq zjFI?|Ki<3{We|Y-_E=r&r=SwFDbqY7lNC`aNGPoh@qommE9ML9CG(5s@5c*9N^CJX z4GKDha7^ZJThBOLPaS2eD`#$mFay#bm3iu)C4KC_y}DC0~~|&}g6O#(@ytte~JM1o@9_rG_9&Fg`xAMq;fFd6V() z6stpEVtm|SWRP`r)OftwOa?D*+pO54=nM|ixX(Y&c6osPQrfj2BmACKFSu_b6~C2J zi`%d>go_U}F77E$p6gb!3N2p9c6i}Ln$GdOIM)Be-7hwKy!*Ee-N0g^T2xj21n`VK z&yo;hY*HHo&v{GzgLf);L?BlrL{?+&QoxTqBtD}5cs|Flwb+VPd1j%CvOvU`_}=T( z)(ReJOXXjTz;JP@{S|upkiYf*s4qV>dxNcX(MpIc^jcoq>PzXE`TvzT+&EIC^+A2z z+!eTow8V;~MExA)8^mRJjOLGuzSD@IsK z$_Y~{th`;XIInuw3vz@&p-VB}Wgu}QRhlFF#y)7+KIdOd+uOCu{;KwtUUfeL<}}8- zkV4|WN#_RjJ1sarqYC2l6bdAcUI~)Xy#Esr=!;gwSF4Y$=Utl$DHtfP8E=E?_KmN{ zN-~i)NC6&10`h$5wjQZ2!tKD>ptu+vMd$U9#4{|W8}~^V19G1`TG`04)7$$6=x^Rb zW3?&E3m6oGeY53hRGtFdm!yC`f3`;@L&STFWZFg?uoUccHfuVK$bifVd`A=?_q#5O zhtlf#Z-`%<7USpPYX$IKfRKPev;;a0q6^E1PaOpfXPPJ#Vro(epfGB`KYF`q!&<>% zStsBo*sSC)*!mCo_c#4))B*EK^01t%L4*#?^9Y38Hgb2%*P=wM46#Av$`zl#@a?zv zqo={x9;wpJ#VaqTA3rgFd6x2HFId1kovWpg*w-llXFBKoF0f}eR?K<1O@?ii#I|jeaShgC?Bkw*|$2?i} zKI#`NU1g6F)~uzR%18V}ic}4Reyw2~T;lbUetWE3Xqk|d$vjN41zhcvLMLs~^zm0M z-uv9bZXG-dB^h=yDec}QDu1kCd}4wW?tLvZlfs>uW)=-sGnL?^rnf6ggJoj2+BVb5 zUZ&y2Ij9Gn3MyP(KUw?wTfpL=sUag&K(~B>eh2mb;>zKZod=T&1%bq_S(4p$SB^u@K{e@9IT4&84M=U zar@I8qje}(;Kc!Z*=a}zfg))j7uAR0d7oi&d2$HgQm^nVSag;jner!Ld-*9-KuFT< zi7uZtK988vLjj{EY`|e)n!Ll$WY$NRp{Zn)t&T_&N+fL~E#<2W`ibpo zcpi9?1^2z@)o&E<9Ld%9$NK#`hN*_;pc-GuT&mD4^1ns)eQ%OsmWWhTnQ=nbx!$tSD=hgw>I^j&6Um>Bu@e|%)WlOmtdvs? zJ(A9OW`pw1O?goA>t3=HlcQsU3O#xxh|2ffdxmmE29}=wl`IJoH)j)SHOO&y@XA>P zyT*BSP%&F!;zE^I99lwqBioOqjch;nZ z1@oM%!U`n!-gYT!QI5q&5|qV0)T6TYzcruE_Y#?sF4M)>;b5aY#oxI*aG_4(K^{YW zfS9@=kx4*$0y<)a*DNzB11l6@9V%g|NT?9)VeObhbIWozrHDpl%C8i|)yErg_g}Y_ z3Zw}HAtXVO6p=x>hy`CKd#ADX-?3%=>C{q4h9qmdBql#I6SAC}p?{Y7~uy zvtUfaXan$AB@9Rg`4+<4g@3GcLog`5y$zEAXe$~GW{^p*rFeARs;2h#J)8=lXr?tR zD55oE_EZE~S@+@Z6 zF$rYf(N$30_V!@SuSsPx=Om8_(p)Hwt+)|yRSdz3V!_7mCItZ{9WT>{UFctwxU@5) z2GK!<03cVfVFgu6Gkc%8sYAelk4HPrCb!jU;dLdL;I!pc(SEzo9#FIlW}v~Wb01^03AFSDcrqepm5U=*BFg#UM? z?mU|3SP?K1&E}m^Z&{w4o1goShD8L@P)aEQ)iAO)CgKLn#gMFDJwP*sf>?j=ii~qP z5){U+SxCV35>|CwqGZUTAZfYA1+WSk=id!SfkSN|GAi^kV57dhIkds76iXD(C$00?7LWPeDqO!9RpswBq1+eyil~?$Mx>7#gQVSOC@2 z{w6Pnc50SVfLV^Pm2FvpJ}Mk((El;x4G_F$wn8mfeguWdPYdJ)(lbnQD^Gne>ZYk|7tS~D$z7Q$* z7yzrdv8pM>3zDBck8J7|QQ@?fM-EGtcST^!KJuLQ6s}v<{?z94ff#h8R`v3FF zna(iTV8BOjD~}Eh=m6G5PY$;$P0}&m$X%F^e&tUAAt<>aZTf12voyNv@L?3IX&!_7 zhpgF7^I2p{q@o%JtE;@?NImFWbSWzIfEvZ3P#i^k=j(CXs5sVcq8y&|9rv` zi;7Zn(+LFi&Y zZKj7@_bL%- zmJGVdMZ4Q~Iu4L8*63t-qb@s`$wPFh43o$+dQ<9VcAY=|Wf=o6GLZtdRZN^uK~*IL zQ9wzgoEbCUU1FyaQ78nnkB6|S-ffC7IsSl<^JAfv3*ca3Ip4r!6Q)eW(&OBLy9qp? zh{8{(W%;UvTu2zKFeQ@lwQDT;-xI=&`lwt+%6~3a=sok2m(V#mqZx0Y$hTMyv((h| z21ZG@ulky>QCA=-CQ$;+?w~HLjR&Lt-z{s_u#kRsg_IJ;id0f=q(3nYsZw3_9P#79 z(xAom@EJBL7Z>mU==)h1D{#pDpILvGAW$eg3zbw%CIlZv0Q38>#1_(v&4gj<-m<$u zX-nE^MTwfJzt_aoZ{$FL;ec;;rGe+0%Eo@m2`BIqJ?7Js`60zSg~&5WS0FC=%L#;m z38m}}yCWTt`>!UH1h$h984 z{QXWDAwVPi-QE_5#qjZ0LZ^YzMK@HD4VR>4mS6-KqrA%4S-) zB}rASN%a56GOX>eEGO$ww@5u@Ql9%NQK6MzH{~_6_OXEj4KT|brE`F@*wkF_9@7C4 zJ&?=Ws&FNxSADr3!1%G1yGFIeS7}DAu@q+_lp{yy#8rE4?rHz_E^Cvox&~XXl}p0v zs4VSpfvv1u0!oV&$$1M(-ktQjT`4@dpb#z6d~U0HRTU>%qtxAU61+DRlo7m>>!7^2 z0ZDgVnu>XJIajWdai%IGT-at`inujssl`t0bg=Esk0bKgcEKUbngDKa3Bc?hze()e zQO)8vkeBEgUQFG0VY^Ml0^xFsIID)C894K6SAdY%c7bGc3W3gPA@+06kR7Uvn4r68 zs)ES9uUUj<^ywvUK&pn6bHsazFDXU^ofv$cx0 zYkj_;7*Kg;H0`) zu;J)2{5lh>J2n#8_uI%-FFcyGGtSp%;_L9{FBLNmy_v~n0{(Vvj@x{pvqGtisI4H0 zly4J0vs)dJ&pk_Cw=!aeOmWpb+0~~hF-~0dY(+yx@^wpvcbRNi<<$NDjqS+WW{u0# zRCY4sLhmb)mC#t&H0r;T3-e`Jg?>cTyWg`O3!Bx1#d$vKl*OJ4wC?pMpOdtiHHC{J z+j!77lD4yw=g4DGgFdp?_BF8c>i+m!YXXIS%Y~Y;rp4TBJcXdrb!x8Sr0jUp|?cn4c*#g_*+!Z$D`R`vXM)wH|_59G8kn@%Yn_qkx{eL zVYtR#n+M#=2NOA~@Y1wfFjzex0(V{f2RBjSG!VSbaw%Alb6*3_ZeO;`UTkaG7#5VKTm4sLghde7OTOyaQa;^#Kgxuvbs>klK7}p@kZKk zW;?zDE*@TI@Q9Q}9ZZPIy7#Qx!x+MiTv}}17JzJQ)yAgBU7R9pw3xRpu}w-Jq8K&VXa%0?LOc0B)_M}Z41f#r{^a` z_PQQTG|sxRRUDGrQV$e!dT77Hwag94_%M{M&mTRuyC8*s)o$w9 zyODXrCixqnreZz@mX<{-?yGlcZu?!{8mOJS4@OC%N|m(Sy-HuJY}R)#;|(<{8iceA5 zLs8U)G$|J6D-x}w>0g!0{FzT_{yMjjo?k8$WB#jO<ci?sSvu8TFgah|^1GIcGbI2a=nsm9sjijG(=suZl@a_ng~GL^mg zHw8E=6jRj6vyh_hezUfoIlFIB&5eIh_aOd3+VfmwlVuBRxGsU@fPzP=Tm>;3olCUF z!{b-P;+*M)+#Bb}aA8a#!%HOiVBw|7Gp}{ZI-G~lq0}E&2VM30e+oS5ZF0{cZFt^9 zaul~{E_@-=ExwrMGx2lwi+66}L{dzc-0D!Wk}i?Ce(MM1yIxt01-dd8Vj;;!EU{mc z?tT0Iy|#UH}#+`lmy%$5gv4abU(e)lzw@yzz}Fy6f79!F>DrRM8s>24i*u*mK9 zzTz@FTlX=MhUlHQ<1p&2#3ufxDvmd5ja#`j-yOX+4aYNZbvm29X6QkXBQ|A5N^6_1Ep6f5#H<*S&v8Uq&DXM&~x9CPK5Zc(&nfdgc)Cf12gqGC&>d-)J zBqo^C;DA3_sA^RaAN6n#b^23{fnXScK?rGtE^S$DYhL6asP!0TM>Ie*ROH?BQ>0!I zK12Z)mV^`l1+Zi!rk*EGt~INy^*vN-Lpczyb)gkd-rw=hUr^ z1Z@rw)%*viL#ddCPEgwUTE*A;e>Cl)%^u0F)0)?~0sZKr+KLEH7pfq@T7O1klN zZ-xmBqN?lHXJJ%D21^r$qPaw?t9@#dfi{)J_lK(ToETxc5{>xaZshE>L=-RwYldd$ z6l~*HlG~V7caFJEG8f-|jD20Oo%-XUgmI0l<5c!hdnqLjQ!_d|!@ZNA%;xt!e{;3y z`f!IQvFESF@;Vz^S0E^6PNveM#Zxk1y|;R=Q-^SFn6b0$6A?x(HN z*46htHoK?3-#@2Lsr$;ZZMuw%hE3d;r*g(*MqG~Asgk^^ad!Z9e0>^4ek-WbFjvgN zu`KVZX%Q+20zUbBclC)<=@C@WGy!1Yr&Rr~dmar#2+~%Lo3QFY>DuAinL@$_YD4`%k7zTF; z_Y)t(mordg5rZyOA~U)Uvo+&E77f$ zGT`|N)JAIFQQcZ1UtS_BdU}f5*zKyaJqY(xXRD%~ZRghd$|;z1NW=+8-P6fiH!1gv zDl3e}_884n`vV@yW%@PzTg_1b$Ve!h(Q?N`0*n^9NFtnNVPG{#OB*bJL^~lX!K#9p z$x5+NdBXGa^6H9=F)$m@z^aIWlY$Wr@u*`O1`fTM6{G-F_3A|!6=Frrvxv*fK)^v_ zVMc&6kTEO`EaL`E@In(JCFgZUck`*{*+*n~ZY02(1&2LqRn=(B^YLJt-xANKjbLg$ z6EX~zWQ5B`1hgtBmq$h!vaZ!u)U4-vR@|AZ7Lkxo5tQclH{aBEsL%K zYev+?!Df3^1=fgnVa%PS4etlD8jL%6EyC9P zp@BXfK8u~K#W6s3CRiV2p?qbrL2JfqZGYL!I>b2Z}n!8%JC#O|+SyIS)@ ziNq)h$gNQU*GLJhphszp3Nyl6G>E34HKd3{(72;r=0uK!LA?GqR40HOMPLj~5X=h^ zRVG@QHOobVjAfGE$2Q5%F{qYF)s<67Aq&P(6iixhX*5a-8D%}RWz4l`wQV$8QmaW_7mV3- z)Wu3%Z0~w`xNrw*f=*ka?TZpEHk~lxrUzY|$KeH5fz@P`;)=rQ0=Gr7mRosp*H
  • uW9&xVF3bSz5OEGh+e-ZH9Oa*|#i9 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 RY%%}%yOJrwgn(L-!^k*&Mp6I( literal 0 HcmV?d00001 diff --git a/cachedump/completeRSC/sounds.mem b/cachedump/completeRSC/sounds.mem new file mode 100755 index 0000000000000000000000000000000000000000..302ac9c2172f1808dffc96394cb334b0cb0ac6a1 GIT binary patch literal 114375 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%0DR1J-RmAsX&4<%FsEjk<@#^jf7kJhEVq3 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

    ~%zqp%ek~DF13wE#V~jedikXJJ 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

    T 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�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 literal 0 HcmV?d00001 diff --git a/clientRSC/src/mudclient b/clientRSC/src/mudclient deleted file mode 120000 index 7d0177f..0000000 --- a/clientRSC/src/mudclient +++ /dev/null @@ -1 +0,0 @@ -../../../mpc-client/src/mudclient \ No newline at end of file diff --git a/clients/client317/pom.xml b/clients/client317/pom.xml new file mode 100644 index 0000000..70dd2e7 --- /dev/null +++ b/clients/client317/pom.xml @@ -0,0 +1,30 @@ + + + + + + org.moparscape.client + clients + 0.1-SNAPSHOT + + 4.0.0 + client317 + \ No newline at end of file diff --git a/client317/src/client.java b/clients/client317/src/main/java/client.java similarity index 100% rename from client317/src/client.java rename to clients/client317/src/main/java/client.java diff --git a/client317/src/rs/Class11.java b/clients/client317/src/main/java/rs/Class11.java similarity index 100% rename from client317/src/rs/Class11.java rename to clients/client317/src/main/java/rs/Class11.java diff --git a/client317/src/rs/Class18.java b/clients/client317/src/main/java/rs/Class18.java similarity index 100% rename from client317/src/rs/Class18.java rename to clients/client317/src/main/java/rs/Class18.java diff --git a/client317/src/rs/Class21.java b/clients/client317/src/main/java/rs/Class21.java similarity index 100% rename from client317/src/rs/Class21.java rename to clients/client317/src/main/java/rs/Class21.java diff --git a/client317/src/rs/Class29.java b/clients/client317/src/main/java/rs/Class29.java similarity index 100% rename from client317/src/rs/Class29.java rename to clients/client317/src/main/java/rs/Class29.java diff --git a/client317/src/rs/Class30_Sub1.java b/clients/client317/src/main/java/rs/Class30_Sub1.java similarity index 100% rename from client317/src/rs/Class30_Sub1.java rename to clients/client317/src/main/java/rs/Class30_Sub1.java diff --git a/client317/src/rs/Class33.java b/clients/client317/src/main/java/rs/Class33.java similarity index 100% rename from client317/src/rs/Class33.java rename to clients/client317/src/main/java/rs/Class33.java diff --git a/client317/src/rs/Class36.java b/clients/client317/src/main/java/rs/Class36.java similarity index 100% rename from client317/src/rs/Class36.java rename to clients/client317/src/main/java/rs/Class36.java diff --git a/client317/src/rs/Class39.java b/clients/client317/src/main/java/rs/Class39.java similarity index 100% rename from client317/src/rs/Class39.java rename to clients/client317/src/main/java/rs/Class39.java diff --git a/client317/src/rs/Class4.java b/clients/client317/src/main/java/rs/Class4.java similarity index 100% rename from client317/src/rs/Class4.java rename to clients/client317/src/main/java/rs/Class4.java diff --git a/client317/src/rs/Class40.java b/clients/client317/src/main/java/rs/Class40.java similarity index 100% rename from client317/src/rs/Class40.java rename to clients/client317/src/main/java/rs/Class40.java diff --git a/client317/src/rs/Class43.java b/clients/client317/src/main/java/rs/Class43.java similarity index 100% rename from client317/src/rs/Class43.java rename to clients/client317/src/main/java/rs/Class43.java diff --git a/client317/src/rs/Class47.java b/clients/client317/src/main/java/rs/Class47.java similarity index 100% rename from client317/src/rs/Class47.java rename to clients/client317/src/main/java/rs/Class47.java diff --git a/client317/src/rs/Class6.java b/clients/client317/src/main/java/rs/Class6.java similarity index 100% rename from client317/src/rs/Class6.java rename to clients/client317/src/main/java/rs/Class6.java diff --git a/client317/src/rs/Ground.java b/clients/client317/src/main/java/rs/Ground.java similarity index 100% rename from client317/src/rs/Ground.java rename to clients/client317/src/main/java/rs/Ground.java diff --git a/client317/src/rs/MRUNodes.java b/clients/client317/src/main/java/rs/MRUNodes.java similarity index 100% rename from client317/src/rs/MRUNodes.java rename to clients/client317/src/main/java/rs/MRUNodes.java diff --git a/client317/src/rs/Node.java b/clients/client317/src/main/java/rs/Node.java similarity index 100% rename from client317/src/rs/Node.java rename to clients/client317/src/main/java/rs/Node.java diff --git a/client317/src/rs/NodeCache.java b/clients/client317/src/main/java/rs/NodeCache.java similarity index 100% rename from client317/src/rs/NodeCache.java rename to clients/client317/src/main/java/rs/NodeCache.java diff --git a/client317/src/rs/NodeList.java b/clients/client317/src/main/java/rs/NodeList.java similarity index 100% rename from client317/src/rs/NodeList.java rename to clients/client317/src/main/java/rs/NodeList.java diff --git a/client317/src/rs/NodeSub.java b/clients/client317/src/main/java/rs/NodeSub.java similarity index 100% rename from client317/src/rs/NodeSub.java rename to clients/client317/src/main/java/rs/NodeSub.java diff --git a/client317/src/rs/NodeSubList.java b/clients/client317/src/main/java/rs/NodeSubList.java similarity index 100% rename from client317/src/rs/NodeSubList.java rename to clients/client317/src/main/java/rs/NodeSubList.java diff --git a/client317/src/rs/Object1.java b/clients/client317/src/main/java/rs/Object1.java similarity index 100% rename from client317/src/rs/Object1.java rename to clients/client317/src/main/java/rs/Object1.java diff --git a/client317/src/rs/Object2.java b/clients/client317/src/main/java/rs/Object2.java similarity index 100% rename from client317/src/rs/Object2.java rename to clients/client317/src/main/java/rs/Object2.java diff --git a/client317/src/rs/Object3.java b/clients/client317/src/main/java/rs/Object3.java similarity index 100% rename from client317/src/rs/Object3.java rename to clients/client317/src/main/java/rs/Object3.java diff --git a/client317/src/rs/Object4.java b/clients/client317/src/main/java/rs/Object4.java similarity index 100% rename from client317/src/rs/Object4.java rename to clients/client317/src/main/java/rs/Object4.java diff --git a/client317/src/rs/Object5.java b/clients/client317/src/main/java/rs/Object5.java similarity index 100% rename from client317/src/rs/Object5.java rename to clients/client317/src/main/java/rs/Object5.java diff --git a/client317/src/rs/ObjectManager.java b/clients/client317/src/main/java/rs/ObjectManager.java similarity index 100% rename from client317/src/rs/ObjectManager.java rename to clients/client317/src/main/java/rs/ObjectManager.java diff --git a/client317/src/rs/RSApplet.java b/clients/client317/src/main/java/rs/RSApplet.java similarity index 100% rename from client317/src/rs/RSApplet.java rename to clients/client317/src/main/java/rs/RSApplet.java diff --git a/client317/src/rs/RSFrame.java b/clients/client317/src/main/java/rs/RSFrame.java similarity index 100% rename from client317/src/rs/RSFrame.java rename to clients/client317/src/main/java/rs/RSFrame.java diff --git a/client317/src/rs/RSInterface.java b/clients/client317/src/main/java/rs/RSInterface.java similarity index 100% rename from client317/src/rs/RSInterface.java rename to clients/client317/src/main/java/rs/RSInterface.java diff --git a/client317/src/rs/Sounds.java b/clients/client317/src/main/java/rs/Sounds.java similarity index 100% rename from client317/src/rs/Sounds.java rename to clients/client317/src/main/java/rs/Sounds.java diff --git a/client317/src/rs/TextClass.java b/clients/client317/src/main/java/rs/TextClass.java similarity index 100% rename from client317/src/rs/TextClass.java rename to clients/client317/src/main/java/rs/TextClass.java diff --git a/client317/src/rs/TextInput.java b/clients/client317/src/main/java/rs/TextInput.java similarity index 100% rename from client317/src/rs/TextInput.java rename to clients/client317/src/main/java/rs/TextInput.java diff --git a/client317/src/rs/WorldController.java b/clients/client317/src/main/java/rs/WorldController.java similarity index 100% rename from client317/src/rs/WorldController.java rename to clients/client317/src/main/java/rs/WorldController.java diff --git a/client317/src/rs/animable/Animable.java b/clients/client317/src/main/java/rs/animable/Animable.java similarity index 100% rename from client317/src/rs/animable/Animable.java rename to clients/client317/src/main/java/rs/animable/Animable.java diff --git a/client317/src/rs/animable/Animable_Sub3.java b/clients/client317/src/main/java/rs/animable/Animable_Sub3.java similarity index 100% rename from client317/src/rs/animable/Animable_Sub3.java rename to clients/client317/src/main/java/rs/animable/Animable_Sub3.java diff --git a/client317/src/rs/animable/Animable_Sub4.java b/clients/client317/src/main/java/rs/animable/Animable_Sub4.java similarity index 100% rename from client317/src/rs/animable/Animable_Sub4.java rename to clients/client317/src/main/java/rs/animable/Animable_Sub4.java diff --git a/client317/src/rs/animable/Animable_Sub5.java b/clients/client317/src/main/java/rs/animable/Animable_Sub5.java similarity index 100% rename from client317/src/rs/animable/Animable_Sub5.java rename to clients/client317/src/main/java/rs/animable/Animable_Sub5.java diff --git a/client317/src/rs/animable/Entity.java b/clients/client317/src/main/java/rs/animable/Entity.java similarity index 100% rename from client317/src/rs/animable/Entity.java rename to clients/client317/src/main/java/rs/animable/Entity.java diff --git a/client317/src/rs/animable/Item.java b/clients/client317/src/main/java/rs/animable/Item.java similarity index 100% rename from client317/src/rs/animable/Item.java rename to clients/client317/src/main/java/rs/animable/Item.java diff --git a/client317/src/rs/animable/Model.java b/clients/client317/src/main/java/rs/animable/Model.java similarity index 100% rename from client317/src/rs/animable/Model.java rename to clients/client317/src/main/java/rs/animable/Model.java diff --git a/client317/src/rs/animable/NPC.java b/clients/client317/src/main/java/rs/animable/NPC.java similarity index 100% rename from client317/src/rs/animable/NPC.java rename to clients/client317/src/main/java/rs/animable/NPC.java diff --git a/client317/src/rs/animable/Player.java b/clients/client317/src/main/java/rs/animable/Player.java similarity index 100% rename from client317/src/rs/animable/Player.java rename to clients/client317/src/main/java/rs/animable/Player.java diff --git a/client317/src/rs/anticheat/MouseDetection.java b/clients/client317/src/main/java/rs/anticheat/MouseDetection.java similarity index 100% rename from client317/src/rs/anticheat/MouseDetection.java rename to clients/client317/src/main/java/rs/anticheat/MouseDetection.java diff --git a/client317/src/rs/cache/Decompressor.java b/clients/client317/src/main/java/rs/cache/Decompressor.java similarity index 100% rename from client317/src/rs/cache/Decompressor.java rename to clients/client317/src/main/java/rs/cache/Decompressor.java diff --git a/client317/src/rs/cache/OnDemandData.java b/clients/client317/src/main/java/rs/cache/OnDemandData.java similarity index 100% rename from client317/src/rs/cache/OnDemandData.java rename to clients/client317/src/main/java/rs/cache/OnDemandData.java diff --git a/client317/src/rs/cache/OnDemandFetcher.java b/clients/client317/src/main/java/rs/cache/OnDemandFetcher.java similarity index 100% rename from client317/src/rs/cache/OnDemandFetcher.java rename to clients/client317/src/main/java/rs/cache/OnDemandFetcher.java diff --git a/client317/src/rs/cache/OnDemandFetcherParent.java b/clients/client317/src/main/java/rs/cache/OnDemandFetcherParent.java similarity index 100% rename from client317/src/rs/cache/OnDemandFetcherParent.java rename to clients/client317/src/main/java/rs/cache/OnDemandFetcherParent.java diff --git a/client317/src/rs/client.java b/clients/client317/src/main/java/rs/client.java similarity index 100% rename from client317/src/rs/client.java rename to clients/client317/src/main/java/rs/client.java diff --git a/client317/src/rs/config/Animation.java b/clients/client317/src/main/java/rs/config/Animation.java similarity index 100% rename from client317/src/rs/config/Animation.java rename to clients/client317/src/main/java/rs/config/Animation.java diff --git a/client317/src/rs/config/Censor.java b/clients/client317/src/main/java/rs/config/Censor.java similarity index 100% rename from client317/src/rs/config/Censor.java rename to clients/client317/src/main/java/rs/config/Censor.java diff --git a/client317/src/rs/config/EntityDef.java b/clients/client317/src/main/java/rs/config/EntityDef.java similarity index 100% rename from client317/src/rs/config/EntityDef.java rename to clients/client317/src/main/java/rs/config/EntityDef.java diff --git a/client317/src/rs/config/Flo.java b/clients/client317/src/main/java/rs/config/Flo.java similarity index 100% rename from client317/src/rs/config/Flo.java rename to clients/client317/src/main/java/rs/config/Flo.java diff --git a/client317/src/rs/config/IDK.java b/clients/client317/src/main/java/rs/config/IDK.java similarity index 100% rename from client317/src/rs/config/IDK.java rename to clients/client317/src/main/java/rs/config/IDK.java diff --git a/client317/src/rs/config/ItemDef.java b/clients/client317/src/main/java/rs/config/ItemDef.java similarity index 100% rename from client317/src/rs/config/ItemDef.java rename to clients/client317/src/main/java/rs/config/ItemDef.java diff --git a/client317/src/rs/config/ObjectDef.java b/clients/client317/src/main/java/rs/config/ObjectDef.java similarity index 100% rename from client317/src/rs/config/ObjectDef.java rename to clients/client317/src/main/java/rs/config/ObjectDef.java diff --git a/client317/src/rs/config/SpotAnim.java b/clients/client317/src/main/java/rs/config/SpotAnim.java similarity index 100% rename from client317/src/rs/config/SpotAnim.java rename to clients/client317/src/main/java/rs/config/SpotAnim.java diff --git a/client317/src/rs/config/VarBit.java b/clients/client317/src/main/java/rs/config/VarBit.java similarity index 100% rename from client317/src/rs/config/VarBit.java rename to clients/client317/src/main/java/rs/config/VarBit.java diff --git a/client317/src/rs/config/Varp.java b/clients/client317/src/main/java/rs/config/Varp.java similarity index 100% rename from client317/src/rs/config/Varp.java rename to clients/client317/src/main/java/rs/config/Varp.java diff --git a/client317/src/rs/constants/SizeConstants.java b/clients/client317/src/main/java/rs/constants/SizeConstants.java similarity index 100% rename from client317/src/rs/constants/SizeConstants.java rename to clients/client317/src/main/java/rs/constants/SizeConstants.java diff --git a/client317/src/rs/constants/Skills.java b/clients/client317/src/main/java/rs/constants/Skills.java similarity index 100% rename from client317/src/rs/constants/Skills.java rename to clients/client317/src/main/java/rs/constants/Skills.java diff --git a/client317/src/rs/graphics/Background.java b/clients/client317/src/main/java/rs/graphics/Background.java similarity index 100% rename from client317/src/rs/graphics/Background.java rename to clients/client317/src/main/java/rs/graphics/Background.java diff --git a/client317/src/rs/graphics/DrawingArea.java b/clients/client317/src/main/java/rs/graphics/DrawingArea.java similarity index 100% rename from client317/src/rs/graphics/DrawingArea.java rename to clients/client317/src/main/java/rs/graphics/DrawingArea.java diff --git a/client317/src/rs/graphics/RSImageProducer.java b/clients/client317/src/main/java/rs/graphics/RSImageProducer.java similarity index 100% rename from client317/src/rs/graphics/RSImageProducer.java rename to clients/client317/src/main/java/rs/graphics/RSImageProducer.java diff --git a/client317/src/rs/graphics/Sprite.java b/clients/client317/src/main/java/rs/graphics/Sprite.java similarity index 100% rename from client317/src/rs/graphics/Sprite.java rename to clients/client317/src/main/java/rs/graphics/Sprite.java diff --git a/client317/src/rs/graphics/TextDrawingArea.java b/clients/client317/src/main/java/rs/graphics/TextDrawingArea.java similarity index 100% rename from client317/src/rs/graphics/TextDrawingArea.java rename to clients/client317/src/main/java/rs/graphics/TextDrawingArea.java diff --git a/client317/src/rs/graphics/Texture.java b/clients/client317/src/main/java/rs/graphics/Texture.java similarity index 100% rename from client317/src/rs/graphics/Texture.java rename to clients/client317/src/main/java/rs/graphics/Texture.java diff --git a/client317/src/rs/net/ISAACRandomGen.java b/clients/client317/src/main/java/rs/net/ISAACRandomGen.java similarity index 100% rename from client317/src/rs/net/ISAACRandomGen.java rename to clients/client317/src/main/java/rs/net/ISAACRandomGen.java diff --git a/client317/src/rs/net/RSSocket.java b/clients/client317/src/main/java/rs/net/RSSocket.java similarity index 100% rename from client317/src/rs/net/RSSocket.java rename to clients/client317/src/main/java/rs/net/RSSocket.java diff --git a/client317/src/rs/sign/signlink.java b/clients/client317/src/main/java/rs/sign/signlink.java similarity index 100% rename from client317/src/rs/sign/signlink.java rename to clients/client317/src/main/java/rs/sign/signlink.java diff --git a/client317/src/rs/stream/Class13.java b/clients/client317/src/main/java/rs/stream/Class13.java similarity index 100% rename from client317/src/rs/stream/Class13.java rename to clients/client317/src/main/java/rs/stream/Class13.java diff --git a/client317/src/rs/stream/Class32.java b/clients/client317/src/main/java/rs/stream/Class32.java similarity index 100% rename from client317/src/rs/stream/Class32.java rename to clients/client317/src/main/java/rs/stream/Class32.java diff --git a/client317/src/rs/stream/Stream.java b/clients/client317/src/main/java/rs/stream/Stream.java similarity index 100% rename from client317/src/rs/stream/Stream.java rename to clients/client317/src/main/java/rs/stream/Stream.java diff --git a/client317/src/rs/stream/StreamLoader.java b/clients/client317/src/main/java/rs/stream/StreamLoader.java similarity index 100% rename from client317/src/rs/stream/StreamLoader.java rename to clients/client317/src/main/java/rs/stream/StreamLoader.java diff --git a/clients/client508/pom.xml b/clients/client508/pom.xml new file mode 100644 index 0000000..556091f --- /dev/null +++ b/clients/client508/pom.xml @@ -0,0 +1,30 @@ + + + + + + org.moparscape.client + clients + 0.1-SNAPSHOT + + 4.0.0 + client508 + \ No newline at end of file diff --git a/client508/src/Animable.java b/clients/client508/src/main/java/Animable.java similarity index 100% rename from client508/src/Animable.java rename to clients/client508/src/main/java/Animable.java diff --git a/client508/src/Applet_Sub1.java b/clients/client508/src/main/java/Applet_Sub1.java similarity index 100% rename from client508/src/Applet_Sub1.java rename to clients/client508/src/main/java/Applet_Sub1.java diff --git a/client508/src/Canvas_Sub1.java b/clients/client508/src/main/java/Canvas_Sub1.java similarity index 100% rename from client508/src/Canvas_Sub1.java rename to clients/client508/src/main/java/Canvas_Sub1.java diff --git a/client508/src/Class10.java b/clients/client508/src/main/java/Class10.java similarity index 100% rename from client508/src/Class10.java rename to clients/client508/src/main/java/Class10.java diff --git a/client508/src/Class101.java b/clients/client508/src/main/java/Class101.java similarity index 100% rename from client508/src/Class101.java rename to clients/client508/src/main/java/Class101.java diff --git a/client508/src/Class102.java b/clients/client508/src/main/java/Class102.java similarity index 100% rename from client508/src/Class102.java rename to clients/client508/src/main/java/Class102.java diff --git a/client508/src/Class103.java b/clients/client508/src/main/java/Class103.java similarity index 100% rename from client508/src/Class103.java rename to clients/client508/src/main/java/Class103.java diff --git a/client508/src/Class104.java b/clients/client508/src/main/java/Class104.java similarity index 100% rename from client508/src/Class104.java rename to clients/client508/src/main/java/Class104.java diff --git a/client508/src/Class105.java b/clients/client508/src/main/java/Class105.java similarity index 100% rename from client508/src/Class105.java rename to clients/client508/src/main/java/Class105.java diff --git a/client508/src/Class105_Sub1.java b/clients/client508/src/main/java/Class105_Sub1.java similarity index 100% rename from client508/src/Class105_Sub1.java rename to clients/client508/src/main/java/Class105_Sub1.java diff --git a/client508/src/Class106.java b/clients/client508/src/main/java/Class106.java similarity index 100% rename from client508/src/Class106.java rename to clients/client508/src/main/java/Class106.java diff --git a/client508/src/Class107.java b/clients/client508/src/main/java/Class107.java similarity index 100% rename from client508/src/Class107.java rename to clients/client508/src/main/java/Class107.java diff --git a/client508/src/Class108.java b/clients/client508/src/main/java/Class108.java similarity index 100% rename from client508/src/Class108.java rename to clients/client508/src/main/java/Class108.java diff --git a/client508/src/Class109.java b/clients/client508/src/main/java/Class109.java similarity index 100% rename from client508/src/Class109.java rename to clients/client508/src/main/java/Class109.java diff --git a/client508/src/Class11.java b/clients/client508/src/main/java/Class11.java similarity index 100% rename from client508/src/Class11.java rename to clients/client508/src/main/java/Class11.java diff --git a/client508/src/Class110.java b/clients/client508/src/main/java/Class110.java similarity index 100% rename from client508/src/Class110.java rename to clients/client508/src/main/java/Class110.java diff --git a/client508/src/Class112.java b/clients/client508/src/main/java/Class112.java similarity index 100% rename from client508/src/Class112.java rename to clients/client508/src/main/java/Class112.java diff --git a/client508/src/Class113.java b/clients/client508/src/main/java/Class113.java similarity index 100% rename from client508/src/Class113.java rename to clients/client508/src/main/java/Class113.java diff --git a/client508/src/Class114.java b/clients/client508/src/main/java/Class114.java similarity index 100% rename from client508/src/Class114.java rename to clients/client508/src/main/java/Class114.java diff --git a/client508/src/Class115.java b/clients/client508/src/main/java/Class115.java similarity index 100% rename from client508/src/Class115.java rename to clients/client508/src/main/java/Class115.java diff --git a/client508/src/Class116.java b/clients/client508/src/main/java/Class116.java similarity index 100% rename from client508/src/Class116.java rename to clients/client508/src/main/java/Class116.java diff --git a/client508/src/Class118.java b/clients/client508/src/main/java/Class118.java similarity index 100% rename from client508/src/Class118.java rename to clients/client508/src/main/java/Class118.java diff --git a/client508/src/Class119.java b/clients/client508/src/main/java/Class119.java similarity index 100% rename from client508/src/Class119.java rename to clients/client508/src/main/java/Class119.java diff --git a/client508/src/Class12.java b/clients/client508/src/main/java/Class12.java similarity index 100% rename from client508/src/Class12.java rename to clients/client508/src/main/java/Class12.java diff --git a/client508/src/Class120.java b/clients/client508/src/main/java/Class120.java similarity index 100% rename from client508/src/Class120.java rename to clients/client508/src/main/java/Class120.java diff --git a/client508/src/Class121.java b/clients/client508/src/main/java/Class121.java similarity index 100% rename from client508/src/Class121.java rename to clients/client508/src/main/java/Class121.java diff --git a/client508/src/Class122.java b/clients/client508/src/main/java/Class122.java similarity index 100% rename from client508/src/Class122.java rename to clients/client508/src/main/java/Class122.java diff --git a/client508/src/Class123.java b/clients/client508/src/main/java/Class123.java similarity index 100% rename from client508/src/Class123.java rename to clients/client508/src/main/java/Class123.java diff --git a/client508/src/Class124.java b/clients/client508/src/main/java/Class124.java similarity index 100% rename from client508/src/Class124.java rename to clients/client508/src/main/java/Class124.java diff --git a/client508/src/Class125.java b/clients/client508/src/main/java/Class125.java similarity index 100% rename from client508/src/Class125.java rename to clients/client508/src/main/java/Class125.java diff --git a/client508/src/Class127.java b/clients/client508/src/main/java/Class127.java similarity index 100% rename from client508/src/Class127.java rename to clients/client508/src/main/java/Class127.java diff --git a/client508/src/Class128.java b/clients/client508/src/main/java/Class128.java similarity index 100% rename from client508/src/Class128.java rename to clients/client508/src/main/java/Class128.java diff --git a/client508/src/Class13.java b/clients/client508/src/main/java/Class13.java similarity index 100% rename from client508/src/Class13.java rename to clients/client508/src/main/java/Class13.java diff --git a/client508/src/Class13_Sub1.java b/clients/client508/src/main/java/Class13_Sub1.java similarity index 100% rename from client508/src/Class13_Sub1.java rename to clients/client508/src/main/java/Class13_Sub1.java diff --git a/client508/src/Class13_Sub2.java b/clients/client508/src/main/java/Class13_Sub2.java similarity index 100% rename from client508/src/Class13_Sub2.java rename to clients/client508/src/main/java/Class13_Sub2.java diff --git a/client508/src/Class13_Sub3.java b/clients/client508/src/main/java/Class13_Sub3.java similarity index 100% rename from client508/src/Class13_Sub3.java rename to clients/client508/src/main/java/Class13_Sub3.java diff --git a/client508/src/Class13_Sub4.java b/clients/client508/src/main/java/Class13_Sub4.java similarity index 100% rename from client508/src/Class13_Sub4.java rename to clients/client508/src/main/java/Class13_Sub4.java diff --git a/client508/src/Class14.java b/clients/client508/src/main/java/Class14.java similarity index 100% rename from client508/src/Class14.java rename to clients/client508/src/main/java/Class14.java diff --git a/client508/src/Class15.java b/clients/client508/src/main/java/Class15.java similarity index 100% rename from client508/src/Class15.java rename to clients/client508/src/main/java/Class15.java diff --git a/client508/src/Class15_Sub1.java b/clients/client508/src/main/java/Class15_Sub1.java similarity index 100% rename from client508/src/Class15_Sub1.java rename to clients/client508/src/main/java/Class15_Sub1.java diff --git a/client508/src/Class16.java b/clients/client508/src/main/java/Class16.java similarity index 100% rename from client508/src/Class16.java rename to clients/client508/src/main/java/Class16.java diff --git a/client508/src/Class17.java b/clients/client508/src/main/java/Class17.java similarity index 100% rename from client508/src/Class17.java rename to clients/client508/src/main/java/Class17.java diff --git a/client508/src/Class18.java b/clients/client508/src/main/java/Class18.java similarity index 100% rename from client508/src/Class18.java rename to clients/client508/src/main/java/Class18.java diff --git a/client508/src/Class1_Sub1.java b/clients/client508/src/main/java/Class1_Sub1.java similarity index 100% rename from client508/src/Class1_Sub1.java rename to clients/client508/src/main/java/Class1_Sub1.java diff --git a/client508/src/Class1_Sub2.java b/clients/client508/src/main/java/Class1_Sub2.java similarity index 100% rename from client508/src/Class1_Sub2.java rename to clients/client508/src/main/java/Class1_Sub2.java diff --git a/client508/src/Class1_Sub3.java b/clients/client508/src/main/java/Class1_Sub3.java similarity index 100% rename from client508/src/Class1_Sub3.java rename to clients/client508/src/main/java/Class1_Sub3.java diff --git a/client508/src/Class1_Sub3_Sub1.java b/clients/client508/src/main/java/Class1_Sub3_Sub1.java similarity index 100% rename from client508/src/Class1_Sub3_Sub1.java rename to clients/client508/src/main/java/Class1_Sub3_Sub1.java diff --git a/client508/src/Class1_Sub4.java b/clients/client508/src/main/java/Class1_Sub4.java similarity index 100% rename from client508/src/Class1_Sub4.java rename to clients/client508/src/main/java/Class1_Sub4.java diff --git a/client508/src/Class1_Sub5.java b/clients/client508/src/main/java/Class1_Sub5.java similarity index 100% rename from client508/src/Class1_Sub5.java rename to clients/client508/src/main/java/Class1_Sub5.java diff --git a/client508/src/Class1_Sub6.java b/clients/client508/src/main/java/Class1_Sub6.java similarity index 100% rename from client508/src/Class1_Sub6.java rename to clients/client508/src/main/java/Class1_Sub6.java diff --git a/client508/src/Class1_Sub6_Sub1.java b/clients/client508/src/main/java/Class1_Sub6_Sub1.java similarity index 100% rename from client508/src/Class1_Sub6_Sub1.java rename to clients/client508/src/main/java/Class1_Sub6_Sub1.java diff --git a/client508/src/Class1_Sub6_Sub2.java b/clients/client508/src/main/java/Class1_Sub6_Sub2.java similarity index 100% rename from client508/src/Class1_Sub6_Sub2.java rename to clients/client508/src/main/java/Class1_Sub6_Sub2.java diff --git a/client508/src/Class1_Sub7.java b/clients/client508/src/main/java/Class1_Sub7.java similarity index 100% rename from client508/src/Class1_Sub7.java rename to clients/client508/src/main/java/Class1_Sub7.java diff --git a/client508/src/Class2.java b/clients/client508/src/main/java/Class2.java similarity index 100% rename from client508/src/Class2.java rename to clients/client508/src/main/java/Class2.java diff --git a/client508/src/Class20.java b/clients/client508/src/main/java/Class20.java similarity index 100% rename from client508/src/Class20.java rename to clients/client508/src/main/java/Class20.java diff --git a/client508/src/Class21_Sub1.java b/clients/client508/src/main/java/Class21_Sub1.java similarity index 100% rename from client508/src/Class21_Sub1.java rename to clients/client508/src/main/java/Class21_Sub1.java diff --git a/client508/src/Class21renamed.java b/clients/client508/src/main/java/Class21renamed.java similarity index 100% rename from client508/src/Class21renamed.java rename to clients/client508/src/main/java/Class21renamed.java diff --git a/client508/src/Class22.java b/clients/client508/src/main/java/Class22.java similarity index 100% rename from client508/src/Class22.java rename to clients/client508/src/main/java/Class22.java diff --git a/client508/src/Class23.java b/clients/client508/src/main/java/Class23.java similarity index 100% rename from client508/src/Class23.java rename to clients/client508/src/main/java/Class23.java diff --git a/client508/src/Class24.java b/clients/client508/src/main/java/Class24.java similarity index 100% rename from client508/src/Class24.java rename to clients/client508/src/main/java/Class24.java diff --git a/client508/src/Class25.java b/clients/client508/src/main/java/Class25.java similarity index 100% rename from client508/src/Class25.java rename to clients/client508/src/main/java/Class25.java diff --git a/client508/src/Class26.java b/clients/client508/src/main/java/Class26.java similarity index 100% rename from client508/src/Class26.java rename to clients/client508/src/main/java/Class26.java diff --git a/client508/src/Class27.java b/clients/client508/src/main/java/Class27.java similarity index 100% rename from client508/src/Class27.java rename to clients/client508/src/main/java/Class27.java diff --git a/client508/src/Class28.java b/clients/client508/src/main/java/Class28.java similarity index 100% rename from client508/src/Class28.java rename to clients/client508/src/main/java/Class28.java diff --git a/client508/src/Class29.java b/clients/client508/src/main/java/Class29.java similarity index 100% rename from client508/src/Class29.java rename to clients/client508/src/main/java/Class29.java diff --git a/client508/src/Class3.java b/clients/client508/src/main/java/Class3.java similarity index 100% rename from client508/src/Class3.java rename to clients/client508/src/main/java/Class3.java diff --git a/client508/src/Class30.java b/clients/client508/src/main/java/Class30.java similarity index 100% rename from client508/src/Class30.java rename to clients/client508/src/main/java/Class30.java diff --git a/client508/src/Class32.java b/clients/client508/src/main/java/Class32.java similarity index 100% rename from client508/src/Class32.java rename to clients/client508/src/main/java/Class32.java diff --git a/client508/src/Class33.java b/clients/client508/src/main/java/Class33.java similarity index 100% rename from client508/src/Class33.java rename to clients/client508/src/main/java/Class33.java diff --git a/client508/src/Class34.java b/clients/client508/src/main/java/Class34.java similarity index 100% rename from client508/src/Class34.java rename to clients/client508/src/main/java/Class34.java diff --git a/client508/src/Class35.java b/clients/client508/src/main/java/Class35.java similarity index 100% rename from client508/src/Class35.java rename to clients/client508/src/main/java/Class35.java diff --git a/client508/src/Class35_Sub1.java b/clients/client508/src/main/java/Class35_Sub1.java similarity index 100% rename from client508/src/Class35_Sub1.java rename to clients/client508/src/main/java/Class35_Sub1.java diff --git a/client508/src/Class35_Sub2.java b/clients/client508/src/main/java/Class35_Sub2.java similarity index 100% rename from client508/src/Class35_Sub2.java rename to clients/client508/src/main/java/Class35_Sub2.java diff --git a/client508/src/Class36.java b/clients/client508/src/main/java/Class36.java similarity index 100% rename from client508/src/Class36.java rename to clients/client508/src/main/java/Class36.java diff --git a/client508/src/Class37.java b/clients/client508/src/main/java/Class37.java similarity index 100% rename from client508/src/Class37.java rename to clients/client508/src/main/java/Class37.java diff --git a/client508/src/Class39.java b/clients/client508/src/main/java/Class39.java similarity index 100% rename from client508/src/Class39.java rename to clients/client508/src/main/java/Class39.java diff --git a/client508/src/Class4.java b/clients/client508/src/main/java/Class4.java similarity index 100% rename from client508/src/Class4.java rename to clients/client508/src/main/java/Class4.java diff --git a/client508/src/Class40.java b/clients/client508/src/main/java/Class40.java similarity index 100% rename from client508/src/Class40.java rename to clients/client508/src/main/java/Class40.java diff --git a/client508/src/Class41.java b/clients/client508/src/main/java/Class41.java similarity index 100% rename from client508/src/Class41.java rename to clients/client508/src/main/java/Class41.java diff --git a/client508/src/Class42.java b/clients/client508/src/main/java/Class42.java similarity index 100% rename from client508/src/Class42.java rename to clients/client508/src/main/java/Class42.java diff --git a/client508/src/Class43.java b/clients/client508/src/main/java/Class43.java similarity index 100% rename from client508/src/Class43.java rename to clients/client508/src/main/java/Class43.java diff --git a/client508/src/Class44.java b/clients/client508/src/main/java/Class44.java similarity index 100% rename from client508/src/Class44.java rename to clients/client508/src/main/java/Class44.java diff --git a/client508/src/Class45.java b/clients/client508/src/main/java/Class45.java similarity index 100% rename from client508/src/Class45.java rename to clients/client508/src/main/java/Class45.java diff --git a/client508/src/Class46.java b/clients/client508/src/main/java/Class46.java similarity index 100% rename from client508/src/Class46.java rename to clients/client508/src/main/java/Class46.java diff --git a/client508/src/Class47.java b/clients/client508/src/main/java/Class47.java similarity index 100% rename from client508/src/Class47.java rename to clients/client508/src/main/java/Class47.java diff --git a/client508/src/Class48.java b/clients/client508/src/main/java/Class48.java similarity index 100% rename from client508/src/Class48.java rename to clients/client508/src/main/java/Class48.java diff --git a/client508/src/Class49.java b/clients/client508/src/main/java/Class49.java similarity index 100% rename from client508/src/Class49.java rename to clients/client508/src/main/java/Class49.java diff --git a/client508/src/Class5.java b/clients/client508/src/main/java/Class5.java similarity index 100% rename from client508/src/Class5.java rename to clients/client508/src/main/java/Class5.java diff --git a/client508/src/Class50.java b/clients/client508/src/main/java/Class50.java similarity index 100% rename from client508/src/Class50.java rename to clients/client508/src/main/java/Class50.java diff --git a/client508/src/Class50_Sub1.java b/clients/client508/src/main/java/Class50_Sub1.java similarity index 100% rename from client508/src/Class50_Sub1.java rename to clients/client508/src/main/java/Class50_Sub1.java diff --git a/client508/src/Class50_Sub2.java b/clients/client508/src/main/java/Class50_Sub2.java similarity index 100% rename from client508/src/Class50_Sub2.java rename to clients/client508/src/main/java/Class50_Sub2.java diff --git a/client508/src/Class51.java b/clients/client508/src/main/java/Class51.java similarity index 100% rename from client508/src/Class51.java rename to clients/client508/src/main/java/Class51.java diff --git a/client508/src/Class52.java b/clients/client508/src/main/java/Class52.java similarity index 100% rename from client508/src/Class52.java rename to clients/client508/src/main/java/Class52.java diff --git a/client508/src/Class53.java b/clients/client508/src/main/java/Class53.java similarity index 100% rename from client508/src/Class53.java rename to clients/client508/src/main/java/Class53.java diff --git a/client508/src/Class54.java b/clients/client508/src/main/java/Class54.java similarity index 100% rename from client508/src/Class54.java rename to clients/client508/src/main/java/Class54.java diff --git a/client508/src/Class55.java b/clients/client508/src/main/java/Class55.java similarity index 100% rename from client508/src/Class55.java rename to clients/client508/src/main/java/Class55.java diff --git a/client508/src/Class56.java b/clients/client508/src/main/java/Class56.java similarity index 100% rename from client508/src/Class56.java rename to clients/client508/src/main/java/Class56.java diff --git a/client508/src/Class57.java b/clients/client508/src/main/java/Class57.java similarity index 100% rename from client508/src/Class57.java rename to clients/client508/src/main/java/Class57.java diff --git a/client508/src/Class58.java b/clients/client508/src/main/java/Class58.java similarity index 100% rename from client508/src/Class58.java rename to clients/client508/src/main/java/Class58.java diff --git a/client508/src/Class59.java b/clients/client508/src/main/java/Class59.java similarity index 100% rename from client508/src/Class59.java rename to clients/client508/src/main/java/Class59.java diff --git a/client508/src/Class6.java b/clients/client508/src/main/java/Class6.java similarity index 100% rename from client508/src/Class6.java rename to clients/client508/src/main/java/Class6.java diff --git a/client508/src/Class60.java b/clients/client508/src/main/java/Class60.java similarity index 100% rename from client508/src/Class60.java rename to clients/client508/src/main/java/Class60.java diff --git a/client508/src/Class62.java b/clients/client508/src/main/java/Class62.java similarity index 100% rename from client508/src/Class62.java rename to clients/client508/src/main/java/Class62.java diff --git a/client508/src/Class63.java b/clients/client508/src/main/java/Class63.java similarity index 100% rename from client508/src/Class63.java rename to clients/client508/src/main/java/Class63.java diff --git a/client508/src/Class64.java b/clients/client508/src/main/java/Class64.java similarity index 100% rename from client508/src/Class64.java rename to clients/client508/src/main/java/Class64.java diff --git a/client508/src/Class65.java b/clients/client508/src/main/java/Class65.java similarity index 100% rename from client508/src/Class65.java rename to clients/client508/src/main/java/Class65.java diff --git a/client508/src/Class66.java b/clients/client508/src/main/java/Class66.java similarity index 100% rename from client508/src/Class66.java rename to clients/client508/src/main/java/Class66.java diff --git a/client508/src/Class67.java b/clients/client508/src/main/java/Class67.java similarity index 100% rename from client508/src/Class67.java rename to clients/client508/src/main/java/Class67.java diff --git a/client508/src/Class68.java b/clients/client508/src/main/java/Class68.java similarity index 100% rename from client508/src/Class68.java rename to clients/client508/src/main/java/Class68.java diff --git a/client508/src/Class68_Sub1.java b/clients/client508/src/main/java/Class68_Sub1.java similarity index 100% rename from client508/src/Class68_Sub1.java rename to clients/client508/src/main/java/Class68_Sub1.java diff --git a/client508/src/Class68_Sub10.java b/clients/client508/src/main/java/Class68_Sub10.java similarity index 100% rename from client508/src/Class68_Sub10.java rename to clients/client508/src/main/java/Class68_Sub10.java diff --git a/client508/src/Class68_Sub11.java b/clients/client508/src/main/java/Class68_Sub11.java similarity index 100% rename from client508/src/Class68_Sub11.java rename to clients/client508/src/main/java/Class68_Sub11.java diff --git a/client508/src/Class68_Sub11_Sub1.java b/clients/client508/src/main/java/Class68_Sub11_Sub1.java similarity index 100% rename from client508/src/Class68_Sub11_Sub1.java rename to clients/client508/src/main/java/Class68_Sub11_Sub1.java diff --git a/client508/src/Class68_Sub12.java b/clients/client508/src/main/java/Class68_Sub12.java similarity index 100% rename from client508/src/Class68_Sub12.java rename to clients/client508/src/main/java/Class68_Sub12.java diff --git a/client508/src/Class68_Sub13.java b/clients/client508/src/main/java/Class68_Sub13.java similarity index 100% rename from client508/src/Class68_Sub13.java rename to clients/client508/src/main/java/Class68_Sub13.java diff --git a/client508/src/Class68_Sub13_Sub1.java b/clients/client508/src/main/java/Class68_Sub13_Sub1.java similarity index 100% rename from client508/src/Class68_Sub13_Sub1.java rename to clients/client508/src/main/java/Class68_Sub13_Sub1.java diff --git a/client508/src/Class68_Sub13_Sub10.java b/clients/client508/src/main/java/Class68_Sub13_Sub10.java similarity index 100% rename from client508/src/Class68_Sub13_Sub10.java rename to clients/client508/src/main/java/Class68_Sub13_Sub10.java diff --git a/client508/src/Class68_Sub13_Sub11.java b/clients/client508/src/main/java/Class68_Sub13_Sub11.java similarity index 100% rename from client508/src/Class68_Sub13_Sub11.java rename to clients/client508/src/main/java/Class68_Sub13_Sub11.java diff --git a/client508/src/Class68_Sub13_Sub12.java b/clients/client508/src/main/java/Class68_Sub13_Sub12.java similarity index 100% rename from client508/src/Class68_Sub13_Sub12.java rename to clients/client508/src/main/java/Class68_Sub13_Sub12.java diff --git a/client508/src/Class68_Sub13_Sub13.java b/clients/client508/src/main/java/Class68_Sub13_Sub13.java similarity index 100% rename from client508/src/Class68_Sub13_Sub13.java rename to clients/client508/src/main/java/Class68_Sub13_Sub13.java diff --git a/client508/src/Class68_Sub13_Sub14.java b/clients/client508/src/main/java/Class68_Sub13_Sub14.java similarity index 100% rename from client508/src/Class68_Sub13_Sub14.java rename to clients/client508/src/main/java/Class68_Sub13_Sub14.java diff --git a/client508/src/Class68_Sub13_Sub15.java b/clients/client508/src/main/java/Class68_Sub13_Sub15.java similarity index 100% rename from client508/src/Class68_Sub13_Sub15.java rename to clients/client508/src/main/java/Class68_Sub13_Sub15.java diff --git a/client508/src/Class68_Sub13_Sub16.java b/clients/client508/src/main/java/Class68_Sub13_Sub16.java similarity index 100% rename from client508/src/Class68_Sub13_Sub16.java rename to clients/client508/src/main/java/Class68_Sub13_Sub16.java diff --git a/client508/src/Class68_Sub13_Sub17.java b/clients/client508/src/main/java/Class68_Sub13_Sub17.java similarity index 100% rename from client508/src/Class68_Sub13_Sub17.java rename to clients/client508/src/main/java/Class68_Sub13_Sub17.java diff --git a/client508/src/Class68_Sub13_Sub18.java b/clients/client508/src/main/java/Class68_Sub13_Sub18.java similarity index 100% rename from client508/src/Class68_Sub13_Sub18.java rename to clients/client508/src/main/java/Class68_Sub13_Sub18.java diff --git a/client508/src/Class68_Sub13_Sub19.java b/clients/client508/src/main/java/Class68_Sub13_Sub19.java similarity index 100% rename from client508/src/Class68_Sub13_Sub19.java rename to clients/client508/src/main/java/Class68_Sub13_Sub19.java diff --git a/client508/src/Class68_Sub13_Sub2.java b/clients/client508/src/main/java/Class68_Sub13_Sub2.java similarity index 100% rename from client508/src/Class68_Sub13_Sub2.java rename to clients/client508/src/main/java/Class68_Sub13_Sub2.java diff --git a/client508/src/Class68_Sub13_Sub20.java b/clients/client508/src/main/java/Class68_Sub13_Sub20.java similarity index 100% rename from client508/src/Class68_Sub13_Sub20.java rename to clients/client508/src/main/java/Class68_Sub13_Sub20.java diff --git a/client508/src/Class68_Sub13_Sub21.java b/clients/client508/src/main/java/Class68_Sub13_Sub21.java similarity index 100% rename from client508/src/Class68_Sub13_Sub21.java rename to clients/client508/src/main/java/Class68_Sub13_Sub21.java diff --git a/client508/src/Class68_Sub13_Sub22.java b/clients/client508/src/main/java/Class68_Sub13_Sub22.java similarity index 100% rename from client508/src/Class68_Sub13_Sub22.java rename to clients/client508/src/main/java/Class68_Sub13_Sub22.java diff --git a/client508/src/Class68_Sub13_Sub23.java b/clients/client508/src/main/java/Class68_Sub13_Sub23.java similarity index 100% rename from client508/src/Class68_Sub13_Sub23.java rename to clients/client508/src/main/java/Class68_Sub13_Sub23.java diff --git a/client508/src/Class68_Sub13_Sub24.java b/clients/client508/src/main/java/Class68_Sub13_Sub24.java similarity index 100% rename from client508/src/Class68_Sub13_Sub24.java rename to clients/client508/src/main/java/Class68_Sub13_Sub24.java diff --git a/client508/src/Class68_Sub13_Sub25.java b/clients/client508/src/main/java/Class68_Sub13_Sub25.java similarity index 100% rename from client508/src/Class68_Sub13_Sub25.java rename to clients/client508/src/main/java/Class68_Sub13_Sub25.java diff --git a/client508/src/Class68_Sub13_Sub26.java b/clients/client508/src/main/java/Class68_Sub13_Sub26.java similarity index 100% rename from client508/src/Class68_Sub13_Sub26.java rename to clients/client508/src/main/java/Class68_Sub13_Sub26.java diff --git a/client508/src/Class68_Sub13_Sub26_Sub1.java b/clients/client508/src/main/java/Class68_Sub13_Sub26_Sub1.java similarity index 100% rename from client508/src/Class68_Sub13_Sub26_Sub1.java rename to clients/client508/src/main/java/Class68_Sub13_Sub26_Sub1.java diff --git a/client508/src/Class68_Sub13_Sub27.java b/clients/client508/src/main/java/Class68_Sub13_Sub27.java similarity index 100% rename from client508/src/Class68_Sub13_Sub27.java rename to clients/client508/src/main/java/Class68_Sub13_Sub27.java diff --git a/client508/src/Class68_Sub13_Sub28.java b/clients/client508/src/main/java/Class68_Sub13_Sub28.java similarity index 100% rename from client508/src/Class68_Sub13_Sub28.java rename to clients/client508/src/main/java/Class68_Sub13_Sub28.java diff --git a/client508/src/Class68_Sub13_Sub29.java b/clients/client508/src/main/java/Class68_Sub13_Sub29.java similarity index 100% rename from client508/src/Class68_Sub13_Sub29.java rename to clients/client508/src/main/java/Class68_Sub13_Sub29.java diff --git a/client508/src/Class68_Sub13_Sub3.java b/clients/client508/src/main/java/Class68_Sub13_Sub3.java similarity index 100% rename from client508/src/Class68_Sub13_Sub3.java rename to clients/client508/src/main/java/Class68_Sub13_Sub3.java diff --git a/client508/src/Class68_Sub13_Sub30.java b/clients/client508/src/main/java/Class68_Sub13_Sub30.java similarity index 100% rename from client508/src/Class68_Sub13_Sub30.java rename to clients/client508/src/main/java/Class68_Sub13_Sub30.java diff --git a/client508/src/Class68_Sub13_Sub31.java b/clients/client508/src/main/java/Class68_Sub13_Sub31.java similarity index 100% rename from client508/src/Class68_Sub13_Sub31.java rename to clients/client508/src/main/java/Class68_Sub13_Sub31.java diff --git a/client508/src/Class68_Sub13_Sub32.java b/clients/client508/src/main/java/Class68_Sub13_Sub32.java similarity index 100% rename from client508/src/Class68_Sub13_Sub32.java rename to clients/client508/src/main/java/Class68_Sub13_Sub32.java diff --git a/client508/src/Class68_Sub13_Sub33.java b/clients/client508/src/main/java/Class68_Sub13_Sub33.java similarity index 100% rename from client508/src/Class68_Sub13_Sub33.java rename to clients/client508/src/main/java/Class68_Sub13_Sub33.java diff --git a/client508/src/Class68_Sub13_Sub34.java b/clients/client508/src/main/java/Class68_Sub13_Sub34.java similarity index 100% rename from client508/src/Class68_Sub13_Sub34.java rename to clients/client508/src/main/java/Class68_Sub13_Sub34.java diff --git a/client508/src/Class68_Sub13_Sub35.java b/clients/client508/src/main/java/Class68_Sub13_Sub35.java similarity index 100% rename from client508/src/Class68_Sub13_Sub35.java rename to clients/client508/src/main/java/Class68_Sub13_Sub35.java diff --git a/client508/src/Class68_Sub13_Sub36.java b/clients/client508/src/main/java/Class68_Sub13_Sub36.java similarity index 100% rename from client508/src/Class68_Sub13_Sub36.java rename to clients/client508/src/main/java/Class68_Sub13_Sub36.java diff --git a/client508/src/Class68_Sub13_Sub37.java b/clients/client508/src/main/java/Class68_Sub13_Sub37.java similarity index 100% rename from client508/src/Class68_Sub13_Sub37.java rename to clients/client508/src/main/java/Class68_Sub13_Sub37.java diff --git a/client508/src/Class68_Sub13_Sub38.java b/clients/client508/src/main/java/Class68_Sub13_Sub38.java similarity index 100% rename from client508/src/Class68_Sub13_Sub38.java rename to clients/client508/src/main/java/Class68_Sub13_Sub38.java diff --git a/client508/src/Class68_Sub13_Sub39.java b/clients/client508/src/main/java/Class68_Sub13_Sub39.java similarity index 100% rename from client508/src/Class68_Sub13_Sub39.java rename to clients/client508/src/main/java/Class68_Sub13_Sub39.java diff --git a/client508/src/Class68_Sub13_Sub4.java b/clients/client508/src/main/java/Class68_Sub13_Sub4.java similarity index 100% rename from client508/src/Class68_Sub13_Sub4.java rename to clients/client508/src/main/java/Class68_Sub13_Sub4.java diff --git a/client508/src/Class68_Sub13_Sub5.java b/clients/client508/src/main/java/Class68_Sub13_Sub5.java similarity index 100% rename from client508/src/Class68_Sub13_Sub5.java rename to clients/client508/src/main/java/Class68_Sub13_Sub5.java diff --git a/client508/src/Class68_Sub13_Sub6.java b/clients/client508/src/main/java/Class68_Sub13_Sub6.java similarity index 100% rename from client508/src/Class68_Sub13_Sub6.java rename to clients/client508/src/main/java/Class68_Sub13_Sub6.java diff --git a/client508/src/Class68_Sub13_Sub7.java b/clients/client508/src/main/java/Class68_Sub13_Sub7.java similarity index 100% rename from client508/src/Class68_Sub13_Sub7.java rename to clients/client508/src/main/java/Class68_Sub13_Sub7.java diff --git a/client508/src/Class68_Sub13_Sub8.java b/clients/client508/src/main/java/Class68_Sub13_Sub8.java similarity index 100% rename from client508/src/Class68_Sub13_Sub8.java rename to clients/client508/src/main/java/Class68_Sub13_Sub8.java diff --git a/client508/src/Class68_Sub13_Sub9.java b/clients/client508/src/main/java/Class68_Sub13_Sub9.java similarity index 100% rename from client508/src/Class68_Sub13_Sub9.java rename to clients/client508/src/main/java/Class68_Sub13_Sub9.java diff --git a/client508/src/Class68_Sub15.java b/clients/client508/src/main/java/Class68_Sub15.java similarity index 100% rename from client508/src/Class68_Sub15.java rename to clients/client508/src/main/java/Class68_Sub15.java diff --git a/client508/src/Class68_Sub16.java b/clients/client508/src/main/java/Class68_Sub16.java similarity index 100% rename from client508/src/Class68_Sub16.java rename to clients/client508/src/main/java/Class68_Sub16.java diff --git a/client508/src/Class68_Sub17.java b/clients/client508/src/main/java/Class68_Sub17.java similarity index 100% rename from client508/src/Class68_Sub17.java rename to clients/client508/src/main/java/Class68_Sub17.java diff --git a/client508/src/Class68_Sub18.java b/clients/client508/src/main/java/Class68_Sub18.java similarity index 100% rename from client508/src/Class68_Sub18.java rename to clients/client508/src/main/java/Class68_Sub18.java diff --git a/client508/src/Class68_Sub19.java b/clients/client508/src/main/java/Class68_Sub19.java similarity index 100% rename from client508/src/Class68_Sub19.java rename to clients/client508/src/main/java/Class68_Sub19.java diff --git a/client508/src/Class68_Sub2.java b/clients/client508/src/main/java/Class68_Sub2.java similarity index 100% rename from client508/src/Class68_Sub2.java rename to clients/client508/src/main/java/Class68_Sub2.java diff --git a/client508/src/Class68_Sub20.java b/clients/client508/src/main/java/Class68_Sub20.java similarity index 100% rename from client508/src/Class68_Sub20.java rename to clients/client508/src/main/java/Class68_Sub20.java diff --git a/client508/src/Class68_Sub20_Sub1.java b/clients/client508/src/main/java/Class68_Sub20_Sub1.java similarity index 100% rename from client508/src/Class68_Sub20_Sub1.java rename to clients/client508/src/main/java/Class68_Sub20_Sub1.java diff --git a/client508/src/Class68_Sub20_Sub10.java b/clients/client508/src/main/java/Class68_Sub20_Sub10.java similarity index 100% rename from client508/src/Class68_Sub20_Sub10.java rename to clients/client508/src/main/java/Class68_Sub20_Sub10.java diff --git a/client508/src/Class68_Sub20_Sub11.java b/clients/client508/src/main/java/Class68_Sub20_Sub11.java similarity index 100% rename from client508/src/Class68_Sub20_Sub11.java rename to clients/client508/src/main/java/Class68_Sub20_Sub11.java diff --git a/client508/src/Class68_Sub20_Sub12.java b/clients/client508/src/main/java/Class68_Sub20_Sub12.java similarity index 100% rename from client508/src/Class68_Sub20_Sub12.java rename to clients/client508/src/main/java/Class68_Sub20_Sub12.java diff --git a/client508/src/Class68_Sub20_Sub13.java b/clients/client508/src/main/java/Class68_Sub20_Sub13.java similarity index 100% rename from client508/src/Class68_Sub20_Sub13.java rename to clients/client508/src/main/java/Class68_Sub20_Sub13.java diff --git a/client508/src/Class68_Sub20_Sub13_Sub1.java b/clients/client508/src/main/java/Class68_Sub20_Sub13_Sub1.java similarity index 100% rename from client508/src/Class68_Sub20_Sub13_Sub1.java rename to clients/client508/src/main/java/Class68_Sub20_Sub13_Sub1.java diff --git a/client508/src/Class68_Sub20_Sub13_Sub2.java b/clients/client508/src/main/java/Class68_Sub20_Sub13_Sub2.java similarity index 100% rename from client508/src/Class68_Sub20_Sub13_Sub2.java rename to clients/client508/src/main/java/Class68_Sub20_Sub13_Sub2.java diff --git a/client508/src/Class68_Sub20_Sub14.java b/clients/client508/src/main/java/Class68_Sub20_Sub14.java similarity index 100% rename from client508/src/Class68_Sub20_Sub14.java rename to clients/client508/src/main/java/Class68_Sub20_Sub14.java diff --git a/client508/src/Class68_Sub20_Sub15.java b/clients/client508/src/main/java/Class68_Sub20_Sub15.java similarity index 100% rename from client508/src/Class68_Sub20_Sub15.java rename to clients/client508/src/main/java/Class68_Sub20_Sub15.java diff --git a/client508/src/Class68_Sub20_Sub16.java b/clients/client508/src/main/java/Class68_Sub20_Sub16.java similarity index 100% rename from client508/src/Class68_Sub20_Sub16.java rename to clients/client508/src/main/java/Class68_Sub20_Sub16.java diff --git a/client508/src/Class68_Sub20_Sub17.java b/clients/client508/src/main/java/Class68_Sub20_Sub17.java similarity index 100% rename from client508/src/Class68_Sub20_Sub17.java rename to clients/client508/src/main/java/Class68_Sub20_Sub17.java diff --git a/client508/src/Class68_Sub20_Sub18.java b/clients/client508/src/main/java/Class68_Sub20_Sub18.java similarity index 100% rename from client508/src/Class68_Sub20_Sub18.java rename to clients/client508/src/main/java/Class68_Sub20_Sub18.java diff --git a/client508/src/Class68_Sub20_Sub19.java b/clients/client508/src/main/java/Class68_Sub20_Sub19.java similarity index 100% rename from client508/src/Class68_Sub20_Sub19.java rename to clients/client508/src/main/java/Class68_Sub20_Sub19.java diff --git a/client508/src/Class68_Sub20_Sub1_Sub1.java b/clients/client508/src/main/java/Class68_Sub20_Sub1_Sub1.java similarity index 100% rename from client508/src/Class68_Sub20_Sub1_Sub1.java rename to clients/client508/src/main/java/Class68_Sub20_Sub1_Sub1.java diff --git a/client508/src/Class68_Sub20_Sub2.java b/clients/client508/src/main/java/Class68_Sub20_Sub2.java similarity index 100% rename from client508/src/Class68_Sub20_Sub2.java rename to clients/client508/src/main/java/Class68_Sub20_Sub2.java diff --git a/client508/src/Class68_Sub20_Sub3.java b/clients/client508/src/main/java/Class68_Sub20_Sub3.java similarity index 100% rename from client508/src/Class68_Sub20_Sub3.java rename to clients/client508/src/main/java/Class68_Sub20_Sub3.java diff --git a/client508/src/Class68_Sub20_Sub4.java b/clients/client508/src/main/java/Class68_Sub20_Sub4.java similarity index 100% rename from client508/src/Class68_Sub20_Sub4.java rename to clients/client508/src/main/java/Class68_Sub20_Sub4.java diff --git a/client508/src/Class68_Sub20_Sub5.java b/clients/client508/src/main/java/Class68_Sub20_Sub5.java similarity index 100% rename from client508/src/Class68_Sub20_Sub5.java rename to clients/client508/src/main/java/Class68_Sub20_Sub5.java diff --git a/client508/src/Class68_Sub20_Sub6.java b/clients/client508/src/main/java/Class68_Sub20_Sub6.java similarity index 100% rename from client508/src/Class68_Sub20_Sub6.java rename to clients/client508/src/main/java/Class68_Sub20_Sub6.java diff --git a/client508/src/Class68_Sub20_Sub7.java b/clients/client508/src/main/java/Class68_Sub20_Sub7.java similarity index 100% rename from client508/src/Class68_Sub20_Sub7.java rename to clients/client508/src/main/java/Class68_Sub20_Sub7.java diff --git a/client508/src/Class68_Sub20_Sub8.java b/clients/client508/src/main/java/Class68_Sub20_Sub8.java similarity index 100% rename from client508/src/Class68_Sub20_Sub8.java rename to clients/client508/src/main/java/Class68_Sub20_Sub8.java diff --git a/client508/src/Class68_Sub20_Sub9.java b/clients/client508/src/main/java/Class68_Sub20_Sub9.java similarity index 100% rename from client508/src/Class68_Sub20_Sub9.java rename to clients/client508/src/main/java/Class68_Sub20_Sub9.java diff --git a/client508/src/Class68_Sub21.java b/clients/client508/src/main/java/Class68_Sub21.java similarity index 100% rename from client508/src/Class68_Sub21.java rename to clients/client508/src/main/java/Class68_Sub21.java diff --git a/client508/src/Class68_Sub22.java b/clients/client508/src/main/java/Class68_Sub22.java similarity index 100% rename from client508/src/Class68_Sub22.java rename to clients/client508/src/main/java/Class68_Sub22.java diff --git a/client508/src/Class68_Sub23.java b/clients/client508/src/main/java/Class68_Sub23.java similarity index 100% rename from client508/src/Class68_Sub23.java rename to clients/client508/src/main/java/Class68_Sub23.java diff --git a/client508/src/Class68_Sub24.java b/clients/client508/src/main/java/Class68_Sub24.java similarity index 100% rename from client508/src/Class68_Sub24.java rename to clients/client508/src/main/java/Class68_Sub24.java diff --git a/client508/src/Class68_Sub25.java b/clients/client508/src/main/java/Class68_Sub25.java similarity index 100% rename from client508/src/Class68_Sub25.java rename to clients/client508/src/main/java/Class68_Sub25.java diff --git a/client508/src/Class68_Sub26.java b/clients/client508/src/main/java/Class68_Sub26.java similarity index 100% rename from client508/src/Class68_Sub26.java rename to clients/client508/src/main/java/Class68_Sub26.java diff --git a/client508/src/Class68_Sub27.java b/clients/client508/src/main/java/Class68_Sub27.java similarity index 100% rename from client508/src/Class68_Sub27.java rename to clients/client508/src/main/java/Class68_Sub27.java diff --git a/client508/src/Class68_Sub28.java b/clients/client508/src/main/java/Class68_Sub28.java similarity index 100% rename from client508/src/Class68_Sub28.java rename to clients/client508/src/main/java/Class68_Sub28.java diff --git a/client508/src/Class68_Sub28_Sub1.java b/clients/client508/src/main/java/Class68_Sub28_Sub1.java similarity index 100% rename from client508/src/Class68_Sub28_Sub1.java rename to clients/client508/src/main/java/Class68_Sub28_Sub1.java diff --git a/client508/src/Class68_Sub28_Sub2.java b/clients/client508/src/main/java/Class68_Sub28_Sub2.java similarity index 100% rename from client508/src/Class68_Sub28_Sub2.java rename to clients/client508/src/main/java/Class68_Sub28_Sub2.java diff --git a/client508/src/Class68_Sub28_Sub3.java b/clients/client508/src/main/java/Class68_Sub28_Sub3.java similarity index 100% rename from client508/src/Class68_Sub28_Sub3.java rename to clients/client508/src/main/java/Class68_Sub28_Sub3.java diff --git a/client508/src/Class68_Sub28_Sub4.java b/clients/client508/src/main/java/Class68_Sub28_Sub4.java similarity index 100% rename from client508/src/Class68_Sub28_Sub4.java rename to clients/client508/src/main/java/Class68_Sub28_Sub4.java diff --git a/client508/src/Class68_Sub29.java b/clients/client508/src/main/java/Class68_Sub29.java similarity index 100% rename from client508/src/Class68_Sub29.java rename to clients/client508/src/main/java/Class68_Sub29.java diff --git a/client508/src/Class68_Sub3.java b/clients/client508/src/main/java/Class68_Sub3.java similarity index 100% rename from client508/src/Class68_Sub3.java rename to clients/client508/src/main/java/Class68_Sub3.java diff --git a/client508/src/Class68_Sub4.java b/clients/client508/src/main/java/Class68_Sub4.java similarity index 100% rename from client508/src/Class68_Sub4.java rename to clients/client508/src/main/java/Class68_Sub4.java diff --git a/client508/src/Class68_Sub5.java b/clients/client508/src/main/java/Class68_Sub5.java similarity index 100% rename from client508/src/Class68_Sub5.java rename to clients/client508/src/main/java/Class68_Sub5.java diff --git a/client508/src/Class68_Sub6.java b/clients/client508/src/main/java/Class68_Sub6.java similarity index 100% rename from client508/src/Class68_Sub6.java rename to clients/client508/src/main/java/Class68_Sub6.java diff --git a/client508/src/Class68_Sub7.java b/clients/client508/src/main/java/Class68_Sub7.java similarity index 100% rename from client508/src/Class68_Sub7.java rename to clients/client508/src/main/java/Class68_Sub7.java diff --git a/client508/src/Class68_Sub8.java b/clients/client508/src/main/java/Class68_Sub8.java similarity index 100% rename from client508/src/Class68_Sub8.java rename to clients/client508/src/main/java/Class68_Sub8.java diff --git a/client508/src/Class68_Sub9.java b/clients/client508/src/main/java/Class68_Sub9.java similarity index 100% rename from client508/src/Class68_Sub9.java rename to clients/client508/src/main/java/Class68_Sub9.java diff --git a/client508/src/Class69.java b/clients/client508/src/main/java/Class69.java similarity index 100% rename from client508/src/Class69.java rename to clients/client508/src/main/java/Class69.java diff --git a/client508/src/Class7.java b/clients/client508/src/main/java/Class7.java similarity index 100% rename from client508/src/Class7.java rename to clients/client508/src/main/java/Class7.java diff --git a/client508/src/Class70.java b/clients/client508/src/main/java/Class70.java similarity index 100% rename from client508/src/Class70.java rename to clients/client508/src/main/java/Class70.java diff --git a/client508/src/Class71.java b/clients/client508/src/main/java/Class71.java similarity index 100% rename from client508/src/Class71.java rename to clients/client508/src/main/java/Class71.java diff --git a/client508/src/Class71_Sub1.java b/clients/client508/src/main/java/Class71_Sub1.java similarity index 100% rename from client508/src/Class71_Sub1.java rename to clients/client508/src/main/java/Class71_Sub1.java diff --git a/client508/src/Class72.java b/clients/client508/src/main/java/Class72.java similarity index 100% rename from client508/src/Class72.java rename to clients/client508/src/main/java/Class72.java diff --git a/client508/src/Class72_Sub1.java b/clients/client508/src/main/java/Class72_Sub1.java similarity index 100% rename from client508/src/Class72_Sub1.java rename to clients/client508/src/main/java/Class72_Sub1.java diff --git a/client508/src/Class72_Sub2.java b/clients/client508/src/main/java/Class72_Sub2.java similarity index 100% rename from client508/src/Class72_Sub2.java rename to clients/client508/src/main/java/Class72_Sub2.java diff --git a/client508/src/Class73.java b/clients/client508/src/main/java/Class73.java similarity index 100% rename from client508/src/Class73.java rename to clients/client508/src/main/java/Class73.java diff --git a/client508/src/Class74.java b/clients/client508/src/main/java/Class74.java similarity index 100% rename from client508/src/Class74.java rename to clients/client508/src/main/java/Class74.java diff --git a/client508/src/Class75.java b/clients/client508/src/main/java/Class75.java similarity index 100% rename from client508/src/Class75.java rename to clients/client508/src/main/java/Class75.java diff --git a/client508/src/Class75_Sub1.java b/clients/client508/src/main/java/Class75_Sub1.java similarity index 100% rename from client508/src/Class75_Sub1.java rename to clients/client508/src/main/java/Class75_Sub1.java diff --git a/client508/src/Class75_Sub1_Sub1.java b/clients/client508/src/main/java/Class75_Sub1_Sub1.java similarity index 100% rename from client508/src/Class75_Sub1_Sub1.java rename to clients/client508/src/main/java/Class75_Sub1_Sub1.java diff --git a/client508/src/Class75_Sub2.java b/clients/client508/src/main/java/Class75_Sub2.java similarity index 100% rename from client508/src/Class75_Sub2.java rename to clients/client508/src/main/java/Class75_Sub2.java diff --git a/client508/src/Class75_Sub3.java b/clients/client508/src/main/java/Class75_Sub3.java similarity index 100% rename from client508/src/Class75_Sub3.java rename to clients/client508/src/main/java/Class75_Sub3.java diff --git a/client508/src/Class75_Sub3_Sub1.java b/clients/client508/src/main/java/Class75_Sub3_Sub1.java similarity index 100% rename from client508/src/Class75_Sub3_Sub1.java rename to clients/client508/src/main/java/Class75_Sub3_Sub1.java diff --git a/client508/src/Class76.java b/clients/client508/src/main/java/Class76.java similarity index 100% rename from client508/src/Class76.java rename to clients/client508/src/main/java/Class76.java diff --git a/client508/src/Class77.java b/clients/client508/src/main/java/Class77.java similarity index 100% rename from client508/src/Class77.java rename to clients/client508/src/main/java/Class77.java diff --git a/client508/src/Class78.java b/clients/client508/src/main/java/Class78.java similarity index 100% rename from client508/src/Class78.java rename to clients/client508/src/main/java/Class78.java diff --git a/client508/src/Class79.java b/clients/client508/src/main/java/Class79.java similarity index 100% rename from client508/src/Class79.java rename to clients/client508/src/main/java/Class79.java diff --git a/client508/src/Class8.java b/clients/client508/src/main/java/Class8.java similarity index 100% rename from client508/src/Class8.java rename to clients/client508/src/main/java/Class8.java diff --git a/client508/src/Class80.java b/clients/client508/src/main/java/Class80.java similarity index 100% rename from client508/src/Class80.java rename to clients/client508/src/main/java/Class80.java diff --git a/client508/src/Class83.java b/clients/client508/src/main/java/Class83.java similarity index 100% rename from client508/src/Class83.java rename to clients/client508/src/main/java/Class83.java diff --git a/client508/src/Class84.java b/clients/client508/src/main/java/Class84.java similarity index 100% rename from client508/src/Class84.java rename to clients/client508/src/main/java/Class84.java diff --git a/client508/src/Class85.java b/clients/client508/src/main/java/Class85.java similarity index 100% rename from client508/src/Class85.java rename to clients/client508/src/main/java/Class85.java diff --git a/client508/src/Class86.java b/clients/client508/src/main/java/Class86.java similarity index 100% rename from client508/src/Class86.java rename to clients/client508/src/main/java/Class86.java diff --git a/client508/src/Class87.java b/clients/client508/src/main/java/Class87.java similarity index 100% rename from client508/src/Class87.java rename to clients/client508/src/main/java/Class87.java diff --git a/client508/src/Class88.java b/clients/client508/src/main/java/Class88.java similarity index 100% rename from client508/src/Class88.java rename to clients/client508/src/main/java/Class88.java diff --git a/client508/src/Class9.java b/clients/client508/src/main/java/Class9.java similarity index 100% rename from client508/src/Class9.java rename to clients/client508/src/main/java/Class9.java diff --git a/client508/src/Class90.java b/clients/client508/src/main/java/Class90.java similarity index 100% rename from client508/src/Class90.java rename to clients/client508/src/main/java/Class90.java diff --git a/client508/src/Class91.java b/clients/client508/src/main/java/Class91.java similarity index 100% rename from client508/src/Class91.java rename to clients/client508/src/main/java/Class91.java diff --git a/client508/src/Class92.java b/clients/client508/src/main/java/Class92.java similarity index 100% rename from client508/src/Class92.java rename to clients/client508/src/main/java/Class92.java diff --git a/client508/src/Class92_Sub1.java b/clients/client508/src/main/java/Class92_Sub1.java similarity index 100% rename from client508/src/Class92_Sub1.java rename to clients/client508/src/main/java/Class92_Sub1.java diff --git a/client508/src/Class93.java b/clients/client508/src/main/java/Class93.java similarity index 100% rename from client508/src/Class93.java rename to clients/client508/src/main/java/Class93.java diff --git a/client508/src/Class94.java b/clients/client508/src/main/java/Class94.java similarity index 100% rename from client508/src/Class94.java rename to clients/client508/src/main/java/Class94.java diff --git a/client508/src/Class95.java b/clients/client508/src/main/java/Class95.java similarity index 100% rename from client508/src/Class95.java rename to clients/client508/src/main/java/Class95.java diff --git a/client508/src/Class96.java b/clients/client508/src/main/java/Class96.java similarity index 100% rename from client508/src/Class96.java rename to clients/client508/src/main/java/Class96.java diff --git a/client508/src/Class97.java b/clients/client508/src/main/java/Class97.java similarity index 100% rename from client508/src/Class97.java rename to clients/client508/src/main/java/Class97.java diff --git a/client508/src/Class97_Sub1.java b/clients/client508/src/main/java/Class97_Sub1.java similarity index 100% rename from client508/src/Class97_Sub1.java rename to clients/client508/src/main/java/Class97_Sub1.java diff --git a/client508/src/Class98.java b/clients/client508/src/main/java/Class98.java similarity index 100% rename from client508/src/Class98.java rename to clients/client508/src/main/java/Class98.java diff --git a/client508/src/Class99.java b/clients/client508/src/main/java/Class99.java similarity index 100% rename from client508/src/Class99.java rename to clients/client508/src/main/java/Class99.java diff --git a/client508/src/GameException.java b/clients/client508/src/main/java/GameException.java similarity index 100% rename from client508/src/GameException.java rename to clients/client508/src/main/java/GameException.java diff --git a/client508/src/GameSocket.java b/clients/client508/src/main/java/GameSocket.java similarity index 100% rename from client508/src/GameSocket.java rename to clients/client508/src/main/java/GameSocket.java diff --git a/client508/src/GroundData.java b/clients/client508/src/main/java/GroundData.java similarity index 100% rename from client508/src/GroundData.java rename to clients/client508/src/main/java/GroundData.java diff --git a/client508/src/ISAACRandomGen.java b/clients/client508/src/main/java/ISAACRandomGen.java similarity index 100% rename from client508/src/ISAACRandomGen.java rename to clients/client508/src/main/java/ISAACRandomGen.java diff --git a/client508/src/Interface1.java b/clients/client508/src/main/java/Interface1.java similarity index 100% rename from client508/src/Interface1.java rename to clients/client508/src/main/java/Interface1.java diff --git a/client508/src/Interface2.java b/clients/client508/src/main/java/Interface2.java similarity index 100% rename from client508/src/Interface2.java rename to clients/client508/src/main/java/Interface2.java diff --git a/client508/src/Interface3.java b/clients/client508/src/main/java/Interface3.java similarity index 100% rename from client508/src/Interface3.java rename to clients/client508/src/main/java/Interface3.java diff --git a/client508/src/Interface4.java b/clients/client508/src/main/java/Interface4.java similarity index 100% rename from client508/src/Interface4.java rename to clients/client508/src/main/java/Interface4.java diff --git a/client508/src/ItemDef.java b/clients/client508/src/main/java/ItemDef.java similarity index 100% rename from client508/src/ItemDef.java rename to clients/client508/src/main/java/ItemDef.java diff --git a/client508/src/JagSocket.java b/clients/client508/src/main/java/JagSocket.java similarity index 100% rename from client508/src/JagSocket.java rename to clients/client508/src/main/java/JagSocket.java diff --git a/client508/src/Login.java b/clients/client508/src/main/java/Login.java similarity index 100% rename from client508/src/Login.java rename to clients/client508/src/main/java/Login.java diff --git a/client508/src/PacketParser.java b/clients/client508/src/main/java/PacketParser.java similarity index 100% rename from client508/src/PacketParser.java rename to clients/client508/src/main/java/PacketParser.java diff --git a/client508/src/PacketStream.java b/clients/client508/src/main/java/PacketStream.java similarity index 100% rename from client508/src/PacketStream.java rename to clients/client508/src/main/java/PacketStream.java diff --git a/client508/src/PlayerDefinition.java b/clients/client508/src/main/java/PlayerDefinition.java similarity index 100% rename from client508/src/PlayerDefinition.java rename to clients/client508/src/main/java/PlayerDefinition.java diff --git a/client508/src/RSString.java b/clients/client508/src/main/java/RSString.java similarity index 100% rename from client508/src/RSString.java rename to clients/client508/src/main/java/RSString.java diff --git a/client508/src/SignLink.java b/clients/client508/src/main/java/SignLink.java similarity index 100% rename from client508/src/SignLink.java rename to clients/client508/src/main/java/SignLink.java diff --git a/client508/src/Sprite.java b/clients/client508/src/main/java/Sprite.java similarity index 100% rename from client508/src/Sprite.java rename to clients/client508/src/main/java/Sprite.java diff --git a/client508/src/Sprite_Sub1.java b/clients/client508/src/main/java/Sprite_Sub1.java similarity index 100% rename from client508/src/Sprite_Sub1.java rename to clients/client508/src/main/java/Sprite_Sub1.java diff --git a/client508/src/Stream.java b/clients/client508/src/main/java/Stream.java similarity index 100% rename from client508/src/Stream.java rename to clients/client508/src/main/java/Stream.java diff --git a/client508/src/Unknown.java b/clients/client508/src/main/java/Unknown.java similarity index 100% rename from client508/src/Unknown.java rename to clients/client508/src/main/java/Unknown.java diff --git a/client508/src/client.java b/clients/client508/src/main/java/client.java similarity index 100% rename from client508/src/client.java rename to clients/client508/src/main/java/client.java diff --git a/clients/clientRSC/pom.xml b/clients/clientRSC/pom.xml new file mode 100644 index 0000000..303b12a --- /dev/null +++ b/clients/clientRSC/pom.xml @@ -0,0 +1,30 @@ + + + + + + org.moparscape.client + clients + 0.1-SNAPSHOT + + 4.0.0 + clientRSC + \ No newline at end of file diff --git a/clientRSC/src/client.java b/clients/clientRSC/src/main/java/client.java similarity index 100% rename from clientRSC/src/client.java rename to clients/clientRSC/src/main/java/client.java diff --git a/clients/clientRSC/src/main/java/mudclient/AudioReader.java b/clients/clientRSC/src/main/java/mudclient/AudioReader.java new file mode 100755 index 0000000..8126581 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/AudioReader.java @@ -0,0 +1,41 @@ +package mudclient; + +import java.io.InputStream; +import sun.audio.AudioPlayer; + +public class AudioReader extends InputStream { + + public AudioReader() { + AudioPlayer.player.start(this); + } + + public void stop() { + AudioPlayer.player.stop(this); + } + + public void play(byte abyte0[], int i, int j) { + data = abyte0; + offset = i; + length = i + j; + } + + public int read(byte arg0[], int arg1, int arg2) { + for(int i = 0; i < arg2; i++) + if(offset < length) + arg0[arg1 + i] = data[offset++]; + else + arg0[arg1 + i] = -1; + + return arg2; + } + + public int read() { + byte abyte0[] = new byte[1]; + read(abyte0, 0, 1); + return abyte0[0]; + } + + byte data[]; + int offset; + int length; +} diff --git a/clients/clientRSC/src/main/java/mudclient/Camera.java b/clients/clientRSC/src/main/java/mudclient/Camera.java new file mode 100755 index 0000000..6df9829 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/Camera.java @@ -0,0 +1,3161 @@ +package mudclient; + +public class Camera { + + public Camera(GameImage arg0, int arg1, int arg2, int arg3) { + bba = 50; + bbb = new int[bba]; + bbc = new int[bba][256]; + bbf = 5; + zoom1 = 1000; + zoom2 = 1000; + zoom3 = 20; + zoom4 = 10; + bbm = false; + bbn = 1.1000000000000001D; + bca = 1; + bcb = false; + bcf = 100; + bcg = new GameObject[bcf]; + bch = new int[bcf]; + bci = 512; + bcj = 256; + bck = 192; + bcl = 256; + bcm = 256; + bcn = 8; + bda = 4; + bfl = new int[40]; + bfm = new int[40]; + bfn = new int[40]; + bga = new int[40]; + bgb = new int[40]; + bgc = new int[40]; + bgd = false; + bfg = arg0; + bcj = arg0.gameWidth / 2; + bck = arg0.gameHeight / 2; + bfh = arg0.pixels; + currentModelCount = 0; + maxModelCount = arg1; + bdj = new GameObject[maxModelCount]; + bdk = new int[maxModelCount]; + bdl = 0; + bdm = new CameraModel[arg2]; + for(int k = 0; k < arg2; k++) + bdm[k] = new CameraModel(); + + bdn = 0; + highlightedObject = new GameObject(arg3 * 2, arg3); + bea = new int[arg3]; + bee = new int[arg3]; + bef = new int[arg3]; + beb = new int[arg3]; + bec = new int[arg3]; + bed = new int[arg3]; + beg = new int[arg3]; + if(bfe == null) + bfe = new byte[17691]; + bdb = 0; + bdc = 0; + bdd = 0; + bde = 0; + bdf = 0; + bdg = 0; + for(int i1 = 0; i1 < 256; i1++) { + bbl[i1] = (int)(Math.sin((double)i1 * 0.02454369D) * 32768D); + bbl[i1 + 256] = (int)(Math.cos((double)i1 * 0.02454369D) * 32768D); + } + + for(int j1 = 0; j1 < 1024; j1++) { + bbk[j1] = (int)(Math.sin((double)j1 * 0.00613592315D) * 32768D); + bbk[j1 + 1024] = (int)(Math.cos((double)j1 * 0.00613592315D) * 32768D); + } + + } + + public void addModel(GameObject k) { + if(k == null) + System.out.println("Warning tried to add null object!"); + if(currentModelCount < maxModelCount) { + bdk[currentModelCount] = 0; + bdj[currentModelCount++] = k; + } + } + + public void removeModel(GameObject arg0) { + for(int k = 0; k < currentModelCount; k++) + if(bdj[k] == arg0) { + currentModelCount--; + for(int i1 = k; i1 < currentModelCount; i1++) { + bdj[i1] = bdj[i1 + 1]; + bdk[i1] = bdk[i1 + 1]; + } + + } + + } + + public void cleanUp() { + bhb(); + for(int k = 0; k < currentModelCount; k++) + bdj[k] = null; + + currentModelCount = 0; + } + + public void bhb() { + bdn = 0; + highlightedObject.clk(); + } + + public void removeLastUpdates(int k) { + bdn -= k; + highlightedObject.cll(k, k * 2); + if(bdn < 0) + bdn = 0; + } + + public int bhd(int k, int i1, int j1, int k1, int l1, int i2, int j2) { + bea[bdn] = k; + beb[bdn] = i1; + bec[bdn] = j1; + bed[bdn] = k1; + bee[bdn] = l1; + bef[bdn] = i2; + beg[bdn] = 0; + int k2 = highlightedObject.cma(i1, j1, k1); + int l2 = highlightedObject.cma(i1, j1 - i2, k1); + int ai[] = { + k2, l2 + }; + highlightedObject.cmb(2, ai, 0, 0); + highlightedObject.entityType[bdn] = j2; + highlightedObject.chm[bdn++] = 0; + return bdn - 1; + } + + public void bhe(int k) { + highlightedObject.chm[k] = 1; + } + + public void bhf(int k, int i1) { + beg[k] = i1; + } + + public void setMousePosition(int k, int i1) { + bcc = k - bcl; + bcd = i1; + bce = 0; + bcb = true; + } + + public int getOptionCount() { + return bce; + } + + public int[] getHighlightedPlayers() { + return bch; + } + + public GameObject[] getHighlightedObjects() { + return bcg; + } + + public void setCameraSize(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { + bcj = arg2; + bck = arg3; + bcl = arg0; + bcm = arg1; + bci = arg4; + bcn = arg5; + bfi = new CameraVariable[arg3 + arg1]; + for(int k = 0; k < arg3 + arg1; k++) + bfi[k] = new CameraVariable(); + + } + + private void bhl(CameraModel arg0[], int arg1, int arg2) { + if(arg1 < arg2) { + int k = arg1 - 1; + int i1 = arg2 + 1; + int j1 = (arg1 + arg2) / 2; + CameraModel l1 = arg0[j1]; + arg0[j1] = arg0[arg1]; + arg0[arg1] = l1; + int k1 = l1.bkl; + while(k < i1) { + do + i1--; + while(arg0[i1].bkl < k1); + do + k++; + while(arg0[k].bkl > k1); + if(k < i1) { + CameraModel l2 = arg0[k]; + arg0[k] = arg0[i1]; + arg0[i1] = l2; + } + } + bhl(arg0, arg1, i1); + bhl(arg0, i1 + 1, arg2); + } + } + + public void bhm(int arg0, CameraModel arg1[], int arg2) { + for(int k = 0; k <= arg2; k++) { + arg1[k].bld = false; + arg1[k].ble = k; + arg1[k].blf = -1; + } + + int i1 = 0; + do { + while(arg1[i1].bld) + i1++; + if(i1 == arg2) + return; + CameraModel l1 = arg1[i1]; + l1.bld = true; + int j1 = i1; + int k1 = i1 + arg0; + if(k1 >= arg2) + k1 = arg2 - 1; + for(int i2 = k1; i2 >= j1 + 1; i2--) { + CameraModel l2 = arg1[i2]; + if(l1.bkd < l2.bkf && l2.bkd < l1.bkf && l1.bke < l2.bkg && l2.bke < l1.bkg && l1.ble != l2.blf && !bjc(l1, l2) && bjd(l2, l1)) { + bhn(arg1, j1, i2); + if(arg1[i2] != l2) + i2++; + j1 = bgk; + l2.blf = l1.ble; + } + } + + } while(true); + } + + public boolean bhn(CameraModel arg0[], int arg1, int arg2) { + do { + CameraModel l1 = arg0[arg1]; + for(int k = arg1 + 1; k <= arg2; k++) { + CameraModel l2 = arg0[k]; + if(!bjc(l2, l1)) + break; + arg0[arg1] = l2; + arg0[k] = l1; + arg1 = k; + if(arg1 == arg2) { + bgk = arg1; + bgl = arg1 - 1; + return true; + } + } + + CameraModel l3 = arg0[arg2]; + for(int i1 = arg2 - 1; i1 >= arg1; i1--) { + CameraModel l4 = arg0[i1]; + if(!bjc(l3, l4)) + break; + arg0[arg2] = l4; + arg0[i1] = l3; + arg2 = i1; + if(arg1 == arg2) { + bgk = arg2 + 1; + bgl = arg2; + return true; + } + } + + if(arg1 + 1 >= arg2) { + bgk = arg1; + bgl = arg2; + return false; + } + if(!bhn(arg0, arg1 + 1, arg2)) { + bgk = arg1; + return false; + } + arg2 = bgl; + } while(true); + } + + public void bia(int k, int i1, int j1) { + int k1 = -bde + 1024 & 0x3ff; + int l1 = -bdf + 1024 & 0x3ff; + int i2 = -bdg + 1024 & 0x3ff; + if(i2 != 0) { + int j2 = bbk[i2]; + int i3 = bbk[i2 + 1024]; + int l3 = i1 * j2 + k * i3 >> 15; + i1 = i1 * i3 - k * j2 >> 15; + k = l3; + } + if(k1 != 0) { + int k2 = bbk[k1]; + int j3 = bbk[k1 + 1024]; + int i4 = i1 * j3 - j1 * k2 >> 15; + j1 = i1 * k2 + j1 * j3 >> 15; + i1 = i4; + } + if(l1 != 0) { + int l2 = bbk[l1]; + int k3 = bbk[l1 + 1024]; + int j4 = j1 * l2 + k * k3 >> 15; + j1 = j1 * k3 - k * l2 >> 15; + k = j4; + } + if(k < bge) + bge = k; + if(k > bgf) + bgf = k; + if(i1 < bgg) + bgg = i1; + if(i1 > bgh) + bgh = i1; + if(j1 < bgi) + bgi = j1; + if(j1 > bgj) + bgj = j1; + } + + public void finishCamera() { + bgd = bfg.interlace; + int k4 = bcj * zoom1 >> bcn; + int l4 = bck * zoom1 >> bcn; + bge = 0; + bgf = 0; + bgg = 0; + bgh = 0; + bgi = 0; + bgj = 0; + bia(-k4, -l4, zoom1); + bia(-k4, l4, zoom1); + bia(k4, -l4, zoom1); + bia(k4, l4, zoom1); + bia(-bcj, -bck, 0); + bia(-bcj, bck, 0); + bia(bcj, -bck, 0); + bia(bcj, bck, 0); + bge += bdb; + bgf += bdb; + bgg += bdc; + bgh += bdc; + bgi += bdd; + bgj += bdd; + bdj[currentModelCount] = highlightedObject; + highlightedObject.cgn = 2; + for(int k1 = 0; k1 < currentModelCount; k1++) + bdj[k1].cnh(bdb, bdc, bdd, bde, bdf, bdg, bcn, bbf); + + bdj[currentModelCount].cnh(bdb, bdc, bdd, bde, bdf, bdg, bcn, bbf); + bdl = 0; + for(int i5 = 0; i5 < currentModelCount; i5++) { + GameObject k = bdj[i5]; + if(k.cha) { + for(int l1 = 0; l1 < k.cgb; l1++) { + int j5 = k.cgc[l1]; + int ai1[] = k.cgd[l1]; + boolean flag = false; + for(int i6 = 0; i6 < j5; i6++) { + int k2 = k.cfk[ai1[i6]]; + if(k2 <= bbf || k2 >= zoom1) + continue; + flag = true; + break; + } + + if(flag) { + int j3 = 0; + for(int j7 = 0; j7 < j5; j7++) { + int l2 = k.cfl[ai1[j7]]; + if(l2 > -bcj) + j3 |= 1; + if(l2 < bcj) + j3 |= 2; + if(j3 == 3) + break; + } + + if(j3 == 3) { + int k3 = 0; + for(int k8 = 0; k8 < j5; k8++) { + int i3 = k.cfm[ai1[k8]]; + if(i3 > -bck) + k3 |= 1; + if(i3 < bck) + k3 |= 2; + if(k3 == 3) + break; + } + + if(k3 == 3) { + CameraModel l9 = bdm[bdl]; + l9.object = k; + l9.bkk = l1; + bja(bdl); + int l10; + if(l9.blb < 0) + l10 = k.cge[l1]; + else + l10 = k.cgf[l1]; + if(l10 != 0xbc614e) { + int l3 = 0; + for(int l11 = 0; l11 < j5; l11++) + l3 += k.cfk[ai1[l11]]; + + l9.bkl = l3 / j5 + k.cgm; + l9.blc = l10; + bdl++; + } + } + } + } + } + + } + } + + GameObject i1 = highlightedObject; + if(i1.cha) { + for(int i2 = 0; i2 < i1.cgb; i2++) { + int ai[] = i1.cgd[i2]; + int l5 = ai[0]; + int j6 = i1.cfl[l5]; + int k7 = i1.cfm[l5]; + int l8 = i1.cfk[l5]; + if(l8 > bbf && l8 < zoom2) { + int i10 = (bee[i2] << bcn) / l8; + int i11 = (bef[i2] << bcn) / l8; + if(j6 - i10 / 2 <= bcj && j6 + i10 / 2 >= -bcj && k7 - i11 <= bck && k7 >= -bck) { + CameraModel l12 = bdm[bdl]; + l12.object = i1; + l12.bkk = i2; + bjb(bdl); + l12.bkl = (l8 + i1.cfk[ai[1]]) / 2; + bdl++; + } + } + } + + } + if(bdl == 0) + return; + bbe = bdl; + bhl(bdm, 0, bdl - 1); + bhm(100, bdm, bdl); + for(int k5 = 0; k5 < bdl; k5++) { + CameraModel l6 = bdm[k5]; + GameObject j1 = l6.object; + int j2 = l6.bkk; + if(j1 == highlightedObject) { + int ai2[] = j1.cgd[j2]; + int l7 = ai2[0]; + int i9 = j1.cfl[l7]; + int j10 = j1.cfm[l7]; + int j11 = j1.cfk[l7]; + int i12 = (bee[j2] << bcn) / j11; + int k12 = (bef[j2] << bcn) / j11; + int j13 = j10 - j1.cfm[ai2[1]]; + int k13 = ((j1.cfl[ai2[1]] - i9) * j13) / k12; + k13 = j1.cfl[ai2[1]] - i9; + int i14 = i9 - i12 / 2; + int k14 = (bcm + j10) - k12; + bfg.drawVisibleEntity(i14 + bcl, k14, i12, k12, bea[j2], k13, (256 << bcn) / j11); + if(bcb && bce < bcf) { + i14 += (beg[j2] << bcn) / j11; + if(bcd >= k14 && bcd <= k14 + k12 && bcc >= i14 && bcc <= i14 + i12 && !j1.cic && j1.chm[j2] == 0) { + bcg[bce] = j1; + bch[bce] = j2; + bce++; + } + } + } else { + int k10 = 0; + int j12 = 0; + int i13 = j1.cgc[j2]; + int ai3[] = j1.cgd[j2]; + if(j1.cgi[j2] != 0xbc614e) + if(l6.blb < 0) + j12 = j1.clf - j1.cgi[j2]; + else + j12 = j1.clf + j1.cgi[j2]; + for(int l13 = 0; l13 < i13; l13++) { + int i4 = ai3[l13]; + bga[l13] = j1.cfi[i4]; + bgb[l13] = j1.cfj[i4]; + bgc[l13] = j1.cfk[i4]; + if(j1.cgi[j2] == 0xbc614e) + if(l6.blb < 0) + j12 = (j1.clf - j1.cfn[i4]) + j1.cga[i4]; + else + j12 = j1.clf + j1.cfn[i4] + j1.cga[i4]; + if(j1.cfk[i4] >= bbf) { + bfl[k10] = j1.cfl[i4]; + bfm[k10] = j1.cfm[i4]; + bfn[k10] = j12; + if(j1.cfk[i4] > zoom4) + bfn[k10] += (j1.cfk[i4] - zoom4) / zoom3; + k10++; + } else { + int k11; + if(l13 == 0) + k11 = ai3[i13 - 1]; + else + k11 = ai3[l13 - 1]; + if(j1.cfk[k11] >= bbf) { + int j9 = j1.cfk[i4] - j1.cfk[k11]; + int k6 = j1.cfi[i4] - ((j1.cfi[i4] - j1.cfi[k11]) * (j1.cfk[i4] - bbf)) / j9; + int i8 = j1.cfj[i4] - ((j1.cfj[i4] - j1.cfj[k11]) * (j1.cfk[i4] - bbf)) / j9; + bfl[k10] = (k6 << bcn) / bbf; + bfm[k10] = (i8 << bcn) / bbf; + bfn[k10] = j12; + k10++; + } + if(l13 == i13 - 1) + k11 = ai3[0]; + else + k11 = ai3[l13 + 1]; + if(j1.cfk[k11] >= bbf) { + int k9 = j1.cfk[i4] - j1.cfk[k11]; + int i7 = j1.cfi[i4] - ((j1.cfi[i4] - j1.cfi[k11]) * (j1.cfk[i4] - bbf)) / k9; + int j8 = j1.cfj[i4] - ((j1.cfj[i4] - j1.cfj[k11]) * (j1.cfk[i4] - bbf)) / k9; + bfl[k10] = (i7 << bcn) / bbf; + bfm[k10] = (j8 << bcn) / bbf; + bfn[k10] = j12; + k10++; + } + } + } + + for(int j14 = 0; j14 < i13; j14++) { + if(bfn[j14] < 0) + bfn[j14] = 0; + else + if(bfn[j14] > 255) + bfn[j14] = 255; + if(l6.blc >= 0) + if(bel[l6.blc] == 1) + bfn[j14] <<= 9; + else + bfn[j14] <<= 6; + } + + bic(0, 0, 0, 0, k10, bfl, bfm, bfn, j1, j2); + if(bfk > bfj) + bid(0, 0, i13, bga, bgb, bgc, l6.blc, j1); + } + } + + bcb = false; + } + + private void bic(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5[], int arg6[], + int arg7[], GameObject arg8, int arg9) { + if(arg4 == 3) { + int k = arg6[0] + bcm; + int l1 = arg6[1] + bcm; + int l2 = arg6[2] + bcm; + int l3 = arg5[0]; + int i5 = arg5[1]; + int k6 = arg5[2]; + int i8 = arg7[0]; + int k9 = arg7[1]; + int k10 = arg7[2]; + int k11 = (bcm + bck) - 1; + int i12 = 0; + int k12 = 0; + int i13 = 0; + int k13 = 0; + int i14 = 0xbc614e; + int k14 = 0xff439eb2; + if(l2 != k) { + k12 = (k6 - l3 << 8) / (l2 - k); + k13 = (k10 - i8 << 8) / (l2 - k); + if(k < l2) { + i12 = l3 << 8; + i13 = i8 << 8; + i14 = k; + k14 = l2; + } else { + i12 = k6 << 8; + i13 = k10 << 8; + i14 = l2; + k14 = k; + } + if(i14 < 0) { + i12 -= k12 * i14; + i13 -= k13 * i14; + i14 = 0; + } + if(k14 > k11) + k14 = k11; + } + int i15 = 0; + int k15 = 0; + int i16 = 0; + int k16 = 0; + int i17 = 0xbc614e; + int k17 = 0xff439eb2; + if(l1 != k) { + k15 = (i5 - l3 << 8) / (l1 - k); + k16 = (k9 - i8 << 8) / (l1 - k); + if(k < l1) { + i15 = l3 << 8; + i16 = i8 << 8; + i17 = k; + k17 = l1; + } else { + i15 = i5 << 8; + i16 = k9 << 8; + i17 = l1; + k17 = k; + } + if(i17 < 0) { + i15 -= k15 * i17; + i16 -= k16 * i17; + i17 = 0; + } + if(k17 > k11) + k17 = k11; + } + int i18 = 0; + int k18 = 0; + int i19 = 0; + int k19 = 0; + int i20 = 0xbc614e; + int k20 = 0xff439eb2; + if(l2 != l1) { + k18 = (k6 - i5 << 8) / (l2 - l1); + k19 = (k10 - k9 << 8) / (l2 - l1); + if(l1 < l2) { + i18 = i5 << 8; + i19 = k9 << 8; + i20 = l1; + k20 = l2; + } else { + i18 = k6 << 8; + i19 = k10 << 8; + i20 = l2; + k20 = l1; + } + if(i20 < 0) { + i18 -= k18 * i20; + i19 -= k19 * i20; + i20 = 0; + } + if(k20 > k11) + k20 = k11; + } + bfj = i14; + if(i17 < bfj) + bfj = i17; + if(i20 < bfj) + bfj = i20; + bfk = k14; + if(k17 > bfk) + bfk = k17; + if(k20 > bfk) + bfk = k20; + int i21 = 0; + for(arg2 = bfj; arg2 < bfk; arg2++) { + if(arg2 >= i14 && arg2 < k14) { + arg0 = arg1 = i12; + arg3 = i21 = i13; + i12 += k12; + i13 += k13; + } else { + arg0 = 0xa0000; + arg1 = 0xfff60000; + } + if(arg2 >= i17 && arg2 < k17) { + if(i15 < arg0) { + arg0 = i15; + arg3 = i16; + } + if(i15 > arg1) { + arg1 = i15; + i21 = i16; + } + i15 += k15; + i16 += k16; + } + if(arg2 >= i20 && arg2 < k20) { + if(i18 < arg0) { + arg0 = i18; + arg3 = i19; + } + if(i18 > arg1) { + arg1 = i18; + i21 = i19; + } + i18 += k18; + i19 += k19; + } + CameraVariable m7 = bfi[arg2]; + m7.flm = arg0; + m7.fln = arg1; + m7.fma = arg3; + m7.fmb = i21; + } + + if(bfj < bcm - bck) + bfj = bcm - bck; + } else + if(arg4 == 4) { + int i1 = arg6[0] + bcm; + int i2 = arg6[1] + bcm; + int i3 = arg6[2] + bcm; + int i4 = arg6[3] + bcm; + int j5 = arg5[0]; + int l6 = arg5[1]; + int j8 = arg5[2]; + int l9 = arg5[3]; + int l10 = arg7[0]; + int l11 = arg7[1]; + int j12 = arg7[2]; + int l12 = arg7[3]; + int j13 = (bcm + bck) - 1; + int l13 = 0; + int j14 = 0; + int l14 = 0; + int j15 = 0; + int l15 = 0xbc614e; + int j16 = 0xff439eb2; + if(i4 != i1) { + j14 = (l9 - j5 << 8) / (i4 - i1); + j15 = (l12 - l10 << 8) / (i4 - i1); + if(i1 < i4) { + l13 = j5 << 8; + l14 = l10 << 8; + l15 = i1; + j16 = i4; + } else { + l13 = l9 << 8; + l14 = l12 << 8; + l15 = i4; + j16 = i1; + } + if(l15 < 0) { + l13 -= j14 * l15; + l14 -= j15 * l15; + l15 = 0; + } + if(j16 > j13) + j16 = j13; + } + int l16 = 0; + int j17 = 0; + int l17 = 0; + int j18 = 0; + int l18 = 0xbc614e; + int j19 = 0xff439eb2; + if(i2 != i1) { + j17 = (l6 - j5 << 8) / (i2 - i1); + j18 = (l11 - l10 << 8) / (i2 - i1); + if(i1 < i2) { + l16 = j5 << 8; + l17 = l10 << 8; + l18 = i1; + j19 = i2; + } else { + l16 = l6 << 8; + l17 = l11 << 8; + l18 = i2; + j19 = i1; + } + if(l18 < 0) { + l16 -= j17 * l18; + l17 -= j18 * l18; + l18 = 0; + } + if(j19 > j13) + j19 = j13; + } + int l19 = 0; + int j20 = 0; + int l20 = 0; + int j21 = 0; + int k21 = 0xbc614e; + int l21 = 0xff439eb2; + if(i3 != i2) { + j20 = (j8 - l6 << 8) / (i3 - i2); + j21 = (j12 - l11 << 8) / (i3 - i2); + if(i2 < i3) { + l19 = l6 << 8; + l20 = l11 << 8; + k21 = i2; + l21 = i3; + } else { + l19 = j8 << 8; + l20 = j12 << 8; + k21 = i3; + l21 = i2; + } + if(k21 < 0) { + l19 -= j20 * k21; + l20 -= j21 * k21; + k21 = 0; + } + if(l21 > j13) + l21 = j13; + } + int i22 = 0; + int j22 = 0; + int k22 = 0; + int l22 = 0; + int i23 = 0xbc614e; + int j23 = 0xff439eb2; + if(i4 != i3) { + j22 = (l9 - j8 << 8) / (i4 - i3); + l22 = (l12 - j12 << 8) / (i4 - i3); + if(i3 < i4) { + i22 = j8 << 8; + k22 = j12 << 8; + i23 = i3; + j23 = i4; + } else { + i22 = l9 << 8; + k22 = l12 << 8; + i23 = i4; + j23 = i3; + } + if(i23 < 0) { + i22 -= j22 * i23; + k22 -= l22 * i23; + i23 = 0; + } + if(j23 > j13) + j23 = j13; + } + bfj = l15; + if(l18 < bfj) + bfj = l18; + if(k21 < bfj) + bfj = k21; + if(i23 < bfj) + bfj = i23; + bfk = j16; + if(j19 > bfk) + bfk = j19; + if(l21 > bfk) + bfk = l21; + if(j23 > bfk) + bfk = j23; + int k23 = 0; + for(arg2 = bfj; arg2 < bfk; arg2++) { + if(arg2 >= l15 && arg2 < j16) { + arg0 = arg1 = l13; + arg3 = k23 = l14; + l13 += j14; + l14 += j15; + } else { + arg0 = 0xa0000; + arg1 = 0xfff60000; + } + if(arg2 >= l18 && arg2 < j19) { + if(l16 < arg0) { + arg0 = l16; + arg3 = l17; + } + if(l16 > arg1) { + arg1 = l16; + k23 = l17; + } + l16 += j17; + l17 += j18; + } + if(arg2 >= k21 && arg2 < l21) { + if(l19 < arg0) { + arg0 = l19; + arg3 = l20; + } + if(l19 > arg1) { + arg1 = l19; + k23 = l20; + } + l19 += j20; + l20 += j21; + } + if(arg2 >= i23 && arg2 < j23) { + if(i22 < arg0) { + arg0 = i22; + arg3 = k22; + } + if(i22 > arg1) { + arg1 = i22; + k23 = k22; + } + i22 += j22; + k22 += l22; + } + CameraVariable m8 = bfi[arg2]; + m8.flm = arg0; + m8.fln = arg1; + m8.fma = arg3; + m8.fmb = k23; + } + + if(bfj < bcm - bck) + bfj = bcm - bck; + } else { + bfk = bfj = arg6[0] += bcm; + for(arg2 = 1; arg2 < arg4; arg2++) { + int j1; + if((j1 = arg6[arg2] += bcm) < bfj) + bfj = j1; + else + if(j1 > bfk) + bfk = j1; + } + + if(bfj < bcm - bck) + bfj = bcm - bck; + if(bfk >= bcm + bck) + bfk = (bcm + bck) - 1; + if(bfj >= bfk) + return; + for(arg2 = bfj; arg2 < bfk; arg2++) { + CameraVariable m1 = bfi[arg2]; + m1.flm = 0xa0000; + m1.fln = 0xfff60000; + } + + int k1 = arg4 - 1; + int j2 = arg6[0]; + int j3 = arg6[k1]; + if(j2 < j3) { + int j4 = arg5[0] << 8; + int k5 = (arg5[k1] - arg5[0] << 8) / (j3 - j2); + int i7 = arg7[0] << 8; + int k8 = (arg7[k1] - arg7[0] << 8) / (j3 - j2); + if(j2 < 0) { + j4 -= k5 * j2; + i7 -= k8 * j2; + j2 = 0; + } + if(j3 > bfk) + j3 = bfk; + for(arg2 = j2; arg2 <= j3; arg2++) { + CameraVariable m3 = bfi[arg2]; + m3.flm = m3.fln = j4; + m3.fma = m3.fmb = i7; + j4 += k5; + i7 += k8; + } + + } else + if(j2 > j3) { + int k4 = arg5[k1] << 8; + int l5 = (arg5[0] - arg5[k1] << 8) / (j2 - j3); + int j7 = arg7[k1] << 8; + int l8 = (arg7[0] - arg7[k1] << 8) / (j2 - j3); + if(j3 < 0) { + k4 -= l5 * j3; + j7 -= l8 * j3; + j3 = 0; + } + if(j2 > bfk) + j2 = bfk; + for(arg2 = j3; arg2 <= j2; arg2++) { + CameraVariable m4 = bfi[arg2]; + m4.flm = m4.fln = k4; + m4.fma = m4.fmb = j7; + k4 += l5; + j7 += l8; + } + + } + for(arg2 = 0; arg2 < k1; arg2++) { + int l4 = arg2 + 1; + int k2 = arg6[arg2]; + int k3 = arg6[l4]; + if(k2 < k3) { + int i6 = arg5[arg2] << 8; + int k7 = (arg5[l4] - arg5[arg2] << 8) / (k3 - k2); + int i9 = arg7[arg2] << 8; + int i10 = (arg7[l4] - arg7[arg2] << 8) / (k3 - k2); + if(k2 < 0) { + i6 -= k7 * k2; + i9 -= i10 * k2; + k2 = 0; + } + if(k3 > bfk) + k3 = bfk; + for(int i11 = k2; i11 <= k3; i11++) { + CameraVariable m5 = bfi[i11]; + if(i6 < m5.flm) { + m5.flm = i6; + m5.fma = i9; + } + if(i6 > m5.fln) { + m5.fln = i6; + m5.fmb = i9; + } + i6 += k7; + i9 += i10; + } + + } else + if(k2 > k3) { + int j6 = arg5[l4] << 8; + int l7 = (arg5[arg2] - arg5[l4] << 8) / (k2 - k3); + int j9 = arg7[l4] << 8; + int j10 = (arg7[arg2] - arg7[l4] << 8) / (k2 - k3); + if(k3 < 0) { + j6 -= l7 * k3; + j9 -= j10 * k3; + k3 = 0; + } + if(k2 > bfk) + k2 = bfk; + for(int j11 = k3; j11 <= k2; j11++) { + CameraVariable m6 = bfi[j11]; + if(j6 < m6.flm) { + m6.flm = j6; + m6.fma = j9; + } + if(j6 > m6.fln) { + m6.fln = j6; + m6.fmb = j9; + } + j6 += l7; + j9 += j10; + } + + } + } + + if(bfj < bcm - bck) + bfj = bcm - bck; + } + if(bcb && bce < bcf && bcd >= bfj && bcd < bfk) { + CameraVariable m2 = bfi[bcd]; + if(bcc >= m2.flm >> 8 && bcc <= m2.fln >> 8 && m2.flm <= m2.fln && !arg8.cic && arg8.chm[arg9] == 0) { + bcg[bce] = arg8; + bch[bce] = arg9; + bce++; + } + } + } + + private void bid(int arg0, int arg1, int arg2, int arg3[], int arg4[], int arg5[], int arg6, + GameObject arg7) { + if(arg6 == -2) + return; + if(arg6 >= 0) { + if(arg6 >= bei) + arg6 = 0; + bjg(arg6); + int k = arg3[0]; + int j1 = arg4[0]; + int i2 = arg5[0]; + int l2 = k - arg3[1]; + int j3 = j1 - arg4[1]; + int l3 = i2 - arg5[1]; + arg2--; + int l5 = arg3[arg2] - k; + int i7 = arg4[arg2] - j1; + int j8 = arg5[arg2] - i2; + if(bel[arg6] == 1) { + int k9 = l5 * j1 - i7 * k << 12; + int j10 = i7 * i2 - j8 * j1 << (5 - bcn) + 7 + 4; + int l10 = j8 * k - l5 * i2 << (5 - bcn) + 7; + int j11 = l2 * j1 - j3 * k << 12; + int l11 = j3 * i2 - l3 * j1 << (5 - bcn) + 7 + 4; + int j12 = l3 * k - l2 * i2 << (5 - bcn) + 7; + int l12 = j3 * l5 - l2 * i7 << 5; + int j13 = l3 * i7 - j3 * j8 << (5 - bcn) + 4; + int l13 = l2 * j8 - l3 * l5 >> bcn - 5; + int j14 = j10 >> 4; + int l14 = l11 >> 4; + int j15 = j13 >> 4; + int l15 = bfj - bcm; + int j16 = bci; + int l16 = bcl + bfj * j16; + byte byte1 = 1; + k9 += l10 * l15; + j11 += j12 * l15; + l12 += l13 * l15; + if(bgd) { + if((bfj & 1) == 1) { + bfj++; + k9 += l10; + j11 += j12; + l12 += l13; + l16 += j16; + } + l10 <<= 1; + j12 <<= 1; + l13 <<= 1; + j16 <<= 1; + byte1 = 2; + } + if(arg7.chi) { + for(arg0 = bfj; arg0 < bfk; arg0 += byte1) { + CameraVariable m4 = bfi[arg0]; + arg1 = m4.flm >> 8; + int j17 = m4.fln >> 8; + int j20 = j17 - arg1; + if(j20 <= 0) { + k9 += l10; + j11 += j12; + l12 += l13; + l16 += j16; + } else { + int l21 = m4.fma; + int j23 = (m4.fmb - l21) / j20; + if(arg1 < -bcj) { + l21 += (-bcj - arg1) * j23; + arg1 = -bcj; + j20 = j17 - arg1; + } + if(j17 > bcj) { + int k17 = bcj; + j20 = k17 - arg1; + } + bif(bfh, ben[arg6], 0, 0, k9 + j14 * arg1, j11 + l14 * arg1, l12 + j15 * arg1, j10, l11, j13, j20, l16 + arg1, l21, j23 << 2); + k9 += l10; + j11 += j12; + l12 += l13; + l16 += j16; + } + } + + return; + } + if(!bfa[arg6]) { + for(arg0 = bfj; arg0 < bfk; arg0 += byte1) { + CameraVariable m5 = bfi[arg0]; + arg1 = m5.flm >> 8; + int l17 = m5.fln >> 8; + int k20 = l17 - arg1; + if(k20 <= 0) { + k9 += l10; + j11 += j12; + l12 += l13; + l16 += j16; + } else { + int i22 = m5.fma; + int k23 = (m5.fmb - i22) / k20; + if(arg1 < -bcj) { + i22 += (-bcj - arg1) * k23; + arg1 = -bcj; + k20 = l17 - arg1; + } + if(l17 > bcj) { + int i18 = bcj; + k20 = i18 - arg1; + } + bie(bfh, ben[arg6], 0, 0, k9 + j14 * arg1, j11 + l14 * arg1, l12 + j15 * arg1, j10, l11, j13, k20, l16 + arg1, i22, k23 << 2); + k9 += l10; + j11 += j12; + l12 += l13; + l16 += j16; + } + } + + return; + } + for(arg0 = bfj; arg0 < bfk; arg0 += byte1) { + CameraVariable m6 = bfi[arg0]; + arg1 = m6.flm >> 8; + int j18 = m6.fln >> 8; + int l20 = j18 - arg1; + if(l20 <= 0) { + k9 += l10; + j11 += j12; + l12 += l13; + l16 += j16; + } else { + int j22 = m6.fma; + int l23 = (m6.fmb - j22) / l20; + if(arg1 < -bcj) { + j22 += (-bcj - arg1) * l23; + arg1 = -bcj; + l20 = j18 - arg1; + } + if(j18 > bcj) { + int k18 = bcj; + l20 = k18 - arg1; + } + big(bfh, 0, 0, 0, ben[arg6], k9 + j14 * arg1, j11 + l14 * arg1, l12 + j15 * arg1, j10, l11, j13, l20, l16 + arg1, j22, l23); + k9 += l10; + j11 += j12; + l12 += l13; + l16 += j16; + } + } + + return; + } + int l9 = l5 * j1 - i7 * k << 11; + int k10 = i7 * i2 - j8 * j1 << (5 - bcn) + 6 + 4; + int i11 = j8 * k - l5 * i2 << (5 - bcn) + 6; + int k11 = l2 * j1 - j3 * k << 11; + int i12 = j3 * i2 - l3 * j1 << (5 - bcn) + 6 + 4; + int k12 = l3 * k - l2 * i2 << (5 - bcn) + 6; + int i13 = j3 * l5 - l2 * i7 << 5; + int k13 = l3 * i7 - j3 * j8 << (5 - bcn) + 4; + int i14 = l2 * j8 - l3 * l5 >> bcn - 5; + int k14 = k10 >> 4; + int i15 = i12 >> 4; + int k15 = k13 >> 4; + int i16 = bfj - bcm; + int k16 = bci; + int i17 = bcl + bfj * k16; + byte byte2 = 1; + l9 += i11 * i16; + k11 += k12 * i16; + i13 += i14 * i16; + if(bgd) { + if((bfj & 1) == 1) { + bfj++; + l9 += i11; + k11 += k12; + i13 += i14; + i17 += k16; + } + i11 <<= 1; + k12 <<= 1; + i14 <<= 1; + k16 <<= 1; + byte2 = 2; + } + if(arg7.chi) { + for(arg0 = bfj; arg0 < bfk; arg0 += byte2) { + CameraVariable m7 = bfi[arg0]; + arg1 = m7.flm >> 8; + int l18 = m7.fln >> 8; + int i21 = l18 - arg1; + if(i21 <= 0) { + l9 += i11; + k11 += k12; + i13 += i14; + i17 += k16; + } else { + int k22 = m7.fma; + int i24 = (m7.fmb - k22) / i21; + if(arg1 < -bcj) { + k22 += (-bcj - arg1) * i24; + arg1 = -bcj; + i21 = l18 - arg1; + } + if(l18 > bcj) { + int i19 = bcj; + i21 = i19 - arg1; + } + bii(bfh, ben[arg6], 0, 0, l9 + k14 * arg1, k11 + i15 * arg1, i13 + k15 * arg1, k10, i12, k13, i21, i17 + arg1, k22, i24); + l9 += i11; + k11 += k12; + i13 += i14; + i17 += k16; + } + } + + return; + } + if(!bfa[arg6]) { + for(arg0 = bfj; arg0 < bfk; arg0 += byte2) { + CameraVariable m8 = bfi[arg0]; + arg1 = m8.flm >> 8; + int j19 = m8.fln >> 8; + int j21 = j19 - arg1; + if(j21 <= 0) { + l9 += i11; + k11 += k12; + i13 += i14; + i17 += k16; + } else { + int l22 = m8.fma; + int j24 = (m8.fmb - l22) / j21; + if(arg1 < -bcj) { + l22 += (-bcj - arg1) * j24; + arg1 = -bcj; + j21 = j19 - arg1; + } + if(j19 > bcj) { + int k19 = bcj; + j21 = k19 - arg1; + } + bih(bfh, ben[arg6], 0, 0, l9 + k14 * arg1, k11 + i15 * arg1, i13 + k15 * arg1, k10, i12, k13, j21, i17 + arg1, l22, j24); + l9 += i11; + k11 += k12; + i13 += i14; + i17 += k16; + } + } + + return; + } + for(arg0 = bfj; arg0 < bfk; arg0 += byte2) { + CameraVariable m9 = bfi[arg0]; + arg1 = m9.flm >> 8; + int l19 = m9.fln >> 8; + int k21 = l19 - arg1; + if(k21 <= 0) { + l9 += i11; + k11 += k12; + i13 += i14; + i17 += k16; + } else { + int i23 = m9.fma; + int k24 = (m9.fmb - i23) / k21; + if(arg1 < -bcj) { + i23 += (-bcj - arg1) * k24; + arg1 = -bcj; + k21 = l19 - arg1; + } + if(l19 > bcj) { + int i20 = bcj; + k21 = i20 - arg1; + } + bij(bfh, 0, 0, 0, ben[arg6], l9 + k14 * arg1, k11 + i15 * arg1, i13 + k15 * arg1, k10, i12, k13, k21, i17 + arg1, i23, k24); + l9 += i11; + k11 += k12; + i13 += i14; + i17 += k16; + } + } + + return; + } + for(int i1 = 0; i1 < bba; i1++) { + if(bbb[i1] == arg6) { + bbd = bbc[i1]; + break; + } + if(i1 == bba - 1) { + int k1 = (int)(Math.random() * (double)bba); + bbb[k1] = arg6; + arg6 = -1 - arg6; + int j2 = (arg6 >> 10 & 0x1f) * 8; + int i3 = (arg6 >> 5 & 0x1f) * 8; + int k3 = (arg6 & 0x1f) * 8; + for(int i4 = 0; i4 < 256; i4++) { + int i6 = i4 * i4; + int j7 = (j2 * i6) / 0x10000; + int k8 = (i3 * i6) / 0x10000; + int i10 = (k3 * i6) / 0x10000; + bbc[k1][255 - i4] = (j7 << 16) + (k8 << 8) + i10; + } + + bbd = bbc[k1]; + } + } + + int l1 = bci; + int k2 = bcl + bfj * l1; + byte byte0 = 1; + if(bgd) { + if((bfj & 1) == 1) { + bfj++; + k2 += l1; + } + l1 <<= 1; + byte0 = 2; + } + if(arg7.isGiantCrystal) { + for(arg0 = bfj; arg0 < bfk; arg0 += byte0) { + CameraVariable m1 = bfi[arg0]; + arg1 = m1.flm >> 8; + int j4 = m1.fln >> 8; + int j6 = j4 - arg1; + if(j6 <= 0) { + k2 += l1; + } else { + int k7 = m1.fma; + int l8 = (m1.fmb - k7) / j6; + if(arg1 < -bcj) { + k7 += (-bcj - arg1) * l8; + arg1 = -bcj; + j6 = j4 - arg1; + } + if(j4 > bcj) { + int k4 = bcj; + j6 = k4 - arg1; + } + bil(bfh, -j6, k2 + arg1, 0, bbd, k7, l8); + k2 += l1; + } + } + + return; + } + if(bbm) { + for(arg0 = bfj; arg0 < bfk; arg0 += byte0) { + CameraVariable m2 = bfi[arg0]; + arg1 = m2.flm >> 8; + int l4 = m2.fln >> 8; + int k6 = l4 - arg1; + if(k6 <= 0) { + k2 += l1; + } else { + int l7 = m2.fma; + int i9 = (m2.fmb - l7) / k6; + if(arg1 < -bcj) { + l7 += (-bcj - arg1) * i9; + arg1 = -bcj; + k6 = l4 - arg1; + } + if(l4 > bcj) { + int i5 = bcj; + k6 = i5 - arg1; + } + bik(bfh, -k6, k2 + arg1, 0, bbd, l7, i9); + k2 += l1; + } + } + + return; + } + for(arg0 = bfj; arg0 < bfk; arg0 += byte0) { + CameraVariable m3 = bfi[arg0]; + arg1 = m3.flm >> 8; + int j5 = m3.fln >> 8; + int l6 = j5 - arg1; + if(l6 <= 0) { + k2 += l1; + } else { + int i8 = m3.fma; + int j9 = (m3.fmb - i8) / l6; + if(arg1 < -bcj) { + i8 += (-bcj - arg1) * j9; + arg1 = -bcj; + l6 = j5 - arg1; + } + if(j5 > bcj) { + int k5 = bcj; + l6 = k5 - arg1; + } + bim(bfh, -l6, k2 + arg1, 0, bbd, i8, j9); + k2 += l1; + } + } + + } + + private static void bie(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, + int arg8, int arg9, int arg10, int arg11, int arg12, int arg13) { + if(arg10 <= 0) + return; + int k = 0; + int i1 = 0; + int l1 = 0; + if(arg6 != 0) { + arg2 = arg4 / arg6 << 7; + arg3 = arg5 / arg6 << 7; + } + if(arg2 < 0) + arg2 = 0; + else + if(arg2 > 16256) + arg2 = 16256; + arg4 += arg7; + arg5 += arg8; + arg6 += arg9; + if(arg6 != 0) { + k = arg4 / arg6 << 7; + i1 = arg5 / arg6 << 7; + } + if(k < 0) + k = 0; + else + if(k > 16256) + k = 16256; + int j1 = k - arg2 >> 4; + int k1 = i1 - arg3 >> 4; + for(int i2 = arg10 >> 4; i2 > 0; i2--) { + arg2 += arg12 & 0x600000; + l1 = arg12 >> 23; + arg12 += arg13; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg12 & 0x600000); + l1 = arg12 >> 23; + arg12 += arg13; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg12 & 0x600000); + l1 = arg12 >> 23; + arg12 += arg13; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg12 & 0x600000); + l1 = arg12 >> 23; + arg12 += arg13; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 = k; + arg3 = i1; + arg4 += arg7; + arg5 += arg8; + arg6 += arg9; + if(arg6 != 0) { + k = arg4 / arg6 << 7; + i1 = arg5 / arg6 << 7; + } + if(k < 0) + k = 0; + else + if(k > 16256) + k = 16256; + j1 = k - arg2 >> 4; + k1 = i1 - arg3 >> 4; + } + + for(int j2 = 0; j2 < (arg10 & 0xf); j2++) { + if((j2 & 3) == 0) { + arg2 = (arg2 & 0x3fff) + (arg12 & 0x600000); + l1 = arg12 >> 23; + arg12 += arg13; + } + arg0[arg11++] = arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1; + arg2 += j1; + arg3 += k1; + } + + } + + private static void bif(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, + int arg8, int arg9, int arg10, int arg11, int arg12, int arg13) { + if(arg10 <= 0) + return; + int k = 0; + int i1 = 0; + int l1 = 0; + if(arg6 != 0) { + arg2 = arg4 / arg6 << 7; + arg3 = arg5 / arg6 << 7; + } + if(arg2 < 0) + arg2 = 0; + else + if(arg2 > 16256) + arg2 = 16256; + arg4 += arg7; + arg5 += arg8; + arg6 += arg9; + if(arg6 != 0) { + k = arg4 / arg6 << 7; + i1 = arg5 / arg6 << 7; + } + if(k < 0) + k = 0; + else + if(k > 16256) + k = 16256; + int j1 = k - arg2 >> 4; + int k1 = i1 - arg3 >> 4; + for(int i2 = arg10 >> 4; i2 > 0; i2--) { + arg2 += arg12 & 0x600000; + l1 = arg12 >> 23; + arg12 += arg13; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg12 & 0x600000); + l1 = arg12 >> 23; + arg12 += arg13; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg12 & 0x600000); + l1 = arg12 >> 23; + arg12 += arg13; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg12 & 0x600000); + l1 = arg12 >> 23; + arg12 += arg13; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 = k; + arg3 = i1; + arg4 += arg7; + arg5 += arg8; + arg6 += arg9; + if(arg6 != 0) { + k = arg4 / arg6 << 7; + i1 = arg5 / arg6 << 7; + } + if(k < 0) + k = 0; + else + if(k > 16256) + k = 16256; + j1 = k - arg2 >> 4; + k1 = i1 - arg3 >> 4; + } + + for(int j2 = 0; j2 < (arg10 & 0xf); j2++) { + if((j2 & 3) == 0) { + arg2 = (arg2 & 0x3fff) + (arg12 & 0x600000); + l1 = arg12 >> 23; + arg12 += arg13; + } + arg0[arg11++] = (arg1[(arg3 & 0x3f80) + (arg2 >> 7)] >>> l1) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + } + + } + + private static void big(int arg0[], int arg1, int arg2, int arg3, int arg4[], int arg5, int arg6, int arg7, + int arg8, int arg9, int arg10, int arg11, int arg12, int arg13, int arg14) { + if(arg11 <= 0) + return; + int k = 0; + int i1 = 0; + arg14 <<= 2; + if(arg7 != 0) { + k = arg5 / arg7 << 7; + i1 = arg6 / arg7 << 7; + } + if(k < 0) + k = 0; + else + if(k > 16256) + k = 16256; + for(int l1 = arg11; l1 > 0; l1 -= 16) { + arg5 += arg8; + arg6 += arg9; + arg7 += arg10; + arg2 = k; + arg3 = i1; + if(arg7 != 0) { + k = arg5 / arg7 << 7; + i1 = arg6 / arg7 << 7; + } + if(k < 0) + k = 0; + else + if(k > 16256) + k = 16256; + int j1 = k - arg2 >> 4; + int k1 = i1 - arg3 >> 4; + int i2 = arg13 >> 23; + arg2 += arg13 & 0x600000; + arg13 += arg14; + if(l1 < 16) { + for(int j2 = 0; j2 < l1; j2++) { + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((j2 & 3) == 3) { + arg2 = (arg2 & 0x3fff) + (arg13 & 0x600000); + i2 = arg13 >> 23; + arg13 += arg14; + } + } + + } else { + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg13 & 0x600000); + i2 = arg13 >> 23; + arg13 += arg14; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg13 & 0x600000); + i2 = arg13 >> 23; + arg13 += arg14; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0x3fff) + (arg13 & 0x600000); + i2 = arg13 >> 23; + arg13 += arg14; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0x3f80) + (arg2 >> 7)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + } + } + + } + + private static void bih(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, + int arg8, int arg9, int arg10, int arg11, int arg12, int arg13) { + if(arg10 <= 0) + return; + int k = 0; + int i1 = 0; + arg13 <<= 2; + if(arg6 != 0) { + k = arg4 / arg6 << 6; + i1 = arg5 / arg6 << 6; + } + if(k < 0) + k = 0; + else + if(k > 4032) + k = 4032; + for(int l1 = arg10; l1 > 0; l1 -= 16) { + arg4 += arg7; + arg5 += arg8; + arg6 += arg9; + arg2 = k; + arg3 = i1; + if(arg6 != 0) { + k = arg4 / arg6 << 6; + i1 = arg5 / arg6 << 6; + } + if(k < 0) + k = 0; + else + if(k > 4032) + k = 4032; + int j1 = k - arg2 >> 4; + int k1 = i1 - arg3 >> 4; + int i2 = arg12 >> 20; + arg2 += arg12 & 0xc0000; + arg12 += arg13; + if(l1 < 16) { + for(int j2 = 0; j2 < l1; j2++) { + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + if((j2 & 3) == 3) { + arg2 = (arg2 & 0xfff) + (arg12 & 0xc0000); + i2 = arg12 >> 20; + arg12 += arg13; + } + } + + } else { + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg12 & 0xc0000); + i2 = arg12 >> 20; + arg12 += arg13; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg12 & 0xc0000); + i2 = arg12 >> 20; + arg12 += arg13; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg12 & 0xc0000); + i2 = arg12 >> 20; + arg12 += arg13; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + arg2 += j1; + arg3 += k1; + arg0[arg11++] = arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2; + } + } + + } + + private static void bii(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, + int arg8, int arg9, int arg10, int arg11, int arg12, int arg13) { + if(arg10 <= 0) + return; + int k = 0; + int i1 = 0; + arg13 <<= 2; + if(arg6 != 0) { + k = arg4 / arg6 << 6; + i1 = arg5 / arg6 << 6; + } + if(k < 0) + k = 0; + else + if(k > 4032) + k = 4032; + for(int l1 = arg10; l1 > 0; l1 -= 16) { + arg4 += arg7; + arg5 += arg8; + arg6 += arg9; + arg2 = k; + arg3 = i1; + if(arg6 != 0) { + k = arg4 / arg6 << 6; + i1 = arg5 / arg6 << 6; + } + if(k < 0) + k = 0; + else + if(k > 4032) + k = 4032; + int j1 = k - arg2 >> 4; + int k1 = i1 - arg3 >> 4; + int i2 = arg12 >> 20; + arg2 += arg12 & 0xc0000; + arg12 += arg13; + if(l1 < 16) { + for(int j2 = 0; j2 < l1; j2++) { + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + if((j2 & 3) == 3) { + arg2 = (arg2 & 0xfff) + (arg12 & 0xc0000); + i2 = arg12 >> 20; + arg12 += arg13; + } + } + + } else { + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg12 & 0xc0000); + i2 = arg12 >> 20; + arg12 += arg13; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg12 & 0xc0000); + i2 = arg12 >> 20; + arg12 += arg13; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg12 & 0xc0000); + i2 = arg12 >> 20; + arg12 += arg13; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + arg2 += j1; + arg3 += k1; + arg0[arg11++] = (arg1[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) + (arg0[arg11] >> 1 & 0x7f7f7f); + } + } + + } + + private static void bij(int arg0[], int arg1, int arg2, int arg3, int arg4[], int arg5, int arg6, int arg7, + int arg8, int arg9, int arg10, int arg11, int arg12, int arg13, int arg14) { + if(arg11 <= 0) + return; + int k = 0; + int i1 = 0; + arg14 <<= 2; + if(arg7 != 0) { + k = arg5 / arg7 << 6; + i1 = arg6 / arg7 << 6; + } + if(k < 0) + k = 0; + else + if(k > 4032) + k = 4032; + for(int l1 = arg11; l1 > 0; l1 -= 16) { + arg5 += arg8; + arg6 += arg9; + arg7 += arg10; + arg2 = k; + arg3 = i1; + if(arg7 != 0) { + k = arg5 / arg7 << 6; + i1 = arg6 / arg7 << 6; + } + if(k < 0) + k = 0; + else + if(k > 4032) + k = 4032; + int j1 = k - arg2 >> 4; + int k1 = i1 - arg3 >> 4; + int i2 = arg13 >> 20; + arg2 += arg13 & 0xc0000; + arg13 += arg14; + if(l1 < 16) { + for(int j2 = 0; j2 < l1; j2++) { + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((j2 & 3) == 3) { + arg2 = (arg2 & 0xfff) + (arg13 & 0xc0000); + i2 = arg13 >> 20; + arg13 += arg14; + } + } + + } else { + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg13 & 0xc0000); + i2 = arg13 >> 20; + arg13 += arg14; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg13 & 0xc0000); + i2 = arg13 >> 20; + arg13 += arg14; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + arg2 = (arg2 & 0xfff) + (arg13 & 0xc0000); + i2 = arg13 >> 20; + arg13 += arg14; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + arg2 += j1; + arg3 += k1; + if((arg1 = arg4[(arg3 & 0xfc0) + (arg2 >> 6)] >>> i2) != 0) + arg0[arg12] = arg1; + arg12++; + } + } + + } + + private static void bik(int arg0[], int arg1, int arg2, int arg3, int arg4[], int arg5, int arg6) { + if(arg1 >= 0) + return; + arg6 <<= 1; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + int k = arg1 / 8; + for(int i1 = k; i1 < 0; i1++) { + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + } + + k = -(arg1 % 8); + for(int j1 = 0; j1 < k; j1++) { + arg0[arg2++] = arg3; + if((j1 & 1) == 1) { + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + } + } + + } + + private static void bil(int arg0[], int arg1, int arg2, int arg3, int arg4[], int arg5, int arg6) { + if(arg1 >= 0) + return; + arg6 <<= 2; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + int k = arg1 / 16; + for(int i1 = k; i1 < 0; i1++) { + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + } + + k = -(arg1 % 16); + for(int j1 = 0; j1 < k; j1++) { + arg0[arg2++] = arg3 + (arg0[arg2] >> 1 & 0x7f7f7f); + if((j1 & 3) == 3) { + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg5 += arg6; + } + } + + } + + private static void bim(int arg0[], int arg1, int arg2, int arg3, int arg4[], int arg5, int arg6) { + if(arg1 >= 0) + return; + arg6 <<= 2; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + int k = arg1 / 16; + for(int i1 = k; i1 < 0; i1++) { + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg0[arg2++] = arg3; + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + } + + k = -(arg1 % 16); + for(int j1 = 0; j1 < k; j1++) { + arg0[arg2++] = arg3; + if((j1 & 3) == 3) { + arg3 = arg4[arg5 >> 8 & 0xff]; + arg5 += arg6; + } + } + + } + + public void setCamera(int k, int i1, int j1, int k1, int l1, int i2, int j2) { + k1 &= 0x3ff; + l1 &= 0x3ff; + i2 &= 0x3ff; + bde = 1024 - k1 & 0x3ff; + bdf = 1024 - l1 & 0x3ff; + bdg = 1024 - i2 & 0x3ff; + int k2 = 0; + int l2 = 0; + int i3 = j2; + if(k1 != 0) { + int j3 = bbk[k1]; + int i4 = bbk[k1 + 1024]; + int l4 = l2 * i4 - i3 * j3 >> 15; + i3 = l2 * j3 + i3 * i4 >> 15; + l2 = l4; + } + if(l1 != 0) { + int k3 = bbk[l1]; + int j4 = bbk[l1 + 1024]; + int i5 = i3 * k3 + k2 * j4 >> 15; + i3 = i3 * j4 - k2 * k3 >> 15; + k2 = i5; + } + if(i2 != 0) { + int l3 = bbk[i2]; + int k4 = bbk[i2 + 1024]; + int j5 = l2 * l3 + k2 * k4 >> 15; + l2 = l2 * k4 - k2 * l3 >> 15; + k2 = j5; + } + bdb = k - k2; + bdc = i1 - l2; + bdd = j1 - i3; + } + + private void bja(int arg0) { + CameraModel l1 = bdm[arg0]; + GameObject k = l1.object; + int i1 = l1.bkk; + int ai[] = k.cgd[i1]; + int j1 = k.cgc[i1]; + int k1 = k.cgh[i1]; + int j2 = k.cfi[ai[0]]; + int k2 = k.cfj[ai[0]]; + int l2 = k.cfk[ai[0]]; + int i3 = k.cfi[ai[1]] - j2; + int j3 = k.cfj[ai[1]] - k2; + int k3 = k.cfk[ai[1]] - l2; + int l3 = k.cfi[ai[2]] - j2; + int i4 = k.cfj[ai[2]] - k2; + int j4 = k.cfk[ai[2]] - l2; + int k4 = j3 * j4 - i4 * k3; + int l4 = k3 * l3 - j4 * i3; + int i5 = i3 * i4 - l3 * j3; + if(k1 == -1) { + k1 = 0; + for(; k4 > 25000 || l4 > 25000 || i5 > 25000 || k4 < -25000 || l4 < -25000 || i5 < -25000; i5 >>= 1) { + k1++; + k4 >>= 1; + l4 >>= 1; + } + + k.cgh[i1] = k1; + k.cgg[i1] = (int)((double)bda * Math.sqrt(k4 * k4 + l4 * l4 + i5 * i5)); + } else { + k4 >>= k1; + l4 >>= k1; + i5 >>= k1; + } + l1.blb = j2 * k4 + k2 * l4 + l2 * i5; + l1.bkm = k4; + l1.bkn = l4; + l1.bla = i5; + int j5 = k.cfk[ai[0]]; + int k5 = j5; + int l5 = k.cfl[ai[0]]; + int i6 = l5; + int j6 = k.cfm[ai[0]]; + int k6 = j6; + for(int l6 = 1; l6 < j1; l6++) { + int i2 = k.cfk[ai[l6]]; + if(i2 > k5) + k5 = i2; + else + if(i2 < j5) + j5 = i2; + i2 = k.cfl[ai[l6]]; + if(i2 > i6) + i6 = i2; + else + if(i2 < l5) + l5 = i2; + i2 = k.cfm[ai[l6]]; + if(i2 > k6) + k6 = i2; + else + if(i2 < j6) + j6 = i2; + } + + l1.bkh = j5; + l1.bki = k5; + l1.bkd = l5; + l1.bkf = i6; + l1.bke = j6; + l1.bkg = k6; + } + + private void bjb(int arg0) { + CameraModel l1 = bdm[arg0]; + GameObject k = l1.object; + int i1 = l1.bkk; + int ai[] = k.cgd[i1]; + int k1 = 0; + int i2 = 0; + int j2 = 1; + int k2 = k.cfi[ai[0]]; + int l2 = k.cfj[ai[0]]; + int i3 = k.cfk[ai[0]]; + k.cgg[i1] = 1; + k.cgh[i1] = 0; + l1.blb = k2 * k1 + l2 * i2 + i3 * j2; + l1.bkm = k1; + l1.bkn = i2; + l1.bla = j2; + int j3 = k.cfk[ai[0]]; + int k3 = j3; + int l3 = k.cfl[ai[0]]; + int i4 = l3; + if(k.cfl[ai[1]] < l3) + l3 = k.cfl[ai[1]]; + else + i4 = k.cfl[ai[1]]; + int j4 = k.cfm[ai[1]]; + int k4 = k.cfm[ai[0]]; + int j1 = k.cfk[ai[1]]; + if(j1 > k3) + k3 = j1; + else + if(j1 < j3) + j3 = j1; + j1 = k.cfl[ai[1]]; + if(j1 > i4) + i4 = j1; + else + if(j1 < l3) + l3 = j1; + j1 = k.cfm[ai[1]]; + if(j1 > k4) + k4 = j1; + else + if(j1 < j4) + j4 = j1; + l1.bkh = j3; + l1.bki = k3; + l1.bkd = l3 - 20; + l1.bkf = i4 + 20; + l1.bke = j4; + l1.bkg = k4; + } + + private boolean bjc(CameraModel arg0, CameraModel arg1) { + if(arg0.bkd >= arg1.bkf) + return true; + if(arg1.bkd >= arg0.bkf) + return true; + if(arg0.bke >= arg1.bkg) + return true; + if(arg1.bke >= arg0.bkg) + return true; + if(arg0.bkh >= arg1.bki) + return true; + if(arg1.bkh > arg0.bki) + return false; + GameObject k = arg0.object; + GameObject i1 = arg1.object; + int j1 = arg0.bkk; + int k1 = arg1.bkk; + int ai[] = k.cgd[j1]; + int ai1[] = i1.cgd[k1]; + int l1 = k.cgc[j1]; + int i2 = i1.cgc[k1]; + int l3 = i1.cfi[ai1[0]]; + int i4 = i1.cfj[ai1[0]]; + int j4 = i1.cfk[ai1[0]]; + int k4 = arg1.bkm; + int l4 = arg1.bkn; + int i5 = arg1.bla; + int j5 = i1.cgg[k1]; + int k5 = arg1.blb; + boolean flag = false; + for(int l5 = 0; l5 < l1; l5++) { + int j2 = ai[l5]; + int j3 = (l3 - k.cfi[j2]) * k4 + (i4 - k.cfj[j2]) * l4 + (j4 - k.cfk[j2]) * i5; + if((j3 >= -j5 || k5 >= 0) && (j3 <= j5 || k5 <= 0)) + continue; + flag = true; + break; + } + + if(!flag) + return true; + l3 = k.cfi[ai[0]]; + i4 = k.cfj[ai[0]]; + j4 = k.cfk[ai[0]]; + k4 = arg0.bkm; + l4 = arg0.bkn; + i5 = arg0.bla; + j5 = k.cgg[j1]; + k5 = arg0.blb; + flag = false; + for(int i6 = 0; i6 < i2; i6++) { + int k2 = ai1[i6]; + int k3 = (l3 - i1.cfi[k2]) * k4 + (i4 - i1.cfj[k2]) * l4 + (j4 - i1.cfk[k2]) * i5; + if((k3 >= -j5 || k5 <= 0) && (k3 <= j5 || k5 >= 0)) + continue; + flag = true; + break; + } + + if(!flag) + return true; + int ai2[]; + int ai3[]; + if(l1 == 2) { + ai2 = new int[4]; + ai3 = new int[4]; + int j6 = ai[0]; + int l2 = ai[1]; + ai2[0] = k.cfl[j6] - 20; + ai2[1] = k.cfl[l2] - 20; + ai2[2] = k.cfl[l2] + 20; + ai2[3] = k.cfl[j6] + 20; + ai3[0] = ai3[3] = k.cfm[j6]; + ai3[1] = ai3[2] = k.cfm[l2]; + } else { + ai2 = new int[l1]; + ai3 = new int[l1]; + for(int k6 = 0; k6 < l1; k6++) { + int j7 = ai[k6]; + ai2[k6] = k.cfl[j7]; + ai3[k6] = k.cfm[j7]; + } + + } + int ai4[]; + int ai5[]; + if(i2 == 2) { + ai4 = new int[4]; + ai5 = new int[4]; + int l6 = ai1[0]; + int i3 = ai1[1]; + ai4[0] = i1.cfl[l6] - 20; + ai4[1] = i1.cfl[i3] - 20; + ai4[2] = i1.cfl[i3] + 20; + ai4[3] = i1.cfl[l6] + 20; + ai5[0] = ai5[3] = i1.cfm[l6]; + ai5[1] = ai5[2] = i1.cfm[i3]; + } else { + ai4 = new int[i2]; + ai5 = new int[i2]; + for(int i7 = 0; i7 < i2; i7++) { + int k7 = ai1[i7]; + ai4[i7] = i1.cfl[k7]; + ai5[i7] = i1.cfm[k7]; + } + + } + return !bkc(ai2, ai3, ai4, ai5); + } + + private boolean bjd(CameraModel arg0, CameraModel arg1) { + GameObject k = arg0.object; + GameObject i1 = arg1.object; + int j1 = arg0.bkk; + int k1 = arg1.bkk; + int ai[] = k.cgd[j1]; + int ai1[] = i1.cgd[k1]; + int l1 = k.cgc[j1]; + int i2 = i1.cgc[k1]; + int j3 = i1.cfi[ai1[0]]; + int k3 = i1.cfj[ai1[0]]; + int l3 = i1.cfk[ai1[0]]; + int i4 = arg1.bkm; + int j4 = arg1.bkn; + int k4 = arg1.bla; + int l4 = i1.cgg[k1]; + int i5 = arg1.blb; + boolean flag = false; + for(int j5 = 0; j5 < l1; j5++) { + int j2 = ai[j5]; + int l2 = (j3 - k.cfi[j2]) * i4 + (k3 - k.cfj[j2]) * j4 + (l3 - k.cfk[j2]) * k4; + if((l2 >= -l4 || i5 >= 0) && (l2 <= l4 || i5 <= 0)) + continue; + flag = true; + break; + } + + if(!flag) + return true; + j3 = k.cfi[ai[0]]; + k3 = k.cfj[ai[0]]; + l3 = k.cfk[ai[0]]; + i4 = arg0.bkm; + j4 = arg0.bkn; + k4 = arg0.bla; + l4 = k.cgg[j1]; + i5 = arg0.blb; + flag = false; + for(int k5 = 0; k5 < i2; k5++) { + int k2 = ai1[k5]; + int i3 = (j3 - i1.cfi[k2]) * i4 + (k3 - i1.cfj[k2]) * j4 + (l3 - i1.cfk[k2]) * k4; + if((i3 >= -l4 || i5 <= 0) && (i3 <= l4 || i5 >= 0)) + continue; + flag = true; + break; + } + + return !flag; + } + + public void createPictures(int k, int i1, int j1) { + bei = k; + bej = new byte[k][]; + bek = new int[k][]; + bel = new int[k]; + bem = new long[k]; + bfa = new boolean[k]; + ben = new int[k][]; + bfb = 0L; + bfc = new int[i1][]; + bfd = new int[j1][]; + } + + public void bjf(int k, byte abyte0[], int ai[], int i1) { + bej[k] = abyte0; + bek[k] = ai; + bel[k] = i1; + bem[k] = 0L; + bfa[k] = false; + ben[k] = null; + bjg(k); + } + + public void bjg(int arg0) { + if(arg0 < 0) + return; + bem[arg0] = bfb++; + if(ben[arg0] != null) + return; + if(bel[arg0] == 0) { + for(int k = 0; k < bfc.length; k++) + if(bfc[k] == null) { + bfc[k] = new int[16384]; + ben[arg0] = bfc[k]; + bjh(arg0); + return; + } + + long l1 = 1L << 30; + int j1 = 0; + for(int i2 = 0; i2 < bei; i2++) + if(i2 != arg0 && bel[i2] == 0 && ben[i2] != null && bem[i2] < l1) { + l1 = bem[i2]; + j1 = i2; + } + + ben[arg0] = ben[j1]; + ben[j1] = null; + bjh(arg0); + return; + } + for(int i1 = 0; i1 < bfd.length; i1++) + if(bfd[i1] == null) { + bfd[i1] = new int[0x10000]; + ben[arg0] = bfd[i1]; + bjh(arg0); + return; + } + + long l2 = 1L << 30; + int k1 = 0; + for(int j2 = 0; j2 < bei; j2++) + if(j2 != arg0 && bel[j2] == 1 && ben[j2] != null && bem[j2] < l2) { + l2 = bem[j2]; + k1 = j2; + } + + ben[arg0] = ben[k1]; + ben[k1] = null; + bjh(arg0); + } + + private void bjh(int arg0) { + char c; + if(bel[arg0] == 0) + c = '@'; + else + c = '\200'; + int ai[] = ben[arg0]; + int k = 0; + for(int i1 = 0; i1 < c; i1++) { + for(int j1 = 0; j1 < c; j1++) { + int l1 = bek[arg0][bej[arg0][j1 + i1 * c] & 0xff]; + l1 &= 0xf8f8ff; + if(l1 == 0) + l1 = 1; + else + if(l1 == 0xf800ff) { + l1 = 0; + bfa[arg0] = true; + } + ai[k++] = l1; + } + + } + + for(int k1 = 0; k1 < k; k1++) { + int i2 = ai[k1]; + ai[k + k1] = i2 - (i2 >>> 3) & 0xf8f8ff; + ai[k * 2 + k1] = i2 - (i2 >>> 2) & 0xf8f8ff; + ai[k * 3 + k1] = i2 - (i2 >>> 2) - (i2 >>> 3) & 0xf8f8ff; + } + + } + + public void bji(int arg0) { + if(ben[arg0] == null) + return; + int ai[] = ben[arg0]; + for(int k = 0; k < 64; k++) { + int i1 = k + 4032; + int j1 = ai[i1]; + for(int l1 = 0; l1 < 63; l1++) { + ai[i1] = ai[i1 - 64]; + i1 -= 64; + } + + ben[arg0][i1] = j1; + } + + char c = '\u1000'; + for(int k1 = 0; k1 < c; k1++) { + int i2 = ai[k1]; + ai[c + k1] = i2 - (i2 >>> 3) & 0xf8f8ff; + ai[c * 2 + k1] = i2 - (i2 >>> 2) & 0xf8f8ff; + ai[c * 3 + k1] = i2 - (i2 >>> 2) - (i2 >>> 3) & 0xf8f8ff; + } + + } + + public int bjj(int k) { + if(k == 0xbc614e) + return 0; + bjg(k); + if(k >= 0) + return ben[k][0]; + if(k < 0) { + k = -(k + 1); + int i1 = k >> 10 & 0x1f; + int j1 = k >> 5 & 0x1f; + int k1 = k & 0x1f; + return (i1 << 19) + (j1 << 11) + (k1 << 3); + } else { + return 0; + } + } + + public void bjk(int arg0, int arg1, int arg2) { + if(arg0 == 0 && arg1 == 0 && arg2 == 0) + arg0 = 32; + for(int k = 0; k < currentModelCount; k++) + bdj[k].cmg(arg0, arg1, arg2); + + } + + public void bjl(int arg0, int arg1, int arg2, int arg3, int arg4) { + if(arg2 == 0 && arg3 == 0 && arg4 == 0) + arg2 = 32; + for(int k = 0; k < currentModelCount; k++) + bdj[k].cmf(arg0, arg1, arg2, arg3, arg4); + + } + + public static int bjm(int k, int i1, int j1) { + return -1 - (k / 8) * 1024 - (i1 / 8) * 32 - j1 / 8; + } + + public int bjn(int k, int i1, int j1, int k1, int l1) { + if(k1 == i1) + return k; + else + return k + ((j1 - k) * (l1 - i1)) / (k1 - i1); + } + + public boolean bka(int k, int i1, int j1, int k1, boolean flag) { + if(flag && k <= j1 || k < j1) { + if(k > k1) + return true; + if(i1 > j1) + return true; + if(i1 > k1) + return true; + return !flag; + } + if(k < k1) + return true; + if(i1 < j1) + return true; + if(i1 < k1) + return true; + else + return flag; + } + + public boolean bkb(int k, int i1, int j1, boolean flag) { + if(flag && k <= j1 || k < j1) { + if(i1 > j1) + return true; + return !flag; + } + if(i1 < j1) + return true; + else + return flag; + } + + public boolean bkc(int arg0[], int arg1[], int arg2[], int arg3[]) { + int k = arg0.length; + int i1 = arg2.length; + byte byte0 = 0; + int l20; + int j21 = l20 = arg1[0]; + int j1 = 0; + int i21; + int k21 = i21 = arg3[0]; + int l1 = 0; + for(int l21 = 1; l21 < k; l21++) + if(arg1[l21] < l20) { + l20 = arg1[l21]; + j1 = l21; + } else + if(arg1[l21] > j21) + j21 = arg1[l21]; + + for(int i22 = 1; i22 < i1; i22++) + if(arg3[i22] < i21) { + i21 = arg3[i22]; + l1 = i22; + } else + if(arg3[i22] > k21) + k21 = arg3[i22]; + + if(i21 >= j21) + return false; + if(l20 >= k21) + return false; + int k1; + int i2; + boolean flag; + if(arg1[j1] < arg3[l1]) { + for(k1 = j1; arg1[k1] < arg3[l1]; k1 = (k1 + 1) % k); + for(; arg1[j1] < arg3[l1]; j1 = ((j1 - 1) + k) % k); + int j2 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[l1]); + int j7 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[l1]); + int k11 = arg2[l1]; + flag = (j2 < k11) | (j7 < k11); + if(bkb(j2, j7, k11, flag)) + return true; + i2 = (l1 + 1) % i1; + l1 = ((l1 - 1) + i1) % i1; + if(j1 == k1) + byte0 = 1; + } else { + for(i2 = l1; arg3[i2] < arg1[j1]; i2 = (i2 + 1) % i1); + for(; arg3[l1] < arg1[j1]; l1 = ((l1 - 1) + i1) % i1); + int k2 = arg0[j1]; + int l11 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg1[j1]); + int k16 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg1[j1]); + flag = (k2 < l11) | (k2 < k16); + if(bkb(l11, k16, k2, !flag)) + return true; + k1 = (j1 + 1) % k; + j1 = ((j1 - 1) + k) % k; + if(l1 == i2) + byte0 = 2; + } + while(byte0 == 0) + if(arg1[j1] < arg1[k1]) { + if(arg1[j1] < arg3[l1]) { + if(arg1[j1] < arg3[i2]) { + int l2 = arg0[j1]; + int k7 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg1[j1]); + int i12 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg1[j1]); + int l16 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg1[j1]); + if(bka(l2, k7, i12, l16, flag)) + return true; + j1 = ((j1 - 1) + k) % k; + if(j1 == k1) + byte0 = 1; + } else { + int i3 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[i2]); + int l7 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[i2]); + int j12 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg3[i2]); + int i17 = arg2[i2]; + if(bka(i3, l7, j12, i17, flag)) + return true; + i2 = (i2 + 1) % i1; + if(l1 == i2) + byte0 = 2; + } + } else + if(arg3[l1] < arg3[i2]) { + int j3 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[l1]); + int i8 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[l1]); + int k12 = arg2[l1]; + int j17 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg3[l1]); + if(bka(j3, i8, k12, j17, flag)) + return true; + l1 = ((l1 - 1) + i1) % i1; + if(l1 == i2) + byte0 = 2; + } else { + int k3 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[i2]); + int j8 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[i2]); + int l12 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg3[i2]); + int k17 = arg2[i2]; + if(bka(k3, j8, l12, k17, flag)) + return true; + i2 = (i2 + 1) % i1; + if(l1 == i2) + byte0 = 2; + } + } else + if(arg1[k1] < arg3[l1]) { + if(arg1[k1] < arg3[i2]) { + int l3 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg1[k1]); + int k8 = arg0[k1]; + int i13 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg1[k1]); + int l17 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg1[k1]); + if(bka(l3, k8, i13, l17, flag)) + return true; + k1 = (k1 + 1) % k; + if(j1 == k1) + byte0 = 1; + } else { + int i4 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[i2]); + int l8 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[i2]); + int j13 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg3[i2]); + int i18 = arg2[i2]; + if(bka(i4, l8, j13, i18, flag)) + return true; + i2 = (i2 + 1) % i1; + if(l1 == i2) + byte0 = 2; + } + } else + if(arg3[l1] < arg3[i2]) { + int j4 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[l1]); + int i9 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[l1]); + int k13 = arg2[l1]; + int j18 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg3[l1]); + if(bka(j4, i9, k13, j18, flag)) + return true; + l1 = ((l1 - 1) + i1) % i1; + if(l1 == i2) + byte0 = 2; + } else { + int k4 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[i2]); + int j9 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[i2]); + int l13 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg3[i2]); + int k18 = arg2[i2]; + if(bka(k4, j9, l13, k18, flag)) + return true; + i2 = (i2 + 1) % i1; + if(l1 == i2) + byte0 = 2; + } + while(byte0 == 1) + if(arg1[j1] < arg3[l1]) { + if(arg1[j1] < arg3[i2]) { + int l4 = arg0[j1]; + int i14 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg1[j1]); + int l18 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg1[j1]); + return bkb(i14, l18, l4, !flag); + } + int i5 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[i2]); + int k9 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[i2]); + int j14 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg3[i2]); + int i19 = arg2[i2]; + if(bka(i5, k9, j14, i19, flag)) + return true; + i2 = (i2 + 1) % i1; + if(l1 == i2) + byte0 = 0; + } else + if(arg3[l1] < arg3[i2]) { + int j5 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[l1]); + int l9 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[l1]); + int k14 = arg2[l1]; + int j19 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg3[l1]); + if(bka(j5, l9, k14, j19, flag)) + return true; + l1 = ((l1 - 1) + i1) % i1; + if(l1 == i2) + byte0 = 0; + } else { + int k5 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[i2]); + int i10 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[i2]); + int l14 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg3[i2]); + int k19 = arg2[i2]; + if(bka(k5, i10, l14, k19, flag)) + return true; + i2 = (i2 + 1) % i1; + if(l1 == i2) + byte0 = 0; + } + while(byte0 == 2) + if(arg3[l1] < arg1[j1]) { + if(arg3[l1] < arg1[k1]) { + int l5 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[l1]); + int j10 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[l1]); + int i15 = arg2[l1]; + return bkb(l5, j10, i15, flag); + } + int i6 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg1[k1]); + int k10 = arg0[k1]; + int j15 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg1[k1]); + int l19 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg1[k1]); + if(bka(i6, k10, j15, l19, flag)) + return true; + k1 = (k1 + 1) % k; + if(j1 == k1) + byte0 = 0; + } else + if(arg1[j1] < arg1[k1]) { + int j6 = arg0[j1]; + int l10 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg1[j1]); + int k15 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg1[j1]); + int i20 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg1[j1]); + if(bka(j6, l10, k15, i20, flag)) + return true; + j1 = ((j1 - 1) + k) % k; + if(j1 == k1) + byte0 = 0; + } else { + int k6 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg1[k1]); + int i11 = arg0[k1]; + int l15 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg1[k1]); + int j20 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg1[k1]); + if(bka(k6, i11, l15, j20, flag)) + return true; + k1 = (k1 + 1) % k; + if(j1 == k1) + byte0 = 0; + } + if(arg1[j1] < arg3[l1]) { + int l6 = arg0[j1]; + int i16 = bjn(arg2[(l1 + 1) % i1], arg3[(l1 + 1) % i1], arg2[l1], arg3[l1], arg1[j1]); + int k20 = bjn(arg2[((i2 - 1) + i1) % i1], arg3[((i2 - 1) + i1) % i1], arg2[i2], arg3[i2], arg1[j1]); + return bkb(i16, k20, l6, !flag); + } + int i7 = bjn(arg0[(j1 + 1) % k], arg1[(j1 + 1) % k], arg0[j1], arg1[j1], arg3[l1]); + int j11 = bjn(arg0[((k1 - 1) + k) % k], arg1[((k1 - 1) + k) % k], arg0[k1], arg1[k1], arg3[l1]); + int j16 = arg2[l1]; + return bkb(i7, j11, j16, flag); + } + + int bba; + int bbb[]; + int bbc[][]; + int bbd[]; + public int bbe; + public int bbf; + public int zoom1; + public int zoom2; + public int zoom3; + public int zoom4; + public static int bbk[] = new int[2048]; + private static int bbl[] = new int[512]; + public boolean bbm; + public double bbn; + public int bca; + private boolean bcb; + private int bcc; + private int bcd; + private int bce; + private int bcf; + private GameObject bcg[]; + private int bch[]; + private int bci; + private int bcj; + private int bck; + private int bcl; + private int bcm; + private int bcn; + private int bda; + private int bdb; + private int bdc; + private int bdd; + private int bde; + private int bdf; + private int bdg; + public int currentModelCount; + public int maxModelCount; + public GameObject bdj[]; + private int bdk[]; + private int bdl; + private CameraModel bdm[]; + private int bdn; + private int bea[]; + private int beb[]; + private int bec[]; + private int bed[]; + private int bee[]; + private int bef[]; + private int beg[]; + public GameObject highlightedObject; + int bei; + byte bej[][]; + int bek[][]; + int bel[]; + long bem[]; + int ben[][]; + boolean bfa[]; + private static long bfb; + int bfc[][]; + int bfd[][]; + private static byte bfe[]; + GameImage bfg; + public int bfh[]; + CameraVariable bfi[]; + int bfj; + int bfk; + int bfl[]; + int bfm[]; + int bfn[]; + int bga[]; + int bgb[]; + int bgc[]; + boolean bgd; + static int bge; + static int bgf; + static int bgg; + static int bgh; + static int bgi; + static int bgj; + int bgk; + int bgl; + +} diff --git a/clients/clientRSC/src/main/java/mudclient/CameraModel.java b/clients/clientRSC/src/main/java/mudclient/CameraModel.java new file mode 100755 index 0000000..c6cbd07 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/CameraModel.java @@ -0,0 +1,27 @@ +package mudclient; + +public class CameraModel { + + public CameraModel() { + bld = false; + blf = -1; + } + + protected int bkd; + protected int bke; + protected int bkf; + protected int bkg; + protected int bkh; + protected int bki; + protected GameObject object; + protected int bkk; + protected int bkl; + protected int bkm; + protected int bkn; + protected int bla; + protected int blb; + protected int blc; + protected boolean bld; + protected int ble; + protected int blf; +} diff --git a/clients/clientRSC/src/main/java/mudclient/CameraVariable.java b/clients/clientRSC/src/main/java/mudclient/CameraVariable.java new file mode 100755 index 0000000..0fcf4f6 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/CameraVariable.java @@ -0,0 +1,12 @@ +package mudclient; + +public class CameraVariable { + + public CameraVariable() { + } + + int flm; + int fln; + int fma; + int fmb; +} diff --git a/clients/clientRSC/src/main/java/mudclient/ChatFilter.java b/clients/clientRSC/src/main/java/mudclient/ChatFilter.java new file mode 100755 index 0000000..330923c --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/ChatFilter.java @@ -0,0 +1,689 @@ +package mudclient; + +public class ChatFilter { + + public static void addFilterData(DataEncryption q1, DataEncryption q2, DataEncryption q3, DataEncryption q4) { + loadBadEnc(q2); + loadHostsEnc(q3); + loadFragmentsEnc(q1); + loadTldList(q4); + } + + public static void loadTldList(DataEncryption arg0) { + int i = arg0.getInt(); + ffi = new char[i][]; + ffj = new int[i]; + for(int j = 0; j < i; j++) { + ffj[j] = arg0.getByte(); + char ac[] = new char[arg0.getByte()]; + for(int k = 0; k < ac.length; k++) + ac[k] = (char)arg0.getByte(); + + ffi[j] = ac; + } + + } + + public static void loadBadEnc(DataEncryption q1) { + int i = q1.getInt(); + ffe = new char[i][]; + fff = new byte[i][][]; + fgc(q1, ffe, fff); + } + + public static void loadHostsEnc(DataEncryption q1) { + int i = q1.getInt(); + ffg = new char[i][]; + ffh = new byte[i][][]; + fgc(q1, ffg, ffh); + } + + public static void loadFragmentsEnc(DataEncryption arg0) { + ffd = new int[arg0.getInt()]; + for(int i = 0; i < ffd.length; i++) + ffd[i] = arg0.getShort(); + + } + + public static void fgc(DataEncryption arg0, char arg1[][], byte arg2[][][]) { + for(int i = 0; i < arg1.length; i++) { + char ac[] = new char[arg0.getByte()]; + for(int j = 0; j < ac.length; j++) + ac[j] = (char)arg0.getByte(); + + arg1[i] = ac; + byte abyte0[][] = new byte[arg0.getInt()][2]; + for(int k = 0; k < abyte0.length; k++) { + abyte0[k][0] = (byte)arg0.getByte(); + abyte0[k][1] = (byte)arg0.getByte(); + } + + if(abyte0.length > 0) + arg2[i] = abyte0; + } + + } + + public static String filterChat(String arg0) { + char ac[] = arg0.toLowerCase().toCharArray(); + fgi(ac); + fgg(ac); + fgh(ac); + fhd(ac); + for(int i = 0; i < ffk.length; i++) { + for(int j = -1; (j = arg0.indexOf(ffk[i], j + 1)) != -1;) { + char ac1[] = ffk[i].toCharArray(); + for(int k = 0; k < ac1.length; k++) + ac[k + j] = ac1[k]; + + } + + } + + if(ffb) { + fge(arg0.toCharArray(), ac); + fgf(ac); + } + return new String(ac); + } + + public static void fge(char arg0[], char arg1[]) { + for(int i = 0; i < arg0.length; i++) + if(arg1[i] != '*' && fhl(arg0[i])) + arg1[i] = arg0[i]; + + } + + public static void fgf(char arg0[]) { + boolean flag = true; + for(int i = 0; i < arg0.length; i++) { + char c = arg0[i]; + if(fhi(c)) { + if(flag) { + if(fhk(c)) + flag = false; + } else + if(fhl(c)) + arg0[i] = (char)((c + 97) - 65); + } else { + flag = true; + } + } + + } + + public static void fgg(char arg0[]) { + for(int i = 0; i < 2; i++) { + for(int j = ffe.length - 1; j >= 0; j--) + fgm(arg0, ffe[j], fff[j]); + + } + + } + + public static void fgh(char arg0[]) { + for(int i = ffg.length - 1; i >= 0; i--) + fgm(arg0, ffg[i], ffh[i]); + + } + + public static void fgi(char arg0[]) { + char ac[] = (char[])arg0.clone(); + char ac1[] = { + 'd', 'o', 't' + }; + fgm(ac, ac1, null); + char ac2[] = (char[])arg0.clone(); + char ac3[] = { + 's', 'l', 'a', 's', 'h' + }; + fgm(ac2, ac3, null); + for(int i = 0; i < ffi.length; i++) + fgj(arg0, ac, ac2, ffi[i], ffj[i]); + + } + + public static void fgj(char arg0[], char arg1[], char arg2[], char arg3[], int arg4) { + if(arg3.length > arg0.length) + return; + for(int i = 0; i <= arg0.length - arg3.length; i++) { + int j = i; + int k = 0; + while(j < arg0.length) { + int l = 0; + char c = arg0[j]; + char c1 = '\0'; + if(j + 1 < arg0.length) + c1 = arg0[j + 1]; + if(k < arg3.length && (l = fha(arg3[k], c, c1)) > 0) { + j += l; + k++; + continue; + } + if(k == 0) + break; + if((l = fha(arg3[k - 1], c, c1)) > 0) { + j += l; + continue; + } + if(k >= arg3.length || !fhg(c)) + break; + j++; + } + if(k >= arg3.length) { + boolean flag = false; + int i1 = fgk(arg0, arg1, i); + int j1 = fgl(arg0, arg2, j - 1); + if(fen) + System.out.println("Potential tld: " + String.valueOf(arg3) + " at char " + i + " (type=" + arg4 + ", startmatch=" + i1 + ", endmatch=" + j1 + ")"); + if(arg4 == 1 && i1 > 0 && j1 > 0) + flag = true; + if(arg4 == 2 && (i1 > 2 && j1 > 0 || i1 > 0 && j1 > 2)) + flag = true; + if(arg4 == 3 && i1 > 0 && j1 > 2) + flag = true; + if(flag) { + if(fen) + System.out.println("Filtered tld: " + String.valueOf(arg3) + " at char " + i); + int k1 = i; + int l1 = j - 1; + if(i1 > 2) { + if(i1 == 4) { + boolean flag1 = false; + for(int j2 = k1 - 1; j2 >= 0; j2--) + if(flag1) { + if(arg1[j2] != '*') + break; + k1 = j2; + } else + if(arg1[j2] == '*') { + k1 = j2; + flag1 = true; + } + + } + boolean flag2 = false; + for(int k2 = k1 - 1; k2 >= 0; k2--) + if(flag2) { + if(fhg(arg0[k2])) + break; + k1 = k2; + } else + if(!fhg(arg0[k2])) { + flag2 = true; + k1 = k2; + } + + } + if(j1 > 2) { + if(j1 == 4) { + boolean flag3 = false; + for(int l2 = l1 + 1; l2 < arg0.length; l2++) + if(flag3) { + if(arg2[l2] != '*') + break; + l1 = l2; + } else + if(arg2[l2] == '*') { + l1 = l2; + flag3 = true; + } + + } + boolean flag4 = false; + for(int i3 = l1 + 1; i3 < arg0.length; i3++) + if(flag4) { + if(fhg(arg0[i3])) + break; + l1 = i3; + } else + if(!fhg(arg0[i3])) { + flag4 = true; + l1 = i3; + } + + } + for(int i2 = k1; i2 <= l1; i2++) + arg0[i2] = '*'; + + } + } + } + + } + + public static int fgk(char arg0[], char arg1[], int arg2) { + if(arg2 == 0) + return 2; + for(int i = arg2 - 1; i >= 0; i--) { + if(!fhg(arg0[i])) + break; + if(arg0[i] == ',' || arg0[i] == '.') + return 3; + } + + int j = 0; + for(int k = arg2 - 1; k >= 0; k--) { + if(!fhg(arg1[k])) + break; + if(arg1[k] == '*') + j++; + } + + if(j >= 3) + return 4; + return !fhg(arg0[arg2 - 1]) ? 0 : 1; + } + + public static int fgl(char arg0[], char arg1[], int arg2) { + if(arg2 + 1 == arg0.length) + return 2; + for(int i = arg2 + 1; i < arg0.length; i++) { + if(!fhg(arg0[i])) + break; + if(arg0[i] == '\\' || arg0[i] == '/') + return 3; + } + + int j = 0; + for(int k = arg2 + 1; k < arg0.length; k++) { + if(!fhg(arg1[k])) + break; + if(arg1[k] == '*') + j++; + } + + if(j >= 5) + return 4; + return !fhg(arg0[arg2 + 1]) ? 0 : 1; + } + + public static void fgm(char arg0[], char arg1[], byte arg2[][]) { + if(arg1.length > arg0.length) + return; + for(int i = 0; i <= arg0.length - arg1.length; i++) { + int j = i; + int k = 0; + boolean flag = false; + while(j < arg0.length) { + int l = 0; + char c = arg0[j]; + char c2 = '\0'; + if(j + 1 < arg0.length) + c2 = arg0[j + 1]; + if(k < arg1.length && (l = fhb(arg1[k], c, c2)) > 0) { + j += l; + k++; + continue; + } + if(k == 0) + break; + if((l = fhb(arg1[k - 1], c, c2)) > 0) { + j += l; + continue; + } + if(k >= arg1.length || !fhh(c)) + break; + if(fhg(c) && c != '\'') + flag = true; + j++; + } + if(k >= arg1.length) { + boolean flag1 = true; + if(fen) + System.out.println("Potential word: " + String.valueOf(arg1) + " at char " + i); + if(!flag) { + char c1 = ' '; + if(i - 1 >= 0) + c1 = arg0[i - 1]; + char c3 = ' '; + if(j < arg0.length) + c3 = arg0[j]; + byte byte0 = fhc(c1); + byte byte1 = fhc(c3); + if(arg2 != null && fgn(arg2, byte0, byte1)) + flag1 = false; + } else { + boolean flag2 = false; + boolean flag3 = false; + if(i - 1 < 0 || fhg(arg0[i - 1]) && arg0[i - 1] != '\'') + flag2 = true; + if(j >= arg0.length || fhg(arg0[j]) && arg0[j] != '\'') + flag3 = true; + if(!flag2 || !flag3) { + boolean flag4 = false; + int j1 = i - 2; + if(flag2) + j1 = i; + for(; !flag4 && j1 < j; j1++) + if(j1 >= 0 && (!fhg(arg0[j1]) || arg0[j1] == '\'')) { + char ac[] = new char[3]; + int k1; + for(k1 = 0; k1 < 3; k1++) { + if(j1 + k1 >= arg0.length || fhg(arg0[j1 + k1]) && arg0[j1 + k1] != '\'') + break; + ac[k1] = arg0[j1 + k1]; + } + + boolean flag5 = true; + if(k1 == 0) + flag5 = false; + if(k1 < 3 && j1 - 1 >= 0 && (!fhg(arg0[j1 - 1]) || arg0[j1 - 1] == '\'')) + flag5 = false; + if(flag5 && !fhm(ac)) + flag4 = true; + } + + if(!flag4) + flag1 = false; + } + } + if(flag1) { + if(ffa) + System.out.println("Filtered word: " + String.valueOf(arg1) + " at char " + i); + for(int i1 = i; i1 < j; i1++) + arg0[i1] = '*'; + + } + } + } + + } + + public static boolean fgn(byte arg0[][], byte arg1, byte arg2) { + int i = 0; + if(arg0[i][0] == arg1 && arg0[i][1] == arg2) + return true; + int j = arg0.length - 1; + if(arg0[j][0] == arg1 && arg0[j][1] == arg2) + return true; + do { + int k = (i + j) / 2; + if(arg0[k][0] == arg1 && arg0[k][1] == arg2) + return true; + if(arg1 < arg0[k][0] || arg1 == arg0[k][0] && arg2 < arg0[k][1]) + j = k; + else + i = k; + } while(i != j && i + 1 != j); + return false; + } + + public static int fha(char c, char c1, char c2) { + if(c == c1) + return 1; + if(c == 'e' && c1 == '3') + return 1; + if(c == 't' && (c1 == '7' || c1 == '+')) + return 1; + if(c == 'a' && (c1 == '4' || c1 == '@')) + return 1; + if(c == 'o' && c1 == '0') + return 1; + if(c == 'i' && c1 == '1') + return 1; + if(c == 's' && c1 == '5') + return 1; + if(c == 'f' && c1 == 'p' && c2 == 'h') + return 2; + return c != 'g' || c1 != '9' ? 0 : 1; + } + + public static int fhb(char c, char c1, char c2) { + if(c == '*') + return 0; + if(c == c1) + return 1; + if(c >= 'a' && c <= 'z') { + if(c == 'e') + return c1 != '3' ? 0 : 1; + if(c == 't') + return c1 != '7' ? 0 : 1; + if(c == 'a') + return c1 != '4' && c1 != '@' ? 0 : 1; + if(c == 'o') { + if(c1 == '0' || c1 == '*') + return 1; + return c1 != '(' || c2 != ')' ? 0 : 2; + } + if(c == 'i') + return c1 != 'y' && c1 != 'l' && c1 != 'j' && c1 != '1' && c1 != '!' && c1 != ':' && c1 != ';' ? 0 : 1; + if(c == 'n') + return 0; + if(c == 's') + return c1 != '5' && c1 != 'z' && c1 != '$' ? 0 : 1; + if(c == 'r') + return 0; + if(c == 'h') + return 0; + if(c == 'l') + return c1 != '1' ? 0 : 1; + if(c == 'd') + return 0; + if(c == 'c') + return c1 != '(' ? 0 : 1; + if(c == 'u') + return c1 != 'v' ? 0 : 1; + if(c == 'm') + return 0; + if(c == 'f') + return c1 != 'p' || c2 != 'h' ? 0 : 2; + if(c == 'p') + return 0; + if(c == 'g') + return c1 != '9' && c1 != '6' ? 0 : 1; + if(c == 'w') + return c1 != 'v' || c2 != 'v' ? 0 : 2; + if(c == 'y') + return 0; + if(c == 'b') + return c1 != '1' || c2 != '3' ? 0 : 2; + if(c == 'v') + return 0; + if(c == 'k') + return 0; + if(c == 'x') + return c1 != ')' || c2 != '(' ? 0 : 2; + if(c == 'j') + return 0; + if(c == 'q') + return 0; + if(c == 'z') + return 0; + } + if(c >= '0' && c <= '9') { + if(c == '0') { + if(c1 == 'o' || c1 == 'O') + return 1; + return c1 != '(' || c2 != ')' ? 0 : 2; + } + if(c == '1') + return c1 != 'l' ? 0 : 1; + if(c == '2') + return 0; + if(c == '3') + return 0; + if(c == '4') + return 0; + if(c == '5') + return 0; + if(c == '6') + return 0; + if(c == '7') + return 0; + if(c == '8') + return 0; + if(c == '9') + return 0; + } + if(c == '-') + return 0; + if(c == ',') + return c1 != '.' ? 0 : 1; + if(c == '.') + return c1 != ',' ? 0 : 1; + if(c == '(') + return 0; + if(c == ')') + return 0; + if(c == '!') + return c1 != 'i' ? 0 : 1; + if(c == '\'') + return 0; + if(ffa) + System.out.println("Letter=" + c + " not matched"); + return 0; + } + + public static byte fhc(char c) { + if(c >= 'a' && c <= 'z') + return (byte)((c - 97) + 1); + if(c == '\'') + return 28; + if(c >= '0' && c <= '9') + return (byte)((c - 48) + 29); + else + return 27; + } + + public static void fhd(char arg0[]) { + int i = 0; + int j = 0; + int k = 0; + int l = 0; + while((i = fhe(arg0, j)) != -1) { + boolean flag = false; + for(int i1 = j; i1 >= 0 && i1 < i && !flag; i1++) + if(!fhg(arg0[i1]) && !fhh(arg0[i1])) + flag = true; + + if(flag) + k = 0; + if(k == 0) + l = i; + j = fhf(arg0, i); + int j1 = 0; + for(int k1 = i; k1 < j; k1++) + j1 = (j1 * 10 + arg0[k1]) - 48; + + if(j1 > 255 || j - i > 8) + k = 0; + else + k++; + if(k == 4) { + for(int l1 = l; l1 < j; l1++) + arg0[l1] = '*'; + + k = 0; + } + } + } + + public static int fhe(char arg0[], int arg1) { + for(int i = arg1; i < arg0.length && i >= 0; i++) + if(arg0[i] >= '0' && arg0[i] <= '9') + return i; + + return -1; + } + + public static int fhf(char arg0[], int arg1) { + for(int i = arg1; i < arg0.length && i >= 0; i++) + if(arg0[i] < '0' || arg0[i] > '9') + return i; + + return arg0.length; + } + + public static boolean fhg(char c) { + return !fhi(c) && !fhj(c); + } + + public static boolean fhh(char c) { + if(c < 'a' || c > 'z') + return true; + return c == 'v' || c == 'x' || c == 'j' || c == 'q' || c == 'z'; + } + + public static boolean fhi(char c) { + return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'; + } + + public static boolean fhj(char c) { + return c >= '0' && c <= '9'; + } + + public static boolean fhk(char c) { + return c >= 'a' && c <= 'z'; + } + + public static boolean fhl(char c) { + return c >= 'A' && c <= 'Z'; + } + + public static boolean fhm(char arg0[]) { + boolean flag = true; + for(int i = 0; i < arg0.length; i++) + if(!fhj(arg0[i]) && arg0[i] != 0) + flag = false; + + if(flag) + return true; + int j = fhn(arg0); + int k = 0; + int l = ffd.length - 1; + if(j == ffd[k] || j == ffd[l]) + return true; + do { + int i1 = (k + l) / 2; + if(j == ffd[i1]) + return true; + if(j < ffd[i1]) + l = i1; + else + k = i1; + } while(k != l && k + 1 != l); + return false; + } + + public static int fhn(char arg0[]) { + if(arg0.length > 6) + return 0; + int i = 0; + for(int j = 0; j < arg0.length; j++) { + char c = arg0[arg0.length - j - 1]; + if(c >= 'a' && c <= 'z') + i = i * 38 + ((c - 97) + 1); + else + if(c == '\'') + i = i * 38 + 27; + else + if(c >= '0' && c <= '9') + i = i * 38 + ((c - 48) + 28); + else + if(c != 0) { + if(ffa) + System.out.println("word2hash failed on " + new String(arg0)); + return 0; + } + } + + return i; + } + + static boolean fen; + static boolean ffa; + static boolean ffb = true; + static int ffc = 3; + static int ffd[]; + static char ffe[][]; + static byte fff[][][]; + static char ffg[][]; + static byte ffh[][][]; + static char ffi[][]; + static int ffj[]; + static String ffk[] = { + "cook", "cook's", "cooks", "seeks", "sheet" + }; + +} diff --git a/clients/clientRSC/src/main/java/mudclient/ChatMessage.java b/clients/clientRSC/src/main/java/mudclient/ChatMessage.java new file mode 100755 index 0000000..80b1cf1 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/ChatMessage.java @@ -0,0 +1,105 @@ +package mudclient; + +public class ChatMessage { + + public static String bytesToString(byte arg0[], int arg1, int arg2) { + try { + int i = 0; + int j = -1; + for(int k = 0; k < arg2; k++) { + int l = arg0[arg1++] & 0xff; + int i1 = l >> 4 & 0xf; + if(j == -1) { + if(i1 < 13) + chatMessage[i++] = validChars[i1]; + else + j = i1; + } else { + chatMessage[i++] = validChars[((j << 4) + i1) - 195]; + j = -1; + } + i1 = l & 0xf; + if(j == -1) { + if(i1 < 13) + chatMessage[i++] = validChars[i1]; + else + j = i1; + } else { + chatMessage[i++] = validChars[((j << 4) + i1) - 195]; + j = -1; + } + } + + boolean flag = true; + for(int j1 = 0; j1 < i; j1++) { + char c = chatMessage[j1]; + if(j1 > 4 && c == '@') + chatMessage[j1] = ' '; + if(c == '%') + chatMessage[j1] = ' '; + if(flag && c >= 'a' && c <= 'z') { + chatMessage[j1] += '\uFFE0'; + flag = false; + } + if(c == '.' || c == '!') + flag = true; + } + + return new String(chatMessage, 0, i); + } + catch(Exception _ex) { + return "."; + } + } + + public static int stringToBytes(String arg0) { + if(arg0.length() > 80) + arg0 = arg0.substring(0, 80); + arg0 = arg0.toLowerCase(); + int i = 0; + int j = -1; + for(int k = 0; k < arg0.length(); k++) { + char c = arg0.charAt(k); + int l = 0; + for(int i1 = 0; i1 < validChars.length; i1++) { + if(c != validChars[i1]) + continue; + l = i1; + break; + } + + if(l > 12) + l += 195; + if(j == -1) { + if(l < 13) + j = l; + else + lastChat[i++] = (byte)l; + } else + if(l < 13) { + lastChat[i++] = (byte)((j << 4) + l); + j = -1; + } else { + lastChat[i++] = (byte)((j << 4) + (l >> 4)); + j = l & 0xf; + } + } + + if(j != -1) + lastChat[i++] = (byte)(j << 4); + return i; + } + + public static byte lastChat[] = new byte[100]; + public static char chatMessage[] = new char[100]; + private static char validChars[] = { + ' ', 'e', 't', 'a', 'o', 'i', 'h', 'n', 's', 'r', + 'd', 'l', 'u', 'm', 'w', 'c', 'y', 'f', 'g', 'p', + 'b', 'v', 'k', 'x', 'j', 'q', 'z', '0', '1', '2', + '3', '4', '5', '6', '7', '8', '9', ' ', '!', '?', + '.', ',', ':', ';', '(', ')', '-', '&', '*', '\\', + '\'', '@', '#', '+', '=', '\243', '$', '%', '"', '[', + ']' + }; + +} diff --git a/clients/clientRSC/src/main/java/mudclient/Config.java b/clients/clientRSC/src/main/java/mudclient/Config.java new file mode 100755 index 0000000..ef40f62 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/Config.java @@ -0,0 +1,16 @@ +package mudclient; + +public class Config { + + public static String CONF_DIR = "./data/"; + public static String MEDIA_DIR = "./data/"; + + public static int CLIENT_VERSION = 40; + public static boolean MEMBERS_FEATURES = false; + + public static String SERVER_IP = "216.24.201.81"; + public static int SERVER_PORT = 43595; + + public static String CACHE_URL = "http://216.24.201.81/cache/"; + public static String CRASH_URL = "http://216.24.201.81/crash.php"; +} diff --git a/clients/clientRSC/src/main/java/mudclient/Data.java b/clients/clientRSC/src/main/java/mudclient/Data.java new file mode 100755 index 0000000..494ef58 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/Data.java @@ -0,0 +1,480 @@ +package mudclient; + +public class Data { + + public static int getModelNameIndex(String arg0) { + if(arg0.equalsIgnoreCase("na")) + return 0; + for(int i = 0; i < modelCount; i++) + if(modelName[i].equalsIgnoreCase(arg0)) + return i; + + modelName[modelCount++] = arg0; + return modelCount - 1; + } + + public static int readByte() { + int i = integerData[integerDataIndex] & 0xff; + integerDataIndex++; + return i; + } + + public static int readShort() { + int i = DataOperations.getShort(integerData, integerDataIndex); + integerDataIndex += 2; + return i; + } + + public static int readInt() { + int i = DataOperations.getInt(integerData, integerDataIndex); + integerDataIndex += 4; + if(i > 0x5f5e0ff) + i = 0x5f5e0ff - i; + return i; + } + + public static String readString() { + String s; + for(s = ""; stringData[stringDataIndex] != 0; s = s + (char)stringData[stringDataIndex++]); + stringDataIndex++; + return s; + } + + public static void load(byte arg0[]) { + stringData = DataOperations.loadData("string.dat", 0, arg0); + stringDataIndex = 0; + integerData = DataOperations.loadData("integer.dat", 0, arg0); + integerDataIndex = 0; + itemCount = readShort(); + itemName = new String[itemCount]; + itemDescription = new String[itemCount]; + itemCommand = new String[itemCount]; + itemInventoryPicture = new int[itemCount]; + itemBasePrice = new int[itemCount]; + itemStackable = new int[itemCount]; + itemUnused = new int[itemCount]; + itemIsEquippable = new int[itemCount]; + itemPictureMask = new int[itemCount]; + itemSpecial = new int[itemCount]; + itemMembers = new int[itemCount]; + for(int i = 0; i < itemCount; i++) + itemName[i] = readString(); + + for(int j = 0; j < itemCount; j++) + itemDescription[j] = readString(); + + for(int k = 0; k < itemCount; k++) + itemCommand[k] = readString(); + + for(int l = 0; l < itemCount; l++) { + itemInventoryPicture[l] = readShort(); + if(itemInventoryPicture[l] + 1 > highestLoadedPicture) + highestLoadedPicture = itemInventoryPicture[l] + 1; + } + + for(int i1 = 0; i1 < itemCount; i1++) + itemBasePrice[i1] = readInt(); + + for(int j1 = 0; j1 < itemCount; j1++) + itemStackable[j1] = readByte(); + + for(int k1 = 0; k1 < itemCount; k1++) + itemUnused[k1] = readByte(); + + for(int l1 = 0; l1 < itemCount; l1++) + itemIsEquippable[l1] = readShort(); + + for(int i2 = 0; i2 < itemCount; i2++) + itemPictureMask[i2] = readInt(); + + for(int j2 = 0; j2 < itemCount; j2++) + itemSpecial[j2] = readByte(); + + for(int k2 = 0; k2 < itemCount; k2++) + itemMembers[k2] = readByte(); + + for(int l2 = 0; l2 < itemCount; l2++) + if(!Config.MEMBERS_FEATURES && itemMembers[l2] == 1) { + itemName[l2] = "Members object"; + itemDescription[l2] = "You need to be a member to use this object"; + itemBasePrice[l2] = 0; + itemCommand[l2] = ""; + itemUnused[0] = 0; + itemIsEquippable[l2] = 0; + itemSpecial[l2] = 1; + } + + npcCount = readShort(); + npcName = new String[npcCount]; + npcDescription = new String[npcCount]; + npcCommand = new String[npcCount]; + npcAttack = new int[npcCount]; + npcStrength = new int[npcCount]; + npcHits = new int[npcCount]; + npcDefense = new int[npcCount]; + npcAttackable = new int[npcCount]; + npcAnimationCount = new int[npcCount][12]; + npcHairColor = new int[npcCount]; + npcTopColor = new int[npcCount]; + npcBottomColor = new int[npcCount]; + npcSkinColor = new int[npcCount]; + npcCameraArray1 = new int[npcCount]; + npcCameraArray2 = new int[npcCount]; + npcWalkModelArray = new int[npcCount]; + npcCombatModel = new int[npcCount]; + npcCombatSprite = new int[npcCount]; + for(int i3 = 0; i3 < npcCount; i3++) + npcName[i3] = readString(); + + for(int j3 = 0; j3 < npcCount; j3++) + npcDescription[j3] = readString(); + + for(int k3 = 0; k3 < npcCount; k3++) + npcAttack[k3] = readByte(); + + for(int l3 = 0; l3 < npcCount; l3++) + npcStrength[l3] = readByte(); + + for(int i4 = 0; i4 < npcCount; i4++) + npcHits[i4] = readByte(); + + for(int j4 = 0; j4 < npcCount; j4++) + npcDefense[j4] = readByte(); + + for(int k4 = 0; k4 < npcCount; k4++) + npcAttackable[k4] = readByte(); + + for(int l4 = 0; l4 < npcCount; l4++) { + for(int i5 = 0; i5 < 12; i5++) { + npcAnimationCount[l4][i5] = readByte(); + if(npcAnimationCount[l4][i5] == 255) + npcAnimationCount[l4][i5] = -1; + } + + } + + for(int j5 = 0; j5 < npcCount; j5++) + npcHairColor[j5] = readInt(); + + for(int k5 = 0; k5 < npcCount; k5++) + npcTopColor[k5] = readInt(); + + for(int l5 = 0; l5 < npcCount; l5++) + npcBottomColor[l5] = readInt(); + + for(int i6 = 0; i6 < npcCount; i6++) + npcSkinColor[i6] = readInt(); + + for(int j6 = 0; j6 < npcCount; j6++) + npcCameraArray1[j6] = readShort(); + + for(int k6 = 0; k6 < npcCount; k6++) + npcCameraArray2[k6] = readShort(); + + for(int l6 = 0; l6 < npcCount; l6++) + npcWalkModelArray[l6] = readByte(); + + for(int i7 = 0; i7 < npcCount; i7++) + npcCombatModel[i7] = readByte(); + + for(int j7 = 0; j7 < npcCount; j7++) + npcCombatSprite[j7] = readByte(); + + for(int k7 = 0; k7 < npcCount; k7++) + npcCommand[k7] = readString(); + + textureCount = readShort(); + textureName = new String[textureCount]; + textureSubName = new String[textureCount]; + for(int l7 = 0; l7 < textureCount; l7++) + textureName[l7] = readString(); + + for(int i8 = 0; i8 < textureCount; i8++) + textureSubName[i8] = readString(); + + animationCount = readShort(); + animationName = new String[animationCount]; + animationCharacterColor = new int[animationCount]; + animationGenderModels = new int[animationCount]; + animationHasA = new int[animationCount]; + animationHasF = new int[animationCount]; + animationNumber = new int[animationCount]; + for(int j8 = 0; j8 < animationCount; j8++) + animationName[j8] = readString(); + + for(int k8 = 0; k8 < animationCount; k8++) + animationCharacterColor[k8] = readInt(); + + for(int l8 = 0; l8 < animationCount; l8++) + animationGenderModels[l8] = readByte(); + + for(int i9 = 0; i9 < animationCount; i9++) + animationHasA[i9] = readByte(); + + for(int j9 = 0; j9 < animationCount; j9++) + animationHasF[j9] = readByte(); + + for(int k9 = 0; k9 < animationCount; k9++) + animationNumber[k9] = readByte(); + + objectCount = readShort(); + objectName = new String[objectCount]; + objectDescription = new String[objectCount]; + objectCommand1 = new String[objectCount]; + objectCommand2 = new String[objectCount]; + objectModelNumber = new int[objectCount]; + objectWidth = new int[objectCount]; + objectHeight = new int[objectCount]; + objectType = new int[objectCount]; + objectGroundItemVar = new int[objectCount]; + for(int l9 = 0; l9 < objectCount; l9++) + objectName[l9] = readString(); + + for(int i10 = 0; i10 < objectCount; i10++) + objectDescription[i10] = readString(); + + for(int j10 = 0; j10 < objectCount; j10++) + objectCommand1[j10] = readString(); + + for(int k10 = 0; k10 < objectCount; k10++) + objectCommand2[k10] = readString(); + + for(int l10 = 0; l10 < objectCount; l10++) + objectModelNumber[l10] = getModelNameIndex(readString()); + + for(int i11 = 0; i11 < objectCount; i11++) + objectWidth[i11] = readByte(); + + for(int j11 = 0; j11 < objectCount; j11++) + objectHeight[j11] = readByte(); + + for(int k11 = 0; k11 < objectCount; k11++) + objectType[k11] = readByte(); + + for(int l11 = 0; l11 < objectCount; l11++) + objectGroundItemVar[l11] = readByte(); + + wallObjectCount = readShort(); + wallObjectName = new String[wallObjectCount]; + wallObjectDescription = new String[wallObjectCount]; + wallObjectCommand1 = new String[wallObjectCount]; + wallObjectCommand2 = new String[wallObjectCount]; + wallObjectModelVar1 = new int[wallObjectCount]; + wallObjectModelVar2 = new int[wallObjectCount]; + wallObjectModelVar3 = new int[wallObjectCount]; + wallObjectType = new int[wallObjectCount]; + wallObjectUnknown = new int[wallObjectCount]; + for(int i12 = 0; i12 < wallObjectCount; i12++) + wallObjectName[i12] = readString(); + + for(int j12 = 0; j12 < wallObjectCount; j12++) + wallObjectDescription[j12] = readString(); + + for(int k12 = 0; k12 < wallObjectCount; k12++) + wallObjectCommand1[k12] = readString(); + + for(int l12 = 0; l12 < wallObjectCount; l12++) + wallObjectCommand2[l12] = readString(); + + for(int i13 = 0; i13 < wallObjectCount; i13++) + wallObjectModelVar1[i13] = readShort(); + + for(int j13 = 0; j13 < wallObjectCount; j13++) + wallObjectModelVar2[j13] = readInt(); + + for(int k13 = 0; k13 < wallObjectCount; k13++) + wallObjectModelVar3[k13] = readInt(); + + for(int l13 = 0; l13 < wallObjectCount; l13++) + wallObjectType[l13] = readByte(); + + for(int i14 = 0; i14 < wallObjectCount; i14++) + wallObjectUnknown[i14] = readByte(); + + akd = readShort(); + alm = new int[akd]; + aln = new int[akd]; + for(int j14 = 0; j14 < akd; j14++) + alm[j14] = readByte(); + + for(int k14 = 0; k14 < akd; k14++) + aln[k14] = readByte(); + + /*System.out.println("akd:"); + for(int i = 0; i < akd; i++) { + System.out.println(i + ": " + alm[i] + " " + aln[i]); + }*/ + + ajg = readShort(); + akg = new int[ajg]; + akh = new int[ajg]; + aki = new int[ajg]; + for(int l14 = 0; l14 < ajg; l14++) + akg[l14] = readInt(); + + for(int i15 = 0; i15 < ajg; i15++) + akh[i15] = readByte(); + + for(int j15 = 0; j15 < ajg; j15++) + aki[j15] = readByte(); + + /*System.out.println("ajg:"); + for(int i = 0; i < ajg; i++) { + System.out.println(i + ": " + akg[i] + " " + akh[i] + " " + aki[i]); + }*/ + + spellProjectileCount = readShort(); + spellCount = readShort(); + spellName = new String[spellCount]; + spellDescription = new String[spellCount]; + spellRequiredLevel = new int[spellCount]; + spellDifferentRuneCount = new int[spellCount]; + spellType = new int[spellCount]; + spelRequiredRuneID = new int[spellCount][]; + spellRequiredRuneCount = new int[spellCount][]; + for(int k15 = 0; k15 < spellCount; k15++) + spellName[k15] = readString(); + + for(int l15 = 0; l15 < spellCount; l15++) + spellDescription[l15] = readString(); + + for(int i16 = 0; i16 < spellCount; i16++) + spellRequiredLevel[i16] = readByte(); + + for(int j16 = 0; j16 < spellCount; j16++) + spellDifferentRuneCount[j16] = readByte(); + + for(int k16 = 0; k16 < spellCount; k16++) + spellType[k16] = readByte(); + + for(int l16 = 0; l16 < spellCount; l16++) { + int i17 = readByte(); + spelRequiredRuneID[l16] = new int[i17]; + for(int k17 = 0; k17 < i17; k17++) + spelRequiredRuneID[l16][k17] = readShort(); + + } + + for(int j17 = 0; j17 < spellCount; j17++) { + int l17 = readByte(); + spellRequiredRuneCount[j17] = new int[l17]; + for(int j18 = 0; j18 < l17; j18++) + spellRequiredRuneCount[j17][j18] = readByte(); + + } + + prayerCount = readShort(); + prayerName = new String[prayerCount]; + prayerDescription = new String[prayerCount]; + prayerRequiredLevel = new int[prayerCount]; + prayerDrainRate = new int[prayerCount]; + for(int i18 = 0; i18 < prayerCount; i18++) + prayerName[i18] = readString(); + + for(int k18 = 0; k18 < prayerCount; k18++) + prayerDescription[k18] = readString(); + + for(int l18 = 0; l18 < prayerCount; l18++) + prayerRequiredLevel[l18] = readByte(); + + for(int i19 = 0; i19 < prayerCount; i19++) + prayerDrainRate[i19] = readByte(); + + stringData = null; + integerData = null; + } + + public static int itemCount; + public static int highestLoadedPicture; + public static String npcName[]; + public static String npcDescription[]; + public static String npcCommand[]; + public static int spellProjectileCount; + public static int objectCount; + public static String wallObjectName[]; + public static String wallObjectDescription[]; + public static String wallObjectCommand1[]; + public static String wallObjectCommand2[]; + public static int spellCount; + public static int npcCameraArray1[]; + public static int npcCameraArray2[]; + public static String itemName[]; + public static String itemDescription[]; + public static String itemCommand[]; + public static int itemInventoryPicture[]; + public static int itemBasePrice[]; + public static int itemStackable[]; + public static int itemUnused[]; + public static int itemIsEquippable[]; + public static int itemPictureMask[]; + public static int itemSpecial[]; + public static int itemMembers[]; + public static String prayerName[]; + public static String prayerDescription[]; + public static String animationName[]; + public static int prayerCount; + public static int npcHairColor[]; + public static int npcTopColor[]; + public static int npcBottomColor[]; + public static int npcSkinColor[]; + public static int ajg; + public static int wallObjectCount; + public static int animationCount; + public static String modelName[] = new String[5000]; + public static String textureName[]; + public static String textureSubName[]; + public static String objectName[]; + public static String objectDescription[]; + public static String objectCommand1[]; + public static String objectCommand2[]; + public static int textureCount; + public static int akd; + public static int prayerRequiredLevel[]; + public static int prayerDrainRate[]; + public static int akg[]; + public static int akh[]; + public static int aki[]; + public static String spellName[]; + public static String spellDescription[]; + public static int npcWalkModelArray[]; + public static int npcCombatModel[]; + public static int npcCombatSprite[]; + public static int npcAnimationCount[][]; + public static int npcAttack[]; + public static int npcStrength[]; + public static int npcHits[]; + public static int npcDefense[]; + public static int npcAttackable[]; + public static int npcCount; + public static int animationCharacterColor[]; + public static int animationGenderModels[]; + public static int animationHasA[]; + public static int animationHasF[]; + public static int animationNumber[]; + public static int alm[]; + public static int aln[]; + public static int modelCount; + public static int spellRequiredLevel[]; + public static int spellDifferentRuneCount[]; + public static int spellType[]; + public static int spelRequiredRuneID[][]; + public static int spellRequiredRuneCount[][]; + public static int objectModelNumber[]; + public static int objectWidth[]; + public static int objectHeight[]; + public static int objectType[]; + public static int objectGroundItemVar[]; + public static String aml[] = new String[5000]; + public static int wallObjectModelVar1[]; + public static int wallObjectModelVar2[]; + public static int wallObjectModelVar3[]; + public static int wallObjectType[]; + public static int wallObjectUnknown[]; + public static String and[] = new String[5000]; + static byte stringData[]; + static byte integerData[]; + static int stringDataIndex; + static int integerDataIndex; + public static int ani; + +} diff --git a/clients/clientRSC/src/main/java/mudclient/DataEncryption.java b/clients/clientRSC/src/main/java/mudclient/DataEncryption.java new file mode 100755 index 0000000..0cb50c3 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/DataEncryption.java @@ -0,0 +1,50 @@ +package mudclient; + +public class DataEncryption { + + public DataEncryption(byte arg0[]) { + data = arg0; + offset = 0; + } + + public void addByte(int arg0) { + data[offset++] = (byte) arg0; + } + + public void addInt(int arg0) { + data[offset++] = (byte) (arg0 >> 24); + data[offset++] = (byte) (arg0 >> 16); + data[offset++] = (byte) (arg0 >> 8); + data[offset++] = (byte) arg0; + } + + @SuppressWarnings("deprecation") + public void addString(String arg0) { + arg0.getBytes(0, arg0.length(), data, offset); + offset += arg0.length(); + data[offset++] = 10; + } + + public int getByte() { + return data[offset++] & 0xff; + } + + public int getShort() { + offset += 2; + return ((data[offset - 2] & 0xff) << 8) + (data[offset - 1] & 0xff); + } + + public int getInt() { + offset += 4; + return ((data[offset - 4] & 0xff) << 24) + ((data[offset - 3] & 0xff) << 16) + ((data[offset - 2] & 0xff) << 8) + (data[offset - 1] & 0xff); + } + + public void getBytes(byte arg0[], int arg1, int arg2) { + for (int i = arg1; i < arg1 + arg2; i++) + arg0[i] = data[offset++]; + + } + + public byte data[]; + public int offset; +} \ No newline at end of file diff --git a/clients/clientRSC/src/main/java/mudclient/DataFileDecrypter.java b/clients/clientRSC/src/main/java/mudclient/DataFileDecrypter.java new file mode 100755 index 0000000..50b8bdd --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/DataFileDecrypter.java @@ -0,0 +1,503 @@ +package mudclient; + +public class DataFileDecrypter { + + public static int unpackData(byte abyte0[], int i, byte abyte1[], int j, int k) { + DataFileVariables o1 = new DataFileVariables(); + o1.aee = abyte1; + o1.aef = k; + o1.aej = abyte0; + o1.aek = 0; + o1.aeg = j; + o1.ael = i; + o1.afe = 0; + o1.afd = 0; + o1.aeh = 0; + o1.aei = 0; + o1.aem = 0; + o1.aen = 0; + o1.afg = 0; + gll(o1); + i -= o1.ael; + return i; + } + + private static void glk(DataFileVariables arg0) { + byte byte4 = arg0.afa; + int i = arg0.afb; + int j = arg0.afl; + int k = arg0.afj; + int ai[] = DataFileVariables.aga; + int l = arg0.afi; + byte abyte0[] = arg0.aej; + int i1 = arg0.aek; + int j1 = arg0.ael; + int k1 = j1; + int l1 = arg0.aha + 1; +label0: + do { + if(i > 0) { + do { + if(j1 == 0) + break label0; + if(i == 1) + break; + abyte0[i1] = byte4; + i--; + i1++; + j1--; + } while(true); + if(j1 == 0) { + i = 1; + break; + } + abyte0[i1] = byte4; + i1++; + j1--; + } + boolean flag = true; + while(flag) { + flag = false; + if(j == l1) { + i = 0; + break label0; + } + byte4 = (byte)k; + l = ai[l]; + byte byte0 = (byte)(l & 0xff); + l >>= 8; + j++; + if(byte0 != k) { + k = byte0; + if(j1 == 0) { + i = 1; + } else { + abyte0[i1] = byte4; + i1++; + j1--; + flag = true; + continue; + } + break label0; + } + if(j != l1) + continue; + if(j1 == 0) { + i = 1; + break label0; + } + abyte0[i1] = byte4; + i1++; + j1--; + flag = true; + } + i = 2; + l = ai[l]; + byte byte1 = (byte)(l & 0xff); + l >>= 8; + if(++j != l1) + if(byte1 != k) { + k = byte1; + } else { + i = 3; + l = ai[l]; + byte byte2 = (byte)(l & 0xff); + l >>= 8; + if(++j != l1) + if(byte2 != k) { + k = byte2; + } else { + l = ai[l]; + byte byte3 = (byte)(l & 0xff); + l >>= 8; + j++; + i = (byte3 & 0xff) + 4; + l = ai[l]; + k = (byte)(l & 0xff); + l >>= 8; + j++; + } + } + } while(true); + int i2 = arg0.aem; + arg0.aem += k1 - j1; + if(arg0.aem < i2) + arg0.aen++; + arg0.afa = byte4; + arg0.afb = i; + arg0.afl = j; + arg0.afj = k; + DataFileVariables.aga = ai; + arg0.afi = l; + arg0.aej = abyte0; + arg0.aek = i1; + arg0.ael = j1; + } + + private static void gll(DataFileVariables arg0) { + int k8 = 0; + int ai[] = null; + int ai1[] = null; + int ai2[] = null; + arg0.aff = 1; + if(DataFileVariables.aga == null) + DataFileVariables.aga = new int[arg0.aff * 0x186a0]; + boolean flag19 = true; + while(flag19) { + byte byte0 = glm(arg0); + if(byte0 == 23) + return; + byte0 = glm(arg0); + byte0 = glm(arg0); + byte0 = glm(arg0); + byte0 = glm(arg0); + byte0 = glm(arg0); + arg0.afg++; + byte0 = glm(arg0); + byte0 = glm(arg0); + byte0 = glm(arg0); + byte0 = glm(arg0); + byte0 = gln(arg0); + if(byte0 != 0) + arg0.afc = true; + else + arg0.afc = false; + if(arg0.afc) + System.out.println("PANIC! RANDOMISED BLOCK!"); + arg0.afh = 0; + byte0 = glm(arg0); + arg0.afh = arg0.afh << 8 | byte0 & 0xff; + byte0 = glm(arg0); + arg0.afh = arg0.afh << 8 | byte0 & 0xff; + byte0 = glm(arg0); + arg0.afh = arg0.afh << 8 | byte0 & 0xff; + for(int j = 0; j < 16; j++) { + byte byte1 = gln(arg0); + if(byte1 == 1) + arg0.agd[j] = true; + else + arg0.agd[j] = false; + } + + for(int k = 0; k < 256; k++) + arg0.agc[k] = false; + + for(int l = 0; l < 16; l++) + if(arg0.agd[l]) { + for(int i3 = 0; i3 < 16; i3++) { + byte byte2 = gln(arg0); + if(byte2 == 1) + arg0.agc[l * 16 + i3] = true; + } + + } + + gmb(arg0); + int i4 = arg0.agb + 2; + int j4 = gma(3, arg0); + int k4 = gma(15, arg0); + for(int i1 = 0; i1 < k4; i1++) { + int j3 = 0; + do { + byte byte3 = gln(arg0); + if(byte3 == 0) + break; + j3++; + } while(true); + arg0.agi[i1] = (byte)j3; + } + + byte abyte0[] = new byte[6]; + for(byte byte16 = 0; byte16 < j4; byte16++) + abyte0[byte16] = byte16; + + for(int j1 = 0; j1 < k4; j1++) { + byte byte17 = arg0.agi[j1]; + byte byte15 = abyte0[byte17]; + for(; byte17 > 0; byte17--) + abyte0[byte17] = abyte0[byte17 - 1]; + + abyte0[0] = byte15; + arg0.agh[j1] = byte15; + } + + for(int k3 = 0; k3 < j4; k3++) { + int l6 = gma(5, arg0); + for(int k1 = 0; k1 < i4; k1++) { + do { + byte byte4 = gln(arg0); + if(byte4 == 0) + break; + byte4 = gln(arg0); + if(byte4 == 0) + l6++; + else + l6--; + } while(true); + arg0.agj[k3][k1] = (byte)l6; + } + + } + + for(int l3 = 0; l3 < j4; l3++) { + byte byte8 = 32; + int i = 0; + for(int l1 = 0; l1 < i4; l1++) { + if(arg0.agj[l3][l1] > i) + i = arg0.agj[l3][l1]; + if(arg0.agj[l3][l1] < byte8) + byte8 = arg0.agj[l3][l1]; + } + + gmc(arg0.agk[l3], arg0.agl[l3], arg0.agm[l3], arg0.agj[l3], byte8, i, i4); + arg0.agn[l3] = byte8; + } + + int l4 = arg0.agb + 1; + int i5 = -1; + int j5 = 0; + for(int i2 = 0; i2 <= 255; i2++) + arg0.afk[i2] = 0; + + int j9 = 4095; + for(int l8 = 15; l8 >= 0; l8--) { + for(int i9 = 15; i9 >= 0; i9--) { + arg0.agf[j9] = (byte)(l8 * 16 + i9); + j9--; + } + + arg0.agg[l8] = j9 + 1; + } + + int i6 = 0; + if(j5 == 0) { + i5++; + j5 = 50; + byte byte12 = arg0.agh[i5]; + k8 = arg0.agn[byte12]; + ai = arg0.agk[byte12]; + ai2 = arg0.agm[byte12]; + ai1 = arg0.agl[byte12]; + } + j5--; + int i7 = k8; + int l7; + byte byte9; + for(l7 = gma(i7, arg0); l7 > ai[i7]; l7 = l7 << 1 | byte9) { + i7++; + byte9 = gln(arg0); + } + + for(int k5 = ai2[l7 - ai1[i7]]; k5 != l4;) + if(k5 == 0 || k5 == 1) { + int j6 = -1; + int k6 = 1; + do { + if(k5 == 0) + j6 += k6; + else + if(k5 == 1) + j6 += 2 * k6; + k6 *= 2; + if(j5 == 0) { + i5++; + j5 = 50; + byte byte13 = arg0.agh[i5]; + k8 = arg0.agn[byte13]; + ai = arg0.agk[byte13]; + ai2 = arg0.agm[byte13]; + ai1 = arg0.agl[byte13]; + } + j5--; + int j7 = k8; + int i8; + byte byte10; + for(i8 = gma(j7, arg0); i8 > ai[j7]; i8 = i8 << 1 | byte10) { + j7++; + byte10 = gln(arg0); + } + + k5 = ai2[i8 - ai1[j7]]; + } while(k5 == 0 || k5 == 1); + j6++; + byte byte5 = arg0.age[arg0.agf[arg0.agg[0]] & 0xff]; + arg0.afk[byte5 & 0xff] += j6; + for(; j6 > 0; j6--) { + DataFileVariables.aga[i6] = byte5 & 0xff; + i6++; + } + + } else { + int j11 = k5 - 1; + byte byte6; + if(j11 < 16) { + int j10 = arg0.agg[0]; + byte6 = arg0.agf[j10 + j11]; + for(; j11 > 3; j11 -= 4) { + int k11 = j10 + j11; + arg0.agf[k11] = arg0.agf[k11 - 1]; + arg0.agf[k11 - 1] = arg0.agf[k11 - 2]; + arg0.agf[k11 - 2] = arg0.agf[k11 - 3]; + arg0.agf[k11 - 3] = arg0.agf[k11 - 4]; + } + + for(; j11 > 0; j11--) + arg0.agf[j10 + j11] = arg0.agf[(j10 + j11) - 1]; + + arg0.agf[j10] = byte6; + } else { + int l10 = j11 / 16; + int i11 = j11 % 16; + int k10 = arg0.agg[l10] + i11; + byte6 = arg0.agf[k10]; + for(; k10 > arg0.agg[l10]; k10--) + arg0.agf[k10] = arg0.agf[k10 - 1]; + + arg0.agg[l10]++; + for(; l10 > 0; l10--) { + arg0.agg[l10]--; + arg0.agf[arg0.agg[l10]] = arg0.agf[(arg0.agg[l10 - 1] + 16) - 1]; + } + + arg0.agg[0]--; + arg0.agf[arg0.agg[0]] = byte6; + if(arg0.agg[0] == 0) { + int i10 = 4095; + for(int k9 = 15; k9 >= 0; k9--) { + for(int l9 = 15; l9 >= 0; l9--) { + arg0.agf[i10] = arg0.agf[arg0.agg[k9] + l9]; + i10--; + } + + arg0.agg[k9] = i10 + 1; + } + + } + } + arg0.afk[arg0.age[byte6 & 0xff] & 0xff]++; + DataFileVariables.aga[i6] = arg0.age[byte6 & 0xff] & 0xff; + i6++; + if(j5 == 0) { + i5++; + j5 = 50; + byte byte14 = arg0.agh[i5]; + k8 = arg0.agn[byte14]; + ai = arg0.agk[byte14]; + ai2 = arg0.agm[byte14]; + ai1 = arg0.agl[byte14]; + } + j5--; + int k7 = k8; + int j8; + byte byte11; + for(j8 = gma(k7, arg0); j8 > ai[k7]; j8 = j8 << 1 | byte11) { + k7++; + byte11 = gln(arg0); + } + + k5 = ai2[j8 - ai1[k7]]; + } + + arg0.afb = 0; + arg0.afa = 0; + arg0.afm[0] = 0; + for(int j2 = 1; j2 <= 256; j2++) + arg0.afm[j2] = arg0.afk[j2 - 1]; + + for(int k2 = 1; k2 <= 256; k2++) + arg0.afm[k2] += arg0.afm[k2 - 1]; + + for(int l2 = 0; l2 < i6; l2++) { + byte byte7 = (byte)(DataFileVariables.aga[l2] & 0xff); + DataFileVariables.aga[arg0.afm[byte7 & 0xff]] |= l2 << 8; + arg0.afm[byte7 & 0xff]++; + } + + arg0.afi = DataFileVariables.aga[arg0.afh] >> 8; + arg0.afl = 0; + arg0.afi = DataFileVariables.aga[arg0.afi]; + arg0.afj = (byte)(arg0.afi & 0xff); + arg0.afi >>= 8; + arg0.afl++; + arg0.aha = i6; + glk(arg0); + if(arg0.afl == arg0.aha + 1 && arg0.afb == 0) + flag19 = true; + else + flag19 = false; + } + } + + private static byte glm(DataFileVariables o1) { + return (byte)gma(8, o1); + } + + private static byte gln(DataFileVariables o1) { + return (byte)gma(1, o1); + } + + private static int gma(int arg0, DataFileVariables arg1) { + int i; + do { + if(arg1.afe >= arg0) { + int j = arg1.afd >> arg1.afe - arg0 & (1 << arg0) - 1; + arg1.afe -= arg0; + i = j; + break; + } + arg1.afd = arg1.afd << 8 | arg1.aee[arg1.aef] & 0xff; + arg1.afe += 8; + arg1.aef++; + arg1.aeg--; + arg1.aeh++; + if(arg1.aeh == 0) + arg1.aei++; + } while(true); + return i; + } + + private static void gmb(DataFileVariables arg0) { + arg0.agb = 0; + for(int i = 0; i < 256; i++) + if(arg0.agc[i]) { + arg0.age[arg0.agb] = (byte)i; + arg0.agb++; + } + + } + + private static void gmc(int arg0[], int arg1[], int arg2[], byte arg3[], int arg4, int arg5, int arg6) { + int i = 0; + for(int j = arg4; j <= arg5; j++) { + for(int i2 = 0; i2 < arg6; i2++) + if(arg3[i2] == j) { + arg2[i] = i2; + i++; + } + + } + + for(int k = 0; k < 23; k++) + arg1[k] = 0; + + for(int l = 0; l < arg6; l++) + arg1[arg3[l] + 1]++; + + for(int i1 = 1; i1 < 23; i1++) + arg1[i1] += arg1[i1 - 1]; + + for(int j1 = 0; j1 < 23; j1++) + arg0[j1] = 0; + + int j2 = 0; + for(int k1 = arg4; k1 <= arg5; k1++) { + j2 += arg1[k1 + 1] - arg1[k1]; + arg0[k1] = j2 - 1; + j2 <<= 1; + } + + for(int l1 = arg4 + 1; l1 <= arg5; l1++) + arg1[l1] = (arg0[l1 - 1] + 1 << 1) - arg1[l1]; + + } +} diff --git a/clients/clientRSC/src/main/java/mudclient/DataFileVariables.java b/clients/clientRSC/src/main/java/mudclient/DataFileVariables.java new file mode 100755 index 0000000..c168896 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/DataFileVariables.java @@ -0,0 +1,62 @@ +package mudclient; + +class DataFileVariables { + + DataFileVariables() { + afk = new int[256]; + afm = new int[257]; + afn = new int[257]; + agc = new boolean[256]; + agd = new boolean[16]; + age = new byte[256]; + agf = new byte[4096]; + agg = new int[16]; + agh = new byte[18002]; + agi = new byte[18002]; + agj = new byte[6][258]; + agk = new int[6][258]; + agl = new int[6][258]; + agm = new int[6][258]; + agn = new int[6]; + } + + byte aee[]; + int aef; + int aeg; + int aeh; + int aei; + byte aej[]; + int aek; + int ael; + int aem; + int aen; + byte afa; + int afb; + boolean afc; + int afd; + int afe; + int aff; + int afg; + int afh; + int afi; + int afj; + int afk[]; + int afl; + int afm[]; + int afn[]; + public static int aga[]; + int agb; + boolean agc[]; + boolean agd[]; + byte age[]; + byte agf[]; + int agg[]; + byte agh[]; + byte agi[]; + byte agj[][]; + int agk[][]; + int agl[][]; + int agm[][]; + int agn[]; + int aha; +} diff --git a/clients/clientRSC/src/main/java/mudclient/DataOperations.java b/clients/clientRSC/src/main/java/mudclient/DataOperations.java new file mode 100755 index 0000000..75949e8 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/DataOperations.java @@ -0,0 +1,240 @@ +package mudclient; + +import java.io.BufferedInputStream; +import java.io.DataInputStream; +import java.io.EOFException; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; + +public class DataOperations { + + public static InputStream openInputStream(String arg0) + throws IOException { + Object obj; + if(codeBase == null) { + obj = new BufferedInputStream(new FileInputStream(arg0)); + } else { + URL url = new URL(codeBase, arg0); + obj = url.openStream(); + } + return ((InputStream) (obj)); + } + + public static void readFully(String s, byte abyte0[], int i) + throws IOException { + InputStream inputstream = openInputStream(s); + DataInputStream datainputstream = new DataInputStream(inputstream); + try { + datainputstream.readFully(abyte0, 0, i); + } + catch(EOFException _ex) { } + datainputstream.close(); + } + + public static int getByte(byte byte0) { + return byte0 & 0xff; + } + + public static int getShort(byte abyte0[], int i) { + return ((abyte0[i] & 0xff) << 8) + (abyte0[i + 1] & 0xff); + } + + public static int getInt(byte abyte0[], int i) { + return ((abyte0[i] & 0xff) << 24) + ((abyte0[i + 1] & 0xff) << 16) + ((abyte0[i + 2] & 0xff) << 8) + (abyte0[i + 3] & 0xff); + } + + public static long getLong(byte abyte0[], int i) { + return (((long)getInt(abyte0, i) & 0xffffffffL) << 32) + ((long)getInt(abyte0, i + 4) & 0xffffffffL); + } + + public static int getShort2(byte abyte0[], int i) { + int j = getByte(abyte0[i]) * 256 + getByte(abyte0[i + 1]); + if(j > 32767) + j -= 0x10000; + return j; + } + + public static int getInt2(byte abyte0[], int i) { + if((abyte0[i] & 0xff) < 128) + return abyte0[i]; + else + return ((abyte0[i] & 0xff) - 128 << 24) + ((abyte0[i + 1] & 0xff) << 16) + ((abyte0[i + 2] & 0xff) << 8) + (abyte0[i + 3] & 0xff); + } + + public static int getBits(byte bytes[], int off, int len) { + int bitOff = off >> 3; + int bitMod = 8 - (off & 7); + int k = 0; + for(; len > bitMod; bitMod = 8) { + k += (bytes[bitOff++] & bitMask[bitMod]) << len - bitMod; + len -= bitMod; + } + + if(len == bitMod) + k += bytes[bitOff] & bitMask[bitMod]; + else + k += bytes[bitOff] >> bitMod - len & bitMask[len]; + return k; + } + + public static String formatString(String arg0, int arg1) { + String s = ""; + for(int i = 0; i < arg1; i++) + if(i >= arg0.length()) { + s = s + " "; + } else { + char c = arg0.charAt(i); + if(c >= 'a' && c <= 'z') + s = s + c; + else + if(c >= 'A' && c <= 'Z') + s = s + c; + else + if(c >= '0' && c <= '9') + s = s + c; + else + s = s + '_'; + } + + return s; + } + + public static String ipToString(int i) { + return (i >> 24 & 0xff) + "." + (i >> 16 & 0xff) + "." + (i >> 8 & 0xff) + "." + (i & 0xff); + } + + public static long nameToHash(String arg0) { + String s = ""; + for(int i = 0; i < arg0.length(); i++) { + char c = arg0.charAt(i); + if(c >= 'a' && c <= 'z') + s = s + c; + else + if(c >= 'A' && c <= 'Z') + s = s + (char)((c + 97) - 65); + else + if(c >= '0' && c <= '9') + s = s + c; + else + s = s + ' '; + } + + s = s.trim(); + if(s.length() > 12) + s = s.substring(0, 12); + long l = 0L; + for(int j = 0; j < s.length(); j++) { + char c1 = s.charAt(j); + l *= 37L; + if(c1 >= 'a' && c1 <= 'z') + l += (1 + c1) - 97; + else + if(c1 >= '0' && c1 <= '9') + l += (27 + c1) - 48; + } + + return l; + } + + public static String hashToName(long arg0) { + if(arg0 < 0L) + return "invalid_name"; + String s = ""; + while(arg0 != 0L) { + int i = (int)(arg0 % 37L); + arg0 /= 37L; + if(i == 0) + s = " " + s; + else + if(i < 27) { + if(arg0 % 37L == 0L) + s = (char)((i + 65) - 1) + s; + else + s = (char)((i + 97) - 1) + s; + } else { + s = (char)((i + 48) - 27) + s; + } + } + return s; + } + + public static int getSoundOffset(String arg0, byte arg1[]) { + int i = getShort(arg1, 0); + int j = 0; + arg0 = arg0.toUpperCase(); + for(int k = 0; k < arg0.length(); k++) + j = (j * 61 + arg0.charAt(k)) - 32; + + int l = 2 + i * 10; + for(int i1 = 0; i1 < i; i1++) { + int j1 = (arg1[i1 * 10 + 2] & 0xff) * 0x1000000 + (arg1[i1 * 10 + 3] & 0xff) * 0x10000 + (arg1[i1 * 10 + 4] & 0xff) * 256 + (arg1[i1 * 10 + 5] & 0xff); + int k1 = (arg1[i1 * 10 + 9] & 0xff) * 0x10000 + (arg1[i1 * 10 + 10] & 0xff) * 256 + (arg1[i1 * 10 + 11] & 0xff); + if(j1 == j) + return l; + l += k1; + } + + return 0; + } + + public static int getSoundLength(String arg0, byte arg1[]) { + int i = getShort(arg1, 0); + int j = 0; + arg0 = arg0.toUpperCase(); + for(int k = 0; k < arg0.length(); k++) + j = (j * 61 + arg0.charAt(k)) - 32; + + for(int i1 = 0; i1 < i; i1++) { + int j1 = (arg1[i1 * 10 + 2] & 0xff) * 0x1000000 + (arg1[i1 * 10 + 3] & 0xff) * 0x10000 + (arg1[i1 * 10 + 4] & 0xff) * 256 + (arg1[i1 * 10 + 5] & 0xff); + int k1 = (arg1[i1 * 10 + 6] & 0xff) * 0x10000 + (arg1[i1 * 10 + 7] & 0xff) * 256 + (arg1[i1 * 10 + 8] & 0xff); + if(j1 == j) + return k1; + } + + return 0; + } + + public static byte[] loadData(String s, int i, byte abyte0[]) { + return loadData(s, i, abyte0, null); + } + + public static byte[] loadData(String arg0, int arg1, byte arg2[], byte arg3[]) { + int i = (arg2[0] & 0xff) * 256 + (arg2[1] & 0xff); + int j = 0; + arg0 = arg0.toUpperCase(); + for(int k = 0; k < arg0.length(); k++) + j = (j * 61 + arg0.charAt(k)) - 32; + + int l = 2 + i * 10; + for(int i1 = 0; i1 < i; i1++) { + int j1 = (arg2[i1 * 10 + 2] & 0xff) * 0x1000000 + (arg2[i1 * 10 + 3] & 0xff) * 0x10000 + (arg2[i1 * 10 + 4] & 0xff) * 256 + (arg2[i1 * 10 + 5] & 0xff); + int k1 = (arg2[i1 * 10 + 6] & 0xff) * 0x10000 + (arg2[i1 * 10 + 7] & 0xff) * 256 + (arg2[i1 * 10 + 8] & 0xff); + int l1 = (arg2[i1 * 10 + 9] & 0xff) * 0x10000 + (arg2[i1 * 10 + 10] & 0xff) * 256 + (arg2[i1 * 10 + 11] & 0xff); + if(j1 == j) { + if(arg3 == null) + arg3 = new byte[k1 + arg1]; + if(k1 != l1) { + DataFileDecrypter.unpackData(arg3, k1, arg2, l1, l); + } else { + for(int i2 = 0; i2 < k1; i2++) + arg3[i2] = arg2[l + i2]; + + } + return arg3; + } + l += l1; + } + + return null; + } + + public static URL codeBase = null; + private static int bitMask[] = { + 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, + 1023, 2047, 4095, 8191, 16383, 32767, 65535, 0x1ffff, 0x3ffff, 0x7ffff, + 0xfffff, 0x1fffff, 0x3fffff, 0x7fffff, 0xffffff, 0x1ffffff, 0x3ffffff, 0x7ffffff, 0xfffffff, 0x1fffffff, + 0x3fffffff, 0x7fffffff, -1 + }; +} diff --git a/clients/clientRSC/src/main/java/mudclient/EngineHandle.java b/clients/clientRSC/src/main/java/mudclient/EngineHandle.java new file mode 100755 index 0000000..8b9d0fa --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/EngineHandle.java @@ -0,0 +1,1548 @@ +package mudclient; + +import java.io.IOException; + +public class EngineHandle { + + public void gjd(int k, int l, int i1) { + int j1 = k / 12; + int k1 = l / 12; + int l1 = (k - 1) / 12; + int i2 = (l - 1) / 12; + glh(j1, k1, k, l, i1); + if(j1 != l1) + glh(l1, k1, k, l, i1); + if(k1 != i2) + glh(j1, i2, k, l, i1); + if(j1 != l1 && k1 != i2) + glh(l1, i2, k, l, i1); + } + + public int gje(int arg0, int arg1) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return 0; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + return tileGroundTexture[byte0][arg0 * 48 + arg1] & 0xff; + } + + public int getAveragedElevation(int arg0, int arg1) { + int k = arg0 >> 7; + int l = arg1 >> 7; + int i1 = arg0 & 0x7f; + int j1 = arg1 & 0x7f; + if(k < 0 || l < 0 || k >= 95 || l >= 95) + return 0; + int k1; + int l1; + int i2; + if(i1 <= 128 - j1) { + k1 = gkn(k, l); + l1 = gkn(k + 1, l) - k1; + i2 = gkn(k, l + 1) - k1; + } else { + k1 = gkn(k + 1, l + 1); + l1 = gkn(k, l + 1) - k1; + i2 = gkn(k + 1, l) - k1; + i1 = 128 - i1; + j1 = 128 - j1; + } + int j2 = k1 + (l1 * i1) / 128 + (i2 * j1) / 128; + return j2; + } + + public void gjg(int k, int l, int i1) { + tiles[k][l] |= i1; + } + + public void loadSection(int sectionX, int sectionY, int height, int sector) { + String filename = "m" + height + sectionX / 10 + sectionX % 10 + sectionY / 10 + sectionY % 10; + try { + if(landscapeFree != null) { + byte data[] = DataOperations.loadData(filename + ".hei", 0, landscapeFree); + if(data == null && landscapeMembers != null) + data = DataOperations.loadData(filename + ".hei", 0, landscapeMembers); + if(data != null && data.length > 0) { + int off = 0; + int i2 = 0; + for(int tile = 0; tile < 2304;) { + int k3 = data[off++] & 0xff; + if(k3 < 128) { + tileGroundElevation[sector][tile++] = (byte)k3; + i2 = k3; + } + if(k3 >= 128) { + for(int k4 = 0; k4 < k3 - 128; k4++) + tileGroundElevation[sector][tile++] = (byte)i2; + + } + } + + i2 = 64; + for(int tile = 0; tile < 48; tile++) { + for(int l4 = 0; l4 < 48; l4++) { + i2 = tileGroundElevation[sector][l4 * 48 + tile] + i2 & 0x7f; + tileGroundElevation[sector][l4 * 48 + tile] = (byte)(i2 * 2); + } + + } + + i2 = 0; + for(int tile = 0; tile < 2304;) { + int l5 = data[off++] & 0xff; + if(l5 < 128) { + tileGroundTexture[sector][tile++] = (byte)l5; + i2 = l5; + } + if(l5 >= 128) { + for(int i7 = 0; i7 < l5 - 128; i7++) + tileGroundTexture[sector][tile++] = (byte)i2; + + } + } + + i2 = 35; + for(int i6 = 0; i6 < 48; i6++) { + for(int j7 = 0; j7 < 48; j7++) { + i2 = tileGroundTexture[sector][j7 * 48 + i6] + i2 & 0x7f; + tileGroundTexture[sector][j7 * 48 + i6] = (byte)(i2 * 2); + } + + } + + } else { + for(int tile = 0; tile < 2304; tile++) { + tileGroundElevation[sector][tile] = 0; + tileGroundTexture[sector][tile] = 0; + } + + } + data = DataOperations.loadData(filename + ".dat", 0, mapsFree); + if(data == null && mapsMembers != null) + data = DataOperations.loadData(filename + ".dat", 0, mapsMembers); + if(data == null || data.length == 0) + throw new IOException(); + int off = 0; + for(int tile = 0; tile < 2304; tile++) + tileVerticalWall[sector][tile] = data[off++]; + + for(int tile = 0; tile < 2304; tile++) + tileHorizontalWall[sector][tile] = data[off++]; + + for(int tile = 0; tile < 2304; tile++) + tileDiagonalWall[sector][tile] = data[off++] & 0xff; + + for(int tile = 0; tile < 2304; tile++) { + int j6 = data[off++] & 0xff; + if(j6 > 0) + tileDiagonalWall[sector][tile] = j6 + 12000; + } + for(int tile = 0; tile < 2304;) { + int k7 = data[off++] & 0xff; + if(k7 < 128) { + tileRoofType[sector][tile++] = (byte)k7; + } else { + for(int j8 = 0; j8 < k7 - 128; j8++) + tileRoofType[sector][tile++] = 0; + + } + } + + int l7 = 0; + for(int tile = 0; tile < 2304;) { + int i9 = data[off++] & 0xff; + if(i9 < 128) { + tileGroundOverlay[sector][tile++] = (byte)i9; + l7 = i9; + } else { + for(int l9 = 0; l9 < i9 - 128; l9++) + tileGroundOverlay[sector][tile++] = (byte)l7; + + } + } + + for(int j9 = 0; j9 < 2304;) { + int i10 = data[off++] & 0xff; + if(i10 < 128) { + tileObjectRotation[sector][j9++] = (byte)i10; + } else { + for(int l10 = 0; l10 < i10 - 128; l10++) + tileObjectRotation[sector][j9++] = 0; + + } + } + + data = DataOperations.loadData(filename + ".loc", 0, mapsFree); + if(data != null && data.length > 0) { + int k1 = 0; + for(int j10 = 0; j10 < 2304;) { + int i11 = data[k1++] & 0xff; + if(i11 < 128) + tileDiagonalWall[sector][j10++] = i11 + 48000; + else + j10 += i11 - 128; + } + + return; + } + } else { + byte abyte1[] = new byte[20736]; + DataOperations.readFully("../gamedata/maps/" + filename + ".jm", abyte1, 20736); + int l1 = 0; + int k2 = 0; + for(int j3 = 0; j3 < 2304; j3++) { + l1 = l1 + abyte1[k2++] & 0xff; + tileGroundElevation[sector][j3] = (byte)l1; + } + + l1 = 0; + for(int j4 = 0; j4 < 2304; j4++) { + l1 = l1 + abyte1[k2++] & 0xff; + tileGroundTexture[sector][j4] = (byte)l1; + } + + for(int k5 = 0; k5 < 2304; k5++) + tileVerticalWall[sector][k5] = abyte1[k2++]; + + for(int l6 = 0; l6 < 2304; l6++) + tileHorizontalWall[sector][l6] = abyte1[k2++]; + + for(int i8 = 0; i8 < 2304; i8++) { + tileDiagonalWall[sector][i8] = (abyte1[k2] & 0xff) * 256 + (abyte1[k2 + 1] & 0xff); + k2 += 2; + } + + for(int l8 = 0; l8 < 2304; l8++) + tileRoofType[sector][l8] = abyte1[k2++]; + + for(int k9 = 0; k9 < 2304; k9++) + tileGroundOverlay[sector][k9] = abyte1[k2++]; + + for(int k10 = 0; k10 < 2304; k10++) + tileObjectRotation[sector][k10] = abyte1[k2++]; + + } + return; + } + catch(IOException _ex) { + } + for(int k = 0; k < 2304; k++) { + tileGroundElevation[sector][k] = 0; + tileGroundTexture[sector][k] = 0; + tileVerticalWall[sector][k] = 0; + tileHorizontalWall[sector][k] = 0; + tileDiagonalWall[sector][k] = 0; + tileRoofType[sector][k] = 0; + tileGroundOverlay[sector][k] = 0; + if(height == 0) + tileGroundOverlay[sector][k] = -6; + if(height == 3) + tileGroundOverlay[sector][k] = 8; + tileObjectRotation[sector][k] = 0; + } + + } + + public void gji(int arg0, int arg1, int arg2, boolean arg3) { + int k = (arg0 + 24) / 48; + int l = (arg1 + 24) / 48; + loadSection(k - 1, l - 1, arg2, 0); + loadSection(k, l - 1, arg2, 1); + loadSection(k - 1, l, arg2, 2); + loadSection(k, l, arg2, 3); + gjk(); + if(gia == null) + gia = new GameObject(18688, 18688, true, true, false, false, true); + if(arg3) { + ghi.clearScreen(); + for(int i1 = 0; i1 < 96; i1++) { + for(int k1 = 0; k1 < 96; k1++) + tiles[i1][k1] = 0; + + } + + GameObject l1 = gia; + l1.clk(); + for(int j2 = 0; j2 < 96; j2++) { + for(int i3 = 0; i3 < 96; i3++) { + int i4 = -gkn(j2, i3); + if(gki(j2, i3, arg2) > 0 && Data.akh[gki(j2, i3, arg2) - 1] == 4) + i4 = 0; + if(gki(j2 - 1, i3, arg2) > 0 && Data.akh[gki(j2 - 1, i3, arg2) - 1] == 4) + i4 = 0; + if(gki(j2, i3 - 1, arg2) > 0 && Data.akh[gki(j2, i3 - 1, arg2) - 1] == 4) + i4 = 0; + if(gki(j2 - 1, i3 - 1, arg2) > 0 && Data.akh[gki(j2 - 1, i3 - 1, arg2) - 1] == 4) + i4 = 0; + int j5 = l1.cln(j2 * 128, i4, i3 * 128); + int j7 = (int)(Math.random() * 10D) - 5; + l1.cmh(j5, j7); + } + + } + + for(int j3 = 0; j3 < 95; j3++) { + for(int j4 = 0; j4 < 95; j4++) { + int k5 = gje(j3, j4); + int k7 = ghm[k5]; + int i10 = k7; + int k12 = k7; + int l14 = 0; + if(arg2 == 1 || arg2 == 2) { + k7 = 0xbc614e; + i10 = 0xbc614e; + k12 = 0xbc614e; + } + if(gki(j3, j4, arg2) > 0) { + int l16 = gki(j3, j4, arg2); + int l5 = Data.akh[l16 - 1]; + int i19 = gkd(j3, j4, arg2); + k7 = i10 = Data.akg[l16 - 1]; + if(l5 == 4) { + k7 = 1; + i10 = 1; + if(l16 == 12) { + k7 = 31; + i10 = 31; + } + } + if(l5 == 5) { + if(glf(j3, j4) > 0 && glf(j3, j4) < 24000) + if(gjn(j3 - 1, j4, arg2, k12) != 0xbc614e && gjn(j3, j4 - 1, arg2, k12) != 0xbc614e) { + k7 = gjn(j3 - 1, j4, arg2, k12); + l14 = 0; + } else + if(gjn(j3 + 1, j4, arg2, k12) != 0xbc614e && gjn(j3, j4 + 1, arg2, k12) != 0xbc614e) { + i10 = gjn(j3 + 1, j4, arg2, k12); + l14 = 0; + } else + if(gjn(j3 + 1, j4, arg2, k12) != 0xbc614e && gjn(j3, j4 - 1, arg2, k12) != 0xbc614e) { + i10 = gjn(j3 + 1, j4, arg2, k12); + l14 = 1; + } else + if(gjn(j3 - 1, j4, arg2, k12) != 0xbc614e && gjn(j3, j4 + 1, arg2, k12) != 0xbc614e) { + k7 = gjn(j3 - 1, j4, arg2, k12); + l14 = 1; + } + } else + if(l5 != 2 || glf(j3, j4) > 0 && glf(j3, j4) < 24000) + if(gkd(j3 - 1, j4, arg2) != i19 && gkd(j3, j4 - 1, arg2) != i19) { + k7 = k12; + l14 = 0; + } else + if(gkd(j3 + 1, j4, arg2) != i19 && gkd(j3, j4 + 1, arg2) != i19) { + i10 = k12; + l14 = 0; + } else + if(gkd(j3 + 1, j4, arg2) != i19 && gkd(j3, j4 - 1, arg2) != i19) { + i10 = k12; + l14 = 1; + } else + if(gkd(j3 - 1, j4, arg2) != i19 && gkd(j3, j4 + 1, arg2) != i19) { + k7 = k12; + l14 = 1; + } + if(Data.aki[l16 - 1] != 0) + tiles[j3][j4] |= 0x40; + if(Data.akh[l16 - 1] == 2) + tiles[j3][j4] |= 0x80; + } + gkg(j3, j4, l14, k7, i10); + int i17 = ((gkn(j3 + 1, j4 + 1) - gkn(j3 + 1, j4)) + gkn(j3, j4 + 1)) - gkn(j3, j4); + if(k7 != i10 || i17 != 0) { + int ai[] = new int[3]; + int ai7[] = new int[3]; + if(l14 == 0) { + if(k7 != 0xbc614e) { + ai[0] = j4 + j3 * 96 + 96; + ai[1] = j4 + j3 * 96; + ai[2] = j4 + j3 * 96 + 1; + int l21 = l1.cmb(3, ai, 0xbc614e, k7); + selectedX[l21] = j3; + selectedY[l21] = j4; + l1.entityType[l21] = 0x30d40 + l21; + } + if(i10 != 0xbc614e) { + ai7[0] = j4 + j3 * 96 + 1; + ai7[1] = j4 + j3 * 96 + 96 + 1; + ai7[2] = j4 + j3 * 96 + 96; + int i22 = l1.cmb(3, ai7, 0xbc614e, i10); + selectedX[i22] = j3; + selectedY[i22] = j4; + l1.entityType[i22] = 0x30d40 + i22; + } + } else { + if(k7 != 0xbc614e) { + ai[0] = j4 + j3 * 96 + 1; + ai[1] = j4 + j3 * 96 + 96 + 1; + ai[2] = j4 + j3 * 96; + int j22 = l1.cmb(3, ai, 0xbc614e, k7); + selectedX[j22] = j3; + selectedY[j22] = j4; + l1.entityType[j22] = 0x30d40 + j22; + } + if(i10 != 0xbc614e) { + ai7[0] = j4 + j3 * 96 + 96; + ai7[1] = j4 + j3 * 96; + ai7[2] = j4 + j3 * 96 + 96 + 1; + int k22 = l1.cmb(3, ai7, 0xbc614e, i10); + selectedX[k22] = j3; + selectedY[k22] = j4; + l1.entityType[k22] = 0x30d40 + k22; + } + } + } else + if(k7 != 0xbc614e) { + int ai1[] = new int[4]; + ai1[0] = j4 + j3 * 96 + 96; + ai1[1] = j4 + j3 * 96; + ai1[2] = j4 + j3 * 96 + 1; + ai1[3] = j4 + j3 * 96 + 96 + 1; + int l19 = l1.cmb(4, ai1, 0xbc614e, k7); + selectedX[l19] = j3; + selectedY[l19] = j4; + l1.entityType[l19] = 0x30d40 + l19; + } + } + + } + + for(int k4 = 1; k4 < 95; k4++) { + for(int i6 = 1; i6 < 95; i6++) + if(gki(k4, i6, arg2) > 0 && Data.akh[gki(k4, i6, arg2) - 1] == 4) { + int l7 = Data.akg[gki(k4, i6, arg2) - 1]; + int j10 = l1.cln(k4 * 128, -gkn(k4, i6), i6 * 128); + int l12 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6), i6 * 128); + int i15 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6 + 1), (i6 + 1) * 128); + int j17 = l1.cln(k4 * 128, -gkn(k4, i6 + 1), (i6 + 1) * 128); + int ai2[] = { + j10, l12, i15, j17 + }; + int i20 = l1.cmb(4, ai2, l7, 0xbc614e); + selectedX[i20] = k4; + selectedY[i20] = i6; + l1.entityType[i20] = 0x30d40 + i20; + gkg(k4, i6, 0, l7, l7); + } else + if(gki(k4, i6, arg2) == 0 || Data.akh[gki(k4, i6, arg2) - 1] != 3) { + if(gki(k4, i6 + 1, arg2) > 0 && Data.akh[gki(k4, i6 + 1, arg2) - 1] == 4) { + int i8 = Data.akg[gki(k4, i6 + 1, arg2) - 1]; + int k10 = l1.cln(k4 * 128, -gkn(k4, i6), i6 * 128); + int i13 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6), i6 * 128); + int j15 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6 + 1), (i6 + 1) * 128); + int k17 = l1.cln(k4 * 128, -gkn(k4, i6 + 1), (i6 + 1) * 128); + int ai3[] = { + k10, i13, j15, k17 + }; + int j20 = l1.cmb(4, ai3, i8, 0xbc614e); + selectedX[j20] = k4; + selectedY[j20] = i6; + l1.entityType[j20] = 0x30d40 + j20; + gkg(k4, i6, 0, i8, i8); + } + if(gki(k4, i6 - 1, arg2) > 0 && Data.akh[gki(k4, i6 - 1, arg2) - 1] == 4) { + int j8 = Data.akg[gki(k4, i6 - 1, arg2) - 1]; + int l10 = l1.cln(k4 * 128, -gkn(k4, i6), i6 * 128); + int j13 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6), i6 * 128); + int k15 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6 + 1), (i6 + 1) * 128); + int l17 = l1.cln(k4 * 128, -gkn(k4, i6 + 1), (i6 + 1) * 128); + int ai4[] = { + l10, j13, k15, l17 + }; + int k20 = l1.cmb(4, ai4, j8, 0xbc614e); + selectedX[k20] = k4; + selectedY[k20] = i6; + l1.entityType[k20] = 0x30d40 + k20; + gkg(k4, i6, 0, j8, j8); + } + if(gki(k4 + 1, i6, arg2) > 0 && Data.akh[gki(k4 + 1, i6, arg2) - 1] == 4) { + int k8 = Data.akg[gki(k4 + 1, i6, arg2) - 1]; + int i11 = l1.cln(k4 * 128, -gkn(k4, i6), i6 * 128); + int k13 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6), i6 * 128); + int l15 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6 + 1), (i6 + 1) * 128); + int i18 = l1.cln(k4 * 128, -gkn(k4, i6 + 1), (i6 + 1) * 128); + int ai5[] = { + i11, k13, l15, i18 + }; + int l20 = l1.cmb(4, ai5, k8, 0xbc614e); + selectedX[l20] = k4; + selectedY[l20] = i6; + l1.entityType[l20] = 0x30d40 + l20; + gkg(k4, i6, 0, k8, k8); + } + if(gki(k4 - 1, i6, arg2) > 0 && Data.akh[gki(k4 - 1, i6, arg2) - 1] == 4) { + int l8 = Data.akg[gki(k4 - 1, i6, arg2) - 1]; + int j11 = l1.cln(k4 * 128, -gkn(k4, i6), i6 * 128); + int l13 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6), i6 * 128); + int i16 = l1.cln((k4 + 1) * 128, -gkn(k4 + 1, i6 + 1), (i6 + 1) * 128); + int j18 = l1.cln(k4 * 128, -gkn(k4, i6 + 1), (i6 + 1) * 128); + int ai6[] = { + j11, l13, i16, j18 + }; + int i21 = l1.cmb(4, ai6, l8, 0xbc614e); + selectedX[i21] = k4; + selectedY[i21] = i6; + l1.entityType[i21] = 0x30d40 + i21; + gkg(k4, i6, 0, l8, l8); + } + } + + } + + l1.cme(true, 40, 48, -50, -10, -50); + ghn = gia.cmc(0, 0, 1536, 1536, 8, 64, 233, false); + for(int j6 = 0; j6 < 64; j6++) + ghj.addModel(ghn[j6]); + + for(int i9 = 0; i9 < 96; i9++) { + for(int k11 = 0; k11 < 96; k11++) + gib[i9][k11] = gkn(i9, k11); + + } + + } + gia.clk(); + int j1 = 0x606060; + for(int i2 = 0; i2 < 95; i2++) { + for(int k2 = 0; k2 < 95; k2++) { + int k3 = gle(i2, k2); + if(k3 > 0 && (Data.wallObjectUnknown[k3 - 1] == 0 || ghh)) { + gli(gia, k3 - 1, i2, k2, i2 + 1, k2); + if(arg3 && Data.wallObjectType[k3 - 1] != 0) { + tiles[i2][k2] |= 1; + if(k2 > 0) + gjg(i2, k2 - 1, 4); + } + if(arg3) + ghi.drawLineX(i2 * 3, k2 * 3, 3, j1); + } + k3 = gld(i2, k2); + if(k3 > 0 && (Data.wallObjectUnknown[k3 - 1] == 0 || ghh)) { + gli(gia, k3 - 1, i2, k2, i2, k2 + 1); + if(arg3 && Data.wallObjectType[k3 - 1] != 0) { + tiles[i2][k2] |= 2; + if(i2 > 0) + gjg(i2 - 1, k2, 8); + } + if(arg3) + ghi.drawLineY(i2 * 3, k2 * 3, 3, j1); + } + k3 = glf(i2, k2); + if(k3 > 0 && k3 < 12000 && (Data.wallObjectUnknown[k3 - 1] == 0 || ghh)) { + gli(gia, k3 - 1, i2, k2, i2 + 1, k2 + 1); + if(arg3 && Data.wallObjectType[k3 - 1] != 0) + tiles[i2][k2] |= 0x20; + if(arg3) { + ghi.drawMinimapPixel(i2 * 3, k2 * 3, j1); + ghi.drawMinimapPixel(i2 * 3 + 1, k2 * 3 + 1, j1); + ghi.drawMinimapPixel(i2 * 3 + 2, k2 * 3 + 2, j1); + } + } + if(k3 > 12000 && k3 < 24000 && (Data.wallObjectUnknown[k3 - 12001] == 0 || ghh)) { + gli(gia, k3 - 12001, i2 + 1, k2, i2, k2 + 1); + if(arg3 && Data.wallObjectType[k3 - 12001] != 0) + tiles[i2][k2] |= 0x10; + if(arg3) { + ghi.drawMinimapPixel(i2 * 3 + 2, k2 * 3, j1); + ghi.drawMinimapPixel(i2 * 3 + 1, k2 * 3 + 1, j1); + ghi.drawMinimapPixel(i2 * 3, k2 * 3 + 2, j1); + } + } + } + + } + + if(arg3) + ghi.cbn(gjc - 1, 0, 0, 285, 285); + gia.cme(false, 60, 24, -50, -10, -50); + gim[arg2] = gia.cmc(0, 0, 1536, 1536, 8, 64, 338, true); + for(int l2 = 0; l2 < 64; l2++) + ghj.addModel(gim[arg2][l2]); + + for(int l3 = 0; l3 < 95; l3++) { + for(int l4 = 0; l4 < 95; l4++) { + int k6 = gle(l3, l4); + if(k6 > 0) + gkh(k6 - 1, l3, l4, l3 + 1, l4); + k6 = gld(l3, l4); + if(k6 > 0) + gkh(k6 - 1, l3, l4, l3, l4 + 1); + k6 = glf(l3, l4); + if(k6 > 0 && k6 < 12000) + gkh(k6 - 1, l3, l4, l3 + 1, l4 + 1); + if(k6 > 12000 && k6 < 24000) + gkh(k6 - 12001, l3 + 1, l4, l3, l4 + 1); + } + + } + + for(int i5 = 1; i5 < 95; i5++) { + for(int l6 = 1; l6 < 95; l6++) { + int j9 = glb(i5, l6); + if(j9 > 0) { + int l11 = i5; + int i14 = l6; + int j16 = i5 + 1; + int k18 = l6; + int j19 = i5 + 1; + int j21 = l6 + 1; + int l22 = i5; + int j23 = l6 + 1; + int l23 = 0; + int j24 = gib[l11][i14]; + int l24 = gib[j16][k18]; + int j25 = gib[j19][j21]; + int l25 = gib[l22][j23]; + if(j24 > 0x13880) + j24 -= 0x13880; + if(l24 > 0x13880) + l24 -= 0x13880; + if(j25 > 0x13880) + j25 -= 0x13880; + if(l25 > 0x13880) + l25 -= 0x13880; + if(j24 > l23) + l23 = j24; + if(l24 > l23) + l23 = l24; + if(j25 > l23) + l23 = j25; + if(l25 > l23) + l23 = l25; + if(l23 >= 0x13880) + l23 -= 0x13880; + if(j24 < 0x13880) + gib[l11][i14] = l23; + else + gib[l11][i14] -= 0x13880; + if(l24 < 0x13880) + gib[j16][k18] = l23; + else + gib[j16][k18] -= 0x13880; + if(j25 < 0x13880) + gib[j19][j21] = l23; + else + gib[j19][j21] -= 0x13880; + if(l25 < 0x13880) + gib[l22][j23] = l23; + else + gib[l22][j23] -= 0x13880; + } + } + + } + + gia.clk(); + for(int i7 = 1; i7 < 95; i7++) { + for(int k9 = 1; k9 < 95; k9++) { + int i12 = glb(i7, k9); + if(i12 > 0) { + int j14 = i7; + int k16 = k9; + int l18 = i7 + 1; + int k19 = k9; + int k21 = i7 + 1; + int i23 = k9 + 1; + int k23 = i7; + int i24 = k9 + 1; + int k24 = i7 * 128; + int i25 = k9 * 128; + int k25 = k24 + 128; + int i26 = i25 + 128; + int j26 = k24; + int k26 = i25; + int l26 = k25; + int i27 = i26; + int j27 = gib[j14][k16]; + int k27 = gib[l18][k19]; + int l27 = gib[k21][i23]; + int i28 = gib[k23][i24]; + int j28 = Data.alm[i12 - 1]; + if(gkm(j14, k16) && j27 < 0x13880) { + j27 += j28 + 0x13880; + gib[j14][k16] = j27; + } + if(gkm(l18, k19) && k27 < 0x13880) { + k27 += j28 + 0x13880; + gib[l18][k19] = k27; + } + if(gkm(k21, i23) && l27 < 0x13880) { + l27 += j28 + 0x13880; + gib[k21][i23] = l27; + } + if(gkm(k23, i24) && i28 < 0x13880) { + i28 += j28 + 0x13880; + gib[k23][i24] = i28; + } + if(j27 >= 0x13880) + j27 -= 0x13880; + if(k27 >= 0x13880) + k27 -= 0x13880; + if(l27 >= 0x13880) + l27 -= 0x13880; + if(i28 >= 0x13880) + i28 -= 0x13880; + byte byte0 = 16; + if(!gkl(j14 - 1, k16)) + k24 -= byte0; + if(!gkl(j14 + 1, k16)) + k24 += byte0; + if(!gkl(j14, k16 - 1)) + i25 -= byte0; + if(!gkl(j14, k16 + 1)) + i25 += byte0; + if(!gkl(l18 - 1, k19)) + k25 -= byte0; + if(!gkl(l18 + 1, k19)) + k25 += byte0; + if(!gkl(l18, k19 - 1)) + k26 -= byte0; + if(!gkl(l18, k19 + 1)) + k26 += byte0; + if(!gkl(k21 - 1, i23)) + l26 -= byte0; + if(!gkl(k21 + 1, i23)) + l26 += byte0; + if(!gkl(k21, i23 - 1)) + i26 -= byte0; + if(!gkl(k21, i23 + 1)) + i26 += byte0; + if(!gkl(k23 - 1, i24)) + j26 -= byte0; + if(!gkl(k23 + 1, i24)) + j26 += byte0; + if(!gkl(k23, i24 - 1)) + i27 -= byte0; + if(!gkl(k23, i24 + 1)) + i27 += byte0; + i12 = Data.aln[i12 - 1]; + j27 = -j27; + k27 = -k27; + l27 = -l27; + i28 = -i28; + if(glf(i7, k9) > 12000 && glf(i7, k9) < 24000 && glb(i7 - 1, k9 - 1) == 0) { + int ai8[] = new int[3]; + ai8[0] = gia.cln(l26, l27, i26); + ai8[1] = gia.cln(j26, i28, i27); + ai8[2] = gia.cln(k25, k27, k26); + gia.cmb(3, ai8, i12, 0xbc614e); + } else + if(glf(i7, k9) > 12000 && glf(i7, k9) < 24000 && glb(i7 + 1, k9 + 1) == 0) { + int ai9[] = new int[3]; + ai9[0] = gia.cln(k24, j27, i25); + ai9[1] = gia.cln(k25, k27, k26); + ai9[2] = gia.cln(j26, i28, i27); + gia.cmb(3, ai9, i12, 0xbc614e); + } else + if(glf(i7, k9) > 0 && glf(i7, k9) < 12000 && glb(i7 + 1, k9 - 1) == 0) { + int ai10[] = new int[3]; + ai10[0] = gia.cln(j26, i28, i27); + ai10[1] = gia.cln(k24, j27, i25); + ai10[2] = gia.cln(l26, l27, i26); + gia.cmb(3, ai10, i12, 0xbc614e); + } else + if(glf(i7, k9) > 0 && glf(i7, k9) < 12000 && glb(i7 - 1, k9 + 1) == 0) { + int ai11[] = new int[3]; + ai11[0] = gia.cln(k25, k27, k26); + ai11[1] = gia.cln(l26, l27, i26); + ai11[2] = gia.cln(k24, j27, i25); + gia.cmb(3, ai11, i12, 0xbc614e); + } else + if(j27 == k27 && l27 == i28) { + int ai12[] = new int[4]; + ai12[0] = gia.cln(k24, j27, i25); + ai12[1] = gia.cln(k25, k27, k26); + ai12[2] = gia.cln(l26, l27, i26); + ai12[3] = gia.cln(j26, i28, i27); + gia.cmb(4, ai12, i12, 0xbc614e); + } else + if(j27 == i28 && k27 == l27) { + int ai13[] = new int[4]; + ai13[0] = gia.cln(j26, i28, i27); + ai13[1] = gia.cln(k24, j27, i25); + ai13[2] = gia.cln(k25, k27, k26); + ai13[3] = gia.cln(l26, l27, i26); + gia.cmb(4, ai13, i12, 0xbc614e); + } else { + boolean flag = true; + if(glb(i7 - 1, k9 - 1) > 0) + flag = false; + if(glb(i7 + 1, k9 + 1) > 0) + flag = false; + if(!flag) { + int ai14[] = new int[3]; + ai14[0] = gia.cln(k25, k27, k26); + ai14[1] = gia.cln(l26, l27, i26); + ai14[2] = gia.cln(k24, j27, i25); + gia.cmb(3, ai14, i12, 0xbc614e); + int ai16[] = new int[3]; + ai16[0] = gia.cln(j26, i28, i27); + ai16[1] = gia.cln(k24, j27, i25); + ai16[2] = gia.cln(l26, l27, i26); + gia.cmb(3, ai16, i12, 0xbc614e); + } else { + int ai15[] = new int[3]; + ai15[0] = gia.cln(k24, j27, i25); + ai15[1] = gia.cln(k25, k27, k26); + ai15[2] = gia.cln(j26, i28, i27); + gia.cmb(3, ai15, i12, 0xbc614e); + int ai17[] = new int[3]; + ai17[0] = gia.cln(l26, l27, i26); + ai17[1] = gia.cln(j26, i28, i27); + ai17[2] = gia.cln(k25, k27, k26); + gia.cmb(3, ai17, i12, 0xbc614e); + } + } + } + } + + } + + gia.cme(true, 50, 50, -50, -10, -50); + gih[arg2] = gia.cmc(0, 0, 1536, 1536, 8, 64, 169, true); + for(int l9 = 0; l9 < 64; l9++) + ghj.addModel(gih[arg2][l9]); + + if(gih[arg2][0] == null) + throw new RuntimeException("null roof!"); + for(int j12 = 0; j12 < 96; j12++) { + for(int k14 = 0; k14 < 96; k14++) + if(gib[j12][k14] >= 0x13880) + gib[j12][k14] -= 0x13880; + + } + + } + + public void loadSection(int k, int l, int i1) { + gkk(); + int j1 = (k + 24) / 48; + int k1 = (l + 24) / 48; + gji(k, l, i1, true); + if(i1 == 0) { + gji(k, l, 1, false); + gji(k, l, 2, false); + loadSection(j1 - 1, k1 - 1, i1, 0); + loadSection(j1, k1 - 1, i1, 1); + loadSection(j1 - 1, k1, i1, 2); + loadSection(j1, k1, i1, 3); + gjk(); + } + } + + public void gjk() { + for(int k = 0; k < 96; k++) { + for(int l = 0; l < 96; l++) + if(gki(k, l, 0) == 250) + if(k == 47 && gki(k + 1, l, 0) != 250 && gki(k + 1, l, 0) != 2) + glc(k, l, 9); + else + if(l == 47 && gki(k, l + 1, 0) != 250 && gki(k, l + 1, 0) != 2) + glc(k, l, 9); + else + glc(k, l, 2); + + } + + } + + public int generatePath(int curX, int curY, int bottomDestX, int bottomDestY, int upperDestX, int upperDestY, int pathX[], + int pathY[], boolean checkForObjects) { + for(int k = 0; k < 96; k++) { + for(int l = 0; l < 96; l++) + steps[k][l] = 0; + + } + + int requiredSteps = 0; + int stepCount = 0; + int x = curX; + int y = curY; + steps[curX][curY] = 99; + pathX[requiredSteps] = curX; + pathY[requiredSteps++] = curY; + int i2 = pathX.length; + boolean foundPath = false; + while(stepCount != requiredSteps) { + x = pathX[stepCount]; + y = pathY[stepCount]; + stepCount = (stepCount + 1) % i2; + if(x >= bottomDestX && x <= upperDestX && y >= bottomDestY && y <= upperDestY) { + foundPath = true; + break; + } + if(checkForObjects) { + if(x > 0 && x - 1 >= bottomDestX && x - 1 <= upperDestX && y >= bottomDestY && y <= upperDestY && (tiles[x - 1][y] & 8) == 0) { + foundPath = true; + break; + } + if(x < 95 && x + 1 >= bottomDestX && x + 1 <= upperDestX && y >= bottomDestY && y <= upperDestY && (tiles[x + 1][y] & 2) == 0) { + foundPath = true; + break; + } + if(y > 0 && x >= bottomDestX && x <= upperDestX && y - 1 >= bottomDestY && y - 1 <= upperDestY && (tiles[x][y - 1] & 4) == 0) { + foundPath = true; + break; + } + if(y < 95 && x >= bottomDestX && x <= upperDestX && y + 1 >= bottomDestY && y + 1 <= upperDestY && (tiles[x][y + 1] & 1) == 0) { + foundPath = true; + break; + } + } + if(x > 0 && steps[x - 1][y] == 0 && (tiles[x - 1][y] & 0x78) == 0) { + pathX[requiredSteps] = x - 1; + pathY[requiredSteps] = y; + requiredSteps = (requiredSteps + 1) % i2; + steps[x - 1][y] = 2; + } + if(x < 95 && steps[x + 1][y] == 0 && (tiles[x + 1][y] & 0x72) == 0) { + pathX[requiredSteps] = x + 1; + pathY[requiredSteps] = y; + requiredSteps = (requiredSteps + 1) % i2; + steps[x + 1][y] = 8; + } + if(y > 0 && steps[x][y - 1] == 0 && (tiles[x][y - 1] & 0x74) == 0) { + pathX[requiredSteps] = x; + pathY[requiredSteps] = y - 1; + requiredSteps = (requiredSteps + 1) % i2; + steps[x][y - 1] = 1; + } + if(y < 95 && steps[x][y + 1] == 0 && (tiles[x][y + 1] & 0x71) == 0) { + pathX[requiredSteps] = x; + pathY[requiredSteps] = y + 1; + requiredSteps = (requiredSteps + 1) % i2; + steps[x][y + 1] = 4; + } + if(x > 0 && y > 0 && (tiles[x][y - 1] & 0x74) == 0 && (tiles[x - 1][y] & 0x78) == 0 && (tiles[x - 1][y - 1] & 0x7c) == 0 && steps[x - 1][y - 1] == 0) { + pathX[requiredSteps] = x - 1; + pathY[requiredSteps] = y - 1; + requiredSteps = (requiredSteps + 1) % i2; + steps[x - 1][y - 1] = 3; + } + if(x < 95 && y > 0 && (tiles[x][y - 1] & 0x74) == 0 && (tiles[x + 1][y] & 0x72) == 0 && (tiles[x + 1][y - 1] & 0x76) == 0 && steps[x + 1][y - 1] == 0) { + pathX[requiredSteps] = x + 1; + pathY[requiredSteps] = y - 1; + requiredSteps = (requiredSteps + 1) % i2; + steps[x + 1][y - 1] = 9; + } + if(x > 0 && y < 95 && (tiles[x][y + 1] & 0x71) == 0 && (tiles[x - 1][y] & 0x78) == 0 && (tiles[x - 1][y + 1] & 0x79) == 0 && steps[x - 1][y + 1] == 0) { + pathX[requiredSteps] = x - 1; + pathY[requiredSteps] = y + 1; + requiredSteps = (requiredSteps + 1) % i2; + steps[x - 1][y + 1] = 6; + } + if(x < 95 && y < 95 && (tiles[x][y + 1] & 0x71) == 0 && (tiles[x + 1][y] & 0x72) == 0 && (tiles[x + 1][y + 1] & 0x73) == 0 && steps[x + 1][y + 1] == 0) { + pathX[requiredSteps] = x + 1; + pathY[requiredSteps] = y + 1; + requiredSteps = (requiredSteps + 1) % i2; + steps[x + 1][y + 1] = 12; + } + } + if(!foundPath) + return -1; + stepCount = 0; + pathX[stepCount] = x; + pathY[stepCount++] = y; + int k2; + for(int j2 = k2 = steps[x][y]; x != curX || y != curY; j2 = steps[x][y]) { + if(j2 != k2) { + k2 = j2; + pathX[stepCount] = x; + pathY[stepCount++] = y; + } + if((j2 & 2) != 0) + x++; + else + if((j2 & 8) != 0) + x--; + if((j2 & 1) != 0) + y++; + else + if((j2 & 4) != 0) + y--; + } + + return stepCount; + } + + public void gjm(int k, int l, int i1) { + tiles[k][l] &= 65535 - i1; + } + + public int gjn(int k, int l, int i1, int j1) { + int k1 = gki(k, l, i1); + if(k1 == 0) + return j1; + else + return Data.akg[k1 - 1]; + } + + public void gka(int arg0, int arg1, int arg2, int arg3) { + if(arg0 < 1 || arg1 < 1 || arg0 + arg2 >= 96 || arg1 + arg3 >= 96) + return; + for(int k = arg0; k <= arg0 + arg2; k++) { + for(int l = arg1; l <= arg1 + arg3; l++) + if((gkj(k, l) & 0x63) != 0 || (gkj(k - 1, l) & 0x59) != 0 || (gkj(k, l - 1) & 0x56) != 0 || (gkj(k - 1, l - 1) & 0x6c) != 0) + gjd(k, l, 35); + else + gjd(k, l, 0); + + } + + } + + public void removeWallObject(int arg0, int arg1, int arg2, int arg3) { + if(arg0 < 0 || arg1 < 0 || arg0 >= 95 || arg1 >= 95) + return; + if(Data.wallObjectType[arg3] == 1) { + if(arg2 == 0) { + tiles[arg0][arg1] &= 0xfffe; + if(arg1 > 0) + gjm(arg0, arg1 - 1, 4); + } else + if(arg2 == 1) { + tiles[arg0][arg1] &= 0xfffd; + if(arg0 > 0) + gjm(arg0 - 1, arg1, 8); + } else + if(arg2 == 2) + tiles[arg0][arg1] &= 0xffef; + else + if(arg2 == 3) + tiles[arg0][arg1] &= 0xffdf; + gka(arg0, arg1, 1, 1); + } + } + + public void gkc(int arg0, int arg1, int arg2, int arg3) { + if(arg0 < 0 || arg1 < 0 || arg0 >= 95 || arg1 >= 95) + return; + if(Data.wallObjectType[arg3] == 1) { + if(arg2 == 0) { + tiles[arg0][arg1] |= 1; + if(arg1 > 0) + gjg(arg0, arg1 - 1, 4); + } else + if(arg2 == 1) { + tiles[arg0][arg1] |= 2; + if(arg0 > 0) + gjg(arg0 - 1, arg1, 8); + } else + if(arg2 == 2) + tiles[arg0][arg1] |= 0x10; + else + if(arg2 == 3) + tiles[arg0][arg1] |= 0x20; + gka(arg0, arg1, 1, 1); + } + } + + public int gkd(int k, int l, int i1) { + int j1 = gki(k, l, i1); + if(j1 == 0) + return -1; + int k1 = Data.akh[j1 - 1]; + return k1 != 2 ? 0 : 1; + } + + public int getTileRotation(int arg0, int arg1) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return 0; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + return tileObjectRotation[byte0][arg0 * 48 + arg1]; + } + + public void registerObjectDir(int x, int y, int dir) { + if(x < 0 || x >= 96 || y < 0 || y >= 96) + return; + objectDirs[x][y] = dir; + } + + public void removeObject(int arg0, int arg1, int arg2, int k) { + if(arg0 < 0 || arg1 < 0 || arg0 >= 95 || arg1 >= 95) + return; + if(Data.objectType[arg2] == 1 || Data.objectType[arg2] == 2) { + //int k = getTileRotation(arg0, arg1); + int l; + int i1; + if(k == 0 || k == 4) { + l = Data.objectWidth[arg2]; + i1 = Data.objectHeight[arg2]; + } else { + i1 = Data.objectWidth[arg2]; + l = Data.objectHeight[arg2]; + } + for(int j1 = arg0; j1 < arg0 + l; j1++) { + for(int k1 = arg1; k1 < arg1 + i1; k1++) + if(Data.objectType[arg2] == 1) + tiles[j1][k1] &= 0xffbf; + else + if(k == 0) { + tiles[j1][k1] &= 0xfffd; + if(j1 > 0) + gjm(j1 - 1, k1, 8); + } else + if(k == 2) { + tiles[j1][k1] &= 0xfffb; + if(k1 < 95) + gjm(j1, k1 + 1, 1); + } else + if(k == 4) { + tiles[j1][k1] &= 0xfff7; + if(j1 < 95) + gjm(j1 + 1, k1, 2); + } else + if(k == 6) { + tiles[j1][k1] &= 0xfffe; + if(k1 > 0) + gjm(j1, k1 - 1, 4); + } + + } + + gka(arg0, arg1, l, i1); + } + } + + public void gkg(int k, int l, int i1, int j1, int k1) { + int l1 = k * 3; + int i2 = l * 3; + int j2 = ghj.bjj(j1); + int k2 = ghj.bjj(k1); + j2 = j2 >> 1 & 0x7f7f7f; + k2 = k2 >> 1 & 0x7f7f7f; + if(i1 == 0) { + ghi.drawLineX(l1, i2, 3, j2); + ghi.drawLineX(l1, i2 + 1, 2, j2); + ghi.drawLineX(l1, i2 + 2, 1, j2); + ghi.drawLineX(l1 + 2, i2 + 1, 1, k2); + ghi.drawLineX(l1 + 1, i2 + 2, 2, k2); + return; + } + if(i1 == 1) { + ghi.drawLineX(l1, i2, 3, k2); + ghi.drawLineX(l1 + 1, i2 + 1, 2, k2); + ghi.drawLineX(l1 + 2, i2 + 2, 1, k2); + ghi.drawLineX(l1, i2 + 1, 1, j2); + ghi.drawLineX(l1, i2 + 2, 2, j2); + } + } + + public void gkh(int k, int l, int i1, int j1, int k1) { + int l1 = Data.wallObjectModelVar1[k]; + if(gib[l][i1] < 0x13880) + gib[l][i1] += 0x13880 + l1; + if(gib[j1][k1] < 0x13880) + gib[j1][k1] += 0x13880 + l1; + } + + public int gki(int arg0, int arg1, int arg2) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return 0; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + return tileGroundOverlay[byte0][arg0 * 48 + arg1] & 0xff; + } + + public int gkj(int k, int l) { + if(k < 0 || l < 0 || k >= 96 || l >= 96) + return 0; + else + return tiles[k][l]; + } + + public void gkk() { + if(gjb) + ghj.cleanUp(); + for(int k = 0; k < 64; k++) { + ghn[k] = null; + for(int l = 0; l < 4; l++) + gim[l][k] = null; + + for(int i1 = 0; i1 < 4; i1++) + gih[i1][k] = null; + + } + + System.gc(); + } + + public boolean gkl(int k, int l) { + return glb(k, l) > 0 || glb(k - 1, l) > 0 || glb(k - 1, l - 1) > 0 || glb(k, l - 1) > 0; + } + + public EngineHandle(Camera arg0, GameImage arg1) { + tileHorizontalWall = new byte[4][2304]; + tileDiagonalWall = new int[4][2304]; + tileGroundOverlay = new byte[4][2304]; + tileObjectRotation = new byte[4][2304]; + ghh = false; + selectedY = new int[18432]; + tileGroundTexture = new byte[4][2304]; + ghm = new int[256]; + ghn = new GameObject[64]; + gib = new int[96][96]; + tileVerticalWall = new byte[4][2304]; + steps = new int[96][96]; + tileGroundElevation = new byte[4][2304]; + gih = new GameObject[4][64]; + playerIsAlive = false; + tiles = new int[96][96]; + gim = new GameObject[4][64]; + selectedX = new int[18432]; + tileRoofType = new byte[4][2304]; + gjb = true; + gjc = 750; + ghj = arg0; + ghi = arg1; + for(int k = 0; k < 64; k++) + ghm[k] = Camera.bjm(255 - k * 4, 255 - (int)((double)k * 1.75D), 255 - k * 4); + + for(int l = 0; l < 64; l++) + ghm[l + 64] = Camera.bjm(l * 3, 144, 0); + + for(int i1 = 0; i1 < 64; i1++) + ghm[i1 + 128] = Camera.bjm(192 - (int)((double)i1 * 1.5D), 144 - (int)((double)i1 * 1.5D), 0); + + for(int j1 = 0; j1 < 64; j1++) + ghm[j1 + 192] = Camera.bjm(96 - (int)((double)j1 * 1.5D), 48 + (int)((double)j1 * 1.5D), 0); + + objectDirs = new int[96][96]; + + } + + public boolean gkm(int k, int l) { + return glb(k, l) > 0 && glb(k - 1, l) > 0 && glb(k - 1, l - 1) > 0 && glb(k, l - 1) > 0; + } + + public int gkn(int arg0, int arg1) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return 0; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + return (tileGroundElevation[byte0][arg0 * 48 + arg1] & 0xff) * 3; + } + + public void gla(int arg0, int arg1, int arg2, int k) { + if(arg0 < 0 || arg1 < 0 || arg0 >= 95 || arg1 >= 95) + return; + if(Data.objectType[arg2] == 1 || Data.objectType[arg2] == 2) { + //int k = getTileRotation(arg0, arg1); + int l; + int i1; + if(k == 0 || k == 4) { + l = Data.objectWidth[arg2]; + i1 = Data.objectHeight[arg2]; + } else { + i1 = Data.objectWidth[arg2]; + l = Data.objectHeight[arg2]; + } + for(int j1 = arg0; j1 < arg0 + l; j1++) { + for(int k1 = arg1; k1 < arg1 + i1; k1++) + if(Data.objectType[arg2] == 1) + tiles[j1][k1] |= 0x40; + else + if(k == 0) { + tiles[j1][k1] |= 2; + if(j1 > 0) + gjg(j1 - 1, k1, 8); + } else + if(k == 2) { + tiles[j1][k1] |= 4; + if(k1 < 95) + gjg(j1, k1 + 1, 1); + } else + if(k == 4) { + tiles[j1][k1] |= 8; + if(j1 < 95) + gjg(j1 + 1, k1, 2); + } else + if(k == 6) { + tiles[j1][k1] |= 1; + if(k1 > 0) + gjg(j1, k1 - 1, 4); + } + + } + + gka(arg0, arg1, l, i1); + } + } + + public int glb(int arg0, int arg1) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return 0; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + return tileRoofType[byte0][arg0 * 48 + arg1]; + } + + public void glc(int arg0, int arg1, int arg2) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + tileGroundOverlay[byte0][arg0 * 48 + arg1] = (byte)arg2; + } + + public int gld(int arg0, int arg1) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return 0; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + return tileVerticalWall[byte0][arg0 * 48 + arg1] & 0xff; + } + + public int gle(int arg0, int arg1) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return 0; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + return tileHorizontalWall[byte0][arg0 * 48 + arg1] & 0xff; + } + + public int glf(int arg0, int arg1) { + if(arg0 < 0 || arg0 >= 96 || arg1 < 0 || arg1 >= 96) + return 0; + byte byte0 = 0; + if(arg0 >= 48 && arg1 < 48) { + byte0 = 1; + arg0 -= 48; + } else + if(arg0 < 48 && arg1 >= 48) { + byte0 = 2; + arg1 -= 48; + } else + if(arg0 >= 48 && arg1 >= 48) { + byte0 = 3; + arg0 -= 48; + arg1 -= 48; + } + return tileDiagonalWall[byte0][arg0 * 48 + arg1]; + } + + public void glg(GameObject arg0[]) { + for(int k = 0; k < 94; k++) { + for(int l = 0; l < 94; l++) + if(glf(k, l) > 48000 && glf(k, l) < 60000) { + int i1 = glf(k, l) - 48001; + int j1 = objectDirs[k][l];//getTileRotation(k, l); + int k1; + int l1; + if(j1 == 0 || j1 == 4) { + k1 = Data.objectWidth[i1]; + l1 = Data.objectHeight[i1]; + } else { + l1 = Data.objectWidth[i1]; + k1 = Data.objectHeight[i1]; + } + gla(k, l, i1, j1); + GameObject i2 = arg0[Data.objectModelNumber[i1]].cnk(false, true, false, false); + int j2 = ((k + k + k1) * 128) / 2; + int l2 = ((l + l + l1) * 128) / 2; + i2.cmk(j2, -getAveragedElevation(j2, l2), l2); + //i2.cmj(0, getTileRotation(k, l) * 32, 0); + i2.cmj(0, j1 * 32, 0); + ghj.addModel(i2); + i2.cmf(48, 48, -50, -10, -50); + if(k1 > 1 || l1 > 1) { + for(int j3 = k; j3 < k + k1; j3++) { + for(int k3 = l; k3 < l + l1; k3++) + if((j3 > k || k3 > l) && glf(j3, k3) - 48001 == i1) { + int k2 = j3; + int i3 = k3; + byte byte0 = 0; + if(k2 >= 48 && i3 < 48) { + byte0 = 1; + k2 -= 48; + } else + if(k2 < 48 && i3 >= 48) { + byte0 = 2; + i3 -= 48; + } else + if(k2 >= 48 && i3 >= 48) { + byte0 = 3; + k2 -= 48; + i3 -= 48; + } + tileDiagonalWall[byte0][k2 * 48 + i3] = 0; + } + + } + + } + } + + } + + } + + public void glh(int arg0, int arg1, int arg2, int arg3, int arg4) { + GameObject k = ghn[arg0 + arg1 * 8]; + for(int l = 0; l < k.cfh; l++) + if(k.cil[l] == arg2 * 128 && k.cin[l] == arg3 * 128) { + k.cmh(l, arg4); + return; + } + + } + + public void gli(GameObject k, int l, int i1, int j1, int k1, int l1) { + gjd(i1, j1, 40); + gjd(k1, l1, 40); + int i2 = Data.wallObjectModelVar1[l]; + int j2 = Data.wallObjectModelVar2[l]; + int k2 = Data.wallObjectModelVar3[l]; + int l2 = i1 * 128; + int i3 = j1 * 128; + int j3 = k1 * 128; + int k3 = l1 * 128; + int l3 = k.cln(l2, -gib[i1][j1], i3); + int i4 = k.cln(l2, -gib[i1][j1] - i2, i3); + int j4 = k.cln(j3, -gib[k1][l1] - i2, k3); + int k4 = k.cln(j3, -gib[k1][l1], k3); + int ai[] = { + l3, i4, j4, k4 + }; + int l4 = k.cmb(4, ai, j2, k2); + if(Data.wallObjectUnknown[l] == 5) { + k.entityType[l4] = 30000 + l; + return; + } else { + k.entityType[l4] = 0; + return; + } + } + + final int ggn = 96; + final int gha = 96; + byte tileHorizontalWall[][]; + final int ghc = 0xbc614e; + final int ghd = 128; + int tileDiagonalWall[][]; + byte tileGroundOverlay[][]; + byte tileObjectRotation[][]; + boolean ghh; + GameImage ghi; + Camera ghj; + int selectedY[]; + byte tileGroundTexture[][]; + int ghm[]; + GameObject ghn[]; + GameObject gia; + int gib[][]; + byte tileVerticalWall[][]; + int steps[][]; + byte landscapeFree[]; + byte mapsFree[]; + byte tileGroundElevation[][]; + GameObject gih[][]; + boolean playerIsAlive; + int tiles[][]; + byte landscapeMembers[]; + byte mapsMembers[]; + GameObject gim[][]; + int selectedX[]; + byte tileRoofType[][]; + boolean gjb; + int gjc; + + int objectDirs[][]; +} diff --git a/clients/clientRSC/src/main/java/mudclient/GameApplet.java b/clients/clientRSC/src/main/java/mudclient/GameApplet.java new file mode 100755 index 0000000..f313835 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/GameApplet.java @@ -0,0 +1,548 @@ +package mudclient; + +import java.applet.Applet; +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionListener; +import java.awt.image.BufferedImage; +import java.io.DataInputStream; +import java.io.IOException; +import java.net.InetAddress; +import java.net.Socket; +import java.net.URL; + +import javax.swing.event.MouseInputListener; + +@SuppressWarnings("serial") +public class GameApplet extends Applet + implements Runnable, KeyListener, MouseInputListener, MouseMotionListener { + + protected void loadGame() { + } + + protected synchronized void checkInputs() { + } + + protected void close() { + } + + protected synchronized void drawWindow() { + } + + protected final void createWindow(int width, int height, String title, boolean resizable) { + System.out.println("Started application"); + appletWidth = width; + appletHeight = height; + gameFrame = new GameFrame(this, width, height, title, resizable, false); + gameLoadingScreen = 1; + gameWindowThread = new Thread(this); + gameWindowThread.start(); + gameWindowThread.setPriority(1); + } + + protected final void setRefreshRate(int i) { + refreshRate = 1000 / i; + } + + protected final void resetTimings() { + for(int i = 0; i < 10; i++) + timeArray[i] = 0L; + + } + + public void keyTyped(KeyEvent e) { + //ignore + } + + public void mouseClicked(MouseEvent e) { + //ignore + } + + public void keyPressed(KeyEvent evt) { + this.keyDown(evt.getKeyCode(), evt.getKeyChar()); + } + + public void keyReleased(KeyEvent evt) { + this.keyUp(evt.getKeyCode(), evt.getKeyChar()); + } + + public void mouseEntered(MouseEvent evt) { + this.mouseMove(evt.getX(), evt.getY()); + } + + public void mouseExited(MouseEvent evt) { + this.mouseMove(evt.getX(), evt.getY()); + } + + public void mousePressed(MouseEvent evt) { + this.mouseDown(evt.getX(), evt.getY(), evt.isMetaDown()); + } + + public void mouseReleased(MouseEvent evt) { + this.mouseUp(evt.getX(), evt.getY()); + } + + public void mouseDragged(MouseEvent evt) { + this.mouseDrag(evt.getX(), evt.getY(), evt.isMetaDown()); + } + + public void mouseMoved(MouseEvent evt) { + this.mouseMove(evt.getX(), evt.getY()); + } + + public void keyDown(int key, char c) { + handleKeyDown(key, c); + if(key == KeyEvent.VK_LEFT) + keyLeftDown = true; + if(key == KeyEvent.VK_RIGHT) + keyRightDown = true; + if(key == KeyEvent.VK_UP) + keyUpDown = true; + if(key == KeyEvent.VK_DOWN) + keyDownDown = true; + if(key == KeyEvent.VK_SPACE) + keySpaceDown = true; + if(key == KeyEvent.VK_N || key == KeyEvent.VK_M) + keyNMDown = true; + if(key == KeyEvent.VK_F1) + keyF1Toggle = !keyF1Toggle; + boolean flag = false; + for(int i = 0; i < allowedChars.length(); i++) { + if(c != allowedChars.charAt(i)) + continue; + flag = true; + break; + } + if(flag && inputText.length() < 20) + inputText += c; + if(flag && pmText.length() < 80) + pmText += c; + if(key == KeyEvent.VK_BACK_SPACE && inputText.length() > 0) + inputText = inputText.substring(0, inputText.length() - 1); + if(key == KeyEvent.VK_BACK_SPACE && pmText.length() > 0) + pmText = pmText.substring(0, pmText.length() - 1); + if(key == KeyEvent.VK_ENTER) { + enteredInputText = inputText; + enteredPMText = pmText; + } + } + + protected void handleKeyDown(int key, char c) { + } + + public void keyUp(int key, char c) { + if(key == KeyEvent.VK_LEFT) + keyLeftDown = false; + if(key == KeyEvent.VK_RIGHT) + keyRightDown = false; + if(key == KeyEvent.VK_UP) + keyUpDown = false; + if(key == KeyEvent.VK_DOWN) + keyDownDown = false; + if(key == KeyEvent.VK_SPACE) + keySpaceDown = false; + if(key == KeyEvent.VK_N || key == KeyEvent.VK_M) + keyNMDown = false; + } + + public final synchronized boolean mouseMove(int x, int y) { + mouseX = x; + mouseY = y - mouseYOffset; + mouseButton = 0; + return true; + } + + public final synchronized boolean mouseUp(int x, int y) { + mouseX = x; + mouseY = y - mouseYOffset; + mouseButton = 0; + return true; + } + + public final synchronized boolean mouseDown(int x, int y, boolean metaDown) { + mouseX = x; + mouseY = y - mouseYOffset; + mouseButton = metaDown ? 2 : 1; + lastMouseButton = mouseButton; + handleMouseDown(mouseButton, x, y); + return true; + } + + protected void handleMouseDown(int i, int k, int l) { + } + + public final synchronized boolean mouseDrag(int x, int y, boolean metaDown) { + mouseX = x; + mouseY = y - mouseYOffset; + mouseButton = metaDown ? 2 : 1; + return true; + } + + public final void init() { + appletWidth = 512; + appletHeight = 344; + gameLoadingScreen = 1; + DataOperations.codeBase = getCodeBase(); + startThread(this); + } + + public final void start() { + if(runStatus >= 0) + runStatus = 0; + } + + public final void stop() { + if(runStatus >= 0) + runStatus = 4000 / refreshRate; + } + + @SuppressWarnings("deprecation") + public final void destroy() { + runStatus = -1; + try { + Thread.sleep(2000L); + } + catch(Exception _ex) { } + if(runStatus == -1) { + System.out.println("2 seconds expired, forcing kill"); + closeProgram(); + if(gameWindowThread != null) { + gameWindowThread.stop(); + gameWindowThread = null; + } + } + } + + private final void closeProgram() { + runStatus = -2; + System.out.println("Closing program"); + close(); + try { + Thread.sleep(1000L); + } + catch(Exception _ex) { } + if(gameFrame != null) { + gameFrame.dispose(); + System.exit(0); + } + } + + Component getGameComponent() { + if(gameFrame != null) + return gameFrame; + else + return this; + } + + public final void run() { + getGameComponent().addKeyListener(this); + getGameComponent().addMouseListener(this); + getGameComponent().addMouseMotionListener(this); + if(gameLoadingScreen == 1) { + gameLoadingScreen = 2; + graphics = getGraphics(); + loadLoadingScreen(); + drawLoadingScreen(0, "Loading..."); + loadGame(); + gameLoadingScreen = 0; + } + int i = 0; + int k = 256; + int sleepTime = 1; + int j1 = 0; + for(int k1 = 0; k1 < 10; k1++) + timeArray[k1] = System.currentTimeMillis(); + + while(runStatus >= 0) { + if(runStatus > 0) { + runStatus--; + if(runStatus == 0) { + closeProgram(); + gameWindowThread = null; + return; + } + } + int i2 = k; + int j2 = sleepTime; + k = 300; + sleepTime = 1; + long l1 = System.currentTimeMillis(); + if(timeArray[i] == 0L) { + k = i2; + sleepTime = j2; + } else + if(l1 > timeArray[i]) + k = (int)((long)(2560 * refreshRate) / (l1 - timeArray[i])); + if(k < 25) + k = 25; + if(k > 256) { + k = 256; + sleepTime = (int)((long)refreshRate - (l1 - timeArray[i]) / 10L); + if(sleepTime < gameMinThreadSleepTime) + sleepTime = gameMinThreadSleepTime; + } + try { + Thread.sleep(sleepTime); + } + catch(InterruptedException _ex) { } + timeArray[i] = l1; + i = (i + 1) % 10; + if(sleepTime > 1) { + for(int k2 = 0; k2 < 10; k2++) + if(timeArray[k2] != 0L) + timeArray[k2] += sleepTime; + + } + int l2 = 0; + while(j1 < 256) { + checkInputs(); + j1 += k; + if(++l2 > fie) { + j1 = 0; + fij += 6; + if(fij > 25) { + fij = 0; + keyF1Toggle = true; + } + break; + } + } + fij--; + j1 &= 0xff; + drawWindow(); + } + if(runStatus == -1) + closeProgram(); + gameWindowThread = null; + } + + public final void update(Graphics g1) { + paint(g1); + } + + public final void paint(Graphics g1) { + if(gameLoadingScreen == 2) { + drawLoadingScreen(gameLoadingPercentage, gameLoadingFileTitle); + return; + } + } + + private final void loadLoadingScreen() { + graphics.setColor(Color.black); + graphics.fillRect(0, 0, appletWidth, appletHeight); + byte bytes[] = unpackData("fonts.jag", "Game fonts", 0); + GameImage.addFont(DataOperations.loadData("h11p.jf", 0, bytes)); + GameImage.addFont(DataOperations.loadData("h12b.jf", 0, bytes)); + GameImage.addFont(DataOperations.loadData("h12p.jf", 0, bytes)); + GameImage.addFont(DataOperations.loadData("h13b.jf", 0, bytes)); + GameImage.addFont(DataOperations.loadData("h14b.jf", 0, bytes)); + GameImage.addFont(DataOperations.loadData("h16b.jf", 0, bytes)); + GameImage.addFont(DataOperations.loadData("h20b.jf", 0, bytes)); + GameImage.addFont(DataOperations.loadData("h24b.jf", 0, bytes)); + } + + private final void drawLoadingScreen(int percentage, String fileTitle) { + try { + int i = (appletWidth - 281) / 2; + int k = (appletHeight - 148) / 2; + graphics.setColor(Color.black); + graphics.fillRect(0, 0, appletWidth, appletHeight); + i += 2; + k += 90; + if(bgImage != null) + graphics.drawImage(bgImage, 0, 0, null); + gameLoadingPercentage = percentage; + gameLoadingFileTitle = fileTitle; + graphics.setColor(new Color(132, 132, 132)); + graphics.drawRect(i - 2, k - 2, 280, 23); + graphics.fillRect(i, k, (277 * percentage) / 100, 20); + graphics.setColor(new Color(198, 198, 198)); + drawString(graphics, fileTitle, gameLoadingFont, i + 138, k + 10); + } + catch(Exception _ex) { } + } + + protected final void drawLoadingBarText(int i, String s) { + try { + int k = (appletWidth - 281) / 2; + int l = (appletHeight - 148) / 2; + k += 2; + l += 90; + gameLoadingPercentage = i; + gameLoadingFileTitle = s; + int i1 = (277 * i) / 100; + graphics.setColor(new Color(132, 132, 132)); + graphics.fillRect(k, l, i1, 20); + graphics.setColor(Color.black); + graphics.fillRect(k + i1, l, 277 - i1, 20); + graphics.setColor(new Color(198, 198, 198)); + drawString(graphics, s, gameLoadingFont, k + 138, l + 10); + return; + } + catch(Exception _ex) { + return; + } + } + + protected final void drawString(Graphics arg0, String arg1, Font arg2, int arg3, int arg4) { + Object obj; + if(gameFrame == null) + obj = this; + else + obj = gameFrame; + FontMetrics fontmetrics = ((Component) (obj)).getFontMetrics(arg2); + fontmetrics.stringWidth(arg1); + arg0.setFont(arg2); + arg0.drawString(arg1, arg3 - fontmetrics.stringWidth(arg1) / 2, arg4 + fontmetrics.getHeight() / 4); + } + + protected byte[] unpackData(String filename, String fileTitle, int startPercentage) { + System.out.println("Using default load"); + int i = 0; + int k = 0; + byte abyte0[] = link.getFile(filename); + if(abyte0 == null) { + try { + drawLoadingBarText(startPercentage, "Loading " + fileTitle + " - 0%"); + java.io.InputStream inputstream = DataOperations.openInputStream(filename); + DataInputStream datainputstream = new DataInputStream(inputstream); + byte abyte2[] = new byte[6]; + datainputstream.readFully(abyte2, 0, 6); + i = ((abyte2[0] & 0xff) << 16) + ((abyte2[1] & 0xff) << 8) + (abyte2[2] & 0xff); + k = ((abyte2[3] & 0xff) << 16) + ((abyte2[4] & 0xff) << 8) + (abyte2[5] & 0xff); + drawLoadingBarText(startPercentage, "Loading " + fileTitle + " - 5%"); + int l = 0; + abyte0 = new byte[k]; + while(l < k) { + int i1 = k - l; + if(i1 > 1000) + i1 = 1000; + datainputstream.readFully(abyte0, l, i1); + l += i1; + drawLoadingBarText(startPercentage, "Loading " + fileTitle + " - " + (5 + (l * 95) / k) + "%"); + } + datainputstream.close(); + } + catch(IOException _ex) { } + } + drawLoadingBarText(startPercentage, "Unpacking " + fileTitle); + if(k != i) { + byte abyte1[] = new byte[i]; + DataFileDecrypter.unpackData(abyte1, i, abyte0, k, 0); + return abyte1; + } else { + return abyte0; + } + } + + public Graphics getGraphics() { + if(gameFrame != null) + return gameFrame.getGraphics(); + else + return super.getGraphics(); + } + + public Image createImage(int i, int k) { + if(gameFrame != null) + return gameFrame.createImage(i, k); + else + return super.createImage(i, k); + } + + public URL getCodeBase() { + return super.getCodeBase(); + } + + public URL getDocumentBase() { + return super.getDocumentBase(); + } + + public String getParameter(String s) { + return super.getParameter(s); + } + + protected Socket makeSocket(String address, int port) + throws IOException { + Socket socket = new Socket(InetAddress.getByName(address), port); + socket.setSoTimeout(30000); + socket.setTcpNoDelay(true); + return socket; + } + + protected void startThread(Runnable runnable) { + Thread thread = new Thread(runnable); + thread.setDaemon(true); + thread.start(); + } + + public void mouseScroll(boolean begin, int arg) { + System.out.println("mouseWheel(" + begin + ", " + arg + ")"); + } + + public GameApplet() { + appletWidth = 512; + appletHeight = 384; + refreshRate = 20; + fie = 1000; + timeArray = new long[10]; + gameLoadingScreen = 1; + gameLoadingFileTitle = "Loading"; + gameLoadingFont = new Font("TimesRoman", 0, 15); + keyLeftDown = false; + keyRightDown = false; + keyUpDown = false; + keyDownDown = false; + keySpaceDown = false; + keyNMDown = false; + gameMinThreadSleepTime = 1; + keyF1Toggle = false; + inputText = ""; + enteredInputText = ""; + pmText = ""; + enteredPMText = ""; + } + + private int appletWidth; + private int appletHeight; + private Thread gameWindowThread; + private int refreshRate; + private int fie; + private long timeArray[]; + public static GameFrame gameFrame = null; + public int runStatus; + private int fij; + public int mouseYOffset = 0; + public int gameLoadingScreen; + private int gameLoadingPercentage; + private String gameLoadingFileTitle; + private Font gameLoadingFont; + private Graphics graphics; + private static String allowedChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"\243$%^&*()-_=+[{]};:'@#~,<.>/?\\| "; + public boolean keyLeftDown; + public boolean keyRightDown; + public boolean keyUpDown; + public boolean keyDownDown; + public boolean keySpaceDown; + public boolean keyNMDown; + public int gameMinThreadSleepTime; + public int mouseX; + public int mouseY; + public int mouseButton; + public int lastMouseButton; + public boolean keyF1Toggle; + public String inputText; + public String enteredInputText; + public String pmText; + public String enteredPMText; + + protected static int bgPixels[][] = null; + protected static BufferedImage bgImage = null; + +} diff --git a/clients/clientRSC/src/main/java/mudclient/GameAppletMiddleMan.java b/clients/clientRSC/src/main/java/mudclient/GameAppletMiddleMan.java new file mode 100755 index 0000000..3e70c66 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/GameAppletMiddleMan.java @@ -0,0 +1,443 @@ +package mudclient; + +import java.awt.*; +import java.io.IOException; + +@SuppressWarnings("serial") +public class GameAppletMiddleMan extends GameApplet { + + protected org.moparscape.iface.Hasher hasher = null; + + protected final void connect(String user, String pass, boolean reconnecting) { + if (socketTimeout > 0) { + loginScreenPrint("Please wait...", "Connecting to server"); + try { + Thread.sleep(2000L); + } catch (Exception _ex) { + } + loginScreenPrint("Sorry! The server is currently full.", "Please try again later"); + return; + } + try { + username = user; + user = DataOperations.formatString(user, 20); + password = pass; + if (hasher != null) + pass = hasher.hashString(pass); + else + pass = DataOperations.formatString(pass, 20); + if (user.trim().length() == 0) { + loginScreenPrint("You must enter both a username", "and a password - Please try again"); + return; + } + if (reconnecting) + gameBoxPrint("Connection lost! Please wait...", "Attempting to re-establish"); + else + loginScreenPrint("Please wait...", "Connecting to server"); + streamClass = new StreamClass(makeSocket(Config.SERVER_IP, Config.SERVER_PORT), this); + streamClass.maxPacketReadCount = maxPacketReadCount; + long l = DataOperations.nameToHash(user); + streamClass.createPacket(32); + streamClass.addByte((int) (l >> 16 & 31L)); + streamClass.addString("You must enter both a username and a password - Please try again");// TODO not used server-side + streamClass.flush(); + long sessionId = streamClass.readLong(); + if (sessionId == 0L) { + loginScreenPrint("Login server offline.", "Please try again in a few mins"); + return; + } + //System.out.println("Verb: Session id: " + sessionId); + int sessionKeys[] = new int[4]; + sessionKeys[0] = (int) (Math.random() * 99999999D); + sessionKeys[1] = (int) (Math.random() * 99999999D); + sessionKeys[2] = (int) (sessionId >> 32); + sessionKeys[3] = (int) sessionId; + LoginDataEncryption dataEnc = new LoginDataEncryption(new byte[117]); + dataEnc.addByte(reconnecting ? 1 : 0); + dataEnc.addInt(Config.CLIENT_VERSION); + dataEnc.addInt(sessionKeys[0]); + dataEnc.addInt(sessionKeys[1]); + dataEnc.addInt(sessionKeys[2]); + dataEnc.addInt(sessionKeys[3]); + dataEnc.addString(user); + dataEnc.addString(pass); + byte data[] = dataEnc.encrypt(dataEnc.packet); + streamClass.createPacket(77); + streamClass.addBytes(data, 0, data.length); + streamClass.flush(); + int loginCode = streamClass.read(); + //System.out.println("login response:" + loginCode); + if (loginCode == 99) { + reconnectTries = 0; + initVars(); + return; + } + if (loginCode == 0) { + reconnectTries = 0; + initVars(); + return; + } + if (loginCode == 1) { + reconnectTries = 0; + return; + } + if (reconnecting) { + user = ""; + pass = ""; + resetIntVars(); + return; + } + if (loginCode == -1) { + loginScreenPrint("Error unable to login.", "Server timed out"); + return; + } + if (loginCode == 2) { + loginScreenPrint("Invalid username or password.", "Try again, or create a new account"); + return; + } + if (loginCode == 3) { + loginScreenPrint("That username is already logged in.", "Wait 60 seconds then retry"); + return; + } + if (loginCode == 4) { + loginScreenPrint("The client has been updated.", "Please restart the client"); + return; + } + if (loginCode == 5) { + loginScreenPrint("Error unable to login.", "Please retry"); + return; + } + if (loginCode == 6) { + loginScreenPrint("Account banned.", "Appeal on the forums, ASAP."); + return; + } + if (loginCode == 7) { + loginScreenPrint("Error - failed to decode profile.", "Contact an admin!"); + return; + } + if (loginCode == 8) { + loginScreenPrint("Too many connections from your IP.", "Please try again later"); + return; + } + if (loginCode == 9) { + loginScreenPrint("Account already in use.", "You may only login to one character at a time"); + return; + } else { + loginScreenPrint("Error unable to login.", "Unrecognised response code"); + return; + } + } catch (Exception e) { + System.out.println(e.getMessage()); + e.printStackTrace(); + } + if (reconnectTries > 0) { + try { + Thread.sleep(2500L); + } catch (Exception _ex) { + } + reconnectTries--; + connect(username, password, reconnecting); + } + if (reconnecting) { + username = ""; + password = ""; + resetIntVars(); + } else { + loginScreenPrint("Sorry! Unable to connect.", "Check internet settings or try another world"); + } + } + + protected final void requestLogout() { + if (streamClass != null) + try { + streamClass.createPacket(39); + streamClass.flush(); + } catch (IOException _ex) { + } + username = ""; + password = ""; + resetIntVars(); + loginScreenPrint("Please enter your usename and password", ""); + } + + protected void lostConnection() { + System.out.println("Lost connection"); + connect(username, password, true); + loginScreenPrint("Please enter your usename and password", ""); + } + + protected final void gameBoxPrint(String s1, String s2) { + Graphics g = getGraphics(); + Font font = new Font("Helvetica", 1, 15); + char c = '\u0200'; + char c1 = '\u0158'; + g.setColor(Color.black); + g.fillRect(c / 2 - 140, c1 / 2 - 25, 280, 50); + g.setColor(Color.white); + g.drawRect(c / 2 - 140, c1 / 2 - 25, 280, 50); + drawString(g, s1, font, c / 2, c1 / 2 - 10); + drawString(g, s2, font, c / 2, c1 / 2 + 10); + } + + protected final void sendPingPacket() { + long l = System.currentTimeMillis(); + if (streamClass.hasData()) + lastPing = l; + if (l - lastPing > 5000L) { + lastPing = l; + streamClass.createPacket(5); + streamClass.formatPacket(); + } + try { + streamClass.writePacket(20); + } catch (IOException _ex) { + lostConnection(); + return; + } + int packetLength = streamClass.readPacket(packetData); + if (packetLength > 0) + handlePacket(packetData[0] & 0xff, packetLength); + } + + private final void handlePacket(int command, int length) { + if (command == 48) { + String s1 = new String(packetData, 1, length - 1); + displayMessage(s1); + return; + } + if (command == 222) { + requestLogout(); + return; + } + if (command == 136) { + cantLogout(); + return; + } + if (command == 249) { + friendsCount = DataOperations.getByte(packetData[1]); + for (int i = 0; i < friendsCount; i++) { + friendsList[i] = DataOperations.getLong(packetData, 2 + i * 9); + friendsWorld[i] = DataOperations.getByte(packetData[10 + i * 9]); + } + + reOrderFriendsList(); + return; + } + if (command == 25) { + long friend = DataOperations.getLong(packetData, 1); + int status = packetData[9] & 0xff; + for (int j1 = 0; j1 < friendsCount; j1++) + if (friendsList[j1] == friend) { + if (friendsWorld[j1] == 0 && status != 0) + displayMessage("@pri@" + DataOperations.hashToName(friend) + " has logged in"); + if (friendsWorld[j1] != 0 && status == 0) + displayMessage("@pri@" + DataOperations.hashToName(friend) + " has logged out"); + friendsWorld[j1] = status; + length = 0; + reOrderFriendsList(); + return; + } + + friendsList[friendsCount] = friend; + friendsWorld[friendsCount] = status; + friendsCount++; + reOrderFriendsList(); + return; + } + if (command == 2) { + ignoresCount = DataOperations.getByte(packetData[1]); + for (int j = 0; j < ignoresCount; j++) + ignoresList[j] = DataOperations.getLong(packetData, 2 + j * 8); + + return; + } + if (command == 158) { + blockChat = packetData[1]; + blockPrivate = packetData[2]; + blockTrade = packetData[3]; + blockDuel = packetData[4]; + return; + } + if (command == 170) { + long l1 = DataOperations.getLong(packetData, 1); + String s = ChatMessage.bytesToString(packetData, 9, length - 9); + displayMessage("@pri@" + DataOperations.hashToName(l1) + ": tells you " + s); + return; + } + if (command == 211) {// TODO remove? + streamClass.createPacket(69); + streamClass.addByte(0);// scar.exe, etc + streamClass.formatPacket(); + return; + } + if (command == 1) {// TODO remove? + //bluePoints + //redPoints + return; + } + handlePacket(command, length, packetData); + } + + private final void reOrderFriendsList() { + boolean flag = true; + while (flag) { + flag = false; + for (int i = 0; i < friendsCount - 1; i++) + if (friendsWorld[i] < friendsWorld[i + 1]) { + int j = friendsWorld[i]; + friendsWorld[i] = friendsWorld[i + 1]; + friendsWorld[i + 1] = j; + long l = friendsList[i]; + friendsList[i] = friendsList[i + 1]; + friendsList[i + 1] = l; + flag = true; + } + + } + } + + protected final void sendUpdatedPrivacyInfo(int blockChat, int blockPrivate, int blockTrade, int blockDuel) { + streamClass.createPacket(176); + streamClass.addByte(blockChat); + streamClass.addByte(blockPrivate); + streamClass.addByte(blockTrade); + streamClass.addByte(blockDuel); + streamClass.formatPacket(); + } + + protected final void addIgnore(String arg0) { + long l = DataOperations.nameToHash(arg0); + streamClass.createPacket(25); + streamClass.addLong(l); + streamClass.formatPacket(); + for (int i = 0; i < ignoresCount; i++) + if (ignoresList[i] == l) + return; + + if (ignoresCount >= ignoresList.length - 1) { + return; + } else { + ignoresList[ignoresCount++] = l; + return; + } + } + + protected final void removeIgnore(long arg0) { + streamClass.createPacket(108); + streamClass.addLong(arg0); + streamClass.formatPacket(); + for (int i = 0; i < ignoresCount; i++) + if (ignoresList[i] == arg0) { + ignoresCount--; + for (int j = i; j < ignoresCount; j++) + ignoresList[j] = ignoresList[j + 1]; + + return; + } + + } + + protected final void addFriend(String arg0) { + streamClass.createPacket(168); + streamClass.addLong(DataOperations.nameToHash(arg0)); + streamClass.formatPacket(); + long l = DataOperations.nameToHash(arg0); + for (int i = 0; i < friendsCount; i++) + if (friendsList[i] == l) + return; + + if (friendsCount >= friendsList.length - 1) { + return; + } else { + friendsList[friendsCount] = l; + friendsWorld[friendsCount] = 0; + friendsCount++; + return; + } + } + + protected final void removeFriend(long arg0) { + streamClass.createPacket(52); + streamClass.addLong(arg0); + streamClass.formatPacket(); + for (int i = 0; i < friendsCount; i++) { + if (friendsList[i] != arg0) + continue; + friendsCount--; + for (int j = i; j < friendsCount; j++) { + friendsList[j] = friendsList[j + 1]; + friendsWorld[j] = friendsWorld[j + 1]; + } + + break; + } + + displayMessage("@pri@" + DataOperations.hashToName(arg0) + " has been removed from your friends list"); + } + + protected final void sendPrivateMessage(long l, byte abyte0[], int i) { + streamClass.createPacket(254); + streamClass.addLong(l); + streamClass.addBytes(abyte0, 0, i); + streamClass.formatPacket(); + } + + protected final void sendChatMessage(byte abyte0[], int i) { + streamClass.createPacket(145); + streamClass.addBytes(abyte0, 0, i); + streamClass.formatPacket(); + } + + protected final void sendCommand(String s1) { + streamClass.createPacket(90); + streamClass.addString(s1); + streamClass.formatPacket(); + } + + protected void loginScreenPrint(String s1, String s2) { + } + + protected void initVars() { + } + + protected void resetIntVars() { + } + + protected void cantLogout() { + } + + protected void handlePacket(int i, int j, byte abyte0[]) { + } + + protected void displayMessage(String s1) { + } + + public GameAppletMiddleMan() { + username = ""; + password = ""; + packetData = new byte[10000]; + friendsList = new long[40]; + friendsWorld = new int[400]; + ignoresList = new long[200]; + } + + public static int maxPacketReadCount; + String username; + String password; + public StreamClass streamClass; + byte packetData[]; + int reconnectTries; + long lastPing; + public int friendsCount; + public long friendsList[]; + public int friendsWorld[]; + public int ignoresCount; + public long ignoresList[]; + public int blockChat; + public int blockPrivate; + public int blockTrade; + public int blockDuel; + public long sessionId; + public int socketTimeout; + +} diff --git a/clients/clientRSC/src/main/java/mudclient/GameFrame.java b/clients/clientRSC/src/main/java/mudclient/GameFrame.java new file mode 100755 index 0000000..f82e336 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/GameFrame.java @@ -0,0 +1,77 @@ +package mudclient; + +import java.awt.Frame; +import java.awt.Graphics; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; + +@SuppressWarnings({ "deprecation", "serial" }) +public class GameFrame extends Frame implements WindowListener { + + public GameFrame(GameApplet arg0, int width, int height, String title, boolean resizable, boolean translate) { + yOffset = 28; + frameWidth = width; + frameHeight = height; + gameApplet = arg0; + if(translate) + yOffset = 48; + else + yOffset = 28; + gameApplet.mouseYOffset = 24; + setTitle(title); + setResizable(resizable); + show(); + toFront(); + resize(frameWidth, frameHeight); + + addWindowListener(this); + } + + public Graphics getGraphics() { + Graphics g = super.getGraphics(); + if(fej == 0) + g.translate(0, 24); + else + g.translate(-5, 0); + return g; + } + + public void resize(int i, int j) { + super.resize(i, j + yOffset); + } + + public final void paint(Graphics g) { + gameApplet.paint(g); + } + + public void windowClosed(WindowEvent evt) { + if(gameApplet.runStatus != -1) + gameApplet.destroy(); + } + + public void windowClosing(WindowEvent evt) { + if(gameApplet.runStatus != -1) + gameApplet.destroy(); + } + + public void windowActivated(WindowEvent evt) { + } + + public void windowDeactivated(WindowEvent evt) { + } + + public void windowDeiconified(WindowEvent evt) { + } + + public void windowIconified(WindowEvent evt) { + } + + public void windowOpened(WindowEvent evt) { + } + + int frameWidth; + int frameHeight; + int fej; + int yOffset; + GameApplet gameApplet; +} diff --git a/clients/clientRSC/src/main/java/mudclient/GameImage.java b/clients/clientRSC/src/main/java/mudclient/GameImage.java new file mode 100755 index 0000000..0bd5d5d --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/GameImage.java @@ -0,0 +1,2196 @@ +package mudclient; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.image.ColorModel; +import java.awt.image.DirectColorModel; +import java.awt.image.ImageConsumer; +import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import java.awt.image.PixelGrabber; + +public class GameImage + implements ImageProducer, ImageObserver { + + public GameImage(int arg0, int arg1, int arg2, Component arg3) { + interlace = false; + loggedIn = false; + gameLowerY = arg1; + gameLowerX = arg0; + width = gameWidth = arg0; + height = gameHeight = arg1; + area = arg0 * arg1; + pixels = new int[arg0 * arg1]; + pictureColors = new int[arg2][]; + pictureRequiresShift = new boolean[arg2]; + bmd = new byte[arg2][]; + bme = new int[arg2][]; + pictureWidth = new int[arg2]; + pictureHeight = new int[arg2]; + pictureAssumedWidth = new int[arg2]; + pictureAssumedHeight = new int[arg2]; + pictureOffsetX = new int[arg2]; + pictureOffsetY = new int[arg2]; + if(arg0 > 1 && arg1 > 1 && arg3 != null) { + colorModel = new DirectColorModel(32, 0xff0000, 65280, 255); + int i = gameWidth * gameHeight; + for(int k = 0; k < i; k++) + pixels[k] = 0; + + image = arg3.createImage(this); + cag(); + arg3.prepareImage(image, arg3); + cag(); + arg3.prepareImage(image, arg3); + cag(); + arg3.prepareImage(image, arg3); + } + } + + public synchronized void addConsumer(ImageConsumer imageconsumer) { + imageConsumer = imageconsumer; + imageconsumer.setDimensions(gameWidth, gameHeight); + imageconsumer.setProperties(null); + imageconsumer.setColorModel(colorModel); + imageconsumer.setHints(14); + } + + public synchronized boolean isConsumer(ImageConsumer imageconsumer) { + return imageConsumer == imageconsumer; + } + + public synchronized void removeConsumer(ImageConsumer imageconsumer) { + if(imageConsumer == imageconsumer) + imageConsumer = null; + } + + public void startProduction(ImageConsumer imageconsumer) { + addConsumer(imageconsumer); + } + + public void requestTopDownLeftRightResend(ImageConsumer imageconsumer) { + System.out.println("TDLR"); + } + + public synchronized void cag() { + if(imageConsumer == null) { + return; + } else { + imageConsumer.setPixels(0, 0, gameWidth, gameHeight, colorModel, pixels, 0, gameWidth); + imageConsumer.imageComplete(2); + return; + } + } + + public void setGameBoundaries(int i, int k, int l, int i1) { + if(i < 0) + i = 0; + if(k < 0) + k = 0; + if(l > gameWidth) + l = gameWidth; + if(i1 > gameHeight) + i1 = gameHeight; + gameUpperX = i; + gameUpperY = k; + gameLowerX = l; + gameLowerY = i1; + } + + public void cai() { + gameUpperX = 0; + gameUpperY = 0; + gameLowerX = gameWidth; + gameLowerY = gameHeight; + } + + public void drawImage(Graphics g, int i, int k) { + cag(); + g.drawImage(image, i, k, this); + } + + public void clearScreen() { + int i = gameWidth * gameHeight; + if(!interlace) { + for(int k = 0; k < i; k++) + pixels[k] = 0; + + return; + } + int l = 0; + for(int i1 = -gameHeight; i1 < 0; i1 += 2) { + for(int j1 = -gameWidth; j1 < 0; j1++) + pixels[l++] = 0; + + l += gameWidth; + } + + } + + public void drawCircle(int arg0, int arg1, int arg2, int arg3, int arg4) { + int i = 256 - arg4; + int k = (arg3 >> 16 & 0xff) * arg4; + int l = (arg3 >> 8 & 0xff) * arg4; + int i1 = (arg3 & 0xff) * arg4; + int i2 = arg1 - arg2; + if(i2 < 0) + i2 = 0; + int j2 = arg1 + arg2; + if(j2 >= gameHeight) + j2 = gameHeight - 1; + byte byte0 = 1; + if(interlace) { + byte0 = 2; + if((i2 & 1) != 0) + i2++; + } + for(int k2 = i2; k2 <= j2; k2 += byte0) { + int l2 = k2 - arg1; + int i3 = (int)Math.sqrt(arg2 * arg2 - l2 * l2); + int j3 = arg0 - i3; + if(j3 < 0) + j3 = 0; + int k3 = arg0 + i3; + if(k3 >= gameWidth) + k3 = gameWidth - 1; + int l3 = j3 + k2 * gameWidth; + for(int i4 = j3; i4 <= k3; i4++) { + int j1 = (pixels[l3] >> 16 & 0xff) * i; + int k1 = (pixels[l3] >> 8 & 0xff) * i; + int l1 = (pixels[l3] & 0xff) * i; + int j4 = ((k + j1 >> 8) << 16) + ((l + k1 >> 8) << 8) + (i1 + l1 >> 8); + pixels[l3++] = j4; + } + + } + + } + + public void drawBoxAlpha(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { + if(arg0 < gameUpperX) { + arg2 -= gameUpperX - arg0; + arg0 = gameUpperX; + } + if(arg1 < gameUpperY) { + arg3 -= gameUpperY - arg1; + arg1 = gameUpperY; + } + if(arg0 + arg2 > gameLowerX) + arg2 = gameLowerX - arg0; + if(arg1 + arg3 > gameLowerY) + arg3 = gameLowerY - arg1; + int i = 256 - arg5; + int k = (arg4 >> 16 & 0xff) * arg5; + int l = (arg4 >> 8 & 0xff) * arg5; + int i1 = (arg4 & 0xff) * arg5; + int i2 = gameWidth - arg2; + byte byte0 = 1; + if(interlace) { + byte0 = 2; + i2 += gameWidth; + if((arg1 & 1) != 0) { + arg1++; + arg3--; + } + } + int j2 = arg0 + arg1 * gameWidth; + for(int k2 = 0; k2 < arg3; k2 += byte0) { + for(int l2 = -arg2; l2 < 0; l2++) { + int j1 = (pixels[j2] >> 16 & 0xff) * i; + int k1 = (pixels[j2] >> 8 & 0xff) * i; + int l1 = (pixels[j2] & 0xff) * i; + int i3 = ((k + j1 >> 8) << 16) + ((l + k1 >> 8) << 8) + (i1 + l1 >> 8); + pixels[j2++] = i3; + } + + j2 += i2; + } + + } + + public void drawGradientBox(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { + if(arg0 < gameUpperX) { + arg2 -= gameUpperX - arg0; + arg0 = gameUpperX; + } + if(arg0 + arg2 > gameLowerX) + arg2 = gameLowerX - arg0; + int i = arg5 >> 16 & 0xff; + int k = arg5 >> 8 & 0xff; + int l = arg5 & 0xff; + int i1 = arg4 >> 16 & 0xff; + int j1 = arg4 >> 8 & 0xff; + int k1 = arg4 & 0xff; + int l1 = gameWidth - arg2; + byte byte0 = 1; + if(interlace) { + byte0 = 2; + l1 += gameWidth; + if((arg1 & 1) != 0) { + arg1++; + arg3--; + } + } + int i2 = arg0 + arg1 * gameWidth; + for(int j2 = 0; j2 < arg3; j2 += byte0) + if(j2 + arg1 >= gameUpperY && j2 + arg1 < gameLowerY) { + int k2 = ((i * j2 + i1 * (arg3 - j2)) / arg3 << 16) + ((k * j2 + j1 * (arg3 - j2)) / arg3 << 8) + (l * j2 + k1 * (arg3 - j2)) / arg3; + for(int l2 = -arg2; l2 < 0; l2++) + pixels[i2++] = k2; + + i2 += l1; + } else { + i2 += gameWidth; + } + + } + + public void drawBox(int arg0, int arg1, int arg2, int arg3, int arg4) { + if(arg0 < gameUpperX) { + arg2 -= gameUpperX - arg0; + arg0 = gameUpperX; + } + if(arg1 < gameUpperY) { + arg3 -= gameUpperY - arg1; + arg1 = gameUpperY; + } + if(arg0 + arg2 > gameLowerX) + arg2 = gameLowerX - arg0; + if(arg1 + arg3 > gameLowerY) + arg3 = gameLowerY - arg1; + int i = gameWidth - arg2; + byte byte0 = 1; + if(interlace) { + byte0 = 2; + i += gameWidth; + if((arg1 & 1) != 0) { + arg1++; + arg3--; + } + } + int k = arg0 + arg1 * gameWidth; + for(int l = -arg3; l < 0; l += byte0) { + for(int i1 = -arg2; i1 < 0; i1++) + pixels[k++] = arg4; + + k += i; + } + + } + + public void drawBoxEdge(int i, int k, int l, int i1, int j1) { + drawLineX(i, k, l, j1); + drawLineX(i, (k + i1) - 1, l, j1); + drawLineY(i, k, i1, j1); + drawLineY((i + l) - 1, k, i1, j1); + } + + public void drawLineX(int arg0, int arg1, int arg2, int arg3) { + if(arg1 < gameUpperY || arg1 >= gameLowerY) + return; + if(arg0 < gameUpperX) { + arg2 -= gameUpperX - arg0; + arg0 = gameUpperX; + } + if(arg0 + arg2 > gameLowerX) + arg2 = gameLowerX - arg0; + int i = arg0 + arg1 * gameWidth; + for(int k = 0; k < arg2; k++) + pixels[i + k] = arg3; + + } + + public void drawLineY(int arg0, int arg1, int arg2, int arg3) { + if(arg0 < gameUpperX || arg0 >= gameLowerX) + return; + if(arg1 < gameUpperY) { + arg2 -= gameUpperY - arg1; + arg1 = gameUpperY; + } + if(arg1 + arg2 > gameLowerX) + arg2 = gameLowerY - arg1; + int i = arg0 + arg1 * gameWidth; + for(int k = 0; k < arg2; k++) + pixels[i + k * gameWidth] = arg3; + + } + + public void drawMinimapPixel(int i, int k, int l) { + if(i < gameUpperX || k < gameUpperY || i >= gameLowerX || k >= gameLowerY) { + return; + } else { + pixels[i + k * gameWidth] = l; + return; + } + } + + public void screenFadeToBlack() { + int l = gameWidth * gameHeight; + for(int k = 0; k < l; k++) { + int i = pixels[k] & 0xffffff; + pixels[k] = (i >>> 1 & 0x7f7f7f) + (i >>> 2 & 0x3f3f3f) + (i >>> 3 & 0x1f1f1f) + (i >>> 4 & 0xf0f0f); + } + + } + + public void cbg(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { + for(int i = arg2; i < arg2 + arg4; i++) { + for(int k = arg3; k < arg3 + arg5; k++) { + int l = 0; + int i1 = 0; + int j1 = 0; + int k1 = 0; + for(int l1 = i - arg0; l1 <= i + arg0; l1++) + if(l1 >= 0 && l1 < gameWidth) { + for(int i2 = k - arg1; i2 <= k + arg1; i2++) + if(i2 >= 0 && i2 < gameHeight) { + int j2 = pixels[l1 + gameWidth * i2]; + l += j2 >> 16 & 0xff; + i1 += j2 >> 8 & 0xff; + j1 += j2 & 0xff; + k1++; + } + + } + + pixels[i + gameWidth * k] = (l / k1 << 16) + (i1 / k1 << 8) + j1 / k1; + } + + } + + } + + public static int rgbToInt(int i, int k, int l) { + return (i << 16) + (k << 8) + l; + } + + public void cleanUp() { + for(int i = 0; i < pictureColors.length; i++) { + pictureColors[i] = null; + pictureWidth[i] = 0; + pictureHeight[i] = 0; + bmd[i] = null; + bme[i] = null; + } + + } + + public void unpackImageData(int arg0, byte arg1[], byte arg2[], int arg3) { + int i = DataOperations.getShort(arg1, 0); + int k = DataOperations.getShort(arg2, i); + i += 2; + int l = DataOperations.getShort(arg2, i); + i += 2; + int i1 = arg2[i++] & 0xff; + int ai[] = new int[i1]; + ai[0] = 0xff00ff; + for(int j1 = 0; j1 < i1 - 1; j1++) { + ai[j1 + 1] = ((arg2[i] & 0xff) << 16) + ((arg2[i + 1] & 0xff) << 8) + (arg2[i + 2] & 0xff); + i += 3; + } + + int k1 = 2; + for(int l1 = arg0; l1 < arg0 + arg3; l1++) { + pictureOffsetX[l1] = arg2[i++] & 0xff; + pictureOffsetY[l1] = arg2[i++] & 0xff; + pictureWidth[l1] = DataOperations.getShort(arg2, i); + i += 2; + pictureHeight[l1] = DataOperations.getShort(arg2, i); + i += 2; + int i2 = arg2[i++] & 0xff; + int j2 = pictureWidth[l1] * pictureHeight[l1]; + bmd[l1] = new byte[j2]; + bme[l1] = ai; + pictureAssumedWidth[l1] = k; + pictureAssumedHeight[l1] = l; + pictureColors[l1] = null; + pictureRequiresShift[l1] = false; + if(pictureOffsetX[l1] != 0 || pictureOffsetY[l1] != 0) + pictureRequiresShift[l1] = true; + if(i2 == 0) { + for(int k2 = 0; k2 < j2; k2++) { + bmd[l1][k2] = arg1[k1++]; + if(bmd[l1][k2] == 0) + pictureRequiresShift[l1] = true; + } + + } else + if(i2 == 1) { + for(int l2 = 0; l2 < pictureWidth[l1]; l2++) { + for(int i3 = 0; i3 < pictureHeight[l1]; i3++) { + bmd[l1][l2 + i3 * pictureWidth[l1]] = arg1[k1++]; + if(bmd[l1][l2 + i3 * pictureWidth[l1]] == 0) + pictureRequiresShift[l1] = true; + } + + } + + } + } + + } + + public void setSleepSprite(int pictureIndex, byte spriteData[]) { + int colors[] = pictureColors[pictureIndex] = new int[10200]; + pictureWidth[pictureIndex] = 255; + pictureHeight[pictureIndex] = 40; + pictureOffsetX[pictureIndex] = 0; + pictureOffsetY[pictureIndex] = 0; + pictureAssumedWidth[pictureIndex] = 255; + pictureAssumedHeight[pictureIndex] = 40; + pictureRequiresShift[pictureIndex] = false; + int color = 0; + int off = 1; + int x; + try { + for(x = 0; x < 255;) { + int i1 = spriteData[off++] & 0xff; + for(int k1 = 0; k1 < i1; k1++) + colors[x++] = color; + + color = 0xffffff - color; + } + + for(int y = 1; y < 40; y++) { + for(int l1 = 0; l1 < 255;) { + int i2 = spriteData[off++] & 0xff; + for(int j2 = 0; j2 < i2; j2++) { + colors[x] = colors[x - 255]; + x++; + l1++; + } + + if(l1 < 255) { + colors[x] = 0xffffff - colors[x - 255]; + x++; + l1++; + } + } + + } + } catch(Exception e) { + e.printStackTrace(); + } + + } + + public void cbl(int arg0) { + int i = pictureWidth[arg0] * pictureHeight[arg0]; + int ai[] = pictureColors[arg0]; + int ai1[] = new int[32768]; + for(int k = 0; k < i; k++) { + int l = ai[k]; + ai1[((l & 0xf80000) >> 9) + ((l & 0xf800) >> 6) + ((l & 0xf8) >> 3)]++; + } + + int ai2[] = new int[256]; + ai2[0] = 0xff00ff; + int ai3[] = new int[256]; + for(int i1 = 0; i1 < 32768; i1++) { + int j1 = ai1[i1]; + if(j1 > ai3[255]) { + for(int k1 = 1; k1 < 256; k1++) { + if(j1 <= ai3[k1]) + continue; + for(int i2 = 255; i2 > k1; i2--) { + ai2[i2] = ai2[i2 - 1]; + ai3[i2] = ai3[i2 - 1]; + } + + ai2[k1] = ((i1 & 0x7c00) << 9) + ((i1 & 0x3e0) << 6) + ((i1 & 0x1f) << 3) + 0x40404; + ai3[k1] = j1; + break; + } + + } + ai1[i1] = -1; + } + + byte abyte0[] = new byte[i]; + for(int l1 = 0; l1 < i; l1++) { + int j2 = ai[l1]; + int k2 = ((j2 & 0xf80000) >> 9) + ((j2 & 0xf800) >> 6) + ((j2 & 0xf8) >> 3); + int l2 = ai1[k2]; + if(l2 == -1) { + int i3 = 0x3b9ac9ff; + int j3 = j2 >> 16 & 0xff; + int k3 = j2 >> 8 & 0xff; + int l3 = j2 & 0xff; + for(int i4 = 0; i4 < 256; i4++) { + int j4 = ai2[i4]; + int k4 = j4 >> 16 & 0xff; + int l4 = j4 >> 8 & 0xff; + int i5 = j4 & 0xff; + int j5 = (j3 - k4) * (j3 - k4) + (k3 - l4) * (k3 - l4) + (l3 - i5) * (l3 - i5); + if(j5 < i3) { + i3 = j5; + l2 = i4; + } + } + + ai1[k2] = l2; + } + abyte0[l1] = (byte)l2; + } + + bmd[arg0] = abyte0; + bme[arg0] = ai2; + pictureColors[arg0] = null; + } + + public void loadImage(int arg0) { + if(bmd[arg0] == null) + return; + int i = pictureWidth[arg0] * pictureHeight[arg0]; + byte abyte0[] = bmd[arg0]; + int ai[] = bme[arg0]; + int ai1[] = new int[i]; + for(int k = 0; k < i; k++) { + int l = ai[abyte0[k] & 0xff]; + if(l == 0) + l = 1; + else + if(l == 0xff00ff) + l = 0; + ai1[k] = l; + } + + pictureColors[arg0] = ai1; + bmd[arg0] = null; + bme[arg0] = null; + } + + public void cbn(int arg0, int arg1, int arg2, int arg3, int arg4) { + pictureWidth[arg0] = arg3; + pictureHeight[arg0] = arg4; + pictureRequiresShift[arg0] = false; + pictureOffsetX[arg0] = 0; + pictureOffsetY[arg0] = 0; + pictureAssumedWidth[arg0] = arg3; + pictureAssumedHeight[arg0] = arg4; + int i = arg3 * arg4; + int k = 0; + pictureColors[arg0] = new int[i]; + for(int l = arg1; l < arg1 + arg3; l++) { + for(int i1 = arg2; i1 < arg2 + arg4; i1++) + pictureColors[arg0][k++] = pixels[l + i1 * gameWidth]; + + } + + } + + public void cca(int arg0, int arg1, int arg2, int arg3, int arg4) { + pictureWidth[arg0] = arg3; + pictureHeight[arg0] = arg4; + pictureRequiresShift[arg0] = false; + pictureOffsetX[arg0] = 0; + pictureOffsetY[arg0] = 0; + pictureAssumedWidth[arg0] = arg3; + pictureAssumedHeight[arg0] = arg4; + int i = arg3 * arg4; + int k = 0; + pictureColors[arg0] = new int[i]; + for(int l = arg2; l < arg2 + arg4; l++) { + for(int i1 = arg1; i1 < arg1 + arg3; i1++) + pictureColors[arg0][k++] = pixels[i1 + l * gameWidth]; + + } + + } + + public void drawPicture(int i, int k, int l) { + if(pictureRequiresShift[l]) { + i += pictureOffsetX[l]; + k += pictureOffsetY[l]; + } + int i1 = i + k * gameWidth; + int j1 = 0; + int k1 = pictureHeight[l]; + int l1 = pictureWidth[l]; + int i2 = gameWidth - l1; + int j2 = 0; + if(k < gameUpperY) { + int k2 = gameUpperY - k; + k1 -= k2; + k = gameUpperY; + j1 += k2 * l1; + i1 += k2 * gameWidth; + } + if(k + k1 >= gameLowerY) + k1 -= ((k + k1) - gameLowerY) + 1; + if(i < gameUpperX) { + int l2 = gameUpperX - i; + l1 -= l2; + i = gameUpperX; + j1 += l2; + i1 += l2; + j2 += l2; + i2 += l2; + } + if(i + l1 >= gameLowerX) { + int i3 = ((i + l1) - gameLowerX) + 1; + l1 -= i3; + j2 += i3; + i2 += i3; + } + if(l1 <= 0 || k1 <= 0) + return; + byte byte0 = 1; + if(interlace) { + byte0 = 2; + i2 += gameWidth; + j2 += pictureWidth[l]; + if((k & 1) != 0) { + i1 += gameWidth; + k1--; + } + } + if(pictureColors[l] == null) { + cch(pixels, bmd[l], bme[l], j1, i1, l1, k1, i2, j2, byte0); + return; + } else { + ccg(pixels, pictureColors[l], 0, j1, i1, l1, k1, i2, j2, byte0); + return; + } + } + + public void ccc(int i, int k, int l, int i1, int j1) { + try { + int k1 = pictureWidth[j1]; + int l1 = pictureHeight[j1]; + int i2 = 0; + int j2 = 0; + int k2 = (k1 << 16) / l; + int l2 = (l1 << 16) / i1; + if(pictureRequiresShift[j1]) { + int i3 = pictureAssumedWidth[j1]; + int k3 = pictureAssumedHeight[j1]; + k2 = (i3 << 16) / l; + l2 = (k3 << 16) / i1; + i += ((pictureOffsetX[j1] * l + i3) - 1) / i3; + k += ((pictureOffsetY[j1] * i1 + k3) - 1) / k3; + if((pictureOffsetX[j1] * l) % i3 != 0) + i2 = (i3 - (pictureOffsetX[j1] * l) % i3 << 16) / l; + if((pictureOffsetY[j1] * i1) % k3 != 0) + j2 = (k3 - (pictureOffsetY[j1] * i1) % k3 << 16) / i1; + l = (l * (pictureWidth[j1] - (i2 >> 16))) / i3; + i1 = (i1 * (pictureHeight[j1] - (j2 >> 16))) / k3; + } + int j3 = i + k * gameWidth; + int l3 = gameWidth - l; + if(k < gameUpperY) { + int i4 = gameUpperY - k; + i1 -= i4; + k = 0; + j3 += i4 * gameWidth; + j2 += l2 * i4; + } + if(k + i1 >= gameLowerY) + i1 -= ((k + i1) - gameLowerY) + 1; + if(i < gameUpperX) { + int j4 = gameUpperX - i; + l -= j4; + i = 0; + j3 += j4; + i2 += k2 * j4; + l3 += j4; + } + if(i + l >= gameLowerX) { + int k4 = ((i + l) - gameLowerX) + 1; + l -= k4; + l3 += k4; + } + byte byte0 = 1; + if(interlace) { + byte0 = 2; + l3 += gameWidth; + l2 += l2; + if((k & 1) != 0) { + j3 += gameWidth; + i1--; + } + } + cci(pixels, pictureColors[j1], 0, i2, j2, j3, l3, l, i1, k2, l2, k1, byte0); + return; + } + catch(Exception _ex) { + System.out.println("error in sprite clipping routine"); + } + } + + public void ccd(int i, int k, int l, int i1) { + if(pictureRequiresShift[l]) { + i += pictureOffsetX[l]; + k += pictureOffsetY[l]; + } + int j1 = i + k * gameWidth; + int k1 = 0; + int l1 = pictureHeight[l]; + int i2 = pictureWidth[l]; + int j2 = gameWidth - i2; + int k2 = 0; + if(k < gameUpperY) { + int l2 = gameUpperY - k; + l1 -= l2; + k = gameUpperY; + k1 += l2 * i2; + j1 += l2 * gameWidth; + } + if(k + l1 >= gameLowerY) + l1 -= ((k + l1) - gameLowerY) + 1; + if(i < gameUpperX) { + int i3 = gameUpperX - i; + i2 -= i3; + i = gameUpperX; + k1 += i3; + j1 += i3; + k2 += i3; + j2 += i3; + } + if(i + i2 >= gameLowerX) { + int j3 = ((i + i2) - gameLowerX) + 1; + i2 -= j3; + k2 += j3; + j2 += j3; + } + if(i2 <= 0 || l1 <= 0) + return; + byte byte0 = 1; + if(interlace) { + byte0 = 2; + j2 += gameWidth; + k2 += pictureWidth[l]; + if((k & 1) != 0) { + j1 += gameWidth; + l1--; + } + } + if(pictureColors[l] == null) { + cck(pixels, bmd[l], bme[l], k1, j1, i2, l1, j2, k2, byte0, i1); + return; + } else { + ccj(pixels, pictureColors[l], 0, k1, j1, i2, l1, j2, k2, byte0, i1); + return; + } + } + + public void drawTransparentImage(int i, int k, int l, int i1, int j1, int k1) { + try { + int l1 = pictureWidth[j1]; + int i2 = pictureHeight[j1]; + int j2 = 0; + int k2 = 0; + int l2 = (l1 << 16) / l; + int i3 = (i2 << 16) / i1; + if(pictureRequiresShift[j1]) { + int j3 = pictureAssumedWidth[j1]; + int l3 = pictureAssumedHeight[j1]; + l2 = (j3 << 16) / l; + i3 = (l3 << 16) / i1; + i += ((pictureOffsetX[j1] * l + j3) - 1) / j3; + k += ((pictureOffsetY[j1] * i1 + l3) - 1) / l3; + if((pictureOffsetX[j1] * l) % j3 != 0) + j2 = (j3 - (pictureOffsetX[j1] * l) % j3 << 16) / l; + if((pictureOffsetY[j1] * i1) % l3 != 0) + k2 = (l3 - (pictureOffsetY[j1] * i1) % l3 << 16) / i1; + l = (l * (pictureWidth[j1] - (j2 >> 16))) / j3; + i1 = (i1 * (pictureHeight[j1] - (k2 >> 16))) / l3; + } + int k3 = i + k * gameWidth; + int i4 = gameWidth - l; + if(k < gameUpperY) { + int j4 = gameUpperY - k; + i1 -= j4; + k = 0; + k3 += j4 * gameWidth; + k2 += i3 * j4; + } + if(k + i1 >= gameLowerY) + i1 -= ((k + i1) - gameLowerY) + 1; + if(i < gameUpperX) { + int k4 = gameUpperX - i; + l -= k4; + i = 0; + k3 += k4; + j2 += l2 * k4; + i4 += k4; + } + if(i + l >= gameLowerX) { + int l4 = ((i + l) - gameLowerX) + 1; + l -= l4; + i4 += l4; + } + byte byte0 = 1; + if(interlace) { + byte0 = 2; + i4 += gameWidth; + i3 += i3; + if((k & 1) != 0) { + k3 += gameWidth; + i1--; + } + } + ccl(pixels, pictureColors[j1], 0, j2, k2, k3, i4, l, i1, l2, i3, l1, byte0, k1); + return; + } + catch(Exception _ex) { + System.out.println("error in sprite clipping routine"); + } + } + + public void drawCharacterLegs(int i, int k, int l, int i1, int j1, int k1) { + try { + int l1 = pictureWidth[j1]; + int i2 = pictureHeight[j1]; + int j2 = 0; + int k2 = 0; + int l2 = (l1 << 16) / l; + int i3 = (i2 << 16) / i1; + if(pictureRequiresShift[j1]) { + int j3 = pictureAssumedWidth[j1]; + int l3 = pictureAssumedHeight[j1]; + l2 = (j3 << 16) / l; + i3 = (l3 << 16) / i1; + i += ((pictureOffsetX[j1] * l + j3) - 1) / j3; + k += ((pictureOffsetY[j1] * i1 + l3) - 1) / l3; + if((pictureOffsetX[j1] * l) % j3 != 0) + j2 = (j3 - (pictureOffsetX[j1] * l) % j3 << 16) / l; + if((pictureOffsetY[j1] * i1) % l3 != 0) + k2 = (l3 - (pictureOffsetY[j1] * i1) % l3 << 16) / i1; + l = (l * (pictureWidth[j1] - (j2 >> 16))) / j3; + i1 = (i1 * (pictureHeight[j1] - (k2 >> 16))) / l3; + } + int k3 = i + k * gameWidth; + int i4 = gameWidth - l; + if(k < gameUpperY) { + int j4 = gameUpperY - k; + i1 -= j4; + k = 0; + k3 += j4 * gameWidth; + k2 += i3 * j4; + } + if(k + i1 >= gameLowerY) + i1 -= ((k + i1) - gameLowerY) + 1; + if(i < gameUpperX) { + int k4 = gameUpperX - i; + l -= k4; + i = 0; + k3 += k4; + j2 += l2 * k4; + i4 += k4; + } + if(i + l >= gameLowerX) { + int l4 = ((i + l) - gameLowerX) + 1; + l -= l4; + i4 += l4; + } + byte byte0 = 1; + if(interlace) { + byte0 = 2; + i4 += gameWidth; + i3 += i3; + if((k & 1) != 0) { + k3 += gameWidth; + i1--; + } + } + ccm(pixels, pictureColors[j1], 0, j2, k2, k3, i4, l, i1, l2, i3, l1, byte0, k1); + return; + } + catch(Exception _ex) { + System.out.println("error in sprite clipping routine"); + } + } + + private void ccg(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9) { + int i = -(arg5 >> 2); + arg5 = -(arg5 & 3); + for(int k = -arg6; k < 0; k += arg9) { + for(int l = i; l < 0; l++) { + arg2 = arg1[arg3++]; + if(arg2 != 0) + arg0[arg4++] = arg2; + else + arg4++; + arg2 = arg1[arg3++]; + if(arg2 != 0) + arg0[arg4++] = arg2; + else + arg4++; + arg2 = arg1[arg3++]; + if(arg2 != 0) + arg0[arg4++] = arg2; + else + arg4++; + arg2 = arg1[arg3++]; + if(arg2 != 0) + arg0[arg4++] = arg2; + else + arg4++; + } + + for(int i1 = arg5; i1 < 0; i1++) { + arg2 = arg1[arg3++]; + if(arg2 != 0) + arg0[arg4++] = arg2; + else + arg4++; + } + + arg4 += arg7; + arg3 += arg8; + } + + } + + private void cch(int arg0[], byte arg1[], int arg2[], int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9) { + int i = -(arg5 >> 2); + arg5 = -(arg5 & 3); + for(int k = -arg6; k < 0; k += arg9) { + for(int l = i; l < 0; l++) { + byte byte0 = arg1[arg3++]; + if(byte0 != 0) + arg0[arg4++] = arg2[byte0 & 0xff]; + else + arg4++; + byte0 = arg1[arg3++]; + if(byte0 != 0) + arg0[arg4++] = arg2[byte0 & 0xff]; + else + arg4++; + byte0 = arg1[arg3++]; + if(byte0 != 0) + arg0[arg4++] = arg2[byte0 & 0xff]; + else + arg4++; + byte0 = arg1[arg3++]; + if(byte0 != 0) + arg0[arg4++] = arg2[byte0 & 0xff]; + else + arg4++; + } + + for(int i1 = arg5; i1 < 0; i1++) { + byte byte1 = arg1[arg3++]; + if(byte1 != 0) + arg0[arg4++] = arg2[byte1 & 0xff]; + else + arg4++; + } + + arg4 += arg7; + arg3 += arg8; + } + + } + + private void cci(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10, int arg11, int arg12) { + try { + int i = arg3; + for(int k = -arg8; k < 0; k += arg12) { + int l = (arg4 >> 16) * arg11; + for(int i1 = -arg7; i1 < 0; i1++) { + arg2 = arg1[(arg3 >> 16) + l]; + if(arg2 != 0) + arg0[arg5++] = arg2; + else + arg5++; + arg3 += arg9; + } + + arg4 += arg10; + arg3 = i; + arg5 += arg6; + } + + return; + } + catch(Exception _ex) { + System.out.println("error in plot_scale"); + } + } + + private void ccj(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10) { + int i = 256 - arg10; + for(int k = -arg6; k < 0; k += arg9) { + for(int l = -arg5; l < 0; l++) { + arg2 = arg1[arg3++]; + if(arg2 != 0) { + int i1 = arg0[arg4]; + arg0[arg4++] = ((arg2 & 0xff00ff) * arg10 + (i1 & 0xff00ff) * i & 0xff00ff00) + ((arg2 & 0xff00) * arg10 + (i1 & 0xff00) * i & 0xff0000) >> 8; + } else { + arg4++; + } + } + + arg4 += arg7; + arg3 += arg8; + } + + } + + private void cck(int arg0[], byte arg1[], int arg2[], int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10) { + int i = 256 - arg10; + for(int k = -arg6; k < 0; k += arg9) { + for(int l = -arg5; l < 0; l++) { + int i1 = arg1[arg3++]; + if(i1 != 0) { + i1 = arg2[i1 & 0xff]; + int j1 = arg0[arg4]; + arg0[arg4++] = ((i1 & 0xff00ff) * arg10 + (j1 & 0xff00ff) * i & 0xff00ff00) + ((i1 & 0xff00) * arg10 + (j1 & 0xff00) * i & 0xff0000) >> 8; + } else { + arg4++; + } + } + + arg4 += arg7; + arg3 += arg8; + } + + } + + private void ccl(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, int arg13) { + int i = 256 - arg13; + try { + int k = arg3; + for(int l = -arg8; l < 0; l += arg12) { + int i1 = (arg4 >> 16) * arg11; + for(int j1 = -arg7; j1 < 0; j1++) { + arg2 = arg1[(arg3 >> 16) + i1]; + if(arg2 != 0) { + int k1 = arg0[arg5]; + arg0[arg5++] = ((arg2 & 0xff00ff) * arg13 + (k1 & 0xff00ff) * i & 0xff00ff00) + ((arg2 & 0xff00) * arg13 + (k1 & 0xff00) * i & 0xff0000) >> 8; + } else { + arg5++; + } + arg3 += arg9; + } + + arg4 += arg10; + arg3 = k; + arg5 += arg6; + } + + return; + } + catch(Exception _ex) { + System.out.println("error in tran_scale"); + } + } + + private void ccm(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, int arg13) { + int i = arg13 >> 16 & 0xff; + int k = arg13 >> 8 & 0xff; + int l = arg13 & 0xff; + try { + int i1 = arg3; + for(int j1 = -arg8; j1 < 0; j1 += arg12) { + int k1 = (arg4 >> 16) * arg11; + for(int l1 = -arg7; l1 < 0; l1++) { + arg2 = arg1[(arg3 >> 16) + k1]; + if(arg2 != 0) { + int i2 = arg2 >> 16 & 0xff; + int j2 = arg2 >> 8 & 0xff; + int k2 = arg2 & 0xff; + if(i2 == j2 && j2 == k2) + arg0[arg5++] = ((i2 * i >> 8) << 16) + ((j2 * k >> 8) << 8) + (k2 * l >> 8); + else + arg0[arg5++] = arg2; + } else { + arg5++; + } + arg3 += arg9; + } + + arg4 += arg10; + arg3 = i1; + arg5 += arg6; + } + + return; + } + catch(Exception _ex) { + System.out.println("error in plot_scale"); + } + } + + public void drawMinimapPic(int arg0, int arg1, int arg2, int arg3, int arg4) { + int i = gameWidth; + int k = gameHeight; + if(bng == null) { + bng = new int[512]; + for(int l = 0; l < 256; l++) { + bng[l] = (int)(Math.sin((double)l * 0.02454369D) * 32768D); + bng[l + 256] = (int)(Math.cos((double)l * 0.02454369D) * 32768D); + } + + } + int i1 = -pictureAssumedWidth[arg2] / 2; + int j1 = -pictureAssumedHeight[arg2] / 2; + if(pictureRequiresShift[arg2]) { + i1 += pictureOffsetX[arg2]; + j1 += pictureOffsetY[arg2]; + } + int k1 = i1 + pictureWidth[arg2]; + int l1 = j1 + pictureHeight[arg2]; + int i2 = k1; + int j2 = j1; + int k2 = i1; + int l2 = l1; + arg3 &= 0xff; + int i3 = bng[arg3] * arg4; + int j3 = bng[arg3 + 256] * arg4; + int k3 = arg0 + (j1 * i3 + i1 * j3 >> 22); + int l3 = arg1 + (j1 * j3 - i1 * i3 >> 22); + int i4 = arg0 + (j2 * i3 + i2 * j3 >> 22); + int j4 = arg1 + (j2 * j3 - i2 * i3 >> 22); + int k4 = arg0 + (l1 * i3 + k1 * j3 >> 22); + int l4 = arg1 + (l1 * j3 - k1 * i3 >> 22); + int i5 = arg0 + (l2 * i3 + k2 * j3 >> 22); + int j5 = arg1 + (l2 * j3 - k2 * i3 >> 22); + if(arg4 == 192 && (arg3 & 0x3f) == (cab & 0x3f)) + bnn++; + else + if(arg4 == 128) + cab = arg3; + else + caa++; + int k5 = l3; + int l5 = l3; + if(j4 < k5) + k5 = j4; + else + if(j4 > l5) + l5 = j4; + if(l4 < k5) + k5 = l4; + else + if(l4 > l5) + l5 = l4; + if(j5 < k5) + k5 = j5; + else + if(j5 > l5) + l5 = j5; + if(k5 < gameUpperY) + k5 = gameUpperY; + if(l5 > gameLowerY) + l5 = gameLowerY; + if(bnh == null || bnh.length != k + 1) { + bnh = new int[k + 1]; + bni = new int[k + 1]; + bnj = new int[k + 1]; + bnk = new int[k + 1]; + bnl = new int[k + 1]; + bnm = new int[k + 1]; + } + for(int i6 = k5; i6 <= l5; i6++) { + bnh[i6] = 0x5f5e0ff; + bni[i6] = 0xfa0a1f01; + } + + int i7 = 0; + int k7 = 0; + int i8 = 0; + int j8 = pictureWidth[arg2]; + int k8 = pictureHeight[arg2]; + i1 = 0; + j1 = 0; + i2 = j8 - 1; + j2 = 0; + k1 = j8 - 1; + l1 = k8 - 1; + k2 = 0; + l2 = k8 - 1; + if(j5 != l3) { + i7 = (i5 - k3 << 8) / (j5 - l3); + i8 = (l2 - j1 << 8) / (j5 - l3); + } + int j6; + int k6; + int l6; + int l7; + if(l3 > j5) { + l6 = i5 << 8; + l7 = l2 << 8; + j6 = j5; + k6 = l3; + } else { + l6 = k3 << 8; + l7 = j1 << 8; + j6 = l3; + k6 = j5; + } + if(j6 < 0) { + l6 -= i7 * j6; + l7 -= i8 * j6; + j6 = 0; + } + if(k6 > k - 1) + k6 = k - 1; + for(int l8 = j6; l8 <= k6; l8++) { + bnh[l8] = bni[l8] = l6; + l6 += i7; + bnj[l8] = bnk[l8] = 0; + bnl[l8] = bnm[l8] = l7; + l7 += i8; + } + + if(j4 != l3) { + i7 = (i4 - k3 << 8) / (j4 - l3); + k7 = (i2 - i1 << 8) / (j4 - l3); + } + int j7; + if(l3 > j4) { + l6 = i4 << 8; + j7 = i2 << 8; + j6 = j4; + k6 = l3; + } else { + l6 = k3 << 8; + j7 = i1 << 8; + j6 = l3; + k6 = j4; + } + if(j6 < 0) { + l6 -= i7 * j6; + j7 -= k7 * j6; + j6 = 0; + } + if(k6 > k - 1) + k6 = k - 1; + for(int i9 = j6; i9 <= k6; i9++) { + if(l6 < bnh[i9]) { + bnh[i9] = l6; + bnj[i9] = j7; + bnl[i9] = 0; + } + if(l6 > bni[i9]) { + bni[i9] = l6; + bnk[i9] = j7; + bnm[i9] = 0; + } + l6 += i7; + j7 += k7; + } + + if(l4 != j4) { + i7 = (k4 - i4 << 8) / (l4 - j4); + i8 = (l1 - j2 << 8) / (l4 - j4); + } + if(j4 > l4) { + l6 = k4 << 8; + j7 = k1 << 8; + l7 = l1 << 8; + j6 = l4; + k6 = j4; + } else { + l6 = i4 << 8; + j7 = i2 << 8; + l7 = j2 << 8; + j6 = j4; + k6 = l4; + } + if(j6 < 0) { + l6 -= i7 * j6; + l7 -= i8 * j6; + j6 = 0; + } + if(k6 > k - 1) + k6 = k - 1; + for(int j9 = j6; j9 <= k6; j9++) { + if(l6 < bnh[j9]) { + bnh[j9] = l6; + bnj[j9] = j7; + bnl[j9] = l7; + } + if(l6 > bni[j9]) { + bni[j9] = l6; + bnk[j9] = j7; + bnm[j9] = l7; + } + l6 += i7; + l7 += i8; + } + + if(j5 != l4) { + i7 = (i5 - k4 << 8) / (j5 - l4); + k7 = (k2 - k1 << 8) / (j5 - l4); + } + if(l4 > j5) { + l6 = i5 << 8; + j7 = k2 << 8; + l7 = l2 << 8; + j6 = j5; + k6 = l4; + } else { + l6 = k4 << 8; + j7 = k1 << 8; + l7 = l1 << 8; + j6 = l4; + k6 = j5; + } + if(j6 < 0) { + l6 -= i7 * j6; + j7 -= k7 * j6; + j6 = 0; + } + if(k6 > k - 1) + k6 = k - 1; + for(int k9 = j6; k9 <= k6; k9++) { + if(l6 < bnh[k9]) { + bnh[k9] = l6; + bnj[k9] = j7; + bnl[k9] = l7; + } + if(l6 > bni[k9]) { + bni[k9] = l6; + bnk[k9] = j7; + bnm[k9] = l7; + } + l6 += i7; + j7 += k7; + } + + int l9 = k5 * i; + int ai[] = pictureColors[arg2]; + for(int i10 = k5; i10 < l5; i10++) { + int j10 = bnh[i10] >> 8; + int k10 = bni[i10] >> 8; + if(k10 - j10 <= 0) { + l9 += i; + } else { + int l10 = bnj[i10] << 9; + int i11 = ((bnk[i10] << 9) - l10) / (k10 - j10); + int j11 = bnl[i10] << 9; + int k11 = ((bnm[i10] << 9) - j11) / (k10 - j10); + if(j10 < gameUpperX) { + l10 += (gameUpperX - j10) * i11; + j11 += (gameUpperX - j10) * k11; + j10 = gameUpperX; + } + if(k10 > gameLowerX) + k10 = gameLowerX; + if(!interlace || (i10 & 1) == 0) + if(!pictureRequiresShift[arg2]) + cda(pixels, ai, 0, l9 + j10, l10, j11, i11, k11, j10 - k10, j8); + else + cdb(pixels, ai, 0, l9 + j10, l10, j11, i11, k11, j10 - k10, j8); + l9 += i; + } + } + + } + + private void cda(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9) { + for(arg2 = arg8; arg2 < 0; arg2++) { + pixels[arg3++] = arg1[(arg4 >> 17) + (arg5 >> 17) * arg9]; + arg4 += arg6; + arg5 += arg7; + } + + } + + private void cdb(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9) { + for(int i = arg8; i < 0; i++) { + arg2 = arg1[(arg4 >> 17) + (arg5 >> 17) * arg9]; + if(arg2 != 0) + pixels[arg3++] = arg2; + else + arg3++; + arg4 += arg6; + arg5 += arg7; + } + + } + + public void drawVisibleEntity(int i, int k, int l, int i1, int j1, int k1, int l1) { + ccc(i, k, l, i1, j1); + } + + public void drawImage(int i, int k, int l, int i1, int j1, int k1, int l1, + int i2, boolean flag) { + try { + if(k1 == 0) + k1 = 0xffffff; + if(l1 == 0) + l1 = 0xffffff; + int j2 = pictureWidth[j1]; + int k2 = pictureHeight[j1]; + int l2 = 0; + int i3 = 0; + int j3 = i2 << 16; + int k3 = (j2 << 16) / l; + int l3 = (k2 << 16) / i1; + int i4 = -(i2 << 16) / i1; + if(pictureRequiresShift[j1]) { + int j4 = pictureAssumedWidth[j1]; + int l4 = pictureAssumedHeight[j1]; + k3 = (j4 << 16) / l; + l3 = (l4 << 16) / i1; + int k5 = pictureOffsetX[j1]; + int l5 = pictureOffsetY[j1]; + if(flag) + k5 = j4 - pictureWidth[j1] - k5; + i += ((k5 * l + j4) - 1) / j4; + int i6 = ((l5 * i1 + l4) - 1) / l4; + k += i6; + j3 += i6 * i4; + if((k5 * l) % j4 != 0) + l2 = (j4 - (k5 * l) % j4 << 16) / l; + if((l5 * i1) % l4 != 0) + i3 = (l4 - (l5 * i1) % l4 << 16) / i1; + l = ((((pictureWidth[j1] << 16) - l2) + k3) - 1) / k3; + i1 = ((((pictureHeight[j1] << 16) - i3) + l3) - 1) / l3; + } + int k4 = k * gameWidth; + j3 += i << 16; + if(k < gameUpperY) { + int i5 = gameUpperY - k; + i1 -= i5; + k = gameUpperY; + k4 += i5 * gameWidth; + i3 += l3 * i5; + j3 += i4 * i5; + } + if(k + i1 >= gameLowerY) + i1 -= ((k + i1) - gameLowerY) + 1; + int j5 = k4 / gameWidth & 1; + if(!interlace) + j5 = 2; + if(l1 == 0xffffff) { + if(pictureColors[j1] != null) + if(!flag) { + cde(pixels, pictureColors[j1], 0, l2, i3, k4, l, i1, k3, l3, j2, k1, j3, i4, j5); + return; + } else { + cde(pixels, pictureColors[j1], 0, (pictureWidth[j1] << 16) - l2 - 1, i3, k4, l, i1, -k3, l3, j2, k1, j3, i4, j5); + return; + } + if(!flag) { + cdg(pixels, bmd[j1], bme[j1], 0, l2, i3, k4, l, i1, k3, l3, j2, k1, j3, i4, j5); + return; + } else { + cdg(pixels, bmd[j1], bme[j1], 0, (pictureWidth[j1] << 16) - l2 - 1, i3, k4, l, i1, -k3, l3, j2, k1, j3, i4, j5); + return; + } + } + if(pictureColors[j1] != null) + if(!flag) { + cdf(pixels, pictureColors[j1], 0, l2, i3, k4, l, i1, k3, l3, j2, k1, l1, j3, i4, j5); + return; + } else { + cdf(pixels, pictureColors[j1], 0, (pictureWidth[j1] << 16) - l2 - 1, i3, k4, l, i1, -k3, l3, j2, k1, l1, j3, i4, j5); + return; + } + if(!flag) { + cdh(pixels, bmd[j1], bme[j1], 0, l2, i3, k4, l, i1, k3, l3, j2, k1, l1, j3, i4, j5); + return; + } else { + cdh(pixels, bmd[j1], bme[j1], 0, (pictureWidth[j1] << 16) - l2 - 1, i3, k4, l, i1, -k3, l3, j2, k1, l1, j3, i4, j5); + return; + } + } + catch(Exception _ex) { + System.out.println("error in sprite clipping routine"); + } + } + + private void cde(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, int arg13, + int arg14) { + int i1 = arg11 >> 16 & 0xff; + int j1 = arg11 >> 8 & 0xff; + int k1 = arg11 & 0xff; + try { + int l1 = arg3; + for(int i2 = -arg7; i2 < 0; i2++) { + int j2 = (arg4 >> 16) * arg10; + int k2 = arg12 >> 16; + int l2 = arg6; + if(k2 < gameUpperX) { + int i3 = gameUpperX - k2; + l2 -= i3; + k2 = gameUpperX; + arg3 += arg8 * i3; + } + if(k2 + l2 >= gameLowerX) { + int j3 = (k2 + l2) - gameLowerX; + l2 -= j3; + } + arg14 = 1 - arg14; + if(arg14 != 0) { + for(int k3 = k2; k3 < k2 + l2; k3++) { + arg2 = arg1[(arg3 >> 16) + j2]; + if(arg2 != 0) { + int i = arg2 >> 16 & 0xff; + int k = arg2 >> 8 & 0xff; + int l = arg2 & 0xff; + if(i == k && k == l) + arg0[k3 + arg5] = ((i * i1 >> 8) << 16) + ((k * j1 >> 8) << 8) + (l * k1 >> 8); + else + arg0[k3 + arg5] = arg2; + } + arg3 += arg8; + } + + } + arg4 += arg9; + arg3 = l1; + arg5 += gameWidth; + arg12 += arg13; + } + + return; + } + catch(Exception _ex) { + System.out.println("error in transparent sprite plot routine"); + } + } + + private void cdf(int arg0[], int arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, int arg13, + int arg14, int arg15) { + int i1 = arg11 >> 16 & 0xff; + int j1 = arg11 >> 8 & 0xff; + int k1 = arg11 & 0xff; + int l1 = arg12 >> 16 & 0xff; + int i2 = arg12 >> 8 & 0xff; + int j2 = arg12 & 0xff; + try { + int k2 = arg3; + for(int l2 = -arg7; l2 < 0; l2++) { + int i3 = (arg4 >> 16) * arg10; + int j3 = arg13 >> 16; + int k3 = arg6; + if(j3 < gameUpperX) { + int l3 = gameUpperX - j3; + k3 -= l3; + j3 = gameUpperX; + arg3 += arg8 * l3; + } + if(j3 + k3 >= gameLowerX) { + int i4 = (j3 + k3) - gameLowerX; + k3 -= i4; + } + arg15 = 1 - arg15; + if(arg15 != 0) { + for(int j4 = j3; j4 < j3 + k3; j4++) { + arg2 = arg1[(arg3 >> 16) + i3]; + if(arg2 != 0) { + int i = arg2 >> 16 & 0xff; + int k = arg2 >> 8 & 0xff; + int l = arg2 & 0xff; + if(i == k && k == l) + arg0[j4 + arg5] = ((i * i1 >> 8) << 16) + ((k * j1 >> 8) << 8) + (l * k1 >> 8); + else + if(i == 255 && k == l) + arg0[j4 + arg5] = ((i * l1 >> 8) << 16) + ((k * i2 >> 8) << 8) + (l * j2 >> 8); + else + arg0[j4 + arg5] = arg2; + } + arg3 += arg8; + } + + } + arg4 += arg9; + arg3 = k2; + arg5 += gameWidth; + arg13 += arg14; + } + + return; + } + catch(Exception _ex) { + System.out.println("error in transparent sprite plot routine"); + } + } + + private void cdg(int arg0[], byte arg1[], int arg2[], int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, int arg13, + int arg14, int arg15) { + int i1 = arg12 >> 16 & 0xff; + int j1 = arg12 >> 8 & 0xff; + int k1 = arg12 & 0xff; + try { + int l1 = arg4; + for(int i2 = -arg8; i2 < 0; i2++) { + int j2 = (arg5 >> 16) * arg11; + int k2 = arg13 >> 16; + int l2 = arg7; + if(k2 < gameUpperX) { + int i3 = gameUpperX - k2; + l2 -= i3; + k2 = gameUpperX; + arg4 += arg9 * i3; + } + if(k2 + l2 >= gameLowerX) { + int j3 = (k2 + l2) - gameLowerX; + l2 -= j3; + } + arg15 = 1 - arg15; + if(arg15 != 0) { + for(int k3 = k2; k3 < k2 + l2; k3++) { + arg3 = arg1[(arg4 >> 16) + j2] & 0xff; + if(arg3 != 0) { + arg3 = arg2[arg3]; + int i = arg3 >> 16 & 0xff; + int k = arg3 >> 8 & 0xff; + int l = arg3 & 0xff; + if(i == k && k == l) + arg0[k3 + arg6] = ((i * i1 >> 8) << 16) + ((k * j1 >> 8) << 8) + (l * k1 >> 8); + else + arg0[k3 + arg6] = arg3; + } + arg4 += arg9; + } + + } + arg5 += arg10; + arg4 = l1; + arg6 += gameWidth; + arg13 += arg14; + } + + return; + } + catch(Exception _ex) { + System.out.println("error in transparent sprite plot routine"); + } + } + + private void cdh(int arg0[], byte arg1[], int arg2[], int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, int arg13, + int arg14, int arg15, int arg16) { + int i1 = arg12 >> 16 & 0xff; + int j1 = arg12 >> 8 & 0xff; + int k1 = arg12 & 0xff; + int l1 = arg13 >> 16 & 0xff; + int i2 = arg13 >> 8 & 0xff; + int j2 = arg13 & 0xff; + try { + int k2 = arg4; + for(int l2 = -arg8; l2 < 0; l2++) { + int i3 = (arg5 >> 16) * arg11; + int j3 = arg14 >> 16; + int k3 = arg7; + if(j3 < gameUpperX) { + int l3 = gameUpperX - j3; + k3 -= l3; + j3 = gameUpperX; + arg4 += arg9 * l3; + } + if(j3 + k3 >= gameLowerX) { + int i4 = (j3 + k3) - gameLowerX; + k3 -= i4; + } + arg16 = 1 - arg16; + if(arg16 != 0) { + for(int j4 = j3; j4 < j3 + k3; j4++) { + arg3 = arg1[(arg4 >> 16) + i3] & 0xff; + if(arg3 != 0) { + arg3 = arg2[arg3]; + int i = arg3 >> 16 & 0xff; + int k = arg3 >> 8 & 0xff; + int l = arg3 & 0xff; + if(i == k && k == l) + arg0[j4 + arg6] = ((i * i1 >> 8) << 16) + ((k * j1 >> 8) << 8) + (l * k1 >> 8); + else + if(i == 255 && k == l) + arg0[j4 + arg6] = ((i * l1 >> 8) << 16) + ((k * i2 >> 8) << 8) + (l * j2 >> 8); + else + arg0[j4 + arg6] = arg3; + } + arg4 += arg9; + } + + } + arg5 += arg10; + arg4 = k2; + arg6 += gameWidth; + arg14 += arg15; + } + + return; + } + catch(Exception _ex) { + System.out.println("error in transparent sprite plot routine"); + } + } + + public static void cdj(Font arg0, FontMetrics arg1, char arg2, int arg3, GameApplet arg4, int arg5, boolean arg6) { + int i = arg1.charWidth(arg2); + int k = i; + if(arg6) + try { + if(arg2 == '/') + arg6 = false; + if(arg2 == 'f' || arg2 == 't' || arg2 == 'w' || arg2 == 'v' || arg2 == 'k' || arg2 == 'x' || arg2 == 'y' || arg2 == 'A' || arg2 == 'V' || arg2 == 'W') + i++; + } + catch(Exception _ex) { } + int l = arg1.getMaxAscent(); + int i1 = arg1.getMaxAscent() + arg1.getMaxDescent(); + int j1 = arg1.getHeight(); + Image image = arg4.createImage(i, i1); + Graphics g = image.getGraphics(); + g.setColor(Color.black); + g.fillRect(0, 0, i, i1); + g.setColor(Color.white); + g.setFont(arg0); + g.drawString(String.valueOf(arg2), 0, l); + if(arg6) + g.drawString(String.valueOf(arg2), 1, l); + int ai[] = new int[i * i1]; + PixelGrabber pixelgrabber = new PixelGrabber(image, 0, 0, i, i1, ai, 0, i); + try { + pixelgrabber.grabPixels(); + } + catch(InterruptedException _ex) { + return; + } + image.flush(); + image = null; + int k1 = 0; + int l1 = 0; + int i2 = i; + int j2 = i1; +label0: + for(int k2 = 0; k2 < i1; k2++) { + for(int l2 = 0; l2 < i; l2++) { + int j3 = ai[l2 + k2 * i]; + if((j3 & 0xffffff) == 0) + continue; + l1 = k2; + break label0; + } + + } + +label1: + for(int i3 = 0; i3 < i; i3++) { + for(int k3 = 0; k3 < i1; k3++) { + int i4 = ai[i3 + k3 * i]; + if((i4 & 0xffffff) == 0) + continue; + k1 = i3; + break label1; + } + + } + +label2: + for(int l3 = i1 - 1; l3 >= 0; l3--) { + for(int j4 = 0; j4 < i; j4++) { + int l4 = ai[j4 + l3 * i]; + if((l4 & 0xffffff) == 0) + continue; + j2 = l3 + 1; + break label2; + } + + } + +label3: + for(int k4 = i - 1; k4 >= 0; k4--) { + for(int i5 = 0; i5 < i1; i5++) { + int k5 = ai[k4 + i5 * i]; + if((k5 & 0xffffff) == 0) + continue; + i2 = k4 + 1; + break label3; + } + + } + + cae[arg3 * 9] = (byte)(cad / 16384); + cae[arg3 * 9 + 1] = (byte)(cad / 128 & 0x7f); + cae[arg3 * 9 + 2] = (byte)(cad & 0x7f); + cae[arg3 * 9 + 3] = (byte)(i2 - k1); + cae[arg3 * 9 + 4] = (byte)(j2 - l1); + cae[arg3 * 9 + 5] = (byte)k1; + cae[arg3 * 9 + 6] = (byte)(l - l1); + cae[arg3 * 9 + 7] = (byte)k; + cae[arg3 * 9 + 8] = (byte)j1; + for(int j5 = l1; j5 < j2; j5++) { + for(int l5 = k1; l5 < i2; l5++) { + int i6 = ai[l5 + j5 * i] & 0xff; + if(i6 > 30 && i6 < 230) + cac[arg5] = true; + cae[cad++] = (byte)i6; + } + + } + + } + + public void cdk(String s, int i, int k, int l, int i1) { + drawString(s, i - textWidth(s, l), k, l, i1); + } + + public void drawText(String s, int i, int k, int l, int i1) { + drawString(s, i - textWidth(s, l) / 2, k, l, i1); + } + + public void drawFloatingText(String arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { + try { + int i = 0; + byte abyte0[] = gameFonts[arg3]; + int k = 0; + int l = 0; + for(int i1 = 0; i1 < arg0.length(); i1++) { + if(arg0.charAt(i1) == '@' && i1 + 4 < arg0.length() && arg0.charAt(i1 + 4) == '@') + i1 += 4; + else + if(arg0.charAt(i1) == '~' && i1 + 4 < arg0.length() && arg0.charAt(i1 + 4) == '~') + i1 += 4; + else + i += abyte0[bne[arg0.charAt(i1)] + 7]; + if(arg0.charAt(i1) == ' ') + l = i1; + if(arg0.charAt(i1) == '%') { + l = i1; + i = 1000; + } + if(i > arg5) { + if(l <= k) + l = i1; + drawText(arg0.substring(k, l), arg1, arg2, arg3, arg4); + i = 0; + k = i1 = l + 1; + arg2 += textHeightNumber(arg3); + } + } + + if(i > 0) { + drawText(arg0.substring(k), arg1, arg2, arg3, arg4); + return; + } + } + catch(Exception exception) { + System.out.println("centrepara: " + exception); + exception.printStackTrace(); + } + } + + public void drawString(String arg0, int arg1, int arg2, int arg3, int arg4) { + try { + byte abyte0[] = gameFonts[arg3]; + for(int i = 0; i < arg0.length(); i++) + if(arg0.charAt(i) == '@' && i + 4 < arg0.length() && arg0.charAt(i + 4) == '@') { + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("red")) + arg4 = 0xff0000; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("lre")) + arg4 = 0xff9040; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("yel")) + arg4 = 0xffff00; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("gre")) + arg4 = 65280; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("blu")) + arg4 = 255; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("cya")) + arg4 = 65535; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("mag")) + arg4 = 0xff00ff; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("whi")) + arg4 = 0xffffff; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("bla")) + arg4 = 0; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("dre")) + arg4 = 0xc00000; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("ora")) + arg4 = 0xff9040; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("ran")) + arg4 = (int)(Math.random() * 16777215D); + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("or1")) + arg4 = 0xffb000; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("or2")) + arg4 = 0xff7000; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("or3")) + arg4 = 0xff3000; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("gr1")) + arg4 = 0xc0ff00; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("gr2")) + arg4 = 0x80ff00; + else + if(arg0.substring(i + 1, i + 4).equalsIgnoreCase("gr3")) + arg4 = 0x40ff00; + i += 4; + } else + if(arg0.charAt(i) == '~' && i + 4 < arg0.length() && arg0.charAt(i + 4) == '~') { + char c = arg0.charAt(i + 1); + char c1 = arg0.charAt(i + 2); + char c2 = arg0.charAt(i + 3); + if(c >= '0' && c <= '9' && c1 >= '0' && c1 <= '9' && c2 >= '0' && c2 <= '9') + arg1 = Integer.parseInt(arg0.substring(i + 1, i + 4)); + i += 4; + } else { + int k = bne[arg0.charAt(i)]; + if(loggedIn && !cac[arg3] && arg4 != 0) + cea(k, arg1 + 1, arg2, 0, abyte0, cac[arg3]); + if(loggedIn && !cac[arg3] && arg4 != 0) + cea(k, arg1, arg2 + 1, 0, abyte0, cac[arg3]); + cea(k, arg1, arg2, arg4, abyte0, cac[arg3]); + arg1 += abyte0[k + 7]; + } + + return; + } + catch(Exception exception) { + System.out.println("drawstring: " + exception); + exception.printStackTrace(); + return; + } + } + + private void cea(int i, int k, int l, int i1, byte abyte0[], boolean flag) { + int j1 = k + abyte0[i + 5]; + int k1 = l - abyte0[i + 6]; + int l1 = abyte0[i + 3]; + int i2 = abyte0[i + 4]; + int j2 = abyte0[i] * 16384 + abyte0[i + 1] * 128 + abyte0[i + 2]; + int k2 = j1 + k1 * gameWidth; + int l2 = gameWidth - l1; + int i3 = 0; + if(k1 < gameUpperY) { + int j3 = gameUpperY - k1; + i2 -= j3; + k1 = gameUpperY; + j2 += j3 * l1; + k2 += j3 * gameWidth; + } + if(k1 + i2 >= gameLowerY) + i2 -= ((k1 + i2) - gameLowerY) + 1; + if(j1 < gameUpperX) { + int k3 = gameUpperX - j1; + l1 -= k3; + j1 = gameUpperX; + j2 += k3; + k2 += k3; + i3 += k3; + l2 += k3; + } + if(j1 + l1 >= gameLowerX) { + int l3 = ((j1 + l1) - gameLowerX) + 1; + l1 -= l3; + i3 += l3; + l2 += l3; + } + if(l1 > 0 && i2 > 0) { + if(flag) { + cec(pixels, abyte0, i1, j2, k2, l1, i2, l2, i3); + return; + } + ceb(pixels, abyte0, i1, j2, k2, l1, i2, l2, i3); + } + } + + private void ceb(int arg0[], byte arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8) { + try { + int i = -(arg5 >> 2); + arg5 = -(arg5 & 3); + for(int k = -arg6; k < 0; k++) { + for(int l = i; l < 0; l++) { + if(arg1[arg3++] != 0) + arg0[arg4++] = arg2; + else + arg4++; + if(arg1[arg3++] != 0) + arg0[arg4++] = arg2; + else + arg4++; + if(arg1[arg3++] != 0) + arg0[arg4++] = arg2; + else + arg4++; + if(arg1[arg3++] != 0) + arg0[arg4++] = arg2; + else + arg4++; + } + + for(int i1 = arg5; i1 < 0; i1++) + if(arg1[arg3++] != 0) + arg0[arg4++] = arg2; + else + arg4++; + + arg4 += arg7; + arg3 += arg8; + } + + return; + } + catch(Exception exception) { + System.out.println("plotletter: " + exception); + exception.printStackTrace(); + return; + } + } + + private void cec(int arg0[], byte arg1[], int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7, int arg8) { + for(int i = -arg6; i < 0; i++) { + for(int k = -arg5; k < 0; k++) { + int l = arg1[arg3++] & 0xff; + if(l > 30) { + if(l >= 230) { + arg0[arg4++] = arg2; + } else { + int i1 = arg0[arg4]; + arg0[arg4++] = ((arg2 & 0xff00ff) * l + (i1 & 0xff00ff) * (256 - l) & 0xff00ff00) + ((arg2 & 0xff00) * l + (i1 & 0xff00) * (256 - l) & 0xff0000) >> 8; + } + } else { + arg4++; + } + } + + arg4 += arg7; + arg3 += arg8; + } + + } + + public int textHeightNumber(int i) { + if(i == 0) + return 12; + if(i == 1) + return 14; + if(i == 2) + return 14; + if(i == 3) + return 15; + if(i == 4) + return 15; + if(i == 5) + return 19; + if(i == 6) + return 24; + if(i == 7) + return 29; + else + return cee(i); + } + + public int cee(int i) { + if(i == 0) + return gameFonts[i][8] - 2; + else + return gameFonts[i][8] - 1; + } + + public int textWidth(String arg0, int arg1) { + int i = 0; + byte abyte0[] = gameFonts[arg1]; + for(int k = 0; k < arg0.length(); k++) + if(arg0.charAt(k) == '@' && k + 4 < arg0.length() && arg0.charAt(k + 4) == '@') + k += 4; + else + if(arg0.charAt(k) == '~' && k + 4 < arg0.length() && arg0.charAt(k + 4) == '~') + k += 4; + else + i += abyte0[bne[arg0.charAt(k)] + 7]; + + return i; + } + + public boolean imageUpdate(Image image, int i, int k, int l, int i1, int j1) { + return true; + } + + public void drawPixels(int pixels[][], int drawx, int drawy, int width, int height) { + for(int x = drawx; x < drawx + width; x++) + for(int y = drawy; y < drawy + height; y++) + this.pixels[x + y * gameWidth] = pixels[x - drawx][y - drawy]; + } + + public static int addFont(byte bytes[]) { + gameFonts[currentFont] = bytes; + return currentFont++; + } + + public int gameWidth; + public int gameHeight; + public int area; + public int width; + public int height; + ColorModel colorModel; + public int pixels[]; + ImageConsumer imageConsumer; + public Image image; + public int pictureColors[][]; + public byte bmd[][]; + public int bme[][]; + public int pictureWidth[]; + public int pictureHeight[]; + public int pictureOffsetX[]; + public int pictureOffsetY[]; + public int pictureAssumedWidth[]; + public int pictureAssumedHeight[]; + public boolean pictureRequiresShift[]; + private int gameUpperY; + private int gameLowerY; + private int gameUpperX; + private int gameLowerX; + public boolean interlace; + static byte gameFonts[][] = new byte[50][]; + static int bne[]; + public boolean loggedIn; + int bng[]; + int bnh[]; + int bni[]; + int bnj[]; + int bnk[]; + int bnl[]; + int bnm[]; + public static int bnn; + public static int caa; + public static int cab; + private static boolean cac[] = new boolean[12]; + private static int cad; + private static byte cae[] = new byte[0x186a0]; + public static int caf; + static int currentFont; + + static { + String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"\243$%^&*()-_=+[{]};:'@#~,<.>/?\\| "; + bne = new int[256]; + for(int i = 0; i < 256; i++) { + int k = s.indexOf(i); + if(k == -1) + k = 74; + bne[i] = k * 9; + } + + } +} diff --git a/clients/clientRSC/src/main/java/mudclient/GameImageMiddleMan.java b/clients/clientRSC/src/main/java/mudclient/GameImageMiddleMan.java new file mode 100755 index 0000000..d11bbd6 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/GameImageMiddleMan.java @@ -0,0 +1,34 @@ +package mudclient; + +import java.awt.Component; + +public final class GameImageMiddleMan extends GameImage { + + public GameImageMiddleMan(int i, int l, int i1, Component c) { + super(i, l, i1, c); + } + + public final void drawVisibleEntity(int i, int l, int i1, int j1, int k1, int l1, int i2) { + if(k1 >= 50000) { + gameReference.drawTeleBubble(i, l, i1, j1, k1 - 50000, l1, i2); + return; + } + if(k1 >= 40000) { + gameReference.drawItem(i, l, i1, j1, k1 - 40000, l1, i2); + return; + } + if(k1 >= 20000) { + gameReference.drawNPC(i, l, i1, j1, k1 - 20000, l1, i2); + return; + } + if(k1 >= 5000) { + gameReference.drawPlayer(i, l, i1, j1, k1 - 5000, l1, i2); + return; + } else { + super.ccc(i, l, i1, j1, k1); + return; + } + } + + public mudclient gameReference; +} diff --git a/clients/clientRSC/src/main/java/mudclient/GameObject.java b/clients/clientRSC/src/main/java/mudclient/GameObject.java new file mode 100755 index 0000000..3b9f2c8 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/GameObject.java @@ -0,0 +1,1079 @@ +package mudclient; + +import java.io.*; + +public class GameObject { + + public GameObject(int arg0, int arg1) { + cgn = 1; + cha = true; + chh = true; + chi = false; + isGiantCrystal = false; + index = -1; + chn = false; + cia = false; + cib = false; + cic = false; + cid = false; + cij = 0xbc614e; + ckn = 0xbc614e; + cla = 180; + clb = 155; + clc = 95; + cld = 256; + cle = 512; + clf = 32; + cli(arg0, arg1); + cje = new int[arg1][1]; + for(int j = 0; j < arg1; j++) + cje[j][0] = j; + + } + + public GameObject(int j, int k, boolean flag, boolean flag1, boolean flag2, boolean flag3, boolean flag4) { + cgn = 1; + cha = true; + chh = true; + chi = false; + isGiantCrystal = false; + index = -1; + chn = false; + cia = false; + cib = false; + cic = false; + cid = false; + cij = 0xbc614e; + ckn = 0xbc614e; + cla = 180; + clb = 155; + clc = 95; + cld = 256; + cle = 512; + clf = 32; + chn = flag; + cia = flag1; + cib = flag2; + cic = flag3; + cid = flag4; + cli(j, k); + } + + private void cli(int arg0, int arg1) { + cil = new int[arg0]; + cim = new int[arg0]; + cin = new int[arg0]; + cfn = new int[arg0]; + cga = new byte[arg0]; + cgc = new int[arg1]; + cgd = new int[arg1][]; + cge = new int[arg1]; + cgf = new int[arg1]; + cgi = new int[arg1]; + cgh = new int[arg1]; + cgg = new int[arg1]; + if(!cid) { + cfi = new int[arg0]; + cfj = new int[arg0]; + cfk = new int[arg0]; + cfl = new int[arg0]; + cfm = new int[arg0]; + } + if(!cic) { + chm = new byte[arg1]; + entityType = new int[arg1]; + } + if(chn) { + cja = cil; + cjb = cim; + cjc = cin; + } else { + cja = new int[arg0]; + cjb = new int[arg0]; + cjc = new int[arg0]; + } + if(!cib || !cia) { + cgj = new int[arg1]; + cgk = new int[arg1]; + cgl = new int[arg1]; + } + if(!cia) { + cjf = new int[arg1]; + cjg = new int[arg1]; + cjh = new int[arg1]; + cji = new int[arg1]; + cjj = new int[arg1]; + cjk = new int[arg1]; + } + cgb = 0; + cfh = 0; + cik = arg0; + cjd = arg1; + cjl = cjm = cjn = 0; + cka = ckb = ckc = 0; + ckd = cke = ckf = 256; + ckg = ckh = cki = ckj = ckk = ckl = 256; + ckm = 0; + } + + public void clj() { + cfi = new int[cfh]; + cfj = new int[cfh]; + cfk = new int[cfh]; + cfl = new int[cfh]; + cfm = new int[cfh]; + } + + public void clk() { + cgb = 0; + cfh = 0; + } + + public void cll(int j, int k) { + cgb -= j; + if(cgb < 0) + cgb = 0; + cfh -= k; + if(cfh < 0) + cfh = 0; + } + + public GameObject(byte arg0[], int arg1, boolean arg2) { + cgn = 1; + cha = true; + chh = true; + chi = false; + isGiantCrystal = false; + index = -1; + chn = false; + cia = false; + cib = false; + cic = false; + cid = false; + cij = 0xbc614e; + ckn = 0xbc614e; + cla = 180; + clb = 155; + clc = 95; + cld = 256; + cle = 512; + clf = 32; + int j = DataOperations.getShort(arg0, arg1); + arg1 += 2; + int k = DataOperations.getShort(arg0, arg1); + arg1 += 2; + cli(j, k); + cje = new int[k][1]; + for(int l = 0; l < j; l++) { + cil[l] = DataOperations.getShort2(arg0, arg1); + arg1 += 2; + } + + for(int i1 = 0; i1 < j; i1++) { + cim[i1] = DataOperations.getShort2(arg0, arg1); + arg1 += 2; + } + + for(int j1 = 0; j1 < j; j1++) { + cin[j1] = DataOperations.getShort2(arg0, arg1); + arg1 += 2; + } + + cfh = j; + for(int k1 = 0; k1 < k; k1++) + cgc[k1] = arg0[arg1++] & 0xff; + + for(int l1 = 0; l1 < k; l1++) { + cge[l1] = DataOperations.getShort2(arg0, arg1); + arg1 += 2; + if(cge[l1] == 32767) + cge[l1] = cij; + } + + for(int i2 = 0; i2 < k; i2++) { + cgf[i2] = DataOperations.getShort2(arg0, arg1); + arg1 += 2; + if(cgf[i2] == 32767) + cgf[i2] = cij; + } + + for(int j2 = 0; j2 < k; j2++) { + int k2 = arg0[arg1++] & 0xff; + if(k2 == 0) + cgi[j2] = 0; + else + cgi[j2] = cij; + } + + for(int l2 = 0; l2 < k; l2++) { + cgd[l2] = new int[cgc[l2]]; + for(int i3 = 0; i3 < cgc[l2]; i3++) + if(j < 256) { + cgd[l2][i3] = arg0[arg1++] & 0xff; + } else { + cgd[l2][i3] = DataOperations.getShort(arg0, arg1); + arg1 += 2; + } + + } + + cgb = k; + cgn = 1; + } + + public GameObject(String arg0) { + cgn = 1; + cha = true; + chh = true; + chi = false; + isGiantCrystal = false; + index = -1; + chn = false; + cia = false; + cib = false; + cic = false; + cid = false; + cij = 0xbc614e; + ckn = 0xbc614e; + cla = 180; + clb = 155; + clc = 95; + cld = 256; + cle = 512; + clf = 32; + byte abyte0[] = null; + try { + java.io.InputStream inputstream = DataOperations.openInputStream(arg0); + DataInputStream datainputstream = new DataInputStream(inputstream); + abyte0 = new byte[3]; + clg = 0; + for(int j = 0; j < 3; j += datainputstream.read(abyte0, j, 3 - j)); + int l = cnm(abyte0); + abyte0 = new byte[l]; + clg = 0; + for(int k = 0; k < l; k += datainputstream.read(abyte0, k, l - k)); + datainputstream.close(); + } + catch(IOException _ex) { + cfh = 0; + cgb = 0; + return; + } + int i1 = cnm(abyte0); + int j1 = cnm(abyte0); + cli(i1, j1); + cje = new int[j1][]; + for(int k3 = 0; k3 < i1; k3++) { + int k1 = cnm(abyte0); + int l1 = cnm(abyte0); + int i2 = cnm(abyte0); + cln(k1, l1, i2); + } + + for(int l3 = 0; l3 < j1; l3++) { + int j2 = cnm(abyte0); + int k2 = cnm(abyte0); + int l2 = cnm(abyte0); + int i3 = cnm(abyte0); + cle = cnm(abyte0); + clf = cnm(abyte0); + int j3 = cnm(abyte0); + int ai[] = new int[j2]; + for(int i4 = 0; i4 < j2; i4++) + ai[i4] = cnm(abyte0); + + int ai1[] = new int[i3]; + for(int j4 = 0; j4 < i3; j4++) + ai1[j4] = cnm(abyte0); + + int k4 = cmb(j2, ai, k2, l2); + cje[l3] = ai1; + if(j3 == 0) + cgi[k4] = 0; + else + cgi[k4] = cij; + } + + cgn = 1; + } + + public GameObject(GameObject ai[], int j, boolean flag, boolean flag1, boolean flag2, boolean flag3) { + cgn = 1; + cha = true; + chh = true; + chi = false; + isGiantCrystal = false; + index = -1; + chn = false; + cia = false; + cib = false; + cic = false; + cid = false; + cij = 0xbc614e; + ckn = 0xbc614e; + cla = 180; + clb = 155; + clc = 95; + cld = 256; + cle = 512; + clf = 32; + chn = flag; + cia = flag1; + cib = flag2; + cic = flag3; + clm(ai, j, false); + } + + public GameObject(GameObject ai[], int j) { + cgn = 1; + cha = true; + chh = true; + chi = false; + isGiantCrystal = false; + index = -1; + chn = false; + cia = false; + cib = false; + cic = false; + cid = false; + cij = 0xbc614e; + ckn = 0xbc614e; + cla = 180; + clb = 155; + clc = 95; + cld = 256; + cle = 512; + clf = 32; + clm(ai, j, true); + } + + public void clm(GameObject arg0[], int arg1, boolean arg2) { + int j = 0; + int k = 0; + for(int l = 0; l < arg1; l++) { + j += arg0[l].cgb; + k += arg0[l].cfh; + } + + cli(k, j); + if(arg2) + cje = new int[j][]; + for(int i1 = 0; i1 < arg1; i1++) { + GameObject j1 = arg0[i1]; + j1.cni(); + clf = j1.clf; + cle = j1.cle; + cla = j1.cla; + clb = j1.clb; + clc = j1.clc; + cld = j1.cld; + for(int k1 = 0; k1 < j1.cgb; k1++) { + int ai[] = new int[j1.cgc[k1]]; + int ai1[] = j1.cgd[k1]; + for(int l1 = 0; l1 < j1.cgc[k1]; l1++) + ai[l1] = cln(j1.cil[ai1[l1]], j1.cim[ai1[l1]], j1.cin[ai1[l1]]); + + int i2 = cmb(j1.cgc[k1], ai, j1.cge[k1], j1.cgf[k1]); + cgi[i2] = j1.cgi[k1]; + cgh[i2] = j1.cgh[k1]; + cgg[i2] = j1.cgg[k1]; + if(arg2) + if(arg1 > 1) { + cje[i2] = new int[j1.cje[k1].length + 1]; + cje[i2][0] = i1; + for(int j2 = 0; j2 < j1.cje[k1].length; j2++) + cje[i2][j2 + 1] = j1.cje[k1][j2]; + + } else { + cje[i2] = new int[j1.cje[k1].length]; + for(int k2 = 0; k2 < j1.cje[k1].length; k2++) + cje[i2][k2] = j1.cje[k1][k2]; + + } + } + + } + + cgn = 1; + } + + public int cln(int arg0, int arg1, int arg2) { + for(int j = 0; j < cfh; j++) + if(cil[j] == arg0 && cim[j] == arg1 && cin[j] == arg2) + return j; + + if(cfh >= cik) { + return -1; + } else { + cil[cfh] = arg0; + cim[cfh] = arg1; + cin[cfh] = arg2; + return cfh++; + } + } + + public int cma(int j, int k, int l) { + if(cfh >= cik) { + return -1; + } else { + cil[cfh] = j; + cim[cfh] = k; + cin[cfh] = l; + return cfh++; + } + } + + public int cmb(int j, int ai[], int k, int l) { + if(cgb >= cjd) { + return -1; + } else { + cgc[cgb] = j; + cgd[cgb] = ai; + cge[cgb] = k; + cgf[cgb] = l; + cgn = 1; + return cgb++; + } + } + + public GameObject[] cmc(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, + boolean arg7) { + cni(); + int ai[] = new int[arg5]; + int ai1[] = new int[arg5]; + for(int j = 0; j < arg5; j++) { + ai[j] = 0; + ai1[j] = 0; + } + + for(int k = 0; k < cgb; k++) { + int l = 0; + int i1 = 0; + int k1 = cgc[k]; + int ai3[] = cgd[k]; + for(int k2 = 0; k2 < k1; k2++) { + l += cil[ai3[k2]]; + i1 += cin[ai3[k2]]; + } + + int i3 = l / (k1 * arg2) + (i1 / (k1 * arg3)) * arg4; + ai[i3] += k1; + ai1[i3]++; + } + + GameObject ai2[] = new GameObject[arg5]; + for(int j1 = 0; j1 < arg5; j1++) { + if(ai[j1] > arg6) + ai[j1] = arg6; + ai2[j1] = new GameObject(ai[j1], ai1[j1], true, true, true, arg7, true); + ai2[j1].cle = cle; + ai2[j1].clf = clf; + } + + for(int l1 = 0; l1 < cgb; l1++) { + int i2 = 0; + int l2 = 0; + int j3 = cgc[l1]; + int ai4[] = cgd[l1]; + for(int k3 = 0; k3 < j3; k3++) { + i2 += cil[ai4[k3]]; + l2 += cin[ai4[k3]]; + } + + int l3 = i2 / (j3 * arg2) + (l2 / (j3 * arg3)) * arg4; + cmd(ai2[l3], ai4, j3, l1); + } + + for(int j2 = 0; j2 < arg5; j2++) + ai2[j2].clj(); + + return ai2; + } + + public void cmd(GameObject arg0, int arg1[], int arg2, int arg3) { + int ai[] = new int[arg2]; + for(int j = 0; j < arg2; j++) { + int k = ai[j] = arg0.cln(cil[arg1[j]], cim[arg1[j]], cin[arg1[j]]); + arg0.cfn[k] = cfn[arg1[j]]; + arg0.cga[k] = cga[arg1[j]]; + } + + int l = arg0.cmb(arg2, ai, cge[arg3], cgf[arg3]); + if(!arg0.cic && !cic) + arg0.entityType[l] = entityType[arg3]; + arg0.cgi[l] = cgi[arg3]; + arg0.cgh[l] = cgh[arg3]; + arg0.cgg[l] = cgg[arg3]; + } + + public void cme(boolean arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { + clf = 256 - arg1 * 4; + cle = (64 - arg2) * 16 + 128; + if(cib) + return; + for(int j = 0; j < cgb; j++) + if(arg0) + cgi[j] = cij; + else + cgi[j] = 0; + + cla = arg3; + clb = arg4; + clc = arg5; + cld = (int)Math.sqrt(arg3 * arg3 + arg4 * arg4 + arg5 * arg5); + cne(); + } + + public void cmf(int j, int k, int l, int i1, int j1) { + clf = 256 - j * 4; + cle = (64 - k) * 16 + 128; + if(cib) { + return; + } else { + cla = l; + clb = i1; + clc = j1; + cld = (int)Math.sqrt(l * l + i1 * i1 + j1 * j1); + cne(); + return; + } + } + + public void cmg(int j, int k, int l) { + if(cib) { + return; + } else { + cla = j; + clb = k; + clc = l; + cld = (int)Math.sqrt(j * j + k * k + l * l); + cne(); + return; + } + } + + public void cmh(int j, int k) { + cga[j] = (byte)k; + } + + public void cmi(int j, int k, int l) { + cka = cka + j & 0xff; + ckb = ckb + k & 0xff; + ckc = ckc + l & 0xff; + cmm(); + cgn = 1; + } + + public void cmj(int j, int k, int l) { + cka = j & 0xff; + ckb = k & 0xff; + ckc = l & 0xff; + cmm(); + cgn = 1; + } + + public void cmk(int j, int k, int l) { + cjl += j; + cjm += k; + cjn += l; + cmm(); + cgn = 1; + } + + public void cml(int j, int k, int l) { + cjl = j; + cjm = k; + cjn = l; + cmm(); + cgn = 1; + } + + private void cmm() { + if(ckg != 256 || ckh != 256 || cki != 256 || ckj != 256 || ckk != 256 || ckl != 256) { + ckm = 4; + return; + } + if(ckd != 256 || cke != 256 || ckf != 256) { + ckm = 3; + return; + } + if(cka != 0 || ckb != 0 || ckc != 0) { + ckm = 2; + return; + } + if(cjl != 0 || cjm != 0 || cjn != 0) { + ckm = 1; + return; + } else { + ckm = 0; + return; + } + } + + private void cmn(int arg0, int arg1, int arg2) { + for(int j = 0; j < cfh; j++) { + cja[j] += arg0; + cjb[j] += arg1; + cjc[j] += arg2; + } + + } + + private void cna(int arg0, int arg1, int arg2) { + for(int k2 = 0; k2 < cfh; k2++) { + if(arg2 != 0) { + int j = cie[arg2]; + int i1 = cie[arg2 + 256]; + int l1 = cjb[k2] * j + cja[k2] * i1 >> 15; + cjb[k2] = cjb[k2] * i1 - cja[k2] * j >> 15; + cja[k2] = l1; + } + if(arg0 != 0) { + int k = cie[arg0]; + int j1 = cie[arg0 + 256]; + int i2 = cjb[k2] * j1 - cjc[k2] * k >> 15; + cjc[k2] = cjb[k2] * k + cjc[k2] * j1 >> 15; + cjb[k2] = i2; + } + if(arg1 != 0) { + int l = cie[arg1]; + int k1 = cie[arg1 + 256]; + int j2 = cjc[k2] * l + cja[k2] * k1 >> 15; + cjc[k2] = cjc[k2] * k1 - cja[k2] * l >> 15; + cja[k2] = j2; + } + } + + } + + private void cnb(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) { + for(int j = 0; j < cfh; j++) { + if(arg0 != 0) + cja[j] += cjb[j] * arg0 >> 8; + if(arg1 != 0) + cjc[j] += cjb[j] * arg1 >> 8; + if(arg2 != 0) + cja[j] += cjc[j] * arg2 >> 8; + if(arg3 != 0) + cjb[j] += cjc[j] * arg3 >> 8; + if(arg4 != 0) + cjc[j] += cja[j] * arg4 >> 8; + if(arg5 != 0) + cjb[j] += cja[j] * arg5 >> 8; + } + + } + + private void cnc(int arg0, int arg1, int arg2) { + for(int j = 0; j < cfh; j++) { + cja[j] = cja[j] * arg0 >> 8; + cjb[j] = cjb[j] * arg1 >> 8; + cjc[j] = cjc[j] * arg2 >> 8; + } + + } + + private void cnd() { + chb = chd = chf = 0xf423f; + ckn = chc = che = chg = 0xfff0bdc1; + for(int j = 0; j < cgb; j++) { + int ai[] = cgd[j]; + int l = ai[0]; + int j1 = cgc[j]; + int k1; + int l1 = k1 = cja[l]; + int i2; + int j2 = i2 = cjb[l]; + int k2; + int l2 = k2 = cjc[l]; + for(int k = 0; k < j1; k++) { + int i1 = ai[k]; + if(cja[i1] < k1) + k1 = cja[i1]; + else + if(cja[i1] > l1) + l1 = cja[i1]; + if(cjb[i1] < i2) + i2 = cjb[i1]; + else + if(cjb[i1] > j2) + j2 = cjb[i1]; + if(cjc[i1] < k2) + k2 = cjc[i1]; + else + if(cjc[i1] > l2) + l2 = cjc[i1]; + } + + if(!cia) { + cjf[j] = k1; + cjg[j] = l1; + cjh[j] = i2; + cji[j] = j2; + cjj[j] = k2; + cjk[j] = l2; + } + if(l1 - k1 > ckn) + ckn = l1 - k1; + if(j2 - i2 > ckn) + ckn = j2 - i2; + if(l2 - k2 > ckn) + ckn = l2 - k2; + if(k1 < chb) + chb = k1; + if(l1 > chc) + chc = l1; + if(i2 < chd) + chd = i2; + if(j2 > che) + che = j2; + if(k2 < chf) + chf = k2; + if(l2 > chg) + chg = l2; + } + + } + + public void cne() { + if(cib) + return; + int j = cle * cld >> 8; + for(int k = 0; k < cgb; k++) + if(cgi[k] != cij) + cgi[k] = (cgj[k] * cla + cgk[k] * clb + cgl[k] * clc) / j; + + int ai[] = new int[cfh]; + int ai1[] = new int[cfh]; + int ai2[] = new int[cfh]; + int ai3[] = new int[cfh]; + for(int l = 0; l < cfh; l++) { + ai[l] = 0; + ai1[l] = 0; + ai2[l] = 0; + ai3[l] = 0; + } + + for(int i1 = 0; i1 < cgb; i1++) + if(cgi[i1] == cij) { + for(int j1 = 0; j1 < cgc[i1]; j1++) { + int l1 = cgd[i1][j1]; + ai[l1] += cgj[i1]; + ai1[l1] += cgk[i1]; + ai2[l1] += cgl[i1]; + ai3[l1]++; + } + + } + + for(int k1 = 0; k1 < cfh; k1++) + if(ai3[k1] > 0) + cfn[k1] = (ai[k1] * cla + ai1[k1] * clb + ai2[k1] * clc) / (j * ai3[k1]); + + } + + public void cnf() { + if(cib && cia) + return; + for(int j = 0; j < cgb; j++) { + int ai[] = cgd[j]; + int k = cja[ai[0]]; + int l = cjb[ai[0]]; + int i1 = cjc[ai[0]]; + int j1 = cja[ai[1]] - k; + int k1 = cjb[ai[1]] - l; + int l1 = cjc[ai[1]] - i1; + int i2 = cja[ai[2]] - k; + int j2 = cjb[ai[2]] - l; + int k2 = cjc[ai[2]] - i1; + int l2 = k1 * k2 - j2 * l1; + int i3 = l1 * i2 - k2 * j1; + int j3; + for(j3 = j1 * j2 - i2 * k1; l2 > 8192 || i3 > 8192 || j3 > 8192 || l2 < -8192 || i3 < -8192 || j3 < -8192; j3 >>= 1) { + l2 >>= 1; + i3 >>= 1; + } + + int k3 = (int)(256D * Math.sqrt(l2 * l2 + i3 * i3 + j3 * j3)); + if(k3 <= 0) + k3 = 1; + cgj[j] = (l2 * 0x10000) / k3; + cgk[j] = (i3 * 0x10000) / k3; + cgl[j] = (j3 * 65535) / k3; + cgh[j] = -1; + } + + cne(); + } + + public void cng() { + if(cgn == 2) { + cgn = 0; + for(int j = 0; j < cfh; j++) { + cja[j] = cil[j]; + cjb[j] = cim[j]; + cjc[j] = cin[j]; + } + + chb = chd = chf = 0xff676981; + ckn = chc = che = chg = 0x98967f; + return; + } + if(cgn == 1) { + cgn = 0; + for(int k = 0; k < cfh; k++) { + cja[k] = cil[k]; + cjb[k] = cim[k]; + cjc[k] = cin[k]; + } + + if(ckm >= 2) + cna(cka, ckb, ckc); + if(ckm >= 3) + cnc(ckd, cke, ckf); + if(ckm >= 4) + cnb(ckg, ckh, cki, ckj, ckk, ckl); + if(ckm >= 1) + cmn(cjl, cjm, cjn); + cnd(); + cnf(); + } + } + + public void cnh(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, + int arg7) { + cng(); + if(chf > Camera.bgj || chg < Camera.bgi || chb > Camera.bgf || chc < Camera.bge || chd > Camera.bgh || che < Camera.bgg) { + cha = false; + return; + } + cha = true; + int i1 = 0; + int j1 = 0; + int k1 = 0; + int l1 = 0; + int i2 = 0; + int j2 = 0; + if(arg5 != 0) { + i1 = cif[arg5]; + j1 = cif[arg5 + 1024]; + } + if(arg4 != 0) { + i2 = cif[arg4]; + j2 = cif[arg4 + 1024]; + } + if(arg3 != 0) { + k1 = cif[arg3]; + l1 = cif[arg3 + 1024]; + } + for(int k2 = 0; k2 < cfh; k2++) { + int l2 = cja[k2] - arg0; + int i3 = cjb[k2] - arg1; + int j3 = cjc[k2] - arg2; + if(arg5 != 0) { + int j = i3 * i1 + l2 * j1 >> 15; + i3 = i3 * j1 - l2 * i1 >> 15; + l2 = j; + } + if(arg4 != 0) { + int k = j3 * i2 + l2 * j2 >> 15; + j3 = j3 * j2 - l2 * i2 >> 15; + l2 = k; + } + if(arg3 != 0) { + int l = i3 * l1 - j3 * k1 >> 15; + j3 = i3 * k1 + j3 * l1 >> 15; + i3 = l; + } + if(j3 >= arg7) + cfl[k2] = (l2 << arg6) / j3; + else + cfl[k2] = l2 << arg6; + if(j3 >= arg7) + cfm[k2] = (i3 << arg6) / j3; + else + cfm[k2] = i3 << arg6; + cfi[k2] = l2; + cfj[k2] = i3; + cfk[k2] = j3; + } + + } + + public void cni() { + cng(); + for(int j = 0; j < cfh; j++) { + cil[j] = cja[j]; + cim[j] = cjb[j]; + cin[j] = cjc[j]; + } + + cjl = cjm = cjn = 0; + cka = ckb = ckc = 0; + ckd = cke = ckf = 256; + ckg = ckh = cki = ckj = ckk = ckl = 256; + ckm = 0; + } + + public GameObject cnj() { + GameObject ai[] = new GameObject[1]; + ai[0] = this; + GameObject j = new GameObject(ai, 1); + j.cgm = cgm; + j.isGiantCrystal = isGiantCrystal; + return j; + } + + public GameObject cnk(boolean flag, boolean flag1, boolean flag2, boolean flag3) { + GameObject ai[] = new GameObject[1]; + ai[0] = this; + GameObject j = new GameObject(ai, 1, flag, flag1, flag2, flag3); + j.cgm = cgm; + return j; + } + + public void cnl(GameObject j) { + cka = j.cka; + ckb = j.ckb; + ckc = j.ckc; + cjl = j.cjl; + cjm = j.cjm; + cjn = j.cjn; + cmm(); + cgn = 1; + } + + public int cnm(byte arg0[]) { + for(; arg0[clg] == 10 || arg0[clg] == 13; clg++); + int j = cih[arg0[clg++] & 0xff]; + int k = cih[arg0[clg++] & 0xff]; + int l = cih[arg0[clg++] & 0xff]; + int i1 = (j * 4096 + k * 64 + l) - 0x20000; + if(i1 == 0x1e240) + i1 = cij; + return i1; + } + + public int cfh; + public int cfi[]; + public int cfj[]; + public int cfk[]; + public int cfl[]; + public int cfm[]; + public int cfn[]; + public byte cga[]; + public int cgb; + public int cgc[]; + public int cgd[][]; + public int cge[]; + public int cgf[]; + public int cgg[]; + public int cgh[]; + public int cgi[]; + public int cgj[]; + public int cgk[]; + public int cgl[]; + public int cgm; + public int cgn; + public boolean cha; + public int chb; + public int chc; + public int chd; + public int che; + public int chf; + public int chg; + public boolean chh; + public boolean chi; + public boolean isGiantCrystal; + public int index; + public int entityType[]; + public byte chm[]; + private boolean chn; + public boolean cia; + public boolean cib; + public boolean cic; + public boolean cid; + private static int cie[]; + private static int cif[]; + private static byte cig[]; + private static int cih[]; + private int cij; + public int cik; + public int cil[]; + public int cim[]; + public int cin[]; + public int cja[]; + public int cjb[]; + public int cjc[]; + private int cjd; + private int cje[][]; + private int cjf[]; + private int cjg[]; + private int cjh[]; + private int cji[]; + private int cjj[]; + private int cjk[]; + private int cjl; + private int cjm; + private int cjn; + private int cka; + private int ckb; + private int ckc; + private int ckd; + private int cke; + private int ckf; + private int ckg; + private int ckh; + private int cki; + private int ckj; + private int ckk; + private int ckl; + private int ckm; + private int ckn; + private int cla; + private int clb; + private int clc; + private int cld; + protected int cle; + protected int clf; + private int clg; + + static { + cie = new int[512]; + cif = new int[2048]; + cig = new byte[64]; + cih = new int[256]; + for(int j = 0; j < 256; j++) { + cie[j] = (int)(Math.sin((double)j * 0.02454369D) * 32768D); + cie[j + 256] = (int)(Math.cos((double)j * 0.02454369D) * 32768D); + } + + for(int k = 0; k < 1024; k++) { + cif[k] = (int)(Math.sin((double)k * 0.00613592315D) * 32768D); + cif[k + 1024] = (int)(Math.cos((double)k * 0.00613592315D) * 32768D); + } + + for(int l = 0; l < 10; l++) + cig[l] = (byte)(48 + l); + + for(int i1 = 0; i1 < 26; i1++) + cig[i1 + 10] = (byte)(65 + i1); + + for(int j1 = 0; j1 < 26; j1++) + cig[j1 + 36] = (byte)(97 + j1); + + cig[62] = -93; + cig[63] = 36; + for(int k1 = 0; k1 < 10; k1++) + cih[48 + k1] = k1; + + for(int l1 = 0; l1 < 26; l1++) + cih[65 + l1] = l1 + 10; + + for(int i2 = 0; i2 < 26; i2++) + cih[97 + i2] = i2 + 36; + + cih[163] = 62; + cih[36] = 63; + } +} diff --git a/clients/clientRSC/src/main/java/mudclient/Loader.java b/clients/clientRSC/src/main/java/mudclient/Loader.java new file mode 100755 index 0000000..570b0b2 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/Loader.java @@ -0,0 +1,159 @@ +package mudclient; + +import java.applet.Applet; +import java.awt.Graphics; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.net.InetAddress; +import java.net.Socket; +import java.net.URL; + +@SuppressWarnings("serial") +public class Loader extends Applet implements Runnable { + + private mudclient client; + private boolean running; + private String files[]; + + public void init() { + running = false; + files = new String[] { + "config.jag", "entity.jag", "entity.mem", "filter.jag", "fonts.jag", + "land.jag", "land.mem", "maps.jag", "maps.mem", "media.jag", "models.jag", + "sounds.mem", "textures.jag" + }; + new Thread(this).start(); + while(!running) + try { + Thread.sleep(100); + } catch(Exception e) { } + new Thread(this).start(); + } + + public void run() { + if(running) { + runGame(); + return; + } + running = true; + try { + link.gameApplet = this; + link.currentFile = 0; + for(int i = 0; i < files.length; i++) { + byte bytes[] = load(files[i]); + link.addFile(files[i], bytes); + } + client = new mudclient(); + client.init(); + client.start(); + this.addKeyListener(client); + this.addMouseListener(client); + this.addMouseMotionListener(client); + } catch(Exception e) { + e.printStackTrace(); + } + } + + private byte[] load(String file) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte buffer[] = new byte[4096]; + int read = 0; + try { + InputStream in = getClass().getResourceAsStream("/" + file); + while((read = in.read(buffer)) > 0) { + baos.write(buffer, 0, read); + buffer = new byte[4096]; + } + in.close(); + baos.close(); + return baos.toByteArray(); + } catch(Exception e) { } + baos.reset(); + buffer = new byte[4096]; + read = 0; + try { + InputStream in = new FileInputStream(new File(Config.CONF_DIR, file)); + while((read = in.read(buffer)) > 0) { + baos.write(buffer, 0, read); + buffer = new byte[4096]; + } + in.close(); + baos.close(); + return baos.toByteArray(); + } catch(Exception e) { } + baos.reset(); + buffer = new byte[4096]; + read = 0; + try { + InputStream in = (new URL(Config.CACHE_URL)).openStream(); + while((read = in.read(buffer)) > 0) { + baos.write(buffer, 0, read); + buffer = new byte[4096]; + } + in.close(); + baos.close(); + return baos.toByteArray(); + } catch(Exception e) { } + return null; + } + + private void runGame() { + while(true) { + if(link.port != 0) { + try { + Socket socket = new Socket(InetAddress.getByName(Config.SERVER_IP), link.port); + socket.setSoTimeout(30000); + socket.setTcpNoDelay(true); + link.socket = socket; + } catch(Exception e) { + e.printStackTrace(); + link.socket = null; + } + link.port = 0; + } + if(link.thread != null) { + Thread thread = new Thread(link.thread); + thread.setDaemon(true); + thread.start(); + link.thread = null; + } + if(link.iplookup != null) { + String s = "unknown"; + try { + s = InetAddress.getByName(link.iplookup).getHostName(); + } catch(Exception e) { } + link.address = s; + link.iplookup = null; + } + try { + Thread.sleep(100); + } catch(Exception e) { } + } + } + + public void update(Graphics g) { + paint(g); + } + + public void paint(Graphics g) { + if(client != null) + client.paint(g); + } + + public void start() { + if(client != null) + client.start(); + } + + public void stop() { + if(client != null) + client.stop(); + } + + public void destroy() { + if(client != null) + client.destroy(); + } +} diff --git a/clients/clientRSC/src/main/java/mudclient/LoginDataEncryption.java b/clients/clientRSC/src/main/java/mudclient/LoginDataEncryption.java new file mode 100755 index 0000000..3635c11 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/LoginDataEncryption.java @@ -0,0 +1,80 @@ +package mudclient; + +import javax.crypto.Cipher; +import java.math.BigInteger; +import java.security.KeyFactory; +import java.security.PublicKey; +import java.security.spec.X509EncodedKeySpec; + +public class LoginDataEncryption { + + public void addByte(int i) { + packet[offset++] = (byte) i; + } + + public void addInt(int i) { + packet[offset++] = (byte) (i >> 24); + packet[offset++] = (byte) (i >> 16); + packet[offset++] = (byte) (i >> 8); + packet[offset++] = (byte) i; + } + + @SuppressWarnings("deprecation") + public void addString(String s) { + s.getBytes(0, s.length(), packet, offset); + offset += s.length(); + packet[offset++] = 10; + } + + public void addBytes(byte bytes[], int offset, int length) { + for (int i = offset; i < offset + length; i++) + packet[this.offset++] = bytes[i]; + + } + + public int getByte() { + return packet[offset++] & 0xff; + } + + public int getShort() { + offset += 2; + return ((packet[offset - 2] & 0xff) << 8) + (packet[offset - 1] & 0xff); + } + + public int getInt() { + offset += 4; + return ((packet[offset - 4] & 0xff) << 24) + ((packet[offset - 3] & 0xff) << 16) + ((packet[offset - 2] & 0xff) << 8) + (packet[offset - 1] & 0xff); + } + + public void getBytes(byte arg0[], int arg1, int arg2) { + for (int i = arg1; i < arg1 + arg2; i++) + arg0[i] = packet[offset++]; + + } + + public byte[] encrypt(byte text[]) throws Exception { + byte cipherText[] = null; + Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + cipher.init(Cipher.ENCRYPT_MODE, pubKey); + cipherText = cipher.doFinal(text); + return cipherText; + } + + public LoginDataEncryption(byte abyte0[]) { + packet = abyte0; + offset = 0; + try { + if (customPublicKey == null) + pubKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(new BigInteger("258483531987721813854435365666199783121097212864526576114955744050873252978581213214062885665119329089273296913884093898593877564098511382732309048889240854054459372263273672334107564088395710980478911359605768175143527864461996266529749955416370971506195317045377519645018157466830930794446490944537605962330090699836840861268493872513762630835769942133970804813091619416385064187784658945").toByteArray())); + else + pubKey = customPublicKey; + } catch (Exception e) { + } + } + + public byte packet[]; + public int offset; + private PublicKey pubKey; + + public static PublicKey customPublicKey = null; +} diff --git a/clients/clientRSC/src/main/java/mudclient/Menu.java b/clients/clientRSC/src/main/java/mudclient/Menu.java new file mode 100755 index 0000000..5aa9c91 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/Menu.java @@ -0,0 +1,679 @@ +package mudclient; + +import java.awt.event.KeyEvent; + +public class Menu { + + public Menu(GameImage j1, int i) { + selectedComponent = -1; + gdg = true; + gaj = j1; + gal = i; + componentAcceptsInput = new boolean[i]; + gan = new boolean[i]; + componentIsPasswordField = new boolean[i]; + componentSkip = new boolean[i]; + componentWhiteText = new boolean[i]; + listShownEntries = new int[i]; + listLength = new int[i]; + gbe = new int[i]; + gbf = new int[i]; + componentX = new int[i]; + componentY = new int[i]; + componentType = new int[i]; + componentWidth = new int[i]; + componentHeight = new int[i]; + copmonentInputMaxLength = new int[i]; + componentTextSize = new int[i]; + componentText = new String[i]; + componentTextList = new String[i][]; + scrollBarGradientColorTop = rgbToIntMod(114, 114, 176); + scrollBarGradientColorBottom = rgbToIntMod(14, 14, 62); + scrollBarDraggingBarLine1Color = rgbToIntMod(200, 208, 232); + scrollBarDraggingBarColor = rgbToIntMod(96, 129, 184); + scrollBarDraggingBarLine2Color = rgbToIntMod(53, 95, 115); + gcn = rgbToIntMod(117, 142, 171); + gda = rgbToIntMod(98, 122, 158); + gdb = rgbToIntMod(86, 100, 136); + gdc = rgbToIntMod(135, 146, 179); + gdd = rgbToIntMod(97, 112, 151); + gde = rgbToIntMod(88, 102, 136); + gdf = rgbToIntMod(84, 93, 120); + } + + public int rgbToIntMod(int i, int k, int l) { + return GameImage.rgbToInt((redMod * i) / 114, (greenMod * k) / 114, (blueMod * l) / 176); + } + + public void mouseClick(int mouseX, int mouseY, int lastMouseButton, int mouseButton) { + this.mouseX = mouseX; + this.mouseY = mouseY; + this.mouseButton = mouseButton; + if(lastMouseButton != 0) + this.lastMouseButton = lastMouseButton; + if(lastMouseButton == 1) { + for(int i = 0; i < menuItemsCount; i++) { + if(componentAcceptsInput[i] && componentType[i] == 10 && this.mouseX >= componentX[i] && this.mouseY >= componentY[i] && this.mouseX <= componentX[i] + componentWidth[i] && this.mouseY <= componentY[i] + componentHeight[i]) + componentSkip[i] = true; + if(componentAcceptsInput[i] && componentType[i] == 14 && this.mouseX >= componentX[i] && this.mouseY >= componentY[i] && this.mouseX <= componentX[i] + componentWidth[i] && this.mouseY <= componentY[i] + componentHeight[i]) + gbe[i] = 1 - gbe[i]; + } + + } + if(mouseButton == 1) + gch++; + else + gch = 0; + if(lastMouseButton == 1 || gch > 20) { + for(int k = 0; k < menuItemsCount; k++) + if(componentAcceptsInput[k] && componentType[k] == 15 && this.mouseX >= componentX[k] && this.mouseY >= componentY[k] && this.mouseX <= componentX[k] + componentWidth[k] && this.mouseY <= componentY[k] + componentHeight[k]) + componentSkip[k] = true; + + gch -= 5; + } + } + + public boolean isClicked(int i) { + if(componentAcceptsInput[i] && componentSkip[i]) { + componentSkip[i] = false; + return true; + } else { + return false; + } + } + + public void keyPress(int key, char c) { + if(key == 0) + return; + if(selectedComponent != -1 && componentText[selectedComponent] != null && componentAcceptsInput[selectedComponent]) { + int i = componentText[selectedComponent].length(); + if(key == KeyEvent.VK_BACK_SPACE && i > 0) + componentText[selectedComponent] = componentText[selectedComponent].substring(0, i - 1); + if((key == KeyEvent.VK_ENTER) && i > 0) + componentSkip[selectedComponent] = true; + String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"\243$%^&*()-_=+[{]};:'@#~,<.>/?\\| "; + if(i < copmonentInputMaxLength[selectedComponent]) { + for(int k = 0; k < s.length(); k++) + if(c == s.charAt(k)) + componentText[selectedComponent] += c; + + } + if(key == KeyEvent.VK_TAB) { + do + selectedComponent = (selectedComponent + 1) % menuItemsCount; + while(componentType[selectedComponent] != 5 && componentType[selectedComponent] != 6); + return; + } + } + } + + public void drawMenu() { + for(int i = 0; i < menuItemsCount; i++) + if(componentAcceptsInput[i]) + if(componentType[i] == 0) + gef(i, componentX[i], componentY[i], componentText[i], componentTextSize[i]); + else + if(componentType[i] == 1) + gef(i, componentX[i] - gaj.textWidth(componentText[i], componentTextSize[i]) / 2, componentY[i], componentText[i], componentTextSize[i]); + else + if(componentType[i] == 2) + gei(componentX[i], componentY[i], componentWidth[i], componentHeight[i]); + else + if(componentType[i] == 3) + gel(componentX[i], componentY[i], componentWidth[i]); + else + if(componentType[i] == 4) + gem(i, componentX[i], componentY[i], componentWidth[i], componentHeight[i], componentTextSize[i], componentTextList[i], listLength[i], listShownEntries[i]); + else + if(componentType[i] == 5 || componentType[i] == 6) + geh(i, componentX[i], componentY[i], componentWidth[i], componentHeight[i], componentText[i], componentTextSize[i]); + else + if(componentType[i] == 7) + gfa(i, componentX[i], componentY[i], componentTextSize[i], componentTextList[i]); + else + if(componentType[i] == 8) + gfb(i, componentX[i], componentY[i], componentTextSize[i], componentTextList[i]); + else + if(componentType[i] == 9) + drawList(i, componentX[i], componentY[i], componentWidth[i], componentHeight[i], componentTextSize[i], componentTextList[i], listLength[i], listShownEntries[i]); + else + if(componentType[i] == 11) + gej(componentX[i], componentY[i], componentWidth[i], componentHeight[i]); + else + if(componentType[i] == 12) + gek(componentX[i], componentY[i], componentTextSize[i]); + else + if(componentType[i] == 14) + gee(i, componentX[i], componentY[i], componentWidth[i], componentHeight[i]); + + lastMouseButton = 0; + } + + protected void gee(int arg0, int arg1, int arg2, int arg3, int arg4) { + gaj.drawBox(arg1, arg2, arg3, arg4, 0xffffff); + gaj.drawLineX(arg1, arg2, arg3, gdc); + gaj.drawLineY(arg1, arg2, arg4, gdc); + gaj.drawLineX(arg1, (arg2 + arg4) - 1, arg3, gdf); + gaj.drawLineY((arg1 + arg3) - 1, arg2, arg4, gdf); + if(gbe[arg0] == 1) { + for(int i = 0; i < arg4; i++) { + gaj.drawLineX(arg1 + i, arg2 + i, 1, 0); + gaj.drawLineX((arg1 + arg3) - 1 - i, arg2 + i, 1, 0); + } + + } + } + + protected void gef(int i, int k, int l, String s, int i1) { + int j1 = l + gaj.textHeightNumber(i1) / 3; + geg(i, k, j1, s, i1); + } + + protected void geg(int arg0, int arg1, int arg2, String arg3, int arg4) { + int i; + if(componentWhiteText[arg0]) + i = 0xffffff; + else + i = 0; + gaj.drawString(arg3, arg1, arg2, arg4, i); + } + + protected void geh(int arg0, int arg1, int arg2, int arg3, int arg4, String arg5, int arg6) { + if(componentIsPasswordField[arg0]) { + int i = arg5.length(); + arg5 = ""; + for(int l = 0; l < i; l++) + arg5 = arg5 + "X"; + + } + if(componentType[arg0] == 5) { + if(lastMouseButton == 1 && mouseX >= arg1 && mouseY >= arg2 - arg4 / 2 && mouseX <= arg1 + arg3 && mouseY <= arg2 + arg4 / 2) + selectedComponent = arg0; + } else + if(componentType[arg0] == 6) { + if(lastMouseButton == 1 && mouseX >= arg1 - arg3 / 2 && mouseY >= arg2 - arg4 / 2 && mouseX <= arg1 + arg3 / 2 && mouseY <= arg2 + arg4 / 2) + selectedComponent = arg0; + arg1 -= gaj.textWidth(arg5, arg6) / 2; + } + if(selectedComponent == arg0) + arg5 = arg5 + "*"; + int k = arg2 + gaj.textHeightNumber(arg6) / 3; + geg(arg0, arg1, k, arg5, arg6); + } + + public void gei(int arg0, int arg1, int arg2, int arg3) { + gaj.setGameBoundaries(arg0, arg1, arg0 + arg2, arg1 + arg3); + gaj.drawGradientBox(arg0, arg1, arg2, arg3, gdf, gdc); + if(gdh) { + for(int i = arg0 - (arg1 & 0x3f); i < arg0 + arg2; i += 128) { + for(int k = arg1 - (arg1 & 0x1f); k < arg1 + arg3; k += 128) + gaj.ccd(i, k, 6 + baseScrollPic, 128); + + } + + } + gaj.drawLineX(arg0, arg1, arg2, gdc); + gaj.drawLineX(arg0 + 1, arg1 + 1, arg2 - 2, gdc); + gaj.drawLineX(arg0 + 2, arg1 + 2, arg2 - 4, gdd); + gaj.drawLineY(arg0, arg1, arg3, gdc); + gaj.drawLineY(arg0 + 1, arg1 + 1, arg3 - 2, gdc); + gaj.drawLineY(arg0 + 2, arg1 + 2, arg3 - 4, gdd); + gaj.drawLineX(arg0, (arg1 + arg3) - 1, arg2, gdf); + gaj.drawLineX(arg0 + 1, (arg1 + arg3) - 2, arg2 - 2, gdf); + gaj.drawLineX(arg0 + 2, (arg1 + arg3) - 3, arg2 - 4, gde); + gaj.drawLineY((arg0 + arg2) - 1, arg1, arg3, gdf); + gaj.drawLineY((arg0 + arg2) - 2, arg1 + 1, arg3 - 2, gdf); + gaj.drawLineY((arg0 + arg2) - 3, arg1 + 2, arg3 - 4, gde); + gaj.cai(); + } + + public void gej(int i, int k, int l, int i1) { + gaj.drawBox(i, k, l, i1, 0); + gaj.drawBoxEdge(i, k, l, i1, gcn); + gaj.drawBoxEdge(i + 1, k + 1, l - 2, i1 - 2, gda); + gaj.drawBoxEdge(i + 2, k + 2, l - 4, i1 - 4, gdb); + gaj.drawPicture(i, k, 2 + baseScrollPic); + gaj.drawPicture((i + l) - 7, k, 3 + baseScrollPic); + gaj.drawPicture(i, (k + i1) - 7, 4 + baseScrollPic); + gaj.drawPicture((i + l) - 7, (k + i1) - 7, 5 + baseScrollPic); + } + + protected void gek(int i, int k, int l) { + gaj.drawPicture(i, k, l); + } + + protected void gel(int i, int k, int l) { + gaj.drawLineX(i, k, l, 0); + } + + protected void gem(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, String arg6[], + int arg7, int arg8) { + int i = arg4 / gaj.textHeightNumber(arg5); + if(arg8 > arg7 - i) + arg8 = arg7 - i; + if(arg8 < 0) + arg8 = 0; + listShownEntries[arg0] = arg8; + if(i < arg7) { + int k = (arg1 + arg3) - 12; + int i1 = ((arg4 - 27) * i) / arg7; + if(i1 < 6) + i1 = 6; + int k1 = ((arg4 - 27 - i1) * arg8) / (arg7 - i); + if(mouseButton == 1 && mouseX >= k && mouseX <= k + 12) { + if(mouseY > arg2 && mouseY < arg2 + 12 && arg8 > 0) + arg8--; + if(mouseY > (arg2 + arg4) - 12 && mouseY < arg2 + arg4 && arg8 < arg7 - i) + arg8++; + listShownEntries[arg0] = arg8; + } + if(mouseButton == 1 && (mouseX >= k && mouseX <= k + 12 || mouseX >= k - 12 && mouseX <= k + 24 && gan[arg0])) { + if(mouseY > arg2 + 12 && mouseY < (arg2 + arg4) - 12) { + gan[arg0] = true; + int i2 = mouseY - arg2 - 12 - i1 / 2; + arg8 = (i2 * arg7) / (arg4 - 24); + if(arg8 > arg7 - i) + arg8 = arg7 - i; + if(arg8 < 0) + arg8 = 0; + listShownEntries[arg0] = arg8; + } + } else { + gan[arg0] = false; + } + k1 = ((arg4 - 27 - i1) * arg8) / (arg7 - i); + drawScrollbar(arg1, arg2, arg3, arg4, k1, i1); + } + int l = arg4 - i * gaj.textHeightNumber(arg5); + int j1 = arg2 + (gaj.textHeightNumber(arg5) * 5) / 6 + l / 2; + for(int l1 = arg8; l1 < arg7; l1++) { + geg(arg0, arg1 + 2, j1, arg6[l1], arg5); + j1 += gaj.textHeightNumber(arg5) - chatMenuTextHeightMod; + if(j1 >= arg2 + arg4) + return; + } + + } + + protected void drawScrollbar(int i, int k, int l, int i1, int j1, int k1) { + int l1 = (i + l) - 12; + gaj.drawBoxEdge(l1, k, 12, i1, 0);// border + gaj.drawPicture(l1 + 1, k + 1, baseScrollPic);// up arrow + gaj.drawPicture(l1 + 1, (k + i1) - 12, 1 + baseScrollPic);// down arrow + gaj.drawLineX(l1, k + 13, 12, 0);// up arrow border + gaj.drawLineX(l1, (k + i1) - 13, 12, 0);// down arrow border + gaj.drawGradientBox(l1 + 1, k + 14, 11, i1 - 27, scrollBarGradientColorTop, scrollBarGradientColorBottom);// background gradient + gaj.drawBox(l1 + 3, j1 + k + 14, 7, k1, scrollBarDraggingBarColor);// dragging bar + gaj.drawLineY(l1 + 2, j1 + k + 14, k1, scrollBarDraggingBarLine1Color);// dragging bar + gaj.drawLineY(l1 + 2 + 8, j1 + k + 14, k1, scrollBarDraggingBarLine2Color);// drawgging bar + } + + protected void gfa(int arg0, int arg1, int arg2, int arg3, String arg4[]) { + int i = 0; + int k = arg4.length; + for(int l = 0; l < k; l++) { + i += gaj.textWidth(arg4[l], arg3); + if(l < k - 1) + i += gaj.textWidth(" ", arg3); + } + + int i1 = arg1 - i / 2; + int j1 = arg2 + gaj.textHeightNumber(arg3) / 3; + for(int k1 = 0; k1 < k; k1++) { + int l1; + if(componentWhiteText[arg0]) + l1 = 0xffffff; + else + l1 = 0; + if(mouseX >= i1 && mouseX <= i1 + gaj.textWidth(arg4[k1], arg3) && mouseY <= j1 && mouseY > j1 - gaj.textHeightNumber(arg3)) { + if(componentWhiteText[arg0]) + l1 = 0x808080; + else + l1 = 0xffffff; + if(lastMouseButton == 1) { + gbe[arg0] = k1; + componentSkip[arg0] = true; + } + } + if(gbe[arg0] == k1) + if(componentWhiteText[arg0]) + l1 = 0xff0000; + else + l1 = 0xc00000; + gaj.drawString(arg4[k1], i1, j1, arg3, l1); + i1 += gaj.textWidth(arg4[k1] + " ", arg3); + } + + } + + protected void gfb(int arg0, int arg1, int arg2, int arg3, String arg4[]) { + int i = arg4.length; + int k = arg2 - (gaj.textHeightNumber(arg3) * (i - 1)) / 2; + for(int l = 0; l < i; l++) { + int i1; + if(componentWhiteText[arg0]) + i1 = 0xffffff; + else + i1 = 0; + int j1 = gaj.textWidth(arg4[l], arg3); + if(mouseX >= arg1 - j1 / 2 && mouseX <= arg1 + j1 / 2 && mouseY - 2 <= k && mouseY - 2 > k - gaj.textHeightNumber(arg3)) { + if(componentWhiteText[arg0]) + i1 = 0x808080; + else + i1 = 0xffffff; + if(lastMouseButton == 1) { + gbe[arg0] = l; + componentSkip[arg0] = true; + } + } + if(gbe[arg0] == l) + if(componentWhiteText[arg0]) + i1 = 0xff0000; + else + i1 = 0xc00000; + gaj.drawString(arg4[l], arg1 - j1 / 2, k, arg3, i1); + k += gaj.textHeightNumber(arg3); + } + + } + // drawList(i, componentX[i], componentY[i], componentWidth[i], componentHeight[i], componentTextSize[i], componentTextList[i], listLength[i], gbc[i]); + protected void drawList(int listIndex, int listX, int listY, int listWidth, int listHeight, int listTextSize, String listText[], + int listLength, int shownEntries) { + int entryCount = listHeight / gaj.textHeightNumber(listTextSize); + if(entryCount < listLength) { + int k = (listX + listWidth) - 12; + int i1 = ((listHeight - 27) * entryCount) / listLength; + if(i1 < 6) + i1 = 6; + int k1 = ((listHeight - 27 - i1) * shownEntries) / (listLength - entryCount); + if(mouseButton == 1 && mouseX >= k && mouseX <= k + 12) { + if(mouseY > listY && mouseY < listY + 12 && shownEntries > 0) + shownEntries--; + if(mouseY > (listY + listHeight) - 12 && mouseY < listY + listHeight && shownEntries < listLength - entryCount) + shownEntries++; + listShownEntries[listIndex] = shownEntries; + } + if(mouseButton == 1 && (mouseX >= k && mouseX <= k + 12 || mouseX >= k - 12 && mouseX <= k + 24 && gan[listIndex])) { + if(mouseY > listY + 12 && mouseY < (listY + listHeight) - 12) { + gan[listIndex] = true; + int i2 = mouseY - listY - 12 - i1 / 2; + shownEntries = (i2 * listLength) / (listHeight - 24); + if(shownEntries < 0) + shownEntries = 0; + if(shownEntries > listLength - entryCount) + shownEntries = listLength - entryCount; + listShownEntries[listIndex] = shownEntries; + } + } else { + gan[listIndex] = false; + } + k1 = ((listHeight - 27 - i1) * shownEntries) / (listLength - entryCount); + drawScrollbar(listX, listY, listWidth, listHeight, k1, i1); + } else { + shownEntries = 0; + listShownEntries[listIndex] = 0; + } + gbf[listIndex] = -1; + int l = listHeight - entryCount * gaj.textHeightNumber(listTextSize); + int j1 = listY + (gaj.textHeightNumber(listTextSize) * 5) / 6 + l / 2; + for(int l1 = shownEntries; l1 < listLength; l1++) { + int j2; + if(componentWhiteText[listIndex]) + j2 = 0xffffff; + else + j2 = 0; + if(mouseX >= listX + 2 && mouseX <= listX + 2 + gaj.textWidth(listText[l1], listTextSize) && mouseY - 2 <= j1 && mouseY - 2 > j1 - gaj.textHeightNumber(listTextSize)) { + if(componentWhiteText[listIndex]) + j2 = 0x808080; + else + j2 = 0xffffff; + gbf[listIndex] = l1; + if(lastMouseButton == 1) { + gbe[listIndex] = l1; + componentSkip[listIndex] = true; + } + } + if(gbe[listIndex] == l1 && gdg) + j2 = 0xff0000; + gaj.drawString(listText[l1], listX + 2, j1, listTextSize, j2); + j1 += gaj.textHeightNumber(listTextSize); + if(j1 >= listY + listHeight) + return; + } + + } + + public int drawText(int i, int k, String s, int l, boolean flag) { + componentType[menuItemsCount] = 1; + componentAcceptsInput[menuItemsCount] = true; + componentSkip[menuItemsCount] = false; + componentTextSize[menuItemsCount] = l; + componentWhiteText[menuItemsCount] = flag; + componentX[menuItemsCount] = i; + componentY[menuItemsCount] = k; + componentText[menuItemsCount] = s; + return menuItemsCount++; + } + + public int drawButton(int i, int k, int l, int i1) { + componentType[menuItemsCount] = 2; + componentAcceptsInput[menuItemsCount] = true; + componentSkip[menuItemsCount] = false; + componentX[menuItemsCount] = i - l / 2; + componentY[menuItemsCount] = k - i1 / 2; + componentWidth[menuItemsCount] = l; + componentHeight[menuItemsCount] = i1; + return menuItemsCount++; + } + + public int drawCurvedBox(int i, int k, int l, int i1) { + componentType[menuItemsCount] = 11; + componentAcceptsInput[menuItemsCount] = true; + componentSkip[menuItemsCount] = false; + componentX[menuItemsCount] = i - l / 2; + componentY[menuItemsCount] = k - i1 / 2; + componentWidth[menuItemsCount] = l; + componentHeight[menuItemsCount] = i1; + return menuItemsCount++; + } + + public int drawArrow(int i, int k, int l) { + int i1 = gaj.pictureWidth[l]; + int j1 = gaj.pictureHeight[l]; + componentType[menuItemsCount] = 12; + componentAcceptsInput[menuItemsCount] = true; + componentSkip[menuItemsCount] = false; + componentX[menuItemsCount] = i - i1 / 2; + componentY[menuItemsCount] = k - j1 / 2; + componentWidth[menuItemsCount] = i1; + componentHeight[menuItemsCount] = j1; + componentTextSize[menuItemsCount] = l; + return menuItemsCount++; + } + + public int gfh(int i, int k, int l, int i1, int j1, int k1, boolean flag) { + componentType[menuItemsCount] = 4; + componentAcceptsInput[menuItemsCount] = true; + componentSkip[menuItemsCount] = false; + componentX[menuItemsCount] = i; + componentY[menuItemsCount] = k; + componentWidth[menuItemsCount] = l; + componentHeight[menuItemsCount] = i1; + componentWhiteText[menuItemsCount] = flag; + componentTextSize[menuItemsCount] = j1; + copmonentInputMaxLength[menuItemsCount] = k1; + listLength[menuItemsCount] = 0; + listShownEntries[menuItemsCount] = 0; + componentTextList[menuItemsCount] = new String[k1]; + return menuItemsCount++; + } + + public int gfi(int i, int k, int l, int i1, int j1, int k1, boolean flag, + boolean flag1) { + componentType[menuItemsCount] = 5; + componentAcceptsInput[menuItemsCount] = true; + componentIsPasswordField[menuItemsCount] = flag; + componentSkip[menuItemsCount] = false; + componentTextSize[menuItemsCount] = j1; + componentWhiteText[menuItemsCount] = flag1; + componentX[menuItemsCount] = i; + componentY[menuItemsCount] = k; + componentWidth[menuItemsCount] = l; + componentHeight[menuItemsCount] = i1; + copmonentInputMaxLength[menuItemsCount] = k1; + componentText[menuItemsCount] = ""; + return menuItemsCount++; + } + + public int createInput(int i, int k, int l, int i1, int j1, int k1, boolean flag, + boolean flag1) { + componentType[menuItemsCount] = 6; + componentAcceptsInput[menuItemsCount] = true; + componentIsPasswordField[menuItemsCount] = flag; + componentSkip[menuItemsCount] = false; + componentTextSize[menuItemsCount] = j1; + componentWhiteText[menuItemsCount] = flag1; + componentX[menuItemsCount] = i; + componentY[menuItemsCount] = k; + componentWidth[menuItemsCount] = l; + componentHeight[menuItemsCount] = i1; + copmonentInputMaxLength[menuItemsCount] = k1; + componentText[menuItemsCount] = ""; + return menuItemsCount++; + } + + public int createList(int i, int k, int l, int i1, int j1, int k1, boolean flag) { + componentType[menuItemsCount] = 9; + componentAcceptsInput[menuItemsCount] = true; + componentSkip[menuItemsCount] = false; + componentTextSize[menuItemsCount] = j1; + componentWhiteText[menuItemsCount] = flag; + componentX[menuItemsCount] = i; + componentY[menuItemsCount] = k; + componentWidth[menuItemsCount] = l; + componentHeight[menuItemsCount] = i1; + copmonentInputMaxLength[menuItemsCount] = k1; + componentTextList[menuItemsCount] = new String[k1]; + listLength[menuItemsCount] = 0; + listShownEntries[menuItemsCount] = 0; + gbe[menuItemsCount] = -1; + gbf[menuItemsCount] = -1; + return menuItemsCount++; + } + + public int createButton(int i, int k, int l, int i1) { + componentType[menuItemsCount] = 10; + componentAcceptsInput[menuItemsCount] = true; + componentSkip[menuItemsCount] = false; + componentX[menuItemsCount] = i - l / 2; + componentY[menuItemsCount] = k - i1 / 2; + componentWidth[menuItemsCount] = l; + componentHeight[menuItemsCount] = i1; + return menuItemsCount++; + } + + public void clearList(int i) { + listLength[i] = 0; + } + + public void switchList(int i) { + listShownEntries[i] = 0; + gbf[i] = -1; + } + + public void addListItem(int i, int k, String s) { + componentTextList[i][k] = s; + if(k + 1 > listLength[i]) + listLength[i] = k + 1; + } + + public void addMessage(int arg0, String arg1, boolean arg2) { + int i = listLength[arg0]++; + if(i >= copmonentInputMaxLength[arg0]) { + i--; + listLength[arg0]--; + for(int k = 0; k < i; k++) + componentTextList[arg0][k] = componentTextList[arg0][k + 1]; + + } + componentTextList[arg0][i] = arg1; + if(arg2) + listShownEntries[arg0] = 0xf423f; + } + + public void updateText(int i, String s) { + componentText[i] = s; + } + + public String getText(int i) { + if(componentText[i] == null) + return "null"; + else + return componentText[i]; + } + + public void gge(int i) { + componentAcceptsInput[i] = true; + } + + public void ggf(int i) { + componentAcceptsInput[i] = false; + } + + public void setFocus(int i) { + selectedComponent = i; + } + + public int getEntryHighlighted(int i) { + int k = gbf[i]; + return k; + } + + protected GameImage gaj; + int menuItemsCount; + int gal; + public boolean componentAcceptsInput[]; + public boolean gan[]; + public boolean componentIsPasswordField[]; + public boolean componentSkip[]; + public int listShownEntries[]; + public int listLength[]; + public int gbe[]; + public int gbf[]; + boolean componentWhiteText[]; + int componentX[]; + int componentY[]; + int componentType[]; + int componentWidth[]; + int componentHeight[]; + int copmonentInputMaxLength[]; + int componentTextSize[]; + String componentText[]; + String componentTextList[][]; + int mouseX; + int mouseY; + int lastMouseButton; + int mouseButton; + int selectedComponent; + int gch; + int scrollBarGradientColorTop; + int scrollBarGradientColorBottom; + int scrollBarDraggingBarLine1Color; + int scrollBarDraggingBarColor; + int scrollBarDraggingBarLine2Color; + int gcn; + int gda; + int gdb; + int gdc; + int gdd; + int gde; + int gdf; + public boolean gdg; + public static boolean gdh = true; + public static int baseScrollPic; + public static int redMod = 114; + public static int greenMod = 114; + public static int blueMod = 176; + public static int chatMenuTextHeightMod; + +} diff --git a/clients/clientRSC/src/main/java/mudclient/Mob.java b/clients/clientRSC/src/main/java/mudclient/Mob.java new file mode 100755 index 0000000..cfb9219 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/Mob.java @@ -0,0 +1,45 @@ +package mudclient; + +final class Mob { + + Mob() { + waypointsX = new int[10]; + waypointsY = new int[10]; + appearanceItems = new int[12]; + level = -1; + } + + public long nameHash; + public String username; + public int serverIndex; + public int serverID; + public int currentX; + public int currentY; + public int npcId; + public int stepCount; + public int currentSprite; + public int nextSprite; + public int waypointsEndSprite; + public int waypointCurrent; + public int waypointsX[]; + public int waypointsY[]; + public int appearanceItems[]; + public String lastMessage; + public int lastMessageTimeout; + public int itemAboveHeadID; + public int playerSkullTimeout; + public int lastDamageCount; + public int currentHits; + public int baseHits; + public int combatTimer; + public int level; + public int hairColour; + public int topColour; + public int bottomColour; + public int skinColour; + public int projectileType; + public int attackingPlayerIndex; + public int attackingNpcIndex; + public int projectileDistance; + public int playerSkulled; +} diff --git a/clients/clientRSC/src/main/java/mudclient/PacketConstruction.java b/clients/clientRSC/src/main/java/mudclient/PacketConstruction.java new file mode 100755 index 0000000..7ee004f --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/PacketConstruction.java @@ -0,0 +1,198 @@ +package mudclient; + +import java.io.IOException; + +public class PacketConstruction { + + public void closeStream() { + } + + public void createPacket(int i) { + if(packetStart > (maxPacketLength * 4) / 5) + try { + writePacket(0); + } + catch(IOException ioexception) { + error = true; + errorText = ioexception.getMessage(); + } + if(packetData == null) + packetData = new byte[maxPacketLength]; + packetData[packetStart + 2] = (byte)i; + packetData[packetStart + 3] = 0; + packetOffset = packetStart + 3; + skipOffset = 8; + } + + public void writePacket(int i) + throws IOException { + if(error) { + packetStart = 0; + packetOffset = 3; + error = false; + throw new IOException(errorText); + } + packetCount++; + if(packetCount < i) + return; + if(packetStart > 0) { + packetCount = 0; + writeToBuffer(packetData, 0, packetStart); + } + packetStart = 0; + packetOffset = 3; + } + + public void addByte(int i) { + packetData[packetOffset++] = (byte)i; + } + + @SuppressWarnings("deprecation") + public void addString(String s) { + s.getBytes(0, s.length(), packetData, packetOffset); + packetOffset += s.length(); + } + + public void addLong(long l) { + addInt((int)(l >> 32)); + addInt((int)(l & -1L)); + } + + public void writeToBuffer(byte abyte0[], int i, int j) + throws IOException { + } + + public void readInputStream(int i, int j, byte abyte0[]) + throws IOException { + } + + public int readShort() + throws IOException { + int i = readByte(); + int j = readByte(); + return i * 256 + j; + } + + public int read() + throws IOException { + return 0; + } + + public void read(int i, byte abyte0[]) + throws IOException { + readInputStream(i, 0, abyte0); + } + + public void addInt(int i) { + packetData[packetOffset++] = (byte)(i >> 24); + packetData[packetOffset++] = (byte)(i >> 16); + packetData[packetOffset++] = (byte)(i >> 8); + packetData[packetOffset++] = (byte)i; + } + + public void flush() + throws IOException { + formatPacket(); + writePacket(0); + } + + public int available() + throws IOException { + System.out.println("packetconstruction.available WRONG"); + return 0; + } + + public void addShort(int i) { + packetData[packetOffset++] = (byte)(i >> 8); + packetData[packetOffset++] = (byte)i; + } + + public long readLong() + throws IOException { + long l = readShort(); + long l1 = readShort(); + long l2 = readShort(); + long l3 = readShort(); + return (l << 48) + (l1 << 32) + (l2 << 16) + l3; + } + + public void formatPacket() { + if(skipOffset != 8) + packetOffset++; + int j = packetOffset - packetStart - 2; + packetData[packetStart] = (byte) (j >> 8); + packetData[packetStart + 1] = (byte) j; + if(maxPacketLength <= 10000) { + int k = packetData[packetStart + 2] & 0xff; + packetCommandCount[k]++; + packetLengthCount[k] += packetOffset - packetStart; + } + packetStart = packetOffset; + } + + public void addBytes(byte data[], int off, int len) { + for(int i = 0; i < len; i++) + packetData[packetOffset++] = data[off + i]; + + } + + public boolean hasData() { + return packetStart > 0; + } + + public int readPacket(byte arg0[]) { + try { + read++; + if(maxPacketReadCount > 0 && read > maxPacketReadCount) { + error = true; + errorText = "time-out"; + maxPacketReadCount += maxPacketReadCount; + return 0; + } + if(length == 0 && available() >= 2) { + byte buf[] = new byte[2]; + readInputStream(2, 0, buf); + length = ((short) ((buf[0] & 0xff) << 8) | (short) (buf[1] & 0xff)) + 1; + } + if(length > 0 && available() >= length) { + read(length, arg0); + int i = length; + length = 0; + read = 0; + return i; + } + } + catch(IOException ioexception) { + error = true; + errorText = ioexception.getMessage(); + } + return 0; + } + + public int readByte() + throws IOException { + return read(); + } + + public PacketConstruction() { + packetOffset = 3; + skipOffset = 8; + maxPacketLength = 5000; + errorText = ""; + error = false; + } + + protected int length; + public int read; + public int maxPacketReadCount; + public int packetStart; + private int packetOffset; + private int skipOffset; + public byte packetData[]; + public static int packetCommandCount[] = new int[256]; + protected int maxPacketLength; + public static int packetLengthCount[] = new int[256]; + protected int packetCount; + protected String errorText; + protected boolean error; +} diff --git a/clients/clientRSC/src/main/java/mudclient/StreamClass.java b/clients/clientRSC/src/main/java/mudclient/StreamClass.java new file mode 100755 index 0000000..ace5bc8 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/StreamClass.java @@ -0,0 +1,134 @@ +package mudclient; + +import java.io.*; +import java.net.Socket; + +public class StreamClass extends PacketConstruction + implements Runnable { + + public StreamClass(Socket socket, GameApplet a1) + throws IOException { + socketClosing = false; + socketClosed = true; + this.socket = socket; + inputStream = socket.getInputStream(); + outputStream = socket.getOutputStream(); + socketClosed = false; + a1.startThread(this); + } + + public void closeStream() { + super.closeStream(); + socketClosing = true; + try { + if(inputStream != null) + inputStream.close(); + if(outputStream != null) + outputStream.close(); + if(socket != null) + socket.close(); + } + catch(IOException _ex) { + System.out.println("Error closing stream"); + } + socketClosed = true; + synchronized(this) { + notify(); + } + buffer = null; + } + + public int read() + throws IOException { + if(socketClosing) + return 0; + else + return inputStream.read(); + } + + public int available() + throws IOException { + if(socketClosing) + return 0; + else + return inputStream.available(); + } + + public void readInputStream(int arg0, int arg1, byte arg2[]) + throws IOException { + if(socketClosing) + return; + int i = 0; + int j; + for(; i < arg0; i += j) + if((j = inputStream.read(arg2, i + arg1, arg0 - i)) <= 0) + throw new IOException("EOF"); + + } + + public void writeToBuffer(byte arg0[], int arg1, int arg2) + throws IOException { + if(socketClosing) + return; + if(buffer == null) + buffer = new byte[5000]; + synchronized(this) { + for(int i = 0; i < arg2; i++) { + buffer[offset] = arg0[i + arg1]; + offset = (offset + 1) % 5000; + if(offset == (dataWritten + 4900) % 5000) + throw new IOException("buffer overflow"); + } + + notify(); + } + } + + public void run() { + while(!socketClosed) { + int i; + int j; + synchronized(this) { + if(offset == dataWritten) + try { + wait(); + } + catch(InterruptedException _ex) { } + if(socketClosed) + return; + j = dataWritten; + if(offset >= dataWritten) + i = offset - dataWritten; + else + i = 5000 - dataWritten; + } + if(i > 0) { + try { + outputStream.write(buffer, j, i); + } + catch(IOException ioexception) { + super.error = true; + super.errorText = "Twriter:" + ioexception; + } + dataWritten = (dataWritten + i) % 5000; + try { + if(offset == dataWritten) + outputStream.flush(); + } + catch(IOException ioexception1) { + super.error = true; + super.errorText = "Twriter:" + ioexception1; + } + } + } + } + + private InputStream inputStream; + private OutputStream outputStream; + private Socket socket; + private boolean socketClosing; + private byte buffer[]; + private int dataWritten; + private int offset; + private boolean socketClosed; +} diff --git a/clients/clientRSC/src/main/java/mudclient/link.java b/clients/clientRSC/src/main/java/mudclient/link.java new file mode 100755 index 0000000..3f3cbbb --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/link.java @@ -0,0 +1,87 @@ +package mudclient; + +import java.applet.Applet; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.Socket; + +public class link { + + public static final void addFile(String fileName, byte fileData[]) { + link.fileName[currentFile] = fileName; + link.fileData[currentFile] = fileData; + currentFile++; + } + + public static final boolean loadFile(String fileName) { + try { + File f = new File(Config.CONF_DIR, fileName); + if(f.exists()) { + FileInputStream fis = new FileInputStream(f); + byte buf[] = new byte[fis.available()]; + fis.read(buf); + addFile(fileName, buf); + return true; + } + return false; + } catch(IOException ioe) { + ioe.printStackTrace(); + return false; + } + } + + public static final byte[] getFile(String fileName) { + for(int i = 0; i < currentFile; i++) + if(link.fileName[i].equals(fileName)) + return fileData[i]; + if(loadFile(fileName)) + return getFile(fileName); + else + return null; + } + + public static final Socket getSocket(int port) { + for(link.port = port; link.port != 0;) + try { + Thread.sleep(100L); + } + catch(Exception _ex) { } + + return socket; + } + + public static final void thread(Runnable runnable) { + for(thread = runnable; thread != null;) + try { + Thread.sleep(100L); + } + catch(Exception _ex) { } + + } + + public static final String getAddress(String ip) { + for(iplookup = ip; iplookup != null;) + try { + Thread.sleep(100L); + } + catch(Exception _ex) { } + + return address; + } + + public link() { + } + + public static Applet gameApplet; + public static int uid; + static int port; + static Socket socket; + static Runnable thread = null; + static String iplookup = null; + static String address; + static int currentFile; + private static String fileName[] = new String[50]; + private static byte fileData[][] = new byte[50][]; + +} diff --git a/clients/clientRSC/src/main/java/mudclient/mudclient.java b/clients/clientRSC/src/main/java/mudclient/mudclient.java new file mode 100755 index 0000000..04998e0 --- /dev/null +++ b/clients/clientRSC/src/main/java/mudclient/mudclient.java @@ -0,0 +1,7593 @@ +package mudclient; + +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.event.KeyEvent; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.net.InetAddress; +import java.net.Socket; +import java.net.URL; + +import javax.imageio.ImageIO; + +@SuppressWarnings("serial") +public class mudclient extends GameAppletMiddleMan { + + public static final void main(String args[]) { + mudclient mud = new mudclient(); + mud.createWindow(mud.windowWidth, mud.windowHeight + 11, "MoparClassic", false); + mud.gameMinThreadSleepTime = 10; + } + + private final void menuClick(int l) { + int actionX = menuActionX[l]; + int actionY = menuActionY[l]; + int actionType = menuActionType[l]; + int actionVar1 = menuActionVar1[l]; + int actionVar2 = menuActionVar2[l]; + int actionID = menuActionID[l]; + if(actionID == 200) { + walkToGroundItem(sectionX, sectionY, actionX, actionY, true); + super.streamClass.createPacket(104); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedSpell = -1; + } + if(actionID == 210) { + walkToGroundItem(sectionX, sectionY, actionX, actionY, true); + super.streamClass.createPacket(34); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedItem = -1; + } + if(actionID == 220) { + walkToGroundItem(sectionX, sectionY, actionX, actionY, true); + super.streamClass.createPacket(245); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + } + if(actionID == 3200) + displayMessage(Data.itemDescription[actionType], 3); + if(actionID == 300) { + walkToWallObject(actionX, actionY, actionType); + super.streamClass.createPacket(67); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addByte(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedSpell = -1; + } + if(actionID == 310) { + walkToWallObject(actionX, actionY, actionType); + super.streamClass.createPacket(36); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addByte(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedItem = -1; + } + if(actionID == 320) { + walkToWallObject(actionX, actionY, actionType); + super.streamClass.createPacket(126); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addByte(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 2300) { + walkToWallObject(actionX, actionY, actionType); + super.streamClass.createPacket(235); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addByte(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 3300) + displayMessage(Data.wallObjectDescription[actionType], 3); + if(actionID == 400) { + walkToObject(actionX, actionY, actionType, actionVar1); + super.streamClass.createPacket(17); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addShort(actionVar2); + super.streamClass.formatPacket(); + selectedSpell = -1; + } + if(actionID == 410) { + walkToObject(actionX, actionY, actionType, actionVar1); + super.streamClass.createPacket(94); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addShort(actionVar2); + super.streamClass.formatPacket(); + selectedItem = -1; + } + if(actionID == 420) { + walkToObject(actionX, actionY, actionType, actionVar1); + super.streamClass.createPacket(51); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.formatPacket(); + } + if(actionID == 2400) { + walkToObject(actionX, actionY, actionType, actionVar1); + super.streamClass.createPacket(40); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.formatPacket(); + } + if(actionID == 3400) + displayMessage(Data.objectDescription[actionType], 3); + if(actionID == 600) { + super.streamClass.createPacket(49); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedSpell = -1; + } + if(actionID == 610) { + super.streamClass.createPacket(27); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedItem = -1; + } + if(actionID == 620) { + super.streamClass.createPacket(92); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 630) { + super.streamClass.createPacket(181); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 640) { + super.streamClass.createPacket(89); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 650) { + selectedItem = actionType; + drawMenuTab = 0; + selectedItemName = Data.itemName[inventoryItems[selectedItem]]; + } + if(actionID == 660) { + super.streamClass.createPacket(147); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + selectedItem = -1; + drawMenuTab = 0; + displayMessage("Dropping " + Data.itemName[inventoryItems[actionType]], 4); + } + if(actionID == 3600) + displayMessage(Data.itemDescription[actionType], 3); + if(actionID == 700) { + int k2 = (actionX - 64) / magicLoc; + int k4 = (actionY - 64) / magicLoc; + walkTo1Tile(sectionX, sectionY, k2, k4, true); + super.streamClass.createPacket(71); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedSpell = -1; + } + if(actionID == 710) { + int l2 = (actionX - 64) / magicLoc; + int l4 = (actionY - 64) / magicLoc; + walkTo1Tile(sectionX, sectionY, l2, l4, true); + super.streamClass.createPacket(142); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedItem = -1; + } + if(actionID == 720) { + int i3 = (actionX - 64) / magicLoc; + int i5 = (actionY - 64) / magicLoc; + walkTo1Tile(sectionX, sectionY, i3, i5, true); + super.streamClass.createPacket(177); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 725) { + int j3 = (actionX - 64) / magicLoc; + int j5 = (actionY - 64) / magicLoc; + walkTo1Tile(sectionX, sectionY, j3, j5, true); + super.streamClass.createPacket(74); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 715 || actionID == 2715) { + int k3 = (actionX - 64) / magicLoc; + int k5 = (actionY - 64) / magicLoc; + walkTo1Tile(sectionX, sectionY, k3, k5, true); + super.streamClass.createPacket(73); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 3700) + displayMessage(Data.npcDescription[actionType], 3); + if(actionID == 800) { + int l3 = (actionX - 64) / magicLoc; + int l5 = (actionY - 64) / magicLoc; + walkTo1Tile(sectionX, sectionY, l3, l5, true); + super.streamClass.createPacket(55); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedSpell = -1; + } + if(actionID == 810) { + int i4 = (actionX - 64) / magicLoc; + int i6 = (actionY - 64) / magicLoc; + walkTo1Tile(sectionX, sectionY, i4, i6, true); + super.streamClass.createPacket(16); + super.streamClass.addShort(actionType); + super.streamClass.addShort(actionVar1); + super.streamClass.formatPacket(); + selectedItem = -1; + } + if(actionID == 805 || actionID == 2805) { + int j4 = (actionX - 64) / magicLoc; + int j6 = (actionY - 64) / magicLoc; + walkTo1Tile(sectionX, sectionY, j4, j6, true); + super.streamClass.createPacket(57); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 2806) { + super.streamClass.createPacket(222); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 2810) { + super.streamClass.createPacket(166); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 2820) { + super.streamClass.createPacket(68); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + } + if(actionID == 900) { + walkTo1Tile(sectionX, sectionY, actionX, actionY, true); + super.streamClass.createPacket(232); + super.streamClass.addShort(actionX + areaX); + super.streamClass.addShort(actionY + areaY); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + selectedSpell = -1; + } + if(actionID == 920) { + walkTo1Tile(sectionX, sectionY, actionX, actionY, false); + if(actionPictureType == -24) + actionPictureType = 24; + } + if(actionID == 1000) { + super.streamClass.createPacket(206); + super.streamClass.addShort(actionType); + super.streamClass.formatPacket(); + selectedSpell = -1; + } + if(actionID == 4000) { + selectedItem = -1; + selectedSpell = -1; + } + } + + protected final void resetIntVars() { + systemUpdate = 0; + loginScreen = 0; + loggedIn = 0; + logoutTimer = 0; + } + + private final void drawReportAbuseBox1() { + reportAbuseOptionSelected = 0; + int yOffset = 135; + for(int option = 0; option < 12; option++) { + if(super.mouseX > 66 && super.mouseX < 446 && super.mouseY >= yOffset - 12 && super.mouseY < yOffset + 3) + reportAbuseOptionSelected = option + 1; + yOffset += 14; + } + + if(mouseButtonClick != 0 && reportAbuseOptionSelected != 0) { + mouseButtonClick = 0; + showAbuseBox = 2; + super.inputText = ""; + super.enteredInputText = ""; + return; + } + yOffset += 15; + if(mouseButtonClick != 0) { + mouseButtonClick = 0; + if(super.mouseX < 56 || super.mouseY < 35 || super.mouseX > 456 || super.mouseY > 325) { + showAbuseBox = 0; + return; + } + if(super.mouseX > 66 && super.mouseX < 446 && super.mouseY >= yOffset - 15 && super.mouseY < yOffset + 5) { + showAbuseBox = 0; + return; + } + } + gameGraphics.drawBox(56, 35, 400, 290, 0); + gameGraphics.drawBoxEdge(56, 35, 400, 290, 0xffffff); + yOffset = 50; + gameGraphics.drawText("This form is for reporting players who are breaking our rules", 256, yOffset, 1, 0xffffff); + yOffset += 15; + gameGraphics.drawText("Using it sends a snapshot of the last 60 secs of activity to us", 256, yOffset, 1, 0xffffff); + yOffset += 15; + gameGraphics.drawText("If you misuse this form, you will be banned.", 256, yOffset, 1, 0xff8000); + yOffset += 15; + yOffset += 10; + gameGraphics.drawText("First indicate which of our 12 rules is being broken. For a detailed", 256, yOffset, 1, 0xffff00); + yOffset += 15; + gameGraphics.drawText("explanation of each rule please read the manual on our website.", 256, yOffset, 1, 0xffff00); + yOffset += 15; + int j1; + if(reportAbuseOptionSelected == 1) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("1: Offensive language", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 2) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("2: Item scamming", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 3) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("3: Password scamming", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 4) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("4: Bug abuse", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 5) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("5: Jagex Staff impersonation", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 6) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("6: Account sharing/trading", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 7) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("7: Macroing", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 8) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("8: Mutiple logging in", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 9) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("9: Encouraging others to break rules", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 10) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("10: Misuse of customer support", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 11) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("11: Advertising / website", 256, yOffset, 1, j1); + yOffset += 14; + if(reportAbuseOptionSelected == 12) { + gameGraphics.drawBoxEdge(66, yOffset - 12, 380, 15, 0xffffff); + j1 = 0xff8000; + } else { + j1 = 0xffffff; + } + gameGraphics.drawText("12: Real world item trading", 256, yOffset, 1, j1); + yOffset += 14; + yOffset += 15; + j1 = 0xffffff; + if(super.mouseX > 196 && super.mouseX < 316 && super.mouseY > yOffset - 15 && super.mouseY < yOffset + 5) + j1 = 0xffff00; + gameGraphics.drawText("Click here to cancel", 256, yOffset, 1, j1); + } + + private final void loadMap() { + engineHandle.mapsFree = unpackData("maps.jag", "map", 70); + engineHandle.mapsMembers = unpackData("maps.mem", "members map", 75); + engineHandle.landscapeFree = unpackData("land.jag", "landscape", 80); + engineHandle.landscapeMembers = unpackData("land.mem", "members landscape", 85); + } + + private final void drawModel(int l, String s1) { + int i1 = objectX[l]; + int j1 = objectY[l]; + int k1 = i1 - ourPlayer.currentX / 128; + int l1 = j1 - ourPlayer.currentY / 128; + byte byte0 = 7; + if(i1 >= 0 && j1 >= 0 && i1 < 96 && j1 < 96 && k1 > -byte0 && k1 < byte0 && l1 > -byte0 && l1 < byte0) { + gameCamera.removeModel(objectArray[l]); + int i2 = Data.getModelNameIndex(s1); + GameObject j2 = gameDataObjects[i2].cnj(); + gameCamera.addModel(j2); + j2.cme(true, 48, 48, -50, -10, -50); + j2.cnl(objectArray[l]); + j2.index = l; + objectArray[l] = j2; + } + } + + final void drawPlayer(int x, int y, int width, int height, int arg4, int arg5, int arg6) { + Mob f1 = playerArray[arg4]; + if(f1.bottomColour == 255)// TODO this checks if the player is an invisible moderator + return; + int direction = f1.currentSprite + (cameraRotation + 16) / 32 & 7; + boolean flag = false; + int direction2 = direction; + if(direction2 == 5) { + direction2 = 3; + flag = true; + } else + if(direction2 == 6) { + direction2 = 2; + flag = true; + } else + if(direction2 == 7) { + direction2 = 1; + flag = true; + } + int j1 = direction2 * 3 + walkModel[(f1.stepCount / 6) % 4]; + if(f1.currentSprite == 8) { + direction2 = 5; + direction = 2; + flag = false; + x -= (5 * arg6) / 100; + j1 = direction2 * 3 + combatModelArray1[(tick / 5) % 8]; + } else + if(f1.currentSprite == 9) { + direction2 = 5; + direction = 2; + flag = true; + x += (5 * arg6) / 100; + j1 = direction2 * 3 + combatModelArray2[(tick / 6) % 8]; + } + for(int k1 = 0; k1 < 12; k1++) { + int l1 = animationModelArray[direction][k1]; + int l2 = f1.appearanceItems[l1] - 1; + if(l2 > Data.animationCount - 1) + continue; + if(l2 >= 0) { + int k3 = 0; + int i4 = 0; + int j4 = j1; + if(flag && direction2 >= 1 && direction2 <= 3) + if(Data.animationHasF[l2] == 1) + j4 += 15; + else + if(l1 == 4 && direction2 == 1) { + k3 = -22; + i4 = -3; + j4 = direction2 * 3 + walkModel[(2 + f1.stepCount / 6) % 4]; + } else + if(l1 == 4 && direction2 == 2) { + k3 = 0; + i4 = -8; + j4 = direction2 * 3 + walkModel[(2 + f1.stepCount / 6) % 4]; + } else + if(l1 == 4 && direction2 == 3) { + k3 = 26; + i4 = -5; + j4 = direction2 * 3 + walkModel[(2 + f1.stepCount / 6) % 4]; + } else + if(l1 == 3 && direction2 == 1) { + k3 = 22; + i4 = 3; + j4 = direction2 * 3 + walkModel[(2 + f1.stepCount / 6) % 4]; + } else + if(l1 == 3 && direction2 == 2) { + k3 = 0; + i4 = 8; + j4 = direction2 * 3 + walkModel[(2 + f1.stepCount / 6) % 4]; + } else + if(l1 == 3 && direction2 == 3) { + k3 = -26; + i4 = 5; + j4 = direction2 * 3 + walkModel[(2 + f1.stepCount / 6) % 4]; + } + if(direction2 != 5 || Data.animationHasA[l2] == 1) { + int k4 = j4 + Data.animationNumber[l2]; + k3 = (k3 * width) / ((GameImage) (gameGraphics)).pictureAssumedWidth[k4]; + i4 = (i4 * height) / ((GameImage) (gameGraphics)).pictureAssumedHeight[k4]; + int l4 = (width * ((GameImage) (gameGraphics)).pictureAssumedWidth[k4]) / ((GameImage) (gameGraphics)).pictureAssumedWidth[Data.animationNumber[l2]]; + k3 -= (l4 - width) / 2; + int i5 = Data.animationCharacterColor[l2]; + int j5 = appearanceSkinColours[f1.skinColour]; + if(i5 == 1) + i5 = appearanceHairColours[f1.hairColour]; + else + if(i5 == 2) + i5 = appearanceTopBottomColours[f1.topColour]; + else + if(i5 == 3) + i5 = appearanceTopBottomColours[f1.bottomColour]; + gameGraphics.drawImage(x + k3, y + i4, l4, height, k4, i5, j5, arg5, flag); + } + } + } + + if(f1.lastMessageTimeout > 0) { + receivedMessageMidPoint[receivedMessagesCount] = gameGraphics.textWidth(f1.lastMessage, 1) / 2; + if(receivedMessageMidPoint[receivedMessagesCount] > 150) + receivedMessageMidPoint[receivedMessagesCount] = 150; + receivedMessageHeight[receivedMessagesCount] = (gameGraphics.textWidth(f1.lastMessage, 1) / 300) * gameGraphics.textHeightNumber(1); + receivedMessageX[receivedMessagesCount] = x + width / 2; + receivedMessageY[receivedMessagesCount] = y; + receivedMessages[receivedMessagesCount++] = f1.lastMessage; + } + if(f1.playerSkullTimeout > 0) { + itemAboveHeadX[itemsAboveHeadCount] = x + width / 2; + itemAboveHeadY[itemsAboveHeadCount] = y; + itemAboveHeadScale[itemsAboveHeadCount] = arg6; + itemAboveHeadID[itemsAboveHeadCount++] = f1.itemAboveHeadID; + } + if(f1.currentSprite == 8 || f1.currentSprite == 9 || f1.combatTimer != 0) { + if(f1.combatTimer > 0) { + int i2 = x; + if(f1.currentSprite == 8) + i2 -= (20 * arg6) / 100; + else + if(f1.currentSprite == 9) + i2 += (20 * arg6) / 100; + int i3 = (f1.currentHits * 30) / f1.baseHits; + healthBarX[healthBarVisibleCount] = i2 + width / 2; + healthBarY[healthBarVisibleCount] = y; + healthBarMissing[healthBarVisibleCount++] = i3; + } + if(f1.combatTimer > 150) { + int j2 = x; + if(f1.currentSprite == 8) + j2 -= (10 * arg6) / 100; + else + if(f1.currentSprite == 9) + j2 += (10 * arg6) / 100; + gameGraphics.drawPicture((j2 + width / 2) - 12, (y + height / 2) - 12, baseInventoryPic + 11); + gameGraphics.drawText(String.valueOf(f1.lastDamageCount), (j2 + width / 2) - 1, y + height / 2 + 5, 3, 0xffffff); + } + } + if(f1.playerSkulled == 1 && f1.playerSkullTimeout == 0) { + int k2 = arg5 + x + width / 2; + if(f1.currentSprite == 8) + k2 -= (20 * arg6) / 100; + else + if(f1.currentSprite == 9) + k2 += (20 * arg6) / 100; + int j3 = (16 * arg6) / 100; + int l3 = (16 * arg6) / 100; + gameGraphics.ccc(k2 - j3 / 2, y - l3 / 2 - (10 * arg6) / 100, j3, l3, baseInventoryPic + 13); + } + } + + private final void walkToWallObject(int x, int y, int direction) { + if(direction == 0) { + walkTo(sectionX, sectionY, x, y - 1, x, y, false, true); + return; + } + if(direction == 1) { + walkTo(sectionX, sectionY, x - 1, y, x, y, false, true); + return; + } else { + walkTo(sectionX, sectionY, x, y, x, y, true, true); + return; + } + } + + private final void drawDuelConfirmBox() { + byte byte0 = 22; + byte byte1 = 36; + gameGraphics.drawBox(byte0, byte1, 468, 16, 192); + int l = 0x989898; + gameGraphics.drawBoxAlpha(byte0, byte1 + 16, 468, 246, l, 160); + gameGraphics.drawText("Please confirm your duel with @yel@" + DataOperations.hashToName(duelOpponentHash), byte0 + 234, byte1 + 12, 1, 0xffffff); + gameGraphics.drawText("Your stake:", byte0 + 117, byte1 + 30, 1, 0xffff00); + for(int i1 = 0; i1 < duelOurStakeCount; i1++) { + String s1 = Data.itemName[duelOurStakeItem[i1]]; + if(Data.itemStackable[duelOurStakeItem[i1]] == 0) + s1 = s1 + " x " + formatItemCount(duelOurStakeItemCount[i1]); + gameGraphics.drawText(s1, byte0 + 117, byte1 + 42 + i1 * 12, 1, 0xffffff); + } + + if(duelOurStakeCount == 0) + gameGraphics.drawText("Nothing!", byte0 + 117, byte1 + 42, 1, 0xffffff); + gameGraphics.drawText("Your opponent's stake:", byte0 + 351, byte1 + 30, 1, 0xffff00); + for(int j1 = 0; j1 < duelOpponentStakeCount; j1++) { + String s2 = Data.itemName[duelOpponentStakeItem[j1]]; + if(Data.itemStackable[duelOpponentStakeItem[j1]] == 0) + s2 = s2 + " x " + formatItemCount(duelOutStakeItemCount[j1]); + gameGraphics.drawText(s2, byte0 + 351, byte1 + 42 + j1 * 12, 1, 0xffffff); + } + + if(duelOpponentStakeCount == 0) + gameGraphics.drawText("Nothing!", byte0 + 351, byte1 + 42, 1, 0xffffff); + if(duelRetreat == 0) + gameGraphics.drawText("You can retreat from this duel", byte0 + 234, byte1 + 180, 1, 65280); + else + gameGraphics.drawText("No retreat is possible!", byte0 + 234, byte1 + 180, 1, 0xff0000); + if(duelMagic == 0) + gameGraphics.drawText("Magic may be used", byte0 + 234, byte1 + 192, 1, 65280); + else + gameGraphics.drawText("Magic cannot be used", byte0 + 234, byte1 + 192, 1, 0xff0000); + if(duelPrayer == 0) + gameGraphics.drawText("Prayer may be used", byte0 + 234, byte1 + 204, 1, 65280); + else + gameGraphics.drawText("Prayer cannot be used", byte0 + 234, byte1 + 204, 1, 0xff0000); + if(duelWeapons == 0) + gameGraphics.drawText("Weapons may be used", byte0 + 234, byte1 + 216, 1, 65280); + else + gameGraphics.drawText("Weapons cannot be used", byte0 + 234, byte1 + 216, 1, 0xff0000); + gameGraphics.drawText("If you are sure click 'Accept' to begin the duel", byte0 + 234, byte1 + 230, 1, 0xffffff); + if(!duelConfirmOurAccepted) { + gameGraphics.drawPicture((byte0 + 118) - 35, byte1 + 238, baseInventoryPic + 25); + gameGraphics.drawPicture((byte0 + 352) - 35, byte1 + 238, baseInventoryPic + 26); + } else { + gameGraphics.drawText("Waiting for other player...", byte0 + 234, byte1 + 250, 1, 0xffff00); + } + if(mouseButtonClick == 1) { + if(super.mouseX < byte0 || super.mouseY < byte1 || super.mouseX > byte0 + 468 || super.mouseY > byte1 + 262) { + showDuelConfirmBox = false; + super.streamClass.createPacket(35); + super.streamClass.formatPacket(); + } + if(super.mouseX >= (byte0 + 118) - 35 && super.mouseX <= byte0 + 118 + 70 && super.mouseY >= byte1 + 238 && super.mouseY <= byte1 + 238 + 21) { + duelConfirmOurAccepted = true; + super.streamClass.createPacket(87); + super.streamClass.formatPacket(); + } + if(super.mouseX >= (byte0 + 352) - 35 && super.mouseX <= byte0 + 353 + 70 && super.mouseY >= byte1 + 238 && super.mouseY <= byte1 + 238 + 21) { + showDuelConfirmBox = false; + super.streamClass.createPacket(35); + super.streamClass.formatPacket(); + } + mouseButtonClick = 0; + } + } + + private final void setLoginVars() { + loggedIn = 0; + loginScreen = 0; + loginUsername = ""; + loginPassword = ""; + /*dja = "Please enter a username:"; + djb = "*" + loginUsername + "*";*/ + playerCount = 0; + npcCount = 0; + } + + protected final void close() { + requestLogout(); + cleanUp(); + if(audioPlayer != null) + audioPlayer.stop(); + } + + protected final Socket makeSocket(String address, int port) + throws IOException { + if(link.gameApplet != null) { + Socket socket = link.getSocket(port); + if(socket == null) + throw new IOException(); + else + return socket; + } + Socket socket1 = new Socket(InetAddress.getByName(address), port); + socket1.setSoTimeout(30000); + socket1.setTcpNoDelay(true); + return socket1; + } + + private final void drawInventoryMenu(boolean canRightClick) { + int l = ((GameImage) (gameGraphics)).gameWidth - 248; + gameGraphics.drawPicture(l, 3, baseInventoryPic + 1); + for(int i1 = 0; i1 < maxInventoryItems; i1++) { + int j1 = l + (i1 % 5) * 49; + int l1 = 36 + (i1 / 5) * 34; + if(i1 < inventoryItemsCount && inventoryItemEquipped[i1] == 1) + gameGraphics.drawBoxAlpha(j1, l1, 49, 34, 0xff0000, 128); + else + gameGraphics.drawBoxAlpha(j1, l1, 49, 34, GameImage.rgbToInt(181, 181, 181), 128); + if(i1 < inventoryItemsCount) { + gameGraphics.drawImage(j1, l1, 48, 32, baseItemPicture + Data.itemInventoryPicture[inventoryItems[i1]], Data.itemPictureMask[inventoryItems[i1]], 0, 0, false); + if(Data.itemStackable[inventoryItems[i1]] == 0) + gameGraphics.drawString(String.valueOf(inventoryItemCount[i1]), j1 + 1, l1 + 10, 1, 0xffff00); + } + } + + for(int k1 = 1; k1 <= 4; k1++) + gameGraphics.drawLineY(l + k1 * 49, 36, (maxInventoryItems / 5) * 34, 0); + + for(int i2 = 1; i2 <= maxInventoryItems / 5 - 1; i2++) + gameGraphics.drawLineX(l, 36 + i2 * 34, 245, 0); + + if(!canRightClick) + return; + l = super.mouseX - (((GameImage) (gameGraphics)).gameWidth - 248); + int j2 = super.mouseY - 36; + if(l >= 0 && j2 >= 0 && l < 248 && j2 < (maxInventoryItems / 5) * 34) { + int k2 = l / 49 + (j2 / 34) * 5; + if(k2 < inventoryItemsCount) { + int l2 = inventoryItems[k2]; + if(selectedSpell >= 0) { + if(Data.spellType[selectedSpell] == 3) { + menuText1[menuOptionsCount] = "Cast " + Data.spellName[selectedSpell] + " on"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[l2]; + menuActionID[menuOptionsCount] = 600; + menuActionType[menuOptionsCount] = k2; + menuActionVar1[menuOptionsCount] = selectedSpell; + menuOptionsCount++; + return; + } + } else { + if(selectedItem >= 0) { + menuText1[menuOptionsCount] = "Use " + selectedItemName + " with"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[l2]; + menuActionID[menuOptionsCount] = 610; + menuActionType[menuOptionsCount] = k2; + menuActionVar1[menuOptionsCount] = selectedItem; + menuOptionsCount++; + return; + } + if(inventoryItemEquipped[k2] == 1) { + menuText1[menuOptionsCount] = "Remove"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[l2]; + menuActionID[menuOptionsCount] = 620; + menuActionType[menuOptionsCount] = k2; + menuOptionsCount++; + } else + if(Data.itemIsEquippable[l2] != 0) { + if((Data.itemIsEquippable[l2] & 0x18) != 0) + menuText1[menuOptionsCount] = "Wield"; + else + menuText1[menuOptionsCount] = "Wear"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[l2]; + menuActionID[menuOptionsCount] = 630; + menuActionType[menuOptionsCount] = k2; + menuOptionsCount++; + } + if(!Data.itemCommand[l2].equals("")) { + menuText1[menuOptionsCount] = Data.itemCommand[l2]; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[l2]; + menuActionID[menuOptionsCount] = 640; + menuActionType[menuOptionsCount] = k2; + menuOptionsCount++; + } + menuText1[menuOptionsCount] = "Use"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[l2]; + menuActionID[menuOptionsCount] = 650; + menuActionType[menuOptionsCount] = k2; + menuOptionsCount++; + menuText1[menuOptionsCount] = "Drop"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[l2]; + menuActionID[menuOptionsCount] = 660; + menuActionType[menuOptionsCount] = k2; + menuOptionsCount++; + menuText1[menuOptionsCount] = "Examine"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[l2]; + menuActionID[menuOptionsCount] = 3600; + menuActionType[menuOptionsCount] = l2; + menuOptionsCount++; + } + } + } + } + + private final void createLoginScreenBackgrounds() { + int l = 0; + byte byte0 = 50; + byte byte1 = 50; + engineHandle.loadSection(byte0 * 48 + 23, byte1 * 48 + 23, l); + engineHandle.glg(gameDataObjects); + char c1 = '\u2600'; + char c2 = '\u1900'; + char c3 = '\u044C'; + char c4 = '\u0378'; + gameCamera.zoom1 = 4100; + gameCamera.zoom2 = 4100; + gameCamera.zoom3 = 1; + gameCamera.zoom4 = 4000; + gameCamera.setCamera(c1, -engineHandle.getAveragedElevation(c1, c2), c2, 912, c4, 0, c3 * 2); + gameCamera.finishCamera(); + gameGraphics.screenFadeToBlack(); + gameGraphics.screenFadeToBlack(); + gameGraphics.drawBox(0, 0, 512, 6, 0); + for(int i1 = 6; i1 >= 1; i1--) + gameGraphics.cbg(0, i1, 0, i1, 512, 8); + + gameGraphics.drawBox(0, 194, 512, 20, 0); + for(int j1 = 6; j1 >= 1; j1--) + gameGraphics.cbg(0, j1, 0, 194 - j1, 512, 8); + + if(bgPixels == null) + gameGraphics.drawPicture(15, 15, baseInventoryPic + 10); + else + gameGraphics.drawPixels(bgPixels, 0, 0, bgPixels.length, bgPixels[0].length); + gameGraphics.cca(baseLoginScreenBackgroundPic, 0, 0, 512, 200); + gameGraphics.cbl(baseLoginScreenBackgroundPic); + c1 = '\u2400'; + c2 = '\u2400'; + c3 = '\u044C'; + c4 = '\u0378'; + gameCamera.zoom1 = 4100; + gameCamera.zoom2 = 4100; + gameCamera.zoom3 = 1; + gameCamera.zoom4 = 4000; + gameCamera.setCamera(c1, -engineHandle.getAveragedElevation(c1, c2), c2, 912, c4, 0, c3 * 2); + gameCamera.finishCamera(); + gameGraphics.screenFadeToBlack(); + gameGraphics.screenFadeToBlack(); + gameGraphics.drawBox(0, 0, 512, 6, 0); + for(int k1 = 6; k1 >= 1; k1--) + gameGraphics.cbg(0, k1, 0, k1, 512, 8); + + gameGraphics.drawBox(0, 194, 512, 20, 0); + for(int l1 = 6; l1 >= 1; l1--) + gameGraphics.cbg(0, l1, 0, 194 - l1, 512, 8); + + if(bgPixels == null) + gameGraphics.drawPicture(15, 15, baseInventoryPic + 10); + else + gameGraphics.drawPixels(bgPixels, 0, 0, bgPixels.length, bgPixels[0].length); + gameGraphics.cca(baseLoginScreenBackgroundPic + 1, 0, 0, 512, 200); + gameGraphics.cbl(baseLoginScreenBackgroundPic + 1); + for(int i2 = 0; i2 < 64; i2++) { + gameCamera.removeModel(engineHandle.gih[0][i2]); + gameCamera.removeModel(engineHandle.gim[1][i2]); + gameCamera.removeModel(engineHandle.gih[1][i2]); + gameCamera.removeModel(engineHandle.gim[2][i2]); + gameCamera.removeModel(engineHandle.gih[2][i2]); + } + + c1 = '\u2B80'; + c2 = '\u2880'; + c3 = '\u01F4'; + c4 = '\u0178'; + gameCamera.zoom1 = 4100; + gameCamera.zoom2 = 4100; + gameCamera.zoom3 = 1; + gameCamera.zoom4 = 4000; + gameCamera.setCamera(c1, -engineHandle.getAveragedElevation(c1, c2), c2, 912, c4, 0, c3 * 2); + gameCamera.finishCamera(); + gameGraphics.screenFadeToBlack(); + gameGraphics.screenFadeToBlack(); + gameGraphics.drawBox(0, 0, 512, 6, 0); + for(int j2 = 6; j2 >= 1; j2--) + gameGraphics.cbg(0, j2, 0, j2, 512, 8); + + gameGraphics.drawBox(0, 194, 512, 20, 0); + for(int k2 = 6; k2 >= 1; k2--) + gameGraphics.cbg(0, k2, 0, 194, 512, 8); + + if(bgPixels == null) + gameGraphics.drawPicture(15, 15, baseInventoryPic + 10); + else + gameGraphics.drawPixels(bgPixels, 0, 0, bgPixels.length, bgPixels[0].length); + gameGraphics.cca(baseInventoryPic + 10, 0, 0, 512, 200); + gameGraphics.cbl(baseInventoryPic + 10); + } + + protected final void handlePacket(int packetID, int packetLength, byte packetData[]) { + try { + if(packetID == 145) { + if(!hasWorldInfo) + return; + lastPlayerCount = playerCount; + for(int l = 0; l < lastPlayerCount; l++) + lastPlayerArray[l] = playerArray[l]; + + int off = 8; + sectionX = DataOperations.getBits(packetData, off, 11); + off += 11; + sectionY = DataOperations.getBits(packetData, off, 13); + off += 13; + int sprite = DataOperations.getBits(packetData, off, 4); + off += 4; + boolean sectionLoaded = loadSection(sectionX, sectionY); + sectionX -= areaX; + sectionY -= areaY; + int mapEnterX = sectionX * magicLoc + 64; + int mapEnterY = sectionY * magicLoc + 64; + if(sectionLoaded) { + ourPlayer.waypointCurrent = 0; + ourPlayer.waypointsEndSprite = 0; + ourPlayer.currentX = ourPlayer.waypointsX[0] = mapEnterX; + ourPlayer.currentY = ourPlayer.waypointsY[0] = mapEnterY; + } + playerCount = 0; + ourPlayer = makePlayer(serverIndex, mapEnterX, mapEnterY, sprite); + int newPlayerCount = DataOperations.getBits(packetData, off, 8); + off += 8; + for(int currentNewPlayer = 0; currentNewPlayer < newPlayerCount; currentNewPlayer++) { + //Mob mob = lastPlayerArray[currentNewPlayer + 1]; + Mob mob = getLastPlayer(DataOperations.getBits(packetData, off, 16)); + off += 16; + int playerAtTile = DataOperations.getBits(packetData, off, 1); + off++; + if(playerAtTile != 0) { + int waypointsLeft = DataOperations.getBits(packetData, off, 1); + off++; + if(waypointsLeft == 0) { + int currentNextSprite = DataOperations.getBits(packetData, off, 3); + off += 3; + int currentWaypoint = mob.waypointCurrent; + int newWaypointX = mob.waypointsX[currentWaypoint]; + int newWaypointY = mob.waypointsY[currentWaypoint]; + if(currentNextSprite == 2 || currentNextSprite == 1 || currentNextSprite == 3) + newWaypointX += magicLoc; + if(currentNextSprite == 6 || currentNextSprite == 5 || currentNextSprite == 7) + newWaypointX -= magicLoc; + if(currentNextSprite == 4 || currentNextSprite == 3 || currentNextSprite == 5) + newWaypointY += magicLoc; + if(currentNextSprite == 0 || currentNextSprite == 1 || currentNextSprite == 7) + newWaypointY -= magicLoc; + mob.nextSprite = currentNextSprite; + mob.waypointCurrent = currentWaypoint = (currentWaypoint + 1) % 10; + mob.waypointsX[currentWaypoint] = newWaypointX; + mob.waypointsY[currentWaypoint] = newWaypointY; + } else { + int needsNextSprite = DataOperations.getBits(packetData, off, 4); + off += 4; + if((needsNextSprite & 0xc) == 12) { + continue; + } + mob.nextSprite = needsNextSprite; + } + } + playerArray[playerCount++] = mob; + } + + int mobCount = 0; + while(off + 24 < packetLength * 8) { + int mobIndex = DataOperations.getBits(packetData, off, 16); + off += 16; + int areaMobX = DataOperations.getBits(packetData, off, 5); + off += 5; + if(areaMobX > 15) + areaMobX -= 32; + int areaMobY = DataOperations.getBits(packetData, off, 5); + off += 5; + if(areaMobY > 15) + areaMobY -= 32; + int mobSprite = DataOperations.getBits(packetData, off, 4); + off += 4; + int addIndex = DataOperations.getBits(packetData, off, 1); + off++; + int mobX = (sectionX + areaMobX) * magicLoc + 64; + int mobY = (sectionY + areaMobY) * magicLoc + 64; + makePlayer(mobIndex, mobX, mobY, mobSprite); + if(addIndex == 0) + playerBufferArrayIndexes[mobCount++] = mobIndex; + } + if(mobCount > 0) { + super.streamClass.createPacket(83); + super.streamClass.addShort(mobCount); + for(int k40 = 0; k40 < mobCount; k40++) { + Mob f5 = playerBufferArray[playerBufferArrayIndexes[k40]]; + super.streamClass.addShort(f5.serverIndex); + super.streamClass.addShort(f5.serverID); + } + + super.streamClass.formatPacket(); + mobCount = 0; + } + return; + } + if(packetID == 109) { + if(needsClear) { + for(int i = 0; i < groundItemID.length; i++) { + groundItemX[i] = -1; + groundItemY[i] = -1; + groundItemID[i] = -1; + groundItemObjectVar[i] = -1; + } + groundItemCount = 0; + needsClear = false; + } + for(int off = 1; off < packetLength;) + if(DataOperations.getByte(packetData[off]) == 255) { + int newCount = 0; + int newSectionX = sectionX + packetData[off + 1] >> 3; + int newSectionY = sectionY + packetData[off + 2] >> 3; + off += 3; + for(int groundItem = 0; groundItem < groundItemCount; groundItem++) { + int newX = (groundItemX[groundItem] >> 3) - newSectionX; + int newY = (groundItemY[groundItem] >> 3) - newSectionY; + if(newX != 0 || newY != 0) { + if(groundItem != newCount) { + groundItemX[newCount] = groundItemX[groundItem]; + groundItemY[newCount] = groundItemY[groundItem]; + groundItemID[newCount] = groundItemID[groundItem]; + groundItemObjectVar[newCount] = groundItemObjectVar[groundItem]; + } + newCount++; + } + } + + groundItemCount = newCount; + } else { + int newID = DataOperations.getShort(packetData, off); + off += 2; + int newX = sectionX + packetData[off++]; + int newY = sectionY + packetData[off++]; + if((newID & 0x8000) == 0) { + groundItemX[groundItemCount] = newX; + groundItemY[groundItemCount] = newY; + groundItemID[groundItemCount] = newID; + groundItemObjectVar[groundItemCount] = 0; + for(int l23 = 0; l23 < objectCount; l23++) { + if(objectX[l23] != newX || objectY[l23] != newY) + continue; + groundItemObjectVar[groundItemCount] = Data.objectGroundItemVar[objectType[l23]]; + break; + } + + groundItemCount++; + } else { + newID &= 0x7fff; + int i24 = 0; + for(int l26 = 0; l26 < groundItemCount; l26++) + if(groundItemX[l26] != newX || groundItemY[l26] != newY || groundItemID[l26] != newID) { + if(l26 != i24) { + groundItemX[i24] = groundItemX[l26]; + groundItemY[i24] = groundItemY[l26]; + groundItemID[i24] = groundItemID[l26]; + groundItemObjectVar[i24] = groundItemObjectVar[l26]; + } + i24++; + } else { + newID = -123; + } + + groundItemCount = i24; + } + } + + return; + } + if(packetID == 27) { + for(int off = 1; off < packetLength;) + if(DataOperations.getByte(packetData[off]) == 255) { + int newCount = 0; + int newSectionX = sectionX + packetData[off + 1] >> 3; + int newSectionY = sectionY + packetData[off + 2] >> 3; + off += 3; + for(int object = 0; object < objectCount; object++) { + int newX = (objectX[object] >> 3) - newSectionX; + int newY = (objectY[object] >> 3) - newSectionY; + if(newX != 0 || newY != 0) { + if(object != newCount) { + objectArray[newCount] = objectArray[object]; + objectArray[newCount].index = newCount; + objectX[newCount] = objectX[object]; + objectY[newCount] = objectY[object]; + objectType[newCount] = objectType[object]; + objectRotation[newCount] = objectRotation[object]; + } + newCount++; + } else { + gameCamera.removeModel(objectArray[object]); + engineHandle.removeObject(objectX[object], objectY[object], objectType[object], objectRotation[object]); + } + } + + objectCount = newCount; + } else { + int index = DataOperations.getShort(packetData, off); + off += 2; + int newSectionX = sectionX + packetData[off++]; + int newSectionY = sectionY + packetData[off++]; + int rotation = packetData[off++]; + int newCount = 0; + for(int object = 0; object < objectCount; object++) + if(objectX[object] != newSectionX || objectY[object] != newSectionY || objectRotation[object] != rotation) { + if(object != newCount) { + objectArray[newCount] = objectArray[object]; + objectArray[newCount].index = newCount; + objectX[newCount] = objectX[object]; + objectY[newCount] = objectY[object]; + objectType[newCount] = objectType[object]; + objectRotation[newCount] = objectRotation[object]; + } + newCount++; + } else { + gameCamera.removeModel(objectArray[object]); + engineHandle.removeObject(objectX[object], objectY[object], objectType[object], objectRotation[object]); + } + + objectCount = newCount; + if(index != 60000) { + engineHandle.registerObjectDir(newSectionX, newSectionY, rotation); + int width; + int height; + if(rotation == 0 || rotation == 4) { + width = Data.objectWidth[index]; + height = Data.objectHeight[index]; + } else { + height = Data.objectWidth[index]; + width = Data.objectHeight[index]; + } + int l40 = ((newSectionX + newSectionX + width) * magicLoc) / 2; + int k42 = ((newSectionY + newSectionY + height) * magicLoc) / 2; + int model = Data.objectModelNumber[index]; + GameObject gameObject = gameDataObjects[model].cnj(); + gameCamera.addModel(gameObject); + gameObject.index = objectCount; + gameObject.cmi(0, rotation * 32, 0); + gameObject.cmk(l40, -engineHandle.getAveragedElevation(l40, k42), k42); + gameObject.cme(true, 48, 48, -50, -10, -50); + engineHandle.gla(newSectionX, newSectionY, index, rotation); + if(index == 74) + gameObject.cmk(0, -480, 0); + objectX[objectCount] = newSectionX; + objectY[objectCount] = newSectionY; + objectType[objectCount] = index; + objectRotation[objectCount] = rotation; + objectArray[objectCount++] = gameObject; + } + } + + return; + } + if(packetID == 114) { + int off = 1; + inventoryItemsCount = packetData[off++] & 0xff; + for(int item = 0; item < inventoryItemsCount; item++) { + int data = DataOperations.getShort(packetData, off); + off += 2; + inventoryItems[item] = data & 0x7fff; + inventoryItemEquipped[item] = data / 32768; + if(Data.itemStackable[data & 0x7fff] == 0) { + inventoryItemCount[item] = DataOperations.getInt(packetData, off); + off += 4; + } else { + inventoryItemCount[item] = 1; + } + } + + return; + } + if(packetID == 53) { + int newMobCount = DataOperations.getShort(packetData, 1); + int off = 3; + for(int current = 0; current < newMobCount; current++) { + int index = DataOperations.getShort(packetData, off); + off += 2; + if(index < 0 || index > playerBufferArray.length) + return; + Mob mob = playerBufferArray[index]; + if(mob == null) + return; + byte mobUpdateType = packetData[off]; + off++; + if(mobUpdateType == 0) { + int j30 = DataOperations.getShort(packetData, off); + off += 2; + if(mob != null) { + mob.playerSkullTimeout = 150; + mob.itemAboveHeadID = j30; + } + } else + if(mobUpdateType == 1) { + byte byte7 = packetData[off]; + off++; + String s3 = ChatMessage.bytesToString(packetData, off, byte7); + if(useChatFilter) + s3 = ChatFilter.filterChat(s3); + boolean ignore = false; + for(int i41 = 0; i41 < super.ignoresCount; i41++) + if(super.ignoresList[i41] == mob.nameHash) + ignore = true; + + if(!ignore) { + mob.lastMessageTimeout = 150; + mob.lastMessage = s3; + displayMessage(mob.username + ": " + mob.lastMessage, 2); + } + off += byte7; + } else + if(mobUpdateType == 2) { + int lastDamageCount = DataOperations.getByte(packetData[off]); + off++; + int currentHits = DataOperations.getByte(packetData[off]); + off++; + int baseHits = DataOperations.getByte(packetData[off]); + off++; + mob.lastDamageCount = lastDamageCount; + mob.currentHits = currentHits; + mob.baseHits = baseHits; + mob.combatTimer = 200; + if(mob == ourPlayer) { + playerStatCurrent[3] = currentHits; + playerStatBase[3] = baseHits; + showWelcomeBox = false; + showServerMessageBox = false; + } + } else + if(mobUpdateType == 3) { + int l30 = DataOperations.getShort(packetData, off); + off += 2; + int l34 = DataOperations.getShort(packetData, off); + off += 2; + mob.projectileType = l30; + mob.attackingNpcIndex = l34; + mob.attackingPlayerIndex = -1; + mob.projectileDistance = projectileRange; + } else + if(mobUpdateType == 4) { + int i31 = DataOperations.getShort(packetData, off); + off += 2; + int i35 = DataOperations.getShort(packetData, off); + off += 2; + mob.projectileType = i31; + mob.attackingPlayerIndex = i35; + mob.attackingNpcIndex = -1; + mob.projectileDistance = projectileRange; + } else + if(mobUpdateType == 5) { + mob.serverID = DataOperations.getShort(packetData, off); + off += 2; + mob.nameHash = DataOperations.getLong(packetData, off); + off += 8; + mob.username = DataOperations.hashToName(mob.nameHash); + int appearanceCount = DataOperations.getByte(packetData[off]); + off++; + for(int j35 = 0; j35 < appearanceCount; j35++) { + mob.appearanceItems[j35] = DataOperations.getByte(packetData[off]); + off++; + } + + for(int j38 = appearanceCount; j38 < 12; j38++) + mob.appearanceItems[j38] = 0; + + mob.hairColour = packetData[off++] & 0xff; + mob.topColour = packetData[off++] & 0xff; + mob.bottomColour = packetData[off++] & 0xff; + mob.skinColour = packetData[off++] & 0xff; + mob.level = packetData[off++] & 0xff; + mob.playerSkulled = packetData[off++] & 0xff; + off++;// TODO to skip the admin flag (should it be removed) + } else + if(mobUpdateType == 6) { + byte byte8 = packetData[off]; + off++; + String s4 = ChatMessage.bytesToString(packetData, off, byte8); + mob.lastMessageTimeout = 150; + mob.lastMessage = s4; + if(mob == ourPlayer) + displayMessage(mob.username + ": " + mob.lastMessage, 5); + off += byte8; + } + } + + return; + } + if(packetID == 95) { + for(int off = 1; off < packetLength;) + if(DataOperations.getByte(packetData[off]) == 255) { + int newCount = 0; + int newSectionX = sectionX + packetData[off + 1] >> 3; + int newSectionY = sectionY + packetData[off + 2] >> 3; + off += 3; + for(int current = 0; current < wallObjectCount; current++) { + int newX = (wallObjectX[current] >> 3) - newSectionX; + int newY = (wallObjectY[current] >> 3) - newSectionY; + if(newX != 0 || newY != 0) { + if(current != newCount) { + wallObjectArray[newCount] = wallObjectArray[current]; + wallObjectArray[newCount].index = newCount + 10000; + wallObjectX[newCount] = wallObjectX[current]; + wallObjectY[newCount] = wallObjectY[current]; + wallObjectDirection[newCount] = wallObjectDirection[current]; + wallObjectID[newCount] = wallObjectID[current]; + } + newCount++; + } else { + gameCamera.removeModel(wallObjectArray[current]); + engineHandle.removeWallObject(wallObjectX[current], wallObjectY[current], wallObjectDirection[current], wallObjectID[current]); + } + } + + wallObjectCount = newCount; + } else { + int newID = DataOperations.getShort(packetData, off); + off += 2; + int newSectionX = sectionX + packetData[off++]; + int newSectionY = sectionY + packetData[off++]; + byte direction = packetData[off++]; + int newCount = 0; + for(int current = 0; current < wallObjectCount; current++) + if(wallObjectX[current] != newSectionX || wallObjectY[current] != newSectionY || wallObjectDirection[current] != direction) { + if(current != newCount) { + wallObjectArray[newCount] = wallObjectArray[current]; + wallObjectArray[newCount].index = newCount + 10000; + wallObjectX[newCount] = wallObjectX[current]; + wallObjectY[newCount] = wallObjectY[current]; + wallObjectDirection[newCount] = wallObjectDirection[current]; + wallObjectID[newCount] = wallObjectID[current]; + } + newCount++; + } else { + gameCamera.removeModel(wallObjectArray[current]); + engineHandle.removeWallObject(wallObjectX[current], wallObjectY[current], wallObjectDirection[current], wallObjectID[current]); + } + + wallObjectCount = newCount; + if(newID != 60000) { + engineHandle.gkc(newSectionX, newSectionY, direction, newID); + GameObject k35 = makeWallObject(newSectionX, newSectionY, direction, newID, wallObjectCount); + wallObjectArray[wallObjectCount] = k35; + wallObjectX[wallObjectCount] = newSectionX; + wallObjectY[wallObjectCount] = newSectionY; + wallObjectID[wallObjectCount] = newID; + wallObjectDirection[wallObjectCount++] = direction; + } + } + + return; + } + if(packetID == 77) { + lastNpcCount = npcCount; + npcCount = 0; + for(int j2 = 0; j2 < lastNpcCount; j2++) + lastNpcArray[j2] = npcArray[j2]; + + int off = 8; + int newCount = DataOperations.getBits(packetData, off, 8); + off += 8; + for(int current = 0; current < newCount; current++) { + Mob newNpc = getLastNpc(DataOperations.getBits(packetData, off, 16)); + off += 16; + int needsUpdate = DataOperations.getBits(packetData, off, 1); + off++; + if(needsUpdate != 0) { + int j32 = DataOperations.getBits(packetData, off, 1); + off++; + if(j32 == 0) { + int nextSprite = DataOperations.getBits(packetData, off, 3); + off += 3; + int waypointCurrent = newNpc.waypointCurrent; + int waypointX = newNpc.waypointsX[waypointCurrent]; + int waypointY = newNpc.waypointsY[waypointCurrent]; + if(nextSprite == 2 || nextSprite == 1 || nextSprite == 3) + waypointX += magicLoc; + if(nextSprite == 6 || nextSprite == 5 || nextSprite == 7) + waypointX -= magicLoc; + if(nextSprite == 4 || nextSprite == 3 || nextSprite == 5) + waypointY += magicLoc; + if(nextSprite == 0 || nextSprite == 1 || nextSprite == 7) + waypointY -= magicLoc; + newNpc.nextSprite = nextSprite; + newNpc.waypointCurrent = waypointCurrent = (waypointCurrent + 1) % 10; + newNpc.waypointsX[waypointCurrent] = waypointX; + newNpc.waypointsY[waypointCurrent] = waypointY; + } else { + int nextSprite = DataOperations.getBits(packetData, off, 4); + off += 4; + if((nextSprite & 0xc) == 12) { + continue; + } + newNpc.nextSprite = nextSprite; + } + } + npcArray[npcCount++] = newNpc; + } + + while(off + 34 < packetLength * 8) { + int mobIndex = DataOperations.getBits(packetData, off, 16); + off += 16; + int areaMobX = DataOperations.getBits(packetData, off, 5); + off += 5; + if(areaMobX > 15) + areaMobX -= 32; + int areaMobY = DataOperations.getBits(packetData, off, 5); + off += 5; + if(areaMobY > 15) + areaMobY -= 32; + int mobSprite = DataOperations.getBits(packetData, off, 4); + off += 4; + int mobX = (sectionX + areaMobX) * magicLoc + 64; + int mobY = (sectionY + areaMobY) * magicLoc + 64; + int addIndex = DataOperations.getBits(packetData, off, 10); + off += 10; + if(addIndex >= Data.npcCount) + addIndex = 24; + makeNPC(mobIndex, mobX, mobY, mobSprite, addIndex); + } + return; + } + if(packetID == 190) { + int newCount = DataOperations.getShort(packetData, 1); + int off = 3; + for(int l16 = 0; l16 < newCount; l16++) { + int npcIndex = DataOperations.getShort(packetData, off); + off += 2; + Mob mob = npcAttackingArray[npcIndex]; + int updateType = DataOperations.getByte(packetData[off]); + off++; + if(updateType == 1) { + int playerIndex = DataOperations.getShort(packetData, off); + off += 2; + byte messageLength = packetData[off]; + off++; + if(mob != null) { + String s5 = ChatMessage.bytesToString(packetData, off, messageLength); + mob.lastMessageTimeout = 150; + mob.lastMessage = s5; + if(playerIndex == ourPlayer.serverIndex) + displayMessage("@yel@" + Data.npcName[mob.npcId] + ": " + mob.lastMessage, 5); + } + off += messageLength; + } else + if(updateType == 2) { + int lastDamageCount = DataOperations.getByte(packetData[off]); + off++; + int currentHits = DataOperations.getByte(packetData[off]); + off++; + int baseHits = DataOperations.getByte(packetData[off]); + off++; + if(mob != null) { + mob.lastDamageCount = lastDamageCount; + mob.currentHits = currentHits; + mob.baseHits = baseHits; + mob.combatTimer = 200; + } + } + } + + return; + } + if(packetID == 223) { + showQuestionMenu = true; + int count = DataOperations.getByte(packetData[1]); + questionMenuCount = count; + int off = 2; + for(int index = 0; index < count; index++) { + int optionLength = DataOperations.getByte(packetData[off]); + off++; + questionMenuAnswer[index] = new String(packetData, off, optionLength); + off += optionLength; + } + + return; + } + if(packetID == 127) { + showQuestionMenu = false; + return; + } + if(packetID == 131) { + loadArea = true; + serverIndex = DataOperations.getShort(packetData, 1); + wildX = DataOperations.getShort(packetData, 3); + wildY = DataOperations.getShort(packetData, 5); + layerIndex = DataOperations.getShort(packetData, 7); + layerModifier = DataOperations.getShort(packetData, 9); + wildY -= layerIndex * layerModifier; + needsClear = true; + hasWorldInfo = true; + return; + } + if(packetID == 180) { + int off = 1; + for(int stat = 0; stat < 18; stat++) + playerStatCurrent[stat] = DataOperations.getByte(packetData[off++]); + + for(int stat = 0; stat < 18; stat++) + playerStatBase[stat] = DataOperations.getByte(packetData[off++]); + + for(int stat = 0; stat < 18; stat++) { + playerStatExp[stat] = DataOperations.getInt(packetData, off); + off += 4; + } + return; + } + if(packetID == 177) { + int off = 1; + for(int j3 = 0; j3 < 5; j3++) { + equipmentStatus[j3] = DataOperations.getShort2(packetData, off); + off += 2; + } + return; + } + if(packetID == 165) { + playerAliveTimeout = 250; + return; + } + if(packetID == 115) { + int k3 = (packetLength - 1) / 4; + for(int i11 = 0; i11 < k3; i11++) { + int k17 = sectionX + DataOperations.getShort2(packetData, 1 + i11 * 4) >> 3; + int i22 = sectionY + DataOperations.getShort2(packetData, 3 + i11 * 4) >> 3; + int j25 = 0; + for(int l28 = 0; l28 < groundItemCount; l28++) { + int j33 = (groundItemX[l28] >> 3) - k17; + int l36 = (groundItemY[l28] >> 3) - i22; + if(j33 != 0 || l36 != 0) { + if(l28 != j25) { + groundItemX[j25] = groundItemX[l28]; + groundItemY[j25] = groundItemY[l28]; + groundItemID[j25] = groundItemID[l28]; + groundItemObjectVar[j25] = groundItemObjectVar[l28]; + } + j25++; + } + } + + groundItemCount = j25; + j25 = 0; + for(int k33 = 0; k33 < objectCount; k33++) { + int i37 = (objectX[k33] >> 3) - k17; + int j39 = (objectY[k33] >> 3) - i22; + if(i37 != 0 || j39 != 0) { + if(k33 != j25) { + objectArray[j25] = objectArray[k33]; + objectArray[j25].index = j25; + objectX[j25] = objectX[k33]; + objectY[j25] = objectY[k33]; + objectType[j25] = objectType[k33]; + objectRotation[j25] = objectRotation[k33]; + } + j25++; + } else { + gameCamera.removeModel(objectArray[k33]); + engineHandle.removeObject(objectX[k33], objectY[k33], objectType[k33], objectRotation[k33]); + } + } + + objectCount = j25; + j25 = 0; + for(int j37 = 0; j37 < wallObjectCount; j37++) { + int k39 = (wallObjectX[j37] >> 3) - k17; + int l41 = (wallObjectY[j37] >> 3) - i22; + if(k39 != 0 || l41 != 0) { + if(j37 != j25) { + wallObjectArray[j25] = wallObjectArray[j37]; + wallObjectArray[j25].index = j25 + 10000; + wallObjectX[j25] = wallObjectX[j37]; + wallObjectY[j25] = wallObjectY[j37]; + wallObjectDirection[j25] = wallObjectDirection[j37]; + wallObjectID[j25] = wallObjectID[j37]; + } + j25++; + } else { + gameCamera.removeModel(wallObjectArray[j37]); + engineHandle.removeWallObject(wallObjectX[j37], wallObjectY[j37], wallObjectDirection[j37], wallObjectID[j37]); + } + } + + wallObjectCount = j25; + } + + return; + } + if(packetID == 207) { + showAppearanceWindow = true; + return; + } + if(packetID == 4) { + int tradeOther = DataOperations.getShort(packetData, 1); + if(playerBufferArray[tradeOther] != null) + tradeOtherName = playerBufferArray[tradeOther].username; + showTradeBox = true; + tradeOtherAccepted = false; + tradeWeAccepted = false; + tradeItemsOurCount = 0; + tradeItemsOtherCount = 0; + return; + } + if(packetID == 187) { + showTradeBox = false; + showTradeConfirmBox = false; + return; + } + if(packetID == 250) { + tradeItemsOtherCount = packetData[1] & 0xff; + int i4 = 2; + for(int j11 = 0; j11 < tradeItemsOtherCount; j11++) { + tradeItemsOther[j11] = DataOperations.getShort(packetData, i4); + i4 += 2; + tradeItemOtherCount[j11] = DataOperations.getInt(packetData, i4); + i4 += 4; + } + + tradeOtherAccepted = false; + tradeWeAccepted = false; + return; + } + if(packetID == 92) { + byte byte0 = packetData[1]; + if(byte0 == 1) { + tradeOtherAccepted = true; + return; + } else { + tradeOtherAccepted = false; + return; + } + } + if(packetID == 253) { + showShopBox = true; + int off = 1; + int newShopItemCount = packetData[off++] & 0xff; + byte isGeneralShop = packetData[off++]; + shopItemSellPriceModifier = packetData[off++] & 0xff; + shopItemBuyPriceModifier = packetData[off++] & 0xff; + for(int j22 = 0; j22 < 40; j22++) + shopItems[j22] = -1; + + for(int item = 0; item < newShopItemCount; item++) { + shopItems[item] = DataOperations.getShort(packetData, off); + off += 2; + shopItemCount[item] = DataOperations.getShort(packetData, off); + off += 2; + shopItemBuyPrice[item] = DataOperations.getInt2(packetData, off); + off += 4; + shopItemSellPrice[item] = DataOperations.getInt2(packetData, off); + off += 4; + } + + if(isGeneralShop == 1) { + int i29 = 39; + for(int l33 = 0; l33 < inventoryItemsCount; l33++) { + if(i29 < newShopItemCount) + break; + boolean flag2 = false; + for(int l39 = 0; l39 < 40; l39++) { + if(shopItems[l39] != inventoryItems[l33]) + continue; + flag2 = true; + break; + } + + if(inventoryItems[l33] == 10) + flag2 = true; + if(!flag2) { + shopItems[i29] = inventoryItems[l33] & 0x7fff; + shopItemCount[i29] = 0; + shopItemSellPrice[i29] = Data.itemBasePrice[shopItems[i29]] - (int)(Data.itemBasePrice[shopItems[i29]] / 2.5); + shopItemSellPrice[i29] -= shopItemSellPrice[i29] * 0.10; + i29--; + } + } + + } + if(selectedShopItemIndex >= 0 && selectedShopItemIndex < 40 && shopItems[selectedShopItemIndex] != selectedShopItemType) { + selectedShopItemIndex = -1; + selectedShopItemType = -2; + } + return; + } + if(packetID == 220) { + showShopBox = false; + return; + } + if(packetID == 18) { + byte byte1 = packetData[1]; + if(byte1 == 1) { + tradeWeAccepted = true; + return; + } else { + tradeWeAccepted = false; + return; + } + } + if(packetID == 152) { + configCameraAutoAngle = DataOperations.getByte(packetData[1]) == 1; + configOneMouseButton = DataOperations.getByte(packetData[2]) == 1; + configSoundOff = DataOperations.getByte(packetData[3]) == 1; + showRoofs = DataOperations.getByte(packetData[4]) == 1; + autoScreenshot = DataOperations.getByte(packetData[5]) == 1; + showCombatWindow = DataOperations.getByte(packetData[6]) == 1; + return; + } + if(packetID == 209) { + for(int k4 = 0; k4 < packetLength - 1; k4++) { + boolean flag = packetData[k4 + 1] == 1; + if(!prayerOn[k4] && flag) + playSound("prayeron"); + if(prayerOn[k4] && !flag) + playSound("prayeroff"); + prayerOn[k4] = flag; + } + + return; + } + if(packetID == 93) { + showBankBox = true; + int off = 1; + serverBankItemsCount = packetData[off++] & 0xff; + maxBankItems = packetData[off++] & 0xff; + for(int l11 = 0; l11 < serverBankItemsCount; l11++) { + serverBankItems[l11] = DataOperations.getShort(packetData, off); + off += 2; + serverBankItemCount[l11] = DataOperations.getInt2(packetData, off); + off += 4; + } + + updateBankItems(); + return; + } + if(packetID == 171) { + showBankBox = false; + return; + } + if(packetID == 211) { + int j5 = packetData[1] & 0xff; + playerStatExp[j5] = DataOperations.getInt(packetData, 2); + return; + } + if(packetID == 229) { + int k5 = DataOperations.getShort(packetData, 1); + if(playerBufferArray[k5] != null) + duelOpponent = playerBufferArray[k5].username; + showDuelBox = true; + duelMyItemCount = 0; + duelOpponentItemCount = 0; + duelOpponentAccepted = false; + duelMyAccepted = false; + duelNoRetreating = false; + duelNoMagic = false; + duelNoPrayer = false; + duelNoWeapons = false; + return; + } + if(packetID == 160) { + showDuelBox = false; + showDuelConfirmBox = false; + return; + } + if(packetID == 251) { + showTradeConfirmBox = true; + tradeConfirmAccepted = false; + showTradeBox = false; + int off = 1; + tradeConfirmOtherNameLong = DataOperations.getLong(packetData, off); + off += 8; + tradeConfirmOtherItemCount = packetData[off++] & 0xff; + for(int i12 = 0; i12 < tradeConfirmOtherItemCount; i12++) { + tradeConfirmOtherItems[i12] = DataOperations.getShort(packetData, off); + off += 2; + tradeConfirmOtherItemsCount[i12] = DataOperations.getInt(packetData, off); + off += 4; + } + + tradeConfigItemCount = packetData[off++] & 0xff; + for(int l17 = 0; l17 < tradeConfigItemCount; l17++) { + tradeConfirmItems[l17] = DataOperations.getShort(packetData, off); + off += 2; + tradeConfigItemsCount[l17] = DataOperations.getInt(packetData, off); + off += 4; + } + + return; + } + if(packetID == 63) { + duelOpponentItemCount = packetData[1] & 0xff; + int off = 2; + for(int j12 = 0; j12 < duelOpponentItemCount; j12++) { + duelOpponentItems[j12] = DataOperations.getShort(packetData, off); + off += 2; + duelOpponentItemsCount[j12] = DataOperations.getInt(packetData, off); + off += 4; + } + + duelOpponentAccepted = false; + duelMyAccepted = false; + return; + } + if(packetID == 198) { + if(packetData[1] == 1) + duelNoRetreating = true; + else + duelNoRetreating = false; + if(packetData[2] == 1) + duelNoMagic = true; + else + duelNoMagic = false; + if(packetData[3] == 1) + duelNoPrayer = true; + else + duelNoPrayer = false; + if(packetData[4] == 1) + duelNoWeapons = true; + else + duelNoWeapons = false; + duelOpponentAccepted = false; + duelMyAccepted = false; + return; + } + if(packetID == 139) { + int off = 1; + int itemSlot = packetData[off++] & 0xff; + int itemID = DataOperations.getShort(packetData, off); + off += 2; + int itemCount = DataOperations.getInt2(packetData, off); + off += 4; + if(itemCount == 0) { + serverBankItemsCount--; + for(int l25 = itemSlot; l25 < serverBankItemsCount; l25++) { + serverBankItems[l25] = serverBankItems[l25 + 1]; + serverBankItemCount[l25] = serverBankItemCount[l25 + 1]; + } + + } else { + serverBankItems[itemSlot] = itemID; + serverBankItemCount[itemSlot] = itemCount; + if(itemSlot >= serverBankItemsCount) + serverBankItemsCount = itemSlot + 1; + } + updateBankItems(); + return; + } + if(packetID == 228) { + int off = 1; + int count = 1; + int newCount = packetData[off++] & 0xff; + int data = DataOperations.getShort(packetData, off); + off += 2; + if(Data.itemStackable[data & 0x7fff] == 0) { + count = DataOperations.getInt(packetData, off); + off += 4; + } + inventoryItems[newCount] = data & 0x7fff; + inventoryItemEquipped[newCount] = data / 32768; + inventoryItemCount[newCount] = count; + if(newCount >= inventoryItemsCount) + inventoryItemsCount = newCount + 1; + return; + } + if(packetID == 191) { + int l6 = packetData[1] & 0xff; + inventoryItemsCount--; + for(int i13 = l6; i13 < inventoryItemsCount; i13++) { + inventoryItems[i13] = inventoryItems[i13 + 1]; + inventoryItemCount[i13] = inventoryItemCount[i13 + 1]; + inventoryItemEquipped[i13] = inventoryItemEquipped[i13 + 1]; + } + + return; + } + if(packetID == 208) { + int off = 1; + int stat = packetData[off++] & 0xff; + playerStatCurrent[stat] = DataOperations.getByte(packetData[off++]); + playerStatBase[stat] = DataOperations.getByte(packetData[off++]); + playerStatExp[stat] = DataOperations.getInt(packetData, off); + off += 4; + return; + } + if(packetID == 65) { + byte byte2 = packetData[1]; + if(byte2 == 1) { + duelOpponentAccepted = true; + return; + } else { + duelOpponentAccepted = false; + return; + } + } + if(packetID == 197) { + byte byte3 = packetData[1]; + if(byte3 == 1) { + duelMyAccepted = true; + return; + } else { + duelMyAccepted = false; + return; + } + } + if(packetID == 147) { + showDuelConfirmBox = true; + duelConfirmOurAccepted = false; + showDuelBox = false; + int off = 1; + duelOpponentHash = DataOperations.getLong(packetData, off); + off += 8; + duelOpponentStakeCount = packetData[off++] & 0xff; + for(int k13 = 0; k13 < duelOpponentStakeCount; k13++) { + duelOpponentStakeItem[k13] = DataOperations.getShort(packetData, off); + off += 2; + duelOutStakeItemCount[k13] = DataOperations.getInt(packetData, off); + off += 4; + } + + duelOurStakeCount = packetData[off++] & 0xff; + for(int k18 = 0; k18 < duelOurStakeCount; k18++) { + duelOurStakeItem[k18] = DataOperations.getShort(packetData, off); + off += 2; + duelOurStakeItemCount[k18] = DataOperations.getInt(packetData, off); + off += 4; + } + + duelRetreat = packetData[off++] & 0xff; + duelMagic = packetData[off++] & 0xff; + duelPrayer = packetData[off++] & 0xff; + duelWeapons = packetData[off++] & 0xff; + return; + } + if(packetID == 11) { + String s1 = new String(packetData, 1, packetLength - 1); + playSound(s1); + return; + } + if(packetID == 23) { + if(teleBubbleCount < 50) { + int type = packetData[1] & 0xff; + int x = packetData[2] + sectionX; + int y = packetData[3] + sectionY; + teleBubbleType[teleBubbleCount] = type; + teleBubbleTime[teleBubbleCount] = 0; + teleBubbleX[teleBubbleCount] = x; + teleBubbleY[teleBubbleCount] = y; + teleBubbleCount++; + } + return; + } + if(packetID == 248) { + if(!loginScreenShown) { + lastLoginDays = DataOperations.getShort(packetData, 1); + subDaysLeft = DataOperations.getShort(packetData, 3); + lastLoginAddress = new String(packetData, 5, packetLength - 5); + showWelcomeBox = true; + loginScreenShown = true; + } + return; + } + if(packetID == 148) { + serverMessage = new String(packetData, 1, packetLength - 1); + showServerMessageBox = true; + serverMessageBoxTop = false; + return; + } + if(packetID == 64) { + serverMessage = new String(packetData, 1, packetLength - 1); + showServerMessageBox = true; + serverMessageBoxTop = true; + return; + } + if(packetID == 126) { + fatigue = DataOperations.getShort(packetData, 1); + return; + } + if(packetID == 206) { + isSleeping = true; + super.inputText = ""; + super.enteredInputText = ""; + try { + BufferedImage image = ImageIO.read(new ByteArrayInputStream(packetData, 1, packetLength)); + captchaWidth = image.getWidth(); + captchaHeight = image.getHeight(); + captchaPixels = new int[captchaWidth][captchaHeight]; + for(int x = 0; x < captchaWidth; x++) + for(int y = 0; y < captchaHeight; y++) + captchaPixels[x][y] = image.getRGB(x, y); + } catch(Exception e) { + e.printStackTrace(); + } + sleepingStatusText = null; + return; + } + if(packetID == 224) { + isSleeping = false; + return; + } + if(packetID == 225) { + sleepingStatusText = "Incorrect - Please wait..."; + return; + } + if(packetID == 172) { + systemUpdate = DataOperations.getShort(packetData, 1) * 32; + return; + } + if(packetID == 181) { + if(autoScreenshot) + takeScreenshot(false); + return; + } + if(packetID == 182) { + int off = 1; + questPoints = DataOperations.getShort(packetData, off); + off += 2; + for(int l4 = 0; l4 < questName.length; l4++) + questStage[l4] = packetData[l4 + 1]; + + return; + } + if(packetID == 233) { + questPoints = DataOperations.getByte(packetData[1]); + int count = DataOperations.getByte(packetData[2]); + int off = 3; + String newQuestNames[] = new String[count]; + int newQuestStage[] = new int[count]; + for(int i = 0; i < count; i++) { + newQuestNames[i] = questName[DataOperations.getByte(packetData[off++])]; + newQuestStage[i] = DataOperations.getByte(packetData[off++]); + } + usedQuestName = newQuestNames; + questStage = newQuestStage; + return; + } + if(packetID == 129) { + combatStyle = DataOperations.getByte(packetData[1]); + return; + } + if(packetID == 110) {// TODO remove? + //System.out.println("RECEIVED PACKET 110 (SERVER INFO)"); + return; + } + System.err.println("UNHANDLED PACKET:" + packetID + " LEN:" + packetLength); + } + catch(Exception ex) { + ex.printStackTrace(); + } + } + + protected final void startThread(Runnable runnable) { + if(link.gameApplet != null) { + link.thread(runnable); + return; + } else { + Thread thread = new Thread(runnable); + thread.setDaemon(true); + thread.start(); + return; + } + } + + protected final void initVars() { + systemUpdate = 0; + combatStyle = 0; + logoutTimer = 0; + loginScreen = 0; + loggedIn = 1; + resetPrivateMessages(); + gameGraphics.clearScreen(); + gameGraphics.drawImage(graphics, 0, 0); + for(int l = 0; l < objectCount; l++) { + gameCamera.removeModel(objectArray[l]); + engineHandle.removeObject(objectX[l], objectY[l], objectType[l], objectRotation[l]); + } + + for(int i1 = 0; i1 < wallObjectCount; i1++) { + gameCamera.removeModel(wallObjectArray[i1]); + engineHandle.removeWallObject(wallObjectX[i1], wallObjectY[i1], wallObjectDirection[i1], wallObjectID[i1]); + } + + objectCount = 0; + wallObjectCount = 0; + groundItemCount = 0; + playerCount = 0; + for(int j1 = 0; j1 < 4000; j1++) + playerBufferArray[j1] = null; + + for(int k1 = 0; k1 < 500; k1++) + playerArray[k1] = null; + + npcCount = 0; + for(int l1 = 0; l1 < 5000; l1++) + npcAttackingArray[l1] = null; + + for(int i2 = 0; i2 < 500; i2++) + npcArray[i2] = null; + + for(int j2 = 0; j2 < 50; j2++) + prayerOn[j2] = false; + + mouseButtonClick = 0; + super.lastMouseButton = 0; + super.mouseButton = 0; + showShopBox = false; + showBankBox = false; + isSleeping = false; + super.friendsCount = 0; + } + + private final void drawMinimapMenu(boolean canClick) { + int l = ((GameImage) (gameGraphics)).gameWidth - 199; + char c1 = '\234'; + char c3 = '\230'; + gameGraphics.drawPicture(l - 49, 3, baseInventoryPic + 2); + l += 40; + gameGraphics.drawBox(l, 36, c1, c3, 0); + gameGraphics.setGameBoundaries(l, 36, l + c1, 36 + c3); + int j1 = 192 + minimapRandomRotationY; + int l1 = cameraRotation + minimapRandomRotationX & 0xff; + int j2 = ((ourPlayer.currentX - 6040) * 3 * j1) / 2048; + int l3 = ((ourPlayer.currentY - 6040) * 3 * j1) / 2048; + int j5 = Camera.bbk[1024 - l1 * 4 & 0x3ff]; + int l5 = Camera.bbk[(1024 - l1 * 4 & 0x3ff) + 1024]; + int j6 = l3 * j5 + j2 * l5 >> 18; + l3 = l3 * l5 - j2 * j5 >> 18; + j2 = j6; + gameGraphics.drawMinimapPic((l + c1 / 2) - j2, 36 + c3 / 2 + l3, baseInventoryPic - 1, l1 + 64 & 0xff, j1); + for(int l7 = 0; l7 < objectCount; l7++) { + int k2 = (((objectX[l7] * magicLoc + 64) - ourPlayer.currentX) * 3 * j1) / 2048; + int i4 = (((objectY[l7] * magicLoc + 64) - ourPlayer.currentY) * 3 * j1) / 2048; + int k6 = i4 * j5 + k2 * l5 >> 18; + i4 = i4 * l5 - k2 * j5 >> 18; + k2 = k6; + drawMinimapObject(l + c1 / 2 + k2, (36 + c3 / 2) - i4, 65535); + } + + for(int i8 = 0; i8 < groundItemCount; i8++) { + int l2 = (((groundItemX[i8] * magicLoc + 64) - ourPlayer.currentX) * 3 * j1) / 2048; + int j4 = (((groundItemY[i8] * magicLoc + 64) - ourPlayer.currentY) * 3 * j1) / 2048; + int l6 = j4 * j5 + l2 * l5 >> 18; + j4 = j4 * l5 - l2 * j5 >> 18; + l2 = l6; + drawMinimapObject(l + c1 / 2 + l2, (36 + c3 / 2) - j4, 0xff0000); + } + + for(int j8 = 0; j8 < npcCount; j8++) { + Mob f1 = npcArray[j8]; + int i3 = ((f1.currentX - ourPlayer.currentX) * 3 * j1) / 2048; + int k4 = ((f1.currentY - ourPlayer.currentY) * 3 * j1) / 2048; + int i7 = k4 * j5 + i3 * l5 >> 18; + k4 = k4 * l5 - i3 * j5 >> 18; + i3 = i7; + drawMinimapObject(l + c1 / 2 + i3, (36 + c3 / 2) - k4, 0xffff00); + } + + for(int k8 = 0; k8 < playerCount; k8++) { + Mob f2 = playerArray[k8]; + int j3 = ((f2.currentX - ourPlayer.currentX) * 3 * j1) / 2048; + int l4 = ((f2.currentY - ourPlayer.currentY) * 3 * j1) / 2048; + int j7 = l4 * j5 + j3 * l5 >> 18; + l4 = l4 * l5 - j3 * j5 >> 18; + j3 = j7; + int i9 = 0xffffff; + for(int j9 = 0; j9 < super.friendsCount; j9++) { + if(f2.nameHash != super.friendsList[j9] || super.friendsWorld[j9] != 99) + continue; + i9 = 65280; + break; + } + + drawMinimapObject(l + c1 / 2 + j3, (36 + c3 / 2) - l4, i9); + } + + // compass + gameGraphics.drawCircle(l + c1 / 2, 36 + c3 / 2, 2, 0xffffff, 255); + gameGraphics.drawMinimapPic(l + 19, 55, baseInventoryPic + 24, cameraRotation + 128 & 0xff, 128); + gameGraphics.setGameBoundaries(0, 0, windowWidth, windowHeight + 12); + if(!canClick) + return; + l = super.mouseX - (((GameImage) (gameGraphics)).gameWidth - 199); + int l8 = super.mouseY - 36; + if(l >= 40 && l8 >= 0 && l < 196 && l8 < 152) { + char c2 = '\234'; + char c4 = '\230'; + int k1 = 192 + minimapRandomRotationY; + int i2 = cameraRotation + minimapRandomRotationX & 0xff; + int i1 = ((GameImage) (gameGraphics)).gameWidth - 199; + i1 += 40; + int k3 = ((super.mouseX - (i1 + c2 / 2)) * 16384) / (3 * k1); + int i5 = ((super.mouseY - (36 + c4 / 2)) * 16384) / (3 * k1); + int k5 = Camera.bbk[1024 - i2 * 4 & 0x3ff]; + int i6 = Camera.bbk[(1024 - i2 * 4 & 0x3ff) + 1024]; + int k7 = i5 * k5 + k3 * i6 >> 15; + i5 = i5 * i6 - k3 * k5 >> 15; + k3 = k7; + k3 += ourPlayer.currentX; + i5 = ourPlayer.currentY - i5; + if(mouseButtonClick == 1) + walkTo1Tile(sectionX, sectionY, k3 / 128, i5 / 128, false); + mouseButtonClick = 0; + } + } + + private final boolean validCameraAngle(int arg0) { + int l = ourPlayer.currentX / 128; + int i1 = ourPlayer.currentY / 128; + for(int j1 = 2; j1 >= 1; j1--) { + if(arg0 == 1 && ((engineHandle.tiles[l][i1 - j1] & 0x80) == 128 || (engineHandle.tiles[l - j1][i1] & 0x80) == 128 || (engineHandle.tiles[l - j1][i1 - j1] & 0x80) == 128)) + return false; + if(arg0 == 3 && ((engineHandle.tiles[l][i1 + j1] & 0x80) == 128 || (engineHandle.tiles[l - j1][i1] & 0x80) == 128 || (engineHandle.tiles[l - j1][i1 + j1] & 0x80) == 128)) + return false; + if(arg0 == 5 && ((engineHandle.tiles[l][i1 + j1] & 0x80) == 128 || (engineHandle.tiles[l + j1][i1] & 0x80) == 128 || (engineHandle.tiles[l + j1][i1 + j1] & 0x80) == 128)) + return false; + if(arg0 == 7 && ((engineHandle.tiles[l][i1 - j1] & 0x80) == 128 || (engineHandle.tiles[l + j1][i1] & 0x80) == 128 || (engineHandle.tiles[l + j1][i1 - j1] & 0x80) == 128)) + return false; + if(arg0 == 0 && (engineHandle.tiles[l][i1 - j1] & 0x80) == 128) + return false; + if(arg0 == 2 && (engineHandle.tiles[l - j1][i1] & 0x80) == 128) + return false; + if(arg0 == 4 && (engineHandle.tiles[l][i1 + j1] & 0x80) == 128) + return false; + if(arg0 == 6 && (engineHandle.tiles[l + j1][i1] & 0x80) == 128) + return false; + } + + return true; + } + + private final void loadSounds() { + try { + soundData = unpackData("sounds.mem", "Sound effects", 90); + audioPlayer = new AudioReader(); + return; + } + catch(Throwable throwable) { + System.out.println("Unable to init sounds:" + throwable); + } + } + + protected final void loadGame() { + int l = 0; + for(int i1 = 0; i1 < 99; i1++) { + int j1 = i1 + 1; + int l1 = (int)((double)j1 + 300D * Math.pow(2D, (double)j1 / 7D)); + l += l1; + experienceList[i1] = l & 0xffffffc; + } + loadConfig(); + if(errorLoading) + return; + GameAppletMiddleMan.maxPacketReadCount = 500; + baseInventoryPic = 2000; + baseScrollPic = baseInventoryPic + 100; + baseItemPicture = baseScrollPic + 50; + baseLoginScreenBackgroundPic = baseItemPicture + 1000; + baseProjectilePic = baseLoginScreenBackgroundPic + 10; + baseTexturePic = baseProjectilePic + 50; + subTexturePic = baseTexturePic + 10; + graphics = getGraphics(); + setRefreshRate(50); + gameGraphics = new GameImageMiddleMan(windowWidth, windowHeight + 12, 4000, this); + gameGraphics.gameReference = this; + gameGraphics.setGameBoundaries(0, 0, windowWidth, windowHeight + 12); + Menu.gdh = false; + Menu.baseScrollPic = baseScrollPic; + spellMenu = new Menu(gameGraphics, 5); + int k1 = ((GameImage) (gameGraphics)).gameWidth - 199; + byte byte0 = 36; + spellMenuHandle = spellMenu.createList(k1, byte0 + 24, 196, 90, 1, 500, true); + friendsMenu = new Menu(gameGraphics, 5); + friendsMenuHandle = friendsMenu.createList(k1, byte0 + 40, 196, 126, 1, 500, true); + questMenu = new Menu(gameGraphics, 5); + questMenuHandle = questMenu.createList(k1, byte0 + 24, 196, 251, 1, 500, true); + loadMedia(); + if(errorLoading) + return; + loadAnimations(); + if(errorLoading) + return; + gameCamera = new Camera(gameGraphics, 15000, 15000, 1000); + gameCamera.setCameraSize(windowWidth / 2, windowHeight / 2, windowWidth / 2, windowHeight / 2, windowWidth, cameraFieldOfView); + gameCamera.zoom1 = 2400; + gameCamera.zoom2 = 2400; + gameCamera.zoom3 = 1; + gameCamera.zoom4 = 2300; + gameCamera.bjk(-50, -10, -50); + engineHandle = new EngineHandle(gameCamera, gameGraphics); + engineHandle.gjc = baseInventoryPic; + loadTextures(); + if(errorLoading) + return; + loadModels(); + if(errorLoading) + return; + loadMap(); + if(errorLoading) + return; + loadSounds(); + if(!errorLoading) { + drawLoadingBarText(100, "Starting game..."); + createChatInputMenu(); + createLoginMenus(); + createAppearanceWindow(); + setLoginVars(); + createLoginScreenBackgrounds(); + return; + } + } + + private final void createLoginMenus() { + loginMenuFirst = new Menu(gameGraphics, 50); + int l = 40; + if(!Config.MEMBERS_FEATURES) { + loginMenuFirst.drawText(256, 200 + l, "Click on an option", 5, true); + loginMenuFirst.drawButton(156, 240 + l, 120, 35); + loginMenuFirst.drawButton(356, 240 + l, 120, 35); + loginMenuFirst.drawText(156, 240 + l, "New User", 5, false); + loginMenuFirst.drawText(356, 240 + l, "Existing User", 5, false); + loginButtonNewUser = loginMenuFirst.createButton(156, 240 + l, 120, 35); + loginMenuLoginButton = loginMenuFirst.createButton(356, 240 + l, 120, 35); + } else { + loginMenuFirst.drawText(256, 200 + l, "Welcome to RuneScape", 4, true); + loginMenuFirst.drawText(256, 215 + l, "You need a member account to use this server", 4, true); + loginMenuFirst.drawButton(256, 250 + l, 200, 35); + loginMenuFirst.drawText(256, 250 + l, "Click here to login", 5, false); + loginMenuLoginButton = loginMenuFirst.createButton(256, 250 + l, 200, 35); + } + loginNewUser = new Menu(gameGraphics, 50); + l = 230; + loginNewUser.drawText(256, l + 8, "To create an account please go back to the", 4, true); + l += 20; + loginNewUser.drawText(256, l + 8, "www.runescape.com front page, and choose 'create account'", 4, true); + l += 30; + loginNewUser.drawButton(256, l + 17, 150, 34); + loginNewUser.drawText(256, l + 17, "Ok", 5, false); + loginMenuOkButton = loginNewUser.createButton(256, l + 17, 150, 34); + loginMenuLogin = new Menu(gameGraphics, 50); + l = 230; + loginMenuStatusText = loginMenuLogin.drawText(256, l - 10, "Please enter your username and password", 4, true); + l += 28; + loginMenuLogin.drawButton(140, l, 200, 40); + loginMenuLogin.drawText(140, l - 10, "Username:", 4, false); + loginMenuUserText = loginMenuLogin.createInput(140, l + 10, 200, 40, 4, 12, false, false); + l += 47; + loginMenuLogin.drawButton(190, l, 200, 40); + loginMenuLogin.drawText(190, l - 10, "Password:", 4, false); + loginMenuPasswordText = loginMenuLogin.createInput(190, l + 10, 200, 40, 4, 20, true, false); + l -= 55; + loginMenuLogin.drawButton(410, l, 120, 25); + loginMenuLogin.drawText(410, l, "Ok", 4, false); + loginMenuOkLoginButton = loginMenuLogin.createButton(410, l, 120, 25); + l += 30; + loginMenuLogin.drawButton(410, l, 120, 25); + loginMenuLogin.drawText(410, l, "Cancel", 4, false); + loginMenuCancelButton = loginMenuLogin.createButton(410, l, 120, 25); + l += 30; + loginMenuLogin.setFocus(loginMenuUserText); + } + + protected final void lostConnection() { + systemUpdate = 0; + if(logoutTimer != 0) { + resetIntVars(); + return; + } else { + super.lostConnection(); + return; + } + } + + private final void loadMedia() { + byte media[] = unpackData("media.jag", "2d graphics", 20); + if(media == null) { + errorLoading = true; + return; + } + byte abyte1[] = DataOperations.loadData("index.dat", 0, media); + gameGraphics.unpackImageData(baseInventoryPic, DataOperations.loadData("inv1.dat", 0, media), abyte1, 1); + gameGraphics.unpackImageData(baseInventoryPic + 1, DataOperations.loadData("inv2.dat", 0, media), abyte1, 6); + gameGraphics.unpackImageData(baseInventoryPic + 9, DataOperations.loadData("bubble.dat", 0, media), abyte1, 1); + gameGraphics.unpackImageData(baseInventoryPic + 10, DataOperations.loadData("runescape.dat", 0, media), abyte1, 1); + gameGraphics.unpackImageData(baseInventoryPic + 11, DataOperations.loadData("splat.dat", 0, media), abyte1, 3); + gameGraphics.unpackImageData(baseInventoryPic + 14, DataOperations.loadData("icon.dat", 0, media), abyte1, 8); + gameGraphics.unpackImageData(baseInventoryPic + 22, DataOperations.loadData("hbar.dat", 0, media), abyte1, 1); + gameGraphics.unpackImageData(baseInventoryPic + 23, DataOperations.loadData("hbar2.dat", 0, media), abyte1, 1); + gameGraphics.unpackImageData(baseInventoryPic + 24, DataOperations.loadData("compass.dat", 0, media), abyte1, 1); + gameGraphics.unpackImageData(baseInventoryPic + 25, DataOperations.loadData("buttons.dat", 0, media), abyte1, 2); + gameGraphics.unpackImageData(baseScrollPic, DataOperations.loadData("scrollbar.dat", 0, media), abyte1, 2); + gameGraphics.unpackImageData(baseScrollPic + 2, DataOperations.loadData("corners.dat", 0, media), abyte1, 4); + gameGraphics.unpackImageData(baseScrollPic + 6, DataOperations.loadData("arrows.dat", 0, media), abyte1, 2); + gameGraphics.unpackImageData(baseProjectilePic, DataOperations.loadData("projectile.dat", 0, media), abyte1, Data.spellProjectileCount); + int l = Data.highestLoadedPicture; + for(int i1 = 1; l > 0; i1++) { + int j1 = l; + l -= 30; + if(j1 > 30) + j1 = 30; + gameGraphics.unpackImageData(baseItemPicture + (i1 - 1) * 30, DataOperations.loadData("objects" + i1 + ".dat", 0, media), abyte1, j1); + } + + gameGraphics.loadImage(baseInventoryPic); + gameGraphics.loadImage(baseInventoryPic + 9); + for(int k1 = 11; k1 <= 26; k1++) + gameGraphics.loadImage(baseInventoryPic + k1); + + for(int l1 = 0; l1 < Data.spellProjectileCount; l1++) + gameGraphics.loadImage(baseProjectilePic + l1); + + for(int i2 = 0; i2 < Data.highestLoadedPicture; i2++) + gameGraphics.loadImage(baseItemPicture + i2); + + } + + protected final void checkInputs() { + if(memoryError) + return; + if(errorLoading) + return; + try { + tick++; + if(loggedIn == 0) { + checkLoginScreenInputs(); + } + if(loggedIn == 1) { + checkGameInputs(); + } + super.lastMouseButton = 0; + cameraRotateTime++; + if(cameraRotateTime > 500) { + cameraRotateTime = 0; + int l = (int)(Math.random() * 4D); + if((l & 1) == 1) + cameraRotationXAmount += cameraRotationXIncrement; + if((l & 2) == 2) + cameraRotationYAmount += cameraRotationYIncrement; + } + if(cameraRotationXAmount < -50) + cameraRotationXIncrement = 2; + if(cameraRotationXAmount > 50) + cameraRotationXIncrement = -2; + if(cameraRotationYAmount < -50) + cameraRotationYIncrement = 2; + if(cameraRotationYAmount > 50) + cameraRotationYIncrement = -2; + if(chatTabAllMsgFlash > 0) + chatTabAllMsgFlash--; + if(chatTabHistoryFlash > 0) + chatTabHistoryFlash--; + if(chatTabQuestFlash > 0) + chatTabQuestFlash--; + if(chatTabPrivateFlash > 0) + chatTabPrivateFlash--; + } + catch(OutOfMemoryError _ex) { + cleanUp(); + memoryError = true; + } + } + + private final void loadAnimations() { + byte abyte0[] = null; + byte abyte1[] = null; + abyte0 = unpackData("entity.jag", "people and monsters", 30); + if(abyte0 == null) { + errorLoading = true; + return; + } + abyte1 = DataOperations.loadData("index.dat", 0, abyte0); + byte abyte2[] = null; + byte abyte3[] = null; + abyte2 = unpackData("entity.mem", "member graphics", 45); + if(abyte2 == null) { + errorLoading = true; + return; + } + abyte3 = DataOperations.loadData("index.dat", 0, abyte2); + int l = 0; + animationNumber = 0; +label0: + for(int i1 = 0; i1 < Data.animationCount; i1++) { + String s1 = Data.animationName[i1]; + for(int j1 = 0; j1 < i1; j1++) { + if(!Data.animationName[j1].equalsIgnoreCase(s1)) + continue; + Data.animationNumber[i1] = Data.animationNumber[j1]; + continue label0; + } + + byte abyte7[] = DataOperations.loadData(s1 + ".dat", 0, abyte0); + byte abyte4[] = abyte1; + if(abyte7 == null) { + abyte7 = DataOperations.loadData(s1 + ".dat", 0, abyte2); + abyte4 = abyte3; + } + if(abyte7 != null) { + gameGraphics.unpackImageData(animationNumber, abyte7, abyte4, 15); + l += 15; + if(Data.animationHasA[i1] == 1) { + byte abyte8[] = DataOperations.loadData(s1 + "a.dat", 0, abyte0); + byte abyte5[] = abyte1; + if(abyte8 == null) { + abyte8 = DataOperations.loadData(s1 + "a.dat", 0, abyte2); + abyte5 = abyte3; + } + gameGraphics.unpackImageData(animationNumber + 15, abyte8, abyte5, 3); + l += 3; + } + if(Data.animationHasF[i1] == 1) { + byte abyte9[] = DataOperations.loadData(s1 + "f.dat", 0, abyte0); + byte abyte6[] = abyte1; + if(abyte9 == null) { + abyte9 = DataOperations.loadData(s1 + "f.dat", 0, abyte2); + abyte6 = abyte3; + } + gameGraphics.unpackImageData(animationNumber + 18, abyte9, abyte6, 9); + l += 9; + } + if(Data.animationGenderModels[i1] != 0) { + for(int k1 = animationNumber; k1 < animationNumber + 27; k1++) + gameGraphics.loadImage(k1); + + } + } + Data.animationNumber[i1] = animationNumber; + animationNumber += 27; + } + + //System.out.println("Loaded: " + l + " frames of animation"); + } + + private final void updateAppearanceWindow() { + appearanceMenu.mouseClick(super.mouseX, super.mouseY, super.lastMouseButton, super.mouseButton); + if(appearanceMenu.isClicked(appearanceHeadLeftArrow)) + do + appearanceHeadType = ((appearanceHeadType - 1) + Data.animationCount) % Data.animationCount; + while((Data.animationGenderModels[appearanceHeadType] & 3) != 1 || (Data.animationGenderModels[appearanceHeadType] & 4 * appearanceHeadGender) == 0); + if(appearanceMenu.isClicked(appearanceHeadRightArrow)) + do + appearanceHeadType = (appearanceHeadType + 1) % Data.animationCount; + while((Data.animationGenderModels[appearanceHeadType] & 3) != 1 || (Data.animationGenderModels[appearanceHeadType] & 4 * appearanceHeadGender) == 0); + if(appearanceMenu.isClicked(appearanceHairLeftArrow)) + appearanceHairColour = ((appearanceHairColour - 1) + appearanceHairColours.length) % appearanceHairColours.length; + if(appearanceMenu.isClicked(appearanceHairRightArrow)) + appearanceHairColour = (appearanceHairColour + 1) % appearanceHairColours.length; + if(appearanceMenu.isClicked(appearanceGenderLeftArrow) || appearanceMenu.isClicked(appearanceGenderRightArrow)) { + for(appearanceHeadGender = 3 - appearanceHeadGender; (Data.animationGenderModels[appearanceHeadType] & 3) != 1 || (Data.animationGenderModels[appearanceHeadType] & 4 * appearanceHeadGender) == 0; appearanceHeadType = (appearanceHeadType + 1) % Data.animationCount); + for(; (Data.animationGenderModels[appearanceBodyGender] & 3) != 2 || (Data.animationGenderModels[appearanceBodyGender] & 4 * appearanceHeadGender) == 0; appearanceBodyGender = (appearanceBodyGender + 1) % Data.animationCount); + } + if(appearanceMenu.isClicked(appearanceTopLeftArrow)) + appearanceTopColour = ((appearanceTopColour - 1) + appearanceTopBottomColours.length) % appearanceTopBottomColours.length; + if(appearanceMenu.isClicked(appearanceTopRightArrow)) + appearanceTopColour = (appearanceTopColour + 1) % appearanceTopBottomColours.length; + if(appearanceMenu.isClicked(appearanceSkinLeftArrow)) + appearanceSkinColour = ((appearanceSkinColour - 1) + appearanceSkinColours.length) % appearanceSkinColours.length; + if(appearanceMenu.isClicked(appearanceSkingRightArrow)) + appearanceSkinColour = (appearanceSkinColour + 1) % appearanceSkinColours.length; + if(appearanceMenu.isClicked(appearanceBottomLeftArrow)) + appearanceBottomColour = ((appearanceBottomColour - 1) + appearanceTopBottomColours.length) % appearanceTopBottomColours.length; + if(appearanceMenu.isClicked(appearanceBottomRightArrow)) + appearanceBottomColour = (appearanceBottomColour + 1) % appearanceTopBottomColours.length; + if(appearanceMenu.isClicked(appearanceAcceptButton)) { + super.streamClass.createPacket(218); + super.streamClass.addByte(appearanceHeadGender); + super.streamClass.addByte(appearanceHeadType); + super.streamClass.addByte(appearanceBodyGender); + super.streamClass.addByte(appearance2Colour); + super.streamClass.addByte(appearanceHairColour); + super.streamClass.addByte(appearanceTopColour); + super.streamClass.addByte(appearanceBottomColour); + super.streamClass.addByte(appearanceSkinColour); + super.streamClass.formatPacket(); + gameGraphics.clearScreen(); + showAppearanceWindow = false; + } + } + + private final void drawWelcomeBox() { + int l = 65; + if(!lastLoginAddress.equals("0.0.0.0")) + l += 30; + if(subDaysLeft > 0) + l += 15; + if(lastLoginDays >= 0) + l += 15; + int i1 = 167 - l / 2; + gameGraphics.drawBox(56, 167 - l / 2, 400, l, 0); + gameGraphics.drawBoxEdge(56, 167 - l / 2, 400, l, 0xffffff); + i1 += 20; + gameGraphics.drawText("Welcome to RuneScape " + loginUsername, 256, i1, 4, 0xffff00); + i1 += 30; + String s1; + // lastLoginDays subDaysLeft lastLoginAddress + if(lastLoginDays == 0) + s1 = "earlier today"; + else + if(lastLoginDays == 1) + s1 = "yesterday"; + else + s1 = lastLoginDays + " days ago"; + if(!lastLoginAddress.equals("0.0.0.0")) { + gameGraphics.drawText("You last logged in " + s1, 256, i1, 1, 0xffffff); + i1 += 15; + gameGraphics.drawText("from: " + lastLoginAddress, 256, i1, 1, 0xffffff); + i1 += 15; + } + if(subDaysLeft > 0) { + gameGraphics.drawText("Subscription left: " + subDaysLeft + " days", 256, i1, 1, 0xffffff); + i1 += 15; + } + /*if(unreadMessages > 0) { + int j1 = 0xffffff; + gameGraphics.drawText("Jagex staff will NEVER email you. We use the", 256, i1, 1, j1); + i1 += 15; + gameGraphics.drawText("message-centre on this website instead.", 256, i1, 1, j1); + i1 += 15; + if(unreadMessages == 1) + gameGraphics.drawText("You have @yel@0@whi@ unread messages in your message-centre", 256, i1, 1, 0xffffff); + else + gameGraphics.drawText("You have @gre@" + (unreadMessages - 1) + " unread messages @whi@in your message-centre", 256, i1, 1, 0xffffff); + i1 += 15; + i1 += 15; + } + if(lastChangedRecoveryDays != 201) { + if(lastChangedRecoveryDays == 200) { + gameGraphics.drawText("You have not yet set any password recovery questions.", 256, i1, 1, 0xff8000); + i1 += 15; + gameGraphics.drawText("We strongly recommend you do so now to secure your account.", 256, i1, 1, 0xff8000); + i1 += 15; + gameGraphics.drawText("Do this from the 'account management' area on our front webpage", 256, i1, 1, 0xff8000); + i1 += 15; + } else { + String s2; + if(lastChangedRecoveryDays == 0) + s2 = "Earlier today"; + else + if(lastChangedRecoveryDays == 1) + s2 = "Yesterday"; + else + s2 = lastChangedRecoveryDays + " days ago"; + gameGraphics.drawText(s2 + " you changed your recovery questions", 256, i1, 1, 0xff8000); + i1 += 15; + gameGraphics.drawText("If you do not remember making this change then cancel it immediately", 256, i1, 1, 0xff8000); + i1 += 15; + gameGraphics.drawText("Do this from the 'account management' area on our front webpage", 256, i1, 1, 0xff8000); + i1 += 15; + } + i1 += 15; + }*/ + int k1 = 0xffffff; + if(super.mouseY > i1 - 12 && super.mouseY <= i1 && super.mouseX > 106 && super.mouseX < 406) + k1 = 0xff0000; + gameGraphics.drawText("Click here to close window", 256, i1, 1, k1); + if(mouseButtonClick == 1) { + if(k1 == 0xff0000) + showWelcomeBox = false; + if((super.mouseX < 86 || super.mouseX > 426) && (super.mouseY < 167 - l / 2 || super.mouseY > 167 + l / 2)) + showWelcomeBox = false; + } + mouseButtonClick = 0; + } + + private final int getInventoryItemTotalCount(int arg0) { + int l = 0; + for(int i1 = 0; i1 < inventoryItemsCount; i1++) + if(inventoryItems[i1] == arg0) + if(Data.itemStackable[arg0] == 1) + l++; + else + l += inventoryItemCount[i1]; + + return l; + } + + private final void sendLogout() { + if(loggedIn == 0) + return; + if(combatTimeout > 450) { + displayMessage("@cya@You can't logout during combat!", 3); + return; + } + if(combatTimeout > 0) { + displayMessage("@cya@You can't logout for 10 seconds after combat", 3); + return; + } else { + super.streamClass.createPacket(129); + super.streamClass.formatPacket(); + logoutTimer = 1000; + return; + } + } + + public final URL getCodeBase() { + if(link.gameApplet != null) + return link.gameApplet.getCodeBase(); + else + return super.getCodeBase(); + } + + private final boolean walkTo(int startX, int startY, int destBottomX, int destBottomY, int destTopX, int destTopY, boolean checkForObjects, + boolean walkToACommand) { + int stepCount = engineHandle.generatePath(startX, startY, destBottomX, destBottomY, destTopX, destTopY, walkArrayX, walkArrayY, checkForObjects); + if(stepCount == -1) + if(walkToACommand) { + stepCount = 1; + walkArrayX[0] = destBottomX; + walkArrayY[0] = destBottomY; + } else { + return false; + } + stepCount--; + startX = walkArrayX[stepCount]; + startY = walkArrayY[stepCount]; + stepCount--; + if(walkToACommand) + super.streamClass.createPacket(246); + else + super.streamClass.createPacket(132); + super.streamClass.addShort(startX + areaX); + super.streamClass.addShort(startY + areaY); + if(walkToACommand && stepCount == -1 && (startX + areaX) % 5 == 0) + stepCount = 0; + for(int i1 = stepCount; i1 >= 0 && i1 > stepCount - 25; i1--) { + super.streamClass.addByte(walkArrayX[i1] - startX); + super.streamClass.addByte(walkArrayY[i1] - startY); + } + + super.streamClass.formatPacket(); + actionPictureType = -24; + walkMouseX = super.mouseX; + walkMouseY = super.mouseY; + return true; + } + + private final boolean walkTo2(int startX, int startY, int destBottomX, int destBottomY, int destTopX, int destTopY, boolean unknownDifferent, + boolean walkToACommand) { + int stepCount = engineHandle.generatePath(startX, startY, destBottomX, destBottomY, destTopX, destTopY, walkArrayX, walkArrayY, unknownDifferent); + if(stepCount == -1) + return false; + stepCount--; + startX = walkArrayX[stepCount]; + startY = walkArrayY[stepCount]; + stepCount--; + if(walkToACommand) + super.streamClass.createPacket(246); + else + super.streamClass.createPacket(132); + super.streamClass.addShort(startX + areaX); + super.streamClass.addShort(startY + areaY); + if(walkToACommand && stepCount == -1 && (startX + areaX) % 5 == 0) + stepCount = 0; + for(int i1 = stepCount; i1 >= 0 && i1 > stepCount - 25; i1--) { + super.streamClass.addByte(walkArrayX[i1] - startX); + super.streamClass.addByte(walkArrayY[i1] - startY); + } + + super.streamClass.formatPacket(); + actionPictureType = -24; + walkMouseX = super.mouseX; + walkMouseY = super.mouseY; + return true; + } + + private final void drawOptionsMenu(boolean canClick) { + int l = ((GameImage) (gameGraphics)).gameWidth - 199; + int i1 = 36; + gameGraphics.drawPicture(l - 49, 3, baseInventoryPic + 6); + int c1 = 196; + gameGraphics.drawBoxAlpha(l, 36, c1, 62, GameImage.rgbToInt(181, 181, 181), 160); + gameGraphics.drawBoxAlpha(l, 98, c1, 92, GameImage.rgbToInt(201, 201, 201), 160); + gameGraphics.drawBoxAlpha(l, 190, c1, 90, GameImage.rgbToInt(181, 181, 181), 160); + gameGraphics.drawBoxAlpha(l, 280, c1, 40, GameImage.rgbToInt(201, 201, 201), 160); + int j1 = l + 3; + int l1 = i1 + 15; + gameGraphics.drawString("Game options - click to toggle", j1, l1, 1, 0); + l1 += 15; + if(configCameraAutoAngle) + gameGraphics.drawString("Camera angle mode - @gre@Auto", j1, l1, 1, 0xffffff); + else + gameGraphics.drawString("Camera angle mode - @red@Manual", j1, l1, 1, 0xffffff); + l1 += 15; + if(configOneMouseButton) + gameGraphics.drawString("Mouse buttons - @red@One", j1, l1, 1, 0xffffff); + else + gameGraphics.drawString("Mouse buttons - @gre@Two", j1, l1, 1, 0xffffff); + l1 += 15; + if(Config.MEMBERS_FEATURES) + if(configSoundOff) + gameGraphics.drawString("Sound effects - @red@off", j1, l1, 1, 0xffffff); + else + gameGraphics.drawString("Sound effects - @gre@on", j1, l1, 1, 0xffffff); + l1 += 15; + gameGraphics.drawString("Client assists - click to toggle", j1, l1, 1, 0); + l1 += 15; + if(showRoofs) + gameGraphics.drawString("Roofs - @gre@show", j1, l1, 1, 0xffffff); + else + gameGraphics.drawString("Roofs - @red@hide", j1, l1, 1, 0xffffff); + l1 += 15; + if(showCombatWindow) + gameGraphics.drawString("Fight mode window - @gre@show", j1, l1, 1, 0xffffff); + else + gameGraphics.drawString("Fight mode window - @red@hide", j1, l1, 1, 0xffffff); + l1 += 15; + if(fogOfWar) + gameGraphics.drawString("Fog of war - @gre@show", j1, l1, 1, 0xffffff); + else + gameGraphics.drawString("Fog of war - @red@hide", j1, l1, 1, 0xffffff); + l1 += 15; + if(autoScreenshot) + gameGraphics.drawString("Automatic screenshots - @gre@on", j1, l1, 1, 0xffffff); + else + gameGraphics.drawString("Automatic screenshots - @red@off", j1, l1, 1, 0xffffff); + l1 += 15; + if(useChatFilter) + gameGraphics.drawString("Chat filter: @gre@", l + 3, l1, 1, 0xffffff); + else + gameGraphics.drawString("Chat filter: @red@", l + 3, l1, 1, 0xffffff); + l1 += 15; + gameGraphics.drawString("Privacy settings. Will be applied to", j1, l1, 1, 0); + l1 += 15; + gameGraphics.drawString("all people not on your friends list", j1, l1, 1, 0); + l1 += 15; + if(super.blockChat == 0) + gameGraphics.drawString("Block chat messages: @red@", l + 3, l1, 1, 0xffffff); + else + gameGraphics.drawString("Block chat messages: @gre@", l + 3, l1, 1, 0xffffff); + l1 += 15; + if(super.blockPrivate == 0) + gameGraphics.drawString("Block private messages: @red@", l + 3, l1, 1, 0xffffff); + else + gameGraphics.drawString("Block private messages: @gre@", l + 3, l1, 1, 0xffffff); + l1 += 15; + if(super.blockTrade == 0) + gameGraphics.drawString("Block trade requests: @red@", l + 3, l1, 1, 0xffffff); + else + gameGraphics.drawString("Block trade requests: @gre@", l + 3, l1, 1, 0xffffff); + l1 += 15; + if(Config.MEMBERS_FEATURES) + if(super.blockDuel == 0) + gameGraphics.drawString("Block duel requests: @red@", l + 3, l1, 1, 0xffffff); + else + gameGraphics.drawString("Block duel requests: @gre@", l + 3, l1, 1, 0xffffff); + l1 += 15; + l1 += 5; + gameGraphics.drawString("Always logout when you finish", j1, l1, 1, 0); + l1 += 15; + int j2 = 0xffffff; + if(super.mouseX > j1 && super.mouseX < j1 + c1 && super.mouseY > l1 - 12 && super.mouseY < l1 + 4) + j2 = 0xffff00; + gameGraphics.drawString("Click here to logout", l + 3, l1, 1, j2); + if(!canClick) + return; + l = super.mouseX - (((GameImage) (gameGraphics)).gameWidth - 199); + i1 = super.mouseY - 36; + if(l >= 0 && i1 >= 0 && l < 196 && i1 < 280) { + int k2 = ((GameImage) (gameGraphics)).gameWidth - 199; + byte byte0 = 36; + char c2 = '\304'; + int k1 = k2 + 3; + int i2 = byte0 + 30; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + configCameraAutoAngle = !configCameraAutoAngle; + super.streamClass.createPacket(157); + super.streamClass.addByte(0); + super.streamClass.addByte(configCameraAutoAngle ? 1 : 0); + super.streamClass.formatPacket(); + } + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + configOneMouseButton = !configOneMouseButton; + super.streamClass.createPacket(157); + super.streamClass.addByte(2); + super.streamClass.addByte(configOneMouseButton ? 1 : 0); + super.streamClass.formatPacket(); + } + i2 += 15; + if(Config.MEMBERS_FEATURES && super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + configSoundOff = !configSoundOff; + super.streamClass.createPacket(157); + super.streamClass.addByte(3); + super.streamClass.addByte(configSoundOff ? 1 : 0); + super.streamClass.formatPacket(); + } + i2 += 15; + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + showRoofs = !showRoofs; + super.streamClass.createPacket(157); + super.streamClass.addByte(4); + super.streamClass.addByte(showRoofs ? 1 : 0); + super.streamClass.formatPacket(); + } + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + showCombatWindow = !showCombatWindow; + super.streamClass.createPacket(157); + super.streamClass.addByte(6); + super.streamClass.addByte(showCombatWindow ? 1 : 0); + super.streamClass.formatPacket(); + } + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + fogOfWar = !fogOfWar; + } + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + autoScreenshot = !autoScreenshot; + super.streamClass.createPacket(157); + super.streamClass.addByte(5); + super.streamClass.addByte(autoScreenshot ? 1 : 0); + super.streamClass.formatPacket(); + } + boolean flag = false; + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + useChatFilter = !useChatFilter; + } + i2 += 15; + i2 += 15; + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + super.blockChat = 1 - super.blockChat; + flag = true; + } + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + super.blockPrivate = 1 - super.blockPrivate; + flag = true; + } + i2 += 15; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + super.blockTrade = 1 - super.blockTrade; + flag = true; + } + i2 += 15; + if(Config.MEMBERS_FEATURES && super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) { + super.blockDuel = 1 - super.blockDuel; + flag = true; + } + i2 += 15; + if(flag) + sendUpdatedPrivacyInfo(super.blockChat, super.blockPrivate, super.blockTrade, super.blockDuel); + i2 += 20; + if(super.mouseX > k1 && super.mouseX < k1 + c2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && mouseButtonClick == 1) + sendLogout(); + mouseButtonClick = 0; + } + } + + private final void walkToObject(int arg0, int arg1, int arg2, int arg3) { + int l; + int i1; + if(arg2 == 0 || arg2 == 4) { + l = Data.objectWidth[arg3]; + i1 = Data.objectHeight[arg3]; + } else { + i1 = Data.objectWidth[arg3]; + l = Data.objectHeight[arg3]; + } + if(Data.objectType[arg3] == 2 || Data.objectType[arg3] == 3) { + if(arg2 == 0) { + arg0--; + l++; + } + if(arg2 == 2) + i1++; + if(arg2 == 4) + l++; + if(arg2 == 6) { + arg1--; + i1++; + } + walkTo(sectionX, sectionY, arg0, arg1, (arg0 + l) - 1, (arg1 + i1) - 1, false, true); + return; + } else { + walkTo(sectionX, sectionY, arg0, arg1, (arg0 + l) - 1, (arg1 + i1) - 1, true, true); + return; + } + } + + private final void createChatInputMenu() { + chatInputMenu = new Menu(gameGraphics, 10); + messagesHandleType2 = chatInputMenu.gfh(5, 269, 502, 56, 1, 20, true); + chatInputBox = chatInputMenu.gfi(7, 324, 498, 14, 1, 80, false, true); + messagesHandleType5 = chatInputMenu.gfh(5, 269, 502, 56, 1, 20, true); + messagesHandleType6 = chatInputMenu.gfh(5, 269, 502, 56, 1, 20, true); + chatInputMenu.setFocus(chatInputBox); + } + + private final void drawCombatStyleBox() { + byte byte0 = 7; + byte byte1 = 15; + char c1 = '\257'; + if(mouseButtonClick != 0) { + for(int l = 0; l < 5; l++) { + if(l <= 0 || super.mouseX <= byte0 || super.mouseX >= byte0 + c1 || super.mouseY <= byte1 + l * 20 || super.mouseY >= byte1 + l * 20 + 20) + continue; + combatStyle = l - 1; + mouseButtonClick = 0; + super.streamClass.createPacket(42); + super.streamClass.addByte(combatStyle); + super.streamClass.formatPacket(); + break; + } + + } + for(int i1 = 0; i1 < 5; i1++) { + if(i1 == combatStyle + 1) + gameGraphics.drawBoxAlpha(byte0, byte1 + i1 * 20, c1, 20, GameImage.rgbToInt(255, 0, 0), 128); + else + gameGraphics.drawBoxAlpha(byte0, byte1 + i1 * 20, c1, 20, GameImage.rgbToInt(190, 190, 190), 128); + gameGraphics.drawLineX(byte0, byte1 + i1 * 20, c1, 0); + gameGraphics.drawLineX(byte0, byte1 + i1 * 20 + 20, c1, 0); + } + + gameGraphics.drawText("Select combat style", byte0 + c1 / 2, byte1 + 16, 3, 0xffffff); + gameGraphics.drawText("Controlled (+1 of each)", byte0 + c1 / 2, byte1 + 36, 3, 0); + gameGraphics.drawText("Aggressive (+3 strength)", byte0 + c1 / 2, byte1 + 56, 3, 0); + gameGraphics.drawText("Accurate (+3 attack)", byte0 + c1 / 2, byte1 + 76, 3, 0); + gameGraphics.drawText("Defensive (+3 defense)", byte0 + c1 / 2, byte1 + 96, 3, 0); + } + + private final void drawTradeBox() { + if(mouseButtonClick != 0) { + int mx = super.mouseX - 22; + int my = super.mouseY - 36; + if(mx >= 0 && my >= 30 && mx < 462 && my < 262) { + if(mx > 216 && my > 30 && mx < 462 && my < 235) { + int curItem = (mx - 217) / 49 + ((my - 31) / 34) * 5; + if(curItem >= 0 && curItem < inventoryItemsCount) { + int item = inventoryItems[curItem]; + mouseClickedHeldInTradeDuelBox = 1; + boolean ourTradeItemsChanged = false; + int someInt = 0; + for(int tradeItem = 0; tradeItem < tradeItemsOurCount; tradeItem++) + if(tradeItemsOur[tradeItem] == item) + if(Data.itemStackable[item] == 0) + for(int i = 0; i < mouseClickedHeldInTradeDuelBox; i++) { + if(tradeItemOurCount[tradeItem] < inventoryItemCount[curItem]) + tradeItemOurCount[tradeItem]++; + ourTradeItemsChanged = true; + } + else + someInt++; + if(getInventoryItemTotalCount(item) <= someInt) + ourTradeItemsChanged = true; + if(Data.itemSpecial[item] == 1) { + displayMessage("This object cannot be traded with other players", 3); + ourTradeItemsChanged = true; + } + if(!ourTradeItemsChanged && tradeItemsOurCount < 12) { + tradeItemsOur[tradeItemsOurCount] = item; + tradeItemOurCount[tradeItemsOurCount] = 1; + tradeItemsOurCount++; + ourTradeItemsChanged = true; + } + if(ourTradeItemsChanged) { + super.streamClass.createPacket(70); + super.streamClass.addByte(tradeItemsOurCount); + for(int i = 0; i < tradeItemsOurCount; i++) { + super.streamClass.addShort(tradeItemsOur[i]); + super.streamClass.addInt(tradeItemOurCount[i]); + } + super.streamClass.formatPacket(); + tradeOtherAccepted = false; + tradeWeAccepted = false; + } + } + } + else if(mx > 8 && my > 30 && mx < 205 && my < 133) { + int curItem = (mx - 9) / 49 + ((my - 31) / 34) * 4; + if(curItem >= 0 && curItem < tradeItemsOurCount) { + int item = tradeItemsOur[curItem]; + for(int i = 0; i < mouseClickedHeldInTradeDuelBox; i++) { + if(Data.itemStackable[item] == 0 && tradeItemOurCount[curItem] > 1) { + tradeItemOurCount[curItem]--; + continue; + } + tradeItemsOurCount--; + mouseButtonHeldTime = 0; + for(int j = curItem; j < tradeItemsOurCount; j++) { + tradeItemsOur[j] = tradeItemsOur[j + 1]; + tradeItemOurCount[j] = tradeItemOurCount[j + 1]; + } + break; + } + super.streamClass.createPacket(70); + super.streamClass.addByte(tradeItemsOurCount); + for(int i = 0; i < tradeItemsOurCount; i++) { + super.streamClass.addShort(tradeItemsOur[i]); + super.streamClass.addInt(tradeItemOurCount[i]); + } + super.streamClass.formatPacket(); + tradeOtherAccepted = false; + tradeWeAccepted = false; + } + } + if(mx >= 217 && my >= 238 && mx <= 286 && my <= 259) { + tradeWeAccepted = true; + super.streamClass.createPacket(211); + super.streamClass.formatPacket(); + } + if(mx >= 394 && my >= 238 && mx < 463 && my < 259) { + showTradeBox = false; + super.streamClass.createPacket(216); + super.streamClass.formatPacket(); + } + } + else { + showTradeBox = false; + super.streamClass.createPacket(216); + super.streamClass.formatPacket(); + } + mouseButtonClick = 0; + mouseClickedHeldInTradeDuelBox = 0; + } + if(!showTradeBox) + return; + byte byte0 = 22; + byte byte1 = 36; + gameGraphics.drawBox(byte0, byte1, 468, 12, 192); + int l1 = 0x989898; + gameGraphics.drawBoxAlpha(byte0, byte1 + 12, 468, 18, l1, 160); + gameGraphics.drawBoxAlpha(byte0, byte1 + 30, 8, 248, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 205, byte1 + 30, 11, 248, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 462, byte1 + 30, 6, 248, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 133, 197, 22, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 258, 197, 20, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 216, byte1 + 235, 246, 43, l1, 160); + int j2 = 0xd0d0d0; + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 30, 197, 103, j2, 160); + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 155, 197, 103, j2, 160); + gameGraphics.drawBoxAlpha(byte0 + 216, byte1 + 30, 246, 205, j2, 160); + for(int i3 = 0; i3 < 4; i3++) + gameGraphics.drawLineX(byte0 + 8, byte1 + 30 + i3 * 34, 197, 0); + + for(int i4 = 0; i4 < 4; i4++) + gameGraphics.drawLineX(byte0 + 8, byte1 + 155 + i4 * 34, 197, 0); + + for(int k4 = 0; k4 < 7; k4++) + gameGraphics.drawLineX(byte0 + 216, byte1 + 30 + k4 * 34, 246, 0); + + for(int j5 = 0; j5 < 6; j5++) { + if(j5 < 5) + gameGraphics.drawLineY(byte0 + 8 + j5 * 49, byte1 + 30, 103, 0); + if(j5 < 5) + gameGraphics.drawLineY(byte0 + 8 + j5 * 49, byte1 + 155, 103, 0); + gameGraphics.drawLineY(byte0 + 216 + j5 * 49, byte1 + 30, 205, 0); + } + + gameGraphics.drawString("Trading with: " + tradeOtherName, byte0 + 1, byte1 + 10, 1, 0xffffff); + gameGraphics.drawString("Your Offer", byte0 + 9, byte1 + 27, 4, 0xffffff); + gameGraphics.drawString("Opponent's Offer", byte0 + 9, byte1 + 152, 4, 0xffffff); + gameGraphics.drawString("Your Inventory", byte0 + 216, byte1 + 27, 4, 0xffffff); + if(!tradeWeAccepted) + gameGraphics.drawPicture(byte0 + 217, byte1 + 238, baseInventoryPic + 25); + gameGraphics.drawPicture(byte0 + 394, byte1 + 238, baseInventoryPic + 26); + if(tradeOtherAccepted) { + gameGraphics.drawText("Other player", byte0 + 341, byte1 + 246, 1, 0xffffff); + gameGraphics.drawText("has accepted", byte0 + 341, byte1 + 256, 1, 0xffffff); + } + if(tradeWeAccepted) { + gameGraphics.drawText("Waiting for", byte0 + 217 + 35, byte1 + 246, 1, 0xffffff); + gameGraphics.drawText("other player", byte0 + 217 + 35, byte1 + 256, 1, 0xffffff); + } + for(int k5 = 0; k5 < inventoryItemsCount; k5++) { + int l5 = 217 + byte0 + (k5 % 5) * 49; + int j6 = 31 + byte1 + (k5 / 5) * 34; + gameGraphics.drawImage(l5, j6, 48, 32, baseItemPicture + Data.itemInventoryPicture[inventoryItems[k5]], Data.itemPictureMask[inventoryItems[k5]], 0, 0, false); + if(Data.itemStackable[inventoryItems[k5]] == 0) + gameGraphics.drawString(String.valueOf(inventoryItemCount[k5]), l5 + 1, j6 + 10, 1, 0xffff00); + } + + for(int i6 = 0; i6 < tradeItemsOurCount; i6++) { + int k6 = 9 + byte0 + (i6 % 4) * 49; + int i7 = 31 + byte1 + (i6 / 4) * 34; + gameGraphics.drawImage(k6, i7, 48, 32, baseItemPicture + Data.itemInventoryPicture[tradeItemsOur[i6]], Data.itemPictureMask[tradeItemsOur[i6]], 0, 0, false); + if(Data.itemStackable[tradeItemsOur[i6]] == 0) + gameGraphics.drawString(String.valueOf(tradeItemOurCount[i6]), k6 + 1, i7 + 10, 1, 0xffff00); + if(super.mouseX > k6 && super.mouseX < k6 + 48 && super.mouseY > i7 && super.mouseY < i7 + 32) + gameGraphics.drawString(Data.itemName[tradeItemsOur[i6]] + ": @whi@" + Data.itemDescription[tradeItemsOur[i6]], byte0 + 8, byte1 + 273, 1, 0xffff00); + } + + for(int l6 = 0; l6 < tradeItemsOtherCount; l6++) { + int j7 = 9 + byte0 + (l6 % 4) * 49; + int k7 = 156 + byte1 + (l6 / 4) * 34; + gameGraphics.drawImage(j7, k7, 48, 32, baseItemPicture + Data.itemInventoryPicture[tradeItemsOther[l6]], Data.itemPictureMask[tradeItemsOther[l6]], 0, 0, false); + if(Data.itemStackable[tradeItemsOther[l6]] == 0) + gameGraphics.drawString(String.valueOf(tradeItemOtherCount[l6]), j7 + 1, k7 + 10, 1, 0xffff00); + if(super.mouseX > j7 && super.mouseX < j7 + 48 && super.mouseY > k7 && super.mouseY < k7 + 32) + gameGraphics.drawString(Data.itemName[tradeItemsOther[l6]] + ": @whi@" + Data.itemDescription[tradeItemsOther[l6]], byte0 + 8, byte1 + 273, 1, 0xffff00); + } + + } + + private final void autoRotateCamera() { + if((cameraAutoAngle & 1) == 1 && validCameraAngle(cameraAutoAngle)) + return; + if((cameraAutoAngle & 1) == 0 && validCameraAngle(cameraAutoAngle)) { + if(validCameraAngle(cameraAutoAngle + 1 & 7)) { + cameraAutoAngle = cameraAutoAngle + 1 & 7; + return; + } + if(validCameraAngle(cameraAutoAngle + 7 & 7)) + cameraAutoAngle = cameraAutoAngle + 7 & 7; + return; + } + int ai[] = { + 1, -1, 2, -2, 3, -3, 4 + }; + for(int l = 0; l < 7; l++) { + if(!validCameraAngle(cameraAutoAngle + ai[l] + 8 & 7)) + continue; + cameraAutoAngle = cameraAutoAngle + ai[l] + 8 & 7; + break; + } + + if((cameraAutoAngle & 1) == 0 && validCameraAngle(cameraAutoAngle)) { + if(validCameraAngle(cameraAutoAngle + 1 & 7)) { + cameraAutoAngle = cameraAutoAngle + 1 & 7; + return; + } + if(validCameraAngle(cameraAutoAngle + 7 & 7)) + cameraAutoAngle = cameraAutoAngle + 7 & 7; + return; + } else { + return; + } + } + + public final String getParameter(String s1) { + if(link.gameApplet != null) + return link.gameApplet.getParameter(s1); + else + return super.getParameter(s1); + } + + private final void drawLogoutBox() { + gameGraphics.drawBox(126, 137, 260, 60, 0); + gameGraphics.drawBoxEdge(126, 137, 260, 60, 0xffffff); + gameGraphics.drawText("Logging out...", 256, 173, 5, 0xffffff); + } + + private final void walkToGroundItem(int l, int i1, int j1, int k1, boolean flag) { + if(walkTo2(l, i1, j1, k1, j1, k1, false, flag)) { + return; + } else { + walkTo(l, i1, j1, k1, j1, k1, true, flag); + return; + } + } + + protected final void loginScreenPrint(String s1, String s2) { + if(loginScreen == 2 && loginMenuLogin != null) + loginMenuLogin.updateText(loginMenuStatusText, s1 + " " + s2); + drawLoginScreens(); + resetTimings(); + } + + final void drawTeleBubble(int l, int i1, int j1, int k1, int l1, int i2, int j2) { + int type = teleBubbleType[l1]; + int time = teleBubbleTime[l1]; + if(type == 0) { + int i3 = 255 + time * 5 * 256; + gameGraphics.drawCircle(l + j1 / 2, i1 + k1 / 2, 20 + time * 2, i3, 255 - time * 5); + } + if(type == 1) { + int j3 = 0xff0000 + time * 5 * 256; + gameGraphics.drawCircle(l + j1 / 2, i1 + k1 / 2, 10 + time, j3, 255 - time * 5); + } + } + + private final void checkLoginScreenInputs() { + if(super.socketTimeout > 0) + super.socketTimeout--; + if(loginScreen == 0) { + loginMenuFirst.mouseClick(super.mouseX, super.mouseY, super.lastMouseButton, super.mouseButton); + if(loginMenuFirst.isClicked(loginButtonNewUser)) + loginScreen = 1; + if(loginMenuFirst.isClicked(loginMenuLoginButton)) { + loginScreen = 2; + loginMenuLogin.updateText(loginMenuStatusText, "Please enter your username and password"); + loginMenuLogin.updateText(loginMenuUserText, ""); + loginMenuLogin.updateText(loginMenuPasswordText, ""); + loginMenuLogin.setFocus(loginMenuUserText); + return; + } + } else + if(loginScreen == 1) { + loginNewUser.mouseClick(super.mouseX, super.mouseY, super.lastMouseButton, super.mouseButton); + if(loginNewUser.isClicked(loginMenuOkButton)) { + loginScreen = 0; + return; + } + } else + if(loginScreen == 2) { + loginMenuLogin.mouseClick(super.mouseX, super.mouseY, super.lastMouseButton, super.mouseButton); + if(loginMenuLogin.isClicked(loginMenuCancelButton)) + loginScreen = 0; + if(loginMenuLogin.isClicked(loginMenuUserText)) + loginMenuLogin.setFocus(loginMenuPasswordText); + if(loginMenuLogin.isClicked(loginMenuPasswordText) || loginMenuLogin.isClicked(loginMenuOkLoginButton)) { + loginUsername = loginMenuLogin.getText(loginMenuUserText); + loginPassword = loginMenuLogin.getText(loginMenuPasswordText); + connect(loginUsername, loginPassword, false); + } + } + } + + private final boolean isItemEquipped(int arg0) { + for(int l = 0; l < inventoryItemsCount; l++) + if(inventoryItems[l] == arg0 && inventoryItemEquipped[l] == 1) + return true; + + return false; + } + + protected final void drawWindow() { + if(errorLoading) { + Graphics g1 = getGraphics(); + g1.setColor(Color.black); + g1.fillRect(0, 0, 512, 356); + g1.setFont(new Font("Helvetica", 1, 16)); + g1.setColor(Color.yellow); + int l = 35; + g1.drawString("Sorry, an error has occured whilst loading", 30, l); + l += 50; + g1.setColor(Color.white); + g1.drawString("To fix this try the following (in order):", 30, l); + l += 50; + g1.setColor(Color.white); + g1.setFont(new Font("Helvetica", 1, 12)); + g1.drawString("1: Try closing ALL open web-browser windows, and reloading", 30, l); + l += 30; + g1.drawString("2: Try clearing your web-browsers cache from tools->internet options", 30, l); + l += 30; + g1.drawString("3: Try using a different game-world", 30, l); + l += 30; + g1.drawString("4: Try rebooting your computer", 30, l); + l += 30; + g1.drawString("5: Try selecting a different version of Java from the play-game menu", 30, l); + setRefreshRate(1); + return; + } + if(memoryError) { + Graphics g3 = getGraphics(); + g3.setColor(Color.black); + g3.fillRect(0, 0, 512, 356); + g3.setFont(new Font("Helvetica", 1, 20)); + g3.setColor(Color.white); + g3.drawString("Error - out of memory!", 50, 50); + g3.drawString("Close ALL unnecessary programs", 50, 100); + g3.drawString("and windows before loading the game", 50, 150); + g3.drawString("this game needs about 48meg of spare RAM", 50, 200); + setRefreshRate(1); + return; + } + try { + if(loggedIn == 0) { + gameGraphics.loggedIn = false; + drawLoginScreens(); + } + if(loggedIn == 1) { + gameGraphics.loggedIn = true; + drawGame(); + return; + } + } + catch(OutOfMemoryError _ex) { + cleanUp(); + memoryError = true; + } + } + + private final void cleanUp() { + try { + if(gameGraphics != null) { + gameGraphics.cleanUp(); + gameGraphics.pixels = null; + gameGraphics = null; + } + if(gameCamera != null) { + gameCamera.cleanUp(); + gameCamera = null; + } + gameDataObjects = null; + objectArray = null; + wallObjectArray = null; + playerBufferArray = null; + playerArray = null; + npcAttackingArray = null; + npcArray = null; + ourPlayer = null; + if(engineHandle != null) { + engineHandle.ghn = null; + engineHandle.gim = null; + engineHandle.gih = null; + engineHandle.gia = null; + engineHandle = null; + } + System.gc(); + return; + } + catch(Exception _ex) { + return; + } + } + + private final void drawQuestionMenu() { + if(mouseButtonClick != 0) { + for(int l = 0; l < questionMenuCount; l++) { + if(super.mouseX >= gameGraphics.textWidth(questionMenuAnswer[l], 1) || super.mouseY <= l * 12 || super.mouseY >= 12 + l * 12) + continue; + super.streamClass.createPacket(154); + super.streamClass.addByte(l); + super.streamClass.formatPacket(); + break; + } + + mouseButtonClick = 0; + showQuestionMenu = false; + return; + } + for(int i1 = 0; i1 < questionMenuCount; i1++) { + int j1 = 65535; + if(super.mouseX < gameGraphics.textWidth(questionMenuAnswer[i1], 1) && super.mouseY > i1 * 12 && super.mouseY < 12 + i1 * 12) + j1 = 0xff0000; + gameGraphics.drawString(questionMenuAnswer[i1], 6, 12 + i1 * 12, 1, j1); + } + + } + + private final void drawTradeConfirmBox() { + byte byte0 = 22; + byte byte1 = 36; + gameGraphics.drawBox(byte0, byte1, 468, 16, 192); + int l = 0x989898; + gameGraphics.drawBoxAlpha(byte0, byte1 + 16, 468, 246, l, 160); + gameGraphics.drawText("Please confirm your trade with @yel@" + DataOperations.hashToName(tradeConfirmOtherNameLong), byte0 + 234, byte1 + 12, 1, 0xffffff); + gameGraphics.drawText("You are about to give:", byte0 + 117, byte1 + 30, 1, 0xffff00); + for(int i1 = 0; i1 < tradeConfigItemCount; i1++) { + String s1 = Data.itemName[tradeConfirmItems[i1]]; + if(Data.itemStackable[tradeConfirmItems[i1]] == 0) + s1 = s1 + " x " + formatItemCount(tradeConfigItemsCount[i1]); + gameGraphics.drawText(s1, byte0 + 117, byte1 + 42 + i1 * 12, 1, 0xffffff); + } + + if(tradeConfigItemCount == 0) + gameGraphics.drawText("Nothing!", byte0 + 117, byte1 + 42, 1, 0xffffff); + gameGraphics.drawText("In return you will receive:", byte0 + 351, byte1 + 30, 1, 0xffff00); + for(int j1 = 0; j1 < tradeConfirmOtherItemCount; j1++) { + String s2 = Data.itemName[tradeConfirmOtherItems[j1]]; + if(Data.itemStackable[tradeConfirmOtherItems[j1]] == 0) + s2 = s2 + " x " + formatItemCount(tradeConfirmOtherItemsCount[j1]); + gameGraphics.drawText(s2, byte0 + 351, byte1 + 42 + j1 * 12, 1, 0xffffff); + } + + if(tradeConfirmOtherItemCount == 0) + gameGraphics.drawText("Nothing!", byte0 + 351, byte1 + 42, 1, 0xffffff); + gameGraphics.drawText("Are you sure you want to do this?", byte0 + 234, byte1 + 200, 4, 65535); + gameGraphics.drawText("There is NO WAY to reverse a trade if you change your mind.", byte0 + 234, byte1 + 215, 1, 0xffffff); + gameGraphics.drawText("Remember that not all players are trustworthy", byte0 + 234, byte1 + 230, 1, 0xffffff); + if(!tradeConfirmAccepted) { + gameGraphics.drawPicture((byte0 + 118) - 35, byte1 + 238, baseInventoryPic + 25); + gameGraphics.drawPicture((byte0 + 352) - 35, byte1 + 238, baseInventoryPic + 26); + } else { + gameGraphics.drawText("Waiting for other player...", byte0 + 234, byte1 + 250, 1, 0xffff00); + } + if(mouseButtonClick == 1) { + if(super.mouseX < byte0 || super.mouseY < byte1 || super.mouseX > byte0 + 468 || super.mouseY > byte1 + 262) { + showTradeConfirmBox = false; + super.streamClass.createPacket(216); + super.streamClass.formatPacket(); + } + if(super.mouseX >= (byte0 + 118) - 35 && super.mouseX <= byte0 + 118 + 70 && super.mouseY >= byte1 + 238 && super.mouseY <= byte1 + 238 + 21) { + tradeConfirmAccepted = true; + super.streamClass.createPacket(53); + super.streamClass.formatPacket(); + } + if(super.mouseX >= (byte0 + 352) - 35 && super.mouseX <= byte0 + 353 + 70 && super.mouseY >= byte1 + 238 && super.mouseY <= byte1 + 238 + 21) { + showTradeConfirmBox = false; + super.streamClass.createPacket(216); + super.streamClass.formatPacket(); + } + mouseButtonClick = 0; + } + } + + private final void drawLoginScreens() { + loginScreenShown = false; + if(gameGraphics == null) + return; + gameGraphics.interlace = false; + gameGraphics.clearScreen(); + if(loginScreen == 0 || loginScreen == 1 || loginScreen == 2 || loginScreen == 3) { + int l = (tick * 2) % 3072; + if(l < 1024) { + gameGraphics.drawPicture(0, 10, baseLoginScreenBackgroundPic); + if(l > 768) + gameGraphics.ccd(0, 10, baseLoginScreenBackgroundPic + 1, l - 768); + } else + if(l < 2048) { + gameGraphics.drawPicture(0, 10, baseLoginScreenBackgroundPic + 1); + if(l > 1792) + gameGraphics.ccd(0, 10, baseInventoryPic + 10, l - 1792); + } else { + gameGraphics.drawPicture(0, 10, baseInventoryPic + 10); + if(l > 2816) + gameGraphics.ccd(0, 10, baseLoginScreenBackgroundPic, l - 2816); + } + } + if(loginScreen == 0) + loginMenuFirst.drawMenu(); + if(loginScreen == 1) + loginNewUser.drawMenu(); + if(loginScreen == 2) + loginMenuLogin.drawMenu(); + gameGraphics.drawPicture(0, windowHeight, baseInventoryPic + 22); + gameGraphics.drawImage(graphics, 0, 0); + } + + final void drawItem(int x, int y, int width, int height, int itemID, int i2, int j2) { + int picture = Data.itemInventoryPicture[itemID] + baseItemPicture; + int mask = Data.itemPictureMask[itemID]; + gameGraphics.drawImage(x, y, width, height, picture, mask, 0, 0, false); + } + + private final Mob makePlayer(int index, int x, int y, int sprite) { + if(playerBufferArray[index] == null) { + playerBufferArray[index] = new Mob(); + playerBufferArray[index].serverIndex = index; + playerBufferArray[index].serverID = 0; + } + Mob existingPlayer = playerBufferArray[index]; + boolean flag = false; + for(int l = 0; l < lastPlayerCount; l++) { + if(lastPlayerArray[l].serverIndex != index) + continue; + flag = true; + break; + } + + if(flag) { + existingPlayer.nextSprite = sprite; + int i1 = existingPlayer.waypointCurrent; + if(x != existingPlayer.waypointsX[i1] || y != existingPlayer.waypointsY[i1]) { + existingPlayer.waypointCurrent = i1 = (i1 + 1) % 10; + existingPlayer.waypointsX[i1] = x; + existingPlayer.waypointsY[i1] = y; + } + } else { + existingPlayer.serverIndex = index; + existingPlayer.waypointsEndSprite = 0; + existingPlayer.waypointCurrent = 0; + existingPlayer.waypointsX[0] = existingPlayer.currentX = x; + existingPlayer.waypointsY[0] = existingPlayer.currentY = y; + existingPlayer.nextSprite = existingPlayer.currentSprite = sprite; + existingPlayer.stepCount = 0; + } + playerArray[playerCount++] = existingPlayer; + return existingPlayer; + } + + private final void walkTo1Tile(int l, int i1, int j1, int k1, boolean flag) { + walkTo(l, i1, j1, k1, j1, k1, false, flag); + } + + private final void loadConfig() { + byte abyte0[] = unpackData("config.jag", "Configuration", 10); + if(abyte0 == null) { + errorLoading = true; + return; + } + Data.load(abyte0); + byte abyte1[] = unpackData("filter.jag", "Chat system", 15); + if(abyte1 == null) { + errorLoading = true; + return; + } else { + byte abyte2[] = DataOperations.loadData("fragmentsenc.txt", 0, abyte1); + byte abyte3[] = DataOperations.loadData("badenc.txt", 0, abyte1); + byte abyte4[] = DataOperations.loadData("hostenc.txt", 0, abyte1); + byte abyte5[] = DataOperations.loadData("tldlist.txt", 0, abyte1); + ChatFilter.addFilterData(new DataEncryption(abyte2), new DataEncryption(abyte3), new DataEncryption(abyte4), new DataEncryption(abyte5)); + return; + } + } + + protected final void handleMouseDown(int arg0, int arg1, int arg2) { + mouseTrailX[mouseTrailIndex] = arg1; + mouseTrailY[mouseTrailIndex] = arg2; + mouseTrailIndex = mouseTrailIndex + 1 & 0x1fff; + for(int l = 10; l < 4000; l++) { + int lastMouseTrailIndex = mouseTrailIndex - l & 0x1fff; + if(mouseTrailX[lastMouseTrailIndex] == arg1 && mouseTrailY[lastMouseTrailIndex] == arg2) { + boolean flag = false; + for(int j1 = 1; j1 < l; j1++) { + int mouseNew = mouseTrailIndex - j1 & 0x1fff; + int mouseOld = lastMouseTrailIndex - j1 & 0x1fff; + if(mouseTrailX[mouseOld] != arg1 || mouseTrailY[mouseOld] != arg2) + flag = true; + if(mouseTrailX[mouseNew] != mouseTrailX[mouseOld] || mouseTrailY[mouseNew] != mouseTrailY[mouseOld]) + break; + if(j1 == l - 1 && flag && combatTimeout == 0 && logoutTimer == 0) { + sendLogout(); + return; + } + } + + } + } + + } + + private final void drawFriendsMenu(boolean canClick) { + int l = ((GameImage) (gameGraphics)).gameWidth - 199; + int i1 = 36; + gameGraphics.drawPicture(l - 49, 3, baseInventoryPic + 5); + char c1 = '\304'; + char c2 = '\266'; + int k1; + int j1 = k1 = GameImage.rgbToInt(160, 160, 160); + if(friendsIgnoreMenuSelected == 0) + j1 = GameImage.rgbToInt(220, 220, 220); + else + k1 = GameImage.rgbToInt(220, 220, 220); + gameGraphics.drawBoxAlpha(l, i1, c1 / 2, 24, j1, 128); + gameGraphics.drawBoxAlpha(l + c1 / 2, i1, c1 / 2, 24, k1, 128); + gameGraphics.drawBoxAlpha(l, i1 + 24, c1, c2 - 24, GameImage.rgbToInt(220, 220, 220), 128); + gameGraphics.drawLineX(l, i1 + 24, c1, 0); + gameGraphics.drawLineY(l + c1 / 2, i1, 24, 0); + gameGraphics.drawLineX(l, (i1 + c2) - 16, c1, 0); + gameGraphics.drawText("Friends", l + c1 / 4, i1 + 16, 4, 0); + gameGraphics.drawText("Ignore", l + c1 / 4 + c1 / 2, i1 + 16, 4, 0); + friendsLastShownEntries = spellMenu.listShownEntries; + friendsMenu.clearList(friendsMenuHandle); + if(friendsIgnoreMenuSelected == 0) { + for(int l1 = 0; l1 < super.friendsCount; l1++) { + String s1; + if(super.friendsWorld[l1] == 99) + s1 = "@gre@"; + else + if(super.friendsWorld[l1] > 0) + s1 = "@yel@"; + else + s1 = "@red@"; + friendsMenu.addListItem(friendsMenuHandle, l1, s1 + DataOperations.hashToName(super.friendsList[l1]) + "~439~@whi@Remove WWWWWWWWWW"); + } + + } + if(friendsIgnoreMenuSelected == 1) { + for(int i2 = 0; i2 < super.ignoresCount; i2++) + friendsMenu.addListItem(friendsMenuHandle, i2, "@yel@" + DataOperations.hashToName(super.ignoresList[i2]) + "~439~@whi@Remove WWWWWWWWWW"); + + } + friendsMenu.listShownEntries = friendsLastShownEntries; + friendsMenu.drawMenu(); + if(friendsIgnoreMenuSelected == 0) { + int j2 = friendsMenu.getEntryHighlighted(friendsMenuHandle); + if(j2 >= 0 && super.mouseX < 489) { + if(super.mouseX > 429) + gameGraphics.drawText("Click to remove " + DataOperations.hashToName(super.friendsList[j2]), l + c1 / 2, i1 + 35, 1, 0xffffff); + else + if(super.friendsWorld[j2] == 99) + gameGraphics.drawText("Click to message " + DataOperations.hashToName(super.friendsList[j2]), l + c1 / 2, i1 + 35, 1, 0xffffff); + else + if(super.friendsWorld[j2] > 0) + gameGraphics.drawText(DataOperations.hashToName(super.friendsList[j2]) + " is on world " + super.friendsWorld[j2], l + c1 / 2, i1 + 35, 1, 0xffffff); + else + gameGraphics.drawText(DataOperations.hashToName(super.friendsList[j2]) + " is offline", l + c1 / 2, i1 + 35, 1, 0xffffff); + } else { + gameGraphics.drawText("Click a name to send a message", l + c1 / 2, i1 + 35, 1, 0xffffff); + } + int j3; + if(super.mouseX > l && super.mouseX < l + c1 && super.mouseY > (i1 + c2) - 16 && super.mouseY < i1 + c2) + j3 = 0xffff00; + else + j3 = 0xffffff; + gameGraphics.drawText("Click here to add a friend", l + c1 / 2, (i1 + c2) - 3, 1, j3); + } + if(friendsIgnoreMenuSelected == 1) { + int k2 = friendsMenu.getEntryHighlighted(friendsMenuHandle); + if(k2 >= 0 && super.mouseX < 489 && super.mouseX > 429) { + if(super.mouseX > 429) + gameGraphics.drawText("Click to remove " + DataOperations.hashToName(super.ignoresList[k2]), l + c1 / 2, i1 + 35, 1, 0xffffff); + } else { + gameGraphics.drawText("Blocking messages from:", l + c1 / 2, i1 + 35, 1, 0xffffff); + } + int k3; + if(super.mouseX > l && super.mouseX < l + c1 && super.mouseY > (i1 + c2) - 16 && super.mouseY < i1 + c2) + k3 = 0xffff00; + else + k3 = 0xffffff; + gameGraphics.drawText("Click here to add a name", l + c1 / 2, (i1 + c2) - 3, 1, k3); + } + if(!canClick) + return; + l = super.mouseX - (((GameImage) (gameGraphics)).gameWidth - 199); + i1 = super.mouseY - 36; + if(l >= 0 && i1 >= 0 && l < 196 && i1 < 182) { + friendsMenu.mouseClick(l + (((GameImage) (gameGraphics)).gameWidth - 199), i1 + 36, super.lastMouseButton, super.mouseButton); + if(i1 <= 24 && mouseButtonClick == 1) + if(l < 98 && friendsIgnoreMenuSelected == 1) { + friendsIgnoreMenuSelected = 0; + friendsMenu.switchList(friendsMenuHandle); + } else + if(l > 98 && friendsIgnoreMenuSelected == 0) { + friendsIgnoreMenuSelected = 1; + friendsMenu.switchList(friendsMenuHandle); + } + if(mouseButtonClick == 1 && friendsIgnoreMenuSelected == 0) { + int l2 = friendsMenu.getEntryHighlighted(friendsMenuHandle); + if(l2 >= 0 && super.mouseX < 489) + if(super.mouseX > 429) + removeFriend(super.friendsList[l2]); + else + if(super.friendsWorld[l2] != 0) { + showFriendsBox = 2; + pmTarget = super.friendsList[l2]; + super.pmText = ""; + super.enteredPMText = ""; + } + } + if(mouseButtonClick == 1 && friendsIgnoreMenuSelected == 1) { + int i3 = friendsMenu.getEntryHighlighted(friendsMenuHandle); + if(i3 >= 0 && super.mouseX < 489 && super.mouseX > 429) + removeIgnore(super.ignoresList[i3]); + } + if(i1 > 166 && mouseButtonClick == 1 && friendsIgnoreMenuSelected == 0) { + showFriendsBox = 1; + super.inputText = ""; + super.enteredInputText = ""; + } + if(i1 > 166 && mouseButtonClick == 1 && friendsIgnoreMenuSelected == 1) { + showFriendsBox = 3; + super.inputText = ""; + super.enteredInputText = ""; + } + mouseButtonClick = 0; + } + } + + private final void drawPrayerMagicMenu(boolean canClick) { + int l = ((GameImage) (gameGraphics)).gameWidth - 199; + int i1 = 36; + gameGraphics.drawPicture(l - 49, 3, baseInventoryPic + 4); + char c1 = '\304'; + char c2 = '\266'; + int k1; + int j1 = k1 = GameImage.rgbToInt(160, 160, 160); + if(menuMagicPrayersSelected == 0) + j1 = GameImage.rgbToInt(220, 220, 220); + else + k1 = GameImage.rgbToInt(220, 220, 220); + gameGraphics.drawBoxAlpha(l, i1, c1 / 2, 24, j1, 128); + gameGraphics.drawBoxAlpha(l + c1 / 2, i1, c1 / 2, 24, k1, 128); + gameGraphics.drawBoxAlpha(l, i1 + 24, c1, 90, GameImage.rgbToInt(220, 220, 220), 128); + gameGraphics.drawBoxAlpha(l, i1 + 24 + 90, c1, c2 - 90 - 24, GameImage.rgbToInt(160, 160, 160), 128); + gameGraphics.drawLineX(l, i1 + 24, c1, 0); + gameGraphics.drawLineY(l + c1 / 2, i1, 24, 0); + gameGraphics.drawLineX(l, i1 + 113, c1, 0); + gameGraphics.drawText("Magic", l + c1 / 4, i1 + 16, 4, 0); + gameGraphics.drawText("Prayers", l + c1 / 4 + c1 / 2, i1 + 16, 4, 0); + if(menuMagicPrayersSelected == 0) { + spellsLastShownEntries = spellMenu.listShownEntries; + spellMenu.clearList(spellMenuHandle); + int l1 = 0; + for(int l2 = 0; l2 < Data.spellCount; l2++) { + String s1 = "@yel@"; + for(int k4 = 0; k4 < Data.spellDifferentRuneCount[l2]; k4++) { + int j5 = Data.spelRequiredRuneID[l2][k4]; + if(hasRequiredRunes(j5, Data.spellRequiredRuneCount[l2][k4])) + continue; + s1 = "@whi@"; + break; + } + + int k5 = playerStatCurrent[6]; + if(Data.spellRequiredLevel[l2] > k5) + s1 = "@bla@"; + spellMenu.addListItem(spellMenuHandle, l1++, s1 + "Level " + Data.spellRequiredLevel[l2] + ": " + Data.spellName[l2]); + } + + spellMenu.listShownEntries = spellsLastShownEntries; + spellMenu.drawMenu(); + int l3 = spellMenu.getEntryHighlighted(spellMenuHandle); + if(l3 != -1) { + gameGraphics.drawString("Level " + Data.spellRequiredLevel[l3] + ": " + Data.spellName[l3], l + 2, i1 + 124, 1, 0xffff00); + gameGraphics.drawString(Data.spellDescription[l3], l + 2, i1 + 136, 0, 0xffffff); + for(int l4 = 0; l4 < Data.spellDifferentRuneCount[l3]; l4++) { + int l5 = Data.spelRequiredRuneID[l3][l4]; + gameGraphics.drawPicture(l + 2 + l4 * 44, i1 + 150, baseItemPicture + Data.itemInventoryPicture[l5]); + int i6 = getInventoryItemTotalCount(l5); + int j6 = Data.spellRequiredRuneCount[l3][l4]; + String s3 = "@red@"; + if(hasRequiredRunes(l5, j6)) + s3 = "@gre@"; + gameGraphics.drawString(s3 + i6 + "/" + j6, l + 2 + l4 * 44, i1 + 150, 1, 0xffffff); + } + + } else { + gameGraphics.drawString("Point at a spell for a description", l + 2, i1 + 124, 1, 0); + } + } + if(menuMagicPrayersSelected == 1) { + prayersLastShownEntries = spellMenu.listShownEntries; + spellMenu.clearList(spellMenuHandle); + int i2 = 0; + for(int i3 = 0; i3 < Data.prayerCount; i3++) { + String s2 = "@whi@"; + if(Data.prayerRequiredLevel[i3] > playerStatBase[5]) + s2 = "@bla@"; + if(prayerOn[i3]) + s2 = "@gre@"; + spellMenu.addListItem(spellMenuHandle, i2++, s2 + "Level " + Data.prayerRequiredLevel[i3] + ": " + Data.prayerName[i3]); + } + + spellMenu.listShownEntries = prayersLastShownEntries; + spellMenu.drawMenu(); + int i4 = spellMenu.getEntryHighlighted(spellMenuHandle); + if(i4 != -1) { + gameGraphics.drawText("Level " + Data.prayerRequiredLevel[i4] + ": " + Data.prayerName[i4], l + c1 / 2, i1 + 130, 1, 0xffff00); + gameGraphics.drawText(Data.prayerDescription[i4], l + c1 / 2, i1 + 145, 0, 0xffffff); + gameGraphics.drawText("Drain rate: " + Data.prayerDrainRate[i4], l + c1 / 2, i1 + 160, 1, 0); + } else { + gameGraphics.drawString("Point at a prayer for a description", l + 2, i1 + 124, 1, 0); + } + } + if(!canClick) + return; + l = super.mouseX - (((GameImage) (gameGraphics)).gameWidth - 199); + i1 = super.mouseY - 36; + if(l >= 0 && i1 >= 0 && l < 196 && i1 < 182) { + spellMenu.mouseClick(l + (((GameImage) (gameGraphics)).gameWidth - 199), i1 + 36, super.lastMouseButton, super.mouseButton); + if(i1 <= 24 && mouseButtonClick == 1) + if(l < 98 && menuMagicPrayersSelected == 1) { + menuMagicPrayersSelected = 0; + spellMenu.switchList(spellMenuHandle); + } else + if(l > 98 && menuMagicPrayersSelected == 0) { + menuMagicPrayersSelected = 1; + spellMenu.switchList(spellMenuHandle); + } + if(mouseButtonClick == 1 && menuMagicPrayersSelected == 0) { + int j2 = spellMenu.getEntryHighlighted(spellMenuHandle); + if(j2 != -1) { + int j3 = playerStatCurrent[6]; + if(Data.spellRequiredLevel[j2] > j3) { + displayMessage("Your magic ability is not high enough for this spell", 3); + } else { + int j4; + for(j4 = 0; j4 < Data.spellDifferentRuneCount[j2]; j4++) { + int i5 = Data.spelRequiredRuneID[j2][j4]; + if(hasRequiredRunes(i5, Data.spellRequiredRuneCount[j2][j4])) + continue; + displayMessage("You don't have all the reagents you need for this spell", 3); + j4 = -1; + break; + } + + if(j4 == Data.spellDifferentRuneCount[j2]) { + selectedSpell = j2; + selectedItem = -1; + } + } + } + } + if(mouseButtonClick == 1 && menuMagicPrayersSelected == 1) { + int k2 = spellMenu.getEntryHighlighted(spellMenuHandle); + if(k2 != -1) { + int k3 = playerStatBase[5]; + if(Data.prayerRequiredLevel[k2] > k3) + displayMessage("Your prayer ability is not high enough for this prayer", 3); + else + if(playerStatCurrent[5] == 0) + displayMessage("You have run out of prayer points. Return to a church to recharge", 3); + else + if(prayerOn[k2]) { + super.streamClass.createPacket(248); + super.streamClass.addByte(k2); + super.streamClass.formatPacket(); + prayerOn[k2] = false; + playSound("prayeroff"); + } else { + super.streamClass.createPacket(56); + super.streamClass.addByte(k2); + super.streamClass.formatPacket(); + prayerOn[k2] = true; + playSound("prayeron"); + } + } + } + mouseButtonClick = 0; + } + } + + protected final byte[] unpackData(String arg0, String arg1, int arg2) { + byte abyte0[] = link.getFile(arg0); + if(abyte0 != null) { + int l = ((abyte0[0] & 0xff) << 16) + ((abyte0[1] & 0xff) << 8) + (abyte0[2] & 0xff); + int i1 = ((abyte0[3] & 0xff) << 16) + ((abyte0[4] & 0xff) << 8) + (abyte0[5] & 0xff); + byte abyte1[] = new byte[abyte0.length - 6]; + for(int j1 = 0; j1 < abyte0.length - 6; j1++) + abyte1[j1] = abyte0[j1 + 6]; + + drawLoadingBarText(arg2, "Unpacking " + arg1); + if(i1 != l) { + byte abyte2[] = new byte[l]; + DataFileDecrypter.unpackData(abyte2, l, abyte1, i1, 0); + return abyte2; + } else { + return abyte1; + } + } else { + return super.unpackData(arg0, arg1, arg2); + } + } + + private final void drawChatMessageTabs() { + gameGraphics.drawPicture(0, windowHeight - 4, baseInventoryPic + 23); + int l = GameImage.rgbToInt(200, 200, 255); + if(messagesTab == 0) + l = GameImage.rgbToInt(255, 200, 50); + if(chatTabAllMsgFlash % 30 > 15) + l = GameImage.rgbToInt(255, 50, 50); + gameGraphics.drawText("All messages", 54, windowHeight + 6, 0, l); + l = GameImage.rgbToInt(200, 200, 255); + if(messagesTab == 1) + l = GameImage.rgbToInt(255, 200, 50); + if(chatTabHistoryFlash % 30 > 15) + l = GameImage.rgbToInt(255, 50, 50); + gameGraphics.drawText("Chat history", 155, windowHeight + 6, 0, l); + l = GameImage.rgbToInt(200, 200, 255); + if(messagesTab == 2) + l = GameImage.rgbToInt(255, 200, 50); + if(chatTabQuestFlash % 30 > 15) + l = GameImage.rgbToInt(255, 50, 50); + gameGraphics.drawText("Quest history", 255, windowHeight + 6, 0, l); + l = GameImage.rgbToInt(200, 200, 255); + if(messagesTab == 3) + l = GameImage.rgbToInt(255, 200, 50); + if(chatTabPrivateFlash % 30 > 15) + l = GameImage.rgbToInt(255, 50, 50); + gameGraphics.drawText("Private history", 355, windowHeight + 6, 0, l); + gameGraphics.drawText("Report abuse", 457, windowHeight + 6, 0, 0xffffff); + } + + public final URL getDocumentBase() { + if(link.gameApplet != null) + return link.gameApplet.getDocumentBase(); + else + return super.getDocumentBase(); + } + + private final void checkGameInputs() { + if(systemUpdate > 1) + systemUpdate--; + sendPingPacket(); + if(logoutTimer > 0) + logoutTimer--; + if(ourPlayer.currentSprite == 8 || ourPlayer.currentSprite == 9) + combatTimeout = 500; + if(combatTimeout > 0) + combatTimeout--; + if(showAppearanceWindow) { + updateAppearanceWindow(); + return; + } + for(int l = 0; l < playerCount; l++) { + Mob player = playerArray[l]; + int j1 = (player.waypointCurrent + 1) % 10; + if(player.waypointsEndSprite != j1) { + int l1 = -1; + int k3 = player.waypointsEndSprite; + int i5; + if(k3 < j1) + i5 = j1 - k3; + else + i5 = (10 + j1) - k3; + int i6 = 4; + if(i5 > 2) + i6 = (i5 - 1) * 4; + if(player.waypointsX[k3] - player.currentX > magicLoc * 3 || player.waypointsY[k3] - player.currentY > magicLoc * 3 || player.waypointsX[k3] - player.currentX < -magicLoc * 3 || player.waypointsY[k3] - player.currentY < -magicLoc * 3 || i5 > 8) { + player.currentX = player.waypointsX[k3]; + player.currentY = player.waypointsY[k3]; + } else { + if(player.currentX < player.waypointsX[k3]) { + player.currentX += i6; + player.stepCount++; + l1 = 2; + } else + if(player.currentX > player.waypointsX[k3]) { + player.currentX -= i6; + player.stepCount++; + l1 = 6; + } + if(player.currentX - player.waypointsX[k3] < i6 && player.currentX - player.waypointsX[k3] > -i6) + player.currentX = player.waypointsX[k3]; + if(player.currentY < player.waypointsY[k3]) { + player.currentY += i6; + player.stepCount++; + if(l1 == -1) + l1 = 4; + else + if(l1 == 2) + l1 = 3; + else + l1 = 5; + } else + if(player.currentY > player.waypointsY[k3]) { + player.currentY -= i6; + player.stepCount++; + if(l1 == -1) + l1 = 0; + else + if(l1 == 2) + l1 = 1; + else + l1 = 7; + } + if(player.currentY - player.waypointsY[k3] < i6 && player.currentY - player.waypointsY[k3] > -i6) + player.currentY = player.waypointsY[k3]; + } + if(l1 != -1) + player.currentSprite = l1; + if(player.currentX == player.waypointsX[k3] && player.currentY == player.waypointsY[k3]) + player.waypointsEndSprite = (k3 + 1) % 10; + } else { + player.currentSprite = player.nextSprite; + } + if(player.lastMessageTimeout > 0) + player.lastMessageTimeout--; + if(player.playerSkullTimeout > 0) + player.playerSkullTimeout--; + if(player.combatTimer > 0) + player.combatTimer--; + if(playerAliveTimeout > 0) { + playerAliveTimeout--; + if(playerAliveTimeout == 0) + displayMessage("You have been granted another life. Be more careful this time!", 3); + if(playerAliveTimeout == 0) + displayMessage("You retain your skills. Your objects land where you died", 3); + } + } + + for(int i1 = 0; i1 < npcCount; i1++) { + Mob f2 = npcArray[i1]; + int i2 = (f2.waypointCurrent + 1) % 10; + if(f2.waypointsEndSprite != i2) { + int l3 = -1; + int j5 = f2.waypointsEndSprite; + int j6; + if(j5 < i2) + j6 = i2 - j5; + else + j6 = (10 + i2) - j5; + int k6 = 4; + if(j6 > 2) + k6 = (j6 - 1) * 4; + if(f2.waypointsX[j5] - f2.currentX > magicLoc * 3 || f2.waypointsY[j5] - f2.currentY > magicLoc * 3 || f2.waypointsX[j5] - f2.currentX < -magicLoc * 3 || f2.waypointsY[j5] - f2.currentY < -magicLoc * 3 || j6 > 8) { + f2.currentX = f2.waypointsX[j5]; + f2.currentY = f2.waypointsY[j5]; + } else { + if(f2.currentX < f2.waypointsX[j5]) { + f2.currentX += k6; + f2.stepCount++; + l3 = 2; + } else + if(f2.currentX > f2.waypointsX[j5]) { + f2.currentX -= k6; + f2.stepCount++; + l3 = 6; + } + if(f2.currentX - f2.waypointsX[j5] < k6 && f2.currentX - f2.waypointsX[j5] > -k6) + f2.currentX = f2.waypointsX[j5]; + if(f2.currentY < f2.waypointsY[j5]) { + f2.currentY += k6; + f2.stepCount++; + if(l3 == -1) + l3 = 4; + else + if(l3 == 2) + l3 = 3; + else + l3 = 5; + } else + if(f2.currentY > f2.waypointsY[j5]) { + f2.currentY -= k6; + f2.stepCount++; + if(l3 == -1) + l3 = 0; + else + if(l3 == 2) + l3 = 1; + else + l3 = 7; + } + if(f2.currentY - f2.waypointsY[j5] < k6 && f2.currentY - f2.waypointsY[j5] > -k6) + f2.currentY = f2.waypointsY[j5]; + } + if(l3 != -1) + f2.currentSprite = l3; + if(f2.currentX == f2.waypointsX[j5] && f2.currentY == f2.waypointsY[j5]) + f2.waypointsEndSprite = (j5 + 1) % 10; + } else { + f2.currentSprite = f2.nextSprite; + if(f2.npcId == 43) + f2.stepCount++; + } + if(f2.lastMessageTimeout > 0) + f2.lastMessageTimeout--; + if(f2.playerSkullTimeout > 0) + f2.playerSkullTimeout--; + if(f2.combatTimer > 0) + f2.combatTimer--; + } + + if(drawMenuTab != 2) { + if(GameImage.bnn > 0) + sleepWordDelayTimer++; + if(GameImage.caa > 0) + sleepWordDelayTimer = 0; + GameImage.bnn = 0; + GameImage.caa = 0; + } + for(int k1 = 0; k1 < playerCount; k1++) { + Mob f3 = playerArray[k1]; + if(f3.projectileDistance > 0) + f3.projectileDistance--; + } + + if(cameraAutoAngleDebug) { + if(cameraAutoRotatePlayerX - ourPlayer.currentX < -500 || cameraAutoRotatePlayerX - ourPlayer.currentX > 500 || cameraAutoRotatePlayerY - ourPlayer.currentY < -500 || cameraAutoRotatePlayerY - ourPlayer.currentY > 500) { + cameraAutoRotatePlayerX = ourPlayer.currentX; + cameraAutoRotatePlayerY = ourPlayer.currentY; + } + } else { + if(cameraAutoRotatePlayerX - ourPlayer.currentX < -500 || cameraAutoRotatePlayerX - ourPlayer.currentX > 500 || cameraAutoRotatePlayerY - ourPlayer.currentY < -500 || cameraAutoRotatePlayerY - ourPlayer.currentY > 500) { + cameraAutoRotatePlayerX = ourPlayer.currentX; + cameraAutoRotatePlayerY = ourPlayer.currentY; + } + if(cameraAutoRotatePlayerX != ourPlayer.currentX) + cameraAutoRotatePlayerX += (ourPlayer.currentX - cameraAutoRotatePlayerX) / (16 + (cameraDistance - 500) / 15); + if(cameraAutoRotatePlayerY != ourPlayer.currentY) + cameraAutoRotatePlayerY += (ourPlayer.currentY - cameraAutoRotatePlayerY) / (16 + (cameraDistance - 500) / 15); + if(configCameraAutoAngle) { + int j2 = cameraAutoAngle * 32; + int i4 = j2 - cameraRotation; + byte byte0 = 1; + if(i4 != 0) { + cameraAutoRotationAmount++; + if(i4 > 128) { + byte0 = -1; + i4 = 256 - i4; + } else + if(i4 > 0) + byte0 = 1; + else + if(i4 < -128) { + byte0 = 1; + i4 = 256 + i4; + } else + if(i4 < 0) { + byte0 = -1; + i4 = -i4; + } + cameraRotation += ((cameraAutoRotationAmount * i4 + 255) / 256) * byte0; + cameraRotation &= 0xff; + } else { + cameraAutoRotationAmount = 0; + } + } + } + if(sleepWordDelayTimer > 20) { + sleepWordDelay = false; + sleepWordDelayTimer = 0; + } + if(isSleeping) { + if(super.enteredInputText.length() > 0) + if(super.enteredInputText.equalsIgnoreCase("::lostcon")) + super.streamClass.closeStream(); + else + if(super.enteredInputText.equalsIgnoreCase("::closecon")) { + requestLogout(); + } else { + super.streamClass.createPacket(200); + super.streamClass.addString(super.enteredInputText); + if(!sleepWordDelay) { + super.streamClass.addByte(0); + sleepWordDelay = true; + } + super.streamClass.formatPacket(); + super.inputText = ""; + super.enteredInputText = ""; + sleepingStatusText = "Please wait..."; + } + if(super.lastMouseButton == 1 && super.mouseY > 275 && super.mouseY < 310 && super.mouseX > 56 && super.mouseX < 456) { + super.streamClass.createPacket(200); + super.streamClass.addString("-null-"); + if(!sleepWordDelay) { + super.streamClass.addByte(0); + sleepWordDelay = true; + } + super.streamClass.formatPacket(); + super.inputText = ""; + super.enteredInputText = ""; + sleepingStatusText = "Please wait..."; + } + super.lastMouseButton = 0; + return; + } + if(super.mouseY > windowHeight - 4) { + if(super.mouseX > 15 && super.mouseX < 96 && super.lastMouseButton == 1) + messagesTab = 0; + if(super.mouseX > 110 && super.mouseX < 194 && super.lastMouseButton == 1) { + messagesTab = 1; + chatInputMenu.listShownEntries[messagesHandleType2] = 0xf423f; + } + if(super.mouseX > 215 && super.mouseX < 295 && super.lastMouseButton == 1) { + messagesTab = 2; + chatInputMenu.listShownEntries[messagesHandleType5] = 0xf423f; + } + if(super.mouseX > 315 && super.mouseX < 395 && super.lastMouseButton == 1) { + messagesTab = 3; + chatInputMenu.listShownEntries[messagesHandleType6] = 0xf423f; + } + if(super.mouseX > 417 && super.mouseX < 497 && super.lastMouseButton == 1) { + showAbuseBox = 1; + reportAbuseOptionSelected = 0; + super.inputText = ""; + super.enteredInputText = ""; + } + super.lastMouseButton = 0; + super.mouseButton = 0; + } + chatInputMenu.mouseClick(super.mouseX, super.mouseY, super.lastMouseButton, super.mouseButton); + if(messagesTab > 0 && super.mouseX >= 494 && super.mouseY >= windowHeight - 66) + super.lastMouseButton = 0; + if(chatInputMenu.isClicked(chatInputBox)) { + String input = chatInputMenu.getText(chatInputBox); + chatInputMenu.updateText(chatInputBox, ""); + if(input.startsWith("::")) { + if(!handleCommand(input.substring(2))) + sendCommand(input.substring(2)); + } else { + int len = ChatMessage.stringToBytes(input); + sendChatMessage(ChatMessage.lastChat, len); + input = ChatMessage.bytesToString(ChatMessage.lastChat, 0, len); + if(useChatFilter) + input = ChatFilter.filterChat(input); + ourPlayer.lastMessageTimeout = 150; + ourPlayer.lastMessage = input; + displayMessage(ourPlayer.username + ": " + input, 2); + } + } + if(messagesTab == 0) { + for(int k2 = 0; k2 < 5; k2++) + if(messagesTimeout[k2] > 0) + messagesTimeout[k2]--; + + } + if(playerAliveTimeout != 0) + super.lastMouseButton = 0; + if(showTradeBox || showDuelBox) { + if(super.mouseButton != 0) + mouseButtonHeldTime++; + else + mouseButtonHeldTime = 0; + if(mouseButtonHeldTime > 500) + mouseClickedHeldInTradeDuelBox += 100000; + else + if(mouseButtonHeldTime > 350) + mouseClickedHeldInTradeDuelBox += 10000; + else + if(mouseButtonHeldTime > 250) + mouseClickedHeldInTradeDuelBox += 1000; + else + if(mouseButtonHeldTime > 150) + mouseClickedHeldInTradeDuelBox += 100; + else + if(mouseButtonHeldTime > 100) + mouseClickedHeldInTradeDuelBox += 10; + else + if(mouseButtonHeldTime > 50) + mouseClickedHeldInTradeDuelBox++; + else + if(mouseButtonHeldTime > 20 && (mouseButtonHeldTime & 5) == 0) + mouseClickedHeldInTradeDuelBox++; + } else { + mouseButtonHeldTime = 0; + mouseClickedHeldInTradeDuelBox = 0; + } + if(super.lastMouseButton == 1) + mouseButtonClick = 1; + else + if(super.lastMouseButton == 2) + mouseButtonClick = 2; + gameCamera.setMousePosition(super.mouseX, super.mouseY); + super.lastMouseButton = 0; + if(configCameraAutoAngle) { + if(cameraAutoRotationAmount == 0 || cameraAutoAngleDebug) { + if(super.keyLeftDown) { + cameraAutoAngle = cameraAutoAngle + 1 & 7; + super.keyLeftDown = false; + if(!cameraZoom) { + if((cameraAutoAngle & 1) == 0) + cameraAutoAngle = cameraAutoAngle + 1 & 7; + for(int l2 = 0; l2 < 8; l2++) { + if(validCameraAngle(cameraAutoAngle)) + break; + cameraAutoAngle = cameraAutoAngle + 1 & 7; + } + } + } + if(super.keyRightDown) { + cameraAutoAngle = cameraAutoAngle + 7 & 7; + super.keyRightDown = false; + if(!cameraZoom) { + if((cameraAutoAngle & 1) == 0) + cameraAutoAngle = cameraAutoAngle + 7 & 7; + for(int i3 = 0; i3 < 8; i3++) { + if(validCameraAngle(cameraAutoAngle)) + break; + cameraAutoAngle = cameraAutoAngle + 7 & 7; + } + } + } + } + } else + if(super.keyLeftDown) + cameraRotation = cameraRotation + 2 & 0xff; + else + if(super.keyRightDown) + cameraRotation = cameraRotation - 2 & 0xff; + if(super.keyUpDown && cameraDistance > 550) + cameraDistance -= 4; + else if(super.keyDownDown && cameraDistance < 1250) + cameraDistance += 4; + if(fogOfWar) { + if((cameraZoom && cameraDistance > 550) || cameraDistance > 750) + cameraDistance -= 4; + if(!cameraZoom && cameraDistance < 750) + cameraDistance += 4; + } + if(actionPictureType > 0) + actionPictureType--; + else + if(actionPictureType < 0) + actionPictureType++; + gameCamera.bji(17); + modelUpdatingTimer++; + if(modelUpdatingTimer > 5) { + modelUpdatingTimer = 0; + modelFireLightningSpellNumber = (modelFireLightningSpellNumber + 1) % 3; + modelTorchNumber = (modelTorchNumber + 1) % 4; + modelClawSpellNumber = (modelClawSpellNumber + 1) % 5; + } + for(int j3 = 0; j3 < objectCount; j3++) { + int k4 = objectX[j3]; + int k5 = objectY[j3]; + if(k4 >= 0 && k5 >= 0 && k4 < 96 && k5 < 96 && objectType[j3] == 74) + objectArray[j3].cmi(1, 0, 0); + } + + for(int l4 = 0; l4 < teleBubbleCount; l4++) { + teleBubbleTime[l4]++; + if(teleBubbleTime[l4] > 50) { + teleBubbleCount--; + for(int l5 = l4; l5 < teleBubbleCount; l5++) { + teleBubbleX[l5] = teleBubbleX[l5 + 1]; + teleBubbleY[l5] = teleBubbleY[l5 + 1]; + teleBubbleTime[l5] = teleBubbleTime[l5 + 1]; + teleBubbleType[l5] = teleBubbleType[l5 + 1]; + } + + } + } + + } + + private final void createAppearanceWindow() { + appearanceMenu = new Menu(gameGraphics, 100); + appearanceMenu.drawText(256, 10, "Please design Your Character", 4, true); + int l = 140; + int i1 = 34; + l += 116; + i1 -= 10; + appearanceMenu.drawText(l - 55, i1 + 110, "Front", 3, true); + appearanceMenu.drawText(l, i1 + 110, "Side", 3, true); + appearanceMenu.drawText(l + 55, i1 + 110, "Back", 3, true); + byte byte0 = 54; + i1 += 145; + appearanceMenu.drawCurvedBox(l - byte0, i1, 53, 41); + appearanceMenu.drawText(l - byte0, i1 - 8, "Head", 1, true); + appearanceMenu.drawText(l - byte0, i1 + 8, "Type", 1, true); + appearanceMenu.drawArrow(l - byte0 - 40, i1, Menu.baseScrollPic + 7); + appearanceHeadLeftArrow = appearanceMenu.createButton(l - byte0 - 40, i1, 20, 20); + appearanceMenu.drawArrow((l - byte0) + 40, i1, Menu.baseScrollPic + 6); + appearanceHeadRightArrow = appearanceMenu.createButton((l - byte0) + 40, i1, 20, 20); + appearanceMenu.drawCurvedBox(l + byte0, i1, 53, 41); + appearanceMenu.drawText(l + byte0, i1 - 8, "Hair", 1, true); + appearanceMenu.drawText(l + byte0, i1 + 8, "Color", 1, true); + appearanceMenu.drawArrow((l + byte0) - 40, i1, Menu.baseScrollPic + 7); + appearanceHairLeftArrow = appearanceMenu.createButton((l + byte0) - 40, i1, 20, 20); + appearanceMenu.drawArrow(l + byte0 + 40, i1, Menu.baseScrollPic + 6); + appearanceHairRightArrow = appearanceMenu.createButton(l + byte0 + 40, i1, 20, 20); + i1 += 50; + appearanceMenu.drawCurvedBox(l - byte0, i1, 53, 41); + appearanceMenu.drawText(l - byte0, i1, "Gender", 1, true); + appearanceMenu.drawArrow(l - byte0 - 40, i1, Menu.baseScrollPic + 7); + appearanceGenderLeftArrow = appearanceMenu.createButton(l - byte0 - 40, i1, 20, 20); + appearanceMenu.drawArrow((l - byte0) + 40, i1, Menu.baseScrollPic + 6); + appearanceGenderRightArrow = appearanceMenu.createButton((l - byte0) + 40, i1, 20, 20); + appearanceMenu.drawCurvedBox(l + byte0, i1, 53, 41); + appearanceMenu.drawText(l + byte0, i1 - 8, "Top", 1, true); + appearanceMenu.drawText(l + byte0, i1 + 8, "Color", 1, true); + appearanceMenu.drawArrow((l + byte0) - 40, i1, Menu.baseScrollPic + 7); + appearanceTopLeftArrow = appearanceMenu.createButton((l + byte0) - 40, i1, 20, 20); + appearanceMenu.drawArrow(l + byte0 + 40, i1, Menu.baseScrollPic + 6); + appearanceTopRightArrow = appearanceMenu.createButton(l + byte0 + 40, i1, 20, 20); + i1 += 50; + appearanceMenu.drawCurvedBox(l - byte0, i1, 53, 41); + appearanceMenu.drawText(l - byte0, i1 - 8, "Skin", 1, true); + appearanceMenu.drawText(l - byte0, i1 + 8, "Color", 1, true); + appearanceMenu.drawArrow(l - byte0 - 40, i1, Menu.baseScrollPic + 7); + appearanceSkinLeftArrow = appearanceMenu.createButton(l - byte0 - 40, i1, 20, 20); + appearanceMenu.drawArrow((l - byte0) + 40, i1, Menu.baseScrollPic + 6); + appearanceSkingRightArrow = appearanceMenu.createButton((l - byte0) + 40, i1, 20, 20); + appearanceMenu.drawCurvedBox(l + byte0, i1, 53, 41); + appearanceMenu.drawText(l + byte0, i1 - 8, "Bottom", 1, true); + appearanceMenu.drawText(l + byte0, i1 + 8, "Color", 1, true); + appearanceMenu.drawArrow((l + byte0) - 40, i1, Menu.baseScrollPic + 7); + appearanceBottomLeftArrow = appearanceMenu.createButton((l + byte0) - 40, i1, 20, 20); + appearanceMenu.drawArrow(l + byte0 + 40, i1, Menu.baseScrollPic + 6); + appearanceBottomRightArrow = appearanceMenu.createButton(l + byte0 + 40, i1, 20, 20); + i1 += 82; + i1 -= 35; + appearanceMenu.drawButton(l, i1, 200, 30); + appearanceMenu.drawText(l, i1, "Accept", 4, false); + appearanceAcceptButton = appearanceMenu.createButton(l, i1, 200, 30); + } + + protected final void handleKeyDown(int key, char c) { + if(loggedIn == 0) { + if(loginScreen == 0 && loginMenuFirst != null) + loginMenuFirst.keyPress(key, c); + if(loginScreen == 1 && loginNewUser != null) + loginNewUser.keyPress(key, c); + if(loginScreen == 2 && loginMenuLogin != null) + loginMenuLogin.keyPress(key, c); + } + if(loggedIn == 1) { + if(key == KeyEvent.VK_F12) + takeScreenshot(true); + else if(showAppearanceWindow && appearanceMenu != null) + appearanceMenu.keyPress(key, c); + else if(showFriendsBox == 0 && showAbuseBox == 0 && !isSleeping && chatInputMenu != null) + chatInputMenu.keyPress(key, c); + } + } + + private final void generateWorldRightClickMenu() { + int l = 2203 - (sectionY + wildY + areaY); + if(sectionX + wildX + areaX >= 2640) + l = -50; + int ground = -1; + for(int j1 = 0; j1 < objectCount; j1++) + objectAlreadyInMenu[j1] = false; + + for(int k1 = 0; k1 < wallObjectCount; k1++) + wallObjectAlreadyInMenu[k1] = false; + + int optionCount = gameCamera.getOptionCount(); + GameObject objects[] = gameCamera.getHighlightedObjects(); + int players[] = gameCamera.getHighlightedPlayers(); + for(int i2 = 0; i2 < optionCount; i2++) { + if(menuOptionsCount > 200) + break; + int player = players[i2]; + GameObject object = objects[i2]; + if(object.entityType[player] <= 65535 || object.entityType[player] >= 0x30d40 && object.entityType[player] <= 0x493e0) + if(object == gameCamera.highlightedObject) { + int index = object.entityType[player] % 10000; + int type = object.entityType[player] / 10000; + if(type == 1) { + String s1 = ""; + int k4 = 0; + if(ourPlayer.level > 0 && playerArray[index].level > 0) + k4 = ourPlayer.level - playerArray[index].level; + if(k4 < 0) + s1 = "@or1@"; + if(k4 < -3) + s1 = "@or2@"; + if(k4 < -6) + s1 = "@or3@"; + if(k4 < -9) + s1 = "@red@"; + if(k4 > 0) + s1 = "@gr1@"; + if(k4 > 3) + s1 = "@gr2@"; + if(k4 > 6) + s1 = "@gr3@"; + if(k4 > 9) + s1 = "@gre@"; + s1 = " " + s1 + "(level-" + playerArray[index].level + ")"; + if(selectedSpell >= 0) { + if(Data.spellType[selectedSpell] == 1 || Data.spellType[selectedSpell] == 2) { + menuText1[menuOptionsCount] = "Cast " + Data.spellName[selectedSpell] + " on"; + menuText2[menuOptionsCount] = "@whi@" + playerArray[index].username + s1; + menuActionID[menuOptionsCount] = 800; + menuActionX[menuOptionsCount] = playerArray[index].currentX; + menuActionY[menuOptionsCount] = playerArray[index].currentY; + menuActionType[menuOptionsCount] = playerArray[index].serverIndex; + menuActionVar1[menuOptionsCount] = selectedSpell; + menuOptionsCount++; + } + } else + if(selectedItem >= 0) { + menuText1[menuOptionsCount] = "Use " + selectedItemName + " with"; + menuText2[menuOptionsCount] = "@whi@" + playerArray[index].username + s1; + menuActionID[menuOptionsCount] = 810; + menuActionX[menuOptionsCount] = playerArray[index].currentX; + menuActionY[menuOptionsCount] = playerArray[index].currentY; + menuActionType[menuOptionsCount] = playerArray[index].serverIndex; + menuActionVar1[menuOptionsCount] = selectedItem; + menuOptionsCount++; + } else { + if(l > 0 && (playerArray[index].currentY - 64) / magicLoc + wildY + areaY < 2203) { + menuText1[menuOptionsCount] = "Attack"; + menuText2[menuOptionsCount] = "@whi@" + playerArray[index].username + s1; + if(k4 >= 0 && k4 < 5) + menuActionID[menuOptionsCount] = 805; + else + menuActionID[menuOptionsCount] = 2805; + menuActionX[menuOptionsCount] = playerArray[index].currentX; + menuActionY[menuOptionsCount] = playerArray[index].currentY; + menuActionType[menuOptionsCount] = playerArray[index].serverIndex; + menuOptionsCount++; + } else + if(Config.MEMBERS_FEATURES) { + menuText1[menuOptionsCount] = "Duel with"; + menuText2[menuOptionsCount] = "@whi@" + playerArray[index].username + s1; + menuActionX[menuOptionsCount] = playerArray[index].currentX; + menuActionY[menuOptionsCount] = playerArray[index].currentY; + menuActionID[menuOptionsCount] = 2806; + menuActionType[menuOptionsCount] = playerArray[index].serverIndex; + menuOptionsCount++; + } + menuText1[menuOptionsCount] = "Trade with"; + menuText2[menuOptionsCount] = "@whi@" + playerArray[index].username + s1; + menuActionID[menuOptionsCount] = 2810; + menuActionType[menuOptionsCount] = playerArray[index].serverIndex; + menuOptionsCount++; + menuText1[menuOptionsCount] = "Follow"; + menuText2[menuOptionsCount] = "@whi@" + playerArray[index].username + s1; + menuActionID[menuOptionsCount] = 2820; + menuActionType[menuOptionsCount] = playerArray[index].serverIndex; + menuOptionsCount++; + } + } else + if(type == 2) { + if(selectedSpell >= 0) { + if(Data.spellType[selectedSpell] == 3) { + menuText1[menuOptionsCount] = "Cast " + Data.spellName[selectedSpell] + " on"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[groundItemID[index]]; + menuActionID[menuOptionsCount] = 200; + menuActionX[menuOptionsCount] = groundItemX[index]; + menuActionY[menuOptionsCount] = groundItemY[index]; + menuActionType[menuOptionsCount] = groundItemID[index]; + menuActionVar1[menuOptionsCount] = selectedSpell; + menuOptionsCount++; + } + } else + if(selectedItem >= 0) { + menuText1[menuOptionsCount] = "Use " + selectedItemName + " with"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[groundItemID[index]]; + menuActionID[menuOptionsCount] = 210; + menuActionX[menuOptionsCount] = groundItemX[index]; + menuActionY[menuOptionsCount] = groundItemY[index]; + menuActionType[menuOptionsCount] = groundItemID[index]; + menuActionVar1[menuOptionsCount] = selectedItem; + menuOptionsCount++; + } else { + menuText1[menuOptionsCount] = "Take"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[groundItemID[index]]; + menuActionID[menuOptionsCount] = 220; + menuActionX[menuOptionsCount] = groundItemX[index]; + menuActionY[menuOptionsCount] = groundItemY[index]; + menuActionType[menuOptionsCount] = groundItemID[index]; + menuOptionsCount++; + menuText1[menuOptionsCount] = "Examine"; + menuText2[menuOptionsCount] = "@lre@" + Data.itemName[groundItemID[index]]; + menuActionID[menuOptionsCount] = 3200; + menuActionType[menuOptionsCount] = groundItemID[index]; + menuOptionsCount++; + } + } else + if(type == 3) { + String s2 = ""; + int l4 = -1; + int id = npcArray[index].npcId; + if(Data.npcAttackable[id] > 0) { + int j5 = (Data.npcAttack[id] + Data.npcDefense[id] + Data.npcStrength[id] + Data.npcHits[id]) / 4; + int k5 = (playerStatBase[0] + playerStatBase[1] + playerStatBase[2] + playerStatBase[3] + 27) / 4; + l4 = k5 - j5; + s2 = "@yel@"; + if(l4 < 0) + s2 = "@or1@"; + if(l4 < -3) + s2 = "@or2@"; + if(l4 < -6) + s2 = "@or3@"; + if(l4 < -9) + s2 = "@red@"; + if(l4 > 0) + s2 = "@gr1@"; + if(l4 > 3) + s2 = "@gr2@"; + if(l4 > 6) + s2 = "@gr3@"; + if(l4 > 9) + s2 = "@gre@"; + s2 = " " + s2 + "(level-" + j5 + ")"; + } + if(selectedSpell >= 0) { + if(Data.spellType[selectedSpell] == 2) { + menuText1[menuOptionsCount] = "Cast " + Data.spellName[selectedSpell] + " on"; + menuText2[menuOptionsCount] = "@yel@" + Data.npcName[npcArray[index].npcId]; + menuActionID[menuOptionsCount] = 700; + menuActionX[menuOptionsCount] = npcArray[index].currentX; + menuActionY[menuOptionsCount] = npcArray[index].currentY; + menuActionType[menuOptionsCount] = npcArray[index].serverIndex; + menuActionVar1[menuOptionsCount] = selectedSpell; + menuOptionsCount++; + } + } else + if(selectedItem >= 0) { + menuText1[menuOptionsCount] = "Use " + selectedItemName + " with"; + menuText2[menuOptionsCount] = "@yel@" + Data.npcName[npcArray[index].npcId]; + menuActionID[menuOptionsCount] = 710; + menuActionX[menuOptionsCount] = npcArray[index].currentX; + menuActionY[menuOptionsCount] = npcArray[index].currentY; + menuActionType[menuOptionsCount] = npcArray[index].serverIndex; + menuActionVar1[menuOptionsCount] = selectedItem; + menuOptionsCount++; + } else { + if(Data.npcAttackable[id] > 0) { + menuText1[menuOptionsCount] = "Attack"; + menuText2[menuOptionsCount] = "@yel@" + Data.npcName[npcArray[index].npcId] + s2; + if(l4 >= 0) + menuActionID[menuOptionsCount] = 715; + else + menuActionID[menuOptionsCount] = 2715; + menuActionX[menuOptionsCount] = npcArray[index].currentX; + menuActionY[menuOptionsCount] = npcArray[index].currentY; + menuActionType[menuOptionsCount] = npcArray[index].serverIndex; + menuOptionsCount++; + } + menuText1[menuOptionsCount] = "Talk-to"; + menuText2[menuOptionsCount] = "@yel@" + Data.npcName[npcArray[index].npcId]; + menuActionID[menuOptionsCount] = 720; + menuActionX[menuOptionsCount] = npcArray[index].currentX; + menuActionY[menuOptionsCount] = npcArray[index].currentY; + menuActionType[menuOptionsCount] = npcArray[index].serverIndex; + menuOptionsCount++; + if(!Data.npcCommand[id].equals("")) { + menuText1[menuOptionsCount] = Data.npcCommand[id]; + menuText2[menuOptionsCount] = "@yel@" + Data.npcName[npcArray[index].npcId]; + menuActionID[menuOptionsCount] = 725; + menuActionX[menuOptionsCount] = npcArray[index].currentX; + menuActionY[menuOptionsCount] = npcArray[index].currentY; + menuActionType[menuOptionsCount] = npcArray[index].serverIndex; + menuOptionsCount++; + } + menuText1[menuOptionsCount] = "Examine"; + menuText2[menuOptionsCount] = "@yel@" + Data.npcName[npcArray[index].npcId]; + menuActionID[menuOptionsCount] = 3700; + menuActionType[menuOptionsCount] = npcArray[index].npcId; + menuOptionsCount++; + } + } + } else + if(object != null && object.index >= 10000) { + int j3 = object.index - 10000; + int i4 = wallObjectID[j3]; + if(!wallObjectAlreadyInMenu[j3]) { + if(selectedSpell >= 0) { + if(Data.spellType[selectedSpell] == 4) { + menuText1[menuOptionsCount] = "Cast " + Data.spellName[selectedSpell] + " on"; + menuText2[menuOptionsCount] = "@cya@" + Data.wallObjectName[i4]; + menuActionID[menuOptionsCount] = 300; + menuActionX[menuOptionsCount] = wallObjectX[j3]; + menuActionY[menuOptionsCount] = wallObjectY[j3]; + menuActionType[menuOptionsCount] = wallObjectDirection[j3]; + menuActionVar1[menuOptionsCount] = selectedSpell; + menuOptionsCount++; + } + } else + if(selectedItem >= 0) { + menuText1[menuOptionsCount] = "Use " + selectedItemName + " with"; + menuText2[menuOptionsCount] = "@cya@" + Data.wallObjectName[i4]; + menuActionID[menuOptionsCount] = 310; + menuActionX[menuOptionsCount] = wallObjectX[j3]; + menuActionY[menuOptionsCount] = wallObjectY[j3]; + menuActionType[menuOptionsCount] = wallObjectDirection[j3]; + menuActionVar1[menuOptionsCount] = selectedItem; + menuOptionsCount++; + } else { + if(!Data.wallObjectCommand1[i4].equalsIgnoreCase("WalkTo")) { + menuText1[menuOptionsCount] = Data.wallObjectCommand1[i4]; + menuText2[menuOptionsCount] = "@cya@" + Data.wallObjectName[i4]; + menuActionID[menuOptionsCount] = 320; + menuActionX[menuOptionsCount] = wallObjectX[j3]; + menuActionY[menuOptionsCount] = wallObjectY[j3]; + menuActionType[menuOptionsCount] = wallObjectDirection[j3]; + menuOptionsCount++; + } + if(!Data.wallObjectCommand2[i4].equalsIgnoreCase("Examine")) { + menuText1[menuOptionsCount] = Data.wallObjectCommand2[i4]; + menuText2[menuOptionsCount] = "@cya@" + Data.wallObjectName[i4]; + menuActionID[menuOptionsCount] = 2300; + menuActionX[menuOptionsCount] = wallObjectX[j3]; + menuActionY[menuOptionsCount] = wallObjectY[j3]; + menuActionType[menuOptionsCount] = wallObjectDirection[j3]; + menuOptionsCount++; + } + menuText1[menuOptionsCount] = "Examine"; + menuText2[menuOptionsCount] = "@cya@" + Data.wallObjectName[i4]; + menuActionID[menuOptionsCount] = 3300; + menuActionType[menuOptionsCount] = i4; + menuOptionsCount++; + } + wallObjectAlreadyInMenu[j3] = true; + } + } else + if(object != null && object.index >= 0) { + int k3 = object.index; + int j4 = objectType[k3]; + if(!objectAlreadyInMenu[k3]) { + if(selectedSpell >= 0) { + if(Data.spellType[selectedSpell] == 5) { + menuText1[menuOptionsCount] = "Cast " + Data.spellName[selectedSpell] + " on"; + menuText2[menuOptionsCount] = "@cya@" + Data.objectName[j4]; + menuActionID[menuOptionsCount] = 400; + menuActionX[menuOptionsCount] = objectX[k3]; + menuActionY[menuOptionsCount] = objectY[k3]; + menuActionType[menuOptionsCount] = objectRotation[k3]; + menuActionVar1[menuOptionsCount] = objectType[k3]; + menuActionVar2[menuOptionsCount] = selectedSpell; + menuOptionsCount++; + } + } else + if(selectedItem >= 0) { + menuText1[menuOptionsCount] = "Use " + selectedItemName + " with"; + menuText2[menuOptionsCount] = "@cya@" + Data.objectName[j4]; + menuActionID[menuOptionsCount] = 410; + menuActionX[menuOptionsCount] = objectX[k3]; + menuActionY[menuOptionsCount] = objectY[k3]; + menuActionType[menuOptionsCount] = objectRotation[k3]; + menuActionVar1[menuOptionsCount] = objectType[k3]; + menuActionVar2[menuOptionsCount] = selectedItem; + menuOptionsCount++; + } else { + if(!Data.objectCommand1[j4].equalsIgnoreCase("WalkTo")) { + menuText1[menuOptionsCount] = Data.objectCommand1[j4]; + menuText2[menuOptionsCount] = "@cya@" + Data.objectName[j4]; + menuActionID[menuOptionsCount] = 420; + menuActionX[menuOptionsCount] = objectX[k3]; + menuActionY[menuOptionsCount] = objectY[k3]; + menuActionType[menuOptionsCount] = objectRotation[k3]; + menuActionVar1[menuOptionsCount] = objectType[k3]; + menuOptionsCount++; + } + if(!Data.objectCommand2[j4].equalsIgnoreCase("Examine")) { + menuText1[menuOptionsCount] = Data.objectCommand2[j4]; + menuText2[menuOptionsCount] = "@cya@" + Data.objectName[j4]; + menuActionID[menuOptionsCount] = 2400; + menuActionX[menuOptionsCount] = objectX[k3]; + menuActionY[menuOptionsCount] = objectY[k3]; + menuActionType[menuOptionsCount] = objectRotation[k3]; + menuActionVar1[menuOptionsCount] = objectType[k3]; + menuOptionsCount++; + } + menuText1[menuOptionsCount] = "Examine"; + menuText2[menuOptionsCount] = "@cya@" + Data.objectName[j4]; + menuActionID[menuOptionsCount] = 3400; + menuActionType[menuOptionsCount] = j4; + menuOptionsCount++; + } + objectAlreadyInMenu[k3] = true; + } + } else { + if(player >= 0) + player = object.entityType[player] - 0x30d40; + if(player >= 0) + ground = player; + } + } + + if(selectedSpell >= 0 && Data.spellType[selectedSpell] <= 1) { + menuText1[menuOptionsCount] = "Cast " + Data.spellName[selectedSpell] + " on self"; + menuText2[menuOptionsCount] = ""; + menuActionID[menuOptionsCount] = 1000; + menuActionType[menuOptionsCount] = selectedSpell; + menuOptionsCount++; + } + if(ground != -1) { + if(selectedSpell >= 0) { + if(Data.spellType[selectedSpell] == 6) { + menuText1[menuOptionsCount] = "Cast " + Data.spellName[selectedSpell] + " on ground"; + menuText2[menuOptionsCount] = ""; + menuActionID[menuOptionsCount] = 900; + menuActionX[menuOptionsCount] = engineHandle.selectedX[ground]; + menuActionY[menuOptionsCount] = engineHandle.selectedY[ground]; + menuActionType[menuOptionsCount] = selectedSpell; + menuOptionsCount++; + return; + } + } else + if(selectedItem < 0) { + menuText1[menuOptionsCount] = "Walk here"; + menuText2[menuOptionsCount] = ""; + menuActionID[menuOptionsCount] = 920; + menuActionX[menuOptionsCount] = engineHandle.selectedX[ground]; + menuActionY[menuOptionsCount] = engineHandle.selectedY[ground]; + menuOptionsCount++; + } + } + } + + private final void drawShopBox() { + if(mouseButtonClick != 0) { + mouseButtonClick = 0; + int l = super.mouseX - 52; + int i1 = super.mouseY - 44; + if(l >= 0 && i1 >= 12 && l < 408 && i1 < 246) { + int j1 = 0; + for(int l1 = 0; l1 < 5; l1++) { + for(int l2 = 0; l2 < 8; l2++) { + int k3 = 7 + l2 * 49; + int k4 = 28 + l1 * 34; + if(l > k3 && l < k3 + 49 && i1 > k4 && i1 < k4 + 34 && shopItems[j1] != -1) { + selectedShopItemIndex = j1; + selectedShopItemType = shopItems[j1]; + } + j1++; + } + + } + + if(selectedShopItemIndex >= 0) { + int i3 = shopItems[selectedShopItemIndex]; + if(i3 != -1) { + if(shopItemCount[selectedShopItemIndex] > 0 && l > 298 && i1 >= 204 && l < 408 && i1 <= 215) { + super.streamClass.createPacket(128); + super.streamClass.addShort(shopItems[selectedShopItemIndex]); + super.streamClass.addInt(shopItemBuyPrice[selectedShopItemIndex]); + super.streamClass.formatPacket(); + } + if(getInventoryItemTotalCount(i3) > 0 && l > 2 && i1 >= 229 && l < 112 && i1 <= 240) { + super.streamClass.createPacket(255); + super.streamClass.addShort(shopItems[selectedShopItemIndex]); + super.streamClass.addInt(shopItemSellPrice[selectedShopItemIndex]); + super.streamClass.formatPacket(); + } + } + } + } else { + super.streamClass.createPacket(253); + super.streamClass.formatPacket(); + showShopBox = false; + return; + } + } + byte byte0 = 52; + byte byte1 = 44; + gameGraphics.drawBox(byte0, byte1, 408, 12, 192); + int k1 = 0x989898; + gameGraphics.drawBoxAlpha(byte0, byte1 + 12, 408, 17, k1, 160); + gameGraphics.drawBoxAlpha(byte0, byte1 + 29, 8, 170, k1, 160); + gameGraphics.drawBoxAlpha(byte0 + 399, byte1 + 29, 9, 170, k1, 160); + gameGraphics.drawBoxAlpha(byte0, byte1 + 199, 408, 47, k1, 160); + gameGraphics.drawString("Buying and selling items", byte0 + 1, byte1 + 10, 1, 0xffffff); + int i2 = 0xffffff; + if(super.mouseX > byte0 + 320 && super.mouseY >= byte1 && super.mouseX < byte0 + 408 && super.mouseY < byte1 + 12) + i2 = 0xff0000; + gameGraphics.cdk("Close window", byte0 + 406, byte1 + 10, 1, i2); + gameGraphics.drawString("Shops stock in green", byte0 + 2, byte1 + 24, 1, 65280); + gameGraphics.drawString("Number you own in blue", byte0 + 135, byte1 + 24, 1, 65535); + gameGraphics.drawString("Your money: " + getInventoryItemTotalCount(10) + "gp", byte0 + 280, byte1 + 24, 1, 0xffff00); + int j3 = 0xd0d0d0; + int j4 = 0; + for(int j5 = 0; j5 < 5; j5++) { + for(int k5 = 0; k5 < 8; k5++) { + int i6 = byte0 + 7 + k5 * 49; + int l6 = byte1 + 28 + j5 * 34; + if(selectedShopItemIndex == j4) + gameGraphics.drawBoxAlpha(i6, l6, 49, 34, 0xff0000, 160); + else + gameGraphics.drawBoxAlpha(i6, l6, 49, 34, j3, 160); + gameGraphics.drawBoxEdge(i6, l6, 50, 35, 0); + if(shopItems[j4] != -1) { + gameGraphics.drawImage(i6, l6, 48, 32, baseItemPicture + Data.itemInventoryPicture[shopItems[j4]], Data.itemPictureMask[shopItems[j4]], 0, 0, false); + gameGraphics.drawString(String.valueOf(shopItemCount[j4]), i6 + 1, l6 + 10, 1, 65280); + gameGraphics.cdk(String.valueOf(getInventoryItemTotalCount(shopItems[j4])), i6 + 47, l6 + 10, 1, 65535); + } + j4++; + } + + } + + gameGraphics.drawLineX(byte0 + 5, byte1 + 222, 398, 0); + if(selectedShopItemIndex == -1) { + gameGraphics.drawText("Select an object to buy or sell", byte0 + 204, byte1 + 214, 3, 0xffff00); + return; + } + int l5 = shopItems[selectedShopItemIndex]; + if(l5 != -1) { + if(shopItemCount[selectedShopItemIndex] > 0) { + int j6 = shopItemBuyPriceModifier + shopItemBasePriceModifier[selectedShopItemIndex]; + if(j6 < 10) + j6 = 10; + int i7 = (j6 * Data.itemBasePrice[l5]) / 100; + gameGraphics.drawString("Buy a new " + Data.itemName[l5] + " for " + i7 + "gp", byte0 + 2, byte1 + 214, 1, 0xffff00); + int j2 = 0xffffff; + if(super.mouseX > byte0 + 298 && super.mouseY >= byte1 + 204 && super.mouseX < byte0 + 408 && super.mouseY <= byte1 + 215) + j2 = 0xff0000; + gameGraphics.cdk("Click here to buy", byte0 + 405, byte1 + 214, 3, j2); + } else { + gameGraphics.drawText("This item is not currently available to buy", byte0 + 204, byte1 + 214, 3, 0xffff00); + } + if(getInventoryItemTotalCount(l5) > 0) { + int k6 = shopItemSellPriceModifier + shopItemBasePriceModifier[selectedShopItemIndex]; + if(k6 < 10) + k6 = 10; + int j7 = (k6 * Data.itemBasePrice[l5]) / 100; + gameGraphics.cdk("Sell your " + Data.itemName[l5] + " for " + j7 + "gp", byte0 + 405, byte1 + 239, 1, 0xffff00); + int k2 = 0xffffff; + if(super.mouseX > byte0 + 2 && super.mouseY >= byte1 + 229 && super.mouseX < byte0 + 112 && super.mouseY <= byte1 + 240) + k2 = 0xff0000; + gameGraphics.drawString("Click here to sell", byte0 + 2, byte1 + 239, 3, k2); + return; + } + gameGraphics.drawText("You do not have any of this item to sell", byte0 + 204, byte1 + 239, 3, 0xffff00); + } + } + + private final void loadTextures() { + byte abyte0[] = unpackData("textures.jag", "Textures", 50); + if(abyte0 == null) { + errorLoading = true; + return; + } + byte abyte1[] = DataOperations.loadData("index.dat", 0, abyte0); + gameCamera.createPictures(Data.textureCount, 7, 11); + for(int l = 0; l < Data.textureCount; l++) { + String s1 = Data.textureName[l]; + byte abyte2[] = DataOperations.loadData(s1 + ".dat", 0, abyte0); + gameGraphics.unpackImageData(baseTexturePic, abyte2, abyte1, 1); + gameGraphics.drawBox(0, 0, 128, 128, 0xff00ff); + gameGraphics.drawPicture(0, 0, baseTexturePic); + int i1 = ((GameImage) (gameGraphics)).pictureAssumedWidth[baseTexturePic]; + String s2 = Data.textureSubName[l]; + if(s2 != null && s2.length() > 0) { + byte abyte3[] = DataOperations.loadData(s2 + ".dat", 0, abyte0); + gameGraphics.unpackImageData(baseTexturePic, abyte3, abyte1, 1); + gameGraphics.drawPicture(0, 0, baseTexturePic); + } + gameGraphics.cca(subTexturePic + l, 0, 0, i1, i1); + int j1 = i1 * i1; + for(int k1 = 0; k1 < j1; k1++) + if(((GameImage) (gameGraphics)).pictureColors[subTexturePic + l][k1] == 65280) + ((GameImage) (gameGraphics)).pictureColors[subTexturePic + l][k1] = 0xff00ff; + + gameGraphics.cbl(subTexturePic + l); + gameCamera.bjf(l, ((GameImage) (gameGraphics)).bmd[subTexturePic + l], ((GameImage) (gameGraphics)).bme[subTexturePic + l], i1 / 64 - 1); + } + } + + private final void drawAppearanceWindow() { + gameGraphics.interlace = false; + gameGraphics.clearScreen(); + appearanceMenu.drawMenu(); + int l = 140; + int i1 = 50; + l += 116; + i1 -= 25; + gameGraphics.drawCharacterLegs(l - 32 - 55, i1, 64, 102, Data.animationNumber[appearance2Colour], appearanceTopBottomColours[appearanceBottomColour]); + gameGraphics.drawImage(l - 32 - 55, i1, 64, 102, Data.animationNumber[appearanceBodyGender], appearanceTopBottomColours[appearanceTopColour], appearanceSkinColours[appearanceSkinColour], 0, false); + gameGraphics.drawImage(l - 32 - 55, i1, 64, 102, Data.animationNumber[appearanceHeadType], appearanceHairColours[appearanceHairColour], appearanceSkinColours[appearanceSkinColour], 0, false); + gameGraphics.drawCharacterLegs(l - 32, i1, 64, 102, Data.animationNumber[appearance2Colour] + 6, appearanceTopBottomColours[appearanceBottomColour]); + gameGraphics.drawImage(l - 32, i1, 64, 102, Data.animationNumber[appearanceBodyGender] + 6, appearanceTopBottomColours[appearanceTopColour], appearanceSkinColours[appearanceSkinColour], 0, false); + gameGraphics.drawImage(l - 32, i1, 64, 102, Data.animationNumber[appearanceHeadType] + 6, appearanceHairColours[appearanceHairColour], appearanceSkinColours[appearanceSkinColour], 0, false); + gameGraphics.drawCharacterLegs((l - 32) + 55, i1, 64, 102, Data.animationNumber[appearance2Colour] + 12, appearanceTopBottomColours[appearanceBottomColour]); + gameGraphics.drawImage((l - 32) + 55, i1, 64, 102, Data.animationNumber[appearanceBodyGender] + 12, appearanceTopBottomColours[appearanceTopColour], appearanceSkinColours[appearanceSkinColour], 0, false); + gameGraphics.drawImage((l - 32) + 55, i1, 64, 102, Data.animationNumber[appearanceHeadType] + 12, appearanceHairColours[appearanceHairColour], appearanceSkinColours[appearanceSkinColour], 0, false); + gameGraphics.drawPicture(0, windowHeight, baseInventoryPic + 22); + gameGraphics.drawImage(graphics, 0, 0); + } + + private final void checkMouseStatus() { + if(selectedSpell >= 0 || selectedItem >= 0) { + menuText1[menuOptionsCount] = "Cancel"; + menuText2[menuOptionsCount] = ""; + menuActionID[menuOptionsCount] = 4000; + menuOptionsCount++; + } + for(int l = 0; l < menuOptionsCount; l++) + menuIndexes[l] = l; + + for(boolean flag = false; !flag;) { + flag = true; + for(int i1 = 0; i1 < menuOptionsCount - 1; i1++) { + int k1 = menuIndexes[i1]; + int i2 = menuIndexes[i1 + 1]; + if(menuActionID[k1] > menuActionID[i2]) { + menuIndexes[i1] = i2; + menuIndexes[i1 + 1] = k1; + flag = false; + } + } + + } + + if(menuOptionsCount > 20) + menuOptionsCount = 20; + if(menuOptionsCount > 0) { + int j1 = -1; + for(int l1 = 0; l1 < menuOptionsCount; l1++) { + if(menuText2[menuIndexes[l1]] == null || menuText2[menuIndexes[l1]].length() <= 0) + continue; + j1 = l1; + break; + } + + String s1 = null; + if((selectedItem >= 0 || selectedSpell >= 0) && menuOptionsCount == 1) + s1 = "Choose a target"; + else + if((selectedItem >= 0 || selectedSpell >= 0) && menuOptionsCount > 1) + s1 = "@whi@" + menuText1[menuIndexes[0]] + " " + menuText2[menuIndexes[0]]; + else + if(j1 != -1) + s1 = menuText2[menuIndexes[j1]] + ": @whi@" + menuText1[menuIndexes[0]]; + if(menuOptionsCount == 2 && s1 != null) + s1 = s1 + "@whi@ / 1 more option"; + if(menuOptionsCount > 2 && s1 != null) + s1 = s1 + "@whi@ / " + (menuOptionsCount - 1) + " more options"; + if(s1 != null) + gameGraphics.drawString(s1, 6, 14, 1, 0xffff00); + if(!configOneMouseButton && mouseButtonClick == 1 || configOneMouseButton && mouseButtonClick == 1 && menuOptionsCount == 1) { + menuClick(menuIndexes[0]); + mouseButtonClick = 0; + return; + } + if(!configOneMouseButton && mouseButtonClick == 2 || configOneMouseButton && mouseButtonClick == 1) { + menuHeight = (menuOptionsCount + 1) * 15; + menuWidth = gameGraphics.textWidth("Choose option", 1) + 5; + for(int j2 = 0; j2 < menuOptionsCount; j2++) { + int k2 = gameGraphics.textWidth(menuText1[j2] + " " + menuText2[j2], 1) + 5; + if(k2 > menuWidth) + menuWidth = k2; + } + + menuX = super.mouseX - menuWidth / 2; + menuY = super.mouseY - 7; + menuShow = true; + if(menuX < 0) + menuX = 0; + if(menuY < 0) + menuY = 0; + if(menuX + menuWidth > 510) + menuX = 510 - menuWidth; + if(menuY + menuHeight > 315) + menuY = 315 - menuHeight; + mouseButtonClick = 0; + } + } + } + + private final void drawGame() { + if(playerAliveTimeout != 0) { + gameGraphics.screenFadeToBlack(); + gameGraphics.drawText("Oh dear! You are dead...", windowWidth / 2, windowHeight / 2, 7, 0xff0000); + drawChatMessageTabs(); + gameGraphics.drawImage(graphics, 0, 0); + return; + } + if(showAppearanceWindow) { + drawAppearanceWindow(); + return; + } + if(isSleeping) { + gameGraphics.screenFadeToBlack(); + if(Math.random() < 0.14999999999999999D) + gameGraphics.drawText("ZZZ", (int)(Math.random() * 80D), (int)(Math.random() * 334D), 5, (int)(Math.random() * 16777215D)); + if(Math.random() < 0.14999999999999999D) + gameGraphics.drawText("ZZZ", 512 - (int)(Math.random() * 80D), (int)(Math.random() * 334D), 5, (int)(Math.random() * 16777215D)); + gameGraphics.drawBox(windowWidth / 2 - 100, 160, 200, 40, 0); + gameGraphics.drawText("You are sleeping", windowWidth / 2, 50, 7, 0xffff00); + gameGraphics.drawText("Fatigue: " + (fatigue * 100) / 750 + "%", windowWidth / 2, 90, 7, 0xffff00); + gameGraphics.drawText("When you want to wake up just use your", windowWidth / 2, 140, 5, 0xffffff); + gameGraphics.drawText("keyboard to type the word in the box below", windowWidth / 2, 160, 5, 0xffffff); + gameGraphics.drawText(super.inputText + "*", windowWidth / 2, 180, 5, 65535); + if(sleepingStatusText == null) { + gameGraphics.drawPixels(captchaPixels, windowWidth / 2 - 127, 230, captchaWidth, captchaHeight); + } + else + gameGraphics.drawText(sleepingStatusText, windowWidth / 2, 260, 5, 0xff0000); + gameGraphics.drawBoxEdge(windowWidth / 2 - 128, 229, 257, 42, 0xffffff); + drawChatMessageTabs(); + gameGraphics.drawText("If you can't read the word", windowWidth / 2, 290, 1, 0xffffff); + gameGraphics.drawText("@yel@click here@whi@ to get a different one", windowWidth / 2, 305, 1, 0xffffff); + gameGraphics.drawImage(graphics, 0, 0); + return; + } + if(!engineHandle.playerIsAlive) + return; + for(int l = 0; l < 64; l++) { + gameCamera.removeModel(engineHandle.gih[lastLayerIndex][l]); + if(lastLayerIndex == 0) { + gameCamera.removeModel(engineHandle.gim[1][l]); + gameCamera.removeModel(engineHandle.gih[1][l]); + gameCamera.removeModel(engineHandle.gim[2][l]); + gameCamera.removeModel(engineHandle.gih[2][l]); + } + cameraZoom = true; + if(lastLayerIndex == 0 && (engineHandle.tiles[ourPlayer.currentX / 128][ourPlayer.currentY / 128] & 0x80) == 0) { + if(showRoofs) { + gameCamera.addModel(engineHandle.gih[lastLayerIndex][l]); + if(lastLayerIndex == 0) { + gameCamera.addModel(engineHandle.gim[1][l]); + gameCamera.addModel(engineHandle.gih[1][l]); + gameCamera.addModel(engineHandle.gim[2][l]); + gameCamera.addModel(engineHandle.gih[2][l]); + } + } + cameraZoom = false; + } + } + + if(modelFireLightningSpellNumber != lastModelFireLightningSpellNumber) { + lastModelFireLightningSpellNumber = modelFireLightningSpellNumber; + for(int i1 = 0; i1 < objectCount; i1++) { + if(objectType[i1] == 97) + drawModel(i1, "firea" + (modelFireLightningSpellNumber + 1)); + if(objectType[i1] == 274) + drawModel(i1, "fireplacea" + (modelFireLightningSpellNumber + 1)); + if(objectType[i1] == 1031) + drawModel(i1, "lightning" + (modelFireLightningSpellNumber + 1)); + if(objectType[i1] == 1036) + drawModel(i1, "firespell" + (modelFireLightningSpellNumber + 1)); + if(objectType[i1] == 1147) + drawModel(i1, "spellcharge" + (modelFireLightningSpellNumber + 1)); + } + + } + if(modelTorchNumber != lastModelTorchNumber) { + lastModelTorchNumber = modelTorchNumber; + for(int j1 = 0; j1 < objectCount; j1++) { + if(objectType[j1] == 51) + drawModel(j1, "torcha" + (modelTorchNumber + 1)); + if(objectType[j1] == 143) + drawModel(j1, "skulltorcha" + (modelTorchNumber + 1)); + } + + } + if(modelClawSpellNumber != lastModelClawSpellNumber) { + lastModelClawSpellNumber = modelClawSpellNumber; + for(int k1 = 0; k1 < objectCount; k1++) + if(objectType[k1] == 1142) + drawModel(k1, "clawspell" + (modelClawSpellNumber + 1)); + + } + gameCamera.removeLastUpdates(drawUpdatesPerformed); + drawUpdatesPerformed = 0; + for(int l1 = 0; l1 < playerCount; l1++) { + Mob player = playerArray[l1]; + if(player.bottomColour != 255) { + int j2 = player.currentX; + int l2 = player.currentY; + int j3 = -engineHandle.getAveragedElevation(j2, l2); + int k4 = gameCamera.bhd(5000 + l1, j2, j3, l2, 145, 220, l1 + 10000); + drawUpdatesPerformed++; + if(player == ourPlayer) + gameCamera.bhe(k4); + if(player.currentSprite == 8) + gameCamera.bhf(k4, -30); + if(player.currentSprite == 9) + gameCamera.bhf(k4, 30); + } + } + + for(int i2 = 0; i2 < playerCount; i2++) { + Mob player = playerArray[i2]; + if(player.projectileDistance > 0) { + Mob f3 = null; + if(player.attackingNpcIndex != -1) + f3 = npcAttackingArray[player.attackingNpcIndex]; + else + if(player.attackingPlayerIndex != -1) + f3 = playerBufferArray[player.attackingPlayerIndex]; + if(f3 != null) { + int k3 = player.currentX; + int l4 = player.currentY; + int k7 = -engineHandle.getAveragedElevation(k3, l4) - 110; + int k9 = f3.currentX; + int j10 = f3.currentY; + int k10 = -engineHandle.getAveragedElevation(k9, j10) - Data.npcCameraArray2[f3.npcId] / 2; + int l10 = (k3 * player.projectileDistance + k9 * (projectileRange - player.projectileDistance)) / projectileRange; + int i11 = (k7 * player.projectileDistance + k10 * (projectileRange - player.projectileDistance)) / projectileRange; + int j11 = (l4 * player.projectileDistance + j10 * (projectileRange - player.projectileDistance)) / projectileRange; + gameCamera.bhd(baseProjectilePic + player.projectileType, l10, i11, j11, 32, 32, 0); + drawUpdatesPerformed++; + } + } + } + + for(int k2 = 0; k2 < npcCount; k2++) { + Mob npc = npcArray[k2]; + int l3 = npc.currentX; + int i5 = npc.currentY; + int l7 = -engineHandle.getAveragedElevation(l3, i5); + int l9 = gameCamera.bhd(20000 + k2, l3, l7, i5, Data.npcCameraArray1[npc.npcId], Data.npcCameraArray2[npc.npcId], k2 + 30000); + drawUpdatesPerformed++; + if(npc.currentSprite == 8) + gameCamera.bhf(l9, -30); + if(npc.currentSprite == 9) + gameCamera.bhf(l9, 30); + } + + for(int i3 = 0; i3 < groundItemCount; i3++) { + int i4 = groundItemX[i3] * magicLoc + 64; + int j5 = groundItemY[i3] * magicLoc + 64; + gameCamera.bhd(40000 + groundItemID[i3], i4, -engineHandle.getAveragedElevation(i4, j5) - groundItemObjectVar[i3], j5, 96, 64, i3 + 20000); + drawUpdatesPerformed++; + } + + for(int j4 = 0; j4 < teleBubbleCount; j4++) { + int k5 = teleBubbleX[j4] * magicLoc + 64; + int i8 = teleBubbleY[j4] * magicLoc + 64; + int i10 = teleBubbleType[j4]; + if(i10 == 0) { + gameCamera.bhd(50000 + j4, k5, -engineHandle.getAveragedElevation(k5, i8), i8, 128, 256, j4 + 50000); + drawUpdatesPerformed++; + } + if(i10 == 1) { + gameCamera.bhd(50000 + j4, k5, -engineHandle.getAveragedElevation(k5, i8), i8, 128, 64, j4 + 50000); + drawUpdatesPerformed++; + } + } + + gameGraphics.interlace = false; + gameGraphics.clearScreen(); + gameGraphics.interlace = super.keyF1Toggle; + if(lastLayerIndex == 3) { + int l5 = 40 + (int)(Math.random() * 3D); + int j8 = 40 + (int)(Math.random() * 7D); + gameCamera.bjl(l5, j8, -50, -10, -50); + } + itemsAboveHeadCount = 0; + receivedMessagesCount = 0; + healthBarVisibleCount = 0; + if(cameraAutoAngleDebug) { + if(configCameraAutoAngle && !cameraZoom) { + int i6 = cameraAutoAngle; + autoRotateCamera(); + if(cameraAutoAngle != i6) { + cameraAutoRotatePlayerX = ourPlayer.currentX; + cameraAutoRotatePlayerY = ourPlayer.currentY; + } + } + if(fogOfWar) { + gameCamera.zoom1 = 3000; + gameCamera.zoom2 = 3000; + gameCamera.zoom3 = 1; + gameCamera.zoom4 = 2800; + } + else { + gameCamera.zoom1 = 40000; + gameCamera.zoom2 = 40000; + gameCamera.zoom3 = 40000; + gameCamera.zoom4 = 40000; + } + cameraRotation = cameraAutoAngle * 32; + int j6 = cameraAutoRotatePlayerX + cameraRotationXAmount; + int k8 = cameraAutoRotatePlayerY + cameraRotationYAmount; + gameCamera.setCamera(j6, -engineHandle.getAveragedElevation(j6, k8), k8, 912, cameraRotation * 4, 0, 2000); + } else { + if(configCameraAutoAngle && !cameraZoom) + autoRotateCamera(); + if(fogOfWar) { + if(!super.keyF1Toggle) { + gameCamera.zoom1 = 2400; + gameCamera.zoom2 = 2400; + gameCamera.zoom3 = 1; + gameCamera.zoom4 = 2300; + } else { + gameCamera.zoom1 = 2200; + gameCamera.zoom2 = 2200; + gameCamera.zoom3 = 1; + gameCamera.zoom4 = 2100; + } + } + else { + gameCamera.zoom1 = 40000; + gameCamera.zoom2 = 40000; + gameCamera.zoom3 = 40000; + gameCamera.zoom4 = 40000; + } + int k6 = cameraAutoRotatePlayerX + cameraRotationXAmount; + int l8 = cameraAutoRotatePlayerY + cameraRotationYAmount; + gameCamera.setCamera(k6, -engineHandle.getAveragedElevation(k6, l8), l8, 912, cameraRotation * 4, 0, cameraDistance * 2); + } + gameCamera.finishCamera(); + drawAboveHeadThings(); + if(actionPictureType > 0) + gameGraphics.drawPicture(walkMouseX - 8, walkMouseY - 8, baseInventoryPic + 14 + (24 - actionPictureType) / 6); + if(actionPictureType < 0) + gameGraphics.drawPicture(walkMouseX - 8, walkMouseY - 8, baseInventoryPic + 18 + (24 + actionPictureType) / 6); + if(systemUpdate != 0) { + int l6 = systemUpdate / 50; + int i9 = l6 / 60; + l6 %= 60; + if(l6 < 10) + gameGraphics.drawText("System update in: " + i9 + ":0" + l6, 256, windowHeight - 7, 1, 0xffff00); + else + gameGraphics.drawText("System update in: " + i9 + ":" + l6, 256, windowHeight - 7, 1, 0xffff00); + } + if(!loadArea) { + int i7 = 2203 - (sectionY + wildY + areaY); + if(sectionX + wildX + areaX >= 2640) + i7 = -50; + if(i7 > 0) { + int j9 = 1 + i7 / 6; + gameGraphics.drawPicture(453, windowHeight - 56, baseInventoryPic + 13); + gameGraphics.drawText("Wilderness", 465, windowHeight - 20, 1, 0xffff00); + gameGraphics.drawText("Level: " + j9, 465, windowHeight - 7, 1, 0xffff00); + if(wildType == 0) + wildType = 2; + } + if(wildType == 0 && i7 > -10 && i7 <= 0) + wildType = 1; + } + if(messagesTab == 0) { + for(int j7 = 0; j7 < 5; j7++) + if(messagesTimeout[j7] > 0) { + String s1 = messagesArray[j7]; + gameGraphics.drawString(s1, 7, windowHeight - 18 - j7 * 12, 1, 0xffff00); + } + + } + chatInputMenu.ggf(messagesHandleType2); + chatInputMenu.ggf(messagesHandleType5); + chatInputMenu.ggf(messagesHandleType6); + if(messagesTab == 1) + chatInputMenu.gge(messagesHandleType2); + else + if(messagesTab == 2) + chatInputMenu.gge(messagesHandleType5); + else + if(messagesTab == 3) + chatInputMenu.gge(messagesHandleType6); + Menu.chatMenuTextHeightMod = 2; + chatInputMenu.drawMenu(); + Menu.chatMenuTextHeightMod = 0; + gameGraphics.ccd(((GameImage) (gameGraphics)).gameWidth - 3 - 197, 3, baseInventoryPic, 128); + drawMenus(); + gameGraphics.loggedIn = false; + drawChatMessageTabs(); + gameGraphics.drawImage(graphics, 0, 0); + } + + private final void drawReportAbuseBox2() { + if(super.enteredInputText.length() > 0) { + String s1 = super.enteredInputText.trim(); + super.inputText = ""; + super.enteredInputText = ""; + if(s1.length() > 0) { + long l1 = DataOperations.nameToHash(s1); + super.streamClass.createPacket(7); + super.streamClass.addLong(l1); + super.streamClass.addByte(reportAbuseOptionSelected); + //super.streamClass.addByte(dia ? 1 : 0); + super.streamClass.formatPacket(); + } + showAbuseBox = 0; + return; + } + gameGraphics.drawBox(56, 130, 400, 100, 0); + gameGraphics.drawBoxEdge(56, 130, 400, 100, 0xffffff); + int l = 160; + gameGraphics.drawText("Now type the name of the offending player, and press enter", 256, l, 1, 0xffff00); + l += 18; + gameGraphics.drawText("Name: " + super.inputText + "*", 256, l, 4, 0xffffff); + l = 222; + int i1 = 0xffffff; + if(super.mouseX > 196 && super.mouseX < 316 && super.mouseY > l - 13 && super.mouseY < l + 2) { + i1 = 0xffff00; + if(mouseButtonClick == 1) { + mouseButtonClick = 0; + showAbuseBox = 0; + } + } + gameGraphics.drawText("Click here to cancel", 256, l, 1, i1); + if(mouseButtonClick == 1 && (super.mouseX < 56 || super.mouseX > 456 || super.mouseY < 130 || super.mouseY > 230)) { + mouseButtonClick = 0; + showAbuseBox = 0; + } + } + + private final void drawMenus() { + if(logoutTimer != 0) + drawLogoutBox(); + else + if(showWelcomeBox) + drawWelcomeBox(); + else + if(showServerMessageBox) + drawServerMessageBox(); + else + if(wildType == 1) + drawWildernessAlertBox(); + else + if(showBankBox && combatTimeout == 0) + drawBankBox(); + else + if(showShopBox && combatTimeout == 0) + drawShopBox(); + else + if(showTradeConfirmBox) + drawTradeConfirmBox(); + else + if(showTradeBox) + drawTradeBox(); + else + if(showDuelConfirmBox) + drawDuelConfirmBox(); + else + if(showDuelBox) + drawDuelBox(); + else + if(showAbuseBox == 1) + drawReportAbuseBox1(); + else + if(showAbuseBox == 2) + drawReportAbuseBox2(); + else + if(showFriendsBox != 0) { + drawFriendsBox(); + } else { + if(showQuestionMenu) + drawQuestionMenu(); + if(showCombatWindow || ourPlayer.currentSprite == 8 || ourPlayer.currentSprite == 9) + drawCombatStyleBox(); + getMenuHighlighted(); + boolean flag = !showQuestionMenu && !menuShow; + if(flag) + menuOptionsCount = 0; + if(drawMenuTab == 0 && flag) + generateWorldRightClickMenu(); + if(drawMenuTab == 1) + drawInventoryMenu(flag); + if(drawMenuTab == 2) + drawMinimapMenu(flag); + if(drawMenuTab == 3) + drawStatsQuestsMenu(flag); + if(drawMenuTab == 4) + drawPrayerMagicMenu(flag); + if(drawMenuTab == 5) + drawFriendsMenu(flag); + if(drawMenuTab == 6) + drawOptionsMenu(flag); + if(!menuShow && !showQuestionMenu) + checkMouseStatus(); + if(menuShow && !showQuestionMenu) + drawRightClickMenu(); + } + mouseButtonClick = 0; + } + + private final void loadModels() { + Data.getModelNameIndex("torcha2"); + Data.getModelNameIndex("torcha3"); + Data.getModelNameIndex("torcha4"); + Data.getModelNameIndex("skulltorcha2"); + Data.getModelNameIndex("skulltorcha3"); + Data.getModelNameIndex("skulltorcha4"); + Data.getModelNameIndex("firea2"); + Data.getModelNameIndex("firea3"); + Data.getModelNameIndex("fireplacea2"); + Data.getModelNameIndex("fireplacea3"); + Data.getModelNameIndex("firespell2"); + Data.getModelNameIndex("firespell3"); + Data.getModelNameIndex("lightning2"); + Data.getModelNameIndex("lightning3"); + Data.getModelNameIndex("clawspell2"); + Data.getModelNameIndex("clawspell3"); + Data.getModelNameIndex("clawspell4"); + Data.getModelNameIndex("clawspell5"); + Data.getModelNameIndex("spellcharge2"); + Data.getModelNameIndex("spellcharge3"); + byte abyte0[] = unpackData("models.jag", "3d models", 60); + if(abyte0 == null) { + errorLoading = true; + return; + } + for(int i1 = 0; i1 < Data.modelCount; i1++) { + int j1 = DataOperations.getSoundOffset(Data.modelName[i1] + ".ob3", abyte0); + if(j1 != 0) + gameDataObjects[i1] = new GameObject(abyte0, j1, true); + else + gameDataObjects[i1] = new GameObject(1, 1); + if(Data.modelName[i1].equals("giantcrystal")) + gameDataObjects[i1].isGiantCrystal = true; + } + } + + private final void drawDuelBox() { + if(mouseButtonClick != 0 && mouseClickedHeldInTradeDuelBox == 0) + mouseClickedHeldInTradeDuelBox = 1; + if(mouseClickedHeldInTradeDuelBox > 0) { + int l = super.mouseX - 22; + int i1 = super.mouseY - 36; + if(l >= 0 && i1 >= 0 && l < 468 && i1 < 262) { + if(l > 216 && i1 > 30 && l < 462 && i1 < 235) { + int j1 = (l - 217) / 49 + ((i1 - 31) / 34) * 5; + if(j1 >= 0 && j1 < inventoryItemsCount) { + boolean flag1 = false; + int k2 = 0; + int j3 = inventoryItems[j1]; + for(int j4 = 0; j4 < duelMyItemCount; j4++) + if(duelMyItems[j4] == j3) + if(Data.itemStackable[j3] == 0) { + for(int l4 = 0; l4 < mouseClickedHeldInTradeDuelBox; l4++) { + if(duelMyItemsCount[j4] < inventoryItemCount[j1]) + duelMyItemsCount[j4]++; + flag1 = true; + } + + } else { + k2++; + } + + if(getInventoryItemTotalCount(j3) <= k2) + flag1 = true; + if(Data.itemSpecial[j3] == 1) { + displayMessage("This object cannot be added to a duel offer", 3); + flag1 = true; + } + if(!flag1 && duelMyItemCount < 8) { + duelMyItems[duelMyItemCount] = j3; + duelMyItemsCount[duelMyItemCount] = 1; + duelMyItemCount++; + flag1 = true; + } + if(flag1) { + super.streamClass.createPacket(123); + super.streamClass.addByte(duelMyItemCount); + for(int i5 = 0; i5 < duelMyItemCount; i5++) { + super.streamClass.addShort(duelMyItems[i5]); + super.streamClass.addInt(duelMyItemsCount[i5]); + } + + super.streamClass.formatPacket(); + duelOpponentAccepted = false; + duelMyAccepted = false; + } + } + } + if(l > 8 && i1 > 30 && l < 205 && i1 < 129) { + int k1 = (l - 9) / 49 + ((i1 - 31) / 34) * 4; + if(k1 >= 0 && k1 < duelMyItemCount) { + int i2 = duelMyItems[k1]; + for(int l2 = 0; l2 < mouseClickedHeldInTradeDuelBox; l2++) { + if(Data.itemStackable[i2] == 0 && duelMyItemsCount[k1] > 1) { + duelMyItemsCount[k1]--; + continue; + } + duelMyItemCount--; + mouseButtonHeldTime = 0; + for(int k3 = k1; k3 < duelMyItemCount; k3++) { + duelMyItems[k3] = duelMyItems[k3 + 1]; + duelMyItemsCount[k3] = duelMyItemsCount[k3 + 1]; + } + + break; + } + + super.streamClass.createPacket(123); + super.streamClass.addByte(duelMyItemCount); + for(int l3 = 0; l3 < duelMyItemCount; l3++) { + super.streamClass.addShort(duelMyItems[l3]); + super.streamClass.addInt(duelMyItemsCount[l3]); + } + + super.streamClass.formatPacket(); + duelOpponentAccepted = false; + duelMyAccepted = false; + } + } + boolean flag = false; + if(l >= 93 && i1 >= 221 && l <= 104 && i1 <= 232) { + duelNoRetreating = !duelNoRetreating; + flag = true; + } + if(l >= 93 && i1 >= 240 && l <= 104 && i1 <= 251) { + duelNoMagic = !duelNoMagic; + flag = true; + } + if(l >= 191 && i1 >= 221 && l <= 202 && i1 <= 232) { + duelNoPrayer = !duelNoPrayer; + flag = true; + } + if(l >= 191 && i1 >= 240 && l <= 202 && i1 <= 251) { + duelNoWeapons = !duelNoWeapons; + flag = true; + } + if(flag) { + super.streamClass.createPacket(225); + super.streamClass.addByte(duelNoRetreating ? 1 : 0); + super.streamClass.addByte(duelNoMagic ? 1 : 0); + super.streamClass.addByte(duelNoPrayer ? 1 : 0); + super.streamClass.addByte(duelNoWeapons ? 1 : 0); + super.streamClass.formatPacket(); + duelOpponentAccepted = false; + duelMyAccepted = false; + } + if(l >= 217 && i1 >= 238 && l <= 286 && i1 <= 259) { + duelMyAccepted = true; + super.streamClass.createPacket(252); + super.streamClass.formatPacket(); + } + if(l >= 394 && i1 >= 238 && l < 463 && i1 < 259) { + showDuelBox = false; + super.streamClass.createPacket(35); + super.streamClass.formatPacket(); + } + } else + if(mouseButtonClick != 0) { + showDuelBox = false; + super.streamClass.createPacket(35); + super.streamClass.formatPacket(); + } + mouseButtonClick = 0; + mouseClickedHeldInTradeDuelBox = 0; + } + if(!showDuelBox) + return; + byte byte0 = 22; + byte byte1 = 36; + gameGraphics.drawBox(byte0, byte1, 468, 12, 0xc90b1d); + int l1 = 0x989898; + gameGraphics.drawBoxAlpha(byte0, byte1 + 12, 468, 18, l1, 160); + gameGraphics.drawBoxAlpha(byte0, byte1 + 30, 8, 248, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 205, byte1 + 30, 11, 248, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 462, byte1 + 30, 6, 248, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 99, 197, 24, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 192, 197, 23, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 258, 197, 20, l1, 160); + gameGraphics.drawBoxAlpha(byte0 + 216, byte1 + 235, 246, 43, l1, 160); + int j2 = 0xd0d0d0; + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 30, 197, 69, j2, 160); + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 123, 197, 69, j2, 160); + gameGraphics.drawBoxAlpha(byte0 + 8, byte1 + 215, 197, 43, j2, 160); + gameGraphics.drawBoxAlpha(byte0 + 216, byte1 + 30, 246, 205, j2, 160); + for(int i3 = 0; i3 < 3; i3++) + gameGraphics.drawLineX(byte0 + 8, byte1 + 30 + i3 * 34, 197, 0); + + for(int i4 = 0; i4 < 3; i4++) + gameGraphics.drawLineX(byte0 + 8, byte1 + 123 + i4 * 34, 197, 0); + + for(int k4 = 0; k4 < 7; k4++) + gameGraphics.drawLineX(byte0 + 216, byte1 + 30 + k4 * 34, 246, 0); + + for(int j5 = 0; j5 < 6; j5++) { + if(j5 < 5) + gameGraphics.drawLineY(byte0 + 8 + j5 * 49, byte1 + 30, 69, 0); + if(j5 < 5) + gameGraphics.drawLineY(byte0 + 8 + j5 * 49, byte1 + 123, 69, 0); + gameGraphics.drawLineY(byte0 + 216 + j5 * 49, byte1 + 30, 205, 0); + } + + gameGraphics.drawLineX(byte0 + 8, byte1 + 215, 197, 0); + gameGraphics.drawLineX(byte0 + 8, byte1 + 257, 197, 0); + gameGraphics.drawLineY(byte0 + 8, byte1 + 215, 43, 0); + gameGraphics.drawLineY(byte0 + 204, byte1 + 215, 43, 0); + gameGraphics.drawString("Preparing to duel with: " + duelOpponent, byte0 + 1, byte1 + 10, 1, 0xffffff); + gameGraphics.drawString("Your Stake", byte0 + 9, byte1 + 27, 4, 0xffffff); + gameGraphics.drawString("Opponent's Stake", byte0 + 9, byte1 + 120, 4, 0xffffff); + gameGraphics.drawString("Duel Options", byte0 + 9, byte1 + 212, 4, 0xffffff); + gameGraphics.drawString("Your Inventory", byte0 + 216, byte1 + 27, 4, 0xffffff); + gameGraphics.drawString("No retreating", byte0 + 8 + 1, byte1 + 215 + 16, 3, 0xffff00); + gameGraphics.drawString("No magic", byte0 + 8 + 1, byte1 + 215 + 35, 3, 0xffff00); + gameGraphics.drawString("No prayer", byte0 + 8 + 102, byte1 + 215 + 16, 3, 0xffff00); + gameGraphics.drawString("No weapons", byte0 + 8 + 102, byte1 + 215 + 35, 3, 0xffff00); + gameGraphics.drawBoxEdge(byte0 + 93, byte1 + 215 + 6, 11, 11, 0xffff00); + if(duelNoRetreating) + gameGraphics.drawBox(byte0 + 95, byte1 + 215 + 8, 7, 7, 0xffff00); + gameGraphics.drawBoxEdge(byte0 + 93, byte1 + 215 + 25, 11, 11, 0xffff00); + if(duelNoMagic) + gameGraphics.drawBox(byte0 + 95, byte1 + 215 + 27, 7, 7, 0xffff00); + gameGraphics.drawBoxEdge(byte0 + 191, byte1 + 215 + 6, 11, 11, 0xffff00); + if(duelNoPrayer) + gameGraphics.drawBox(byte0 + 193, byte1 + 215 + 8, 7, 7, 0xffff00); + gameGraphics.drawBoxEdge(byte0 + 191, byte1 + 215 + 25, 11, 11, 0xffff00); + if(duelNoWeapons) + gameGraphics.drawBox(byte0 + 193, byte1 + 215 + 27, 7, 7, 0xffff00); + if(!duelMyAccepted) + gameGraphics.drawPicture(byte0 + 217, byte1 + 238, baseInventoryPic + 25); + gameGraphics.drawPicture(byte0 + 394, byte1 + 238, baseInventoryPic + 26); + if(duelOpponentAccepted) { + gameGraphics.drawText("Other player", byte0 + 341, byte1 + 246, 1, 0xffffff); + gameGraphics.drawText("has accepted", byte0 + 341, byte1 + 256, 1, 0xffffff); + } + if(duelMyAccepted) { + gameGraphics.drawText("Waiting for", byte0 + 217 + 35, byte1 + 246, 1, 0xffffff); + gameGraphics.drawText("other player", byte0 + 217 + 35, byte1 + 256, 1, 0xffffff); + } + for(int k5 = 0; k5 < inventoryItemsCount; k5++) { + int l5 = 217 + byte0 + (k5 % 5) * 49; + int j6 = 31 + byte1 + (k5 / 5) * 34; + gameGraphics.drawImage(l5, j6, 48, 32, baseItemPicture + Data.itemInventoryPicture[inventoryItems[k5]], Data.itemPictureMask[inventoryItems[k5]], 0, 0, false); + if(Data.itemStackable[inventoryItems[k5]] == 0) + gameGraphics.drawString(String.valueOf(inventoryItemCount[k5]), l5 + 1, j6 + 10, 1, 0xffff00); + } + + for(int i6 = 0; i6 < duelMyItemCount; i6++) { + int k6 = 9 + byte0 + (i6 % 4) * 49; + int i7 = 31 + byte1 + (i6 / 4) * 34; + gameGraphics.drawImage(k6, i7, 48, 32, baseItemPicture + Data.itemInventoryPicture[duelMyItems[i6]], Data.itemPictureMask[duelMyItems[i6]], 0, 0, false); + if(Data.itemStackable[duelMyItems[i6]] == 0) + gameGraphics.drawString(String.valueOf(duelMyItemsCount[i6]), k6 + 1, i7 + 10, 1, 0xffff00); + if(super.mouseX > k6 && super.mouseX < k6 + 48 && super.mouseY > i7 && super.mouseY < i7 + 32) + gameGraphics.drawString(Data.itemName[duelMyItems[i6]] + ": @whi@" + Data.itemDescription[duelMyItems[i6]], byte0 + 8, byte1 + 273, 1, 0xffff00); + } + + for(int l6 = 0; l6 < duelOpponentItemCount; l6++) { + int j7 = 9 + byte0 + (l6 % 4) * 49; + int k7 = 124 + byte1 + (l6 / 4) * 34; + gameGraphics.drawImage(j7, k7, 48, 32, baseItemPicture + Data.itemInventoryPicture[duelOpponentItems[l6]], Data.itemPictureMask[duelOpponentItems[l6]], 0, 0, false); + if(Data.itemStackable[duelOpponentItems[l6]] == 0) + gameGraphics.drawString(String.valueOf(duelOpponentItemsCount[l6]), j7 + 1, k7 + 10, 1, 0xffff00); + if(super.mouseX > j7 && super.mouseX < j7 + 48 && super.mouseY > k7 && super.mouseY < k7 + 32) + gameGraphics.drawString(Data.itemName[duelOpponentItems[l6]] + ": @whi@" + Data.itemDescription[duelOpponentItems[l6]], byte0 + 8, byte1 + 273, 1, 0xffff00); + } + + } + + private final void drawWildernessAlertBox() { + int l = 97; + gameGraphics.drawBox(86, 77, 340, 180, 0); + gameGraphics.drawBoxEdge(86, 77, 340, 180, 0xffffff); + gameGraphics.drawText("Warning! Proceed with caution", 256, l, 4, 0xff0000); + l += 26; + gameGraphics.drawText("If you go much further north you will enter the", 256, l, 1, 0xffffff); + l += 13; + gameGraphics.drawText("wilderness. This a very dangerous area where", 256, l, 1, 0xffffff); + l += 13; + gameGraphics.drawText("other players can attack you!", 256, l, 1, 0xffffff); + l += 22; + gameGraphics.drawText("The further north you go the more dangerous it", 256, l, 1, 0xffffff); + l += 13; + gameGraphics.drawText("becomes, but the more treasure you will find.", 256, l, 1, 0xffffff); + l += 22; + gameGraphics.drawText("In the wilderness an indicator at the bottom-right", 256, l, 1, 0xffffff); + l += 13; + gameGraphics.drawText("of the screen will show the current level of danger", 256, l, 1, 0xffffff); + l += 22; + int i1 = 0xffffff; + if(super.mouseY > l - 12 && super.mouseY <= l && super.mouseX > 181 && super.mouseX < 331) + i1 = 0xff0000; + gameGraphics.drawText("Click here to close window", 256, l, 1, i1); + if(mouseButtonClick != 0) { + if(super.mouseY > l - 12 && super.mouseY <= l && super.mouseX > 181 && super.mouseX < 331) + wildType = 2; + if(super.mouseX < 86 || super.mouseX > 426 || super.mouseY < 77 || super.mouseY > 257) + wildType = 2; + mouseButtonClick = 0; + } + } + + final void drawNPC(int x, int y, int width, int height, int index, int unknown1, int unknown2) { + Mob npc = npcArray[index]; + int l = npc.currentSprite + (cameraRotation + 16) / 32 & 7; + boolean flag = false; + int i1 = l; + if(i1 == 5) { + i1 = 3; + flag = true; + } else + if(i1 == 6) { + i1 = 2; + flag = true; + } else + if(i1 == 7) { + i1 = 1; + flag = true; + } + int j1 = i1 * 3 + walkModel[(npc.stepCount / Data.npcWalkModelArray[npc.npcId]) % 4]; + if(npc.currentSprite == 8) { + i1 = 5; + l = 2; + flag = false; + x -= (Data.npcCombatSprite[npc.npcId] * unknown2) / 100; + j1 = i1 * 3 + combatModelArray1[(tick / (Data.npcCombatModel[npc.npcId] - 1)) % 8]; + } else + if(npc.currentSprite == 9) { + i1 = 5; + l = 2; + flag = true; + x += (Data.npcCombatSprite[npc.npcId] * unknown2) / 100; + j1 = i1 * 3 + combatModelArray2[(tick / Data.npcCombatModel[npc.npcId]) % 8]; + } + for(int k1 = 0; k1 < 12; k1++) { + int l1 = animationModelArray[l][k1]; + int k2 = Data.npcAnimationCount[npc.npcId][l1]; + if(k2 >= 0) { + int i3 = 0; + int j3 = 0; + int k3 = j1; + if(flag && i1 >= 1 && i1 <= 3 && Data.animationHasF[k2] == 1) + k3 += 15; + if(i1 != 5 || Data.animationHasA[k2] == 1) { + int l3 = k3 + Data.animationNumber[k2]; + i3 = (i3 * width) / ((GameImage) (gameGraphics)).pictureAssumedWidth[l3]; + j3 = (j3 * height) / ((GameImage) (gameGraphics)).pictureAssumedHeight[l3]; + int i4 = (width * ((GameImage) (gameGraphics)).pictureAssumedWidth[l3]) / ((GameImage) (gameGraphics)).pictureAssumedWidth[Data.animationNumber[k2]]; + i3 -= (i4 - width) / 2; + int j4 = Data.animationCharacterColor[k2]; + int k4 = 0; + if(j4 == 1) { + j4 = Data.npcHairColor[npc.npcId]; + k4 = Data.npcSkinColor[npc.npcId]; + } else + if(j4 == 2) { + j4 = Data.npcTopColor[npc.npcId]; + k4 = Data.npcSkinColor[npc.npcId]; + } else + if(j4 == 3) { + j4 = Data.npcBottomColor[npc.npcId]; + k4 = Data.npcSkinColor[npc.npcId]; + } + gameGraphics.drawImage(x + i3, y + j3, i4, height, l3, j4, k4, unknown1, flag); + } + } + } + + if(npc.lastMessageTimeout > 0) { + receivedMessageMidPoint[receivedMessagesCount] = gameGraphics.textWidth(npc.lastMessage, 1) / 2; + if(receivedMessageMidPoint[receivedMessagesCount] > 150) + receivedMessageMidPoint[receivedMessagesCount] = 150; + receivedMessageHeight[receivedMessagesCount] = (gameGraphics.textWidth(npc.lastMessage, 1) / 300) * gameGraphics.textHeightNumber(1); + receivedMessageX[receivedMessagesCount] = x + width / 2; + receivedMessageY[receivedMessagesCount] = y; + receivedMessages[receivedMessagesCount++] = npc.lastMessage; + } + if(npc.currentSprite == 8 || npc.currentSprite == 9 || npc.combatTimer != 0) { + if(npc.combatTimer > 0) { + int i2 = x; + if(npc.currentSprite == 8) + i2 -= (20 * unknown2) / 100; + else + if(npc.currentSprite == 9) + i2 += (20 * unknown2) / 100; + int l2 = (npc.currentHits * 30) / npc.baseHits; + healthBarX[healthBarVisibleCount] = i2 + width / 2; + healthBarY[healthBarVisibleCount] = y; + healthBarMissing[healthBarVisibleCount++] = l2; + } + if(npc.combatTimer > 150) { + int j2 = x; + if(npc.currentSprite == 8) + j2 -= (10 * unknown2) / 100; + else + if(npc.currentSprite == 9) + j2 += (10 * unknown2) / 100; + gameGraphics.drawPicture((j2 + width / 2) - 12, (y + height / 2) - 12, baseInventoryPic + 12); + gameGraphics.drawText(String.valueOf(npc.lastDamageCount), (j2 + width / 2) - 1, y + height / 2 + 5, 3, 0xffffff); + } + } + } + + protected final void displayMessage(String s1) { + if(s1.startsWith("@bor@")) { + displayMessage(s1, 4); + return; + } + if(s1.startsWith("@que@")) { + displayMessage("@whi@" + s1, 5); + return; + } + if(s1.startsWith("@pri@")) { + displayMessage(s1, 6); + return; + } else { + displayMessage(s1, 3); + return; + } + } + + private final void drawAboveHeadThings() { + for(int l = 0; l < receivedMessagesCount; l++) { + int height = gameGraphics.textHeightNumber(1); + int x = receivedMessageX[l]; + int y = receivedMessageY[l]; + int midpoint = receivedMessageMidPoint[l]; + int l3 = receivedMessageHeight[l]; + boolean flag = true; + while(flag) { + flag = false; + for(int l4 = 0; l4 < l; l4++) + if(y + l3 > receivedMessageY[l4] - height && y - height < receivedMessageY[l4] + receivedMessageHeight[l4] && x - midpoint < receivedMessageX[l4] + receivedMessageMidPoint[l4] && x + midpoint > receivedMessageX[l4] - receivedMessageMidPoint[l4] && receivedMessageY[l4] - height - l3 < y) { + y = receivedMessageY[l4] - height - l3; + flag = true; + } + + } + receivedMessageY[l] = y; + gameGraphics.drawFloatingText(receivedMessages[l], x, y, 1, 0xffff00, 300); + } + + for(int j1 = 0; j1 < itemsAboveHeadCount; j1++) { + int x = itemAboveHeadX[j1]; + int y = itemAboveHeadY[j1]; + int scale = itemAboveHeadScale[j1]; + int id = itemAboveHeadID[j1]; + int width = (39 * scale) / 100; + int height = (27 * scale) / 100; + int j5 = y - height; + gameGraphics.drawTransparentImage(x - width / 2, j5, width, height, baseInventoryPic + 9, 85); + int k5 = (36 * scale) / 100; + int l5 = (24 * scale) / 100; + gameGraphics.drawImage(x - k5 / 2, (j5 + height / 2) - l5 / 2, k5, l5, Data.itemInventoryPicture[id] + baseItemPicture, Data.itemPictureMask[id], 0, 0, false); + } + + for(int i2 = 0; i2 < healthBarVisibleCount; i2++) { + int x = healthBarX[i2]; + int y = healthBarY[i2]; + int missing = healthBarMissing[i2]; + gameGraphics.drawBoxAlpha(x - 15, y - 3, missing, 5, 65280, 192); + gameGraphics.drawBoxAlpha((x - 15) + missing, y - 3, 30 - missing, 5, 0xff0000, 192); + } + + } + + protected final void cantLogout() { + logoutTimer = 0; + displayMessage("@cya@Sorry, you can't logout at the moment", 3); + } + + private final void drawBankBox() { + char c1 = '\u0198'; + char c2 = '\u014E'; + if(bankPage > 0 && bankItemsCount <= 48) + bankPage = 0; + if(bankPage > 1 && bankItemsCount <= 96) + bankPage = 1; + if(bankPage > 2 && bankItemsCount <= 144) + bankPage = 2; + if(selectedBankItem >= bankItemsCount || selectedBankItem < 0) + selectedBankItem = -1; + if(selectedBankItem != -1 && bankItems[selectedBankItem] != selectedBankItemType) { + selectedBankItem = -1; + selectedBankItemType = -2; + } + if(mouseButtonClick != 0) { + mouseButtonClick = 0; + int l = super.mouseX - (256 - c1 / 2); + int j1 = super.mouseY - (170 - c2 / 2); + if(l >= 0 && j1 >= 12 && l < 408 && j1 < 280) { + int l1 = bankPage * 48; + for(int k2 = 0; k2 < 6; k2++) { + for(int i3 = 0; i3 < 8; i3++) { + int k7 = 7 + i3 * 49; + int i8 = 28 + k2 * 34; + if(l > k7 && l < k7 + 49 && j1 > i8 && j1 < i8 + 34 && l1 < bankItemsCount && bankItems[l1] != -1) { + selectedBankItemType = bankItems[l1]; + selectedBankItem = l1; + } + l1++; + } + + } + + l = 256 - c1 / 2; + j1 = 170 - c2 / 2; + int id; + if(selectedBankItem < 0) + id = -1; + else + id = bankItems[selectedBankItem]; + if(id != -1) { + int count = bankItemCount[selectedBankItem]; + if(Data.itemStackable[id] == 1 && count > 1) + count = 1; + if(count >= 1 && super.mouseX >= l + 220 && super.mouseY >= j1 + 238 && super.mouseX < l + 250 && super.mouseY <= j1 + 249) { + super.streamClass.createPacket(183); + super.streamClass.addShort(id); + super.streamClass.addInt(1); + super.streamClass.formatPacket(); + } + if(count >= 5 && super.mouseX >= l + 250 && super.mouseY >= j1 + 238 && super.mouseX < l + 280 && super.mouseY <= j1 + 249) { + super.streamClass.createPacket(183); + super.streamClass.addShort(id); + super.streamClass.addInt(5); + super.streamClass.formatPacket(); + } + if(count >= 25 && super.mouseX >= l + 280 && super.mouseY >= j1 + 238 && super.mouseX < l + 305 && super.mouseY <= j1 + 249) { + super.streamClass.createPacket(183); + super.streamClass.addShort(id); + super.streamClass.addInt(25); + super.streamClass.formatPacket(); + } + if(count >= 100 && super.mouseX >= l + 305 && super.mouseY >= j1 + 238 && super.mouseX < l + 335 && super.mouseY <= j1 + 249) { + super.streamClass.createPacket(183); + super.streamClass.addShort(id); + super.streamClass.addInt(100); + super.streamClass.formatPacket(); + } + if(count >= 500 && super.mouseX >= l + 335 && super.mouseY >= j1 + 238 && super.mouseX < l + 368 && super.mouseY <= j1 + 249) { + super.streamClass.createPacket(183); + super.streamClass.addShort(id); + super.streamClass.addInt(500); + super.streamClass.formatPacket(); + } + if(count >= 2500 && super.mouseX >= l + 370 && super.mouseY >= j1 + 238 && super.mouseX < l + 400 && super.mouseY <= j1 + 249) { + super.streamClass.createPacket(183); + super.streamClass.addShort(id); + super.streamClass.addInt(2500); + super.streamClass.formatPacket(); + } + if(getInventoryItemTotalCount(id) >= 1 && super.mouseX >= l + 220 && super.mouseY >= j1 + 263 && super.mouseX < l + 250 && super.mouseY <= j1 + 274) { + super.streamClass.createPacket(198); + super.streamClass.addShort(id); + super.streamClass.addInt(1); + super.streamClass.formatPacket(); + } + if(getInventoryItemTotalCount(id) >= 5 && super.mouseX >= l + 250 && super.mouseY >= j1 + 263 && super.mouseX < l + 280 && super.mouseY <= j1 + 274) { + super.streamClass.createPacket(198); + super.streamClass.addShort(id); + super.streamClass.addInt(5); + super.streamClass.formatPacket(); + } + if(getInventoryItemTotalCount(id) >= 25 && super.mouseX >= l + 280 && super.mouseY >= j1 + 263 && super.mouseX < l + 305 && super.mouseY <= j1 + 274) { + super.streamClass.createPacket(198); + super.streamClass.addShort(id); + super.streamClass.addInt(25); + super.streamClass.formatPacket(); + } + if(getInventoryItemTotalCount(id) >= 100 && super.mouseX >= l + 305 && super.mouseY >= j1 + 263 && super.mouseX < l + 335 && super.mouseY <= j1 + 274) { + super.streamClass.createPacket(198); + super.streamClass.addShort(id); + super.streamClass.addInt(100); + super.streamClass.formatPacket(); + } + if(getInventoryItemTotalCount(id) >= 500 && super.mouseX >= l + 335 && super.mouseY >= j1 + 263 && super.mouseX < l + 368 && super.mouseY <= j1 + 274) { + super.streamClass.createPacket(198); + super.streamClass.addShort(id); + super.streamClass.addInt(500); + super.streamClass.formatPacket(); + } + if(getInventoryItemTotalCount(id) >= 2500 && super.mouseX >= l + 370 && super.mouseY >= j1 + 263 && super.mouseX < l + 400 && super.mouseY <= j1 + 274) { + super.streamClass.createPacket(198); + super.streamClass.addShort(id); + super.streamClass.addInt(2500); + super.streamClass.formatPacket(); + } + } + } else + if(bankItemsCount > 48 && l >= 50 && l <= 115 && j1 <= 12) + bankPage = 0; + else + if(bankItemsCount > 48 && l >= 115 && l <= 180 && j1 <= 12) + bankPage = 1; + else + if(bankItemsCount > 96 && l >= 180 && l <= 245 && j1 <= 12) + bankPage = 2; + else + if(bankItemsCount > 144 && l >= 245 && l <= 310 && j1 <= 12) { + bankPage = 3; + } else { + super.streamClass.createPacket(48); + super.streamClass.formatPacket(); + showBankBox = false; + return; + } + } + int i1 = 256 - c1 / 2; + int k1 = 170 - c2 / 2; + gameGraphics.drawBox(i1, k1, 408, 12, 192); + int j2 = 0x989898; + gameGraphics.drawBoxAlpha(i1, k1 + 12, 408, 17, j2, 160); + gameGraphics.drawBoxAlpha(i1, k1 + 29, 8, 204, j2, 160); + gameGraphics.drawBoxAlpha(i1 + 399, k1 + 29, 9, 204, j2, 160); + gameGraphics.drawBoxAlpha(i1, k1 + 233, 408, 47, j2, 160); + gameGraphics.drawString("Bank", i1 + 1, k1 + 10, 1, 0xffffff); + int l2 = 50; + if(bankItemsCount > 48) { + int k3 = 0xffffff; + if(bankPage == 0) + k3 = 0xff0000; + else + if(super.mouseX > i1 + l2 && super.mouseY >= k1 && super.mouseX < i1 + l2 + 65 && super.mouseY < k1 + 12) + k3 = 0xffff00; + gameGraphics.drawString("", i1 + l2, k1 + 10, 1, k3); + l2 += 65; + k3 = 0xffffff; + if(bankPage == 1) + k3 = 0xff0000; + else + if(super.mouseX > i1 + l2 && super.mouseY >= k1 && super.mouseX < i1 + l2 + 65 && super.mouseY < k1 + 12) + k3 = 0xffff00; + gameGraphics.drawString("", i1 + l2, k1 + 10, 1, k3); + l2 += 65; + } + if(bankItemsCount > 96) { + int l3 = 0xffffff; + if(bankPage == 2) + l3 = 0xff0000; + else + if(super.mouseX > i1 + l2 && super.mouseY >= k1 && super.mouseX < i1 + l2 + 65 && super.mouseY < k1 + 12) + l3 = 0xffff00; + gameGraphics.drawString("", i1 + l2, k1 + 10, 1, l3); + l2 += 65; + } + if(bankItemsCount > 144) { + int i4 = 0xffffff; + if(bankPage == 3) + i4 = 0xff0000; + else + if(super.mouseX > i1 + l2 && super.mouseY >= k1 && super.mouseX < i1 + l2 + 65 && super.mouseY < k1 + 12) + i4 = 0xffff00; + gameGraphics.drawString("", i1 + l2, k1 + 10, 1, i4); + l2 += 65; + } + int j4 = 0xffffff; + if(super.mouseX > i1 + 320 && super.mouseY >= k1 && super.mouseX < i1 + 408 && super.mouseY < k1 + 12) + j4 = 0xff0000; + gameGraphics.cdk("Close window", i1 + 406, k1 + 10, 1, j4); + gameGraphics.drawString("Number in bank in green", i1 + 7, k1 + 24, 1, 65280); + gameGraphics.drawString("Number held in blue", i1 + 289, k1 + 24, 1, 65535); + int l7 = 0xd0d0d0; + int j8 = bankPage * 48; + for(int l8 = 0; l8 < 6; l8++) { + for(int i9 = 0; i9 < 8; i9++) { + int k9 = i1 + 7 + i9 * 49; + int l9 = k1 + 28 + l8 * 34; + if(selectedBankItem == j8) + gameGraphics.drawBoxAlpha(k9, l9, 49, 34, 0xff0000, 160); + else + gameGraphics.drawBoxAlpha(k9, l9, 49, 34, l7, 160); + gameGraphics.drawBoxEdge(k9, l9, 50, 35, 0); + if(j8 < bankItemsCount && bankItems[j8] != -1) { + gameGraphics.drawImage(k9, l9, 48, 32, baseItemPicture + Data.itemInventoryPicture[bankItems[j8]], Data.itemPictureMask[bankItems[j8]], 0, 0, false); + gameGraphics.drawString(String.valueOf(bankItemCount[j8]), k9 + 1, l9 + 10, 1, 65280); + gameGraphics.cdk(String.valueOf(getInventoryItemTotalCount(bankItems[j8])), k9 + 47, l9 + 29, 1, 65535); + } + j8++; + } + + } + + gameGraphics.drawLineX(i1 + 5, k1 + 256, 398, 0); + if(selectedBankItem == -1) { + gameGraphics.drawText("Select an object to withdraw or deposit", i1 + 204, k1 + 248, 3, 0xffff00); + return; + } + int j9; + if(selectedBankItem < 0) + j9 = -1; + else + j9 = bankItems[selectedBankItem]; + if(j9 != -1) { + int k8 = bankItemCount[selectedBankItem]; + if(Data.itemStackable[j9] == 1 && k8 > 1) + k8 = 1; + if(k8 > 0) { + gameGraphics.drawString("Withdraw " + Data.itemName[j9], i1 + 2, k1 + 248, 1, 0xffffff); + int k4 = 0xffffff; + if(super.mouseX >= i1 + 220 && super.mouseY >= k1 + 238 && super.mouseX < i1 + 250 && super.mouseY <= k1 + 249) + k4 = 0xff0000; + gameGraphics.drawString("One", i1 + 222, k1 + 248, 1, k4); + if(k8 >= 5) { + int l4 = 0xffffff; + if(super.mouseX >= i1 + 250 && super.mouseY >= k1 + 238 && super.mouseX < i1 + 280 && super.mouseY <= k1 + 249) + l4 = 0xff0000; + gameGraphics.drawString("Five", i1 + 252, k1 + 248, 1, l4); + } + if(k8 >= 25) { + int i5 = 0xffffff; + if(super.mouseX >= i1 + 280 && super.mouseY >= k1 + 238 && super.mouseX < i1 + 305 && super.mouseY <= k1 + 249) + i5 = 0xff0000; + gameGraphics.drawString("25", i1 + 282, k1 + 248, 1, i5); + } + if(k8 >= 100) { + int j5 = 0xffffff; + if(super.mouseX >= i1 + 305 && super.mouseY >= k1 + 238 && super.mouseX < i1 + 335 && super.mouseY <= k1 + 249) + j5 = 0xff0000; + gameGraphics.drawString("100", i1 + 307, k1 + 248, 1, j5); + } + if(k8 >= 500) { + int k5 = 0xffffff; + if(super.mouseX >= i1 + 335 && super.mouseY >= k1 + 238 && super.mouseX < i1 + 368 && super.mouseY <= k1 + 249) + k5 = 0xff0000; + gameGraphics.drawString("500", i1 + 337, k1 + 248, 1, k5); + } + if(k8 >= 2500) { + int l5 = 0xffffff; + if(super.mouseX >= i1 + 370 && super.mouseY >= k1 + 238 && super.mouseX < i1 + 400 && super.mouseY <= k1 + 249) + l5 = 0xff0000; + gameGraphics.drawString("2500", i1 + 370, k1 + 248, 1, l5); + } + } + if(getInventoryItemTotalCount(j9) > 0) { + gameGraphics.drawString("Deposit " + Data.itemName[j9], i1 + 2, k1 + 273, 1, 0xffffff); + int i6 = 0xffffff; + if(super.mouseX >= i1 + 220 && super.mouseY >= k1 + 263 && super.mouseX < i1 + 250 && super.mouseY <= k1 + 274) + i6 = 0xff0000; + gameGraphics.drawString("One", i1 + 222, k1 + 273, 1, i6); + if(getInventoryItemTotalCount(j9) >= 5) { + int j6 = 0xffffff; + if(super.mouseX >= i1 + 250 && super.mouseY >= k1 + 263 && super.mouseX < i1 + 280 && super.mouseY <= k1 + 274) + j6 = 0xff0000; + gameGraphics.drawString("Five", i1 + 252, k1 + 273, 1, j6); + } + if(getInventoryItemTotalCount(j9) >= 25) { + int k6 = 0xffffff; + if(super.mouseX >= i1 + 280 && super.mouseY >= k1 + 263 && super.mouseX < i1 + 305 && super.mouseY <= k1 + 274) + k6 = 0xff0000; + gameGraphics.drawString("25", i1 + 282, k1 + 273, 1, k6); + } + if(getInventoryItemTotalCount(j9) >= 100) { + int l6 = 0xffffff; + if(super.mouseX >= i1 + 305 && super.mouseY >= k1 + 263 && super.mouseX < i1 + 335 && super.mouseY <= k1 + 274) + l6 = 0xff0000; + gameGraphics.drawString("100", i1 + 307, k1 + 273, 1, l6); + } + if(getInventoryItemTotalCount(j9) >= 500) { + int i7 = 0xffffff; + if(super.mouseX >= i1 + 335 && super.mouseY >= k1 + 263 && super.mouseX < i1 + 368 && super.mouseY <= k1 + 274) + i7 = 0xff0000; + gameGraphics.drawString("500", i1 + 337, k1 + 273, 1, i7); + } + if(getInventoryItemTotalCount(j9) >= 2500) { + int j7 = 0xffffff; + if(super.mouseX >= i1 + 370 && super.mouseY >= k1 + 263 && super.mouseX < i1 + 400 && super.mouseY <= k1 + 274) + j7 = 0xff0000; + gameGraphics.drawString("2500", i1 + 370, k1 + 273, 1, j7); + } + } + } + } + + public final Graphics getGraphics() { + if(GameApplet.gameFrame != null) + return GameApplet.gameFrame.getGraphics(); + if(link.gameApplet != null) + return link.gameApplet.getGraphics(); + else + return super.getGraphics(); + } + + private final boolean loadSection(int x, int y) { + if(playerAliveTimeout != 0) { + engineHandle.playerIsAlive = false; + return false; + } + loadArea = false; + x += wildX; + y += wildY; + if(lastLayerIndex == layerIndex && x > sectionLowerX && x < sectionUpperX && y > sectionLowerY && y < sectionUpperY) { + engineHandle.playerIsAlive = true; + return false; + } + gameGraphics.drawText("Loading... Please wait", 256, 192, 1, 0xffffff); + drawChatMessageTabs(); + gameGraphics.drawImage(graphics, 0, 0); + int l = areaX; + int i1 = areaY; + int xBase = (x + 24) / 48; + int yBase = (y + 24) / 48; + lastLayerIndex = layerIndex; + areaX = xBase * 48 - 48; + areaY = yBase * 48 - 48; + sectionLowerX = xBase * 48 - 32; + sectionLowerY = yBase * 48 - 32; + sectionUpperX = xBase * 48 + 32; + sectionUpperY = yBase * 48 + 32; + engineHandle.loadSection(x, y, lastLayerIndex); + areaX -= wildX; + areaY -= wildY; + int offsetX = areaX - l; + int offsetY = areaY - i1; + for(int j2 = 0; j2 < objectCount; j2++) { + objectX[j2] -= offsetX; + objectY[j2] -= offsetY; + int k2 = objectX[j2]; + int i3 = objectY[j2]; + int l3 = objectType[j2]; + GameObject object = objectArray[j2]; + try { + int j5 = objectRotation[j2]; + int i6; + int l6; + if(j5 == 0 || j5 == 4) { + i6 = Data.objectWidth[l3]; + l6 = Data.objectHeight[l3]; + } else { + l6 = Data.objectWidth[l3]; + i6 = Data.objectHeight[l3]; + } + int i7 = ((k2 + k2 + i6) * magicLoc) / 2; + int j7 = ((i3 + i3 + l6) * magicLoc) / 2; + if(k2 >= 0 && i3 >= 0 && k2 < 96 && i3 < 96) { + gameCamera.addModel(object); + object.cml(i7, -engineHandle.getAveragedElevation(i7, j7), j7); + engineHandle.gla(k2, i3, l3, j5); + if(l3 == 74) + object.cmk(0, -480, 0); + } + } + catch(RuntimeException runtimeexception) { + System.out.println("Loc Error: " + runtimeexception.getMessage()); + System.out.println("i:" + j2 + " obj:" + object); + runtimeexception.printStackTrace(); + } + } + + for(int l2 = 0; l2 < wallObjectCount; l2++) { + wallObjectX[l2] -= offsetX; + wallObjectY[l2] -= offsetY; + int j3 = wallObjectX[l2]; + int i4 = wallObjectY[l2]; + int l4 = wallObjectID[l2]; + int k5 = wallObjectDirection[l2]; + try { + engineHandle.gkc(j3, i4, k5, l4); + GameObject j6 = makeWallObject(j3, i4, k5, l4, l2); + wallObjectArray[l2] = j6; + } + catch(RuntimeException runtimeexception1) { + System.out.println("Bound Error: " + runtimeexception1.getMessage()); + runtimeexception1.printStackTrace(); + } + } + + for(int k3 = 0; k3 < groundItemCount; k3++) { + groundItemX[k3] -= offsetX; + groundItemY[k3] -= offsetY; + } + + for(int j4 = 0; j4 < playerCount; j4++) { + Mob f1 = playerArray[j4]; + f1.currentX -= offsetX * magicLoc; + f1.currentY -= offsetY * magicLoc; + for(int l5 = 0; l5 <= f1.waypointCurrent; l5++) { + f1.waypointsX[l5] -= offsetX * magicLoc; + f1.waypointsY[l5] -= offsetY * magicLoc; + } + + } + + for(int i5 = 0; i5 < npcCount; i5++) { + Mob f2 = npcArray[i5]; + f2.currentX -= offsetX * magicLoc; + f2.currentY -= offsetY * magicLoc; + for(int k6 = 0; k6 <= f2.waypointCurrent; k6++) { + f2.waypointsX[k6] -= offsetX * magicLoc; + f2.waypointsY[k6] -= offsetY * magicLoc; + } + + } + + engineHandle.playerIsAlive = true; + return true; + } + + private static final String formatItemCount(int arg0) { + String s1 = String.valueOf(arg0); + for(int l = s1.length() - 3; l > 0; l -= 3) + s1 = s1.substring(0, l) + "," + s1.substring(l); + + if(s1.length() > 8) + s1 = "@gre@" + s1.substring(0, s1.length() - 8) + " million @whi@(" + s1 + ")"; + else + if(s1.length() > 4) + s1 = "@cya@" + s1.substring(0, s1.length() - 4) + "K @whi@(" + s1 + ")"; + return s1; + } + + private final boolean hasRequiredRunes(int l, int i1) { + if(l == 31 && (isItemEquipped(197) || isItemEquipped(615) || isItemEquipped(682))) + return true; + if(l == 32 && (isItemEquipped(102) || isItemEquipped(616) || isItemEquipped(683))) + return true; + if(l == 33 && (isItemEquipped(101) || isItemEquipped(617) || isItemEquipped(684))) + return true; + if(l == 34 && (isItemEquipped(103) || isItemEquipped(618) || isItemEquipped(685))) + return true; + return getInventoryItemTotalCount(l) >= i1; + } + + private final void displayMessage(String message, int type) { + if(type == 2 || type == 4 || type == 6) { + for(; message.length() > 5 && message.charAt(0) == '@' && message.charAt(4) == '@'; message = message.substring(5)); + int l = message.indexOf(":"); + if(l != -1) { + String s1 = message.substring(0, l); + long l1 = DataOperations.nameToHash(s1); + for(int j1 = 0; j1 < super.ignoresCount; j1++) + if(super.ignoresList[j1] == l1) + return; + + } + } + if(type == 2) + message = "@yel@" + message; + if(type == 3 || type == 4) + message = "@whi@" + message; + if(type == 6) + message = "@cya@" + message; + if(messagesTab != 0) { + if(type == 4 || type == 3) + chatTabAllMsgFlash = 200; + if(type == 2 && messagesTab != 1) + chatTabHistoryFlash = 200; + if(type == 5 && messagesTab != 2) + chatTabQuestFlash = 200; + if(type == 6 && messagesTab != 3) + chatTabPrivateFlash = 200; + if(type == 3 && messagesTab != 0) + messagesTab = 0; + if(type == 6 && messagesTab != 3 && messagesTab != 0) + messagesTab = 0; + } + for(int i1 = 4; i1 > 0; i1--) { + messagesArray[i1] = messagesArray[i1 - 1]; + messagesTimeout[i1] = messagesTimeout[i1 - 1]; + } + + messagesArray[0] = message; + messagesTimeout[0] = 300; + if(type == 2) + if(chatInputMenu.listShownEntries[messagesHandleType2] == chatInputMenu.listLength[messagesHandleType2] - 4) + chatInputMenu.addMessage(messagesHandleType2, message, true); + else + chatInputMenu.addMessage(messagesHandleType2, message, false); + if(type == 5) + if(chatInputMenu.listShownEntries[messagesHandleType5] == chatInputMenu.listLength[messagesHandleType5] - 4) + chatInputMenu.addMessage(messagesHandleType5, message, true); + else + chatInputMenu.addMessage(messagesHandleType5, message, false); + if(type == 6) { + if(chatInputMenu.listShownEntries[messagesHandleType6] == chatInputMenu.listLength[messagesHandleType6] - 4) { + chatInputMenu.addMessage(messagesHandleType6, message, true); + return; + } + chatInputMenu.addMessage(messagesHandleType6, message, false); + } + } + + private final void drawMinimapObject(int l, int i1, int j1) { + gameGraphics.drawMinimapPixel(l, i1, j1); + gameGraphics.drawMinimapPixel(l - 1, i1, j1); + gameGraphics.drawMinimapPixel(l + 1, i1, j1); + gameGraphics.drawMinimapPixel(l, i1 - 1, j1); + gameGraphics.drawMinimapPixel(l, i1 + 1, j1); + } + + private final void drawServerMessageBox() { + char c1 = '\u0190'; + char c2 = 'd'; + if(serverMessageBoxTop) { + c2 = '\u01C2'; + c2 = '\u012C'; + } + gameGraphics.drawBox(256 - c1 / 2, 167 - c2 / 2, c1, c2, 0); + gameGraphics.drawBoxEdge(256 - c1 / 2, 167 - c2 / 2, c1, c2, 0xffffff); + gameGraphics.drawFloatingText(serverMessage, 256, (167 - c2 / 2) + 20, 1, 0xffffff, c1 - 40); + int l = 157 + c2 / 2; + int i1 = 0xffffff; + if(super.mouseY > l - 12 && super.mouseY <= l && super.mouseX > 106 && super.mouseX < 406) + i1 = 0xff0000; + gameGraphics.drawText("Click here to close window", 256, l, 1, i1); + if(mouseButtonClick == 1) { + if(i1 == 0xff0000) + showServerMessageBox = false; + if((super.mouseX < 256 - c1 / 2 || super.mouseX > 256 + c1 / 2) && (super.mouseY < 167 - c2 / 2 || super.mouseY > 167 + c2 / 2)) + showServerMessageBox = false; + } + mouseButtonClick = 0; + } + + public final Image createImage(int l, int i1) { + if(GameApplet.gameFrame != null) + return GameApplet.gameFrame.createImage(l, i1); + if(link.gameApplet != null) + return link.gameApplet.createImage(l, i1); + else + return super.createImage(l, i1); + } + + private final GameObject makeWallObject(int x, int y, int dir, int type, int totalCount) { + int i2 = x; + int j2 = y; + int k2 = x; + int l2 = y; + int i3 = Data.wallObjectModelVar2[type]; + int j3 = Data.wallObjectModelVar3[type]; + int k3 = Data.wallObjectModelVar1[type]; + GameObject l3 = new GameObject(4, 1); + if(dir == 0) + k2 = x + 1; + if(dir == 1) + l2 = y + 1; + if(dir == 2) { + i2 = x + 1; + l2 = y + 1; + } + if(dir == 3) { + k2 = x + 1; + l2 = y + 1; + } + i2 *= magicLoc; + j2 *= magicLoc; + k2 *= magicLoc; + l2 *= magicLoc; + int i4 = l3.cln(i2, -engineHandle.getAveragedElevation(i2, j2), j2); + int j4 = l3.cln(i2, -engineHandle.getAveragedElevation(i2, j2) - k3, j2); + int k4 = l3.cln(k2, -engineHandle.getAveragedElevation(k2, l2) - k3, l2); + int l4 = l3.cln(k2, -engineHandle.getAveragedElevation(k2, l2), l2); + int ai[] = { + i4, j4, k4, l4 + }; + l3.cmb(4, ai, i3, j3); + l3.cme(false, 60, 24, -50, -10, -50); + if(x >= 0 && y >= 0 && x < 96 && y < 96) + gameCamera.addModel(l3); + l3.index = totalCount + 10000; + return l3; + } + + private final void resetPrivateMessages() { + super.pmText = ""; + super.enteredPMText = ""; + } + + private final Mob makeNPC(int index, int x, int y, int sprite, int id) { + if(npcAttackingArray[index] == null) { + npcAttackingArray[index] = new Mob(); + npcAttackingArray[index].serverIndex = index; + } + Mob f1 = npcAttackingArray[index]; + boolean flag = false; + for(int l = 0; l < lastNpcCount; l++) { + if(lastNpcArray[l].serverIndex != index) + continue; + flag = true; + break; + } + + if(flag) { + f1.npcId = id; + f1.nextSprite = sprite; + int i1 = f1.waypointCurrent; + if(x != f1.waypointsX[i1] || y != f1.waypointsY[i1]) { + f1.waypointCurrent = i1 = (i1 + 1) % 10; + f1.waypointsX[i1] = x; + f1.waypointsY[i1] = y; + } + } else { + f1.serverIndex = index; + f1.waypointsEndSprite = 0; + f1.waypointCurrent = 0; + f1.waypointsX[0] = f1.currentX = x; + f1.waypointsY[0] = f1.currentY = y; + f1.npcId = id; + f1.nextSprite = f1.currentSprite = sprite; + f1.stepCount = 0; + } + npcArray[npcCount++] = f1; + return f1; + } + + private final void updateBankItems() { + bankItemsCount = serverBankItemsCount; + for(int l = 0; l < serverBankItemsCount; l++) { + bankItems[l] = serverBankItems[l]; + bankItemCount[l] = serverBankItemCount[l]; + } + + for(int i1 = 0; i1 < inventoryItemsCount; i1++) { + if(bankItemsCount >= maxBankItems) + break; + int j1 = inventoryItems[i1]; + boolean flag = false; + for(int k1 = 0; k1 < bankItemsCount; k1++) { + if(bankItems[k1] != j1) + continue; + flag = true; + break; + } + + if(!flag) { + bankItems[bankItemsCount] = j1; + bankItemCount[bankItemsCount] = 0; + bankItemsCount++; + } + } + + } + + private final void drawStatsQuestsMenu(boolean canClick) { + int l = ((GameImage) (gameGraphics)).gameWidth - 199; + int i1 = 36; + gameGraphics.drawPicture(l - 49, 3, baseInventoryPic + 3); + char c1 = '\304'; + char c2 = '\u0113'; + int k1; + int j1 = k1 = GameImage.rgbToInt(160, 160, 160); + if(questMenuSelected == 0) + j1 = GameImage.rgbToInt(220, 220, 220); + else + k1 = GameImage.rgbToInt(220, 220, 220); + gameGraphics.drawBoxAlpha(l, i1, c1 / 2, 24, j1, 128); + gameGraphics.drawBoxAlpha(l + c1 / 2, i1, c1 / 2, 24, k1, 128); + gameGraphics.drawBoxAlpha(l, i1 + 24, c1, c2 - 24, GameImage.rgbToInt(220, 220, 220), 128); + gameGraphics.drawLineX(l, i1 + 24, c1, 0); + gameGraphics.drawLineY(l + c1 / 2, i1, 24, 0); + gameGraphics.drawText("Stats", l + c1 / 4, i1 + 16, 4, 0); + gameGraphics.drawText("Quests", l + c1 / 4 + c1 / 2, i1 + 16, 4, 0); + if(questMenuSelected == 0) { + int l1 = 72; + int j2 = -1; + gameGraphics.drawString("Skills", l + 5, l1, 3, 0xffff00); + l1 += 13; + for(int k2 = 0; k2 < 9; k2++) { + int l2 = 0xffffff; + if(super.mouseX > l + 3 && super.mouseY >= l1 - 11 && super.mouseY < l1 + 2 && super.mouseX < l + 90) { + l2 = 0xff0000; + j2 = k2; + } + gameGraphics.drawString(skillName[k2] + ":@yel@" + playerStatCurrent[k2] + "/" + playerStatBase[k2], l + 5, l1, 1, l2); + l2 = 0xffffff; + if(super.mouseX >= l + 90 && super.mouseY >= l1 - 13 - 11 && super.mouseY < (l1 - 13) + 2 && super.mouseX < l + 196) { + l2 = 0xff0000; + j2 = k2 + 9; + } + gameGraphics.drawString(skillName[k2 + 9] + ":@yel@" + playerStatCurrent[k2 + 9] + "/" + playerStatBase[k2 + 9], (l + c1 / 2) - 5, l1 - 13, 1, l2); + l1 += 13; + } + + gameGraphics.drawString("Quest Points:@yel@" + questPoints, (l + c1 / 2) - 5, l1 - 13, 1, 0xffffff); + l1 += 12; + gameGraphics.drawString("Fatigue: @yel@" + (fatigue * 100) / 750 + "%", l + 5, l1 - 13, 1, 0xffffff); + l1 += 8; + gameGraphics.drawString("Equipment Status", l + 5, l1, 3, 0xffff00); + l1 += 12; + for(int i3 = 0; i3 < 3; i3++) { + gameGraphics.drawString(gearStats[i3] + ":@yel@" + equipmentStatus[i3], l + 5, l1, 1, 0xffffff); + if(i3 < 2) + gameGraphics.drawString(gearStats[i3 + 3] + ":@yel@" + equipmentStatus[i3 + 3], l + c1 / 2 + 25, l1, 1, 0xffffff); + l1 += 13; + } + + l1 += 6; + gameGraphics.drawLineX(l, l1 - 15, c1, 0); + if(j2 != -1) { + gameGraphics.drawString(skillNameVerb[j2] + " skill", l + 5, l1, 1, 0xffff00); + l1 += 12; + int j3 = experienceList[0]; + for(int l3 = 0; l3 < 98; l3++) + if(playerStatExp[j2] >= experienceList[l3]) + j3 = experienceList[l3 + 1]; + + gameGraphics.drawString("Total xp: " + playerStatExp[j2], l + 5, l1, 1, 0xffffff); + l1 += 12; + gameGraphics.drawString("Next level at: " + j3 / 4, l + 5, l1, 1, 0xffffff); + } else { + gameGraphics.drawString("Overall levels", l + 5, l1, 1, 0xffff00); + l1 += 12; + int k3 = 0; + for(int i4 = 0; i4 < 18; i4++) + k3 += playerStatBase[i4]; + + gameGraphics.drawString("Skill total: " + k3, l + 5, l1, 1, 0xffffff); + l1 += 12; + gameGraphics.drawString("Combat level: " + ourPlayer.level, l + 5, l1, 1, 0xffffff); + l1 += 12; + } + } + if(questMenuSelected == 1) { + questsLastShownEntries = questMenu.listShownEntries; + questMenu.clearList(questMenuHandle); + questMenu.addListItem(questMenuHandle, 0, "@whi@Quest-list (green=completed)"); + for(int i2 = 0; i2 < usedQuestName.length; i2++) + questMenu.addListItem(questMenuHandle, i2 + 1, (questStage[i2] == 0 ? "@red@" : questStage[i2] == 1 ? "@yel@" : "@gre@") + usedQuestName[i2]); + + questMenu.listShownEntries = questsLastShownEntries; + questMenu.drawMenu(); + } + if(!canClick) + return; + l = super.mouseX - (((GameImage) (gameGraphics)).gameWidth - 199); + i1 = super.mouseY - 36; + if(l >= 0 && i1 >= 0 && l < c1 && i1 < c2) { + if(questMenuSelected == 1) + questMenu.mouseClick(l + (((GameImage) (gameGraphics)).gameWidth - 199), i1 + 36, super.lastMouseButton, super.mouseButton); + if(i1 <= 24 && mouseButtonClick == 1) { + if(l < 98) { + questMenuSelected = 0; + return; + } + if(l > 98) + questMenuSelected = 1; + } + } + } + + private final void drawFriendsBox() { + if(mouseButtonClick != 0) { + mouseButtonClick = 0; + if(showFriendsBox == 1 && (super.mouseX < 106 || super.mouseY < 145 || super.mouseX > 406 || super.mouseY > 215)) { + showFriendsBox = 0; + return; + } + if(showFriendsBox == 2 && (super.mouseX < 6 || super.mouseY < 145 || super.mouseX > 506 || super.mouseY > 215)) { + showFriendsBox = 0; + return; + } + if(showFriendsBox == 3 && (super.mouseX < 106 || super.mouseY < 145 || super.mouseX > 406 || super.mouseY > 215)) { + showFriendsBox = 0; + return; + } + if(super.mouseX > 236 && super.mouseX < 276 && super.mouseY > 193 && super.mouseY < 213) { + showFriendsBox = 0; + return; + } + } + int l = 145; + if(showFriendsBox == 1) { + gameGraphics.drawBox(106, l, 300, 70, 0); + gameGraphics.drawBoxEdge(106, l, 300, 70, 0xffffff); + l += 20; + gameGraphics.drawText("Enter name to add to friends list", 256, l, 4, 0xffffff); + l += 20; + gameGraphics.drawText(super.inputText + "*", 256, l, 4, 0xffffff); + if(super.enteredInputText.length() > 0) { + String s1 = super.enteredInputText.trim(); + super.inputText = ""; + super.enteredInputText = ""; + showFriendsBox = 0; + if(s1.length() > 0 && DataOperations.nameToHash(s1) != ourPlayer.nameHash) + addFriend(s1); + } + } + if(showFriendsBox == 2) { + gameGraphics.drawBox(6, l, 500, 70, 0); + gameGraphics.drawBoxEdge(6, l, 500, 70, 0xffffff); + l += 20; + gameGraphics.drawText("Enter message to send to " + DataOperations.hashToName(pmTarget), 256, l, 4, 0xffffff); + l += 20; + gameGraphics.drawText(super.pmText + "*", 256, l, 4, 0xffffff); + if(super.enteredPMText.length() > 0) { + String s2 = super.enteredPMText; + super.pmText = ""; + super.enteredPMText = ""; + showFriendsBox = 0; + int j1 = ChatMessage.stringToBytes(s2); + sendPrivateMessage(pmTarget, ChatMessage.lastChat, j1); + s2 = ChatMessage.bytesToString(ChatMessage.lastChat, 0, j1); + if(useChatFilter) + s2 = ChatFilter.filterChat(s2); + displayMessage("@pri@You tell " + DataOperations.hashToName(pmTarget) + ": " + s2); + } + } + if(showFriendsBox == 3) { + gameGraphics.drawBox(106, l, 300, 70, 0); + gameGraphics.drawBoxEdge(106, l, 300, 70, 0xffffff); + l += 20; + gameGraphics.drawText("Enter name to add to ignore list", 256, l, 4, 0xffffff); + l += 20; + gameGraphics.drawText(super.inputText + "*", 256, l, 4, 0xffffff); + if(super.enteredInputText.length() > 0) { + String s3 = super.enteredInputText.trim(); + super.inputText = ""; + super.enteredInputText = ""; + showFriendsBox = 0; + if(s3.length() > 0 && DataOperations.nameToHash(s3) != ourPlayer.nameHash) + addIgnore(s3); + } + } + int i1 = 0xffffff; + if(super.mouseX > 236 && super.mouseX < 276 && super.mouseY > 193 && super.mouseY < 213) + i1 = 0xffff00; + gameGraphics.drawText("Cancel", 256, 208, 1, i1); + } + + private final void playSound(String s1) { + if(audioPlayer == null || !Config.MEMBERS_FEATURES) + return; + if(!configSoundOff) + audioPlayer.play(soundData, DataOperations.getSoundOffset(s1 + ".pcm", soundData), DataOperations.getSoundLength(s1 + ".pcm", soundData)); + } + + private final void drawRightClickMenu() { + if(mouseButtonClick != 0) { + for(int l = 0; l < menuOptionsCount; l++) { + int j1 = menuX + 2; + int l1 = menuY + 27 + l * 15; + if(super.mouseX <= j1 - 2 || super.mouseY <= l1 - 12 || super.mouseY >= l1 + 4 || super.mouseX >= (j1 - 3) + menuWidth) + continue; + menuClick(menuIndexes[l]); + break; + } + + mouseButtonClick = 0; + menuShow = false; + return; + } + if(super.mouseX < menuX - 10 || super.mouseY < menuY - 10 || super.mouseX > menuX + menuWidth + 10 || super.mouseY > menuY + menuHeight + 10) { + menuShow = false; + return; + } + gameGraphics.drawBoxAlpha(menuX, menuY, menuWidth, menuHeight, 0xd0d0d0, 160); + gameGraphics.drawString("Choose option", menuX + 2, menuY + 12, 1, 65535); + for(int i1 = 0; i1 < menuOptionsCount; i1++) { + int k1 = menuX + 2; + int i2 = menuY + 27 + i1 * 15; + int j2 = 0xffffff; + if(super.mouseX > k1 - 2 && super.mouseY > i2 - 12 && super.mouseY < i2 + 4 && super.mouseX < (k1 - 3) + menuWidth) + j2 = 0xffff00; + gameGraphics.drawString(menuText1[menuIndexes[i1]] + " " + menuText2[menuIndexes[i1]], k1, i2, 1, j2); + } + + } + + private final void getMenuHighlighted() { + if(drawMenuTab == 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 && super.mouseY < 35) + drawMenuTab = 1; + if(drawMenuTab == 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 33 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 33 && super.mouseY < 35) { + drawMenuTab = 2; + minimapRandomRotationX = (int)(Math.random() * 13D) - 6; + minimapRandomRotationY = (int)(Math.random() * 23D) - 11; + } + if(drawMenuTab == 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 66 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 66 && super.mouseY < 35) + drawMenuTab = 3; + if(drawMenuTab == 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 99 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 99 && super.mouseY < 35) + drawMenuTab = 4; + if(drawMenuTab == 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 132 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 132 && super.mouseY < 35) + drawMenuTab = 5; + if(drawMenuTab == 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 165 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 165 && super.mouseY < 35) + drawMenuTab = 6; + if(drawMenuTab != 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 && super.mouseY < 26) + drawMenuTab = 1; + if(drawMenuTab != 0 && drawMenuTab != 2 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 33 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 33 && super.mouseY < 26) { + drawMenuTab = 2; + minimapRandomRotationX = (int)(Math.random() * 13D) - 6; + minimapRandomRotationY = (int)(Math.random() * 23D) - 11; + } + if(drawMenuTab != 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 66 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 66 && super.mouseY < 26) + drawMenuTab = 3; + if(drawMenuTab != 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 99 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 99 && super.mouseY < 26) + drawMenuTab = 4; + if(drawMenuTab != 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 132 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 132 && super.mouseY < 26) + drawMenuTab = 5; + if(drawMenuTab != 0 && super.mouseX >= ((GameImage) (gameGraphics)).gameWidth - 35 - 165 && super.mouseY >= 3 && super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 3 - 165 && super.mouseY < 26) + drawMenuTab = 6; + if(drawMenuTab == 1 && (super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 248 || super.mouseY > 36 + (maxInventoryItems / 5) * 34)) + drawMenuTab = 0; + if(drawMenuTab == 3 && (super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 199 || super.mouseY > 316)) + drawMenuTab = 0; + if((drawMenuTab == 2 || drawMenuTab == 4 || drawMenuTab == 5) && (super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 199 || super.mouseY > 240)) + drawMenuTab = 0; + if(drawMenuTab == 6 && (super.mouseX < ((GameImage) (gameGraphics)).gameWidth - 199 || super.mouseY > 326)) + drawMenuTab = 0; + } + + protected final int getUID() { + return link.uid; + } + + private boolean takeScreenshot(boolean verb) { + try { + String charName = DataOperations.hashToName(DataOperations.nameToHash(username)); + File dir = new File(Config.MEDIA_DIR + "/" + charName); + if(!dir.exists() || !dir.isDirectory()) + dir.mkdir(); + String folder = dir.getPath() + "/"; + File file = null; + for(int count = 0; file == null || file.exists(); count++) + file = new File(folder + "screenshot" + count + ".png"); + BufferedImage bi = new BufferedImage(windowWidth, windowHeight + 11, BufferedImage.TYPE_INT_RGB); + Graphics2D g2d = bi.createGraphics(); + g2d.drawImage(gameGraphics.image, 0, 0, this); + g2d.dispose(); + ImageIO.write(bi, "png", file); + if(verb) + displayMessage("Screenshot saved as " + file.getName()); + return true; + } catch(IOException ioe) { + if(verb) + displayMessage("Error saving screenshot"); + return false; + } + } + + private Mob getLastPlayer(int serverIndex) { + for (int i1 = 0; i1 < lastPlayerCount; i1++) { + if (lastPlayerArray[i1].serverIndex == serverIndex) { + return lastPlayerArray[i1]; + } + } + return null; + } + + private Mob getLastNpc(int serverIndex) { + for (int i1 = 0; i1 < lastNpcCount; i1++) { + if (lastNpcArray[i1].serverIndex == serverIndex) { + return lastNpcArray[i1]; + } + } + return null; + } + + public boolean handleCommand(String command) { + try { + int firstSpace = command.indexOf(' '); + String cmd = command; + String args[] = new String[0]; + if(firstSpace != -1) { + cmd = command.substring(0, firstSpace).trim(); + args = command.substring(firstSpace).trim().split(" "); + } + if(cmd.equals("closecon")) { + super.streamClass.closeStream(); + return true; + } + if(cmd.equals("logout")) { + sendLogout(); + return true; + } + if(cmd.equals("lostcon")) { + lostConnection(); + return true; + } + if(cmd.equals("tell")) { + long recipient = DataOperations.nameToHash(args[0]); + String message = joinString(args, " ", 1).trim(); + if(message.equals("")) + return true; + int len = ChatMessage.stringToBytes(message); + sendPrivateMessage(recipient, ChatMessage.lastChat, len); + message = ChatMessage.bytesToString(ChatMessage.lastChat, 0, len); + if(useChatFilter) + message = ChatFilter.filterChat(message); + displayMessage("@pri@You tell " + DataOperations.hashToName(recipient) + ": " + message); + return true; + } + } catch(Exception e) { + e.printStackTrace(); + } + return false; + } + + public String joinString(String hay[], String glue, int start) { + String ret = ""; + for(int i = start; i < hay.length; i++) + ret += hay[i] + (i != hay.length - 1 ? glue : ""); + return ret; + } + + public String joinString(String hay[], String glue) { + return joinString(hay, glue, 0); + } + + public mudclient() { + tradeOtherName = ""; + windowWidth = 512; + windowHeight = 334; + cameraFieldOfView = 9; + showQuestionMenu = false; + loginScreenShown = false; + questionMenuAnswer = new String[5]; + appearanceBodyGender = 1; + appearance2Colour = 2; + appearanceHairColour = 2; + appearanceTopColour = 8; + appearanceBottomColour = 14; + appearanceHeadGender = 1; + menuIndexes = new int[250]; + duelMyItems = new int[8]; + duelMyItemsCount = new int[8]; + playerArray = new Mob[500]; + selectedShopItemIndex = -1; + selectedShopItemType = -2; + menuText1 = new String[250]; + isSleeping = false; + tradeItemsOther = new int[14]; + tradeItemOtherCount = new int[14]; + tradeOtherAccepted = false; + tradeWeAccepted = false; + itemAboveHeadScale = new int[50]; + itemAboveHeadID = new int[50]; + playerStatCurrent = new int[18]; + menuActionX = new int[250]; + menuActionY = new int[250]; + menuActionID = new int[250]; + showTradeBox = false; + npcArray = new Mob[500]; + duelNoRetreating = false; + duelNoMagic = false; + duelNoPrayer = false; + duelNoWeapons = false; + playerBufferArray = new Mob[4000]; + serverMessage = ""; + duelOpponentAccepted = false; + duelMyAccepted = false; + wallObjectX = new int[500]; + wallObjectY = new int[500]; + serverMessageBoxTop = false; + cameraRotationYIncrement = 2; + wallObjectArray = new GameObject[500]; + messagesArray = new String[5]; + objectAlreadyInMenu = new boolean[1500]; + objectArray = new GameObject[1500]; + selectedSpell = -1; + cameraAutoAngleDebug = false; + ourPlayer = new Mob(); + serverIndex = -1; + tradeItemsOur = new int[14]; + tradeItemOurCount = new int[14]; + showWelcomeBox = false; + menuActionType = new int[250]; + menuActionVar1 = new int[250]; + menuActionVar2 = new int[250]; + sleepWordDelay = true; + configCameraAutoAngle = true; + cameraRotation = 128; + configSoundOff = false; + menuShow = false; + duelOpponentItems = new int[8]; + duelOpponentItemsCount = new int[8]; + showBankBox = false; + playerStatBase = new int[18]; + serverBankItems = new int[256]; + serverBankItemCount = new int[256]; + showShopBox = false; + groundItemX = new int[5000]; + groundItemY = new int[5000]; + groundItemID = new int[5000]; + groundItemObjectVar = new int[5000]; + maxBankItems = 48; + tradeConfirmOtherItems = new int[14]; + tradeConfirmOtherItemsCount = new int[14]; + layerIndex = -1; + walkArrayX = new int[8000]; + walkArrayY = new int[8000]; + cameraDistance = 550; + receivedMessageX = new int[50]; + receivedMessageY = new int[50]; + receivedMessageMidPoint = new int[50]; + receivedMessageHeight = new int[50]; + wallObjectAlreadyInMenu = new boolean[500]; + lastLayerIndex = -1; + bankItems = new int[256]; + bankItemCount = new int[256]; + maxInventoryItems = 30; + errorLoading = false; + itemAboveHeadX = new int[50]; + itemAboveHeadY = new int[50]; + showServerMessageBox = false; + playerBufferArrayIndexes = new int[500]; + tradeConfirmItems = new int[14]; + tradeConfigItemsCount = new int[14]; + selectedBankItem = -1; + selectedBankItemType = -2; + showDuelConfirmBox = false; + duelConfirmOurAccepted = false; + wallObjectDirection = new int[500]; + wallObjectID = new int[500]; + gameDataObjects = new GameObject[1000]; + lastNpcArray = new Mob[500]; + inventoryItems = new int[35]; + inventoryItemCount = new int[35]; + inventoryItemEquipped = new int[35]; + selectedItem = -1; + selectedItemName = ""; + lastPlayerArray = new Mob[500]; + showTradeConfirmBox = false; + tradeConfirmAccepted = false; + playerStatExp = new int[18]; + mouseTrailX = new int[8192]; + mouseTrailY = new int[8192]; + configOneMouseButton = false; + prayerOn = new boolean[50]; + shopItems = new int[256]; + shopItemCount = new int[256]; + shopItemBasePriceModifier = new int[256]; + duelOpponentStakeItem = new int[8]; + duelOutStakeItemCount = new int[8]; + equipmentStatus = new int[5]; + receivedMessages = new String[50]; + cameraRotationXIncrement = 2; + teleBubbleTime = new int[50]; + magicLoc = 128; + questStage = new int[questName.length]; + teleBubbleType = new int[50]; + experienceList = new int[99]; + lastModelFireLightningSpellNumber = -1; + lastModelTorchNumber = -1; + lastModelClawSpellNumber = -1; + messagesTimeout = new int[5]; + projectileRange = 40; + memoryError = false; + duelOurStakeItem = new int[8]; + duelOurStakeItemCount = new int[8]; + menuText2 = new String[250]; + loginUsername = ""; + loginPassword = ""; + duelOpponent = ""; + healthBarX = new int[50]; + healthBarY = new int[50]; + healthBarMissing = new int[50]; + objectX = new int[1500]; + objectY = new int[1500]; + objectType = new int[1500]; + objectRotation = new int[1500]; + showDuelBox = false; + npcAttackingArray = new Mob[5000]; + teleBubbleY = new int[50]; + cameraAutoAngle = 1; + loadArea = false; + teleBubbleX = new int[50]; + showAppearanceWindow = false; + cameraZoom = false; + + fogOfWar = true; + showCombatWindow = false; + showRoofs = true; + autoScreenshot = false; + useChatFilter = true; + usedQuestName = new String[0]; + subDaysLeft = 0; + shopItemSellPrice = new int[256]; + shopItemBuyPrice = new int[256]; + captchaPixels = new int[0][0]; + captchaWidth = 0; + captchaHeight = 0; + needsClear = false; + hasWorldInfo = false; + friendsLastShownEntries = new int[5]; + spellsLastShownEntries = new int[5]; + prayersLastShownEntries = new int[5]; + questsLastShownEntries = new int[5]; + } + + private String tradeOtherName; + private int windowWidth; + private int windowHeight; + private int cameraFieldOfView; + private boolean showQuestionMenu; + private boolean loginScreenShown; + private String questionMenuAnswer[]; + private int appearanceHeadType; + private int appearanceBodyGender; + private int appearance2Colour; + private int appearanceHairColour; + private int appearanceTopColour; + private int appearanceBottomColour; + private int appearanceSkinColour; + private int appearanceHeadGender; + private Menu chatInputMenu; + int messagesHandleType2; + int chatInputBox; + int messagesHandleType5; + int messagesHandleType6; + int messagesTab; + private int menuIndexes[]; + private int duelMyItemCount; + private int duelMyItems[]; + private int duelMyItemsCount[]; + private int systemUpdate; + private Mob playerArray[]; + private final String questName[] = {// TODO really?... needs to be done better imho + "Cook's Assistant", "Sheep Shearer", "Black knight's fortress", "Imp catcher", "Vampire slayer", + "Romeo & Juliet", "The restless ghost", "Doric's quest", "The knight's sword", "Witch's potion", + "Goblin diplomacy", "Ernest the chicken", "Demon Slayer", "Pirate's treasure", "Prince Ali Rescue", + "Shield of Arrav", "Dragon Slayer" + /*"Black knight's fortress", "Cook's assistant", "Demon slayer", "Doric's quest", "The restless ghost", "Goblin diplomacy", "Ernest the chicken", + "Imp catcher", "Pirate's treasure", "Prince Ali rescue", + "Romeo & Juliet", "Sheep shearer", "Shield of Arrav", "The knight's sword", "Vampire slayer", "Witch's potion", "Dragon slayer", "Witch's house (members)", + "Lost city (members)", "Hero's quest (members)", + "Druidic ritual (members)", "Merlin's crystal (members)", "Scorpion catcher (members)", "Family crest (members)", "Tribal totem (members)", + "Fishing contest (members)", "Monk's friend (members)", "Temple of Ikov (members)", "Clock tower (members)", "The Holy Grail (members)", + "Fight Arena (members)", "Tree Gnome Village (members)", "The Hazeel Cult (members)", "Sheep Herder (members)", "Plague City (members)", + "Sea Slug (members)", "Waterfall quest (members)", "Biohazard (members)", "Jungle potion (members)", "Grand tree (members)", + "Shilo village (members)", "Underground pass (members)", "Observatory quest (members)", "Tourist trap (members)", "Watchtower (members)", + "Dwarf Cannon (members)", "Murder Mystery (members)", "Digsite (members)", "Gertrude's Cat (members)", "Legend's Quest (members)"*/ + }; + private int selectedShopItemIndex; + private int selectedShopItemType; + private String sleepingStatusText; + private String menuText1[]; + private boolean isSleeping; + private int modelFireLightningSpellNumber; + private int modelTorchNumber; + private int modelClawSpellNumber; + private int tradeItemsOtherCount; + private int tradeItemsOther[]; + private int tradeItemOtherCount[]; + private boolean tradeOtherAccepted; + private boolean tradeWeAccepted; + private int itemAboveHeadScale[]; + private int itemAboveHeadID[]; + private int playerStatCurrent[]; + private int menuActionX[]; + private int menuActionY[]; + private final String skillNameVerb[] = { + "Attack", "Defense", "Strength", "Hits", "Ranged", "Prayer", "Magic", "Cooking", "Woodcutting", "Fletching", + "Fishing", "Firemaking", "Crafting", "Smithing", "Mining", "Herblaw", "Agility", "Thieving" + }; + private int menuActionID[]; + private int playerAliveTimeout; + private int cameraAutoRotatePlayerX; + private int cameraAutoRotatePlayerY; + private boolean showTradeBox; + private Mob npcArray[]; + private boolean duelNoRetreating; + private boolean duelNoMagic; + private boolean duelNoPrayer; + private boolean duelNoWeapons; + private Menu appearanceMenu; + private int animationModelArray[][] = { { + 11, 2, 9, 7, 1, 6, 10, 0, 5, 8, + 3, 4 + }, { + 11, 2, 9, 7, 1, 6, 10, 0, 5, 8, + 3, 4 + }, { + 11, 3, 2, 9, 7, 1, 6, 10, 0, 5, + 8, 4 + }, { + 3, 4, 2, 9, 7, 1, 6, 10, 8, 11, + 0, 5 + }, { + 3, 4, 2, 9, 7, 1, 6, 10, 8, 11, + 0, 5 + }, { + 4, 3, 2, 9, 7, 1, 6, 10, 8, 11, + 0, 5 + }, { + 11, 4, 2, 9, 7, 1, 6, 10, 0, 5, + 8, 3 + }, { + 11, 2, 9, 7, 1, 6, 10, 0, 5, 8, + 4, 3 + } + }; + private int playerCount; + private int lastPlayerCount; + private int drawUpdatesPerformed; + private Mob playerBufferArray[]; + private String serverMessage; + private int groundItemCount; + private boolean duelOpponentAccepted; + private boolean duelMyAccepted; + private int wallObjectX[]; + private int wallObjectY[]; + private boolean serverMessageBoxTop; + private int fatigue; + private int cameraRotationYAmount; + private int cameraRotationYIncrement; + private int walkModel[] = { + 0, 1, 2, 1 + }; + private int itemsAboveHeadCount; + private AudioReader audioPlayer; + private GameObject wallObjectArray[]; + private String messagesArray[]; + private long duelOpponentHash; + private Menu questMenu; + int questMenuHandle; + int questMenuSelected; + private boolean objectAlreadyInMenu[]; + private GameObject objectArray[]; + private int selectedSpell; + private boolean cameraAutoAngleDebug; + private String lastLoginAddress; + private Mob ourPlayer; + int sectionX; + int sectionY; + int serverIndex; + private int tradeItemsOurCount; + private int tradeItemsOur[]; + private int tradeItemOurCount[]; + private boolean showWelcomeBox; + private int menuActionType[]; + private int menuActionVar1[]; + private int menuActionVar2[]; + private boolean sleepWordDelay; + private boolean configCameraAutoAngle; + private int minimapRandomRotationX; + private int minimapRandomRotationY; + private int loginMenuOkButton; + private int cameraRotation; + private int combatStyle; + private final int appearanceSkinColours[] = { + 0xecded0, 0xccb366, 0xb38c40, 0x997326, 0x906020 + }; + private boolean configSoundOff; + private boolean menuShow; + private int duelOpponentItemCount; + private int duelOpponentItems[]; + private int duelOpponentItemsCount[]; + private Menu loginMenuLogin; + private int appearanceHeadLeftArrow; + private int appearanceHeadRightArrow; + private int appearanceHairLeftArrow; + private int appearanceHairRightArrow; + private int appearanceGenderLeftArrow; + private int appearanceGenderRightArrow; + private int appearanceTopLeftArrow; + private int appearanceTopRightArrow; + private int appearanceSkinLeftArrow; + private int appearanceSkingRightArrow; + private int appearanceBottomLeftArrow; + private int appearanceBottomRightArrow; + private int appearanceAcceptButton; + private byte soundData[]; + private boolean showBankBox; + private int shopItemSellPriceModifier; + private int shopItemBuyPriceModifier; + private int wildType; + private int playerStatBase[]; + private long tradeConfirmOtherNameLong; + private int showAbuseBox; + private int serverBankItems[]; + private int serverBankItemCount[]; + private boolean showShopBox; + private int groundItemX[]; + private int groundItemY[]; + private int groundItemID[]; + private int groundItemObjectVar[]; + private GameImageMiddleMan gameGraphics; + private int maxBankItems; + private int tradeConfirmOtherItemCount; + private int tradeConfirmOtherItems[]; + private int tradeConfirmOtherItemsCount[]; + private int tick; + private EngineHandle engineHandle; + private int areaX; + private int areaY; + private int layerIndex; + private int mouseButtonClick; + private Menu loginNewUser; + private int walkArrayX[]; + private int walkArrayY[]; + private int combatModelArray2[] = { + 0, 0, 0, 0, 0, 1, 2, 1 + }; + private int cameraDistance; + private int receivedMessageX[]; + private int receivedMessageY[]; + private int receivedMessageMidPoint[]; + private int receivedMessageHeight[]; + private boolean wallObjectAlreadyInMenu[]; + private int wildX; + private int wildY; + private int layerModifier; + private int lastLayerIndex; + private int bankItems[]; + private int bankItemCount[]; + private final String skillName[] = { + "Attack", "Defense", "Strength", "Hits", "Ranged", "Prayer", "Magic", "Cooking", "Woodcut", "Fletching", + "Fishing", "Firemaking", "Crafting", "Smithing", "Mining", "Herblaw", "Agility", "Thieving" + }; + private int npcCount; + private int lastNpcCount; + private int combatTimeout; + private int maxInventoryItems; + private Graphics graphics; + private boolean errorLoading; + private int animationNumber; + private int itemAboveHeadX[]; + private int itemAboveHeadY[]; + private int duelRetreat; + private int duelMagic; + private int duelPrayer; + private int duelWeapons; + private boolean showServerMessageBox; + private int playerBufferArrayIndexes[]; + private int loginScreen; + private int tradeConfigItemCount; + private int tradeConfirmItems[]; + private int tradeConfigItemsCount[]; + private int selectedBankItem; + private int selectedBankItemType; + private boolean showDuelConfirmBox; + private boolean duelConfirmOurAccepted; + private int wallObjectDirection[]; + private int wallObjectID[]; + private GameObject gameDataObjects[]; + private Mob lastNpcArray[]; + private int modelUpdatingTimer; + private int inventoryItemsCount; + private int inventoryItems[]; + private int inventoryItemCount[]; + private int inventoryItemEquipped[]; + private int selectedItem; + String selectedItemName; + private Mob lastPlayerArray[]; + private boolean showTradeConfirmBox; + private boolean tradeConfirmAccepted; + private int playerStatExp[]; + private int loginButtonNewUser; + private int loginMenuLoginButton; + private int mouseTrailIndex; + int mouseTrailX[]; + int mouseTrailY[]; + private boolean configOneMouseButton; + private boolean prayerOn[]; + private int lastLoginDays; + private int loginMenuStatusText; + private int loginMenuUserText; + private int loginMenuPasswordText; + private int loginMenuOkLoginButton; + private int loginMenuCancelButton; + private int shopItems[]; + private int shopItemCount[]; + private int shopItemBasePriceModifier[]; + private int objectCount; + private int duelOpponentStakeCount; + private int duelOpponentStakeItem[]; + private int duelOutStakeItemCount[]; + private int baseInventoryPic; + private int baseScrollPic; + private int baseItemPicture; + private int baseProjectilePic; + private int baseTexturePic; + private int subTexturePic; + private int baseLoginScreenBackgroundPic; + private int sectionLowerX; + private int sectionLowerY; + private int sectionUpperX; + private int sectionUpperY; + private int equipmentStatus[]; + private int drawMenuTab; + private int receivedMessagesCount; + String receivedMessages[]; + private int cameraRotateTime; + private int questionMenuCount; + private int cameraRotationXAmount; + private int cameraRotationXIncrement; + private int teleBubbleTime[]; + private final String gearStats[] = { + "Armour", "WeaponAim", "WeaponPower", "Magic", "Prayer" + }; + private int logoutTimer; + private int wallObjectCount; + private int magicLoc; + private int loggedIn; + private int questStage[]; + private int teleBubbleType[]; + private int experienceList[]; + private int lastModelFireLightningSpellNumber; + private int lastModelTorchNumber; + private int lastModelClawSpellNumber; + private int chatTabAllMsgFlash; + private int chatTabHistoryFlash; + private int chatTabQuestFlash; + private int chatTabPrivateFlash; + private int messagesTimeout[]; + private int projectileRange; + private final int appearanceTopBottomColours[] = { + 0xff0000, 0xff8000, 0xffe000, 0xa0e000, 57344, 32768, 41088, 45311, 33023, 12528, + 0xe000e0, 0x303030, 0x604000, 0x805000, 0xffffff + }; + private int showFriendsBox; + private int teleBubbleCount; + private boolean memoryError; + private final int appearanceHairColours[] = { + 0xffc030, 0xffa040, 0x805030, 0x604020, 0x303030, 0xff6020, 0xff4000, 0xffffff, 65280, 65535 + }; + private Menu spellMenu; + int spellMenuHandle; + int menuMagicPrayersSelected; + private int duelOurStakeCount; + private int duelOurStakeItem[]; + private int duelOurStakeItemCount[]; + private int menuX; + private int menuY; + private int menuWidth; + private int menuHeight; + private int menuOptionsCount; + private Camera gameCamera; + private Menu friendsMenu; + int friendsMenuHandle; + int friendsIgnoreMenuSelected; + long pmTarget; + private int healthBarVisibleCount; + private String menuText2[]; + private int sleepWordDelayTimer; + private int mouseButtonHeldTime; + private int mouseClickedHeldInTradeDuelBox; + private String loginUsername; + private String loginPassword; + private String duelOpponent; + private int bankPage; + private Menu loginMenuFirst; + private int healthBarX[]; + private int healthBarY[]; + private int healthBarMissing[]; + private int objectX[]; + private int objectY[]; + private int objectType[]; + private int objectRotation[]; + private int reportAbuseOptionSelected; + private boolean showDuelBox; + private Mob npcAttackingArray[]; + private int serverBankItemsCount; + private int teleBubbleY[]; + private int cameraAutoAngle; + private int cameraAutoRotationAmount; + private boolean loadArea; + private int teleBubbleX[]; + private int bankItemsCount; + private boolean showAppearanceWindow; + private int questPoints; + private int actionPictureType; + int walkMouseX; + int walkMouseY; + private int combatModelArray1[] = { + 0, 1, 2, 1, 0, 0, 0, 0 + }; + private boolean cameraZoom; + + private boolean fogOfWar; + private boolean showCombatWindow; + private boolean showRoofs; + private boolean autoScreenshot; + private boolean useChatFilter; + private String usedQuestName[]; + private int subDaysLeft; + private int shopItemSellPrice[]; + private int shopItemBuyPrice[]; + private int captchaPixels[][]; + private int captchaWidth; + private int captchaHeight; + private boolean needsClear; + private boolean hasWorldInfo; + private int friendsLastShownEntries[]; + private int spellsLastShownEntries[]; + private int prayersLastShownEntries[]; + private int questsLastShownEntries[]; +} diff --git a/clients/pom.xml b/clients/pom.xml new file mode 100644 index 0000000..651d67f --- /dev/null +++ b/clients/pom.xml @@ -0,0 +1,44 @@ + + + + + + org.moparscape.client + main + 0.1-SNAPSHOT + + 4.0.0 + clients + pom + + client317 + client508 + renamed508 + clientRSC + + + + ${project.groupId} + MoparScape + ${project.version} + + + \ No newline at end of file diff --git a/clients/renamed508/pom.xml b/clients/renamed508/pom.xml new file mode 100644 index 0000000..7f7017d --- /dev/null +++ b/clients/renamed508/pom.xml @@ -0,0 +1,30 @@ + + + + + + org.moparscape.client + clients + 0.1-SNAPSHOT + + 4.0.0 + renamed508 + \ No newline at end of file diff --git a/renamed508/src/Shortcut to src.lnk b/clients/renamed508/src/Shortcut to src.lnk similarity index 100% rename from renamed508/src/Shortcut to src.lnk rename to clients/renamed508/src/Shortcut to src.lnk diff --git a/renamed508/src/Animable.java b/clients/renamed508/src/main/java/Animable.java similarity index 100% rename from renamed508/src/Animable.java rename to clients/renamed508/src/main/java/Animable.java diff --git a/renamed508/src/Animation.java b/clients/renamed508/src/main/java/Animation.java similarity index 100% rename from renamed508/src/Animation.java rename to clients/renamed508/src/main/java/Animation.java diff --git a/renamed508/src/CachedItem.java b/clients/renamed508/src/main/java/CachedItem.java similarity index 100% rename from renamed508/src/CachedItem.java rename to clients/renamed508/src/main/java/CachedItem.java diff --git a/renamed508/src/Character.java b/clients/renamed508/src/main/java/Character.java similarity index 100% rename from renamed508/src/Character.java rename to clients/renamed508/src/main/java/Character.java diff --git a/renamed508/src/CipheredByteVector.java b/clients/renamed508/src/main/java/CipheredByteVector.java similarity index 100% rename from renamed508/src/CipheredByteVector.java rename to clients/renamed508/src/main/java/CipheredByteVector.java diff --git a/renamed508/src/Class10.java b/clients/renamed508/src/main/java/Class10.java similarity index 100% rename from renamed508/src/Class10.java rename to clients/renamed508/src/main/java/Class10.java diff --git a/renamed508/src/Class101.java b/clients/renamed508/src/main/java/Class101.java similarity index 100% rename from renamed508/src/Class101.java rename to clients/renamed508/src/main/java/Class101.java diff --git a/renamed508/src/Class102.java b/clients/renamed508/src/main/java/Class102.java similarity index 100% rename from renamed508/src/Class102.java rename to clients/renamed508/src/main/java/Class102.java diff --git a/renamed508/src/Class103.java b/clients/renamed508/src/main/java/Class103.java similarity index 100% rename from renamed508/src/Class103.java rename to clients/renamed508/src/main/java/Class103.java diff --git a/renamed508/src/Class104.java b/clients/renamed508/src/main/java/Class104.java similarity index 100% rename from renamed508/src/Class104.java rename to clients/renamed508/src/main/java/Class104.java diff --git a/renamed508/src/Class105.java b/clients/renamed508/src/main/java/Class105.java similarity index 100% rename from renamed508/src/Class105.java rename to clients/renamed508/src/main/java/Class105.java diff --git a/renamed508/src/Class105_Sub1.java b/clients/renamed508/src/main/java/Class105_Sub1.java similarity index 100% rename from renamed508/src/Class105_Sub1.java rename to clients/renamed508/src/main/java/Class105_Sub1.java diff --git a/renamed508/src/Class106.java b/clients/renamed508/src/main/java/Class106.java similarity index 100% rename from renamed508/src/Class106.java rename to clients/renamed508/src/main/java/Class106.java diff --git a/renamed508/src/Class107.java b/clients/renamed508/src/main/java/Class107.java similarity index 100% rename from renamed508/src/Class107.java rename to clients/renamed508/src/main/java/Class107.java diff --git a/renamed508/src/Class108.java b/clients/renamed508/src/main/java/Class108.java similarity index 100% rename from renamed508/src/Class108.java rename to clients/renamed508/src/main/java/Class108.java diff --git a/renamed508/src/Class109.java b/clients/renamed508/src/main/java/Class109.java similarity index 100% rename from renamed508/src/Class109.java rename to clients/renamed508/src/main/java/Class109.java diff --git a/renamed508/src/Class11.java b/clients/renamed508/src/main/java/Class11.java similarity index 100% rename from renamed508/src/Class11.java rename to clients/renamed508/src/main/java/Class11.java diff --git a/renamed508/src/Class110.java b/clients/renamed508/src/main/java/Class110.java similarity index 100% rename from renamed508/src/Class110.java rename to clients/renamed508/src/main/java/Class110.java diff --git a/renamed508/src/Class111.java b/clients/renamed508/src/main/java/Class111.java similarity index 100% rename from renamed508/src/Class111.java rename to clients/renamed508/src/main/java/Class111.java diff --git a/renamed508/src/Class112.java b/clients/renamed508/src/main/java/Class112.java similarity index 100% rename from renamed508/src/Class112.java rename to clients/renamed508/src/main/java/Class112.java diff --git a/renamed508/src/Class114.java b/clients/renamed508/src/main/java/Class114.java similarity index 100% rename from renamed508/src/Class114.java rename to clients/renamed508/src/main/java/Class114.java diff --git a/renamed508/src/Class115.java b/clients/renamed508/src/main/java/Class115.java similarity index 100% rename from renamed508/src/Class115.java rename to clients/renamed508/src/main/java/Class115.java diff --git a/renamed508/src/Class118.java b/clients/renamed508/src/main/java/Class118.java similarity index 100% rename from renamed508/src/Class118.java rename to clients/renamed508/src/main/java/Class118.java diff --git a/renamed508/src/Class119.java b/clients/renamed508/src/main/java/Class119.java similarity index 100% rename from renamed508/src/Class119.java rename to clients/renamed508/src/main/java/Class119.java diff --git a/renamed508/src/Class12.java b/clients/renamed508/src/main/java/Class12.java similarity index 100% rename from renamed508/src/Class12.java rename to clients/renamed508/src/main/java/Class12.java diff --git a/renamed508/src/Class120.java b/clients/renamed508/src/main/java/Class120.java similarity index 100% rename from renamed508/src/Class120.java rename to clients/renamed508/src/main/java/Class120.java diff --git a/renamed508/src/Class121.java b/clients/renamed508/src/main/java/Class121.java similarity index 100% rename from renamed508/src/Class121.java rename to clients/renamed508/src/main/java/Class121.java diff --git a/renamed508/src/Class122.java b/clients/renamed508/src/main/java/Class122.java similarity index 100% rename from renamed508/src/Class122.java rename to clients/renamed508/src/main/java/Class122.java diff --git a/renamed508/src/Class124.java b/clients/renamed508/src/main/java/Class124.java similarity index 100% rename from renamed508/src/Class124.java rename to clients/renamed508/src/main/java/Class124.java diff --git a/renamed508/src/Class125.java b/clients/renamed508/src/main/java/Class125.java similarity index 100% rename from renamed508/src/Class125.java rename to clients/renamed508/src/main/java/Class125.java diff --git a/renamed508/src/Class127.java b/clients/renamed508/src/main/java/Class127.java similarity index 100% rename from renamed508/src/Class127.java rename to clients/renamed508/src/main/java/Class127.java diff --git a/renamed508/src/Class13.java b/clients/renamed508/src/main/java/Class13.java similarity index 100% rename from renamed508/src/Class13.java rename to clients/renamed508/src/main/java/Class13.java diff --git a/renamed508/src/Class13_Sub1.java b/clients/renamed508/src/main/java/Class13_Sub1.java similarity index 100% rename from renamed508/src/Class13_Sub1.java rename to clients/renamed508/src/main/java/Class13_Sub1.java diff --git a/renamed508/src/Class13_Sub2.java b/clients/renamed508/src/main/java/Class13_Sub2.java similarity index 100% rename from renamed508/src/Class13_Sub2.java rename to clients/renamed508/src/main/java/Class13_Sub2.java diff --git a/renamed508/src/Class13_Sub3.java b/clients/renamed508/src/main/java/Class13_Sub3.java similarity index 100% rename from renamed508/src/Class13_Sub3.java rename to clients/renamed508/src/main/java/Class13_Sub3.java diff --git a/renamed508/src/Class13_Sub4.java b/clients/renamed508/src/main/java/Class13_Sub4.java similarity index 100% rename from renamed508/src/Class13_Sub4.java rename to clients/renamed508/src/main/java/Class13_Sub4.java diff --git a/renamed508/src/Class14.java b/clients/renamed508/src/main/java/Class14.java similarity index 100% rename from renamed508/src/Class14.java rename to clients/renamed508/src/main/java/Class14.java diff --git a/renamed508/src/Class15.java b/clients/renamed508/src/main/java/Class15.java similarity index 100% rename from renamed508/src/Class15.java rename to clients/renamed508/src/main/java/Class15.java diff --git a/renamed508/src/Class15_Sub1.java b/clients/renamed508/src/main/java/Class15_Sub1.java similarity index 100% rename from renamed508/src/Class15_Sub1.java rename to clients/renamed508/src/main/java/Class15_Sub1.java diff --git a/renamed508/src/Class17.java b/clients/renamed508/src/main/java/Class17.java similarity index 100% rename from renamed508/src/Class17.java rename to clients/renamed508/src/main/java/Class17.java diff --git a/renamed508/src/Class18.java b/clients/renamed508/src/main/java/Class18.java similarity index 100% rename from renamed508/src/Class18.java rename to clients/renamed508/src/main/java/Class18.java diff --git a/renamed508/src/Class1_Sub1.java b/clients/renamed508/src/main/java/Class1_Sub1.java similarity index 100% rename from renamed508/src/Class1_Sub1.java rename to clients/renamed508/src/main/java/Class1_Sub1.java diff --git a/renamed508/src/Class1_Sub4.java b/clients/renamed508/src/main/java/Class1_Sub4.java similarity index 100% rename from renamed508/src/Class1_Sub4.java rename to clients/renamed508/src/main/java/Class1_Sub4.java diff --git a/renamed508/src/Class1_Sub5.java b/clients/renamed508/src/main/java/Class1_Sub5.java similarity index 100% rename from renamed508/src/Class1_Sub5.java rename to clients/renamed508/src/main/java/Class1_Sub5.java diff --git a/renamed508/src/Class1_Sub7.java b/clients/renamed508/src/main/java/Class1_Sub7.java similarity index 100% rename from renamed508/src/Class1_Sub7.java rename to clients/renamed508/src/main/java/Class1_Sub7.java diff --git a/renamed508/src/Class20.java b/clients/renamed508/src/main/java/Class20.java similarity index 100% rename from renamed508/src/Class20.java rename to clients/renamed508/src/main/java/Class20.java diff --git a/renamed508/src/Class21.java b/clients/renamed508/src/main/java/Class21.java similarity index 100% rename from renamed508/src/Class21.java rename to clients/renamed508/src/main/java/Class21.java diff --git a/renamed508/src/Class21_Sub1.java b/clients/renamed508/src/main/java/Class21_Sub1.java similarity index 100% rename from renamed508/src/Class21_Sub1.java rename to clients/renamed508/src/main/java/Class21_Sub1.java diff --git a/renamed508/src/Class22.java b/clients/renamed508/src/main/java/Class22.java similarity index 100% rename from renamed508/src/Class22.java rename to clients/renamed508/src/main/java/Class22.java diff --git a/renamed508/src/Class23.java b/clients/renamed508/src/main/java/Class23.java similarity index 100% rename from renamed508/src/Class23.java rename to clients/renamed508/src/main/java/Class23.java diff --git a/renamed508/src/Class24.java b/clients/renamed508/src/main/java/Class24.java similarity index 100% rename from renamed508/src/Class24.java rename to clients/renamed508/src/main/java/Class24.java diff --git a/renamed508/src/Class25.java b/clients/renamed508/src/main/java/Class25.java similarity index 100% rename from renamed508/src/Class25.java rename to clients/renamed508/src/main/java/Class25.java diff --git a/renamed508/src/Class26.java b/clients/renamed508/src/main/java/Class26.java similarity index 100% rename from renamed508/src/Class26.java rename to clients/renamed508/src/main/java/Class26.java diff --git a/renamed508/src/Class27.java b/clients/renamed508/src/main/java/Class27.java similarity index 100% rename from renamed508/src/Class27.java rename to clients/renamed508/src/main/java/Class27.java diff --git a/renamed508/src/Class28.java b/clients/renamed508/src/main/java/Class28.java similarity index 100% rename from renamed508/src/Class28.java rename to clients/renamed508/src/main/java/Class28.java diff --git a/renamed508/src/Class29.java b/clients/renamed508/src/main/java/Class29.java similarity index 100% rename from renamed508/src/Class29.java rename to clients/renamed508/src/main/java/Class29.java diff --git a/renamed508/src/Class3.java b/clients/renamed508/src/main/java/Class3.java similarity index 100% rename from renamed508/src/Class3.java rename to clients/renamed508/src/main/java/Class3.java diff --git a/renamed508/src/Class30.java b/clients/renamed508/src/main/java/Class30.java similarity index 100% rename from renamed508/src/Class30.java rename to clients/renamed508/src/main/java/Class30.java diff --git a/renamed508/src/Class31.java b/clients/renamed508/src/main/java/Class31.java similarity index 100% rename from renamed508/src/Class31.java rename to clients/renamed508/src/main/java/Class31.java diff --git a/renamed508/src/Class32.java b/clients/renamed508/src/main/java/Class32.java similarity index 100% rename from renamed508/src/Class32.java rename to clients/renamed508/src/main/java/Class32.java diff --git a/renamed508/src/Class33.java b/clients/renamed508/src/main/java/Class33.java similarity index 100% rename from renamed508/src/Class33.java rename to clients/renamed508/src/main/java/Class33.java diff --git a/renamed508/src/Class34.java b/clients/renamed508/src/main/java/Class34.java similarity index 100% rename from renamed508/src/Class34.java rename to clients/renamed508/src/main/java/Class34.java diff --git a/renamed508/src/Class35.java b/clients/renamed508/src/main/java/Class35.java similarity index 100% rename from renamed508/src/Class35.java rename to clients/renamed508/src/main/java/Class35.java diff --git a/renamed508/src/Class35_Sub1.java b/clients/renamed508/src/main/java/Class35_Sub1.java similarity index 100% rename from renamed508/src/Class35_Sub1.java rename to clients/renamed508/src/main/java/Class35_Sub1.java diff --git a/renamed508/src/Class35_Sub2.java b/clients/renamed508/src/main/java/Class35_Sub2.java similarity index 100% rename from renamed508/src/Class35_Sub2.java rename to clients/renamed508/src/main/java/Class35_Sub2.java diff --git a/renamed508/src/Class36.java b/clients/renamed508/src/main/java/Class36.java similarity index 100% rename from renamed508/src/Class36.java rename to clients/renamed508/src/main/java/Class36.java diff --git a/renamed508/src/Class37.java b/clients/renamed508/src/main/java/Class37.java similarity index 100% rename from renamed508/src/Class37.java rename to clients/renamed508/src/main/java/Class37.java diff --git a/renamed508/src/Class39.java b/clients/renamed508/src/main/java/Class39.java similarity index 100% rename from renamed508/src/Class39.java rename to clients/renamed508/src/main/java/Class39.java diff --git a/renamed508/src/Class4.java b/clients/renamed508/src/main/java/Class4.java similarity index 100% rename from renamed508/src/Class4.java rename to clients/renamed508/src/main/java/Class4.java diff --git a/renamed508/src/Class40.java b/clients/renamed508/src/main/java/Class40.java similarity index 100% rename from renamed508/src/Class40.java rename to clients/renamed508/src/main/java/Class40.java diff --git a/renamed508/src/Class41.java b/clients/renamed508/src/main/java/Class41.java similarity index 100% rename from renamed508/src/Class41.java rename to clients/renamed508/src/main/java/Class41.java diff --git a/renamed508/src/Class42.java b/clients/renamed508/src/main/java/Class42.java similarity index 100% rename from renamed508/src/Class42.java rename to clients/renamed508/src/main/java/Class42.java diff --git a/renamed508/src/Class43.java b/clients/renamed508/src/main/java/Class43.java similarity index 100% rename from renamed508/src/Class43.java rename to clients/renamed508/src/main/java/Class43.java diff --git a/renamed508/src/Class44.java b/clients/renamed508/src/main/java/Class44.java similarity index 100% rename from renamed508/src/Class44.java rename to clients/renamed508/src/main/java/Class44.java diff --git a/renamed508/src/Class46.java b/clients/renamed508/src/main/java/Class46.java similarity index 100% rename from renamed508/src/Class46.java rename to clients/renamed508/src/main/java/Class46.java diff --git a/renamed508/src/Class48.java b/clients/renamed508/src/main/java/Class48.java similarity index 100% rename from renamed508/src/Class48.java rename to clients/renamed508/src/main/java/Class48.java diff --git a/renamed508/src/Class49.java b/clients/renamed508/src/main/java/Class49.java similarity index 100% rename from renamed508/src/Class49.java rename to clients/renamed508/src/main/java/Class49.java diff --git a/renamed508/src/Class5.java b/clients/renamed508/src/main/java/Class5.java similarity index 100% rename from renamed508/src/Class5.java rename to clients/renamed508/src/main/java/Class5.java diff --git a/renamed508/src/Class50.java b/clients/renamed508/src/main/java/Class50.java similarity index 100% rename from renamed508/src/Class50.java rename to clients/renamed508/src/main/java/Class50.java diff --git a/renamed508/src/Class50_Sub1.java b/clients/renamed508/src/main/java/Class50_Sub1.java similarity index 100% rename from renamed508/src/Class50_Sub1.java rename to clients/renamed508/src/main/java/Class50_Sub1.java diff --git a/renamed508/src/Class50_Sub2.java b/clients/renamed508/src/main/java/Class50_Sub2.java similarity index 100% rename from renamed508/src/Class50_Sub2.java rename to clients/renamed508/src/main/java/Class50_Sub2.java diff --git a/renamed508/src/Class51.java b/clients/renamed508/src/main/java/Class51.java similarity index 100% rename from renamed508/src/Class51.java rename to clients/renamed508/src/main/java/Class51.java diff --git a/renamed508/src/Class52.java b/clients/renamed508/src/main/java/Class52.java similarity index 100% rename from renamed508/src/Class52.java rename to clients/renamed508/src/main/java/Class52.java diff --git a/renamed508/src/Class53.java b/clients/renamed508/src/main/java/Class53.java similarity index 100% rename from renamed508/src/Class53.java rename to clients/renamed508/src/main/java/Class53.java diff --git a/renamed508/src/Class54.java b/clients/renamed508/src/main/java/Class54.java similarity index 100% rename from renamed508/src/Class54.java rename to clients/renamed508/src/main/java/Class54.java diff --git a/renamed508/src/Class56.java b/clients/renamed508/src/main/java/Class56.java similarity index 100% rename from renamed508/src/Class56.java rename to clients/renamed508/src/main/java/Class56.java diff --git a/renamed508/src/Class58.java b/clients/renamed508/src/main/java/Class58.java similarity index 100% rename from renamed508/src/Class58.java rename to clients/renamed508/src/main/java/Class58.java diff --git a/renamed508/src/Class59.java b/clients/renamed508/src/main/java/Class59.java similarity index 100% rename from renamed508/src/Class59.java rename to clients/renamed508/src/main/java/Class59.java diff --git a/renamed508/src/Class6.java b/clients/renamed508/src/main/java/Class6.java similarity index 100% rename from renamed508/src/Class6.java rename to clients/renamed508/src/main/java/Class6.java diff --git a/renamed508/src/Class60.java b/clients/renamed508/src/main/java/Class60.java similarity index 100% rename from renamed508/src/Class60.java rename to clients/renamed508/src/main/java/Class60.java diff --git a/renamed508/src/Class62.java b/clients/renamed508/src/main/java/Class62.java similarity index 100% rename from renamed508/src/Class62.java rename to clients/renamed508/src/main/java/Class62.java diff --git a/renamed508/src/Class63.java b/clients/renamed508/src/main/java/Class63.java similarity index 100% rename from renamed508/src/Class63.java rename to clients/renamed508/src/main/java/Class63.java diff --git a/renamed508/src/Class65.java b/clients/renamed508/src/main/java/Class65.java similarity index 100% rename from renamed508/src/Class65.java rename to clients/renamed508/src/main/java/Class65.java diff --git a/renamed508/src/Class66.java b/clients/renamed508/src/main/java/Class66.java similarity index 100% rename from renamed508/src/Class66.java rename to clients/renamed508/src/main/java/Class66.java diff --git a/renamed508/src/Class67.java b/clients/renamed508/src/main/java/Class67.java similarity index 100% rename from renamed508/src/Class67.java rename to clients/renamed508/src/main/java/Class67.java diff --git a/renamed508/src/Class68_Sub10.java b/clients/renamed508/src/main/java/Class68_Sub10.java similarity index 100% rename from renamed508/src/Class68_Sub10.java rename to clients/renamed508/src/main/java/Class68_Sub10.java diff --git a/renamed508/src/Class68_Sub11.java b/clients/renamed508/src/main/java/Class68_Sub11.java similarity index 100% rename from renamed508/src/Class68_Sub11.java rename to clients/renamed508/src/main/java/Class68_Sub11.java diff --git a/renamed508/src/Class68_Sub11_Sub1.java b/clients/renamed508/src/main/java/Class68_Sub11_Sub1.java similarity index 100% rename from renamed508/src/Class68_Sub11_Sub1.java rename to clients/renamed508/src/main/java/Class68_Sub11_Sub1.java diff --git a/renamed508/src/Class68_Sub12.java b/clients/renamed508/src/main/java/Class68_Sub12.java similarity index 100% rename from renamed508/src/Class68_Sub12.java rename to clients/renamed508/src/main/java/Class68_Sub12.java diff --git a/renamed508/src/Class68_Sub13.java b/clients/renamed508/src/main/java/Class68_Sub13.java similarity index 100% rename from renamed508/src/Class68_Sub13.java rename to clients/renamed508/src/main/java/Class68_Sub13.java diff --git a/renamed508/src/Class68_Sub13_Sub1.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub1.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub1.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub1.java diff --git a/renamed508/src/Class68_Sub13_Sub10.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub10.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub10.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub10.java diff --git a/renamed508/src/Class68_Sub13_Sub11.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub11.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub11.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub11.java diff --git a/renamed508/src/Class68_Sub13_Sub12.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub12.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub12.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub12.java diff --git a/renamed508/src/Class68_Sub13_Sub13.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub13.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub13.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub13.java diff --git a/renamed508/src/Class68_Sub13_Sub14.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub14.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub14.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub14.java diff --git a/renamed508/src/Class68_Sub13_Sub15.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub15.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub15.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub15.java diff --git a/renamed508/src/Class68_Sub13_Sub16.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub16.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub16.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub16.java diff --git a/renamed508/src/Class68_Sub13_Sub17.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub17.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub17.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub17.java diff --git a/renamed508/src/Class68_Sub13_Sub18.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub18.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub18.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub18.java diff --git a/renamed508/src/Class68_Sub13_Sub19.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub19.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub19.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub19.java diff --git a/renamed508/src/Class68_Sub13_Sub2.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub2.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub2.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub2.java diff --git a/renamed508/src/Class68_Sub13_Sub20.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub20.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub20.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub20.java diff --git a/renamed508/src/Class68_Sub13_Sub21.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub21.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub21.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub21.java diff --git a/renamed508/src/Class68_Sub13_Sub22.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub22.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub22.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub22.java diff --git a/renamed508/src/Class68_Sub13_Sub23.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub23.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub23.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub23.java diff --git a/renamed508/src/Class68_Sub13_Sub24.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub24.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub24.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub24.java diff --git a/renamed508/src/Class68_Sub13_Sub25.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub25.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub25.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub25.java diff --git a/renamed508/src/Class68_Sub13_Sub26.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub26.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub26.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub26.java diff --git a/renamed508/src/Class68_Sub13_Sub26_Sub1.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub26_Sub1.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub26_Sub1.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub26_Sub1.java diff --git a/renamed508/src/Class68_Sub13_Sub27.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub27.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub27.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub27.java diff --git a/renamed508/src/Class68_Sub13_Sub28.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub28.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub28.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub28.java diff --git a/renamed508/src/Class68_Sub13_Sub29.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub29.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub29.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub29.java diff --git a/renamed508/src/Class68_Sub13_Sub3.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub3.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub3.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub3.java diff --git a/renamed508/src/Class68_Sub13_Sub30.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub30.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub30.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub30.java diff --git a/renamed508/src/Class68_Sub13_Sub31.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub31.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub31.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub31.java diff --git a/renamed508/src/Class68_Sub13_Sub32.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub32.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub32.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub32.java diff --git a/renamed508/src/Class68_Sub13_Sub33.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub33.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub33.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub33.java diff --git a/renamed508/src/Class68_Sub13_Sub34.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub34.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub34.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub34.java diff --git a/renamed508/src/Class68_Sub13_Sub35.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub35.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub35.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub35.java diff --git a/renamed508/src/Class68_Sub13_Sub36.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub36.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub36.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub36.java diff --git a/renamed508/src/Class68_Sub13_Sub37.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub37.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub37.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub37.java diff --git a/renamed508/src/Class68_Sub13_Sub38.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub38.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub38.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub38.java diff --git a/renamed508/src/Class68_Sub13_Sub39.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub39.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub39.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub39.java diff --git a/renamed508/src/Class68_Sub13_Sub4.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub4.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub4.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub4.java diff --git a/renamed508/src/Class68_Sub13_Sub5.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub5.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub5.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub5.java diff --git a/renamed508/src/Class68_Sub13_Sub6.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub6.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub6.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub6.java diff --git a/renamed508/src/Class68_Sub13_Sub7.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub7.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub7.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub7.java diff --git a/renamed508/src/Class68_Sub13_Sub8.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub8.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub8.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub8.java diff --git a/renamed508/src/Class68_Sub13_Sub9.java b/clients/renamed508/src/main/java/Class68_Sub13_Sub9.java similarity index 100% rename from renamed508/src/Class68_Sub13_Sub9.java rename to clients/renamed508/src/main/java/Class68_Sub13_Sub9.java diff --git a/renamed508/src/Class68_Sub15.java b/clients/renamed508/src/main/java/Class68_Sub15.java similarity index 100% rename from renamed508/src/Class68_Sub15.java rename to clients/renamed508/src/main/java/Class68_Sub15.java diff --git a/renamed508/src/Class68_Sub16.java b/clients/renamed508/src/main/java/Class68_Sub16.java similarity index 100% rename from renamed508/src/Class68_Sub16.java rename to clients/renamed508/src/main/java/Class68_Sub16.java diff --git a/renamed508/src/Class68_Sub17.java b/clients/renamed508/src/main/java/Class68_Sub17.java similarity index 100% rename from renamed508/src/Class68_Sub17.java rename to clients/renamed508/src/main/java/Class68_Sub17.java diff --git a/renamed508/src/Class68_Sub18.java b/clients/renamed508/src/main/java/Class68_Sub18.java similarity index 100% rename from renamed508/src/Class68_Sub18.java rename to clients/renamed508/src/main/java/Class68_Sub18.java diff --git a/renamed508/src/Class68_Sub19.java b/clients/renamed508/src/main/java/Class68_Sub19.java similarity index 100% rename from renamed508/src/Class68_Sub19.java rename to clients/renamed508/src/main/java/Class68_Sub19.java diff --git a/renamed508/src/Class68_Sub2.java b/clients/renamed508/src/main/java/Class68_Sub2.java similarity index 100% rename from renamed508/src/Class68_Sub2.java rename to clients/renamed508/src/main/java/Class68_Sub2.java diff --git a/renamed508/src/Class68_Sub20_Sub1.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub1.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub1.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub1.java diff --git a/renamed508/src/Class68_Sub20_Sub10.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub10.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub10.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub10.java diff --git a/renamed508/src/Class68_Sub20_Sub10_Sub1_Sub1.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub10_Sub1_Sub1.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub10_Sub1_Sub1.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub10_Sub1_Sub1.java diff --git a/renamed508/src/Class68_Sub20_Sub11.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub11.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub11.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub11.java diff --git a/renamed508/src/Class68_Sub20_Sub12.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub12.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub12.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub12.java diff --git a/renamed508/src/Class68_Sub20_Sub13.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub13.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub13.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub13.java diff --git a/renamed508/src/Class68_Sub20_Sub13_Sub1.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub13_Sub1.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub13_Sub1.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub13_Sub1.java diff --git a/renamed508/src/Class68_Sub20_Sub13_Sub2.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub13_Sub2.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub13_Sub2.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub13_Sub2.java diff --git a/renamed508/src/Class68_Sub20_Sub15.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub15.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub15.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub15.java diff --git a/renamed508/src/Class68_Sub20_Sub16.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub16.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub16.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub16.java diff --git a/renamed508/src/Class68_Sub20_Sub17.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub17.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub17.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub17.java diff --git a/renamed508/src/Class68_Sub20_Sub19.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub19.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub19.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub19.java diff --git a/renamed508/src/Class68_Sub20_Sub1_Sub1.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub1_Sub1.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub1_Sub1.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub1_Sub1.java diff --git a/renamed508/src/Class68_Sub20_Sub2.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub2.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub2.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub2.java diff --git a/renamed508/src/Class68_Sub20_Sub3.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub3.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub3.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub3.java diff --git a/renamed508/src/Class68_Sub20_Sub4.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub4.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub4.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub4.java diff --git a/renamed508/src/Class68_Sub20_Sub5.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub5.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub5.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub5.java diff --git a/renamed508/src/Class68_Sub20_Sub6.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub6.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub6.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub6.java diff --git a/renamed508/src/Class68_Sub20_Sub7.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub7.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub7.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub7.java diff --git a/renamed508/src/Class68_Sub20_Sub8.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub8.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub8.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub8.java diff --git a/renamed508/src/Class68_Sub20_Sub9.java b/clients/renamed508/src/main/java/Class68_Sub20_Sub9.java similarity index 100% rename from renamed508/src/Class68_Sub20_Sub9.java rename to clients/renamed508/src/main/java/Class68_Sub20_Sub9.java diff --git a/renamed508/src/Class68_Sub21.java b/clients/renamed508/src/main/java/Class68_Sub21.java similarity index 100% rename from renamed508/src/Class68_Sub21.java rename to clients/renamed508/src/main/java/Class68_Sub21.java diff --git a/renamed508/src/Class68_Sub22.java b/clients/renamed508/src/main/java/Class68_Sub22.java similarity index 100% rename from renamed508/src/Class68_Sub22.java rename to clients/renamed508/src/main/java/Class68_Sub22.java diff --git a/renamed508/src/Class68_Sub23.java b/clients/renamed508/src/main/java/Class68_Sub23.java similarity index 100% rename from renamed508/src/Class68_Sub23.java rename to clients/renamed508/src/main/java/Class68_Sub23.java diff --git a/renamed508/src/Class68_Sub24.java b/clients/renamed508/src/main/java/Class68_Sub24.java similarity index 100% rename from renamed508/src/Class68_Sub24.java rename to clients/renamed508/src/main/java/Class68_Sub24.java diff --git a/renamed508/src/Class68_Sub25.java b/clients/renamed508/src/main/java/Class68_Sub25.java similarity index 100% rename from renamed508/src/Class68_Sub25.java rename to clients/renamed508/src/main/java/Class68_Sub25.java diff --git a/renamed508/src/Class68_Sub26.java b/clients/renamed508/src/main/java/Class68_Sub26.java similarity index 100% rename from renamed508/src/Class68_Sub26.java rename to clients/renamed508/src/main/java/Class68_Sub26.java diff --git a/renamed508/src/Class68_Sub27.java b/clients/renamed508/src/main/java/Class68_Sub27.java similarity index 100% rename from renamed508/src/Class68_Sub27.java rename to clients/renamed508/src/main/java/Class68_Sub27.java diff --git a/renamed508/src/Class68_Sub28.java b/clients/renamed508/src/main/java/Class68_Sub28.java similarity index 100% rename from renamed508/src/Class68_Sub28.java rename to clients/renamed508/src/main/java/Class68_Sub28.java diff --git a/renamed508/src/Class68_Sub28_Sub1.java b/clients/renamed508/src/main/java/Class68_Sub28_Sub1.java similarity index 100% rename from renamed508/src/Class68_Sub28_Sub1.java rename to clients/renamed508/src/main/java/Class68_Sub28_Sub1.java diff --git a/renamed508/src/Class68_Sub28_Sub2.java b/clients/renamed508/src/main/java/Class68_Sub28_Sub2.java similarity index 100% rename from renamed508/src/Class68_Sub28_Sub2.java rename to clients/renamed508/src/main/java/Class68_Sub28_Sub2.java diff --git a/renamed508/src/Class68_Sub28_Sub3.java b/clients/renamed508/src/main/java/Class68_Sub28_Sub3.java similarity index 100% rename from renamed508/src/Class68_Sub28_Sub3.java rename to clients/renamed508/src/main/java/Class68_Sub28_Sub3.java diff --git a/renamed508/src/Class68_Sub28_Sub4.java b/clients/renamed508/src/main/java/Class68_Sub28_Sub4.java similarity index 100% rename from renamed508/src/Class68_Sub28_Sub4.java rename to clients/renamed508/src/main/java/Class68_Sub28_Sub4.java diff --git a/renamed508/src/Class68_Sub3.java b/clients/renamed508/src/main/java/Class68_Sub3.java similarity index 100% rename from renamed508/src/Class68_Sub3.java rename to clients/renamed508/src/main/java/Class68_Sub3.java diff --git a/renamed508/src/Class68_Sub4.java b/clients/renamed508/src/main/java/Class68_Sub4.java similarity index 100% rename from renamed508/src/Class68_Sub4.java rename to clients/renamed508/src/main/java/Class68_Sub4.java diff --git a/renamed508/src/Class68_Sub5.java b/clients/renamed508/src/main/java/Class68_Sub5.java similarity index 100% rename from renamed508/src/Class68_Sub5.java rename to clients/renamed508/src/main/java/Class68_Sub5.java diff --git a/renamed508/src/Class68_Sub6.java b/clients/renamed508/src/main/java/Class68_Sub6.java similarity index 100% rename from renamed508/src/Class68_Sub6.java rename to clients/renamed508/src/main/java/Class68_Sub6.java diff --git a/renamed508/src/Class68_Sub7.java b/clients/renamed508/src/main/java/Class68_Sub7.java similarity index 100% rename from renamed508/src/Class68_Sub7.java rename to clients/renamed508/src/main/java/Class68_Sub7.java diff --git a/renamed508/src/Class68_Sub8.java b/clients/renamed508/src/main/java/Class68_Sub8.java similarity index 100% rename from renamed508/src/Class68_Sub8.java rename to clients/renamed508/src/main/java/Class68_Sub8.java diff --git a/renamed508/src/Class68_Sub9.java b/clients/renamed508/src/main/java/Class68_Sub9.java similarity index 100% rename from renamed508/src/Class68_Sub9.java rename to clients/renamed508/src/main/java/Class68_Sub9.java diff --git a/renamed508/src/Class7.java b/clients/renamed508/src/main/java/Class7.java similarity index 100% rename from renamed508/src/Class7.java rename to clients/renamed508/src/main/java/Class7.java diff --git a/renamed508/src/Class70.java b/clients/renamed508/src/main/java/Class70.java similarity index 100% rename from renamed508/src/Class70.java rename to clients/renamed508/src/main/java/Class70.java diff --git a/renamed508/src/Class71.java b/clients/renamed508/src/main/java/Class71.java similarity index 100% rename from renamed508/src/Class71.java rename to clients/renamed508/src/main/java/Class71.java diff --git a/renamed508/src/Class71_Sub1.java b/clients/renamed508/src/main/java/Class71_Sub1.java similarity index 100% rename from renamed508/src/Class71_Sub1.java rename to clients/renamed508/src/main/java/Class71_Sub1.java diff --git a/renamed508/src/Class72.java b/clients/renamed508/src/main/java/Class72.java similarity index 100% rename from renamed508/src/Class72.java rename to clients/renamed508/src/main/java/Class72.java diff --git a/renamed508/src/Class72_Sub1.java b/clients/renamed508/src/main/java/Class72_Sub1.java similarity index 100% rename from renamed508/src/Class72_Sub1.java rename to clients/renamed508/src/main/java/Class72_Sub1.java diff --git a/renamed508/src/Class72_Sub2.java b/clients/renamed508/src/main/java/Class72_Sub2.java similarity index 100% rename from renamed508/src/Class72_Sub2.java rename to clients/renamed508/src/main/java/Class72_Sub2.java diff --git a/renamed508/src/Class73.java b/clients/renamed508/src/main/java/Class73.java similarity index 100% rename from renamed508/src/Class73.java rename to clients/renamed508/src/main/java/Class73.java diff --git a/renamed508/src/Class74.java b/clients/renamed508/src/main/java/Class74.java similarity index 100% rename from renamed508/src/Class74.java rename to clients/renamed508/src/main/java/Class74.java diff --git a/renamed508/src/Class75.java b/clients/renamed508/src/main/java/Class75.java similarity index 100% rename from renamed508/src/Class75.java rename to clients/renamed508/src/main/java/Class75.java diff --git a/renamed508/src/Class75_Sub1.java b/clients/renamed508/src/main/java/Class75_Sub1.java similarity index 100% rename from renamed508/src/Class75_Sub1.java rename to clients/renamed508/src/main/java/Class75_Sub1.java diff --git a/renamed508/src/Class75_Sub1_Sub1.java b/clients/renamed508/src/main/java/Class75_Sub1_Sub1.java similarity index 100% rename from renamed508/src/Class75_Sub1_Sub1.java rename to clients/renamed508/src/main/java/Class75_Sub1_Sub1.java diff --git a/renamed508/src/Class75_Sub2.java b/clients/renamed508/src/main/java/Class75_Sub2.java similarity index 100% rename from renamed508/src/Class75_Sub2.java rename to clients/renamed508/src/main/java/Class75_Sub2.java diff --git a/renamed508/src/Class75_Sub3.java b/clients/renamed508/src/main/java/Class75_Sub3.java similarity index 100% rename from renamed508/src/Class75_Sub3.java rename to clients/renamed508/src/main/java/Class75_Sub3.java diff --git a/renamed508/src/Class75_Sub3_Sub1.java b/clients/renamed508/src/main/java/Class75_Sub3_Sub1.java similarity index 100% rename from renamed508/src/Class75_Sub3_Sub1.java rename to clients/renamed508/src/main/java/Class75_Sub3_Sub1.java diff --git a/renamed508/src/Class77.java b/clients/renamed508/src/main/java/Class77.java similarity index 100% rename from renamed508/src/Class77.java rename to clients/renamed508/src/main/java/Class77.java diff --git a/renamed508/src/Class78.java b/clients/renamed508/src/main/java/Class78.java similarity index 100% rename from renamed508/src/Class78.java rename to clients/renamed508/src/main/java/Class78.java diff --git a/renamed508/src/Class79.java b/clients/renamed508/src/main/java/Class79.java similarity index 100% rename from renamed508/src/Class79.java rename to clients/renamed508/src/main/java/Class79.java diff --git a/renamed508/src/Class8.java b/clients/renamed508/src/main/java/Class8.java similarity index 100% rename from renamed508/src/Class8.java rename to clients/renamed508/src/main/java/Class8.java diff --git a/renamed508/src/Class83.java b/clients/renamed508/src/main/java/Class83.java similarity index 100% rename from renamed508/src/Class83.java rename to clients/renamed508/src/main/java/Class83.java diff --git a/renamed508/src/Class84.java b/clients/renamed508/src/main/java/Class84.java similarity index 100% rename from renamed508/src/Class84.java rename to clients/renamed508/src/main/java/Class84.java diff --git a/renamed508/src/Class85.java b/clients/renamed508/src/main/java/Class85.java similarity index 100% rename from renamed508/src/Class85.java rename to clients/renamed508/src/main/java/Class85.java diff --git a/renamed508/src/Class87.java b/clients/renamed508/src/main/java/Class87.java similarity index 100% rename from renamed508/src/Class87.java rename to clients/renamed508/src/main/java/Class87.java diff --git a/renamed508/src/Class88.java b/clients/renamed508/src/main/java/Class88.java similarity index 100% rename from renamed508/src/Class88.java rename to clients/renamed508/src/main/java/Class88.java diff --git a/renamed508/src/Class89.java b/clients/renamed508/src/main/java/Class89.java similarity index 100% rename from renamed508/src/Class89.java rename to clients/renamed508/src/main/java/Class89.java diff --git a/renamed508/src/Class9.java b/clients/renamed508/src/main/java/Class9.java similarity index 100% rename from renamed508/src/Class9.java rename to clients/renamed508/src/main/java/Class9.java diff --git a/renamed508/src/Class90.java b/clients/renamed508/src/main/java/Class90.java similarity index 100% rename from renamed508/src/Class90.java rename to clients/renamed508/src/main/java/Class90.java diff --git a/renamed508/src/Class91.java b/clients/renamed508/src/main/java/Class91.java similarity index 100% rename from renamed508/src/Class91.java rename to clients/renamed508/src/main/java/Class91.java diff --git a/renamed508/src/Class92.java b/clients/renamed508/src/main/java/Class92.java similarity index 100% rename from renamed508/src/Class92.java rename to clients/renamed508/src/main/java/Class92.java diff --git a/renamed508/src/Class92_Sub1.java b/clients/renamed508/src/main/java/Class92_Sub1.java similarity index 100% rename from renamed508/src/Class92_Sub1.java rename to clients/renamed508/src/main/java/Class92_Sub1.java diff --git a/renamed508/src/Class93.java b/clients/renamed508/src/main/java/Class93.java similarity index 100% rename from renamed508/src/Class93.java rename to clients/renamed508/src/main/java/Class93.java diff --git a/renamed508/src/Class94.java b/clients/renamed508/src/main/java/Class94.java similarity index 100% rename from renamed508/src/Class94.java rename to clients/renamed508/src/main/java/Class94.java diff --git a/renamed508/src/Class95.java b/clients/renamed508/src/main/java/Class95.java similarity index 100% rename from renamed508/src/Class95.java rename to clients/renamed508/src/main/java/Class95.java diff --git a/renamed508/src/Class96.java b/clients/renamed508/src/main/java/Class96.java similarity index 100% rename from renamed508/src/Class96.java rename to clients/renamed508/src/main/java/Class96.java diff --git a/renamed508/src/Class97.java b/clients/renamed508/src/main/java/Class97.java similarity index 100% rename from renamed508/src/Class97.java rename to clients/renamed508/src/main/java/Class97.java diff --git a/renamed508/src/Class97_Sub1.java b/clients/renamed508/src/main/java/Class97_Sub1.java similarity index 100% rename from renamed508/src/Class97_Sub1.java rename to clients/renamed508/src/main/java/Class97_Sub1.java diff --git a/renamed508/src/Class99.java b/clients/renamed508/src/main/java/Class99.java similarity index 100% rename from renamed508/src/Class99.java rename to clients/renamed508/src/main/java/Class99.java diff --git a/renamed508/src/ClientScript.java b/clients/renamed508/src/main/java/ClientScript.java similarity index 100% rename from renamed508/src/ClientScript.java rename to clients/renamed508/src/main/java/ClientScript.java diff --git a/renamed508/src/FileOnDisk.java b/clients/renamed508/src/main/java/FileOnDisk.java similarity index 100% rename from renamed508/src/FileOnDisk.java rename to clients/renamed508/src/main/java/FileOnDisk.java diff --git a/renamed508/src/GameApplet.java b/clients/renamed508/src/main/java/GameApplet.java similarity index 100% rename from renamed508/src/GameApplet.java rename to clients/renamed508/src/main/java/GameApplet.java diff --git a/renamed508/src/GameCanvas.java b/clients/renamed508/src/main/java/GameCanvas.java similarity index 100% rename from renamed508/src/GameCanvas.java rename to clients/renamed508/src/main/java/GameCanvas.java diff --git a/renamed508/src/GameException.java b/clients/renamed508/src/main/java/GameException.java similarity index 100% rename from renamed508/src/GameException.java rename to clients/renamed508/src/main/java/GameException.java diff --git a/renamed508/src/GameSocket.java b/clients/renamed508/src/main/java/GameSocket.java similarity index 100% rename from renamed508/src/GameSocket.java rename to clients/renamed508/src/main/java/GameSocket.java diff --git a/renamed508/src/Ground.java b/clients/renamed508/src/main/java/Ground.java similarity index 100% rename from renamed508/src/Ground.java rename to clients/renamed508/src/main/java/Ground.java diff --git a/renamed508/src/GroundData.java b/clients/renamed508/src/main/java/GroundData.java similarity index 100% rename from renamed508/src/GroundData.java rename to clients/renamed508/src/main/java/GroundData.java diff --git a/renamed508/src/Interface1.java b/clients/renamed508/src/main/java/Interface1.java similarity index 100% rename from renamed508/src/Interface1.java rename to clients/renamed508/src/main/java/Interface1.java diff --git a/renamed508/src/Interface2.java b/clients/renamed508/src/main/java/Interface2.java similarity index 100% rename from renamed508/src/Interface2.java rename to clients/renamed508/src/main/java/Interface2.java diff --git a/renamed508/src/Interface3.java b/clients/renamed508/src/main/java/Interface3.java similarity index 100% rename from renamed508/src/Interface3.java rename to clients/renamed508/src/main/java/Interface3.java diff --git a/renamed508/src/Interface4.java b/clients/renamed508/src/main/java/Interface4.java similarity index 100% rename from renamed508/src/Interface4.java rename to clients/renamed508/src/main/java/Interface4.java diff --git a/renamed508/src/Item.java b/clients/renamed508/src/main/java/Item.java similarity index 100% rename from renamed508/src/Item.java rename to clients/renamed508/src/main/java/Item.java diff --git a/renamed508/src/ItemDefinition.java b/clients/renamed508/src/main/java/ItemDefinition.java similarity index 100% rename from renamed508/src/ItemDefinition.java rename to clients/renamed508/src/main/java/ItemDefinition.java diff --git a/renamed508/src/Keyboard.java b/clients/renamed508/src/main/java/Keyboard.java similarity index 100% rename from renamed508/src/Keyboard.java rename to clients/renamed508/src/main/java/Keyboard.java diff --git a/renamed508/src/Login.java b/clients/renamed508/src/main/java/Login.java similarity index 100% rename from renamed508/src/Login.java rename to clients/renamed508/src/main/java/Login.java diff --git a/renamed508/src/MRUNodes.java b/clients/renamed508/src/main/java/MRUNodes.java similarity index 100% rename from renamed508/src/MRUNodes.java rename to clients/renamed508/src/main/java/MRUNodes.java diff --git a/renamed508/src/Model.java b/clients/renamed508/src/main/java/Model.java similarity index 100% rename from renamed508/src/Model.java rename to clients/renamed508/src/main/java/Model.java diff --git a/renamed508/src/Mouse.java b/clients/renamed508/src/main/java/Mouse.java similarity index 100% rename from renamed508/src/Mouse.java rename to clients/renamed508/src/main/java/Mouse.java diff --git a/renamed508/src/MutableString.java b/clients/renamed508/src/main/java/MutableString.java similarity index 100% rename from renamed508/src/MutableString.java rename to clients/renamed508/src/main/java/MutableString.java diff --git a/renamed508/src/NPC.java b/clients/renamed508/src/main/java/NPC.java similarity index 100% rename from renamed508/src/NPC.java rename to clients/renamed508/src/main/java/NPC.java diff --git a/renamed508/src/NPCDefinition.java b/clients/renamed508/src/main/java/NPCDefinition.java similarity index 100% rename from renamed508/src/NPCDefinition.java rename to clients/renamed508/src/main/java/NPCDefinition.java diff --git a/renamed508/src/Node.java b/clients/renamed508/src/main/java/Node.java similarity index 100% rename from renamed508/src/Node.java rename to clients/renamed508/src/main/java/Node.java diff --git a/renamed508/src/NodeCache.java b/clients/renamed508/src/main/java/NodeCache.java similarity index 100% rename from renamed508/src/NodeCache.java rename to clients/renamed508/src/main/java/NodeCache.java diff --git a/renamed508/src/NodeList.java b/clients/renamed508/src/main/java/NodeList.java similarity index 100% rename from renamed508/src/NodeList.java rename to clients/renamed508/src/main/java/NodeList.java diff --git a/renamed508/src/NodeSub.java b/clients/renamed508/src/main/java/NodeSub.java similarity index 100% rename from renamed508/src/NodeSub.java rename to clients/renamed508/src/main/java/NodeSub.java diff --git a/renamed508/src/NodeSubList.java b/clients/renamed508/src/main/java/NodeSubList.java similarity index 100% rename from renamed508/src/NodeSubList.java rename to clients/renamed508/src/main/java/NodeSubList.java diff --git a/renamed508/src/Object1.java b/clients/renamed508/src/main/java/Object1.java similarity index 100% rename from renamed508/src/Object1.java rename to clients/renamed508/src/main/java/Object1.java diff --git a/renamed508/src/Object2.java b/clients/renamed508/src/main/java/Object2.java similarity index 100% rename from renamed508/src/Object2.java rename to clients/renamed508/src/main/java/Object2.java diff --git a/renamed508/src/Object3.java b/clients/renamed508/src/main/java/Object3.java similarity index 100% rename from renamed508/src/Object3.java rename to clients/renamed508/src/main/java/Object3.java diff --git a/renamed508/src/Object4.java b/clients/renamed508/src/main/java/Object4.java similarity index 100% rename from renamed508/src/Object4.java rename to clients/renamed508/src/main/java/Object4.java diff --git a/renamed508/src/Object5.java b/clients/renamed508/src/main/java/Object5.java similarity index 100% rename from renamed508/src/Object5.java rename to clients/renamed508/src/main/java/Object5.java diff --git a/renamed508/src/ObjectDefinition.java b/clients/renamed508/src/main/java/ObjectDefinition.java similarity index 100% rename from renamed508/src/ObjectDefinition.java rename to clients/renamed508/src/main/java/ObjectDefinition.java diff --git a/renamed508/src/Player.java b/clients/renamed508/src/main/java/Player.java similarity index 100% rename from renamed508/src/Player.java rename to clients/renamed508/src/main/java/Player.java diff --git a/renamed508/src/PlayerDefinition.java b/clients/renamed508/src/main/java/PlayerDefinition.java similarity index 100% rename from renamed508/src/PlayerDefinition.java rename to clients/renamed508/src/main/java/PlayerDefinition.java diff --git a/renamed508/src/RandomNumberGenerator.java b/clients/renamed508/src/main/java/RandomNumberGenerator.java similarity index 100% rename from renamed508/src/RandomNumberGenerator.java rename to clients/renamed508/src/main/java/RandomNumberGenerator.java diff --git a/renamed508/src/ScriptParameters.java b/clients/renamed508/src/main/java/ScriptParameters.java similarity index 100% rename from renamed508/src/ScriptParameters.java rename to clients/renamed508/src/main/java/ScriptParameters.java diff --git a/renamed508/src/Signlink.java b/clients/renamed508/src/main/java/Signlink.java similarity index 100% rename from renamed508/src/Signlink.java rename to clients/renamed508/src/main/java/Signlink.java diff --git a/renamed508/src/Sprite.java b/clients/renamed508/src/main/java/Sprite.java similarity index 100% rename from renamed508/src/Sprite.java rename to clients/renamed508/src/main/java/Sprite.java diff --git a/renamed508/src/SpriteFactory.java b/clients/renamed508/src/main/java/SpriteFactory.java similarity index 100% rename from renamed508/src/SpriteFactory.java rename to clients/renamed508/src/main/java/SpriteFactory.java diff --git a/renamed508/src/Stream.java b/clients/renamed508/src/main/java/Stream.java similarity index 100% rename from renamed508/src/Stream.java rename to clients/renamed508/src/main/java/Stream.java diff --git a/renamed508/src/Widget.java b/clients/renamed508/src/main/java/Widget.java similarity index 100% rename from renamed508/src/Widget.java rename to clients/renamed508/src/main/java/Widget.java diff --git a/renamed508/src/client.java b/clients/renamed508/src/main/java/client.java similarity index 99% rename from renamed508/src/client.java rename to clients/renamed508/src/main/java/client.java index 4c30370..ccd2174 100644 --- a/renamed508/src/client.java +++ b/clients/renamed508/src/main/java/client.java @@ -7,11 +7,13 @@ import java.awt.Point; import java.awt.image.BufferedImage; import java.awt.image.PixelGrabber; import java.net.Socket; +import java.security.interfaces.RSAPublicKey; import java.util.GregorianCalendar; import java.util.HashMap; import nativeadvert.browsercontrol; import org.moparscape.iface.ClientInterface; +import org.moparscape.iface.Hasher; import org.moparscape.userver.v508.OndemandServer; public final class client extends GameApplet implements ClientInterface { @@ -124,7 +126,20 @@ public final class client extends GameApplet implements ClientInterface { e.printStackTrace(); } } - static int anInt2368; + + public String getServer() { + return Class68_Sub9.serverAddress; + } + + public void setPublicKey(RSAPublicKey key) { + // not implemented + } + + public void setHasher(Hasher hasher) { + // not implemented + } + + static int anInt2368; static int anInt2369; static int anInt2370; static int anInt2371; diff --git a/renamed508/src/log.java b/clients/renamed508/src/main/java/log.java similarity index 100% rename from renamed508/src/log.java rename to clients/renamed508/src/main/java/log.java diff --git a/renamed508/src/nativeadvert/browsercontrol.java b/clients/renamed508/src/main/java/nativeadvert/browsercontrol.java similarity index 100% rename from renamed508/src/nativeadvert/browsercontrol.java rename to clients/renamed508/src/main/java/nativeadvert/browsercontrol.java diff --git a/dist/pom.xml b/dist/pom.xml new file mode 100644 index 0000000..52d0eb9 --- /dev/null +++ b/dist/pom.xml @@ -0,0 +1,125 @@ + + + + + + org.moparscape.client + main + 0.1-SNAPSHOT + + 4.0.0 + dist + pom + + + ${project.groupId} + clients + ${project.version} + pom + + + ${project.groupId} + servers + ${project.version} + pom + + + + + + maven-antrun-plugin + 1.7 + + + package + + + + + + + + + + + + + + + + + + + + + + + + + + + + run + + + + + + ant-contrib + ant-contrib + 1.0b3 + + + ant + ant + + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + my-execution + package + + java + + + + + org.moparscape.classloader.MoparScapeLinks + + ${basedir}/.. + ${project.build.directory}/moparscape.html + + + + + + + \ No newline at end of file diff --git a/hackme/pom.xml b/hackme/pom.xml new file mode 100644 index 0000000..e615319 --- /dev/null +++ b/hackme/pom.xml @@ -0,0 +1,37 @@ + + + + + + org.moparscape.client + main + 0.1-SNAPSHOT + + 4.0.0 + hackme + + + ${project.groupId} + MoparScape + ${project.version} + + + \ No newline at end of file diff --git a/hackme/src/MyEntry.java b/hackme/src/main/java/MyEntry.java similarity index 88% rename from hackme/src/MyEntry.java rename to hackme/src/main/java/MyEntry.java index 467651b..f24e179 100644 --- a/hackme/src/MyEntry.java +++ b/hackme/src/main/java/MyEntry.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + import org.moparscape.Debug; import org.moparscapebla.HackMe; import org.moparscapebla.MyInterface; diff --git a/hackme/src/org/moparscapebla/HackMe.java b/hackme/src/main/java/org/moparscapebla/HackMe.java similarity index 84% rename from hackme/src/org/moparscapebla/HackMe.java rename to hackme/src/main/java/org/moparscapebla/HackMe.java index 2f71bce..e330809 100644 --- a/hackme/src/org/moparscapebla/HackMe.java +++ b/hackme/src/main/java/org/moparscapebla/HackMe.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + package org.moparscapebla; import java.net.URL; diff --git a/hackme/src/main/java/org/moparscapebla/MyInterface.java b/hackme/src/main/java/org/moparscapebla/MyInterface.java new file mode 100644 index 0000000..391f3db --- /dev/null +++ b/hackme/src/main/java/org/moparscapebla/MyInterface.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + +package org.moparscapebla; + +public interface MyInterface { + public static final long serialVersionUID = 42L; + + public void doSomething(String s); + + public void doSomethingElse(int i); +} diff --git a/hackme/src/org/moparscapebla/MyInterface.java b/hackme/src/org/moparscapebla/MyInterface.java deleted file mode 100644 index a6a075f..0000000 --- a/hackme/src/org/moparscapebla/MyInterface.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.moparscapebla; - -public interface MyInterface { - public static final long serialVersionUID = 42L; - - public void doSomething(String s); - - public void doSomethingElse(int i); -} diff --git a/java_client/java_client.0.15.5.cpp b/java_client/java_client.0.15.5.cpp index 3d4271b..aa62bdc 100644 --- a/java_client/java_client.0.15.5.cpp +++ b/java_client/java_client.0.15.5.cpp @@ -1,33 +1,21 @@ /* +Copyright (C) 2009-2013 moparisthebest -Copyright (c) 2003, Arvid Norberg -All rights reserved. +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. -* Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its -contributors may be used to endorse or promote products derived -from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +Official forums are http://www.moparscape.org/smf/ +Email me at admin@moparisthebest.com. */ #include diff --git a/java_client/java_client.cpp b/java_client/java_client.cpp index 375d329..ec77680 100644 --- a/java_client/java_client.cpp +++ b/java_client/java_client.cpp @@ -1,19 +1,21 @@ /* -Copyright (c) 2011, Travis Burtrum -All rights reserved. +Copyright (C) 2009-2013 moparisthebest This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by +it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +GNU Affero General Public License for more details. -You should have received a copy of the GNU General Public License +You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + +Official forums are http://www.moparscape.org/smf/ +Email me at admin@moparisthebest.com. */ #include diff --git a/java_client/java_client.last_human.cpp b/java_client/java_client.last_human.cpp index 6a0dcb8..216b458 100644 --- a/java_client/java_client.last_human.cpp +++ b/java_client/java_client.last_human.cpp @@ -1,33 +1,21 @@ /* +Copyright (C) 2009-2013 moparisthebest -Copyright (c) 2011, moparisthebest -All rights reserved. +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - * Neither the name of the author nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +Official forums are http://www.moparscape.org/smf/ +Email me at admin@moparisthebest.com. */ #include diff --git a/java_client/java_client.last_mopar_patch.cpp b/java_client/java_client.last_mopar_patch.cpp index c5dfe5a..98447c8 100644 --- a/java_client/java_client.last_mopar_patch.cpp +++ b/java_client/java_client.last_mopar_patch.cpp @@ -1,19 +1,21 @@ /* -Copyright (c) 2011, Travis Burtrum -All rights reserved. +Copyright (C) 2009-2013 moparisthebest This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by +it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +GNU Affero General Public License for more details. -You should have received a copy of the GNU General Public License +You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + +Official forums are http://www.moparscape.org/smf/ +Email me at admin@moparisthebest.com. */ #include diff --git a/java_client/java_client.name.cpp b/java_client/java_client.name.cpp index 727417d..4a26e79 100644 --- a/java_client/java_client.name.cpp +++ b/java_client/java_client.name.cpp @@ -1,33 +1,21 @@ /* +Copyright (C) 2009-2013 moparisthebest -Copyright (c) 2003, Arvid Norberg -All rights reserved. +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. -* Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its -contributors may be used to endorse or promote products derived -from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +Official forums are http://www.moparscape.org/smf/ +Email me at admin@moparisthebest.com. */ #include diff --git a/java_client/java_client.orig.cpp b/java_client/java_client.orig.cpp index c50c837..301d919 100644 --- a/java_client/java_client.orig.cpp +++ b/java_client/java_client.orig.cpp @@ -1,19 +1,21 @@ /* -Copyright (c) 2011, Travis Burtrum -All rights reserved. +Copyright (C) 2009-2013 moparisthebest This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by +it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +GNU Affero General Public License for more details. -You should have received a copy of the GNU General Public License +You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + +Official forums are http://www.moparscape.org/smf/ +Email me at admin@moparisthebest.com. */ #include diff --git a/java_client/java_client.preautoresume.cpp b/java_client/java_client.preautoresume.cpp index dcecd02..6cf4b8f 100644 --- a/java_client/java_client.preautoresume.cpp +++ b/java_client/java_client.preautoresume.cpp @@ -1,33 +1,21 @@ /* +Copyright (C) 2009-2013 moparisthebest -Copyright (c) 2011, moparisthebest -All rights reserved. +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - * Neither the name of the author nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +Official forums are http://www.moparscape.org/smf/ +Email me at admin@moparisthebest.com. */ #include diff --git a/java_client/java_client_human.cpp b/java_client/java_client_human.cpp index e69ad70..de75180 100644 --- a/java_client/java_client_human.cpp +++ b/java_client/java_client_human.cpp @@ -1,33 +1,21 @@ /* +Copyright (C) 2009-2013 moparisthebest -Copyright (c) 2003, Arvid Norberg -All rights reserved. +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - * Neither the name of the author nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +Official forums are http://www.moparscape.org/smf/ +Email me at admin@moparisthebest.com. */ #include diff --git a/gpl.txt b/license.txt similarity index 86% rename from gpl.txt rename to license.txt index 94a9ed0..dba13ed 100644 --- a/gpl.txt +++ b/license.txt @@ -1,5 +1,5 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies @@ -7,17 +7,15 @@ Preamble - The GNU General Public License is a free, copyleft license for -software and other kinds of works. + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to +our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. +software for all its users. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you @@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. The precise terms and conditions for copying, distribution and modification follow. @@ -72,7 +60,7 @@ modification follow. 0. Definitions. - "This License" refers to version 3 of the GNU General Public License. + "This License" refers to version 3 of the GNU Affero General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. @@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - 13. Use with the GNU Affero General Public License. + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single +under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General +Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published +GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's +versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. @@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by + it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + GNU Affero General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see +For more information on this, and how to apply and follow the GNU AGPL, see . - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/pom.xml b/pom.xml new file mode 100755 index 0000000..bb06d8f --- /dev/null +++ b/pom.xml @@ -0,0 +1,79 @@ + + + + + 4.0.0 + org.moparscape.client + main + 0.1-SNAPSHOT + + Example clients and servers to run in MoparScape + + https://github.com/moparisthebest/MoparScape + + moparscape.org + https://www.moparscape.org + + + + moparisthebest + admin@moparscape.org + https://www.moparscape.org/ + + + + scm:git:https://github.com/moparisthebest/MoparScape.git + scm:git:https://github.com/moparisthebest/MoparScape.git + https://github.com/moparisthebest/MoparScape + + + + GNU Affero General Public License, Version 3 + https://www.gnu.org/licenses/agpl-3.0.html + + + pom + + true + UTF-8 + + + MoparScape + hackme + clients + servers + dist + + + ${project.artifactId} + + + maven-compiler-plugin + 3.1 + + 1.5 + 1.5 + false + + + + + diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..23bcc7b --- /dev/null +++ b/readme.md @@ -0,0 +1,32 @@ +# MoparScape + +This project contains the open source components of [MoparScape][3], as well as example client and server implementations. It is provided as a convenient project built by maven that allows you to run `mvn package` to build and CRC all artifacts, and outputs HTML with links to immediately test your client/server inside MoparScape (inside folder `dist/target/`). + +Clients are located in the clients module, and must have a class named `client` in the default package that implements `org.moparscape.iface.ClientInterface`. Data for clients (otherwise known as cache) is in individual folders in the cachedump folder, +which are distributed as zips. + +Servers are located in the clients module, and must have a class named `server` in the default package that implements `org.moparscape.iface.ServerInterface`. Data for clients is in the module folder for that particular server. Servers are distributed as zips with all the data in there along with a server.jar containing the executable code. The maven projects create this artifact for you. + +Licensing +------------ +Content of folders `java_client`, `hackme`, `dist`, `MoparScape`, and `servers/server317` is licensed under the [GNU/AGPLv3][2], the full text of which is included in `license.txt`. + +Credits +------------ +* clients/clientRSC - modified from [mpc-client](https://github.com/xetr0v/mpc-client) +* servers/server508 - modified from DavidScape +* servers/server317 - modified from [hybridscape](http://sourceforge.net/projects/hybridscape/) + +Contributing +------------ + +1. Fork it. (Alternatively, if you **really** can't use github/git, email me a patch.) +2. Create a branch (`git checkout -b my_MoparScape`) +3. Commit your changes (`git commit -am "Implemented method X"`) +4. Push to the branch (`git push origin my_MoparScape`) +5. Open a [Pull Request][2] +6. Enjoy a refreshing beverage and wait + +[1]: https://www.gnu.org/licenses/agpl.html +[2]: https://github.com/moparisthebest/MoparScape/pulls +[3]: https://www.moparscape.org/moparscape4.php diff --git a/server317/src/ItemList.java b/server317/src/ItemList.java deleted file mode 100755 index 24f72d7..0000000 --- a/server317/src/ItemList.java +++ /dev/null @@ -1,13 +0,0 @@ -public class ItemList { - public int itemId; - public String itemName; - public String itemDescription; - public double ShopValue; - public double LowAlch; - public double HighAlch; - public int[] Bonuses = new int[100]; - - public ItemList(int _itemId) { - itemId = _itemId; - } -} diff --git a/server317/src/NPCDrops.java b/server317/src/NPCDrops.java deleted file mode 100755 index 174b2bf..0000000 --- a/server317/src/NPCDrops.java +++ /dev/null @@ -1,14 +0,0 @@ -public class NPCDrops { - public int npcId; - public int DropType; - public int[] Items = new int[100]; - public int[] ItemsN = new int[100]; - - public NPCDrops(int _npcId) { - npcId = _npcId; - for (int i = 0; i < Items.length; i++) { - Items[i] = -1; - ItemsN[i] = 0; - } - } -} diff --git a/server317/src/NPCList.java b/server317/src/NPCList.java deleted file mode 100755 index 950287f..0000000 --- a/server317/src/NPCList.java +++ /dev/null @@ -1,10 +0,0 @@ -public class NPCList { - public int npcId; - public String npcName; - public int npcCombat; - public int npcHealth; - - public NPCList(int _npcId) { - npcId = _npcId; - } -} diff --git a/servers/pom.xml b/servers/pom.xml new file mode 100644 index 0000000..3c7550d --- /dev/null +++ b/servers/pom.xml @@ -0,0 +1,83 @@ + + + + + + org.moparscape.client + main + 0.1-SNAPSHOT + + 4.0.0 + servers + pom + + server317 + server508 + + + + ${project.groupId} + MoparScape + ${project.version} + + + + + + + maven-antrun-plugin + 1.7 + + + package + + + + + + + + + + + + + + + + + + + + + + run + + + + + + + + \ No newline at end of file diff --git a/server317/autospawn.cfg b/servers/server317/autospawn.cfg similarity index 100% rename from server317/autospawn.cfg rename to servers/server317/autospawn.cfg diff --git a/server317/characters/Use this for new people.txt b/servers/server317/characters/Use this for new people.txt similarity index 100% rename from server317/characters/Use this for new people.txt rename to servers/server317/characters/Use this for new people.txt diff --git a/server317/characters/donttouch.txt b/servers/server317/characters/donttouch.txt similarity index 100% rename from server317/characters/donttouch.txt rename to servers/server317/characters/donttouch.txt diff --git a/server317/characters/use this for admins.txt b/servers/server317/characters/use this for admins.txt similarity index 100% rename from server317/characters/use this for admins.txt rename to servers/server317/characters/use this for admins.txt diff --git a/server317/data/notes.dat b/servers/server317/data/notes.dat similarity index 100% rename from server317/data/notes.dat rename to servers/server317/data/notes.dat diff --git a/server317/data/sellable.dat b/servers/server317/data/sellable.dat similarity index 100% rename from server317/data/sellable.dat rename to servers/server317/data/sellable.dat diff --git a/server317/data/stackable.dat b/servers/server317/data/stackable.dat similarity index 100% rename from server317/data/stackable.dat rename to servers/server317/data/stackable.dat diff --git a/server317/data/tradeable.dat b/servers/server317/data/tradeable.dat similarity index 100% rename from server317/data/tradeable.dat rename to servers/server317/data/tradeable.dat diff --git a/server317/data/twohanded.dat b/servers/server317/data/twohanded.dat similarity index 100% rename from server317/data/twohanded.dat rename to servers/server317/data/twohanded.dat diff --git a/server317/dialogues.cfg b/servers/server317/dialogues.cfg similarity index 100% rename from server317/dialogues.cfg rename to servers/server317/dialogues.cfg diff --git a/server317/drops.cfg b/servers/server317/drops.cfg similarity index 100% rename from server317/drops.cfg rename to servers/server317/drops.cfg diff --git a/server317/item.cfg b/servers/server317/item.cfg similarity index 100% rename from server317/item.cfg rename to servers/server317/item.cfg diff --git a/server317/npc.cfg b/servers/server317/npc.cfg similarity index 100% rename from server317/npc.cfg rename to servers/server317/npc.cfg diff --git a/server317/npcdrops.cfg b/servers/server317/npcdrops.cfg similarity index 100% rename from server317/npcdrops.cfg rename to servers/server317/npcdrops.cfg diff --git a/servers/server317/pom.xml b/servers/server317/pom.xml new file mode 100644 index 0000000..7bf13d6 --- /dev/null +++ b/servers/server317/pom.xml @@ -0,0 +1,37 @@ + + + + + + org.moparscape.client + servers + 0.1-SNAPSHOT + + 4.0.0 + server317 + + + + maven-antrun-plugin + + + + \ No newline at end of file diff --git a/server317/shops.cfg b/servers/server317/shops.cfg similarity index 100% rename from server317/shops.cfg rename to servers/server317/shops.cfg diff --git a/server317/src/ClientHandler.java b/servers/server317/src/main/java/ClientHandler.java similarity index 97% rename from server317/src/ClientHandler.java rename to servers/server317/src/main/java/ClientHandler.java index e2eed1e..875217e 100755 --- a/server317/src/ClientHandler.java +++ b/servers/server317/src/main/java/ClientHandler.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + // handles a connected ClientHandler import java.io.*; diff --git a/server317/src/Cryption.java b/servers/server317/src/main/java/Cryption.java similarity index 82% rename from server317/src/Cryption.java rename to servers/server317/src/main/java/Cryption.java index f394ea6..384dbb1 100755 --- a/server317/src/Cryption.java +++ b/servers/server317/src/main/java/Cryption.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + public class Cryption { public Cryption(int ai[]) { diff --git a/server317/src/DialogueHandler.java b/servers/server317/src/main/java/DialogueHandler.java similarity index 86% rename from server317/src/DialogueHandler.java rename to servers/server317/src/main/java/DialogueHandler.java index 0918136..a5cd278 100755 --- a/server317/src/DialogueHandler.java +++ b/servers/server317/src/main/java/DialogueHandler.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; diff --git a/server317/src/ItemHandler.java b/servers/server317/src/main/java/ItemHandler.java similarity index 89% rename from server317/src/ItemHandler.java rename to servers/server317/src/main/java/ItemHandler.java index 6deee81..c4fc271 100755 --- a/server317/src/ItemHandler.java +++ b/servers/server317/src/main/java/ItemHandler.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; diff --git a/servers/server317/src/main/java/ItemList.java b/servers/server317/src/main/java/ItemList.java new file mode 100755 index 0000000..a987881 --- /dev/null +++ b/servers/server317/src/main/java/ItemList.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + +public class ItemList { + public int itemId; + public String itemName; + public String itemDescription; + public double ShopValue; + public double LowAlch; + public double HighAlch; + public int[] Bonuses = new int[100]; + + public ItemList(int _itemId) { + itemId = _itemId; + } +} diff --git a/server317/src/Items.java b/servers/server317/src/main/java/Items.java similarity index 93% rename from server317/src/Items.java rename to servers/server317/src/main/java/Items.java index 0f0fe0c..d8d625c 100755 --- a/server317/src/Items.java +++ b/servers/server317/src/main/java/Items.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + // a collection of item methods import java.io.File; diff --git a/servers/server317/src/main/java/NPCDrops.java b/servers/server317/src/main/java/NPCDrops.java new file mode 100755 index 0000000..6e089d4 --- /dev/null +++ b/servers/server317/src/main/java/NPCDrops.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + +public class NPCDrops { + public int npcId; + public int DropType; + public int[] Items = new int[100]; + public int[] ItemsN = new int[100]; + + public NPCDrops(int _npcId) { + npcId = _npcId; + for (int i = 0; i < Items.length; i++) { + Items[i] = -1; + ItemsN[i] = 0; + } + } +} diff --git a/server317/src/NPCHandler.java b/servers/server317/src/main/java/NPCHandler.java similarity index 96% rename from server317/src/NPCHandler.java rename to servers/server317/src/main/java/NPCHandler.java index 8b0e8f8..3d484ac 100755 --- a/server317/src/NPCHandler.java +++ b/servers/server317/src/main/java/NPCHandler.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; diff --git a/servers/server317/src/main/java/NPCList.java b/servers/server317/src/main/java/NPCList.java new file mode 100755 index 0000000..2007932 --- /dev/null +++ b/servers/server317/src/main/java/NPCList.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + +public class NPCList { + public int npcId; + public String npcName; + public int npcCombat; + public int npcHealth; + + public NPCList(int _npcId) { + npcId = _npcId; + } +} diff --git a/server317/src/NPCs.java b/servers/server317/src/main/java/NPCs.java similarity index 82% rename from server317/src/NPCs.java rename to servers/server317/src/main/java/NPCs.java index 87ab2ca..05935c3 100755 --- a/server317/src/NPCs.java +++ b/servers/server317/src/main/java/NPCs.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + public class NPCs { public int npcId; public int npcType; diff --git a/server317/src/PlayerHandler.java b/servers/server317/src/main/java/PlayerHandler.java similarity index 94% rename from server317/src/PlayerHandler.java rename to servers/server317/src/main/java/PlayerHandler.java index 439b344..b4c4faf 100755 --- a/server317/src/PlayerHandler.java +++ b/servers/server317/src/main/java/PlayerHandler.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; diff --git a/server317/src/Players.java b/servers/server317/src/main/java/Players.java similarity index 95% rename from server317/src/Players.java rename to servers/server317/src/main/java/Players.java index 72f6ecf..56a73a0 100755 --- a/server317/src/Players.java +++ b/servers/server317/src/main/java/Players.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + import java.util.Calendar; import java.util.GregorianCalendar; diff --git a/server317/src/ReTT.java b/servers/server317/src/main/java/ReTT.java similarity index 56% rename from server317/src/ReTT.java rename to servers/server317/src/main/java/ReTT.java index 2e7726f..e90f6d0 100755 --- a/server317/src/ReTT.java +++ b/servers/server317/src/main/java/ReTT.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + import java.awt.Toolkit; import java.util.Timer; import java.util.TimerTask; diff --git a/server317/src/ShopHandler.java b/servers/server317/src/main/java/ShopHandler.java similarity index 86% rename from server317/src/ShopHandler.java rename to servers/server317/src/main/java/ShopHandler.java index bbc6247..f52b773 100755 --- a/server317/src/ShopHandler.java +++ b/servers/server317/src/main/java/ShopHandler.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; diff --git a/server317/src/misc.java b/servers/server317/src/main/java/misc.java similarity index 87% rename from server317/src/misc.java rename to servers/server317/src/main/java/misc.java index eadccaa..87e4abf 100755 --- a/server317/src/misc.java +++ b/servers/server317/src/main/java/misc.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + // hybridScape - The hybridScape Developers Team // Silabsoft diff --git a/server317/src/server.java b/servers/server317/src/main/java/server.java similarity index 87% rename from server317/src/server.java rename to servers/server317/src/main/java/server.java index 837e88d..7f83867 100755 --- a/server317/src/server.java +++ b/servers/server317/src/main/java/server.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + public class server implements Runnable, org.moparscape.iface.ServerInterface { public void startServer(String workingDirectory){ diff --git a/server317/src/stream.java b/servers/server317/src/main/java/stream.java similarity index 88% rename from server317/src/stream.java rename to servers/server317/src/main/java/stream.java index 28c6636..c225a8f 100755 --- a/server317/src/stream.java +++ b/servers/server317/src/main/java/stream.java @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2009-2013 moparisthebest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * Official forums are http://www.moparscape.org/smf/ + * Email me at admin@moparisthebest.com. + */ + public class stream { public stream() { diff --git a/server508/data/ChatLogs.txt b/servers/server508/data/ChatLogs.txt similarity index 100% rename from server508/data/ChatLogs.txt rename to servers/server508/data/ChatLogs.txt diff --git a/server508/data/banned/bannedhosts.dat b/servers/server508/data/banned/bannedhosts.dat similarity index 100% rename from server508/data/banned/bannedhosts.dat rename to servers/server508/data/banned/bannedhosts.dat diff --git a/server508/data/banned/bannedusers.dat b/servers/server508/data/banned/bannedusers.dat similarity index 100% rename from server508/data/banned/bannedusers.dat rename to servers/server508/data/banned/bannedusers.dat diff --git a/server508/data/characters/highscores.txt b/servers/server508/data/characters/highscores.txt similarity index 100% rename from server508/data/characters/highscores.txt rename to servers/server508/data/characters/highscores.txt diff --git a/server508/data/items/equipment.dat b/servers/server508/data/items/equipment.dat similarity index 100% rename from server508/data/items/equipment.dat rename to servers/server508/data/items/equipment.dat diff --git a/server508/data/items/grandExchange.cfg b/servers/server508/data/items/grandExchange.cfg similarity index 100% rename from server508/data/items/grandExchange.cfg rename to servers/server508/data/items/grandExchange.cfg diff --git a/server508/data/items/items.cfg b/servers/server508/data/items/items.cfg similarity index 100% rename from server508/data/items/items.cfg rename to servers/server508/data/items/items.cfg diff --git a/server508/data/items/stackable.dat b/servers/server508/data/items/stackable.dat similarity index 100% rename from server508/data/items/stackable.dat rename to servers/server508/data/items/stackable.dat diff --git a/server508/data/mapdata/0.txt b/servers/server508/data/mapdata/0.txt similarity index 100% rename from server508/data/mapdata/0.txt rename to servers/server508/data/mapdata/0.txt diff --git a/server508/data/mapdata/1.dat b/servers/server508/data/mapdata/1.dat similarity index 100% rename from server508/data/mapdata/1.dat rename to servers/server508/data/mapdata/1.dat diff --git a/server508/data/mapdata/10027.txt b/servers/server508/data/mapdata/10027.txt similarity index 100% rename from server508/data/mapdata/10027.txt rename to servers/server508/data/mapdata/10027.txt diff --git a/server508/data/mapdata/10028.txt b/servers/server508/data/mapdata/10028.txt similarity index 100% rename from server508/data/mapdata/10028.txt rename to servers/server508/data/mapdata/10028.txt diff --git a/server508/data/mapdata/10029.txt b/servers/server508/data/mapdata/10029.txt similarity index 100% rename from server508/data/mapdata/10029.txt rename to servers/server508/data/mapdata/10029.txt diff --git a/server508/data/mapdata/10030.txt b/servers/server508/data/mapdata/10030.txt similarity index 100% rename from server508/data/mapdata/10030.txt rename to servers/server508/data/mapdata/10030.txt diff --git a/server508/data/mapdata/10031.txt b/servers/server508/data/mapdata/10031.txt similarity index 100% rename from server508/data/mapdata/10031.txt rename to servers/server508/data/mapdata/10031.txt diff --git a/server508/data/mapdata/10032.txt b/servers/server508/data/mapdata/10032.txt similarity index 100% rename from server508/data/mapdata/10032.txt rename to servers/server508/data/mapdata/10032.txt diff --git a/server508/data/mapdata/10033.txt b/servers/server508/data/mapdata/10033.txt similarity index 100% rename from server508/data/mapdata/10033.txt rename to servers/server508/data/mapdata/10033.txt diff --git a/server508/data/mapdata/10034.txt b/servers/server508/data/mapdata/10034.txt similarity index 100% rename from server508/data/mapdata/10034.txt rename to servers/server508/data/mapdata/10034.txt diff --git a/server508/data/mapdata/10035.txt b/servers/server508/data/mapdata/10035.txt similarity index 100% rename from server508/data/mapdata/10035.txt rename to servers/server508/data/mapdata/10035.txt diff --git a/server508/data/mapdata/10036.txt b/servers/server508/data/mapdata/10036.txt similarity index 100% rename from server508/data/mapdata/10036.txt rename to servers/server508/data/mapdata/10036.txt diff --git a/server508/data/mapdata/10037.txt b/servers/server508/data/mapdata/10037.txt similarity index 100% rename from server508/data/mapdata/10037.txt rename to servers/server508/data/mapdata/10037.txt diff --git a/server508/data/mapdata/10038.txt b/servers/server508/data/mapdata/10038.txt similarity index 100% rename from server508/data/mapdata/10038.txt rename to servers/server508/data/mapdata/10038.txt diff --git a/server508/data/mapdata/10039.txt b/servers/server508/data/mapdata/10039.txt similarity index 100% rename from server508/data/mapdata/10039.txt rename to servers/server508/data/mapdata/10039.txt diff --git a/server508/data/mapdata/10040.txt b/servers/server508/data/mapdata/10040.txt similarity index 100% rename from server508/data/mapdata/10040.txt rename to servers/server508/data/mapdata/10040.txt diff --git a/server508/data/mapdata/10041.txt b/servers/server508/data/mapdata/10041.txt similarity index 100% rename from server508/data/mapdata/10041.txt rename to servers/server508/data/mapdata/10041.txt diff --git a/server508/data/mapdata/10042.txt b/servers/server508/data/mapdata/10042.txt similarity index 100% rename from server508/data/mapdata/10042.txt rename to servers/server508/data/mapdata/10042.txt diff --git a/server508/data/mapdata/10043.txt b/servers/server508/data/mapdata/10043.txt similarity index 100% rename from server508/data/mapdata/10043.txt rename to servers/server508/data/mapdata/10043.txt diff --git a/server508/data/mapdata/10044.txt b/servers/server508/data/mapdata/10044.txt similarity index 100% rename from server508/data/mapdata/10044.txt rename to servers/server508/data/mapdata/10044.txt diff --git a/server508/data/mapdata/10045.txt b/servers/server508/data/mapdata/10045.txt similarity index 100% rename from server508/data/mapdata/10045.txt rename to servers/server508/data/mapdata/10045.txt diff --git a/server508/data/mapdata/10052.txt b/servers/server508/data/mapdata/10052.txt similarity index 100% rename from server508/data/mapdata/10052.txt rename to servers/server508/data/mapdata/10052.txt diff --git a/server508/data/mapdata/10053.txt b/servers/server508/data/mapdata/10053.txt similarity index 100% rename from server508/data/mapdata/10053.txt rename to servers/server508/data/mapdata/10053.txt diff --git a/server508/data/mapdata/10054.txt b/servers/server508/data/mapdata/10054.txt similarity index 100% rename from server508/data/mapdata/10054.txt rename to servers/server508/data/mapdata/10054.txt diff --git a/server508/data/mapdata/10056.txt b/servers/server508/data/mapdata/10056.txt similarity index 100% rename from server508/data/mapdata/10056.txt rename to servers/server508/data/mapdata/10056.txt diff --git a/server508/data/mapdata/10057.txt b/servers/server508/data/mapdata/10057.txt similarity index 100% rename from server508/data/mapdata/10057.txt rename to servers/server508/data/mapdata/10057.txt diff --git a/server508/data/mapdata/10058.txt b/servers/server508/data/mapdata/10058.txt similarity index 100% rename from server508/data/mapdata/10058.txt rename to servers/server508/data/mapdata/10058.txt diff --git a/server508/data/mapdata/10059.txt b/servers/server508/data/mapdata/10059.txt similarity index 100% rename from server508/data/mapdata/10059.txt rename to servers/server508/data/mapdata/10059.txt diff --git a/server508/data/mapdata/10060.txt b/servers/server508/data/mapdata/10060.txt similarity index 100% rename from server508/data/mapdata/10060.txt rename to servers/server508/data/mapdata/10060.txt diff --git a/server508/data/mapdata/10061.txt b/servers/server508/data/mapdata/10061.txt similarity index 100% rename from server508/data/mapdata/10061.txt rename to servers/server508/data/mapdata/10061.txt diff --git a/server508/data/mapdata/10062.txt b/servers/server508/data/mapdata/10062.txt similarity index 100% rename from server508/data/mapdata/10062.txt rename to servers/server508/data/mapdata/10062.txt diff --git a/server508/data/mapdata/10063.txt b/servers/server508/data/mapdata/10063.txt similarity index 100% rename from server508/data/mapdata/10063.txt rename to servers/server508/data/mapdata/10063.txt diff --git a/server508/data/mapdata/10064.txt b/servers/server508/data/mapdata/10064.txt similarity index 100% rename from server508/data/mapdata/10064.txt rename to servers/server508/data/mapdata/10064.txt diff --git a/server508/data/mapdata/10065.txt b/servers/server508/data/mapdata/10065.txt similarity index 100% rename from server508/data/mapdata/10065.txt rename to servers/server508/data/mapdata/10065.txt diff --git a/server508/data/mapdata/10066.txt b/servers/server508/data/mapdata/10066.txt similarity index 100% rename from server508/data/mapdata/10066.txt rename to servers/server508/data/mapdata/10066.txt diff --git a/server508/data/mapdata/10067.txt b/servers/server508/data/mapdata/10067.txt similarity index 100% rename from server508/data/mapdata/10067.txt rename to servers/server508/data/mapdata/10067.txt diff --git a/server508/data/mapdata/10068.txt b/servers/server508/data/mapdata/10068.txt similarity index 100% rename from server508/data/mapdata/10068.txt rename to servers/server508/data/mapdata/10068.txt diff --git a/server508/data/mapdata/10069.txt b/servers/server508/data/mapdata/10069.txt similarity index 100% rename from server508/data/mapdata/10069.txt rename to servers/server508/data/mapdata/10069.txt diff --git a/server508/data/mapdata/10137.txt b/servers/server508/data/mapdata/10137.txt similarity index 100% rename from server508/data/mapdata/10137.txt rename to servers/server508/data/mapdata/10137.txt diff --git a/server508/data/mapdata/10138.txt b/servers/server508/data/mapdata/10138.txt similarity index 100% rename from server508/data/mapdata/10138.txt rename to servers/server508/data/mapdata/10138.txt diff --git a/server508/data/mapdata/10139.txt b/servers/server508/data/mapdata/10139.txt similarity index 100% rename from server508/data/mapdata/10139.txt rename to servers/server508/data/mapdata/10139.txt diff --git a/server508/data/mapdata/10140.txt b/servers/server508/data/mapdata/10140.txt similarity index 100% rename from server508/data/mapdata/10140.txt rename to servers/server508/data/mapdata/10140.txt diff --git a/server508/data/mapdata/10141.txt b/servers/server508/data/mapdata/10141.txt similarity index 100% rename from server508/data/mapdata/10141.txt rename to servers/server508/data/mapdata/10141.txt diff --git a/server508/data/mapdata/10143.txt b/servers/server508/data/mapdata/10143.txt similarity index 100% rename from server508/data/mapdata/10143.txt rename to servers/server508/data/mapdata/10143.txt diff --git a/server508/data/mapdata/10144.txt b/servers/server508/data/mapdata/10144.txt similarity index 100% rename from server508/data/mapdata/10144.txt rename to servers/server508/data/mapdata/10144.txt diff --git a/server508/data/mapdata/10145.txt b/servers/server508/data/mapdata/10145.txt similarity index 100% rename from server508/data/mapdata/10145.txt rename to servers/server508/data/mapdata/10145.txt diff --git a/server508/data/mapdata/10280.txt b/servers/server508/data/mapdata/10280.txt similarity index 100% rename from server508/data/mapdata/10280.txt rename to servers/server508/data/mapdata/10280.txt diff --git a/server508/data/mapdata/10281.txt b/servers/server508/data/mapdata/10281.txt similarity index 100% rename from server508/data/mapdata/10281.txt rename to servers/server508/data/mapdata/10281.txt diff --git a/server508/data/mapdata/10282.txt b/servers/server508/data/mapdata/10282.txt similarity index 100% rename from server508/data/mapdata/10282.txt rename to servers/server508/data/mapdata/10282.txt diff --git a/server508/data/mapdata/10283.txt b/servers/server508/data/mapdata/10283.txt similarity index 100% rename from server508/data/mapdata/10283.txt rename to servers/server508/data/mapdata/10283.txt diff --git a/server508/data/mapdata/10284.txt b/servers/server508/data/mapdata/10284.txt similarity index 100% rename from server508/data/mapdata/10284.txt rename to servers/server508/data/mapdata/10284.txt diff --git a/server508/data/mapdata/10285.txt b/servers/server508/data/mapdata/10285.txt similarity index 100% rename from server508/data/mapdata/10285.txt rename to servers/server508/data/mapdata/10285.txt diff --git a/server508/data/mapdata/10286.txt b/servers/server508/data/mapdata/10286.txt similarity index 100% rename from server508/data/mapdata/10286.txt rename to servers/server508/data/mapdata/10286.txt diff --git a/server508/data/mapdata/10287.txt b/servers/server508/data/mapdata/10287.txt similarity index 100% rename from server508/data/mapdata/10287.txt rename to servers/server508/data/mapdata/10287.txt diff --git a/server508/data/mapdata/10288.txt b/servers/server508/data/mapdata/10288.txt similarity index 100% rename from server508/data/mapdata/10288.txt rename to servers/server508/data/mapdata/10288.txt diff --git a/server508/data/mapdata/10289.txt b/servers/server508/data/mapdata/10289.txt similarity index 100% rename from server508/data/mapdata/10289.txt rename to servers/server508/data/mapdata/10289.txt diff --git a/server508/data/mapdata/10290.txt b/servers/server508/data/mapdata/10290.txt similarity index 100% rename from server508/data/mapdata/10290.txt rename to servers/server508/data/mapdata/10290.txt diff --git a/server508/data/mapdata/10291.txt b/servers/server508/data/mapdata/10291.txt similarity index 100% rename from server508/data/mapdata/10291.txt rename to servers/server508/data/mapdata/10291.txt diff --git a/server508/data/mapdata/10292.txt b/servers/server508/data/mapdata/10292.txt similarity index 100% rename from server508/data/mapdata/10292.txt rename to servers/server508/data/mapdata/10292.txt diff --git a/server508/data/mapdata/10293.txt b/servers/server508/data/mapdata/10293.txt similarity index 100% rename from server508/data/mapdata/10293.txt rename to servers/server508/data/mapdata/10293.txt diff --git a/server508/data/mapdata/10294.txt b/servers/server508/data/mapdata/10294.txt similarity index 100% rename from server508/data/mapdata/10294.txt rename to servers/server508/data/mapdata/10294.txt diff --git a/server508/data/mapdata/10295.txt b/servers/server508/data/mapdata/10295.txt similarity index 100% rename from server508/data/mapdata/10295.txt rename to servers/server508/data/mapdata/10295.txt diff --git a/server508/data/mapdata/10296.txt b/servers/server508/data/mapdata/10296.txt similarity index 100% rename from server508/data/mapdata/10296.txt rename to servers/server508/data/mapdata/10296.txt diff --git a/server508/data/mapdata/10297.txt b/servers/server508/data/mapdata/10297.txt similarity index 100% rename from server508/data/mapdata/10297.txt rename to servers/server508/data/mapdata/10297.txt diff --git a/server508/data/mapdata/10298.txt b/servers/server508/data/mapdata/10298.txt similarity index 100% rename from server508/data/mapdata/10298.txt rename to servers/server508/data/mapdata/10298.txt diff --git a/server508/data/mapdata/10299.txt b/servers/server508/data/mapdata/10299.txt similarity index 100% rename from server508/data/mapdata/10299.txt rename to servers/server508/data/mapdata/10299.txt diff --git a/server508/data/mapdata/10300.txt b/servers/server508/data/mapdata/10300.txt similarity index 100% rename from server508/data/mapdata/10300.txt rename to servers/server508/data/mapdata/10300.txt diff --git a/server508/data/mapdata/10301.txt b/servers/server508/data/mapdata/10301.txt similarity index 100% rename from server508/data/mapdata/10301.txt rename to servers/server508/data/mapdata/10301.txt diff --git a/server508/data/mapdata/10302.txt b/servers/server508/data/mapdata/10302.txt similarity index 100% rename from server508/data/mapdata/10302.txt rename to servers/server508/data/mapdata/10302.txt diff --git a/server508/data/mapdata/10303.txt b/servers/server508/data/mapdata/10303.txt similarity index 100% rename from server508/data/mapdata/10303.txt rename to servers/server508/data/mapdata/10303.txt diff --git a/server508/data/mapdata/10309.txt b/servers/server508/data/mapdata/10309.txt similarity index 100% rename from server508/data/mapdata/10309.txt rename to servers/server508/data/mapdata/10309.txt diff --git a/server508/data/mapdata/10310.txt b/servers/server508/data/mapdata/10310.txt similarity index 100% rename from server508/data/mapdata/10310.txt rename to servers/server508/data/mapdata/10310.txt diff --git a/server508/data/mapdata/10311.txt b/servers/server508/data/mapdata/10311.txt similarity index 100% rename from server508/data/mapdata/10311.txt rename to servers/server508/data/mapdata/10311.txt diff --git a/server508/data/mapdata/10312.txt b/servers/server508/data/mapdata/10312.txt similarity index 100% rename from server508/data/mapdata/10312.txt rename to servers/server508/data/mapdata/10312.txt diff --git a/server508/data/mapdata/10313.txt b/servers/server508/data/mapdata/10313.txt similarity index 100% rename from server508/data/mapdata/10313.txt rename to servers/server508/data/mapdata/10313.txt diff --git a/server508/data/mapdata/10314.txt b/servers/server508/data/mapdata/10314.txt similarity index 100% rename from server508/data/mapdata/10314.txt rename to servers/server508/data/mapdata/10314.txt diff --git a/server508/data/mapdata/10315.txt b/servers/server508/data/mapdata/10315.txt similarity index 100% rename from server508/data/mapdata/10315.txt rename to servers/server508/data/mapdata/10315.txt diff --git a/server508/data/mapdata/10316.txt b/servers/server508/data/mapdata/10316.txt similarity index 100% rename from server508/data/mapdata/10316.txt rename to servers/server508/data/mapdata/10316.txt diff --git a/server508/data/mapdata/10317.txt b/servers/server508/data/mapdata/10317.txt similarity index 100% rename from server508/data/mapdata/10317.txt rename to servers/server508/data/mapdata/10317.txt diff --git a/server508/data/mapdata/10318.txt b/servers/server508/data/mapdata/10318.txt similarity index 100% rename from server508/data/mapdata/10318.txt rename to servers/server508/data/mapdata/10318.txt diff --git a/server508/data/mapdata/10320.txt b/servers/server508/data/mapdata/10320.txt similarity index 100% rename from server508/data/mapdata/10320.txt rename to servers/server508/data/mapdata/10320.txt diff --git a/server508/data/mapdata/10321.txt b/servers/server508/data/mapdata/10321.txt similarity index 100% rename from server508/data/mapdata/10321.txt rename to servers/server508/data/mapdata/10321.txt diff --git a/server508/data/mapdata/10322.txt b/servers/server508/data/mapdata/10322.txt similarity index 100% rename from server508/data/mapdata/10322.txt rename to servers/server508/data/mapdata/10322.txt diff --git a/server508/data/mapdata/10323.txt b/servers/server508/data/mapdata/10323.txt similarity index 100% rename from server508/data/mapdata/10323.txt rename to servers/server508/data/mapdata/10323.txt diff --git a/server508/data/mapdata/10324.txt b/servers/server508/data/mapdata/10324.txt similarity index 100% rename from server508/data/mapdata/10324.txt rename to servers/server508/data/mapdata/10324.txt diff --git a/server508/data/mapdata/10325.txt b/servers/server508/data/mapdata/10325.txt similarity index 100% rename from server508/data/mapdata/10325.txt rename to servers/server508/data/mapdata/10325.txt diff --git a/server508/data/mapdata/10395.txt b/servers/server508/data/mapdata/10395.txt similarity index 100% rename from server508/data/mapdata/10395.txt rename to servers/server508/data/mapdata/10395.txt diff --git a/server508/data/mapdata/10396.txt b/servers/server508/data/mapdata/10396.txt similarity index 100% rename from server508/data/mapdata/10396.txt rename to servers/server508/data/mapdata/10396.txt diff --git a/server508/data/mapdata/10397.txt b/servers/server508/data/mapdata/10397.txt similarity index 100% rename from server508/data/mapdata/10397.txt rename to servers/server508/data/mapdata/10397.txt diff --git a/server508/data/mapdata/10399.txt b/servers/server508/data/mapdata/10399.txt similarity index 100% rename from server508/data/mapdata/10399.txt rename to servers/server508/data/mapdata/10399.txt diff --git a/server508/data/mapdata/10400.txt b/servers/server508/data/mapdata/10400.txt similarity index 100% rename from server508/data/mapdata/10400.txt rename to servers/server508/data/mapdata/10400.txt diff --git a/server508/data/mapdata/10401.txt b/servers/server508/data/mapdata/10401.txt similarity index 100% rename from server508/data/mapdata/10401.txt rename to servers/server508/data/mapdata/10401.txt diff --git a/server508/data/mapdata/10536.txt b/servers/server508/data/mapdata/10536.txt similarity index 100% rename from server508/data/mapdata/10536.txt rename to servers/server508/data/mapdata/10536.txt diff --git a/server508/data/mapdata/10537.txt b/servers/server508/data/mapdata/10537.txt similarity index 100% rename from server508/data/mapdata/10537.txt rename to servers/server508/data/mapdata/10537.txt diff --git a/server508/data/mapdata/10538.txt b/servers/server508/data/mapdata/10538.txt similarity index 100% rename from server508/data/mapdata/10538.txt rename to servers/server508/data/mapdata/10538.txt diff --git a/server508/data/mapdata/10539.txt b/servers/server508/data/mapdata/10539.txt similarity index 100% rename from server508/data/mapdata/10539.txt rename to servers/server508/data/mapdata/10539.txt diff --git a/server508/data/mapdata/10540.txt b/servers/server508/data/mapdata/10540.txt similarity index 100% rename from server508/data/mapdata/10540.txt rename to servers/server508/data/mapdata/10540.txt diff --git a/server508/data/mapdata/10541.txt b/servers/server508/data/mapdata/10541.txt similarity index 100% rename from server508/data/mapdata/10541.txt rename to servers/server508/data/mapdata/10541.txt diff --git a/server508/data/mapdata/10542.txt b/servers/server508/data/mapdata/10542.txt similarity index 100% rename from server508/data/mapdata/10542.txt rename to servers/server508/data/mapdata/10542.txt diff --git a/server508/data/mapdata/10543.txt b/servers/server508/data/mapdata/10543.txt similarity index 100% rename from server508/data/mapdata/10543.txt rename to servers/server508/data/mapdata/10543.txt diff --git a/server508/data/mapdata/10544.txt b/servers/server508/data/mapdata/10544.txt similarity index 100% rename from server508/data/mapdata/10544.txt rename to servers/server508/data/mapdata/10544.txt diff --git a/server508/data/mapdata/10545.txt b/servers/server508/data/mapdata/10545.txt similarity index 100% rename from server508/data/mapdata/10545.txt rename to servers/server508/data/mapdata/10545.txt diff --git a/server508/data/mapdata/10546.txt b/servers/server508/data/mapdata/10546.txt similarity index 100% rename from server508/data/mapdata/10546.txt rename to servers/server508/data/mapdata/10546.txt diff --git a/server508/data/mapdata/10547.txt b/servers/server508/data/mapdata/10547.txt similarity index 100% rename from server508/data/mapdata/10547.txt rename to servers/server508/data/mapdata/10547.txt diff --git a/server508/data/mapdata/10548.txt b/servers/server508/data/mapdata/10548.txt similarity index 100% rename from server508/data/mapdata/10548.txt rename to servers/server508/data/mapdata/10548.txt diff --git a/server508/data/mapdata/10549.txt b/servers/server508/data/mapdata/10549.txt similarity index 100% rename from server508/data/mapdata/10549.txt rename to servers/server508/data/mapdata/10549.txt diff --git a/server508/data/mapdata/10550.txt b/servers/server508/data/mapdata/10550.txt similarity index 100% rename from server508/data/mapdata/10550.txt rename to servers/server508/data/mapdata/10550.txt diff --git a/server508/data/mapdata/10551.txt b/servers/server508/data/mapdata/10551.txt similarity index 100% rename from server508/data/mapdata/10551.txt rename to servers/server508/data/mapdata/10551.txt diff --git a/server508/data/mapdata/10552.txt b/servers/server508/data/mapdata/10552.txt similarity index 100% rename from server508/data/mapdata/10552.txt rename to servers/server508/data/mapdata/10552.txt diff --git a/server508/data/mapdata/10553.txt b/servers/server508/data/mapdata/10553.txt similarity index 100% rename from server508/data/mapdata/10553.txt rename to servers/server508/data/mapdata/10553.txt diff --git a/server508/data/mapdata/10554.txt b/servers/server508/data/mapdata/10554.txt similarity index 100% rename from server508/data/mapdata/10554.txt rename to servers/server508/data/mapdata/10554.txt diff --git a/server508/data/mapdata/10555.txt b/servers/server508/data/mapdata/10555.txt similarity index 100% rename from server508/data/mapdata/10555.txt rename to servers/server508/data/mapdata/10555.txt diff --git a/server508/data/mapdata/10556.txt b/servers/server508/data/mapdata/10556.txt similarity index 100% rename from server508/data/mapdata/10556.txt rename to servers/server508/data/mapdata/10556.txt diff --git a/server508/data/mapdata/10557.txt b/servers/server508/data/mapdata/10557.txt similarity index 100% rename from server508/data/mapdata/10557.txt rename to servers/server508/data/mapdata/10557.txt diff --git a/server508/data/mapdata/10558.txt b/servers/server508/data/mapdata/10558.txt similarity index 100% rename from server508/data/mapdata/10558.txt rename to servers/server508/data/mapdata/10558.txt diff --git a/server508/data/mapdata/10559.txt b/servers/server508/data/mapdata/10559.txt similarity index 100% rename from server508/data/mapdata/10559.txt rename to servers/server508/data/mapdata/10559.txt diff --git a/server508/data/mapdata/10565.txt b/servers/server508/data/mapdata/10565.txt similarity index 100% rename from server508/data/mapdata/10565.txt rename to servers/server508/data/mapdata/10565.txt diff --git a/server508/data/mapdata/10566.txt b/servers/server508/data/mapdata/10566.txt similarity index 100% rename from server508/data/mapdata/10566.txt rename to servers/server508/data/mapdata/10566.txt diff --git a/server508/data/mapdata/10567.txt b/servers/server508/data/mapdata/10567.txt similarity index 100% rename from server508/data/mapdata/10567.txt rename to servers/server508/data/mapdata/10567.txt diff --git a/server508/data/mapdata/10570.txt b/servers/server508/data/mapdata/10570.txt similarity index 100% rename from server508/data/mapdata/10570.txt rename to servers/server508/data/mapdata/10570.txt diff --git a/server508/data/mapdata/10571.txt b/servers/server508/data/mapdata/10571.txt similarity index 100% rename from server508/data/mapdata/10571.txt rename to servers/server508/data/mapdata/10571.txt diff --git a/server508/data/mapdata/10572.txt b/servers/server508/data/mapdata/10572.txt similarity index 100% rename from server508/data/mapdata/10572.txt rename to servers/server508/data/mapdata/10572.txt diff --git a/server508/data/mapdata/10577.txt b/servers/server508/data/mapdata/10577.txt similarity index 100% rename from server508/data/mapdata/10577.txt rename to servers/server508/data/mapdata/10577.txt diff --git a/server508/data/mapdata/10578.txt b/servers/server508/data/mapdata/10578.txt similarity index 100% rename from server508/data/mapdata/10578.txt rename to servers/server508/data/mapdata/10578.txt diff --git a/server508/data/mapdata/10579.txt b/servers/server508/data/mapdata/10579.txt similarity index 100% rename from server508/data/mapdata/10579.txt rename to servers/server508/data/mapdata/10579.txt diff --git a/server508/data/mapdata/10637.txt b/servers/server508/data/mapdata/10637.txt similarity index 100% rename from server508/data/mapdata/10637.txt rename to servers/server508/data/mapdata/10637.txt diff --git a/server508/data/mapdata/10638.txt b/servers/server508/data/mapdata/10638.txt similarity index 100% rename from server508/data/mapdata/10638.txt rename to servers/server508/data/mapdata/10638.txt diff --git a/server508/data/mapdata/10639.txt b/servers/server508/data/mapdata/10639.txt similarity index 100% rename from server508/data/mapdata/10639.txt rename to servers/server508/data/mapdata/10639.txt diff --git a/server508/data/mapdata/10646.txt b/servers/server508/data/mapdata/10646.txt similarity index 100% rename from server508/data/mapdata/10646.txt rename to servers/server508/data/mapdata/10646.txt diff --git a/server508/data/mapdata/10647.txt b/servers/server508/data/mapdata/10647.txt similarity index 100% rename from server508/data/mapdata/10647.txt rename to servers/server508/data/mapdata/10647.txt diff --git a/server508/data/mapdata/10648.txt b/servers/server508/data/mapdata/10648.txt similarity index 100% rename from server508/data/mapdata/10648.txt rename to servers/server508/data/mapdata/10648.txt diff --git a/server508/data/mapdata/10649.txt b/servers/server508/data/mapdata/10649.txt similarity index 100% rename from server508/data/mapdata/10649.txt rename to servers/server508/data/mapdata/10649.txt diff --git a/server508/data/mapdata/10655.txt b/servers/server508/data/mapdata/10655.txt similarity index 100% rename from server508/data/mapdata/10655.txt rename to servers/server508/data/mapdata/10655.txt diff --git a/server508/data/mapdata/10656.txt b/servers/server508/data/mapdata/10656.txt similarity index 100% rename from server508/data/mapdata/10656.txt rename to servers/server508/data/mapdata/10656.txt diff --git a/server508/data/mapdata/10657.txt b/servers/server508/data/mapdata/10657.txt similarity index 100% rename from server508/data/mapdata/10657.txt rename to servers/server508/data/mapdata/10657.txt diff --git a/server508/data/mapdata/10792.txt b/servers/server508/data/mapdata/10792.txt similarity index 100% rename from server508/data/mapdata/10792.txt rename to servers/server508/data/mapdata/10792.txt diff --git a/server508/data/mapdata/10793.txt b/servers/server508/data/mapdata/10793.txt similarity index 100% rename from server508/data/mapdata/10793.txt rename to servers/server508/data/mapdata/10793.txt diff --git a/server508/data/mapdata/10794.txt b/servers/server508/data/mapdata/10794.txt similarity index 100% rename from server508/data/mapdata/10794.txt rename to servers/server508/data/mapdata/10794.txt diff --git a/server508/data/mapdata/10795.txt b/servers/server508/data/mapdata/10795.txt similarity index 100% rename from server508/data/mapdata/10795.txt rename to servers/server508/data/mapdata/10795.txt diff --git a/server508/data/mapdata/10796.txt b/servers/server508/data/mapdata/10796.txt similarity index 100% rename from server508/data/mapdata/10796.txt rename to servers/server508/data/mapdata/10796.txt diff --git a/server508/data/mapdata/10797.txt b/servers/server508/data/mapdata/10797.txt similarity index 100% rename from server508/data/mapdata/10797.txt rename to servers/server508/data/mapdata/10797.txt diff --git a/server508/data/mapdata/10798.txt b/servers/server508/data/mapdata/10798.txt similarity index 100% rename from server508/data/mapdata/10798.txt rename to servers/server508/data/mapdata/10798.txt diff --git a/server508/data/mapdata/10799.txt b/servers/server508/data/mapdata/10799.txt similarity index 100% rename from server508/data/mapdata/10799.txt rename to servers/server508/data/mapdata/10799.txt diff --git a/server508/data/mapdata/10800.txt b/servers/server508/data/mapdata/10800.txt similarity index 100% rename from server508/data/mapdata/10800.txt rename to servers/server508/data/mapdata/10800.txt diff --git a/server508/data/mapdata/10801.txt b/servers/server508/data/mapdata/10801.txt similarity index 100% rename from server508/data/mapdata/10801.txt rename to servers/server508/data/mapdata/10801.txt diff --git a/server508/data/mapdata/10802.txt b/servers/server508/data/mapdata/10802.txt similarity index 100% rename from server508/data/mapdata/10802.txt rename to servers/server508/data/mapdata/10802.txt diff --git a/server508/data/mapdata/10803.txt b/servers/server508/data/mapdata/10803.txt similarity index 100% rename from server508/data/mapdata/10803.txt rename to servers/server508/data/mapdata/10803.txt diff --git a/server508/data/mapdata/10804.txt b/servers/server508/data/mapdata/10804.txt similarity index 100% rename from server508/data/mapdata/10804.txt rename to servers/server508/data/mapdata/10804.txt diff --git a/server508/data/mapdata/10805.txt b/servers/server508/data/mapdata/10805.txt similarity index 100% rename from server508/data/mapdata/10805.txt rename to servers/server508/data/mapdata/10805.txt diff --git a/server508/data/mapdata/10806.txt b/servers/server508/data/mapdata/10806.txt similarity index 100% rename from server508/data/mapdata/10806.txt rename to servers/server508/data/mapdata/10806.txt diff --git a/server508/data/mapdata/10807.txt b/servers/server508/data/mapdata/10807.txt similarity index 100% rename from server508/data/mapdata/10807.txt rename to servers/server508/data/mapdata/10807.txt diff --git a/server508/data/mapdata/10808.txt b/servers/server508/data/mapdata/10808.txt similarity index 100% rename from server508/data/mapdata/10808.txt rename to servers/server508/data/mapdata/10808.txt diff --git a/server508/data/mapdata/10809.txt b/servers/server508/data/mapdata/10809.txt similarity index 100% rename from server508/data/mapdata/10809.txt rename to servers/server508/data/mapdata/10809.txt diff --git a/server508/data/mapdata/10810.txt b/servers/server508/data/mapdata/10810.txt similarity index 100% rename from server508/data/mapdata/10810.txt rename to servers/server508/data/mapdata/10810.txt diff --git a/server508/data/mapdata/10811.txt b/servers/server508/data/mapdata/10811.txt similarity index 100% rename from server508/data/mapdata/10811.txt rename to servers/server508/data/mapdata/10811.txt diff --git a/server508/data/mapdata/10812.txt b/servers/server508/data/mapdata/10812.txt similarity index 100% rename from server508/data/mapdata/10812.txt rename to servers/server508/data/mapdata/10812.txt diff --git a/server508/data/mapdata/10813.txt b/servers/server508/data/mapdata/10813.txt similarity index 100% rename from server508/data/mapdata/10813.txt rename to servers/server508/data/mapdata/10813.txt diff --git a/server508/data/mapdata/10814.txt b/servers/server508/data/mapdata/10814.txt similarity index 100% rename from server508/data/mapdata/10814.txt rename to servers/server508/data/mapdata/10814.txt diff --git a/server508/data/mapdata/10815.txt b/servers/server508/data/mapdata/10815.txt similarity index 100% rename from server508/data/mapdata/10815.txt rename to servers/server508/data/mapdata/10815.txt diff --git a/server508/data/mapdata/10821.txt b/servers/server508/data/mapdata/10821.txt similarity index 100% rename from server508/data/mapdata/10821.txt rename to servers/server508/data/mapdata/10821.txt diff --git a/server508/data/mapdata/10822.txt b/servers/server508/data/mapdata/10822.txt similarity index 100% rename from server508/data/mapdata/10822.txt rename to servers/server508/data/mapdata/10822.txt diff --git a/server508/data/mapdata/10823.txt b/servers/server508/data/mapdata/10823.txt similarity index 100% rename from server508/data/mapdata/10823.txt rename to servers/server508/data/mapdata/10823.txt diff --git a/server508/data/mapdata/10826.txt b/servers/server508/data/mapdata/10826.txt similarity index 100% rename from server508/data/mapdata/10826.txt rename to servers/server508/data/mapdata/10826.txt diff --git a/server508/data/mapdata/10827.txt b/servers/server508/data/mapdata/10827.txt similarity index 100% rename from server508/data/mapdata/10827.txt rename to servers/server508/data/mapdata/10827.txt diff --git a/server508/data/mapdata/10828.txt b/servers/server508/data/mapdata/10828.txt similarity index 100% rename from server508/data/mapdata/10828.txt rename to servers/server508/data/mapdata/10828.txt diff --git a/server508/data/mapdata/10836.txt b/servers/server508/data/mapdata/10836.txt similarity index 100% rename from server508/data/mapdata/10836.txt rename to servers/server508/data/mapdata/10836.txt diff --git a/server508/data/mapdata/10837.txt b/servers/server508/data/mapdata/10837.txt similarity index 100% rename from server508/data/mapdata/10837.txt rename to servers/server508/data/mapdata/10837.txt diff --git a/server508/data/mapdata/10838.txt b/servers/server508/data/mapdata/10838.txt similarity index 100% rename from server508/data/mapdata/10838.txt rename to servers/server508/data/mapdata/10838.txt diff --git a/server508/data/mapdata/10893.txt b/servers/server508/data/mapdata/10893.txt similarity index 100% rename from server508/data/mapdata/10893.txt rename to servers/server508/data/mapdata/10893.txt diff --git a/server508/data/mapdata/10894.txt b/servers/server508/data/mapdata/10894.txt similarity index 100% rename from server508/data/mapdata/10894.txt rename to servers/server508/data/mapdata/10894.txt diff --git a/server508/data/mapdata/10895.txt b/servers/server508/data/mapdata/10895.txt similarity index 100% rename from server508/data/mapdata/10895.txt rename to servers/server508/data/mapdata/10895.txt diff --git a/server508/data/mapdata/10902.txt b/servers/server508/data/mapdata/10902.txt similarity index 100% rename from server508/data/mapdata/10902.txt rename to servers/server508/data/mapdata/10902.txt diff --git a/server508/data/mapdata/10903.txt b/servers/server508/data/mapdata/10903.txt similarity index 100% rename from server508/data/mapdata/10903.txt rename to servers/server508/data/mapdata/10903.txt diff --git a/server508/data/mapdata/10904.txt b/servers/server508/data/mapdata/10904.txt similarity index 100% rename from server508/data/mapdata/10904.txt rename to servers/server508/data/mapdata/10904.txt diff --git a/server508/data/mapdata/10905.txt b/servers/server508/data/mapdata/10905.txt similarity index 100% rename from server508/data/mapdata/10905.txt rename to servers/server508/data/mapdata/10905.txt diff --git a/server508/data/mapdata/10907.txt b/servers/server508/data/mapdata/10907.txt similarity index 100% rename from server508/data/mapdata/10907.txt rename to servers/server508/data/mapdata/10907.txt diff --git a/server508/data/mapdata/10908.txt b/servers/server508/data/mapdata/10908.txt similarity index 100% rename from server508/data/mapdata/10908.txt rename to servers/server508/data/mapdata/10908.txt diff --git a/server508/data/mapdata/10909.txt b/servers/server508/data/mapdata/10909.txt similarity index 100% rename from server508/data/mapdata/10909.txt rename to servers/server508/data/mapdata/10909.txt diff --git a/server508/data/mapdata/10910.txt b/servers/server508/data/mapdata/10910.txt similarity index 100% rename from server508/data/mapdata/10910.txt rename to servers/server508/data/mapdata/10910.txt diff --git a/server508/data/mapdata/10911.txt b/servers/server508/data/mapdata/10911.txt similarity index 100% rename from server508/data/mapdata/10911.txt rename to servers/server508/data/mapdata/10911.txt diff --git a/server508/data/mapdata/11049.txt b/servers/server508/data/mapdata/11049.txt similarity index 100% rename from server508/data/mapdata/11049.txt rename to servers/server508/data/mapdata/11049.txt diff --git a/server508/data/mapdata/11050.txt b/servers/server508/data/mapdata/11050.txt similarity index 100% rename from server508/data/mapdata/11050.txt rename to servers/server508/data/mapdata/11050.txt diff --git a/server508/data/mapdata/11051.txt b/servers/server508/data/mapdata/11051.txt similarity index 100% rename from server508/data/mapdata/11051.txt rename to servers/server508/data/mapdata/11051.txt diff --git a/server508/data/mapdata/11052.txt b/servers/server508/data/mapdata/11052.txt similarity index 100% rename from server508/data/mapdata/11052.txt rename to servers/server508/data/mapdata/11052.txt diff --git a/server508/data/mapdata/11053.txt b/servers/server508/data/mapdata/11053.txt similarity index 100% rename from server508/data/mapdata/11053.txt rename to servers/server508/data/mapdata/11053.txt diff --git a/server508/data/mapdata/11054.txt b/servers/server508/data/mapdata/11054.txt similarity index 100% rename from server508/data/mapdata/11054.txt rename to servers/server508/data/mapdata/11054.txt diff --git a/server508/data/mapdata/11055.txt b/servers/server508/data/mapdata/11055.txt similarity index 100% rename from server508/data/mapdata/11055.txt rename to servers/server508/data/mapdata/11055.txt diff --git a/server508/data/mapdata/11056.txt b/servers/server508/data/mapdata/11056.txt similarity index 100% rename from server508/data/mapdata/11056.txt rename to servers/server508/data/mapdata/11056.txt diff --git a/server508/data/mapdata/11057.txt b/servers/server508/data/mapdata/11057.txt similarity index 100% rename from server508/data/mapdata/11057.txt rename to servers/server508/data/mapdata/11057.txt diff --git a/server508/data/mapdata/11058.txt b/servers/server508/data/mapdata/11058.txt similarity index 100% rename from server508/data/mapdata/11058.txt rename to servers/server508/data/mapdata/11058.txt diff --git a/server508/data/mapdata/11059.txt b/servers/server508/data/mapdata/11059.txt similarity index 100% rename from server508/data/mapdata/11059.txt rename to servers/server508/data/mapdata/11059.txt diff --git a/server508/data/mapdata/11060.txt b/servers/server508/data/mapdata/11060.txt similarity index 100% rename from server508/data/mapdata/11060.txt rename to servers/server508/data/mapdata/11060.txt diff --git a/server508/data/mapdata/11061.txt b/servers/server508/data/mapdata/11061.txt similarity index 100% rename from server508/data/mapdata/11061.txt rename to servers/server508/data/mapdata/11061.txt diff --git a/server508/data/mapdata/11062.txt b/servers/server508/data/mapdata/11062.txt similarity index 100% rename from server508/data/mapdata/11062.txt rename to servers/server508/data/mapdata/11062.txt diff --git a/server508/data/mapdata/11063.txt b/servers/server508/data/mapdata/11063.txt similarity index 100% rename from server508/data/mapdata/11063.txt rename to servers/server508/data/mapdata/11063.txt diff --git a/server508/data/mapdata/11064.txt b/servers/server508/data/mapdata/11064.txt similarity index 100% rename from server508/data/mapdata/11064.txt rename to servers/server508/data/mapdata/11064.txt diff --git a/server508/data/mapdata/11065.txt b/servers/server508/data/mapdata/11065.txt similarity index 100% rename from server508/data/mapdata/11065.txt rename to servers/server508/data/mapdata/11065.txt diff --git a/server508/data/mapdata/11066.txt b/servers/server508/data/mapdata/11066.txt similarity index 100% rename from server508/data/mapdata/11066.txt rename to servers/server508/data/mapdata/11066.txt diff --git a/server508/data/mapdata/11067.txt b/servers/server508/data/mapdata/11067.txt similarity index 100% rename from server508/data/mapdata/11067.txt rename to servers/server508/data/mapdata/11067.txt diff --git a/server508/data/mapdata/11068.txt b/servers/server508/data/mapdata/11068.txt similarity index 100% rename from server508/data/mapdata/11068.txt rename to servers/server508/data/mapdata/11068.txt diff --git a/server508/data/mapdata/11082.txt b/servers/server508/data/mapdata/11082.txt similarity index 100% rename from server508/data/mapdata/11082.txt rename to servers/server508/data/mapdata/11082.txt diff --git a/server508/data/mapdata/11083.txt b/servers/server508/data/mapdata/11083.txt similarity index 100% rename from server508/data/mapdata/11083.txt rename to servers/server508/data/mapdata/11083.txt diff --git a/server508/data/mapdata/11084.txt b/servers/server508/data/mapdata/11084.txt similarity index 100% rename from server508/data/mapdata/11084.txt rename to servers/server508/data/mapdata/11084.txt diff --git a/server508/data/mapdata/11089.txt b/servers/server508/data/mapdata/11089.txt similarity index 100% rename from server508/data/mapdata/11089.txt rename to servers/server508/data/mapdata/11089.txt diff --git a/server508/data/mapdata/11090.txt b/servers/server508/data/mapdata/11090.txt similarity index 100% rename from server508/data/mapdata/11090.txt rename to servers/server508/data/mapdata/11090.txt diff --git a/server508/data/mapdata/11091.txt b/servers/server508/data/mapdata/11091.txt similarity index 100% rename from server508/data/mapdata/11091.txt rename to servers/server508/data/mapdata/11091.txt diff --git a/server508/data/mapdata/11092.txt b/servers/server508/data/mapdata/11092.txt similarity index 100% rename from server508/data/mapdata/11092.txt rename to servers/server508/data/mapdata/11092.txt diff --git a/server508/data/mapdata/11093.txt b/servers/server508/data/mapdata/11093.txt similarity index 100% rename from server508/data/mapdata/11093.txt rename to servers/server508/data/mapdata/11093.txt diff --git a/server508/data/mapdata/11094.txt b/servers/server508/data/mapdata/11094.txt similarity index 100% rename from server508/data/mapdata/11094.txt rename to servers/server508/data/mapdata/11094.txt diff --git a/server508/data/mapdata/11149.txt b/servers/server508/data/mapdata/11149.txt similarity index 100% rename from server508/data/mapdata/11149.txt rename to servers/server508/data/mapdata/11149.txt diff --git a/server508/data/mapdata/11150.txt b/servers/server508/data/mapdata/11150.txt similarity index 100% rename from server508/data/mapdata/11150.txt rename to servers/server508/data/mapdata/11150.txt diff --git a/server508/data/mapdata/11151.txt b/servers/server508/data/mapdata/11151.txt similarity index 100% rename from server508/data/mapdata/11151.txt rename to servers/server508/data/mapdata/11151.txt diff --git a/server508/data/mapdata/11156.txt b/servers/server508/data/mapdata/11156.txt similarity index 100% rename from server508/data/mapdata/11156.txt rename to servers/server508/data/mapdata/11156.txt diff --git a/server508/data/mapdata/11157.txt b/servers/server508/data/mapdata/11157.txt similarity index 100% rename from server508/data/mapdata/11157.txt rename to servers/server508/data/mapdata/11157.txt diff --git a/server508/data/mapdata/11158.txt b/servers/server508/data/mapdata/11158.txt similarity index 100% rename from server508/data/mapdata/11158.txt rename to servers/server508/data/mapdata/11158.txt diff --git a/server508/data/mapdata/11159.txt b/servers/server508/data/mapdata/11159.txt similarity index 100% rename from server508/data/mapdata/11159.txt rename to servers/server508/data/mapdata/11159.txt diff --git a/server508/data/mapdata/11160.txt b/servers/server508/data/mapdata/11160.txt similarity index 100% rename from server508/data/mapdata/11160.txt rename to servers/server508/data/mapdata/11160.txt diff --git a/server508/data/mapdata/11161.txt b/servers/server508/data/mapdata/11161.txt similarity index 100% rename from server508/data/mapdata/11161.txt rename to servers/server508/data/mapdata/11161.txt diff --git a/server508/data/mapdata/11162.txt b/servers/server508/data/mapdata/11162.txt similarity index 100% rename from server508/data/mapdata/11162.txt rename to servers/server508/data/mapdata/11162.txt diff --git a/server508/data/mapdata/11163.txt b/servers/server508/data/mapdata/11163.txt similarity index 100% rename from server508/data/mapdata/11163.txt rename to servers/server508/data/mapdata/11163.txt diff --git a/server508/data/mapdata/11164.txt b/servers/server508/data/mapdata/11164.txt similarity index 100% rename from server508/data/mapdata/11164.txt rename to servers/server508/data/mapdata/11164.txt diff --git a/server508/data/mapdata/11165.txt b/servers/server508/data/mapdata/11165.txt similarity index 100% rename from server508/data/mapdata/11165.txt rename to servers/server508/data/mapdata/11165.txt diff --git a/server508/data/mapdata/11166.txt b/servers/server508/data/mapdata/11166.txt similarity index 100% rename from server508/data/mapdata/11166.txt rename to servers/server508/data/mapdata/11166.txt diff --git a/server508/data/mapdata/11167.txt b/servers/server508/data/mapdata/11167.txt similarity index 100% rename from server508/data/mapdata/11167.txt rename to servers/server508/data/mapdata/11167.txt diff --git a/server508/data/mapdata/11305.txt b/servers/server508/data/mapdata/11305.txt similarity index 100% rename from server508/data/mapdata/11305.txt rename to servers/server508/data/mapdata/11305.txt diff --git a/server508/data/mapdata/11306.txt b/servers/server508/data/mapdata/11306.txt similarity index 100% rename from server508/data/mapdata/11306.txt rename to servers/server508/data/mapdata/11306.txt diff --git a/server508/data/mapdata/11307.txt b/servers/server508/data/mapdata/11307.txt similarity index 100% rename from server508/data/mapdata/11307.txt rename to servers/server508/data/mapdata/11307.txt diff --git a/server508/data/mapdata/11308.txt b/servers/server508/data/mapdata/11308.txt similarity index 100% rename from server508/data/mapdata/11308.txt rename to servers/server508/data/mapdata/11308.txt diff --git a/server508/data/mapdata/11309.txt b/servers/server508/data/mapdata/11309.txt similarity index 100% rename from server508/data/mapdata/11309.txt rename to servers/server508/data/mapdata/11309.txt diff --git a/server508/data/mapdata/11310.txt b/servers/server508/data/mapdata/11310.txt similarity index 100% rename from server508/data/mapdata/11310.txt rename to servers/server508/data/mapdata/11310.txt diff --git a/server508/data/mapdata/11311.txt b/servers/server508/data/mapdata/11311.txt similarity index 100% rename from server508/data/mapdata/11311.txt rename to servers/server508/data/mapdata/11311.txt diff --git a/server508/data/mapdata/11312.txt b/servers/server508/data/mapdata/11312.txt similarity index 100% rename from server508/data/mapdata/11312.txt rename to servers/server508/data/mapdata/11312.txt diff --git a/server508/data/mapdata/11313.txt b/servers/server508/data/mapdata/11313.txt similarity index 100% rename from server508/data/mapdata/11313.txt rename to servers/server508/data/mapdata/11313.txt diff --git a/server508/data/mapdata/11314.txt b/servers/server508/data/mapdata/11314.txt similarity index 100% rename from server508/data/mapdata/11314.txt rename to servers/server508/data/mapdata/11314.txt diff --git a/server508/data/mapdata/11315.txt b/servers/server508/data/mapdata/11315.txt similarity index 100% rename from server508/data/mapdata/11315.txt rename to servers/server508/data/mapdata/11315.txt diff --git a/server508/data/mapdata/11316.txt b/servers/server508/data/mapdata/11316.txt similarity index 100% rename from server508/data/mapdata/11316.txt rename to servers/server508/data/mapdata/11316.txt diff --git a/server508/data/mapdata/11317.txt b/servers/server508/data/mapdata/11317.txt similarity index 100% rename from server508/data/mapdata/11317.txt rename to servers/server508/data/mapdata/11317.txt diff --git a/server508/data/mapdata/11318.txt b/servers/server508/data/mapdata/11318.txt similarity index 100% rename from server508/data/mapdata/11318.txt rename to servers/server508/data/mapdata/11318.txt diff --git a/server508/data/mapdata/11319.txt b/servers/server508/data/mapdata/11319.txt similarity index 100% rename from server508/data/mapdata/11319.txt rename to servers/server508/data/mapdata/11319.txt diff --git a/server508/data/mapdata/11320.txt b/servers/server508/data/mapdata/11320.txt similarity index 100% rename from server508/data/mapdata/11320.txt rename to servers/server508/data/mapdata/11320.txt diff --git a/server508/data/mapdata/11321.txt b/servers/server508/data/mapdata/11321.txt similarity index 100% rename from server508/data/mapdata/11321.txt rename to servers/server508/data/mapdata/11321.txt diff --git a/server508/data/mapdata/11322.txt b/servers/server508/data/mapdata/11322.txt similarity index 100% rename from server508/data/mapdata/11322.txt rename to servers/server508/data/mapdata/11322.txt diff --git a/server508/data/mapdata/11323.txt b/servers/server508/data/mapdata/11323.txt similarity index 100% rename from server508/data/mapdata/11323.txt rename to servers/server508/data/mapdata/11323.txt diff --git a/server508/data/mapdata/11338.txt b/servers/server508/data/mapdata/11338.txt similarity index 100% rename from server508/data/mapdata/11338.txt rename to servers/server508/data/mapdata/11338.txt diff --git a/server508/data/mapdata/11339.txt b/servers/server508/data/mapdata/11339.txt similarity index 100% rename from server508/data/mapdata/11339.txt rename to servers/server508/data/mapdata/11339.txt diff --git a/server508/data/mapdata/11340.txt b/servers/server508/data/mapdata/11340.txt similarity index 100% rename from server508/data/mapdata/11340.txt rename to servers/server508/data/mapdata/11340.txt diff --git a/server508/data/mapdata/11345.txt b/servers/server508/data/mapdata/11345.txt similarity index 100% rename from server508/data/mapdata/11345.txt rename to servers/server508/data/mapdata/11345.txt diff --git a/server508/data/mapdata/11346.txt b/servers/server508/data/mapdata/11346.txt similarity index 100% rename from server508/data/mapdata/11346.txt rename to servers/server508/data/mapdata/11346.txt diff --git a/server508/data/mapdata/11347.txt b/servers/server508/data/mapdata/11347.txt similarity index 100% rename from server508/data/mapdata/11347.txt rename to servers/server508/data/mapdata/11347.txt diff --git a/server508/data/mapdata/11348.txt b/servers/server508/data/mapdata/11348.txt similarity index 100% rename from server508/data/mapdata/11348.txt rename to servers/server508/data/mapdata/11348.txt diff --git a/server508/data/mapdata/11349.txt b/servers/server508/data/mapdata/11349.txt similarity index 100% rename from server508/data/mapdata/11349.txt rename to servers/server508/data/mapdata/11349.txt diff --git a/server508/data/mapdata/11350.txt b/servers/server508/data/mapdata/11350.txt similarity index 100% rename from server508/data/mapdata/11350.txt rename to servers/server508/data/mapdata/11350.txt diff --git a/server508/data/mapdata/11405.txt b/servers/server508/data/mapdata/11405.txt similarity index 100% rename from server508/data/mapdata/11405.txt rename to servers/server508/data/mapdata/11405.txt diff --git a/server508/data/mapdata/11406.txt b/servers/server508/data/mapdata/11406.txt similarity index 100% rename from server508/data/mapdata/11406.txt rename to servers/server508/data/mapdata/11406.txt diff --git a/server508/data/mapdata/11407.txt b/servers/server508/data/mapdata/11407.txt similarity index 100% rename from server508/data/mapdata/11407.txt rename to servers/server508/data/mapdata/11407.txt diff --git a/server508/data/mapdata/11412.txt b/servers/server508/data/mapdata/11412.txt similarity index 100% rename from server508/data/mapdata/11412.txt rename to servers/server508/data/mapdata/11412.txt diff --git a/server508/data/mapdata/11413.txt b/servers/server508/data/mapdata/11413.txt similarity index 100% rename from server508/data/mapdata/11413.txt rename to servers/server508/data/mapdata/11413.txt diff --git a/server508/data/mapdata/11414.txt b/servers/server508/data/mapdata/11414.txt similarity index 100% rename from server508/data/mapdata/11414.txt rename to servers/server508/data/mapdata/11414.txt diff --git a/server508/data/mapdata/11415.txt b/servers/server508/data/mapdata/11415.txt similarity index 100% rename from server508/data/mapdata/11415.txt rename to servers/server508/data/mapdata/11415.txt diff --git a/server508/data/mapdata/11416.txt b/servers/server508/data/mapdata/11416.txt similarity index 100% rename from server508/data/mapdata/11416.txt rename to servers/server508/data/mapdata/11416.txt diff --git a/server508/data/mapdata/11417.txt b/servers/server508/data/mapdata/11417.txt similarity index 100% rename from server508/data/mapdata/11417.txt rename to servers/server508/data/mapdata/11417.txt diff --git a/server508/data/mapdata/11418.txt b/servers/server508/data/mapdata/11418.txt similarity index 100% rename from server508/data/mapdata/11418.txt rename to servers/server508/data/mapdata/11418.txt diff --git a/server508/data/mapdata/11419.txt b/servers/server508/data/mapdata/11419.txt similarity index 100% rename from server508/data/mapdata/11419.txt rename to servers/server508/data/mapdata/11419.txt diff --git a/server508/data/mapdata/11420.txt b/servers/server508/data/mapdata/11420.txt similarity index 100% rename from server508/data/mapdata/11420.txt rename to servers/server508/data/mapdata/11420.txt diff --git a/server508/data/mapdata/11421.txt b/servers/server508/data/mapdata/11421.txt similarity index 100% rename from server508/data/mapdata/11421.txt rename to servers/server508/data/mapdata/11421.txt diff --git a/server508/data/mapdata/11422.txt b/servers/server508/data/mapdata/11422.txt similarity index 100% rename from server508/data/mapdata/11422.txt rename to servers/server508/data/mapdata/11422.txt diff --git a/server508/data/mapdata/11423.txt b/servers/server508/data/mapdata/11423.txt similarity index 100% rename from server508/data/mapdata/11423.txt rename to servers/server508/data/mapdata/11423.txt diff --git a/server508/data/mapdata/11561.txt b/servers/server508/data/mapdata/11561.txt similarity index 100% rename from server508/data/mapdata/11561.txt rename to servers/server508/data/mapdata/11561.txt diff --git a/server508/data/mapdata/11562.txt b/servers/server508/data/mapdata/11562.txt similarity index 100% rename from server508/data/mapdata/11562.txt rename to servers/server508/data/mapdata/11562.txt diff --git a/server508/data/mapdata/11563.txt b/servers/server508/data/mapdata/11563.txt similarity index 100% rename from server508/data/mapdata/11563.txt rename to servers/server508/data/mapdata/11563.txt diff --git a/server508/data/mapdata/11565.txt b/servers/server508/data/mapdata/11565.txt similarity index 100% rename from server508/data/mapdata/11565.txt rename to servers/server508/data/mapdata/11565.txt diff --git a/server508/data/mapdata/11566.txt b/servers/server508/data/mapdata/11566.txt similarity index 100% rename from server508/data/mapdata/11566.txt rename to servers/server508/data/mapdata/11566.txt diff --git a/server508/data/mapdata/11567.txt b/servers/server508/data/mapdata/11567.txt similarity index 100% rename from server508/data/mapdata/11567.txt rename to servers/server508/data/mapdata/11567.txt diff --git a/server508/data/mapdata/11568.txt b/servers/server508/data/mapdata/11568.txt similarity index 100% rename from server508/data/mapdata/11568.txt rename to servers/server508/data/mapdata/11568.txt diff --git a/server508/data/mapdata/11569.txt b/servers/server508/data/mapdata/11569.txt similarity index 100% rename from server508/data/mapdata/11569.txt rename to servers/server508/data/mapdata/11569.txt diff --git a/server508/data/mapdata/11570.txt b/servers/server508/data/mapdata/11570.txt similarity index 100% rename from server508/data/mapdata/11570.txt rename to servers/server508/data/mapdata/11570.txt diff --git a/server508/data/mapdata/11571.txt b/servers/server508/data/mapdata/11571.txt similarity index 100% rename from server508/data/mapdata/11571.txt rename to servers/server508/data/mapdata/11571.txt diff --git a/server508/data/mapdata/11572.txt b/servers/server508/data/mapdata/11572.txt similarity index 100% rename from server508/data/mapdata/11572.txt rename to servers/server508/data/mapdata/11572.txt diff --git a/server508/data/mapdata/11573.txt b/servers/server508/data/mapdata/11573.txt similarity index 100% rename from server508/data/mapdata/11573.txt rename to servers/server508/data/mapdata/11573.txt diff --git a/server508/data/mapdata/11574.txt b/servers/server508/data/mapdata/11574.txt similarity index 100% rename from server508/data/mapdata/11574.txt rename to servers/server508/data/mapdata/11574.txt diff --git a/server508/data/mapdata/11575.txt b/servers/server508/data/mapdata/11575.txt similarity index 100% rename from server508/data/mapdata/11575.txt rename to servers/server508/data/mapdata/11575.txt diff --git a/server508/data/mapdata/11576.txt b/servers/server508/data/mapdata/11576.txt similarity index 100% rename from server508/data/mapdata/11576.txt rename to servers/server508/data/mapdata/11576.txt diff --git a/server508/data/mapdata/11577.txt b/servers/server508/data/mapdata/11577.txt similarity index 100% rename from server508/data/mapdata/11577.txt rename to servers/server508/data/mapdata/11577.txt diff --git a/server508/data/mapdata/11578.txt b/servers/server508/data/mapdata/11578.txt similarity index 100% rename from server508/data/mapdata/11578.txt rename to servers/server508/data/mapdata/11578.txt diff --git a/server508/data/mapdata/11579.txt b/servers/server508/data/mapdata/11579.txt similarity index 100% rename from server508/data/mapdata/11579.txt rename to servers/server508/data/mapdata/11579.txt diff --git a/server508/data/mapdata/11580.txt b/servers/server508/data/mapdata/11580.txt similarity index 100% rename from server508/data/mapdata/11580.txt rename to servers/server508/data/mapdata/11580.txt diff --git a/server508/data/mapdata/11581.txt b/servers/server508/data/mapdata/11581.txt similarity index 100% rename from server508/data/mapdata/11581.txt rename to servers/server508/data/mapdata/11581.txt diff --git a/server508/data/mapdata/11582.txt b/servers/server508/data/mapdata/11582.txt similarity index 100% rename from server508/data/mapdata/11582.txt rename to servers/server508/data/mapdata/11582.txt diff --git a/server508/data/mapdata/11592.txt b/servers/server508/data/mapdata/11592.txt similarity index 100% rename from server508/data/mapdata/11592.txt rename to servers/server508/data/mapdata/11592.txt diff --git a/server508/data/mapdata/11593.txt b/servers/server508/data/mapdata/11593.txt similarity index 100% rename from server508/data/mapdata/11593.txt rename to servers/server508/data/mapdata/11593.txt diff --git a/server508/data/mapdata/11594.txt b/servers/server508/data/mapdata/11594.txt similarity index 100% rename from server508/data/mapdata/11594.txt rename to servers/server508/data/mapdata/11594.txt diff --git a/server508/data/mapdata/11595.txt b/servers/server508/data/mapdata/11595.txt similarity index 100% rename from server508/data/mapdata/11595.txt rename to servers/server508/data/mapdata/11595.txt diff --git a/server508/data/mapdata/11596.txt b/servers/server508/data/mapdata/11596.txt similarity index 100% rename from server508/data/mapdata/11596.txt rename to servers/server508/data/mapdata/11596.txt diff --git a/server508/data/mapdata/11601.txt b/servers/server508/data/mapdata/11601.txt similarity index 100% rename from server508/data/mapdata/11601.txt rename to servers/server508/data/mapdata/11601.txt diff --git a/server508/data/mapdata/11602.txt b/servers/server508/data/mapdata/11602.txt similarity index 100% rename from server508/data/mapdata/11602.txt rename to servers/server508/data/mapdata/11602.txt diff --git a/server508/data/mapdata/11603.txt b/servers/server508/data/mapdata/11603.txt similarity index 100% rename from server508/data/mapdata/11603.txt rename to servers/server508/data/mapdata/11603.txt diff --git a/server508/data/mapdata/11604.txt b/servers/server508/data/mapdata/11604.txt similarity index 100% rename from server508/data/mapdata/11604.txt rename to servers/server508/data/mapdata/11604.txt diff --git a/server508/data/mapdata/11605.txt b/servers/server508/data/mapdata/11605.txt similarity index 100% rename from server508/data/mapdata/11605.txt rename to servers/server508/data/mapdata/11605.txt diff --git a/server508/data/mapdata/11606.txt b/servers/server508/data/mapdata/11606.txt similarity index 100% rename from server508/data/mapdata/11606.txt rename to servers/server508/data/mapdata/11606.txt diff --git a/server508/data/mapdata/11608.txt b/servers/server508/data/mapdata/11608.txt similarity index 100% rename from server508/data/mapdata/11608.txt rename to servers/server508/data/mapdata/11608.txt diff --git a/server508/data/mapdata/11609.txt b/servers/server508/data/mapdata/11609.txt similarity index 100% rename from server508/data/mapdata/11609.txt rename to servers/server508/data/mapdata/11609.txt diff --git a/server508/data/mapdata/11610.txt b/servers/server508/data/mapdata/11610.txt similarity index 100% rename from server508/data/mapdata/11610.txt rename to servers/server508/data/mapdata/11610.txt diff --git a/server508/data/mapdata/11668.txt b/servers/server508/data/mapdata/11668.txt similarity index 100% rename from server508/data/mapdata/11668.txt rename to servers/server508/data/mapdata/11668.txt diff --git a/server508/data/mapdata/11669.txt b/servers/server508/data/mapdata/11669.txt similarity index 100% rename from server508/data/mapdata/11669.txt rename to servers/server508/data/mapdata/11669.txt diff --git a/server508/data/mapdata/11670.txt b/servers/server508/data/mapdata/11670.txt similarity index 100% rename from server508/data/mapdata/11670.txt rename to servers/server508/data/mapdata/11670.txt diff --git a/server508/data/mapdata/11671.txt b/servers/server508/data/mapdata/11671.txt similarity index 100% rename from server508/data/mapdata/11671.txt rename to servers/server508/data/mapdata/11671.txt diff --git a/server508/data/mapdata/11672.txt b/servers/server508/data/mapdata/11672.txt similarity index 100% rename from server508/data/mapdata/11672.txt rename to servers/server508/data/mapdata/11672.txt diff --git a/server508/data/mapdata/11673.txt b/servers/server508/data/mapdata/11673.txt similarity index 100% rename from server508/data/mapdata/11673.txt rename to servers/server508/data/mapdata/11673.txt diff --git a/server508/data/mapdata/11674.txt b/servers/server508/data/mapdata/11674.txt similarity index 100% rename from server508/data/mapdata/11674.txt rename to servers/server508/data/mapdata/11674.txt diff --git a/server508/data/mapdata/11675.txt b/servers/server508/data/mapdata/11675.txt similarity index 100% rename from server508/data/mapdata/11675.txt rename to servers/server508/data/mapdata/11675.txt diff --git a/server508/data/mapdata/11817.txt b/servers/server508/data/mapdata/11817.txt similarity index 100% rename from server508/data/mapdata/11817.txt rename to servers/server508/data/mapdata/11817.txt diff --git a/server508/data/mapdata/11818.txt b/servers/server508/data/mapdata/11818.txt similarity index 100% rename from server508/data/mapdata/11818.txt rename to servers/server508/data/mapdata/11818.txt diff --git a/server508/data/mapdata/11819.txt b/servers/server508/data/mapdata/11819.txt similarity index 100% rename from server508/data/mapdata/11819.txt rename to servers/server508/data/mapdata/11819.txt diff --git a/server508/data/mapdata/11821.txt b/servers/server508/data/mapdata/11821.txt similarity index 100% rename from server508/data/mapdata/11821.txt rename to servers/server508/data/mapdata/11821.txt diff --git a/server508/data/mapdata/11822.txt b/servers/server508/data/mapdata/11822.txt similarity index 100% rename from server508/data/mapdata/11822.txt rename to servers/server508/data/mapdata/11822.txt diff --git a/server508/data/mapdata/11823.txt b/servers/server508/data/mapdata/11823.txt similarity index 100% rename from server508/data/mapdata/11823.txt rename to servers/server508/data/mapdata/11823.txt diff --git a/server508/data/mapdata/11824.txt b/servers/server508/data/mapdata/11824.txt similarity index 100% rename from server508/data/mapdata/11824.txt rename to servers/server508/data/mapdata/11824.txt diff --git a/server508/data/mapdata/11825.txt b/servers/server508/data/mapdata/11825.txt similarity index 100% rename from server508/data/mapdata/11825.txt rename to servers/server508/data/mapdata/11825.txt diff --git a/server508/data/mapdata/11826.txt b/servers/server508/data/mapdata/11826.txt similarity index 100% rename from server508/data/mapdata/11826.txt rename to servers/server508/data/mapdata/11826.txt diff --git a/server508/data/mapdata/11827.txt b/servers/server508/data/mapdata/11827.txt similarity index 100% rename from server508/data/mapdata/11827.txt rename to servers/server508/data/mapdata/11827.txt diff --git a/server508/data/mapdata/11828.txt b/servers/server508/data/mapdata/11828.txt similarity index 100% rename from server508/data/mapdata/11828.txt rename to servers/server508/data/mapdata/11828.txt diff --git a/server508/data/mapdata/11829.txt b/servers/server508/data/mapdata/11829.txt similarity index 100% rename from server508/data/mapdata/11829.txt rename to servers/server508/data/mapdata/11829.txt diff --git a/server508/data/mapdata/11830.txt b/servers/server508/data/mapdata/11830.txt similarity index 100% rename from server508/data/mapdata/11830.txt rename to servers/server508/data/mapdata/11830.txt diff --git a/server508/data/mapdata/11831.txt b/servers/server508/data/mapdata/11831.txt similarity index 100% rename from server508/data/mapdata/11831.txt rename to servers/server508/data/mapdata/11831.txt diff --git a/server508/data/mapdata/11832.txt b/servers/server508/data/mapdata/11832.txt similarity index 100% rename from server508/data/mapdata/11832.txt rename to servers/server508/data/mapdata/11832.txt diff --git a/server508/data/mapdata/11833.txt b/servers/server508/data/mapdata/11833.txt similarity index 100% rename from server508/data/mapdata/11833.txt rename to servers/server508/data/mapdata/11833.txt diff --git a/server508/data/mapdata/11834.txt b/servers/server508/data/mapdata/11834.txt similarity index 100% rename from server508/data/mapdata/11834.txt rename to servers/server508/data/mapdata/11834.txt diff --git a/server508/data/mapdata/11835.txt b/servers/server508/data/mapdata/11835.txt similarity index 100% rename from server508/data/mapdata/11835.txt rename to servers/server508/data/mapdata/11835.txt diff --git a/server508/data/mapdata/11836.txt b/servers/server508/data/mapdata/11836.txt similarity index 100% rename from server508/data/mapdata/11836.txt rename to servers/server508/data/mapdata/11836.txt diff --git a/server508/data/mapdata/11837.txt b/servers/server508/data/mapdata/11837.txt similarity index 100% rename from server508/data/mapdata/11837.txt rename to servers/server508/data/mapdata/11837.txt diff --git a/server508/data/mapdata/11838.txt b/servers/server508/data/mapdata/11838.txt similarity index 100% rename from server508/data/mapdata/11838.txt rename to servers/server508/data/mapdata/11838.txt diff --git a/server508/data/mapdata/11848.txt b/servers/server508/data/mapdata/11848.txt similarity index 100% rename from server508/data/mapdata/11848.txt rename to servers/server508/data/mapdata/11848.txt diff --git a/server508/data/mapdata/11849.txt b/servers/server508/data/mapdata/11849.txt similarity index 100% rename from server508/data/mapdata/11849.txt rename to servers/server508/data/mapdata/11849.txt diff --git a/server508/data/mapdata/11850.txt b/servers/server508/data/mapdata/11850.txt similarity index 100% rename from server508/data/mapdata/11850.txt rename to servers/server508/data/mapdata/11850.txt diff --git a/server508/data/mapdata/11851.txt b/servers/server508/data/mapdata/11851.txt similarity index 100% rename from server508/data/mapdata/11851.txt rename to servers/server508/data/mapdata/11851.txt diff --git a/server508/data/mapdata/11857.txt b/servers/server508/data/mapdata/11857.txt similarity index 100% rename from server508/data/mapdata/11857.txt rename to servers/server508/data/mapdata/11857.txt diff --git a/server508/data/mapdata/11858.txt b/servers/server508/data/mapdata/11858.txt similarity index 100% rename from server508/data/mapdata/11858.txt rename to servers/server508/data/mapdata/11858.txt diff --git a/server508/data/mapdata/11859.txt b/servers/server508/data/mapdata/11859.txt similarity index 100% rename from server508/data/mapdata/11859.txt rename to servers/server508/data/mapdata/11859.txt diff --git a/server508/data/mapdata/11860.txt b/servers/server508/data/mapdata/11860.txt similarity index 100% rename from server508/data/mapdata/11860.txt rename to servers/server508/data/mapdata/11860.txt diff --git a/server508/data/mapdata/11861.txt b/servers/server508/data/mapdata/11861.txt similarity index 100% rename from server508/data/mapdata/11861.txt rename to servers/server508/data/mapdata/11861.txt diff --git a/server508/data/mapdata/11862.txt b/servers/server508/data/mapdata/11862.txt similarity index 100% rename from server508/data/mapdata/11862.txt rename to servers/server508/data/mapdata/11862.txt diff --git a/server508/data/mapdata/11863.txt b/servers/server508/data/mapdata/11863.txt similarity index 100% rename from server508/data/mapdata/11863.txt rename to servers/server508/data/mapdata/11863.txt diff --git a/server508/data/mapdata/11864.txt b/servers/server508/data/mapdata/11864.txt similarity index 100% rename from server508/data/mapdata/11864.txt rename to servers/server508/data/mapdata/11864.txt diff --git a/server508/data/mapdata/11865.txt b/servers/server508/data/mapdata/11865.txt similarity index 100% rename from server508/data/mapdata/11865.txt rename to servers/server508/data/mapdata/11865.txt diff --git a/server508/data/mapdata/11866.txt b/servers/server508/data/mapdata/11866.txt similarity index 100% rename from server508/data/mapdata/11866.txt rename to servers/server508/data/mapdata/11866.txt diff --git a/server508/data/mapdata/11924.txt b/servers/server508/data/mapdata/11924.txt similarity index 100% rename from server508/data/mapdata/11924.txt rename to servers/server508/data/mapdata/11924.txt diff --git a/server508/data/mapdata/11925.txt b/servers/server508/data/mapdata/11925.txt similarity index 100% rename from server508/data/mapdata/11925.txt rename to servers/server508/data/mapdata/11925.txt diff --git a/server508/data/mapdata/11926.txt b/servers/server508/data/mapdata/11926.txt similarity index 100% rename from server508/data/mapdata/11926.txt rename to servers/server508/data/mapdata/11926.txt diff --git a/server508/data/mapdata/11927.txt b/servers/server508/data/mapdata/11927.txt similarity index 100% rename from server508/data/mapdata/11927.txt rename to servers/server508/data/mapdata/11927.txt diff --git a/server508/data/mapdata/11928.txt b/servers/server508/data/mapdata/11928.txt similarity index 100% rename from server508/data/mapdata/11928.txt rename to servers/server508/data/mapdata/11928.txt diff --git a/server508/data/mapdata/11929.txt b/servers/server508/data/mapdata/11929.txt similarity index 100% rename from server508/data/mapdata/11929.txt rename to servers/server508/data/mapdata/11929.txt diff --git a/server508/data/mapdata/11930.txt b/servers/server508/data/mapdata/11930.txt similarity index 100% rename from server508/data/mapdata/11930.txt rename to servers/server508/data/mapdata/11930.txt diff --git a/server508/data/mapdata/11931.txt b/servers/server508/data/mapdata/11931.txt similarity index 100% rename from server508/data/mapdata/11931.txt rename to servers/server508/data/mapdata/11931.txt diff --git a/server508/data/mapdata/11936.txt b/servers/server508/data/mapdata/11936.txt similarity index 100% rename from server508/data/mapdata/11936.txt rename to servers/server508/data/mapdata/11936.txt diff --git a/server508/data/mapdata/11937.txt b/servers/server508/data/mapdata/11937.txt similarity index 100% rename from server508/data/mapdata/11937.txt rename to servers/server508/data/mapdata/11937.txt diff --git a/server508/data/mapdata/11938.txt b/servers/server508/data/mapdata/11938.txt similarity index 100% rename from server508/data/mapdata/11938.txt rename to servers/server508/data/mapdata/11938.txt diff --git a/server508/data/mapdata/12077.txt b/servers/server508/data/mapdata/12077.txt similarity index 100% rename from server508/data/mapdata/12077.txt rename to servers/server508/data/mapdata/12077.txt diff --git a/server508/data/mapdata/12078.txt b/servers/server508/data/mapdata/12078.txt similarity index 100% rename from server508/data/mapdata/12078.txt rename to servers/server508/data/mapdata/12078.txt diff --git a/server508/data/mapdata/12079.txt b/servers/server508/data/mapdata/12079.txt similarity index 100% rename from server508/data/mapdata/12079.txt rename to servers/server508/data/mapdata/12079.txt diff --git a/server508/data/mapdata/12080.txt b/servers/server508/data/mapdata/12080.txt similarity index 100% rename from server508/data/mapdata/12080.txt rename to servers/server508/data/mapdata/12080.txt diff --git a/server508/data/mapdata/12081.txt b/servers/server508/data/mapdata/12081.txt similarity index 100% rename from server508/data/mapdata/12081.txt rename to servers/server508/data/mapdata/12081.txt diff --git a/server508/data/mapdata/12082.txt b/servers/server508/data/mapdata/12082.txt similarity index 100% rename from server508/data/mapdata/12082.txt rename to servers/server508/data/mapdata/12082.txt diff --git a/server508/data/mapdata/12083.txt b/servers/server508/data/mapdata/12083.txt similarity index 100% rename from server508/data/mapdata/12083.txt rename to servers/server508/data/mapdata/12083.txt diff --git a/server508/data/mapdata/12084.txt b/servers/server508/data/mapdata/12084.txt similarity index 100% rename from server508/data/mapdata/12084.txt rename to servers/server508/data/mapdata/12084.txt diff --git a/server508/data/mapdata/12085.txt b/servers/server508/data/mapdata/12085.txt similarity index 100% rename from server508/data/mapdata/12085.txt rename to servers/server508/data/mapdata/12085.txt diff --git a/server508/data/mapdata/12086.txt b/servers/server508/data/mapdata/12086.txt similarity index 100% rename from server508/data/mapdata/12086.txt rename to servers/server508/data/mapdata/12086.txt diff --git a/server508/data/mapdata/12087.txt b/servers/server508/data/mapdata/12087.txt similarity index 100% rename from server508/data/mapdata/12087.txt rename to servers/server508/data/mapdata/12087.txt diff --git a/server508/data/mapdata/12088.txt b/servers/server508/data/mapdata/12088.txt similarity index 100% rename from server508/data/mapdata/12088.txt rename to servers/server508/data/mapdata/12088.txt diff --git a/server508/data/mapdata/12089.txt b/servers/server508/data/mapdata/12089.txt similarity index 100% rename from server508/data/mapdata/12089.txt rename to servers/server508/data/mapdata/12089.txt diff --git a/server508/data/mapdata/12090.txt b/servers/server508/data/mapdata/12090.txt similarity index 100% rename from server508/data/mapdata/12090.txt rename to servers/server508/data/mapdata/12090.txt diff --git a/server508/data/mapdata/12091.txt b/servers/server508/data/mapdata/12091.txt similarity index 100% rename from server508/data/mapdata/12091.txt rename to servers/server508/data/mapdata/12091.txt diff --git a/server508/data/mapdata/12092.txt b/servers/server508/data/mapdata/12092.txt similarity index 100% rename from server508/data/mapdata/12092.txt rename to servers/server508/data/mapdata/12092.txt diff --git a/server508/data/mapdata/12093.txt b/servers/server508/data/mapdata/12093.txt similarity index 100% rename from server508/data/mapdata/12093.txt rename to servers/server508/data/mapdata/12093.txt diff --git a/server508/data/mapdata/12094.txt b/servers/server508/data/mapdata/12094.txt similarity index 100% rename from server508/data/mapdata/12094.txt rename to servers/server508/data/mapdata/12094.txt diff --git a/server508/data/mapdata/12097.txt b/servers/server508/data/mapdata/12097.txt similarity index 100% rename from server508/data/mapdata/12097.txt rename to servers/server508/data/mapdata/12097.txt diff --git a/server508/data/mapdata/12098.txt b/servers/server508/data/mapdata/12098.txt similarity index 100% rename from server508/data/mapdata/12098.txt rename to servers/server508/data/mapdata/12098.txt diff --git a/server508/data/mapdata/12109.txt b/servers/server508/data/mapdata/12109.txt similarity index 100% rename from server508/data/mapdata/12109.txt rename to servers/server508/data/mapdata/12109.txt diff --git a/server508/data/mapdata/12110.txt b/servers/server508/data/mapdata/12110.txt similarity index 100% rename from server508/data/mapdata/12110.txt rename to servers/server508/data/mapdata/12110.txt diff --git a/server508/data/mapdata/12119.txt b/servers/server508/data/mapdata/12119.txt similarity index 100% rename from server508/data/mapdata/12119.txt rename to servers/server508/data/mapdata/12119.txt diff --git a/server508/data/mapdata/12120.txt b/servers/server508/data/mapdata/12120.txt similarity index 100% rename from server508/data/mapdata/12120.txt rename to servers/server508/data/mapdata/12120.txt diff --git a/server508/data/mapdata/12121.txt b/servers/server508/data/mapdata/12121.txt similarity index 100% rename from server508/data/mapdata/12121.txt rename to servers/server508/data/mapdata/12121.txt diff --git a/server508/data/mapdata/12122.txt b/servers/server508/data/mapdata/12122.txt similarity index 100% rename from server508/data/mapdata/12122.txt rename to servers/server508/data/mapdata/12122.txt diff --git a/server508/data/mapdata/12180.txt b/servers/server508/data/mapdata/12180.txt similarity index 100% rename from server508/data/mapdata/12180.txt rename to servers/server508/data/mapdata/12180.txt diff --git a/server508/data/mapdata/12181.txt b/servers/server508/data/mapdata/12181.txt similarity index 100% rename from server508/data/mapdata/12181.txt rename to servers/server508/data/mapdata/12181.txt diff --git a/server508/data/mapdata/12182.txt b/servers/server508/data/mapdata/12182.txt similarity index 100% rename from server508/data/mapdata/12182.txt rename to servers/server508/data/mapdata/12182.txt diff --git a/server508/data/mapdata/12183.txt b/servers/server508/data/mapdata/12183.txt similarity index 100% rename from server508/data/mapdata/12183.txt rename to servers/server508/data/mapdata/12183.txt diff --git a/server508/data/mapdata/12184.txt b/servers/server508/data/mapdata/12184.txt similarity index 100% rename from server508/data/mapdata/12184.txt rename to servers/server508/data/mapdata/12184.txt diff --git a/server508/data/mapdata/12185.txt b/servers/server508/data/mapdata/12185.txt similarity index 100% rename from server508/data/mapdata/12185.txt rename to servers/server508/data/mapdata/12185.txt diff --git a/server508/data/mapdata/12186.txt b/servers/server508/data/mapdata/12186.txt similarity index 100% rename from server508/data/mapdata/12186.txt rename to servers/server508/data/mapdata/12186.txt diff --git a/server508/data/mapdata/12187.txt b/servers/server508/data/mapdata/12187.txt similarity index 100% rename from server508/data/mapdata/12187.txt rename to servers/server508/data/mapdata/12187.txt diff --git a/server508/data/mapdata/12188.txt b/servers/server508/data/mapdata/12188.txt similarity index 100% rename from server508/data/mapdata/12188.txt rename to servers/server508/data/mapdata/12188.txt diff --git a/server508/data/mapdata/12191.txt b/servers/server508/data/mapdata/12191.txt similarity index 100% rename from server508/data/mapdata/12191.txt rename to servers/server508/data/mapdata/12191.txt diff --git a/server508/data/mapdata/12192.txt b/servers/server508/data/mapdata/12192.txt similarity index 100% rename from server508/data/mapdata/12192.txt rename to servers/server508/data/mapdata/12192.txt diff --git a/server508/data/mapdata/12193.txt b/servers/server508/data/mapdata/12193.txt similarity index 100% rename from server508/data/mapdata/12193.txt rename to servers/server508/data/mapdata/12193.txt diff --git a/server508/data/mapdata/12194.txt b/servers/server508/data/mapdata/12194.txt similarity index 100% rename from server508/data/mapdata/12194.txt rename to servers/server508/data/mapdata/12194.txt diff --git a/server508/data/mapdata/12332.txt b/servers/server508/data/mapdata/12332.txt similarity index 100% rename from server508/data/mapdata/12332.txt rename to servers/server508/data/mapdata/12332.txt diff --git a/server508/data/mapdata/12333.txt b/servers/server508/data/mapdata/12333.txt similarity index 100% rename from server508/data/mapdata/12333.txt rename to servers/server508/data/mapdata/12333.txt diff --git a/server508/data/mapdata/12334.txt b/servers/server508/data/mapdata/12334.txt similarity index 100% rename from server508/data/mapdata/12334.txt rename to servers/server508/data/mapdata/12334.txt diff --git a/server508/data/mapdata/12335.txt b/servers/server508/data/mapdata/12335.txt similarity index 100% rename from server508/data/mapdata/12335.txt rename to servers/server508/data/mapdata/12335.txt diff --git a/server508/data/mapdata/12336.txt b/servers/server508/data/mapdata/12336.txt similarity index 100% rename from server508/data/mapdata/12336.txt rename to servers/server508/data/mapdata/12336.txt diff --git a/server508/data/mapdata/12337.txt b/servers/server508/data/mapdata/12337.txt similarity index 100% rename from server508/data/mapdata/12337.txt rename to servers/server508/data/mapdata/12337.txt diff --git a/server508/data/mapdata/12338.txt b/servers/server508/data/mapdata/12338.txt similarity index 100% rename from server508/data/mapdata/12338.txt rename to servers/server508/data/mapdata/12338.txt diff --git a/server508/data/mapdata/12339.txt b/servers/server508/data/mapdata/12339.txt similarity index 100% rename from server508/data/mapdata/12339.txt rename to servers/server508/data/mapdata/12339.txt diff --git a/server508/data/mapdata/12340.txt b/servers/server508/data/mapdata/12340.txt similarity index 100% rename from server508/data/mapdata/12340.txt rename to servers/server508/data/mapdata/12340.txt diff --git a/server508/data/mapdata/12341.txt b/servers/server508/data/mapdata/12341.txt similarity index 100% rename from server508/data/mapdata/12341.txt rename to servers/server508/data/mapdata/12341.txt diff --git a/server508/data/mapdata/12342.txt b/servers/server508/data/mapdata/12342.txt similarity index 100% rename from server508/data/mapdata/12342.txt rename to servers/server508/data/mapdata/12342.txt diff --git a/server508/data/mapdata/12343.txt b/servers/server508/data/mapdata/12343.txt similarity index 100% rename from server508/data/mapdata/12343.txt rename to servers/server508/data/mapdata/12343.txt diff --git a/server508/data/mapdata/12344.txt b/servers/server508/data/mapdata/12344.txt similarity index 100% rename from server508/data/mapdata/12344.txt rename to servers/server508/data/mapdata/12344.txt diff --git a/server508/data/mapdata/12345.txt b/servers/server508/data/mapdata/12345.txt similarity index 100% rename from server508/data/mapdata/12345.txt rename to servers/server508/data/mapdata/12345.txt diff --git a/server508/data/mapdata/12346.txt b/servers/server508/data/mapdata/12346.txt similarity index 100% rename from server508/data/mapdata/12346.txt rename to servers/server508/data/mapdata/12346.txt diff --git a/server508/data/mapdata/12347.txt b/servers/server508/data/mapdata/12347.txt similarity index 100% rename from server508/data/mapdata/12347.txt rename to servers/server508/data/mapdata/12347.txt diff --git a/server508/data/mapdata/12348.txt b/servers/server508/data/mapdata/12348.txt similarity index 100% rename from server508/data/mapdata/12348.txt rename to servers/server508/data/mapdata/12348.txt diff --git a/server508/data/mapdata/12349.txt b/servers/server508/data/mapdata/12349.txt similarity index 100% rename from server508/data/mapdata/12349.txt rename to servers/server508/data/mapdata/12349.txt diff --git a/server508/data/mapdata/12350.txt b/servers/server508/data/mapdata/12350.txt similarity index 100% rename from server508/data/mapdata/12350.txt rename to servers/server508/data/mapdata/12350.txt diff --git a/server508/data/mapdata/12351.txt b/servers/server508/data/mapdata/12351.txt similarity index 100% rename from server508/data/mapdata/12351.txt rename to servers/server508/data/mapdata/12351.txt diff --git a/server508/data/mapdata/12352.txt b/servers/server508/data/mapdata/12352.txt similarity index 100% rename from server508/data/mapdata/12352.txt rename to servers/server508/data/mapdata/12352.txt diff --git a/server508/data/mapdata/12353.txt b/servers/server508/data/mapdata/12353.txt similarity index 100% rename from server508/data/mapdata/12353.txt rename to servers/server508/data/mapdata/12353.txt diff --git a/server508/data/mapdata/12354.txt b/servers/server508/data/mapdata/12354.txt similarity index 100% rename from server508/data/mapdata/12354.txt rename to servers/server508/data/mapdata/12354.txt diff --git a/server508/data/mapdata/12355.txt b/servers/server508/data/mapdata/12355.txt similarity index 100% rename from server508/data/mapdata/12355.txt rename to servers/server508/data/mapdata/12355.txt diff --git a/server508/data/mapdata/12364.txt b/servers/server508/data/mapdata/12364.txt similarity index 100% rename from server508/data/mapdata/12364.txt rename to servers/server508/data/mapdata/12364.txt diff --git a/server508/data/mapdata/12365.txt b/servers/server508/data/mapdata/12365.txt similarity index 100% rename from server508/data/mapdata/12365.txt rename to servers/server508/data/mapdata/12365.txt diff --git a/server508/data/mapdata/12366.txt b/servers/server508/data/mapdata/12366.txt similarity index 100% rename from server508/data/mapdata/12366.txt rename to servers/server508/data/mapdata/12366.txt diff --git a/server508/data/mapdata/12372.txt b/servers/server508/data/mapdata/12372.txt similarity index 100% rename from server508/data/mapdata/12372.txt rename to servers/server508/data/mapdata/12372.txt diff --git a/server508/data/mapdata/12373.txt b/servers/server508/data/mapdata/12373.txt similarity index 100% rename from server508/data/mapdata/12373.txt rename to servers/server508/data/mapdata/12373.txt diff --git a/server508/data/mapdata/12374.txt b/servers/server508/data/mapdata/12374.txt similarity index 100% rename from server508/data/mapdata/12374.txt rename to servers/server508/data/mapdata/12374.txt diff --git a/server508/data/mapdata/12375.txt b/servers/server508/data/mapdata/12375.txt similarity index 100% rename from server508/data/mapdata/12375.txt rename to servers/server508/data/mapdata/12375.txt diff --git a/server508/data/mapdata/12376.txt b/servers/server508/data/mapdata/12376.txt similarity index 100% rename from server508/data/mapdata/12376.txt rename to servers/server508/data/mapdata/12376.txt diff --git a/server508/data/mapdata/12377.txt b/servers/server508/data/mapdata/12377.txt similarity index 100% rename from server508/data/mapdata/12377.txt rename to servers/server508/data/mapdata/12377.txt diff --git a/server508/data/mapdata/12378.txt b/servers/server508/data/mapdata/12378.txt similarity index 100% rename from server508/data/mapdata/12378.txt rename to servers/server508/data/mapdata/12378.txt diff --git a/server508/data/mapdata/12436.txt b/servers/server508/data/mapdata/12436.txt similarity index 100% rename from server508/data/mapdata/12436.txt rename to servers/server508/data/mapdata/12436.txt diff --git a/server508/data/mapdata/12437.txt b/servers/server508/data/mapdata/12437.txt similarity index 100% rename from server508/data/mapdata/12437.txt rename to servers/server508/data/mapdata/12437.txt diff --git a/server508/data/mapdata/12438.txt b/servers/server508/data/mapdata/12438.txt similarity index 100% rename from server508/data/mapdata/12438.txt rename to servers/server508/data/mapdata/12438.txt diff --git a/server508/data/mapdata/12439.txt b/servers/server508/data/mapdata/12439.txt similarity index 100% rename from server508/data/mapdata/12439.txt rename to servers/server508/data/mapdata/12439.txt diff --git a/server508/data/mapdata/12440.txt b/servers/server508/data/mapdata/12440.txt similarity index 100% rename from server508/data/mapdata/12440.txt rename to servers/server508/data/mapdata/12440.txt diff --git a/server508/data/mapdata/12441.txt b/servers/server508/data/mapdata/12441.txt similarity index 100% rename from server508/data/mapdata/12441.txt rename to servers/server508/data/mapdata/12441.txt diff --git a/server508/data/mapdata/12442.txt b/servers/server508/data/mapdata/12442.txt similarity index 100% rename from server508/data/mapdata/12442.txt rename to servers/server508/data/mapdata/12442.txt diff --git a/server508/data/mapdata/12443.txt b/servers/server508/data/mapdata/12443.txt similarity index 100% rename from server508/data/mapdata/12443.txt rename to servers/server508/data/mapdata/12443.txt diff --git a/server508/data/mapdata/12444.txt b/servers/server508/data/mapdata/12444.txt similarity index 100% rename from server508/data/mapdata/12444.txt rename to servers/server508/data/mapdata/12444.txt diff --git a/server508/data/mapdata/12447.txt b/servers/server508/data/mapdata/12447.txt similarity index 100% rename from server508/data/mapdata/12447.txt rename to servers/server508/data/mapdata/12447.txt diff --git a/server508/data/mapdata/12448.txt b/servers/server508/data/mapdata/12448.txt similarity index 100% rename from server508/data/mapdata/12448.txt rename to servers/server508/data/mapdata/12448.txt diff --git a/server508/data/mapdata/12449.txt b/servers/server508/data/mapdata/12449.txt similarity index 100% rename from server508/data/mapdata/12449.txt rename to servers/server508/data/mapdata/12449.txt diff --git a/server508/data/mapdata/12450.txt b/servers/server508/data/mapdata/12450.txt similarity index 100% rename from server508/data/mapdata/12450.txt rename to servers/server508/data/mapdata/12450.txt diff --git a/server508/data/mapdata/12587.txt b/servers/server508/data/mapdata/12587.txt similarity index 100% rename from server508/data/mapdata/12587.txt rename to servers/server508/data/mapdata/12587.txt diff --git a/server508/data/mapdata/12588.txt b/servers/server508/data/mapdata/12588.txt similarity index 100% rename from server508/data/mapdata/12588.txt rename to servers/server508/data/mapdata/12588.txt diff --git a/server508/data/mapdata/12589.txt b/servers/server508/data/mapdata/12589.txt similarity index 100% rename from server508/data/mapdata/12589.txt rename to servers/server508/data/mapdata/12589.txt diff --git a/server508/data/mapdata/12590.txt b/servers/server508/data/mapdata/12590.txt similarity index 100% rename from server508/data/mapdata/12590.txt rename to servers/server508/data/mapdata/12590.txt diff --git a/server508/data/mapdata/12591.txt b/servers/server508/data/mapdata/12591.txt similarity index 100% rename from server508/data/mapdata/12591.txt rename to servers/server508/data/mapdata/12591.txt diff --git a/server508/data/mapdata/12592.txt b/servers/server508/data/mapdata/12592.txt similarity index 100% rename from server508/data/mapdata/12592.txt rename to servers/server508/data/mapdata/12592.txt diff --git a/server508/data/mapdata/12593.txt b/servers/server508/data/mapdata/12593.txt similarity index 100% rename from server508/data/mapdata/12593.txt rename to servers/server508/data/mapdata/12593.txt diff --git a/server508/data/mapdata/12594.txt b/servers/server508/data/mapdata/12594.txt similarity index 100% rename from server508/data/mapdata/12594.txt rename to servers/server508/data/mapdata/12594.txt diff --git a/server508/data/mapdata/12595.txt b/servers/server508/data/mapdata/12595.txt similarity index 100% rename from server508/data/mapdata/12595.txt rename to servers/server508/data/mapdata/12595.txt diff --git a/server508/data/mapdata/12596.txt b/servers/server508/data/mapdata/12596.txt similarity index 100% rename from server508/data/mapdata/12596.txt rename to servers/server508/data/mapdata/12596.txt diff --git a/server508/data/mapdata/12597.txt b/servers/server508/data/mapdata/12597.txt similarity index 100% rename from server508/data/mapdata/12597.txt rename to servers/server508/data/mapdata/12597.txt diff --git a/server508/data/mapdata/12598.txt b/servers/server508/data/mapdata/12598.txt similarity index 100% rename from server508/data/mapdata/12598.txt rename to servers/server508/data/mapdata/12598.txt diff --git a/server508/data/mapdata/12599.txt b/servers/server508/data/mapdata/12599.txt similarity index 100% rename from server508/data/mapdata/12599.txt rename to servers/server508/data/mapdata/12599.txt diff --git a/server508/data/mapdata/12600.txt b/servers/server508/data/mapdata/12600.txt similarity index 100% rename from server508/data/mapdata/12600.txt rename to servers/server508/data/mapdata/12600.txt diff --git a/server508/data/mapdata/12601.txt b/servers/server508/data/mapdata/12601.txt similarity index 100% rename from server508/data/mapdata/12601.txt rename to servers/server508/data/mapdata/12601.txt diff --git a/server508/data/mapdata/12602.txt b/servers/server508/data/mapdata/12602.txt similarity index 100% rename from server508/data/mapdata/12602.txt rename to servers/server508/data/mapdata/12602.txt diff --git a/server508/data/mapdata/12603.txt b/servers/server508/data/mapdata/12603.txt similarity index 100% rename from server508/data/mapdata/12603.txt rename to servers/server508/data/mapdata/12603.txt diff --git a/server508/data/mapdata/12604.txt b/servers/server508/data/mapdata/12604.txt similarity index 100% rename from server508/data/mapdata/12604.txt rename to servers/server508/data/mapdata/12604.txt diff --git a/server508/data/mapdata/12605.txt b/servers/server508/data/mapdata/12605.txt similarity index 100% rename from server508/data/mapdata/12605.txt rename to servers/server508/data/mapdata/12605.txt diff --git a/server508/data/mapdata/12606.txt b/servers/server508/data/mapdata/12606.txt similarity index 100% rename from server508/data/mapdata/12606.txt rename to servers/server508/data/mapdata/12606.txt diff --git a/server508/data/mapdata/12609.txt b/servers/server508/data/mapdata/12609.txt similarity index 100% rename from server508/data/mapdata/12609.txt rename to servers/server508/data/mapdata/12609.txt diff --git a/server508/data/mapdata/12610.txt b/servers/server508/data/mapdata/12610.txt similarity index 100% rename from server508/data/mapdata/12610.txt rename to servers/server508/data/mapdata/12610.txt diff --git a/server508/data/mapdata/12611.txt b/servers/server508/data/mapdata/12611.txt similarity index 100% rename from server508/data/mapdata/12611.txt rename to servers/server508/data/mapdata/12611.txt diff --git a/server508/data/mapdata/12620.txt b/servers/server508/data/mapdata/12620.txt similarity index 100% rename from server508/data/mapdata/12620.txt rename to servers/server508/data/mapdata/12620.txt diff --git a/server508/data/mapdata/12621.txt b/servers/server508/data/mapdata/12621.txt similarity index 100% rename from server508/data/mapdata/12621.txt rename to servers/server508/data/mapdata/12621.txt diff --git a/server508/data/mapdata/12622.txt b/servers/server508/data/mapdata/12622.txt similarity index 100% rename from server508/data/mapdata/12622.txt rename to servers/server508/data/mapdata/12622.txt diff --git a/server508/data/mapdata/12623.txt b/servers/server508/data/mapdata/12623.txt similarity index 100% rename from server508/data/mapdata/12623.txt rename to servers/server508/data/mapdata/12623.txt diff --git a/server508/data/mapdata/12624.txt b/servers/server508/data/mapdata/12624.txt similarity index 100% rename from server508/data/mapdata/12624.txt rename to servers/server508/data/mapdata/12624.txt diff --git a/server508/data/mapdata/12628.txt b/servers/server508/data/mapdata/12628.txt similarity index 100% rename from server508/data/mapdata/12628.txt rename to servers/server508/data/mapdata/12628.txt diff --git a/server508/data/mapdata/12629.txt b/servers/server508/data/mapdata/12629.txt similarity index 100% rename from server508/data/mapdata/12629.txt rename to servers/server508/data/mapdata/12629.txt diff --git a/server508/data/mapdata/12630.txt b/servers/server508/data/mapdata/12630.txt similarity index 100% rename from server508/data/mapdata/12630.txt rename to servers/server508/data/mapdata/12630.txt diff --git a/server508/data/mapdata/12631.txt b/servers/server508/data/mapdata/12631.txt similarity index 100% rename from server508/data/mapdata/12631.txt rename to servers/server508/data/mapdata/12631.txt diff --git a/server508/data/mapdata/12632.txt b/servers/server508/data/mapdata/12632.txt similarity index 100% rename from server508/data/mapdata/12632.txt rename to servers/server508/data/mapdata/12632.txt diff --git a/server508/data/mapdata/12633.txt b/servers/server508/data/mapdata/12633.txt similarity index 100% rename from server508/data/mapdata/12633.txt rename to servers/server508/data/mapdata/12633.txt diff --git a/server508/data/mapdata/12634.txt b/servers/server508/data/mapdata/12634.txt similarity index 100% rename from server508/data/mapdata/12634.txt rename to servers/server508/data/mapdata/12634.txt diff --git a/server508/data/mapdata/12688.txt b/servers/server508/data/mapdata/12688.txt similarity index 100% rename from server508/data/mapdata/12688.txt rename to servers/server508/data/mapdata/12688.txt diff --git a/server508/data/mapdata/12689.txt b/servers/server508/data/mapdata/12689.txt similarity index 100% rename from server508/data/mapdata/12689.txt rename to servers/server508/data/mapdata/12689.txt diff --git a/server508/data/mapdata/12690.txt b/servers/server508/data/mapdata/12690.txt similarity index 100% rename from server508/data/mapdata/12690.txt rename to servers/server508/data/mapdata/12690.txt diff --git a/server508/data/mapdata/12692.txt b/servers/server508/data/mapdata/12692.txt similarity index 100% rename from server508/data/mapdata/12692.txt rename to servers/server508/data/mapdata/12692.txt diff --git a/server508/data/mapdata/12693.txt b/servers/server508/data/mapdata/12693.txt similarity index 100% rename from server508/data/mapdata/12693.txt rename to servers/server508/data/mapdata/12693.txt diff --git a/server508/data/mapdata/12694.txt b/servers/server508/data/mapdata/12694.txt similarity index 100% rename from server508/data/mapdata/12694.txt rename to servers/server508/data/mapdata/12694.txt diff --git a/server508/data/mapdata/12695.txt b/servers/server508/data/mapdata/12695.txt similarity index 100% rename from server508/data/mapdata/12695.txt rename to servers/server508/data/mapdata/12695.txt diff --git a/server508/data/mapdata/12696.txt b/servers/server508/data/mapdata/12696.txt similarity index 100% rename from server508/data/mapdata/12696.txt rename to servers/server508/data/mapdata/12696.txt diff --git a/server508/data/mapdata/12697.txt b/servers/server508/data/mapdata/12697.txt similarity index 100% rename from server508/data/mapdata/12697.txt rename to servers/server508/data/mapdata/12697.txt diff --git a/server508/data/mapdata/12698.txt b/servers/server508/data/mapdata/12698.txt similarity index 100% rename from server508/data/mapdata/12698.txt rename to servers/server508/data/mapdata/12698.txt diff --git a/server508/data/mapdata/12699.txt b/servers/server508/data/mapdata/12699.txt similarity index 100% rename from server508/data/mapdata/12699.txt rename to servers/server508/data/mapdata/12699.txt diff --git a/server508/data/mapdata/12700.txt b/servers/server508/data/mapdata/12700.txt similarity index 100% rename from server508/data/mapdata/12700.txt rename to servers/server508/data/mapdata/12700.txt diff --git a/server508/data/mapdata/12842.txt b/servers/server508/data/mapdata/12842.txt similarity index 100% rename from server508/data/mapdata/12842.txt rename to servers/server508/data/mapdata/12842.txt diff --git a/server508/data/mapdata/12843.txt b/servers/server508/data/mapdata/12843.txt similarity index 100% rename from server508/data/mapdata/12843.txt rename to servers/server508/data/mapdata/12843.txt diff --git a/server508/data/mapdata/12844.txt b/servers/server508/data/mapdata/12844.txt similarity index 100% rename from server508/data/mapdata/12844.txt rename to servers/server508/data/mapdata/12844.txt diff --git a/server508/data/mapdata/12845.txt b/servers/server508/data/mapdata/12845.txt similarity index 100% rename from server508/data/mapdata/12845.txt rename to servers/server508/data/mapdata/12845.txt diff --git a/server508/data/mapdata/12846.txt b/servers/server508/data/mapdata/12846.txt similarity index 100% rename from server508/data/mapdata/12846.txt rename to servers/server508/data/mapdata/12846.txt diff --git a/server508/data/mapdata/12847.txt b/servers/server508/data/mapdata/12847.txt similarity index 100% rename from server508/data/mapdata/12847.txt rename to servers/server508/data/mapdata/12847.txt diff --git a/server508/data/mapdata/12848.txt b/servers/server508/data/mapdata/12848.txt similarity index 100% rename from server508/data/mapdata/12848.txt rename to servers/server508/data/mapdata/12848.txt diff --git a/server508/data/mapdata/12849.txt b/servers/server508/data/mapdata/12849.txt similarity index 100% rename from server508/data/mapdata/12849.txt rename to servers/server508/data/mapdata/12849.txt diff --git a/server508/data/mapdata/12850.txt b/servers/server508/data/mapdata/12850.txt similarity index 100% rename from server508/data/mapdata/12850.txt rename to servers/server508/data/mapdata/12850.txt diff --git a/server508/data/mapdata/12851.txt b/servers/server508/data/mapdata/12851.txt similarity index 100% rename from server508/data/mapdata/12851.txt rename to servers/server508/data/mapdata/12851.txt diff --git a/server508/data/mapdata/12852.txt b/servers/server508/data/mapdata/12852.txt similarity index 100% rename from server508/data/mapdata/12852.txt rename to servers/server508/data/mapdata/12852.txt diff --git a/server508/data/mapdata/12853.txt b/servers/server508/data/mapdata/12853.txt similarity index 100% rename from server508/data/mapdata/12853.txt rename to servers/server508/data/mapdata/12853.txt diff --git a/server508/data/mapdata/12854.txt b/servers/server508/data/mapdata/12854.txt similarity index 100% rename from server508/data/mapdata/12854.txt rename to servers/server508/data/mapdata/12854.txt diff --git a/server508/data/mapdata/12855.txt b/servers/server508/data/mapdata/12855.txt similarity index 100% rename from server508/data/mapdata/12855.txt rename to servers/server508/data/mapdata/12855.txt diff --git a/server508/data/mapdata/12856.txt b/servers/server508/data/mapdata/12856.txt similarity index 100% rename from server508/data/mapdata/12856.txt rename to servers/server508/data/mapdata/12856.txt diff --git a/server508/data/mapdata/12857.txt b/servers/server508/data/mapdata/12857.txt similarity index 100% rename from server508/data/mapdata/12857.txt rename to servers/server508/data/mapdata/12857.txt diff --git a/server508/data/mapdata/12858.txt b/servers/server508/data/mapdata/12858.txt similarity index 100% rename from server508/data/mapdata/12858.txt rename to servers/server508/data/mapdata/12858.txt diff --git a/server508/data/mapdata/12859.txt b/servers/server508/data/mapdata/12859.txt similarity index 100% rename from server508/data/mapdata/12859.txt rename to servers/server508/data/mapdata/12859.txt diff --git a/server508/data/mapdata/12860.txt b/servers/server508/data/mapdata/12860.txt similarity index 100% rename from server508/data/mapdata/12860.txt rename to servers/server508/data/mapdata/12860.txt diff --git a/server508/data/mapdata/12861.txt b/servers/server508/data/mapdata/12861.txt similarity index 100% rename from server508/data/mapdata/12861.txt rename to servers/server508/data/mapdata/12861.txt diff --git a/server508/data/mapdata/12862.txt b/servers/server508/data/mapdata/12862.txt similarity index 100% rename from server508/data/mapdata/12862.txt rename to servers/server508/data/mapdata/12862.txt diff --git a/server508/data/mapdata/12865.txt b/servers/server508/data/mapdata/12865.txt similarity index 100% rename from server508/data/mapdata/12865.txt rename to servers/server508/data/mapdata/12865.txt diff --git a/server508/data/mapdata/12866.txt b/servers/server508/data/mapdata/12866.txt similarity index 100% rename from server508/data/mapdata/12866.txt rename to servers/server508/data/mapdata/12866.txt diff --git a/server508/data/mapdata/12867.txt b/servers/server508/data/mapdata/12867.txt similarity index 100% rename from server508/data/mapdata/12867.txt rename to servers/server508/data/mapdata/12867.txt diff --git a/server508/data/mapdata/12876.txt b/servers/server508/data/mapdata/12876.txt similarity index 100% rename from server508/data/mapdata/12876.txt rename to servers/server508/data/mapdata/12876.txt diff --git a/server508/data/mapdata/12877.txt b/servers/server508/data/mapdata/12877.txt similarity index 100% rename from server508/data/mapdata/12877.txt rename to servers/server508/data/mapdata/12877.txt diff --git a/server508/data/mapdata/12878.txt b/servers/server508/data/mapdata/12878.txt similarity index 100% rename from server508/data/mapdata/12878.txt rename to servers/server508/data/mapdata/12878.txt diff --git a/server508/data/mapdata/12879.txt b/servers/server508/data/mapdata/12879.txt similarity index 100% rename from server508/data/mapdata/12879.txt rename to servers/server508/data/mapdata/12879.txt diff --git a/server508/data/mapdata/12880.txt b/servers/server508/data/mapdata/12880.txt similarity index 100% rename from server508/data/mapdata/12880.txt rename to servers/server508/data/mapdata/12880.txt diff --git a/server508/data/mapdata/12884.txt b/servers/server508/data/mapdata/12884.txt similarity index 100% rename from server508/data/mapdata/12884.txt rename to servers/server508/data/mapdata/12884.txt diff --git a/server508/data/mapdata/12885.txt b/servers/server508/data/mapdata/12885.txt similarity index 100% rename from server508/data/mapdata/12885.txt rename to servers/server508/data/mapdata/12885.txt diff --git a/server508/data/mapdata/12886.txt b/servers/server508/data/mapdata/12886.txt similarity index 100% rename from server508/data/mapdata/12886.txt rename to servers/server508/data/mapdata/12886.txt diff --git a/server508/data/mapdata/12887.txt b/servers/server508/data/mapdata/12887.txt similarity index 100% rename from server508/data/mapdata/12887.txt rename to servers/server508/data/mapdata/12887.txt diff --git a/server508/data/mapdata/12944.txt b/servers/server508/data/mapdata/12944.txt similarity index 100% rename from server508/data/mapdata/12944.txt rename to servers/server508/data/mapdata/12944.txt diff --git a/server508/data/mapdata/12945.txt b/servers/server508/data/mapdata/12945.txt similarity index 100% rename from server508/data/mapdata/12945.txt rename to servers/server508/data/mapdata/12945.txt diff --git a/server508/data/mapdata/12946.txt b/servers/server508/data/mapdata/12946.txt similarity index 100% rename from server508/data/mapdata/12946.txt rename to servers/server508/data/mapdata/12946.txt diff --git a/server508/data/mapdata/12948.txt b/servers/server508/data/mapdata/12948.txt similarity index 100% rename from server508/data/mapdata/12948.txt rename to servers/server508/data/mapdata/12948.txt diff --git a/server508/data/mapdata/12949.txt b/servers/server508/data/mapdata/12949.txt similarity index 100% rename from server508/data/mapdata/12949.txt rename to servers/server508/data/mapdata/12949.txt diff --git a/server508/data/mapdata/12950.txt b/servers/server508/data/mapdata/12950.txt similarity index 100% rename from server508/data/mapdata/12950.txt rename to servers/server508/data/mapdata/12950.txt diff --git a/server508/data/mapdata/12951.txt b/servers/server508/data/mapdata/12951.txt similarity index 100% rename from server508/data/mapdata/12951.txt rename to servers/server508/data/mapdata/12951.txt diff --git a/server508/data/mapdata/12952.txt b/servers/server508/data/mapdata/12952.txt similarity index 100% rename from server508/data/mapdata/12952.txt rename to servers/server508/data/mapdata/12952.txt diff --git a/server508/data/mapdata/12953.txt b/servers/server508/data/mapdata/12953.txt similarity index 100% rename from server508/data/mapdata/12953.txt rename to servers/server508/data/mapdata/12953.txt diff --git a/server508/data/mapdata/12954.txt b/servers/server508/data/mapdata/12954.txt similarity index 100% rename from server508/data/mapdata/12954.txt rename to servers/server508/data/mapdata/12954.txt diff --git a/server508/data/mapdata/12955.txt b/servers/server508/data/mapdata/12955.txt similarity index 100% rename from server508/data/mapdata/12955.txt rename to servers/server508/data/mapdata/12955.txt diff --git a/server508/data/mapdata/13098.txt b/servers/server508/data/mapdata/13098.txt similarity index 100% rename from server508/data/mapdata/13098.txt rename to servers/server508/data/mapdata/13098.txt diff --git a/server508/data/mapdata/13099.txt b/servers/server508/data/mapdata/13099.txt similarity index 100% rename from server508/data/mapdata/13099.txt rename to servers/server508/data/mapdata/13099.txt diff --git a/server508/data/mapdata/13100.txt b/servers/server508/data/mapdata/13100.txt similarity index 100% rename from server508/data/mapdata/13100.txt rename to servers/server508/data/mapdata/13100.txt diff --git a/server508/data/mapdata/13101.txt b/servers/server508/data/mapdata/13101.txt similarity index 100% rename from server508/data/mapdata/13101.txt rename to servers/server508/data/mapdata/13101.txt diff --git a/server508/data/mapdata/13102.txt b/servers/server508/data/mapdata/13102.txt similarity index 100% rename from server508/data/mapdata/13102.txt rename to servers/server508/data/mapdata/13102.txt diff --git a/server508/data/mapdata/13103.txt b/servers/server508/data/mapdata/13103.txt similarity index 100% rename from server508/data/mapdata/13103.txt rename to servers/server508/data/mapdata/13103.txt diff --git a/server508/data/mapdata/13104.txt b/servers/server508/data/mapdata/13104.txt similarity index 100% rename from server508/data/mapdata/13104.txt rename to servers/server508/data/mapdata/13104.txt diff --git a/server508/data/mapdata/13105.txt b/servers/server508/data/mapdata/13105.txt similarity index 100% rename from server508/data/mapdata/13105.txt rename to servers/server508/data/mapdata/13105.txt diff --git a/server508/data/mapdata/13106.txt b/servers/server508/data/mapdata/13106.txt similarity index 100% rename from server508/data/mapdata/13106.txt rename to servers/server508/data/mapdata/13106.txt diff --git a/server508/data/mapdata/13107.txt b/servers/server508/data/mapdata/13107.txt similarity index 100% rename from server508/data/mapdata/13107.txt rename to servers/server508/data/mapdata/13107.txt diff --git a/server508/data/mapdata/13108.txt b/servers/server508/data/mapdata/13108.txt similarity index 100% rename from server508/data/mapdata/13108.txt rename to servers/server508/data/mapdata/13108.txt diff --git a/server508/data/mapdata/13109.txt b/servers/server508/data/mapdata/13109.txt similarity index 100% rename from server508/data/mapdata/13109.txt rename to servers/server508/data/mapdata/13109.txt diff --git a/server508/data/mapdata/13110.txt b/servers/server508/data/mapdata/13110.txt similarity index 100% rename from server508/data/mapdata/13110.txt rename to servers/server508/data/mapdata/13110.txt diff --git a/server508/data/mapdata/13111.txt b/servers/server508/data/mapdata/13111.txt similarity index 100% rename from server508/data/mapdata/13111.txt rename to servers/server508/data/mapdata/13111.txt diff --git a/server508/data/mapdata/13112.txt b/servers/server508/data/mapdata/13112.txt similarity index 100% rename from server508/data/mapdata/13112.txt rename to servers/server508/data/mapdata/13112.txt diff --git a/server508/data/mapdata/13113.txt b/servers/server508/data/mapdata/13113.txt similarity index 100% rename from server508/data/mapdata/13113.txt rename to servers/server508/data/mapdata/13113.txt diff --git a/server508/data/mapdata/13114.txt b/servers/server508/data/mapdata/13114.txt similarity index 100% rename from server508/data/mapdata/13114.txt rename to servers/server508/data/mapdata/13114.txt diff --git a/server508/data/mapdata/13115.txt b/servers/server508/data/mapdata/13115.txt similarity index 100% rename from server508/data/mapdata/13115.txt rename to servers/server508/data/mapdata/13115.txt diff --git a/server508/data/mapdata/13116.txt b/servers/server508/data/mapdata/13116.txt similarity index 100% rename from server508/data/mapdata/13116.txt rename to servers/server508/data/mapdata/13116.txt diff --git a/server508/data/mapdata/13117.txt b/servers/server508/data/mapdata/13117.txt similarity index 100% rename from server508/data/mapdata/13117.txt rename to servers/server508/data/mapdata/13117.txt diff --git a/server508/data/mapdata/13118.txt b/servers/server508/data/mapdata/13118.txt similarity index 100% rename from server508/data/mapdata/13118.txt rename to servers/server508/data/mapdata/13118.txt diff --git a/server508/data/mapdata/13132.txt b/servers/server508/data/mapdata/13132.txt similarity index 100% rename from server508/data/mapdata/13132.txt rename to servers/server508/data/mapdata/13132.txt diff --git a/server508/data/mapdata/13133.txt b/servers/server508/data/mapdata/13133.txt similarity index 100% rename from server508/data/mapdata/13133.txt rename to servers/server508/data/mapdata/13133.txt diff --git a/server508/data/mapdata/13134.txt b/servers/server508/data/mapdata/13134.txt similarity index 100% rename from server508/data/mapdata/13134.txt rename to servers/server508/data/mapdata/13134.txt diff --git a/server508/data/mapdata/13135.txt b/servers/server508/data/mapdata/13135.txt similarity index 100% rename from server508/data/mapdata/13135.txt rename to servers/server508/data/mapdata/13135.txt diff --git a/server508/data/mapdata/13136.txt b/servers/server508/data/mapdata/13136.txt similarity index 100% rename from server508/data/mapdata/13136.txt rename to servers/server508/data/mapdata/13136.txt diff --git a/server508/data/mapdata/13140.txt b/servers/server508/data/mapdata/13140.txt similarity index 100% rename from server508/data/mapdata/13140.txt rename to servers/server508/data/mapdata/13140.txt diff --git a/server508/data/mapdata/13141.txt b/servers/server508/data/mapdata/13141.txt similarity index 100% rename from server508/data/mapdata/13141.txt rename to servers/server508/data/mapdata/13141.txt diff --git a/server508/data/mapdata/13142.txt b/servers/server508/data/mapdata/13142.txt similarity index 100% rename from server508/data/mapdata/13142.txt rename to servers/server508/data/mapdata/13142.txt diff --git a/server508/data/mapdata/13143.txt b/servers/server508/data/mapdata/13143.txt similarity index 100% rename from server508/data/mapdata/13143.txt rename to servers/server508/data/mapdata/13143.txt diff --git a/server508/data/mapdata/13200.txt b/servers/server508/data/mapdata/13200.txt similarity index 100% rename from server508/data/mapdata/13200.txt rename to servers/server508/data/mapdata/13200.txt diff --git a/server508/data/mapdata/13201.txt b/servers/server508/data/mapdata/13201.txt similarity index 100% rename from server508/data/mapdata/13201.txt rename to servers/server508/data/mapdata/13201.txt diff --git a/server508/data/mapdata/13202.txt b/servers/server508/data/mapdata/13202.txt similarity index 100% rename from server508/data/mapdata/13202.txt rename to servers/server508/data/mapdata/13202.txt diff --git a/server508/data/mapdata/13204.txt b/servers/server508/data/mapdata/13204.txt similarity index 100% rename from server508/data/mapdata/13204.txt rename to servers/server508/data/mapdata/13204.txt diff --git a/server508/data/mapdata/13205.txt b/servers/server508/data/mapdata/13205.txt similarity index 100% rename from server508/data/mapdata/13205.txt rename to servers/server508/data/mapdata/13205.txt diff --git a/server508/data/mapdata/13206.txt b/servers/server508/data/mapdata/13206.txt similarity index 100% rename from server508/data/mapdata/13206.txt rename to servers/server508/data/mapdata/13206.txt diff --git a/server508/data/mapdata/13208.txt b/servers/server508/data/mapdata/13208.txt similarity index 100% rename from server508/data/mapdata/13208.txt rename to servers/server508/data/mapdata/13208.txt diff --git a/server508/data/mapdata/13209.txt b/servers/server508/data/mapdata/13209.txt similarity index 100% rename from server508/data/mapdata/13209.txt rename to servers/server508/data/mapdata/13209.txt diff --git a/server508/data/mapdata/13210.txt b/servers/server508/data/mapdata/13210.txt similarity index 100% rename from server508/data/mapdata/13210.txt rename to servers/server508/data/mapdata/13210.txt diff --git a/server508/data/mapdata/13211.txt b/servers/server508/data/mapdata/13211.txt similarity index 100% rename from server508/data/mapdata/13211.txt rename to servers/server508/data/mapdata/13211.txt diff --git a/server508/data/mapdata/13354.txt b/servers/server508/data/mapdata/13354.txt similarity index 100% rename from server508/data/mapdata/13354.txt rename to servers/server508/data/mapdata/13354.txt diff --git a/server508/data/mapdata/13355.txt b/servers/server508/data/mapdata/13355.txt similarity index 100% rename from server508/data/mapdata/13355.txt rename to servers/server508/data/mapdata/13355.txt diff --git a/server508/data/mapdata/13356.txt b/servers/server508/data/mapdata/13356.txt similarity index 100% rename from server508/data/mapdata/13356.txt rename to servers/server508/data/mapdata/13356.txt diff --git a/server508/data/mapdata/13357.txt b/servers/server508/data/mapdata/13357.txt similarity index 100% rename from server508/data/mapdata/13357.txt rename to servers/server508/data/mapdata/13357.txt diff --git a/server508/data/mapdata/13358.txt b/servers/server508/data/mapdata/13358.txt similarity index 100% rename from server508/data/mapdata/13358.txt rename to servers/server508/data/mapdata/13358.txt diff --git a/server508/data/mapdata/13359.txt b/servers/server508/data/mapdata/13359.txt similarity index 100% rename from server508/data/mapdata/13359.txt rename to servers/server508/data/mapdata/13359.txt diff --git a/server508/data/mapdata/13360.txt b/servers/server508/data/mapdata/13360.txt similarity index 100% rename from server508/data/mapdata/13360.txt rename to servers/server508/data/mapdata/13360.txt diff --git a/server508/data/mapdata/13361.txt b/servers/server508/data/mapdata/13361.txt similarity index 100% rename from server508/data/mapdata/13361.txt rename to servers/server508/data/mapdata/13361.txt diff --git a/server508/data/mapdata/13362.txt b/servers/server508/data/mapdata/13362.txt similarity index 100% rename from server508/data/mapdata/13362.txt rename to servers/server508/data/mapdata/13362.txt diff --git a/server508/data/mapdata/13363.txt b/servers/server508/data/mapdata/13363.txt similarity index 100% rename from server508/data/mapdata/13363.txt rename to servers/server508/data/mapdata/13363.txt diff --git a/server508/data/mapdata/13364.txt b/servers/server508/data/mapdata/13364.txt similarity index 100% rename from server508/data/mapdata/13364.txt rename to servers/server508/data/mapdata/13364.txt diff --git a/server508/data/mapdata/13365.txt b/servers/server508/data/mapdata/13365.txt similarity index 100% rename from server508/data/mapdata/13365.txt rename to servers/server508/data/mapdata/13365.txt diff --git a/server508/data/mapdata/13366.txt b/servers/server508/data/mapdata/13366.txt similarity index 100% rename from server508/data/mapdata/13366.txt rename to servers/server508/data/mapdata/13366.txt diff --git a/server508/data/mapdata/13367.txt b/servers/server508/data/mapdata/13367.txt similarity index 100% rename from server508/data/mapdata/13367.txt rename to servers/server508/data/mapdata/13367.txt diff --git a/server508/data/mapdata/13368.txt b/servers/server508/data/mapdata/13368.txt similarity index 100% rename from server508/data/mapdata/13368.txt rename to servers/server508/data/mapdata/13368.txt diff --git a/server508/data/mapdata/13369.txt b/servers/server508/data/mapdata/13369.txt similarity index 100% rename from server508/data/mapdata/13369.txt rename to servers/server508/data/mapdata/13369.txt diff --git a/server508/data/mapdata/13370.txt b/servers/server508/data/mapdata/13370.txt similarity index 100% rename from server508/data/mapdata/13370.txt rename to servers/server508/data/mapdata/13370.txt diff --git a/server508/data/mapdata/13371.txt b/servers/server508/data/mapdata/13371.txt similarity index 100% rename from server508/data/mapdata/13371.txt rename to servers/server508/data/mapdata/13371.txt diff --git a/server508/data/mapdata/13372.txt b/servers/server508/data/mapdata/13372.txt similarity index 100% rename from server508/data/mapdata/13372.txt rename to servers/server508/data/mapdata/13372.txt diff --git a/server508/data/mapdata/13373.txt b/servers/server508/data/mapdata/13373.txt similarity index 100% rename from server508/data/mapdata/13373.txt rename to servers/server508/data/mapdata/13373.txt diff --git a/server508/data/mapdata/13374.txt b/servers/server508/data/mapdata/13374.txt similarity index 100% rename from server508/data/mapdata/13374.txt rename to servers/server508/data/mapdata/13374.txt diff --git a/server508/data/mapdata/13388.txt b/servers/server508/data/mapdata/13388.txt similarity index 100% rename from server508/data/mapdata/13388.txt rename to servers/server508/data/mapdata/13388.txt diff --git a/server508/data/mapdata/13389.txt b/servers/server508/data/mapdata/13389.txt similarity index 100% rename from server508/data/mapdata/13389.txt rename to servers/server508/data/mapdata/13389.txt diff --git a/server508/data/mapdata/13465.txt b/servers/server508/data/mapdata/13465.txt similarity index 100% rename from server508/data/mapdata/13465.txt rename to servers/server508/data/mapdata/13465.txt diff --git a/server508/data/mapdata/13466.txt b/servers/server508/data/mapdata/13466.txt similarity index 100% rename from server508/data/mapdata/13466.txt rename to servers/server508/data/mapdata/13466.txt diff --git a/server508/data/mapdata/13467.txt b/servers/server508/data/mapdata/13467.txt similarity index 100% rename from server508/data/mapdata/13467.txt rename to servers/server508/data/mapdata/13467.txt diff --git a/server508/data/mapdata/13612.txt b/servers/server508/data/mapdata/13612.txt similarity index 100% rename from server508/data/mapdata/13612.txt rename to servers/server508/data/mapdata/13612.txt diff --git a/server508/data/mapdata/13613.txt b/servers/server508/data/mapdata/13613.txt similarity index 100% rename from server508/data/mapdata/13613.txt rename to servers/server508/data/mapdata/13613.txt diff --git a/server508/data/mapdata/13614.txt b/servers/server508/data/mapdata/13614.txt similarity index 100% rename from server508/data/mapdata/13614.txt rename to servers/server508/data/mapdata/13614.txt diff --git a/server508/data/mapdata/13615.txt b/servers/server508/data/mapdata/13615.txt similarity index 100% rename from server508/data/mapdata/13615.txt rename to servers/server508/data/mapdata/13615.txt diff --git a/server508/data/mapdata/13616.txt b/servers/server508/data/mapdata/13616.txt similarity index 100% rename from server508/data/mapdata/13616.txt rename to servers/server508/data/mapdata/13616.txt diff --git a/server508/data/mapdata/13617.txt b/servers/server508/data/mapdata/13617.txt similarity index 100% rename from server508/data/mapdata/13617.txt rename to servers/server508/data/mapdata/13617.txt diff --git a/server508/data/mapdata/13618.txt b/servers/server508/data/mapdata/13618.txt similarity index 100% rename from server508/data/mapdata/13618.txt rename to servers/server508/data/mapdata/13618.txt diff --git a/server508/data/mapdata/13619.txt b/servers/server508/data/mapdata/13619.txt similarity index 100% rename from server508/data/mapdata/13619.txt rename to servers/server508/data/mapdata/13619.txt diff --git a/server508/data/mapdata/13620.txt b/servers/server508/data/mapdata/13620.txt similarity index 100% rename from server508/data/mapdata/13620.txt rename to servers/server508/data/mapdata/13620.txt diff --git a/server508/data/mapdata/13621.txt b/servers/server508/data/mapdata/13621.txt similarity index 100% rename from server508/data/mapdata/13621.txt rename to servers/server508/data/mapdata/13621.txt diff --git a/server508/data/mapdata/13622.txt b/servers/server508/data/mapdata/13622.txt similarity index 100% rename from server508/data/mapdata/13622.txt rename to servers/server508/data/mapdata/13622.txt diff --git a/server508/data/mapdata/13623.txt b/servers/server508/data/mapdata/13623.txt similarity index 100% rename from server508/data/mapdata/13623.txt rename to servers/server508/data/mapdata/13623.txt diff --git a/server508/data/mapdata/13624.txt b/servers/server508/data/mapdata/13624.txt similarity index 100% rename from server508/data/mapdata/13624.txt rename to servers/server508/data/mapdata/13624.txt diff --git a/server508/data/mapdata/13625.txt b/servers/server508/data/mapdata/13625.txt similarity index 100% rename from server508/data/mapdata/13625.txt rename to servers/server508/data/mapdata/13625.txt diff --git a/server508/data/mapdata/13626.txt b/servers/server508/data/mapdata/13626.txt similarity index 100% rename from server508/data/mapdata/13626.txt rename to servers/server508/data/mapdata/13626.txt diff --git a/server508/data/mapdata/13627.txt b/servers/server508/data/mapdata/13627.txt similarity index 100% rename from server508/data/mapdata/13627.txt rename to servers/server508/data/mapdata/13627.txt diff --git a/server508/data/mapdata/13628.txt b/servers/server508/data/mapdata/13628.txt similarity index 100% rename from server508/data/mapdata/13628.txt rename to servers/server508/data/mapdata/13628.txt diff --git a/server508/data/mapdata/13629.txt b/servers/server508/data/mapdata/13629.txt similarity index 100% rename from server508/data/mapdata/13629.txt rename to servers/server508/data/mapdata/13629.txt diff --git a/server508/data/mapdata/13630.txt b/servers/server508/data/mapdata/13630.txt similarity index 100% rename from server508/data/mapdata/13630.txt rename to servers/server508/data/mapdata/13630.txt diff --git a/server508/data/mapdata/13642.txt b/servers/server508/data/mapdata/13642.txt similarity index 100% rename from server508/data/mapdata/13642.txt rename to servers/server508/data/mapdata/13642.txt diff --git a/server508/data/mapdata/13643.txt b/servers/server508/data/mapdata/13643.txt similarity index 100% rename from server508/data/mapdata/13643.txt rename to servers/server508/data/mapdata/13643.txt diff --git a/server508/data/mapdata/13644.txt b/servers/server508/data/mapdata/13644.txt similarity index 100% rename from server508/data/mapdata/13644.txt rename to servers/server508/data/mapdata/13644.txt diff --git a/server508/data/mapdata/13715.txt b/servers/server508/data/mapdata/13715.txt similarity index 100% rename from server508/data/mapdata/13715.txt rename to servers/server508/data/mapdata/13715.txt diff --git a/server508/data/mapdata/13716.txt b/servers/server508/data/mapdata/13716.txt similarity index 100% rename from server508/data/mapdata/13716.txt rename to servers/server508/data/mapdata/13716.txt diff --git a/server508/data/mapdata/13717.txt b/servers/server508/data/mapdata/13717.txt similarity index 100% rename from server508/data/mapdata/13717.txt rename to servers/server508/data/mapdata/13717.txt diff --git a/server508/data/mapdata/13868.txt b/servers/server508/data/mapdata/13868.txt similarity index 100% rename from server508/data/mapdata/13868.txt rename to servers/server508/data/mapdata/13868.txt diff --git a/server508/data/mapdata/13869.txt b/servers/server508/data/mapdata/13869.txt similarity index 100% rename from server508/data/mapdata/13869.txt rename to servers/server508/data/mapdata/13869.txt diff --git a/server508/data/mapdata/13870.txt b/servers/server508/data/mapdata/13870.txt similarity index 100% rename from server508/data/mapdata/13870.txt rename to servers/server508/data/mapdata/13870.txt diff --git a/server508/data/mapdata/13871.txt b/servers/server508/data/mapdata/13871.txt similarity index 100% rename from server508/data/mapdata/13871.txt rename to servers/server508/data/mapdata/13871.txt diff --git a/server508/data/mapdata/13872.txt b/servers/server508/data/mapdata/13872.txt similarity index 100% rename from server508/data/mapdata/13872.txt rename to servers/server508/data/mapdata/13872.txt diff --git a/server508/data/mapdata/13873.txt b/servers/server508/data/mapdata/13873.txt similarity index 100% rename from server508/data/mapdata/13873.txt rename to servers/server508/data/mapdata/13873.txt diff --git a/server508/data/mapdata/13874.txt b/servers/server508/data/mapdata/13874.txt similarity index 100% rename from server508/data/mapdata/13874.txt rename to servers/server508/data/mapdata/13874.txt diff --git a/server508/data/mapdata/13875.txt b/servers/server508/data/mapdata/13875.txt similarity index 100% rename from server508/data/mapdata/13875.txt rename to servers/server508/data/mapdata/13875.txt diff --git a/server508/data/mapdata/13876.txt b/servers/server508/data/mapdata/13876.txt similarity index 100% rename from server508/data/mapdata/13876.txt rename to servers/server508/data/mapdata/13876.txt diff --git a/server508/data/mapdata/13877.txt b/servers/server508/data/mapdata/13877.txt similarity index 100% rename from server508/data/mapdata/13877.txt rename to servers/server508/data/mapdata/13877.txt diff --git a/server508/data/mapdata/13878.txt b/servers/server508/data/mapdata/13878.txt similarity index 100% rename from server508/data/mapdata/13878.txt rename to servers/server508/data/mapdata/13878.txt diff --git a/server508/data/mapdata/13879.txt b/servers/server508/data/mapdata/13879.txt similarity index 100% rename from server508/data/mapdata/13879.txt rename to servers/server508/data/mapdata/13879.txt diff --git a/server508/data/mapdata/13880.txt b/servers/server508/data/mapdata/13880.txt similarity index 100% rename from server508/data/mapdata/13880.txt rename to servers/server508/data/mapdata/13880.txt diff --git a/server508/data/mapdata/13898.txt b/servers/server508/data/mapdata/13898.txt similarity index 100% rename from server508/data/mapdata/13898.txt rename to servers/server508/data/mapdata/13898.txt diff --git a/server508/data/mapdata/13899.txt b/servers/server508/data/mapdata/13899.txt similarity index 100% rename from server508/data/mapdata/13899.txt rename to servers/server508/data/mapdata/13899.txt diff --git a/server508/data/mapdata/13900.txt b/servers/server508/data/mapdata/13900.txt similarity index 100% rename from server508/data/mapdata/13900.txt rename to servers/server508/data/mapdata/13900.txt diff --git a/server508/data/mapdata/13971.txt b/servers/server508/data/mapdata/13971.txt similarity index 100% rename from server508/data/mapdata/13971.txt rename to servers/server508/data/mapdata/13971.txt diff --git a/server508/data/mapdata/13972.txt b/servers/server508/data/mapdata/13972.txt similarity index 100% rename from server508/data/mapdata/13972.txt rename to servers/server508/data/mapdata/13972.txt diff --git a/server508/data/mapdata/13973.txt b/servers/server508/data/mapdata/13973.txt similarity index 100% rename from server508/data/mapdata/13973.txt rename to servers/server508/data/mapdata/13973.txt diff --git a/server508/data/mapdata/13974.txt b/servers/server508/data/mapdata/13974.txt similarity index 100% rename from server508/data/mapdata/13974.txt rename to servers/server508/data/mapdata/13974.txt diff --git a/server508/data/mapdata/13975.txt b/servers/server508/data/mapdata/13975.txt similarity index 100% rename from server508/data/mapdata/13975.txt rename to servers/server508/data/mapdata/13975.txt diff --git a/server508/data/mapdata/13976.txt b/servers/server508/data/mapdata/13976.txt similarity index 100% rename from server508/data/mapdata/13976.txt rename to servers/server508/data/mapdata/13976.txt diff --git a/server508/data/mapdata/14129.txt b/servers/server508/data/mapdata/14129.txt similarity index 100% rename from server508/data/mapdata/14129.txt rename to servers/server508/data/mapdata/14129.txt diff --git a/server508/data/mapdata/14130.txt b/servers/server508/data/mapdata/14130.txt similarity index 100% rename from server508/data/mapdata/14130.txt rename to servers/server508/data/mapdata/14130.txt diff --git a/server508/data/mapdata/14131.txt b/servers/server508/data/mapdata/14131.txt similarity index 100% rename from server508/data/mapdata/14131.txt rename to servers/server508/data/mapdata/14131.txt diff --git a/server508/data/mapdata/14132.txt b/servers/server508/data/mapdata/14132.txt similarity index 100% rename from server508/data/mapdata/14132.txt rename to servers/server508/data/mapdata/14132.txt diff --git a/server508/data/mapdata/14133.txt b/servers/server508/data/mapdata/14133.txt similarity index 100% rename from server508/data/mapdata/14133.txt rename to servers/server508/data/mapdata/14133.txt diff --git a/server508/data/mapdata/14134.txt b/servers/server508/data/mapdata/14134.txt similarity index 100% rename from server508/data/mapdata/14134.txt rename to servers/server508/data/mapdata/14134.txt diff --git a/server508/data/mapdata/14135.txt b/servers/server508/data/mapdata/14135.txt similarity index 100% rename from server508/data/mapdata/14135.txt rename to servers/server508/data/mapdata/14135.txt diff --git a/server508/data/mapdata/14136.txt b/servers/server508/data/mapdata/14136.txt similarity index 100% rename from server508/data/mapdata/14136.txt rename to servers/server508/data/mapdata/14136.txt diff --git a/server508/data/mapdata/14154.txt b/servers/server508/data/mapdata/14154.txt similarity index 100% rename from server508/data/mapdata/14154.txt rename to servers/server508/data/mapdata/14154.txt diff --git a/server508/data/mapdata/14155.txt b/servers/server508/data/mapdata/14155.txt similarity index 100% rename from server508/data/mapdata/14155.txt rename to servers/server508/data/mapdata/14155.txt diff --git a/server508/data/mapdata/14156.txt b/servers/server508/data/mapdata/14156.txt similarity index 100% rename from server508/data/mapdata/14156.txt rename to servers/server508/data/mapdata/14156.txt diff --git a/server508/data/mapdata/14227.txt b/servers/server508/data/mapdata/14227.txt similarity index 100% rename from server508/data/mapdata/14227.txt rename to servers/server508/data/mapdata/14227.txt diff --git a/server508/data/mapdata/14228.txt b/servers/server508/data/mapdata/14228.txt similarity index 100% rename from server508/data/mapdata/14228.txt rename to servers/server508/data/mapdata/14228.txt diff --git a/server508/data/mapdata/14229.txt b/servers/server508/data/mapdata/14229.txt similarity index 100% rename from server508/data/mapdata/14229.txt rename to servers/server508/data/mapdata/14229.txt diff --git a/server508/data/mapdata/14230.txt b/servers/server508/data/mapdata/14230.txt similarity index 100% rename from server508/data/mapdata/14230.txt rename to servers/server508/data/mapdata/14230.txt diff --git a/server508/data/mapdata/14231.txt b/servers/server508/data/mapdata/14231.txt similarity index 100% rename from server508/data/mapdata/14231.txt rename to servers/server508/data/mapdata/14231.txt diff --git a/server508/data/mapdata/14232.txt b/servers/server508/data/mapdata/14232.txt similarity index 100% rename from server508/data/mapdata/14232.txt rename to servers/server508/data/mapdata/14232.txt diff --git a/server508/data/mapdata/14381.txt b/servers/server508/data/mapdata/14381.txt similarity index 100% rename from server508/data/mapdata/14381.txt rename to servers/server508/data/mapdata/14381.txt diff --git a/server508/data/mapdata/14382.txt b/servers/server508/data/mapdata/14382.txt similarity index 100% rename from server508/data/mapdata/14382.txt rename to servers/server508/data/mapdata/14382.txt diff --git a/server508/data/mapdata/14383.txt b/servers/server508/data/mapdata/14383.txt similarity index 100% rename from server508/data/mapdata/14383.txt rename to servers/server508/data/mapdata/14383.txt diff --git a/server508/data/mapdata/14384.txt b/servers/server508/data/mapdata/14384.txt similarity index 100% rename from server508/data/mapdata/14384.txt rename to servers/server508/data/mapdata/14384.txt diff --git a/server508/data/mapdata/14385.txt b/servers/server508/data/mapdata/14385.txt similarity index 100% rename from server508/data/mapdata/14385.txt rename to servers/server508/data/mapdata/14385.txt diff --git a/server508/data/mapdata/14386.txt b/servers/server508/data/mapdata/14386.txt similarity index 100% rename from server508/data/mapdata/14386.txt rename to servers/server508/data/mapdata/14386.txt diff --git a/server508/data/mapdata/14387.txt b/servers/server508/data/mapdata/14387.txt similarity index 100% rename from server508/data/mapdata/14387.txt rename to servers/server508/data/mapdata/14387.txt diff --git a/server508/data/mapdata/14388.txt b/servers/server508/data/mapdata/14388.txt similarity index 100% rename from server508/data/mapdata/14388.txt rename to servers/server508/data/mapdata/14388.txt diff --git a/server508/data/mapdata/14389.txt b/servers/server508/data/mapdata/14389.txt similarity index 100% rename from server508/data/mapdata/14389.txt rename to servers/server508/data/mapdata/14389.txt diff --git a/server508/data/mapdata/14390.txt b/servers/server508/data/mapdata/14390.txt similarity index 100% rename from server508/data/mapdata/14390.txt rename to servers/server508/data/mapdata/14390.txt diff --git a/server508/data/mapdata/14391.txt b/servers/server508/data/mapdata/14391.txt similarity index 100% rename from server508/data/mapdata/14391.txt rename to servers/server508/data/mapdata/14391.txt diff --git a/server508/data/mapdata/14486.txt b/servers/server508/data/mapdata/14486.txt similarity index 100% rename from server508/data/mapdata/14486.txt rename to servers/server508/data/mapdata/14486.txt diff --git a/server508/data/mapdata/14487.txt b/servers/server508/data/mapdata/14487.txt similarity index 100% rename from server508/data/mapdata/14487.txt rename to servers/server508/data/mapdata/14487.txt diff --git a/server508/data/mapdata/14488.txt b/servers/server508/data/mapdata/14488.txt similarity index 100% rename from server508/data/mapdata/14488.txt rename to servers/server508/data/mapdata/14488.txt diff --git a/server508/data/mapdata/14637.txt b/servers/server508/data/mapdata/14637.txt similarity index 100% rename from server508/data/mapdata/14637.txt rename to servers/server508/data/mapdata/14637.txt diff --git a/server508/data/mapdata/14638.txt b/servers/server508/data/mapdata/14638.txt similarity index 100% rename from server508/data/mapdata/14638.txt rename to servers/server508/data/mapdata/14638.txt diff --git a/server508/data/mapdata/14639.txt b/servers/server508/data/mapdata/14639.txt similarity index 100% rename from server508/data/mapdata/14639.txt rename to servers/server508/data/mapdata/14639.txt diff --git a/server508/data/mapdata/14640.txt b/servers/server508/data/mapdata/14640.txt similarity index 100% rename from server508/data/mapdata/14640.txt rename to servers/server508/data/mapdata/14640.txt diff --git a/server508/data/mapdata/14645.txt b/servers/server508/data/mapdata/14645.txt similarity index 100% rename from server508/data/mapdata/14645.txt rename to servers/server508/data/mapdata/14645.txt diff --git a/server508/data/mapdata/14646.txt b/servers/server508/data/mapdata/14646.txt similarity index 100% rename from server508/data/mapdata/14646.txt rename to servers/server508/data/mapdata/14646.txt diff --git a/server508/data/mapdata/14647.txt b/servers/server508/data/mapdata/14647.txt similarity index 100% rename from server508/data/mapdata/14647.txt rename to servers/server508/data/mapdata/14647.txt diff --git a/server508/data/mapdata/14893.txt b/servers/server508/data/mapdata/14893.txt similarity index 100% rename from server508/data/mapdata/14893.txt rename to servers/server508/data/mapdata/14893.txt diff --git a/server508/data/mapdata/14894.txt b/servers/server508/data/mapdata/14894.txt similarity index 100% rename from server508/data/mapdata/14894.txt rename to servers/server508/data/mapdata/14894.txt diff --git a/server508/data/mapdata/14895.txt b/servers/server508/data/mapdata/14895.txt similarity index 100% rename from server508/data/mapdata/14895.txt rename to servers/server508/data/mapdata/14895.txt diff --git a/server508/data/mapdata/14896.txt b/servers/server508/data/mapdata/14896.txt similarity index 100% rename from server508/data/mapdata/14896.txt rename to servers/server508/data/mapdata/14896.txt diff --git a/server508/data/mapdata/14901.txt b/servers/server508/data/mapdata/14901.txt similarity index 100% rename from server508/data/mapdata/14901.txt rename to servers/server508/data/mapdata/14901.txt diff --git a/server508/data/mapdata/14902.txt b/servers/server508/data/mapdata/14902.txt similarity index 100% rename from server508/data/mapdata/14902.txt rename to servers/server508/data/mapdata/14902.txt diff --git a/server508/data/mapdata/14903.txt b/servers/server508/data/mapdata/14903.txt similarity index 100% rename from server508/data/mapdata/14903.txt rename to servers/server508/data/mapdata/14903.txt diff --git a/server508/data/mapdata/15149.txt b/servers/server508/data/mapdata/15149.txt similarity index 100% rename from server508/data/mapdata/15149.txt rename to servers/server508/data/mapdata/15149.txt diff --git a/server508/data/mapdata/15150.txt b/servers/server508/data/mapdata/15150.txt similarity index 100% rename from server508/data/mapdata/15150.txt rename to servers/server508/data/mapdata/15150.txt diff --git a/server508/data/mapdata/15151.txt b/servers/server508/data/mapdata/15151.txt similarity index 100% rename from server508/data/mapdata/15151.txt rename to servers/server508/data/mapdata/15151.txt diff --git a/server508/data/mapdata/15152.txt b/servers/server508/data/mapdata/15152.txt similarity index 100% rename from server508/data/mapdata/15152.txt rename to servers/server508/data/mapdata/15152.txt diff --git a/server508/data/mapdata/15406.txt b/servers/server508/data/mapdata/15406.txt similarity index 100% rename from server508/data/mapdata/15406.txt rename to servers/server508/data/mapdata/15406.txt diff --git a/server508/data/mapdata/15407.txt b/servers/server508/data/mapdata/15407.txt similarity index 100% rename from server508/data/mapdata/15407.txt rename to servers/server508/data/mapdata/15407.txt diff --git a/server508/data/mapdata/15408.txt b/servers/server508/data/mapdata/15408.txt similarity index 100% rename from server508/data/mapdata/15408.txt rename to servers/server508/data/mapdata/15408.txt diff --git a/server508/data/mapdata/16123.txt b/servers/server508/data/mapdata/16123.txt similarity index 100% rename from server508/data/mapdata/16123.txt rename to servers/server508/data/mapdata/16123.txt diff --git a/server508/data/mapdata/16124.txt b/servers/server508/data/mapdata/16124.txt similarity index 100% rename from server508/data/mapdata/16124.txt rename to servers/server508/data/mapdata/16124.txt diff --git a/server508/data/mapdata/6230.txt b/servers/server508/data/mapdata/6230.txt similarity index 100% rename from server508/data/mapdata/6230.txt rename to servers/server508/data/mapdata/6230.txt diff --git a/server508/data/mapdata/6231.txt b/servers/server508/data/mapdata/6231.txt similarity index 100% rename from server508/data/mapdata/6231.txt rename to servers/server508/data/mapdata/6231.txt diff --git a/server508/data/mapdata/6232.txt b/servers/server508/data/mapdata/6232.txt similarity index 100% rename from server508/data/mapdata/6232.txt rename to servers/server508/data/mapdata/6232.txt diff --git a/server508/data/mapdata/6484.txt b/servers/server508/data/mapdata/6484.txt similarity index 100% rename from server508/data/mapdata/6484.txt rename to servers/server508/data/mapdata/6484.txt diff --git a/server508/data/mapdata/6485.txt b/servers/server508/data/mapdata/6485.txt similarity index 100% rename from server508/data/mapdata/6485.txt rename to servers/server508/data/mapdata/6485.txt diff --git a/server508/data/mapdata/6486.txt b/servers/server508/data/mapdata/6486.txt similarity index 100% rename from server508/data/mapdata/6486.txt rename to servers/server508/data/mapdata/6486.txt diff --git a/server508/data/mapdata/6487.txt b/servers/server508/data/mapdata/6487.txt similarity index 100% rename from server508/data/mapdata/6487.txt rename to servers/server508/data/mapdata/6487.txt diff --git a/server508/data/mapdata/6488.txt b/servers/server508/data/mapdata/6488.txt similarity index 100% rename from server508/data/mapdata/6488.txt rename to servers/server508/data/mapdata/6488.txt diff --git a/server508/data/mapdata/6732.txt b/servers/server508/data/mapdata/6732.txt similarity index 100% rename from server508/data/mapdata/6732.txt rename to servers/server508/data/mapdata/6732.txt diff --git a/server508/data/mapdata/6733.txt b/servers/server508/data/mapdata/6733.txt similarity index 100% rename from server508/data/mapdata/6733.txt rename to servers/server508/data/mapdata/6733.txt diff --git a/server508/data/mapdata/6734.txt b/servers/server508/data/mapdata/6734.txt similarity index 100% rename from server508/data/mapdata/6734.txt rename to servers/server508/data/mapdata/6734.txt diff --git a/server508/data/mapdata/6740.txt b/servers/server508/data/mapdata/6740.txt similarity index 100% rename from server508/data/mapdata/6740.txt rename to servers/server508/data/mapdata/6740.txt diff --git a/server508/data/mapdata/6741.txt b/servers/server508/data/mapdata/6741.txt similarity index 100% rename from server508/data/mapdata/6741.txt rename to servers/server508/data/mapdata/6741.txt diff --git a/server508/data/mapdata/6742.txt b/servers/server508/data/mapdata/6742.txt similarity index 100% rename from server508/data/mapdata/6742.txt rename to servers/server508/data/mapdata/6742.txt diff --git a/server508/data/mapdata/6743.txt b/servers/server508/data/mapdata/6743.txt similarity index 100% rename from server508/data/mapdata/6743.txt rename to servers/server508/data/mapdata/6743.txt diff --git a/server508/data/mapdata/6744.txt b/servers/server508/data/mapdata/6744.txt similarity index 100% rename from server508/data/mapdata/6744.txt rename to servers/server508/data/mapdata/6744.txt diff --git a/server508/data/mapdata/6988.txt b/servers/server508/data/mapdata/6988.txt similarity index 100% rename from server508/data/mapdata/6988.txt rename to servers/server508/data/mapdata/6988.txt diff --git a/server508/data/mapdata/6989.txt b/servers/server508/data/mapdata/6989.txt similarity index 100% rename from server508/data/mapdata/6989.txt rename to servers/server508/data/mapdata/6989.txt diff --git a/server508/data/mapdata/6990.txt b/servers/server508/data/mapdata/6990.txt similarity index 100% rename from server508/data/mapdata/6990.txt rename to servers/server508/data/mapdata/6990.txt diff --git a/server508/data/mapdata/6996.txt b/servers/server508/data/mapdata/6996.txt similarity index 100% rename from server508/data/mapdata/6996.txt rename to servers/server508/data/mapdata/6996.txt diff --git a/server508/data/mapdata/6997.txt b/servers/server508/data/mapdata/6997.txt similarity index 100% rename from server508/data/mapdata/6997.txt rename to servers/server508/data/mapdata/6997.txt diff --git a/server508/data/mapdata/6998.txt b/servers/server508/data/mapdata/6998.txt similarity index 100% rename from server508/data/mapdata/6998.txt rename to servers/server508/data/mapdata/6998.txt diff --git a/server508/data/mapdata/6999.txt b/servers/server508/data/mapdata/6999.txt similarity index 100% rename from server508/data/mapdata/6999.txt rename to servers/server508/data/mapdata/6999.txt diff --git a/server508/data/mapdata/7000.txt b/servers/server508/data/mapdata/7000.txt similarity index 100% rename from server508/data/mapdata/7000.txt rename to servers/server508/data/mapdata/7000.txt diff --git a/server508/data/mapdata/7244.txt b/servers/server508/data/mapdata/7244.txt similarity index 100% rename from server508/data/mapdata/7244.txt rename to servers/server508/data/mapdata/7244.txt diff --git a/server508/data/mapdata/7245.txt b/servers/server508/data/mapdata/7245.txt similarity index 100% rename from server508/data/mapdata/7245.txt rename to servers/server508/data/mapdata/7245.txt diff --git a/server508/data/mapdata/7246.txt b/servers/server508/data/mapdata/7246.txt similarity index 100% rename from server508/data/mapdata/7246.txt rename to servers/server508/data/mapdata/7246.txt diff --git a/server508/data/mapdata/7248.txt b/servers/server508/data/mapdata/7248.txt similarity index 100% rename from server508/data/mapdata/7248.txt rename to servers/server508/data/mapdata/7248.txt diff --git a/server508/data/mapdata/7249.txt b/servers/server508/data/mapdata/7249.txt similarity index 100% rename from server508/data/mapdata/7249.txt rename to servers/server508/data/mapdata/7249.txt diff --git a/server508/data/mapdata/7250.txt b/servers/server508/data/mapdata/7250.txt similarity index 100% rename from server508/data/mapdata/7250.txt rename to servers/server508/data/mapdata/7250.txt diff --git a/server508/data/mapdata/7492.txt b/servers/server508/data/mapdata/7492.txt similarity index 100% rename from server508/data/mapdata/7492.txt rename to servers/server508/data/mapdata/7492.txt diff --git a/server508/data/mapdata/7493.txt b/servers/server508/data/mapdata/7493.txt similarity index 100% rename from server508/data/mapdata/7493.txt rename to servers/server508/data/mapdata/7493.txt diff --git a/server508/data/mapdata/7494.txt b/servers/server508/data/mapdata/7494.txt similarity index 100% rename from server508/data/mapdata/7494.txt rename to servers/server508/data/mapdata/7494.txt diff --git a/server508/data/mapdata/7497.txt b/servers/server508/data/mapdata/7497.txt similarity index 100% rename from server508/data/mapdata/7497.txt rename to servers/server508/data/mapdata/7497.txt diff --git a/server508/data/mapdata/7498.txt b/servers/server508/data/mapdata/7498.txt similarity index 100% rename from server508/data/mapdata/7498.txt rename to servers/server508/data/mapdata/7498.txt diff --git a/server508/data/mapdata/7499.txt b/servers/server508/data/mapdata/7499.txt similarity index 100% rename from server508/data/mapdata/7499.txt rename to servers/server508/data/mapdata/7499.txt diff --git a/server508/data/mapdata/7503.txt b/servers/server508/data/mapdata/7503.txt similarity index 100% rename from server508/data/mapdata/7503.txt rename to servers/server508/data/mapdata/7503.txt diff --git a/server508/data/mapdata/7504.txt b/servers/server508/data/mapdata/7504.txt similarity index 100% rename from server508/data/mapdata/7504.txt rename to servers/server508/data/mapdata/7504.txt diff --git a/server508/data/mapdata/7505.txt b/servers/server508/data/mapdata/7505.txt similarity index 100% rename from server508/data/mapdata/7505.txt rename to servers/server508/data/mapdata/7505.txt diff --git a/server508/data/mapdata/7506.txt b/servers/server508/data/mapdata/7506.txt similarity index 100% rename from server508/data/mapdata/7506.txt rename to servers/server508/data/mapdata/7506.txt diff --git a/server508/data/mapdata/7509.txt b/servers/server508/data/mapdata/7509.txt similarity index 100% rename from server508/data/mapdata/7509.txt rename to servers/server508/data/mapdata/7509.txt diff --git a/server508/data/mapdata/7748.txt b/servers/server508/data/mapdata/7748.txt similarity index 100% rename from server508/data/mapdata/7748.txt rename to servers/server508/data/mapdata/7748.txt diff --git a/server508/data/mapdata/7749.txt b/servers/server508/data/mapdata/7749.txt similarity index 100% rename from server508/data/mapdata/7749.txt rename to servers/server508/data/mapdata/7749.txt diff --git a/server508/data/mapdata/7750.txt b/servers/server508/data/mapdata/7750.txt similarity index 100% rename from server508/data/mapdata/7750.txt rename to servers/server508/data/mapdata/7750.txt diff --git a/server508/data/mapdata/7753.txt b/servers/server508/data/mapdata/7753.txt similarity index 100% rename from server508/data/mapdata/7753.txt rename to servers/server508/data/mapdata/7753.txt diff --git a/server508/data/mapdata/7754.txt b/servers/server508/data/mapdata/7754.txt similarity index 100% rename from server508/data/mapdata/7754.txt rename to servers/server508/data/mapdata/7754.txt diff --git a/server508/data/mapdata/7755.txt b/servers/server508/data/mapdata/7755.txt similarity index 100% rename from server508/data/mapdata/7755.txt rename to servers/server508/data/mapdata/7755.txt diff --git a/server508/data/mapdata/7757.txt b/servers/server508/data/mapdata/7757.txt similarity index 100% rename from server508/data/mapdata/7757.txt rename to servers/server508/data/mapdata/7757.txt diff --git a/server508/data/mapdata/7758.txt b/servers/server508/data/mapdata/7758.txt similarity index 100% rename from server508/data/mapdata/7758.txt rename to servers/server508/data/mapdata/7758.txt diff --git a/server508/data/mapdata/7759.txt b/servers/server508/data/mapdata/7759.txt similarity index 100% rename from server508/data/mapdata/7759.txt rename to servers/server508/data/mapdata/7759.txt diff --git a/server508/data/mapdata/7760.txt b/servers/server508/data/mapdata/7760.txt similarity index 100% rename from server508/data/mapdata/7760.txt rename to servers/server508/data/mapdata/7760.txt diff --git a/server508/data/mapdata/7761.txt b/servers/server508/data/mapdata/7761.txt similarity index 100% rename from server508/data/mapdata/7761.txt rename to servers/server508/data/mapdata/7761.txt diff --git a/server508/data/mapdata/7762.txt b/servers/server508/data/mapdata/7762.txt similarity index 100% rename from server508/data/mapdata/7762.txt rename to servers/server508/data/mapdata/7762.txt diff --git a/server508/data/mapdata/7763.txt b/servers/server508/data/mapdata/7763.txt similarity index 100% rename from server508/data/mapdata/7763.txt rename to servers/server508/data/mapdata/7763.txt diff --git a/server508/data/mapdata/7764.txt b/servers/server508/data/mapdata/7764.txt similarity index 100% rename from server508/data/mapdata/7764.txt rename to servers/server508/data/mapdata/7764.txt diff --git a/server508/data/mapdata/7765.txt b/servers/server508/data/mapdata/7765.txt similarity index 100% rename from server508/data/mapdata/7765.txt rename to servers/server508/data/mapdata/7765.txt diff --git a/server508/data/mapdata/7995.txt b/servers/server508/data/mapdata/7995.txt similarity index 100% rename from server508/data/mapdata/7995.txt rename to servers/server508/data/mapdata/7995.txt diff --git a/server508/data/mapdata/7996.txt b/servers/server508/data/mapdata/7996.txt similarity index 100% rename from server508/data/mapdata/7996.txt rename to servers/server508/data/mapdata/7996.txt diff --git a/server508/data/mapdata/7997.txt b/servers/server508/data/mapdata/7997.txt similarity index 100% rename from server508/data/mapdata/7997.txt rename to servers/server508/data/mapdata/7997.txt diff --git a/server508/data/mapdata/7998.txt b/servers/server508/data/mapdata/7998.txt similarity index 100% rename from server508/data/mapdata/7998.txt rename to servers/server508/data/mapdata/7998.txt diff --git a/server508/data/mapdata/8009.txt b/servers/server508/data/mapdata/8009.txt similarity index 100% rename from server508/data/mapdata/8009.txt rename to servers/server508/data/mapdata/8009.txt diff --git a/server508/data/mapdata/8010.txt b/servers/server508/data/mapdata/8010.txt similarity index 100% rename from server508/data/mapdata/8010.txt rename to servers/server508/data/mapdata/8010.txt diff --git a/server508/data/mapdata/8011.txt b/servers/server508/data/mapdata/8011.txt similarity index 100% rename from server508/data/mapdata/8011.txt rename to servers/server508/data/mapdata/8011.txt diff --git a/server508/data/mapdata/8013.txt b/servers/server508/data/mapdata/8013.txt similarity index 100% rename from server508/data/mapdata/8013.txt rename to servers/server508/data/mapdata/8013.txt diff --git a/server508/data/mapdata/8014.txt b/servers/server508/data/mapdata/8014.txt similarity index 100% rename from server508/data/mapdata/8014.txt rename to servers/server508/data/mapdata/8014.txt diff --git a/server508/data/mapdata/8016.txt b/servers/server508/data/mapdata/8016.txt similarity index 100% rename from server508/data/mapdata/8016.txt rename to servers/server508/data/mapdata/8016.txt diff --git a/server508/data/mapdata/8017.txt b/servers/server508/data/mapdata/8017.txt similarity index 100% rename from server508/data/mapdata/8017.txt rename to servers/server508/data/mapdata/8017.txt diff --git a/server508/data/mapdata/8018.txt b/servers/server508/data/mapdata/8018.txt similarity index 100% rename from server508/data/mapdata/8018.txt rename to servers/server508/data/mapdata/8018.txt diff --git a/server508/data/mapdata/8019.txt b/servers/server508/data/mapdata/8019.txt similarity index 100% rename from server508/data/mapdata/8019.txt rename to servers/server508/data/mapdata/8019.txt diff --git a/server508/data/mapdata/8020.txt b/servers/server508/data/mapdata/8020.txt similarity index 100% rename from server508/data/mapdata/8020.txt rename to servers/server508/data/mapdata/8020.txt diff --git a/server508/data/mapdata/8021.txt b/servers/server508/data/mapdata/8021.txt similarity index 100% rename from server508/data/mapdata/8021.txt rename to servers/server508/data/mapdata/8021.txt diff --git a/server508/data/mapdata/8240.txt b/servers/server508/data/mapdata/8240.txt similarity index 100% rename from server508/data/mapdata/8240.txt rename to servers/server508/data/mapdata/8240.txt diff --git a/server508/data/mapdata/8241.txt b/servers/server508/data/mapdata/8241.txt similarity index 100% rename from server508/data/mapdata/8241.txt rename to servers/server508/data/mapdata/8241.txt diff --git a/server508/data/mapdata/8251.txt b/servers/server508/data/mapdata/8251.txt similarity index 100% rename from server508/data/mapdata/8251.txt rename to servers/server508/data/mapdata/8251.txt diff --git a/server508/data/mapdata/8252.txt b/servers/server508/data/mapdata/8252.txt similarity index 100% rename from server508/data/mapdata/8252.txt rename to servers/server508/data/mapdata/8252.txt diff --git a/server508/data/mapdata/8253.txt b/servers/server508/data/mapdata/8253.txt similarity index 100% rename from server508/data/mapdata/8253.txt rename to servers/server508/data/mapdata/8253.txt diff --git a/server508/data/mapdata/8254.txt b/servers/server508/data/mapdata/8254.txt similarity index 100% rename from server508/data/mapdata/8254.txt rename to servers/server508/data/mapdata/8254.txt diff --git a/server508/data/mapdata/8265.txt b/servers/server508/data/mapdata/8265.txt similarity index 100% rename from server508/data/mapdata/8265.txt rename to servers/server508/data/mapdata/8265.txt diff --git a/server508/data/mapdata/8266.txt b/servers/server508/data/mapdata/8266.txt similarity index 100% rename from server508/data/mapdata/8266.txt rename to servers/server508/data/mapdata/8266.txt diff --git a/server508/data/mapdata/8267.txt b/servers/server508/data/mapdata/8267.txt similarity index 100% rename from server508/data/mapdata/8267.txt rename to servers/server508/data/mapdata/8267.txt diff --git a/server508/data/mapdata/8268.txt b/servers/server508/data/mapdata/8268.txt similarity index 100% rename from server508/data/mapdata/8268.txt rename to servers/server508/data/mapdata/8268.txt diff --git a/server508/data/mapdata/8272.txt b/servers/server508/data/mapdata/8272.txt similarity index 100% rename from server508/data/mapdata/8272.txt rename to servers/server508/data/mapdata/8272.txt diff --git a/server508/data/mapdata/8273.txt b/servers/server508/data/mapdata/8273.txt similarity index 100% rename from server508/data/mapdata/8273.txt rename to servers/server508/data/mapdata/8273.txt diff --git a/server508/data/mapdata/8274.txt b/servers/server508/data/mapdata/8274.txt similarity index 100% rename from server508/data/mapdata/8274.txt rename to servers/server508/data/mapdata/8274.txt diff --git a/server508/data/mapdata/8275.txt b/servers/server508/data/mapdata/8275.txt similarity index 100% rename from server508/data/mapdata/8275.txt rename to servers/server508/data/mapdata/8275.txt diff --git a/server508/data/mapdata/8276.txt b/servers/server508/data/mapdata/8276.txt similarity index 100% rename from server508/data/mapdata/8276.txt rename to servers/server508/data/mapdata/8276.txt diff --git a/server508/data/mapdata/8277.txt b/servers/server508/data/mapdata/8277.txt similarity index 100% rename from server508/data/mapdata/8277.txt rename to servers/server508/data/mapdata/8277.txt diff --git a/server508/data/mapdata/8496.txt b/servers/server508/data/mapdata/8496.txt similarity index 100% rename from server508/data/mapdata/8496.txt rename to servers/server508/data/mapdata/8496.txt diff --git a/server508/data/mapdata/8497.txt b/servers/server508/data/mapdata/8497.txt similarity index 100% rename from server508/data/mapdata/8497.txt rename to servers/server508/data/mapdata/8497.txt diff --git a/server508/data/mapdata/8498.txt b/servers/server508/data/mapdata/8498.txt similarity index 100% rename from server508/data/mapdata/8498.txt rename to servers/server508/data/mapdata/8498.txt diff --git a/server508/data/mapdata/8499.txt b/servers/server508/data/mapdata/8499.txt similarity index 100% rename from server508/data/mapdata/8499.txt rename to servers/server508/data/mapdata/8499.txt diff --git a/server508/data/mapdata/8506.txt b/servers/server508/data/mapdata/8506.txt similarity index 100% rename from server508/data/mapdata/8506.txt rename to servers/server508/data/mapdata/8506.txt diff --git a/server508/data/mapdata/8507.txt b/servers/server508/data/mapdata/8507.txt similarity index 100% rename from server508/data/mapdata/8507.txt rename to servers/server508/data/mapdata/8507.txt diff --git a/server508/data/mapdata/8508.txt b/servers/server508/data/mapdata/8508.txt similarity index 100% rename from server508/data/mapdata/8508.txt rename to servers/server508/data/mapdata/8508.txt diff --git a/server508/data/mapdata/8509.txt b/servers/server508/data/mapdata/8509.txt similarity index 100% rename from server508/data/mapdata/8509.txt rename to servers/server508/data/mapdata/8509.txt diff --git a/server508/data/mapdata/8510.txt b/servers/server508/data/mapdata/8510.txt similarity index 100% rename from server508/data/mapdata/8510.txt rename to servers/server508/data/mapdata/8510.txt diff --git a/server508/data/mapdata/8522.txt b/servers/server508/data/mapdata/8522.txt similarity index 100% rename from server508/data/mapdata/8522.txt rename to servers/server508/data/mapdata/8522.txt diff --git a/server508/data/mapdata/8523.txt b/servers/server508/data/mapdata/8523.txt similarity index 100% rename from server508/data/mapdata/8523.txt rename to servers/server508/data/mapdata/8523.txt diff --git a/server508/data/mapdata/8524.txt b/servers/server508/data/mapdata/8524.txt similarity index 100% rename from server508/data/mapdata/8524.txt rename to servers/server508/data/mapdata/8524.txt diff --git a/server508/data/mapdata/8525.txt b/servers/server508/data/mapdata/8525.txt similarity index 100% rename from server508/data/mapdata/8525.txt rename to servers/server508/data/mapdata/8525.txt diff --git a/server508/data/mapdata/8529.txt b/servers/server508/data/mapdata/8529.txt similarity index 100% rename from server508/data/mapdata/8529.txt rename to servers/server508/data/mapdata/8529.txt diff --git a/server508/data/mapdata/8530.txt b/servers/server508/data/mapdata/8530.txt similarity index 100% rename from server508/data/mapdata/8530.txt rename to servers/server508/data/mapdata/8530.txt diff --git a/server508/data/mapdata/8531.txt b/servers/server508/data/mapdata/8531.txt similarity index 100% rename from server508/data/mapdata/8531.txt rename to servers/server508/data/mapdata/8531.txt diff --git a/server508/data/mapdata/8532.txt b/servers/server508/data/mapdata/8532.txt similarity index 100% rename from server508/data/mapdata/8532.txt rename to servers/server508/data/mapdata/8532.txt diff --git a/server508/data/mapdata/8533.txt b/servers/server508/data/mapdata/8533.txt similarity index 100% rename from server508/data/mapdata/8533.txt rename to servers/server508/data/mapdata/8533.txt diff --git a/server508/data/mapdata/8752.txt b/servers/server508/data/mapdata/8752.txt similarity index 100% rename from server508/data/mapdata/8752.txt rename to servers/server508/data/mapdata/8752.txt diff --git a/server508/data/mapdata/8753.txt b/servers/server508/data/mapdata/8753.txt similarity index 100% rename from server508/data/mapdata/8753.txt rename to servers/server508/data/mapdata/8753.txt diff --git a/server508/data/mapdata/8754.txt b/servers/server508/data/mapdata/8754.txt similarity index 100% rename from server508/data/mapdata/8754.txt rename to servers/server508/data/mapdata/8754.txt diff --git a/server508/data/mapdata/8755.txt b/servers/server508/data/mapdata/8755.txt similarity index 100% rename from server508/data/mapdata/8755.txt rename to servers/server508/data/mapdata/8755.txt diff --git a/server508/data/mapdata/8756.txt b/servers/server508/data/mapdata/8756.txt similarity index 100% rename from server508/data/mapdata/8756.txt rename to servers/server508/data/mapdata/8756.txt diff --git a/server508/data/mapdata/8757.txt b/servers/server508/data/mapdata/8757.txt similarity index 100% rename from server508/data/mapdata/8757.txt rename to servers/server508/data/mapdata/8757.txt diff --git a/server508/data/mapdata/8762.txt b/servers/server508/data/mapdata/8762.txt similarity index 100% rename from server508/data/mapdata/8762.txt rename to servers/server508/data/mapdata/8762.txt diff --git a/server508/data/mapdata/8763.txt b/servers/server508/data/mapdata/8763.txt similarity index 100% rename from server508/data/mapdata/8763.txt rename to servers/server508/data/mapdata/8763.txt diff --git a/server508/data/mapdata/8764.txt b/servers/server508/data/mapdata/8764.txt similarity index 100% rename from server508/data/mapdata/8764.txt rename to servers/server508/data/mapdata/8764.txt diff --git a/server508/data/mapdata/8765.txt b/servers/server508/data/mapdata/8765.txt similarity index 100% rename from server508/data/mapdata/8765.txt rename to servers/server508/data/mapdata/8765.txt diff --git a/server508/data/mapdata/8776.txt b/servers/server508/data/mapdata/8776.txt similarity index 100% rename from server508/data/mapdata/8776.txt rename to servers/server508/data/mapdata/8776.txt diff --git a/server508/data/mapdata/8777.txt b/servers/server508/data/mapdata/8777.txt similarity index 100% rename from server508/data/mapdata/8777.txt rename to servers/server508/data/mapdata/8777.txt diff --git a/server508/data/mapdata/8778.txt b/servers/server508/data/mapdata/8778.txt similarity index 100% rename from server508/data/mapdata/8778.txt rename to servers/server508/data/mapdata/8778.txt diff --git a/server508/data/mapdata/8779.txt b/servers/server508/data/mapdata/8779.txt similarity index 100% rename from server508/data/mapdata/8779.txt rename to servers/server508/data/mapdata/8779.txt diff --git a/server508/data/mapdata/8780.txt b/servers/server508/data/mapdata/8780.txt similarity index 100% rename from server508/data/mapdata/8780.txt rename to servers/server508/data/mapdata/8780.txt diff --git a/server508/data/mapdata/8781.txt b/servers/server508/data/mapdata/8781.txt similarity index 100% rename from server508/data/mapdata/8781.txt rename to servers/server508/data/mapdata/8781.txt diff --git a/server508/data/mapdata/8785.txt b/servers/server508/data/mapdata/8785.txt similarity index 100% rename from server508/data/mapdata/8785.txt rename to servers/server508/data/mapdata/8785.txt diff --git a/server508/data/mapdata/8786.txt b/servers/server508/data/mapdata/8786.txt similarity index 100% rename from server508/data/mapdata/8786.txt rename to servers/server508/data/mapdata/8786.txt diff --git a/server508/data/mapdata/8787.txt b/servers/server508/data/mapdata/8787.txt similarity index 100% rename from server508/data/mapdata/8787.txt rename to servers/server508/data/mapdata/8787.txt diff --git a/server508/data/mapdata/8788.txt b/servers/server508/data/mapdata/8788.txt similarity index 100% rename from server508/data/mapdata/8788.txt rename to servers/server508/data/mapdata/8788.txt diff --git a/server508/data/mapdata/8789.txt b/servers/server508/data/mapdata/8789.txt similarity index 100% rename from server508/data/mapdata/8789.txt rename to servers/server508/data/mapdata/8789.txt diff --git a/server508/data/mapdata/9008.txt b/servers/server508/data/mapdata/9008.txt similarity index 100% rename from server508/data/mapdata/9008.txt rename to servers/server508/data/mapdata/9008.txt diff --git a/server508/data/mapdata/9009.txt b/servers/server508/data/mapdata/9009.txt similarity index 100% rename from server508/data/mapdata/9009.txt rename to servers/server508/data/mapdata/9009.txt diff --git a/server508/data/mapdata/9010.txt b/servers/server508/data/mapdata/9010.txt similarity index 100% rename from server508/data/mapdata/9010.txt rename to servers/server508/data/mapdata/9010.txt diff --git a/server508/data/mapdata/9011.txt b/servers/server508/data/mapdata/9011.txt similarity index 100% rename from server508/data/mapdata/9011.txt rename to servers/server508/data/mapdata/9011.txt diff --git a/server508/data/mapdata/9012.txt b/servers/server508/data/mapdata/9012.txt similarity index 100% rename from server508/data/mapdata/9012.txt rename to servers/server508/data/mapdata/9012.txt diff --git a/server508/data/mapdata/9013.txt b/servers/server508/data/mapdata/9013.txt similarity index 100% rename from server508/data/mapdata/9013.txt rename to servers/server508/data/mapdata/9013.txt diff --git a/server508/data/mapdata/9014.txt b/servers/server508/data/mapdata/9014.txt similarity index 100% rename from server508/data/mapdata/9014.txt rename to servers/server508/data/mapdata/9014.txt diff --git a/server508/data/mapdata/9015.txt b/servers/server508/data/mapdata/9015.txt similarity index 100% rename from server508/data/mapdata/9015.txt rename to servers/server508/data/mapdata/9015.txt diff --git a/server508/data/mapdata/9016.txt b/servers/server508/data/mapdata/9016.txt similarity index 100% rename from server508/data/mapdata/9016.txt rename to servers/server508/data/mapdata/9016.txt diff --git a/server508/data/mapdata/9017.txt b/servers/server508/data/mapdata/9017.txt similarity index 100% rename from server508/data/mapdata/9017.txt rename to servers/server508/data/mapdata/9017.txt diff --git a/server508/data/mapdata/9018.txt b/servers/server508/data/mapdata/9018.txt similarity index 100% rename from server508/data/mapdata/9018.txt rename to servers/server508/data/mapdata/9018.txt diff --git a/server508/data/mapdata/9019.txt b/servers/server508/data/mapdata/9019.txt similarity index 100% rename from server508/data/mapdata/9019.txt rename to servers/server508/data/mapdata/9019.txt diff --git a/server508/data/mapdata/9020.txt b/servers/server508/data/mapdata/9020.txt similarity index 100% rename from server508/data/mapdata/9020.txt rename to servers/server508/data/mapdata/9020.txt diff --git a/server508/data/mapdata/9032.txt b/servers/server508/data/mapdata/9032.txt similarity index 100% rename from server508/data/mapdata/9032.txt rename to servers/server508/data/mapdata/9032.txt diff --git a/server508/data/mapdata/9033.txt b/servers/server508/data/mapdata/9033.txt similarity index 100% rename from server508/data/mapdata/9033.txt rename to servers/server508/data/mapdata/9033.txt diff --git a/server508/data/mapdata/9034.txt b/servers/server508/data/mapdata/9034.txt similarity index 100% rename from server508/data/mapdata/9034.txt rename to servers/server508/data/mapdata/9034.txt diff --git a/server508/data/mapdata/9035.txt b/servers/server508/data/mapdata/9035.txt similarity index 100% rename from server508/data/mapdata/9035.txt rename to servers/server508/data/mapdata/9035.txt diff --git a/server508/data/mapdata/9036.txt b/servers/server508/data/mapdata/9036.txt similarity index 100% rename from server508/data/mapdata/9036.txt rename to servers/server508/data/mapdata/9036.txt diff --git a/server508/data/mapdata/9037.txt b/servers/server508/data/mapdata/9037.txt similarity index 100% rename from server508/data/mapdata/9037.txt rename to servers/server508/data/mapdata/9037.txt diff --git a/server508/data/mapdata/9040.txt b/servers/server508/data/mapdata/9040.txt similarity index 100% rename from server508/data/mapdata/9040.txt rename to servers/server508/data/mapdata/9040.txt diff --git a/server508/data/mapdata/9041.txt b/servers/server508/data/mapdata/9041.txt similarity index 100% rename from server508/data/mapdata/9041.txt rename to servers/server508/data/mapdata/9041.txt diff --git a/server508/data/mapdata/9042.txt b/servers/server508/data/mapdata/9042.txt similarity index 100% rename from server508/data/mapdata/9042.txt rename to servers/server508/data/mapdata/9042.txt diff --git a/server508/data/mapdata/9043.txt b/servers/server508/data/mapdata/9043.txt similarity index 100% rename from server508/data/mapdata/9043.txt rename to servers/server508/data/mapdata/9043.txt diff --git a/server508/data/mapdata/9044.txt b/servers/server508/data/mapdata/9044.txt similarity index 100% rename from server508/data/mapdata/9044.txt rename to servers/server508/data/mapdata/9044.txt diff --git a/server508/data/mapdata/9045.txt b/servers/server508/data/mapdata/9045.txt similarity index 100% rename from server508/data/mapdata/9045.txt rename to servers/server508/data/mapdata/9045.txt diff --git a/server508/data/mapdata/9048.txt b/servers/server508/data/mapdata/9048.txt similarity index 100% rename from server508/data/mapdata/9048.txt rename to servers/server508/data/mapdata/9048.txt diff --git a/server508/data/mapdata/9049.txt b/servers/server508/data/mapdata/9049.txt similarity index 100% rename from server508/data/mapdata/9049.txt rename to servers/server508/data/mapdata/9049.txt diff --git a/server508/data/mapdata/9050.txt b/servers/server508/data/mapdata/9050.txt similarity index 100% rename from server508/data/mapdata/9050.txt rename to servers/server508/data/mapdata/9050.txt diff --git a/server508/data/mapdata/9109.txt b/servers/server508/data/mapdata/9109.txt similarity index 100% rename from server508/data/mapdata/9109.txt rename to servers/server508/data/mapdata/9109.txt diff --git a/server508/data/mapdata/9110.txt b/servers/server508/data/mapdata/9110.txt similarity index 100% rename from server508/data/mapdata/9110.txt rename to servers/server508/data/mapdata/9110.txt diff --git a/server508/data/mapdata/9111.txt b/servers/server508/data/mapdata/9111.txt similarity index 100% rename from server508/data/mapdata/9111.txt rename to servers/server508/data/mapdata/9111.txt diff --git a/server508/data/mapdata/9120.txt b/servers/server508/data/mapdata/9120.txt similarity index 100% rename from server508/data/mapdata/9120.txt rename to servers/server508/data/mapdata/9120.txt diff --git a/server508/data/mapdata/9121.txt b/servers/server508/data/mapdata/9121.txt similarity index 100% rename from server508/data/mapdata/9121.txt rename to servers/server508/data/mapdata/9121.txt diff --git a/server508/data/mapdata/9122.txt b/servers/server508/data/mapdata/9122.txt similarity index 100% rename from server508/data/mapdata/9122.txt rename to servers/server508/data/mapdata/9122.txt diff --git a/server508/data/mapdata/9262.txt b/servers/server508/data/mapdata/9262.txt similarity index 100% rename from server508/data/mapdata/9262.txt rename to servers/server508/data/mapdata/9262.txt diff --git a/server508/data/mapdata/9263.txt b/servers/server508/data/mapdata/9263.txt similarity index 100% rename from server508/data/mapdata/9263.txt rename to servers/server508/data/mapdata/9263.txt diff --git a/server508/data/mapdata/9264.txt b/servers/server508/data/mapdata/9264.txt similarity index 100% rename from server508/data/mapdata/9264.txt rename to servers/server508/data/mapdata/9264.txt diff --git a/server508/data/mapdata/9265.txt b/servers/server508/data/mapdata/9265.txt similarity index 100% rename from server508/data/mapdata/9265.txt rename to servers/server508/data/mapdata/9265.txt diff --git a/server508/data/mapdata/9266.txt b/servers/server508/data/mapdata/9266.txt similarity index 100% rename from server508/data/mapdata/9266.txt rename to servers/server508/data/mapdata/9266.txt diff --git a/server508/data/mapdata/9267.txt b/servers/server508/data/mapdata/9267.txt similarity index 100% rename from server508/data/mapdata/9267.txt rename to servers/server508/data/mapdata/9267.txt diff --git a/server508/data/mapdata/9268.txt b/servers/server508/data/mapdata/9268.txt similarity index 100% rename from server508/data/mapdata/9268.txt rename to servers/server508/data/mapdata/9268.txt diff --git a/server508/data/mapdata/9269.txt b/servers/server508/data/mapdata/9269.txt similarity index 100% rename from server508/data/mapdata/9269.txt rename to servers/server508/data/mapdata/9269.txt diff --git a/server508/data/mapdata/9270.txt b/servers/server508/data/mapdata/9270.txt similarity index 100% rename from server508/data/mapdata/9270.txt rename to servers/server508/data/mapdata/9270.txt diff --git a/server508/data/mapdata/9271.txt b/servers/server508/data/mapdata/9271.txt similarity index 100% rename from server508/data/mapdata/9271.txt rename to servers/server508/data/mapdata/9271.txt diff --git a/server508/data/mapdata/9272.txt b/servers/server508/data/mapdata/9272.txt similarity index 100% rename from server508/data/mapdata/9272.txt rename to servers/server508/data/mapdata/9272.txt diff --git a/server508/data/mapdata/9273.txt b/servers/server508/data/mapdata/9273.txt similarity index 100% rename from server508/data/mapdata/9273.txt rename to servers/server508/data/mapdata/9273.txt diff --git a/server508/data/mapdata/9274.txt b/servers/server508/data/mapdata/9274.txt similarity index 100% rename from server508/data/mapdata/9274.txt rename to servers/server508/data/mapdata/9274.txt diff --git a/server508/data/mapdata/9275.txt b/servers/server508/data/mapdata/9275.txt similarity index 100% rename from server508/data/mapdata/9275.txt rename to servers/server508/data/mapdata/9275.txt diff --git a/server508/data/mapdata/9276.txt b/servers/server508/data/mapdata/9276.txt similarity index 100% rename from server508/data/mapdata/9276.txt rename to servers/server508/data/mapdata/9276.txt diff --git a/server508/data/mapdata/9277.txt b/servers/server508/data/mapdata/9277.txt similarity index 100% rename from server508/data/mapdata/9277.txt rename to servers/server508/data/mapdata/9277.txt diff --git a/server508/data/mapdata/9284.txt b/servers/server508/data/mapdata/9284.txt similarity index 100% rename from server508/data/mapdata/9284.txt rename to servers/server508/data/mapdata/9284.txt diff --git a/server508/data/mapdata/9285.txt b/servers/server508/data/mapdata/9285.txt similarity index 100% rename from server508/data/mapdata/9285.txt rename to servers/server508/data/mapdata/9285.txt diff --git a/server508/data/mapdata/9286.txt b/servers/server508/data/mapdata/9286.txt similarity index 100% rename from server508/data/mapdata/9286.txt rename to servers/server508/data/mapdata/9286.txt diff --git a/server508/data/mapdata/9288.txt b/servers/server508/data/mapdata/9288.txt similarity index 100% rename from server508/data/mapdata/9288.txt rename to servers/server508/data/mapdata/9288.txt diff --git a/server508/data/mapdata/9289.txt b/servers/server508/data/mapdata/9289.txt similarity index 100% rename from server508/data/mapdata/9289.txt rename to servers/server508/data/mapdata/9289.txt diff --git a/server508/data/mapdata/9290.txt b/servers/server508/data/mapdata/9290.txt similarity index 100% rename from server508/data/mapdata/9290.txt rename to servers/server508/data/mapdata/9290.txt diff --git a/server508/data/mapdata/9291.txt b/servers/server508/data/mapdata/9291.txt similarity index 100% rename from server508/data/mapdata/9291.txt rename to servers/server508/data/mapdata/9291.txt diff --git a/server508/data/mapdata/9292.txt b/servers/server508/data/mapdata/9292.txt similarity index 100% rename from server508/data/mapdata/9292.txt rename to servers/server508/data/mapdata/9292.txt diff --git a/server508/data/mapdata/9295.txt b/servers/server508/data/mapdata/9295.txt similarity index 100% rename from server508/data/mapdata/9295.txt rename to servers/server508/data/mapdata/9295.txt diff --git a/server508/data/mapdata/9296.txt b/servers/server508/data/mapdata/9296.txt similarity index 100% rename from server508/data/mapdata/9296.txt rename to servers/server508/data/mapdata/9296.txt diff --git a/server508/data/mapdata/9297.txt b/servers/server508/data/mapdata/9297.txt similarity index 100% rename from server508/data/mapdata/9297.txt rename to servers/server508/data/mapdata/9297.txt diff --git a/server508/data/mapdata/9298.txt b/servers/server508/data/mapdata/9298.txt similarity index 100% rename from server508/data/mapdata/9298.txt rename to servers/server508/data/mapdata/9298.txt diff --git a/server508/data/mapdata/9299.txt b/servers/server508/data/mapdata/9299.txt similarity index 100% rename from server508/data/mapdata/9299.txt rename to servers/server508/data/mapdata/9299.txt diff --git a/server508/data/mapdata/9300.txt b/servers/server508/data/mapdata/9300.txt similarity index 100% rename from server508/data/mapdata/9300.txt rename to servers/server508/data/mapdata/9300.txt diff --git a/server508/data/mapdata/9301.txt b/servers/server508/data/mapdata/9301.txt similarity index 100% rename from server508/data/mapdata/9301.txt rename to servers/server508/data/mapdata/9301.txt diff --git a/server508/data/mapdata/9304.txt b/servers/server508/data/mapdata/9304.txt similarity index 100% rename from server508/data/mapdata/9304.txt rename to servers/server508/data/mapdata/9304.txt diff --git a/server508/data/mapdata/9305.txt b/servers/server508/data/mapdata/9305.txt similarity index 100% rename from server508/data/mapdata/9305.txt rename to servers/server508/data/mapdata/9305.txt diff --git a/server508/data/mapdata/9306.txt b/servers/server508/data/mapdata/9306.txt similarity index 100% rename from server508/data/mapdata/9306.txt rename to servers/server508/data/mapdata/9306.txt diff --git a/server508/data/mapdata/9363.txt b/servers/server508/data/mapdata/9363.txt similarity index 100% rename from server508/data/mapdata/9363.txt rename to servers/server508/data/mapdata/9363.txt diff --git a/server508/data/mapdata/9364.txt b/servers/server508/data/mapdata/9364.txt similarity index 100% rename from server508/data/mapdata/9364.txt rename to servers/server508/data/mapdata/9364.txt diff --git a/server508/data/mapdata/9365.txt b/servers/server508/data/mapdata/9365.txt similarity index 100% rename from server508/data/mapdata/9365.txt rename to servers/server508/data/mapdata/9365.txt diff --git a/server508/data/mapdata/9366.txt b/servers/server508/data/mapdata/9366.txt similarity index 100% rename from server508/data/mapdata/9366.txt rename to servers/server508/data/mapdata/9366.txt diff --git a/server508/data/mapdata/9367.txt b/servers/server508/data/mapdata/9367.txt similarity index 100% rename from server508/data/mapdata/9367.txt rename to servers/server508/data/mapdata/9367.txt diff --git a/server508/data/mapdata/9376.txt b/servers/server508/data/mapdata/9376.txt similarity index 100% rename from server508/data/mapdata/9376.txt rename to servers/server508/data/mapdata/9376.txt diff --git a/server508/data/mapdata/9377.txt b/servers/server508/data/mapdata/9377.txt similarity index 100% rename from server508/data/mapdata/9377.txt rename to servers/server508/data/mapdata/9377.txt diff --git a/server508/data/mapdata/9378.txt b/servers/server508/data/mapdata/9378.txt similarity index 100% rename from server508/data/mapdata/9378.txt rename to servers/server508/data/mapdata/9378.txt diff --git a/server508/data/mapdata/9515.txt b/servers/server508/data/mapdata/9515.txt similarity index 100% rename from server508/data/mapdata/9515.txt rename to servers/server508/data/mapdata/9515.txt diff --git a/server508/data/mapdata/9516.txt b/servers/server508/data/mapdata/9516.txt similarity index 100% rename from server508/data/mapdata/9516.txt rename to servers/server508/data/mapdata/9516.txt diff --git a/server508/data/mapdata/9517.txt b/servers/server508/data/mapdata/9517.txt similarity index 100% rename from server508/data/mapdata/9517.txt rename to servers/server508/data/mapdata/9517.txt diff --git a/server508/data/mapdata/9518.txt b/servers/server508/data/mapdata/9518.txt similarity index 100% rename from server508/data/mapdata/9518.txt rename to servers/server508/data/mapdata/9518.txt diff --git a/server508/data/mapdata/9519.txt b/servers/server508/data/mapdata/9519.txt similarity index 100% rename from server508/data/mapdata/9519.txt rename to servers/server508/data/mapdata/9519.txt diff --git a/server508/data/mapdata/9520.txt b/servers/server508/data/mapdata/9520.txt similarity index 100% rename from server508/data/mapdata/9520.txt rename to servers/server508/data/mapdata/9520.txt diff --git a/server508/data/mapdata/9521.txt b/servers/server508/data/mapdata/9521.txt similarity index 100% rename from server508/data/mapdata/9521.txt rename to servers/server508/data/mapdata/9521.txt diff --git a/server508/data/mapdata/9522.txt b/servers/server508/data/mapdata/9522.txt similarity index 100% rename from server508/data/mapdata/9522.txt rename to servers/server508/data/mapdata/9522.txt diff --git a/server508/data/mapdata/9523.txt b/servers/server508/data/mapdata/9523.txt similarity index 100% rename from server508/data/mapdata/9523.txt rename to servers/server508/data/mapdata/9523.txt diff --git a/server508/data/mapdata/9524.txt b/servers/server508/data/mapdata/9524.txt similarity index 100% rename from server508/data/mapdata/9524.txt rename to servers/server508/data/mapdata/9524.txt diff --git a/server508/data/mapdata/9525.txt b/servers/server508/data/mapdata/9525.txt similarity index 100% rename from server508/data/mapdata/9525.txt rename to servers/server508/data/mapdata/9525.txt diff --git a/server508/data/mapdata/9526.txt b/servers/server508/data/mapdata/9526.txt similarity index 100% rename from server508/data/mapdata/9526.txt rename to servers/server508/data/mapdata/9526.txt diff --git a/server508/data/mapdata/9527.txt b/servers/server508/data/mapdata/9527.txt similarity index 100% rename from server508/data/mapdata/9527.txt rename to servers/server508/data/mapdata/9527.txt diff --git a/server508/data/mapdata/9528.txt b/servers/server508/data/mapdata/9528.txt similarity index 100% rename from server508/data/mapdata/9528.txt rename to servers/server508/data/mapdata/9528.txt diff --git a/server508/data/mapdata/9529.txt b/servers/server508/data/mapdata/9529.txt similarity index 100% rename from server508/data/mapdata/9529.txt rename to servers/server508/data/mapdata/9529.txt diff --git a/server508/data/mapdata/9530.txt b/servers/server508/data/mapdata/9530.txt similarity index 100% rename from server508/data/mapdata/9530.txt rename to servers/server508/data/mapdata/9530.txt diff --git a/server508/data/mapdata/9531.txt b/servers/server508/data/mapdata/9531.txt similarity index 100% rename from server508/data/mapdata/9531.txt rename to servers/server508/data/mapdata/9531.txt diff --git a/server508/data/mapdata/9532.txt b/servers/server508/data/mapdata/9532.txt similarity index 100% rename from server508/data/mapdata/9532.txt rename to servers/server508/data/mapdata/9532.txt diff --git a/server508/data/mapdata/9533.txt b/servers/server508/data/mapdata/9533.txt similarity index 100% rename from server508/data/mapdata/9533.txt rename to servers/server508/data/mapdata/9533.txt diff --git a/server508/data/mapdata/9540.txt b/servers/server508/data/mapdata/9540.txt similarity index 100% rename from server508/data/mapdata/9540.txt rename to servers/server508/data/mapdata/9540.txt diff --git a/server508/data/mapdata/9541.txt b/servers/server508/data/mapdata/9541.txt similarity index 100% rename from server508/data/mapdata/9541.txt rename to servers/server508/data/mapdata/9541.txt diff --git a/server508/data/mapdata/9542.txt b/servers/server508/data/mapdata/9542.txt similarity index 100% rename from server508/data/mapdata/9542.txt rename to servers/server508/data/mapdata/9542.txt diff --git a/server508/data/mapdata/9546.txt b/servers/server508/data/mapdata/9546.txt similarity index 100% rename from server508/data/mapdata/9546.txt rename to servers/server508/data/mapdata/9546.txt diff --git a/server508/data/mapdata/9547.txt b/servers/server508/data/mapdata/9547.txt similarity index 100% rename from server508/data/mapdata/9547.txt rename to servers/server508/data/mapdata/9547.txt diff --git a/server508/data/mapdata/9548.txt b/servers/server508/data/mapdata/9548.txt similarity index 100% rename from server508/data/mapdata/9548.txt rename to servers/server508/data/mapdata/9548.txt diff --git a/server508/data/mapdata/9551.txt b/servers/server508/data/mapdata/9551.txt similarity index 100% rename from server508/data/mapdata/9551.txt rename to servers/server508/data/mapdata/9551.txt diff --git a/server508/data/mapdata/9552.txt b/servers/server508/data/mapdata/9552.txt similarity index 100% rename from server508/data/mapdata/9552.txt rename to servers/server508/data/mapdata/9552.txt diff --git a/server508/data/mapdata/9553.txt b/servers/server508/data/mapdata/9553.txt similarity index 100% rename from server508/data/mapdata/9553.txt rename to servers/server508/data/mapdata/9553.txt diff --git a/server508/data/mapdata/9554.txt b/servers/server508/data/mapdata/9554.txt similarity index 100% rename from server508/data/mapdata/9554.txt rename to servers/server508/data/mapdata/9554.txt diff --git a/server508/data/mapdata/9555.txt b/servers/server508/data/mapdata/9555.txt similarity index 100% rename from server508/data/mapdata/9555.txt rename to servers/server508/data/mapdata/9555.txt diff --git a/server508/data/mapdata/9556.txt b/servers/server508/data/mapdata/9556.txt similarity index 100% rename from server508/data/mapdata/9556.txt rename to servers/server508/data/mapdata/9556.txt diff --git a/server508/data/mapdata/9557.txt b/servers/server508/data/mapdata/9557.txt similarity index 100% rename from server508/data/mapdata/9557.txt rename to servers/server508/data/mapdata/9557.txt diff --git a/server508/data/mapdata/9560.txt b/servers/server508/data/mapdata/9560.txt similarity index 100% rename from server508/data/mapdata/9560.txt rename to servers/server508/data/mapdata/9560.txt diff --git a/server508/data/mapdata/9561.txt b/servers/server508/data/mapdata/9561.txt similarity index 100% rename from server508/data/mapdata/9561.txt rename to servers/server508/data/mapdata/9561.txt diff --git a/server508/data/mapdata/9562.txt b/servers/server508/data/mapdata/9562.txt similarity index 100% rename from server508/data/mapdata/9562.txt rename to servers/server508/data/mapdata/9562.txt diff --git a/server508/data/mapdata/9619.txt b/servers/server508/data/mapdata/9619.txt similarity index 100% rename from server508/data/mapdata/9619.txt rename to servers/server508/data/mapdata/9619.txt diff --git a/server508/data/mapdata/9620.txt b/servers/server508/data/mapdata/9620.txt similarity index 100% rename from server508/data/mapdata/9620.txt rename to servers/server508/data/mapdata/9620.txt diff --git a/server508/data/mapdata/9621.txt b/servers/server508/data/mapdata/9621.txt similarity index 100% rename from server508/data/mapdata/9621.txt rename to servers/server508/data/mapdata/9621.txt diff --git a/server508/data/mapdata/9622.txt b/servers/server508/data/mapdata/9622.txt similarity index 100% rename from server508/data/mapdata/9622.txt rename to servers/server508/data/mapdata/9622.txt diff --git a/server508/data/mapdata/9623.txt b/servers/server508/data/mapdata/9623.txt similarity index 100% rename from server508/data/mapdata/9623.txt rename to servers/server508/data/mapdata/9623.txt diff --git a/server508/data/mapdata/9625.txt b/servers/server508/data/mapdata/9625.txt similarity index 100% rename from server508/data/mapdata/9625.txt rename to servers/server508/data/mapdata/9625.txt diff --git a/server508/data/mapdata/9626.txt b/servers/server508/data/mapdata/9626.txt similarity index 100% rename from server508/data/mapdata/9626.txt rename to servers/server508/data/mapdata/9626.txt diff --git a/server508/data/mapdata/9627.txt b/servers/server508/data/mapdata/9627.txt similarity index 100% rename from server508/data/mapdata/9627.txt rename to servers/server508/data/mapdata/9627.txt diff --git a/server508/data/mapdata/9632.txt b/servers/server508/data/mapdata/9632.txt similarity index 100% rename from server508/data/mapdata/9632.txt rename to servers/server508/data/mapdata/9632.txt diff --git a/server508/data/mapdata/9633.txt b/servers/server508/data/mapdata/9633.txt similarity index 100% rename from server508/data/mapdata/9633.txt rename to servers/server508/data/mapdata/9633.txt diff --git a/server508/data/mapdata/9634.txt b/servers/server508/data/mapdata/9634.txt similarity index 100% rename from server508/data/mapdata/9634.txt rename to servers/server508/data/mapdata/9634.txt diff --git a/server508/data/mapdata/9771.txt b/servers/server508/data/mapdata/9771.txt similarity index 100% rename from server508/data/mapdata/9771.txt rename to servers/server508/data/mapdata/9771.txt diff --git a/server508/data/mapdata/9772.txt b/servers/server508/data/mapdata/9772.txt similarity index 100% rename from server508/data/mapdata/9772.txt rename to servers/server508/data/mapdata/9772.txt diff --git a/server508/data/mapdata/9773.txt b/servers/server508/data/mapdata/9773.txt similarity index 100% rename from server508/data/mapdata/9773.txt rename to servers/server508/data/mapdata/9773.txt diff --git a/server508/data/mapdata/9774.txt b/servers/server508/data/mapdata/9774.txt similarity index 100% rename from server508/data/mapdata/9774.txt rename to servers/server508/data/mapdata/9774.txt diff --git a/server508/data/mapdata/9775.txt b/servers/server508/data/mapdata/9775.txt similarity index 100% rename from server508/data/mapdata/9775.txt rename to servers/server508/data/mapdata/9775.txt diff --git a/server508/data/mapdata/9776.txt b/servers/server508/data/mapdata/9776.txt similarity index 100% rename from server508/data/mapdata/9776.txt rename to servers/server508/data/mapdata/9776.txt diff --git a/server508/data/mapdata/9777.txt b/servers/server508/data/mapdata/9777.txt similarity index 100% rename from server508/data/mapdata/9777.txt rename to servers/server508/data/mapdata/9777.txt diff --git a/server508/data/mapdata/9778.txt b/servers/server508/data/mapdata/9778.txt similarity index 100% rename from server508/data/mapdata/9778.txt rename to servers/server508/data/mapdata/9778.txt diff --git a/server508/data/mapdata/9779.txt b/servers/server508/data/mapdata/9779.txt similarity index 100% rename from server508/data/mapdata/9779.txt rename to servers/server508/data/mapdata/9779.txt diff --git a/server508/data/mapdata/9780.txt b/servers/server508/data/mapdata/9780.txt similarity index 100% rename from server508/data/mapdata/9780.txt rename to servers/server508/data/mapdata/9780.txt diff --git a/server508/data/mapdata/9781.txt b/servers/server508/data/mapdata/9781.txt similarity index 100% rename from server508/data/mapdata/9781.txt rename to servers/server508/data/mapdata/9781.txt diff --git a/server508/data/mapdata/9782.txt b/servers/server508/data/mapdata/9782.txt similarity index 100% rename from server508/data/mapdata/9782.txt rename to servers/server508/data/mapdata/9782.txt diff --git a/server508/data/mapdata/9783.txt b/servers/server508/data/mapdata/9783.txt similarity index 100% rename from server508/data/mapdata/9783.txt rename to servers/server508/data/mapdata/9783.txt diff --git a/server508/data/mapdata/9784.txt b/servers/server508/data/mapdata/9784.txt similarity index 100% rename from server508/data/mapdata/9784.txt rename to servers/server508/data/mapdata/9784.txt diff --git a/server508/data/mapdata/9785.txt b/servers/server508/data/mapdata/9785.txt similarity index 100% rename from server508/data/mapdata/9785.txt rename to servers/server508/data/mapdata/9785.txt diff --git a/server508/data/mapdata/9786.txt b/servers/server508/data/mapdata/9786.txt similarity index 100% rename from server508/data/mapdata/9786.txt rename to servers/server508/data/mapdata/9786.txt diff --git a/server508/data/mapdata/9787.txt b/servers/server508/data/mapdata/9787.txt similarity index 100% rename from server508/data/mapdata/9787.txt rename to servers/server508/data/mapdata/9787.txt diff --git a/server508/data/mapdata/9788.txt b/servers/server508/data/mapdata/9788.txt similarity index 100% rename from server508/data/mapdata/9788.txt rename to servers/server508/data/mapdata/9788.txt diff --git a/server508/data/mapdata/9789.txt b/servers/server508/data/mapdata/9789.txt similarity index 100% rename from server508/data/mapdata/9789.txt rename to servers/server508/data/mapdata/9789.txt diff --git a/server508/data/mapdata/9796.txt b/servers/server508/data/mapdata/9796.txt similarity index 100% rename from server508/data/mapdata/9796.txt rename to servers/server508/data/mapdata/9796.txt diff --git a/server508/data/mapdata/9797.txt b/servers/server508/data/mapdata/9797.txt similarity index 100% rename from server508/data/mapdata/9797.txt rename to servers/server508/data/mapdata/9797.txt diff --git a/server508/data/mapdata/9798.txt b/servers/server508/data/mapdata/9798.txt similarity index 100% rename from server508/data/mapdata/9798.txt rename to servers/server508/data/mapdata/9798.txt diff --git a/server508/data/mapdata/9800.txt b/servers/server508/data/mapdata/9800.txt similarity index 100% rename from server508/data/mapdata/9800.txt rename to servers/server508/data/mapdata/9800.txt diff --git a/server508/data/mapdata/9801.txt b/servers/server508/data/mapdata/9801.txt similarity index 100% rename from server508/data/mapdata/9801.txt rename to servers/server508/data/mapdata/9801.txt diff --git a/server508/data/mapdata/9802.txt b/servers/server508/data/mapdata/9802.txt similarity index 100% rename from server508/data/mapdata/9802.txt rename to servers/server508/data/mapdata/9802.txt diff --git a/server508/data/mapdata/9803.txt b/servers/server508/data/mapdata/9803.txt similarity index 100% rename from server508/data/mapdata/9803.txt rename to servers/server508/data/mapdata/9803.txt diff --git a/server508/data/mapdata/9804.txt b/servers/server508/data/mapdata/9804.txt similarity index 100% rename from server508/data/mapdata/9804.txt rename to servers/server508/data/mapdata/9804.txt diff --git a/server508/data/mapdata/9805.txt b/servers/server508/data/mapdata/9805.txt similarity index 100% rename from server508/data/mapdata/9805.txt rename to servers/server508/data/mapdata/9805.txt diff --git a/server508/data/mapdata/9806.txt b/servers/server508/data/mapdata/9806.txt similarity index 100% rename from server508/data/mapdata/9806.txt rename to servers/server508/data/mapdata/9806.txt diff --git a/server508/data/mapdata/9807.txt b/servers/server508/data/mapdata/9807.txt similarity index 100% rename from server508/data/mapdata/9807.txt rename to servers/server508/data/mapdata/9807.txt diff --git a/server508/data/mapdata/9808.txt b/servers/server508/data/mapdata/9808.txt similarity index 100% rename from server508/data/mapdata/9808.txt rename to servers/server508/data/mapdata/9808.txt diff --git a/server508/data/mapdata/9809.txt b/servers/server508/data/mapdata/9809.txt similarity index 100% rename from server508/data/mapdata/9809.txt rename to servers/server508/data/mapdata/9809.txt diff --git a/server508/data/mapdata/9810.txt b/servers/server508/data/mapdata/9810.txt similarity index 100% rename from server508/data/mapdata/9810.txt rename to servers/server508/data/mapdata/9810.txt diff --git a/server508/data/mapdata/9811.txt b/servers/server508/data/mapdata/9811.txt similarity index 100% rename from server508/data/mapdata/9811.txt rename to servers/server508/data/mapdata/9811.txt diff --git a/server508/data/mapdata/9812.txt b/servers/server508/data/mapdata/9812.txt similarity index 100% rename from server508/data/mapdata/9812.txt rename to servers/server508/data/mapdata/9812.txt diff --git a/server508/data/mapdata/9813.txt b/servers/server508/data/mapdata/9813.txt similarity index 100% rename from server508/data/mapdata/9813.txt rename to servers/server508/data/mapdata/9813.txt diff --git a/server508/data/mapdata/9875.txt b/servers/server508/data/mapdata/9875.txt similarity index 100% rename from server508/data/mapdata/9875.txt rename to servers/server508/data/mapdata/9875.txt diff --git a/server508/data/mapdata/9876.txt b/servers/server508/data/mapdata/9876.txt similarity index 100% rename from server508/data/mapdata/9876.txt rename to servers/server508/data/mapdata/9876.txt diff --git a/server508/data/mapdata/9877.txt b/servers/server508/data/mapdata/9877.txt similarity index 100% rename from server508/data/mapdata/9877.txt rename to servers/server508/data/mapdata/9877.txt diff --git a/server508/data/mapdata/9881.txt b/servers/server508/data/mapdata/9881.txt similarity index 100% rename from server508/data/mapdata/9881.txt rename to servers/server508/data/mapdata/9881.txt diff --git a/server508/data/mapdata/9882.txt b/servers/server508/data/mapdata/9882.txt similarity index 100% rename from server508/data/mapdata/9882.txt rename to servers/server508/data/mapdata/9882.txt diff --git a/server508/data/mapdata/9883.txt b/servers/server508/data/mapdata/9883.txt similarity index 100% rename from server508/data/mapdata/9883.txt rename to servers/server508/data/mapdata/9883.txt diff --git a/server508/data/mapdata/9884.txt b/servers/server508/data/mapdata/9884.txt similarity index 100% rename from server508/data/mapdata/9884.txt rename to servers/server508/data/mapdata/9884.txt diff --git a/server508/data/mapdata/9885.txt b/servers/server508/data/mapdata/9885.txt similarity index 100% rename from server508/data/mapdata/9885.txt rename to servers/server508/data/mapdata/9885.txt diff --git a/server508/data/mapdata/9887.txt b/servers/server508/data/mapdata/9887.txt similarity index 100% rename from server508/data/mapdata/9887.txt rename to servers/server508/data/mapdata/9887.txt diff --git a/server508/data/mapdata/9888.txt b/servers/server508/data/mapdata/9888.txt similarity index 100% rename from server508/data/mapdata/9888.txt rename to servers/server508/data/mapdata/9888.txt diff --git a/server508/data/mapdata/9889.txt b/servers/server508/data/mapdata/9889.txt similarity index 100% rename from server508/data/mapdata/9889.txt rename to servers/server508/data/mapdata/9889.txt diff --git a/server508/data/npcs/npcdrops.cfg b/servers/server508/data/npcs/npcdrops.cfg similarity index 100% rename from server508/data/npcs/npcdrops.cfg rename to servers/server508/data/npcs/npcdrops.cfg diff --git a/server508/data/npcs/npclist.cfg b/servers/server508/data/npcs/npclist.cfg similarity index 100% rename from server508/data/npcs/npclist.cfg rename to servers/server508/data/npcs/npclist.cfg diff --git a/server508/data/npcs/npcspawn.cfg b/servers/server508/data/npcs/npcspawn.cfg similarity index 100% rename from server508/data/npcs/npcspawn.cfg rename to servers/server508/data/npcs/npcspawn.cfg diff --git a/server508/data/objects.cfg b/servers/server508/data/objects.cfg similarity index 100% rename from server508/data/objects.cfg rename to servers/server508/data/objects.cfg diff --git a/servers/server508/pom.xml b/servers/server508/pom.xml new file mode 100644 index 0000000..2611799 --- /dev/null +++ b/servers/server508/pom.xml @@ -0,0 +1,37 @@ + + + + + + org.moparscape.client + servers + 0.1-SNAPSHOT + + 4.0.0 + server508 + + + + maven-antrun-plugin + + + + \ No newline at end of file diff --git a/server508/src/DavidScape/ClanChat/ClanList.java b/servers/server508/src/main/java/DavidScape/ClanChat/ClanList.java similarity index 100% rename from server508/src/DavidScape/ClanChat/ClanList.java rename to servers/server508/src/main/java/DavidScape/ClanChat/ClanList.java diff --git a/server508/src/DavidScape/ClanChat/ClanMain.java b/servers/server508/src/main/java/DavidScape/ClanChat/ClanMain.java similarity index 100% rename from server508/src/DavidScape/ClanChat/ClanMain.java rename to servers/server508/src/main/java/DavidScape/ClanChat/ClanMain.java diff --git a/server508/src/DavidScape/ClanChat/SaveChats.java b/servers/server508/src/main/java/DavidScape/ClanChat/SaveChats.java similarity index 100% rename from server508/src/DavidScape/ClanChat/SaveChats.java rename to servers/server508/src/main/java/DavidScape/ClanChat/SaveChats.java diff --git a/server508/src/DavidScape/ClanChat/inChat.java b/servers/server508/src/main/java/DavidScape/ClanChat/inChat.java similarity index 100% rename from server508/src/DavidScape/ClanChat/inChat.java rename to servers/server508/src/main/java/DavidScape/ClanChat/inChat.java diff --git a/server508/src/DavidScape/Engine.java b/servers/server508/src/main/java/DavidScape/Engine.java similarity index 100% rename from server508/src/DavidScape/Engine.java rename to servers/server508/src/main/java/DavidScape/Engine.java diff --git a/server508/src/DavidScape/Server.java b/servers/server508/src/main/java/DavidScape/Server.java similarity index 100% rename from server508/src/DavidScape/Server.java rename to servers/server508/src/main/java/DavidScape/Server.java diff --git a/server508/src/DavidScape/Skills/Fishing.java b/servers/server508/src/main/java/DavidScape/Skills/Fishing.java similarity index 100% rename from server508/src/DavidScape/Skills/Fishing.java rename to servers/server508/src/main/java/DavidScape/Skills/Fishing.java diff --git a/server508/src/DavidScape/Skills/Mining.java b/servers/server508/src/main/java/DavidScape/Skills/Mining.java similarity index 100% rename from server508/src/DavidScape/Skills/Mining.java rename to servers/server508/src/main/java/DavidScape/Skills/Mining.java diff --git a/server508/src/DavidScape/Skills/Smithing.java b/servers/server508/src/main/java/DavidScape/Skills/Smithing.java similarity index 100% rename from server508/src/DavidScape/Skills/Smithing.java rename to servers/server508/src/main/java/DavidScape/Skills/Smithing.java diff --git a/server508/src/DavidScape/Skills/Woodcutting.java b/servers/server508/src/main/java/DavidScape/Skills/Woodcutting.java similarity index 100% rename from server508/src/DavidScape/Skills/Woodcutting.java rename to servers/server508/src/main/java/DavidScape/Skills/Woodcutting.java diff --git a/server508/src/DavidScape/Skills/construction/Construction.java b/servers/server508/src/main/java/DavidScape/Skills/construction/Construction.java similarity index 100% rename from server508/src/DavidScape/Skills/construction/Construction.java rename to servers/server508/src/main/java/DavidScape/Skills/construction/Construction.java diff --git a/server508/src/DavidScape/io/FileManager.java b/servers/server508/src/main/java/DavidScape/io/FileManager.java similarity index 100% rename from server508/src/DavidScape/io/FileManager.java rename to servers/server508/src/main/java/DavidScape/io/FileManager.java diff --git a/server508/src/DavidScape/io/Frames.java b/servers/server508/src/main/java/DavidScape/io/Frames.java similarity index 100% rename from server508/src/DavidScape/io/Frames.java rename to servers/server508/src/main/java/DavidScape/io/Frames.java diff --git a/server508/src/DavidScape/io/Login.java b/servers/server508/src/main/java/DavidScape/io/Login.java similarity index 100% rename from server508/src/DavidScape/io/Login.java rename to servers/server508/src/main/java/DavidScape/io/Login.java diff --git a/server508/src/DavidScape/io/PacketManager.java b/servers/server508/src/main/java/DavidScape/io/PacketManager.java similarity index 100% rename from server508/src/DavidScape/io/PacketManager.java rename to servers/server508/src/main/java/DavidScape/io/PacketManager.java diff --git a/server508/src/DavidScape/io/Packets.java b/servers/server508/src/main/java/DavidScape/io/Packets.java similarity index 100% rename from server508/src/DavidScape/io/Packets.java rename to servers/server508/src/main/java/DavidScape/io/Packets.java diff --git a/server508/src/DavidScape/io/packets/ActionButtons.java b/servers/server508/src/main/java/DavidScape/io/packets/ActionButtons.java similarity index 100% rename from server508/src/DavidScape/io/packets/ActionButtons.java rename to servers/server508/src/main/java/DavidScape/io/packets/ActionButtons.java diff --git a/server508/src/DavidScape/io/packets/Assault.java b/servers/server508/src/main/java/DavidScape/io/packets/Assault.java similarity index 100% rename from server508/src/DavidScape/io/packets/Assault.java rename to servers/server508/src/main/java/DavidScape/io/packets/Assault.java diff --git a/server508/src/DavidScape/io/packets/ClanChat.java b/servers/server508/src/main/java/DavidScape/io/packets/ClanChat.java similarity index 100% rename from server508/src/DavidScape/io/packets/ClanChat.java rename to servers/server508/src/main/java/DavidScape/io/packets/ClanChat.java diff --git a/server508/src/DavidScape/io/packets/Commands.java b/servers/server508/src/main/java/DavidScape/io/packets/Commands.java similarity index 100% rename from server508/src/DavidScape/io/packets/Commands.java rename to servers/server508/src/main/java/DavidScape/io/packets/Commands.java diff --git a/server508/src/DavidScape/io/packets/DropItem.java b/servers/server508/src/main/java/DavidScape/io/packets/DropItem.java similarity index 100% rename from server508/src/DavidScape/io/packets/DropItem.java rename to servers/server508/src/main/java/DavidScape/io/packets/DropItem.java diff --git a/server508/src/DavidScape/io/packets/Equipment.java b/servers/server508/src/main/java/DavidScape/io/packets/Equipment.java similarity index 100% rename from server508/src/DavidScape/io/packets/Equipment.java rename to servers/server508/src/main/java/DavidScape/io/packets/Equipment.java diff --git a/server508/src/DavidScape/io/packets/ItemGive.java b/servers/server508/src/main/java/DavidScape/io/packets/ItemGive.java similarity index 100% rename from server508/src/DavidScape/io/packets/ItemGive.java rename to servers/server508/src/main/java/DavidScape/io/packets/ItemGive.java diff --git a/server508/src/DavidScape/io/packets/ItemOnItem.java b/servers/server508/src/main/java/DavidScape/io/packets/ItemOnItem.java similarity index 100% rename from server508/src/DavidScape/io/packets/ItemOnItem.java rename to servers/server508/src/main/java/DavidScape/io/packets/ItemOnItem.java diff --git a/server508/src/DavidScape/io/packets/ItemOnNPC.java b/servers/server508/src/main/java/DavidScape/io/packets/ItemOnNPC.java similarity index 100% rename from server508/src/DavidScape/io/packets/ItemOnNPC.java rename to servers/server508/src/main/java/DavidScape/io/packets/ItemOnNPC.java diff --git a/server508/src/DavidScape/io/packets/ItemOnObject.java b/servers/server508/src/main/java/DavidScape/io/packets/ItemOnObject.java similarity index 100% rename from server508/src/DavidScape/io/packets/ItemOnObject.java rename to servers/server508/src/main/java/DavidScape/io/packets/ItemOnObject.java diff --git a/server508/src/DavidScape/io/packets/ItemOperate.java b/servers/server508/src/main/java/DavidScape/io/packets/ItemOperate.java similarity index 100% rename from server508/src/DavidScape/io/packets/ItemOperate.java rename to servers/server508/src/main/java/DavidScape/io/packets/ItemOperate.java diff --git a/server508/src/DavidScape/io/packets/ItemOption1.java b/servers/server508/src/main/java/DavidScape/io/packets/ItemOption1.java similarity index 100% rename from server508/src/DavidScape/io/packets/ItemOption1.java rename to servers/server508/src/main/java/DavidScape/io/packets/ItemOption1.java diff --git a/server508/src/DavidScape/io/packets/ItemOption2.java b/servers/server508/src/main/java/DavidScape/io/packets/ItemOption2.java similarity index 100% rename from server508/src/DavidScape/io/packets/ItemOption2.java rename to servers/server508/src/main/java/DavidScape/io/packets/ItemOption2.java diff --git a/server508/src/DavidScape/io/packets/ItemSelect.java b/servers/server508/src/main/java/DavidScape/io/packets/ItemSelect.java similarity index 100% rename from server508/src/DavidScape/io/packets/ItemSelect.java rename to servers/server508/src/main/java/DavidScape/io/packets/ItemSelect.java diff --git a/server508/src/DavidScape/io/packets/MagicOnNPC.java b/servers/server508/src/main/java/DavidScape/io/packets/MagicOnNPC.java similarity index 100% rename from server508/src/DavidScape/io/packets/MagicOnNPC.java rename to servers/server508/src/main/java/DavidScape/io/packets/MagicOnNPC.java diff --git a/server508/src/DavidScape/io/packets/MagicOnPlayer.java b/servers/server508/src/main/java/DavidScape/io/packets/MagicOnPlayer.java similarity index 100% rename from server508/src/DavidScape/io/packets/MagicOnPlayer.java rename to servers/server508/src/main/java/DavidScape/io/packets/MagicOnPlayer.java diff --git a/server508/src/DavidScape/io/packets/NPCAttack.java b/servers/server508/src/main/java/DavidScape/io/packets/NPCAttack.java similarity index 100% rename from server508/src/DavidScape/io/packets/NPCAttack.java rename to servers/server508/src/main/java/DavidScape/io/packets/NPCAttack.java diff --git a/server508/src/DavidScape/io/packets/NPCOption1.java b/servers/server508/src/main/java/DavidScape/io/packets/NPCOption1.java similarity index 100% rename from server508/src/DavidScape/io/packets/NPCOption1.java rename to servers/server508/src/main/java/DavidScape/io/packets/NPCOption1.java diff --git a/server508/src/DavidScape/io/packets/NPCOption2.java b/servers/server508/src/main/java/DavidScape/io/packets/NPCOption2.java similarity index 100% rename from server508/src/DavidScape/io/packets/NPCOption2.java rename to servers/server508/src/main/java/DavidScape/io/packets/NPCOption2.java diff --git a/server508/src/DavidScape/io/packets/NPCOption3.java b/servers/server508/src/main/java/DavidScape/io/packets/NPCOption3.java similarity index 100% rename from server508/src/DavidScape/io/packets/NPCOption3.java rename to servers/server508/src/main/java/DavidScape/io/packets/NPCOption3.java diff --git a/server508/src/DavidScape/io/packets/ObjectOption1.java b/servers/server508/src/main/java/DavidScape/io/packets/ObjectOption1.java similarity index 100% rename from server508/src/DavidScape/io/packets/ObjectOption1.java rename to servers/server508/src/main/java/DavidScape/io/packets/ObjectOption1.java diff --git a/server508/src/DavidScape/io/packets/ObjectOption2.java b/servers/server508/src/main/java/DavidScape/io/packets/ObjectOption2.java similarity index 100% rename from server508/src/DavidScape/io/packets/ObjectOption2.java rename to servers/server508/src/main/java/DavidScape/io/packets/ObjectOption2.java diff --git a/server508/src/DavidScape/io/packets/Packet.java b/servers/server508/src/main/java/DavidScape/io/packets/Packet.java similarity index 100% rename from server508/src/DavidScape/io/packets/Packet.java rename to servers/server508/src/main/java/DavidScape/io/packets/Packet.java diff --git a/server508/src/DavidScape/io/packets/PickupItem.java b/servers/server508/src/main/java/DavidScape/io/packets/PickupItem.java similarity index 100% rename from server508/src/DavidScape/io/packets/PickupItem.java rename to servers/server508/src/main/java/DavidScape/io/packets/PickupItem.java diff --git a/server508/src/DavidScape/io/packets/PlayerOption1.java b/servers/server508/src/main/java/DavidScape/io/packets/PlayerOption1.java similarity index 100% rename from server508/src/DavidScape/io/packets/PlayerOption1.java rename to servers/server508/src/main/java/DavidScape/io/packets/PlayerOption1.java diff --git a/server508/src/DavidScape/io/packets/PlayerOption2.java b/servers/server508/src/main/java/DavidScape/io/packets/PlayerOption2.java similarity index 100% rename from server508/src/DavidScape/io/packets/PlayerOption2.java rename to servers/server508/src/main/java/DavidScape/io/packets/PlayerOption2.java diff --git a/server508/src/DavidScape/io/packets/PlayerOption3.java b/servers/server508/src/main/java/DavidScape/io/packets/PlayerOption3.java similarity index 100% rename from server508/src/DavidScape/io/packets/PlayerOption3.java rename to servers/server508/src/main/java/DavidScape/io/packets/PlayerOption3.java diff --git a/server508/src/DavidScape/io/packets/Prayer.java b/servers/server508/src/main/java/DavidScape/io/packets/Prayer.java similarity index 100% rename from server508/src/DavidScape/io/packets/Prayer.java rename to servers/server508/src/main/java/DavidScape/io/packets/Prayer.java diff --git a/server508/src/DavidScape/io/packets/PublicChat.java b/servers/server508/src/main/java/DavidScape/io/packets/PublicChat.java similarity index 100% rename from server508/src/DavidScape/io/packets/PublicChat.java rename to servers/server508/src/main/java/DavidScape/io/packets/PublicChat.java diff --git a/server508/src/DavidScape/io/packets/SwitchItems.java b/servers/server508/src/main/java/DavidScape/io/packets/SwitchItems.java similarity index 100% rename from server508/src/DavidScape/io/packets/SwitchItems.java rename to servers/server508/src/main/java/DavidScape/io/packets/SwitchItems.java diff --git a/server508/src/DavidScape/io/packets/SwitchItems2.java b/servers/server508/src/main/java/DavidScape/io/packets/SwitchItems2.java similarity index 100% rename from server508/src/DavidScape/io/packets/SwitchItems2.java rename to servers/server508/src/main/java/DavidScape/io/packets/SwitchItems2.java diff --git a/server508/src/DavidScape/io/packets/Walking.java b/servers/server508/src/main/java/DavidScape/io/packets/Walking.java similarity index 100% rename from server508/src/DavidScape/io/packets/Walking.java rename to servers/server508/src/main/java/DavidScape/io/packets/Walking.java diff --git a/server508/src/DavidScape/io/packets/bountyHunter.java b/servers/server508/src/main/java/DavidScape/io/packets/bountyHunter.java similarity index 100% rename from server508/src/DavidScape/io/packets/bountyHunter.java rename to servers/server508/src/main/java/DavidScape/io/packets/bountyHunter.java diff --git a/server508/src/DavidScape/io/packets/desktop.ini b/servers/server508/src/main/java/DavidScape/io/packets/desktop.ini similarity index 100% rename from server508/src/DavidScape/io/packets/desktop.ini rename to servers/server508/src/main/java/DavidScape/io/packets/desktop.ini diff --git a/server508/src/DavidScape/net/ConnectionManager.java b/servers/server508/src/main/java/DavidScape/net/ConnectionManager.java similarity index 100% rename from server508/src/DavidScape/net/ConnectionManager.java rename to servers/server508/src/main/java/DavidScape/net/ConnectionManager.java diff --git a/server508/src/DavidScape/net/Monitor.java b/servers/server508/src/main/java/DavidScape/net/Monitor.java similarity index 100% rename from server508/src/DavidScape/net/Monitor.java rename to servers/server508/src/main/java/DavidScape/net/Monitor.java diff --git a/server508/src/DavidScape/net/PlayerSocket.java b/servers/server508/src/main/java/DavidScape/net/PlayerSocket.java similarity index 100% rename from server508/src/DavidScape/net/PlayerSocket.java rename to servers/server508/src/main/java/DavidScape/net/PlayerSocket.java diff --git a/server508/src/DavidScape/net/Protect.java b/servers/server508/src/main/java/DavidScape/net/Protect.java similarity index 100% rename from server508/src/DavidScape/net/Protect.java rename to servers/server508/src/main/java/DavidScape/net/Protect.java diff --git a/server508/src/DavidScape/net/SocketListener.java b/servers/server508/src/main/java/DavidScape/net/SocketListener.java similarity index 100% rename from server508/src/DavidScape/net/SocketListener.java rename to servers/server508/src/main/java/DavidScape/net/SocketListener.java diff --git a/server508/src/DavidScape/net/desktop.ini b/servers/server508/src/main/java/DavidScape/net/desktop.ini similarity index 100% rename from server508/src/DavidScape/net/desktop.ini rename to servers/server508/src/main/java/DavidScape/net/desktop.ini diff --git a/server508/src/DavidScape/npcs/NPC.java b/servers/server508/src/main/java/DavidScape/npcs/NPC.java similarity index 100% rename from server508/src/DavidScape/npcs/NPC.java rename to servers/server508/src/main/java/DavidScape/npcs/NPC.java diff --git a/server508/src/DavidScape/npcs/combat/NPCPlayerCombat.java b/servers/server508/src/main/java/DavidScape/npcs/combat/NPCPlayerCombat.java similarity index 100% rename from server508/src/DavidScape/npcs/combat/NPCPlayerCombat.java rename to servers/server508/src/main/java/DavidScape/npcs/combat/NPCPlayerCombat.java diff --git a/server508/src/DavidScape/npcs/loading/LoadNPCLists.java b/servers/server508/src/main/java/DavidScape/npcs/loading/LoadNPCLists.java similarity index 100% rename from server508/src/DavidScape/npcs/loading/LoadNPCLists.java rename to servers/server508/src/main/java/DavidScape/npcs/loading/LoadNPCLists.java diff --git a/server508/src/DavidScape/npcs/loading/NPCList.java b/servers/server508/src/main/java/DavidScape/npcs/loading/NPCList.java similarity index 100% rename from server508/src/DavidScape/npcs/loading/NPCList.java rename to servers/server508/src/main/java/DavidScape/npcs/loading/NPCList.java diff --git a/server508/src/DavidScape/npcs/loading/desktop.ini b/servers/server508/src/main/java/DavidScape/npcs/loading/desktop.ini similarity index 100% rename from server508/src/DavidScape/npcs/loading/desktop.ini rename to servers/server508/src/main/java/DavidScape/npcs/loading/desktop.ini diff --git a/server508/src/DavidScape/npcs/update/NPCMovement.java b/servers/server508/src/main/java/DavidScape/npcs/update/NPCMovement.java similarity index 100% rename from server508/src/DavidScape/npcs/update/NPCMovement.java rename to servers/server508/src/main/java/DavidScape/npcs/update/NPCMovement.java diff --git a/server508/src/DavidScape/npcs/update/NPCUpdate.java b/servers/server508/src/main/java/DavidScape/npcs/update/NPCUpdate.java similarity index 100% rename from server508/src/DavidScape/npcs/update/NPCUpdate.java rename to servers/server508/src/main/java/DavidScape/npcs/update/NPCUpdate.java diff --git a/server508/src/DavidScape/npcs/update/NPCUpdateMasks.java b/servers/server508/src/main/java/DavidScape/npcs/update/NPCUpdateMasks.java similarity index 100% rename from server508/src/DavidScape/npcs/update/NPCUpdateMasks.java rename to servers/server508/src/main/java/DavidScape/npcs/update/NPCUpdateMasks.java diff --git a/server508/src/DavidScape/players/Magic.java b/servers/server508/src/main/java/DavidScape/players/Magic.java similarity index 100% rename from server508/src/DavidScape/players/Magic.java rename to servers/server508/src/main/java/DavidScape/players/Magic.java diff --git a/server508/src/DavidScape/players/Player.java b/servers/server508/src/main/java/DavidScape/players/Player.java similarity index 100% rename from server508/src/DavidScape/players/Player.java rename to servers/server508/src/main/java/DavidScape/players/Player.java diff --git a/server508/src/DavidScape/players/PlayerFollow.java b/servers/server508/src/main/java/DavidScape/players/PlayerFollow.java similarity index 100% rename from server508/src/DavidScape/players/PlayerFollow.java rename to servers/server508/src/main/java/DavidScape/players/PlayerFollow.java diff --git a/server508/src/DavidScape/players/PlayerSave.java b/servers/server508/src/main/java/DavidScape/players/PlayerSave.java similarity index 100% rename from server508/src/DavidScape/players/PlayerSave.java rename to servers/server508/src/main/java/DavidScape/players/PlayerSave.java diff --git a/server508/src/DavidScape/players/UserInput.java b/servers/server508/src/main/java/DavidScape/players/UserInput.java similarity index 100% rename from server508/src/DavidScape/players/UserInput.java rename to servers/server508/src/main/java/DavidScape/players/UserInput.java diff --git a/server508/src/DavidScape/players/castlewars/CastleWarsFL.java b/servers/server508/src/main/java/DavidScape/players/castlewars/CastleWarsFL.java similarity index 100% rename from server508/src/DavidScape/players/castlewars/CastleWarsFL.java rename to servers/server508/src/main/java/DavidScape/players/castlewars/CastleWarsFL.java diff --git a/server508/src/DavidScape/players/combat/MagicNPC.java b/servers/server508/src/main/java/DavidScape/players/combat/MagicNPC.java similarity index 100% rename from server508/src/DavidScape/players/combat/MagicNPC.java rename to servers/server508/src/main/java/DavidScape/players/combat/MagicNPC.java diff --git a/server508/src/DavidScape/players/combat/PlayerCombat.java b/servers/server508/src/main/java/DavidScape/players/combat/PlayerCombat.java similarity index 100% rename from server508/src/DavidScape/players/combat/PlayerCombat.java rename to servers/server508/src/main/java/DavidScape/players/combat/PlayerCombat.java diff --git a/server508/src/DavidScape/players/combat/PlayerNPCCombat.java b/servers/server508/src/main/java/DavidScape/players/combat/PlayerNPCCombat.java similarity index 100% rename from server508/src/DavidScape/players/combat/PlayerNPCCombat.java rename to servers/server508/src/main/java/DavidScape/players/combat/PlayerNPCCombat.java diff --git a/server508/src/DavidScape/players/items/BankUtils.java b/servers/server508/src/main/java/DavidScape/players/items/BankUtils.java similarity index 100% rename from server508/src/DavidScape/players/items/BankUtils.java rename to servers/server508/src/main/java/DavidScape/players/items/BankUtils.java diff --git a/server508/src/DavidScape/players/items/ItemObject.java b/servers/server508/src/main/java/DavidScape/players/items/ItemObject.java similarity index 100% rename from server508/src/DavidScape/players/items/ItemObject.java rename to servers/server508/src/main/java/DavidScape/players/items/ItemObject.java diff --git a/server508/src/DavidScape/players/items/PlayerBank.java b/servers/server508/src/main/java/DavidScape/players/items/PlayerBank.java similarity index 100% rename from server508/src/DavidScape/players/items/PlayerBank.java rename to servers/server508/src/main/java/DavidScape/players/items/PlayerBank.java diff --git a/server508/src/DavidScape/players/items/PlayerItems.java b/servers/server508/src/main/java/DavidScape/players/items/PlayerItems.java similarity index 100% rename from server508/src/DavidScape/players/items/PlayerItems.java rename to servers/server508/src/main/java/DavidScape/players/items/PlayerItems.java diff --git a/server508/src/DavidScape/players/items/PlayerTrade.java b/servers/server508/src/main/java/DavidScape/players/items/PlayerTrade.java similarity index 100% rename from server508/src/DavidScape/players/items/PlayerTrade.java rename to servers/server508/src/main/java/DavidScape/players/items/PlayerTrade.java diff --git a/server508/src/DavidScape/players/items/PlayerWeapon.java b/servers/server508/src/main/java/DavidScape/players/items/PlayerWeapon.java similarity index 100% rename from server508/src/DavidScape/players/items/PlayerWeapon.java rename to servers/server508/src/main/java/DavidScape/players/items/PlayerWeapon.java diff --git a/server508/src/DavidScape/players/items/ReqItems.java b/servers/server508/src/main/java/DavidScape/players/items/ReqItems.java similarity index 100% rename from server508/src/DavidScape/players/items/ReqItems.java rename to servers/server508/src/main/java/DavidScape/players/items/ReqItems.java diff --git a/server508/src/DavidScape/players/objectLoader.java b/servers/server508/src/main/java/DavidScape/players/objectLoader.java similarity index 100% rename from server508/src/DavidScape/players/objectLoader.java rename to servers/server508/src/main/java/DavidScape/players/objectLoader.java diff --git a/server508/src/DavidScape/players/ptrade/PTrade.java b/servers/server508/src/main/java/DavidScape/players/ptrade/PTrade.java similarity index 100% rename from server508/src/DavidScape/players/ptrade/PTrade.java rename to servers/server508/src/main/java/DavidScape/players/ptrade/PTrade.java diff --git a/server508/src/DavidScape/players/ptrade/TButtons.java b/servers/server508/src/main/java/DavidScape/players/ptrade/TButtons.java similarity index 100% rename from server508/src/DavidScape/players/ptrade/TButtons.java rename to servers/server508/src/main/java/DavidScape/players/ptrade/TButtons.java diff --git a/server508/src/DavidScape/players/ptrade/TItem.java b/servers/server508/src/main/java/DavidScape/players/ptrade/TItem.java similarity index 100% rename from server508/src/DavidScape/players/ptrade/TItem.java rename to servers/server508/src/main/java/DavidScape/players/ptrade/TItem.java diff --git a/server508/src/DavidScape/players/update/PlayerMovement.java b/servers/server508/src/main/java/DavidScape/players/update/PlayerMovement.java similarity index 100% rename from server508/src/DavidScape/players/update/PlayerMovement.java rename to servers/server508/src/main/java/DavidScape/players/update/PlayerMovement.java diff --git a/server508/src/DavidScape/players/update/PlayerUpdate.java b/servers/server508/src/main/java/DavidScape/players/update/PlayerUpdate.java similarity index 100% rename from server508/src/DavidScape/players/update/PlayerUpdate.java rename to servers/server508/src/main/java/DavidScape/players/update/PlayerUpdate.java diff --git a/server508/src/DavidScape/players/update/PlayerUpdateMasks.java b/servers/server508/src/main/java/DavidScape/players/update/PlayerUpdateMasks.java similarity index 100% rename from server508/src/DavidScape/players/update/PlayerUpdateMasks.java rename to servers/server508/src/main/java/DavidScape/players/update/PlayerUpdateMasks.java diff --git a/server508/src/DavidScape/util/Misc.java b/servers/server508/src/main/java/DavidScape/util/Misc.java similarity index 100% rename from server508/src/DavidScape/util/Misc.java rename to servers/server508/src/main/java/DavidScape/util/Misc.java diff --git a/server508/src/DavidScape/util/ShopHandler.java b/servers/server508/src/main/java/DavidScape/util/ShopHandler.java similarity index 100% rename from server508/src/DavidScape/util/ShopHandler.java rename to servers/server508/src/main/java/DavidScape/util/ShopHandler.java diff --git a/server508/src/DavidScape/util/Stream.java b/servers/server508/src/main/java/DavidScape/util/Stream.java similarity index 100% rename from server508/src/DavidScape/util/Stream.java rename to servers/server508/src/main/java/DavidScape/util/Stream.java diff --git a/server508/src/DavidScape/util/Vars.java b/servers/server508/src/main/java/DavidScape/util/Vars.java similarity index 100% rename from server508/src/DavidScape/util/Vars.java rename to servers/server508/src/main/java/DavidScape/util/Vars.java diff --git a/server508/src/DavidScape/world/items/BankUtils.java b/servers/server508/src/main/java/DavidScape/world/items/BankUtils.java similarity index 100% rename from server508/src/DavidScape/world/items/BankUtils.java rename to servers/server508/src/main/java/DavidScape/world/items/BankUtils.java diff --git a/server508/src/DavidScape/world/items/GroundItem.java b/servers/server508/src/main/java/DavidScape/world/items/GroundItem.java similarity index 100% rename from server508/src/DavidScape/world/items/GroundItem.java rename to servers/server508/src/main/java/DavidScape/world/items/GroundItem.java diff --git a/server508/src/DavidScape/world/items/ItemList.java b/servers/server508/src/main/java/DavidScape/world/items/ItemList.java similarity index 100% rename from server508/src/DavidScape/world/items/ItemList.java rename to servers/server508/src/main/java/DavidScape/world/items/ItemList.java diff --git a/server508/src/DavidScape/world/items/Items.java b/servers/server508/src/main/java/DavidScape/world/items/Items.java similarity index 100% rename from server508/src/DavidScape/world/items/Items.java rename to servers/server508/src/main/java/DavidScape/world/items/Items.java diff --git a/server508/src/DavidScape/world/mapdata/MapData.java b/servers/server508/src/main/java/DavidScape/world/mapdata/MapData.java similarity index 100% rename from server508/src/DavidScape/world/mapdata/MapData.java rename to servers/server508/src/main/java/DavidScape/world/mapdata/MapData.java diff --git a/server508/src/DavidScape/world/mapdata/MapList.java b/servers/server508/src/main/java/DavidScape/world/mapdata/MapList.java similarity index 100% rename from server508/src/DavidScape/world/mapdata/MapList.java rename to servers/server508/src/main/java/DavidScape/world/mapdata/MapList.java diff --git a/server508/src/server.java b/servers/server508/src/main/java/server.java similarity index 100% rename from server508/src/server.java rename to servers/server508/src/main/java/server.java

  • bSMzp`{n-^=ICks3H`!=_!rKJ|_&!tG2qp#w z!yU7GaQ=JH>!%z1Ufm~AP@w@z)VSh&wAsWxUd>PWj;kB}OBE`6Kfel#&P+=Kn+YUA z8ukM8G(S>LrQ@X==vE(7oPIXe*qC*>Y(3hmqMMsOr`rAtJIhde|vcs(8aYoxrZ7G$Jsgo(m#P|DkQ9;r#a#+M0j=U}f(z8t;C6~Ys zZs5Ufar2U;{+>w5qO+q^Ef)R|$(9jv)(4?SZVQxW>RPz=s_EM37`zth_TMZmS%TU! zTtIJ*Ht!+H-cxtxeNA#hAB<3lt`x@t8AMsu-T5eOu_8P1A)?yIM3k~6(j4Yi9>ss3%MEuj$5&q(LfMsZArEZI274w=}JEa#dq?>-AQ^eaxTQ=?53@ zFs(e(02M?$#~#W%HX&yL!MCFt5yO9aRwP~PPYg003f!)D_Zx=&hJ(o}VAtuy<`~C# zG(+U{;g6TIKSKqTh_RR*)}inHbVg4}1jY%eR;HU`wuC4)%fo)AM33d6J1Dv zZ(GRdLNWCi#$#*&Ke`^#e@zPMQY_vi{ftCe8tQraSn0OFWrz1Xl|^Nf{d)%YSYuukLp21$Ycmx z`lQV>XdiJJ9>yK1SGLT!epvLp`LVJ4=F3i)!S2UTb`)=R{08Ng$=QfQ-EYFvlPY$S z?cdG(oA&OVrfo2FKOfj#u%1PZvnZ(Qo+gWDPCbbh`X<>rsp@=e5+e5GsHKRN;nSZ{ zb^#kFK)l0R{4~~i@yK-erGw!(Uqy$63Q}h?POP1gsMO&@aUmo9*d6bIu|xBdL;l1m zS))xGlRHOzN5LFEYn(=YeDd#ohtZP{E=pO~-<#uP_v@tK5I%A2oCeD$S(Gw*`lqi^ z?DO|cg7%FKlnX@hha^vSCgA}qngl;wm{Mv^J4}~+3KaYW$~Wi!8kL^Ya+iC^I`Z0N_HGZlTasv6rCWw1L!+c| zap87j1@cI;2M#f^{dDLO0?`5`=GoMCkIk$2NO$y&wGQ*hy|L60Qr?*rZxoP=D=@z3 ze)&KZaaLzkf1sAm?ivGp!Vg%$R}%!G68U@IcX}xhaRu&6@~YdZ>x3|zmQ|+tN$s%Z z-nzeWS9+q6;*j%ZV-S_XdnVl1BAiZs! z9-J|3hf#r^Lb~70@!^9oaQac+D3-dZnq$Ecl$yB~t$cdtS_E1tn_vYM%{#^$9>*W6 zlzj(AKpcd4aYh*vsE>K6aA{ov$V1b}$7|0kl@vEU0;**=?8Xhc()o{&C>braYP}_fBC+Trg?H)<{ils=TVm|ag5N-%Fet3>UCd`}KB(PxM}PdX z|0`3xU@U;R2Ot(vt(wq$hHz&N+?^PJ=TqrC?;TOE%Ex8NMGJV8-IZu3#<0e=HMmGU zxry_wA~5*snwS|6?fn`(muL3PCg(;3pCrb5{G-MdGs#(w6fiMoY$@Fn3B4w!Tu18U zF=D9>LuPqPk~}B_-bpvk10pGA~a~ang$A|9EB(fl;aU1 z?938g8~gno+Ay;$B4A9;HeMXd$fm7F7l$*0F_Z8ck#-Yba?dJ~t#}ee!Rx3TSwx0R zd=|Q&&-WF&0p!C=F0Me~ewe}= z*;tY=DBZ`(trsX|Ic;C$i*%2U*B8 z!Vdx7bczwdlEK0ZS6o+L{L;aeq89j=krLLGg${D@KYmHSX+(^c75}pC!kWk4S(R;f zO}3njDInJL2#ygR9(QLmH$C;)Hw*o8{A?HK`BDRDPih%bcr+%gH z>~P-c>#@+NYAQiWW2tjEc$a3Duve?5=%+4TBvQ`#s1I4~`f^gAySI*FRq*8HlIVAQ zQIW2H*G;n%d=#XmGa5DXCh{A##-D9@`Y84%fU()j(bDEwC(=p=k zXDpJjmzizZ9=;KRg9;WYi~R#@iR5C0JY0}jPG_850U@gd&;}_}pU)iSCbOqbCCZOS z1_utaVt>}!$1+{AL=_*7sAR|@d#lAvA3hd)0Tsy|)SED}GHdfZxx)X%%k47sn}Puw zYlN?vJKD8)ROEc2_y{&R<*jFcA8K9ud}1a3r}qZItt4rQ4%4b(;=88L z%ggVs;}(VJ^6nIVf=p)-p*j3)gYtCF(a_t6P}C$QT#gM67*WNY((qpGZwUJBcmc1a zs}>*LyxLNlHcMJ_@#hoxNG*Hwih@fp$!f|>*_#%s`1+V(qF*AIpzNlu?+7vG#xRLxv{(oehWmH?i_V#fN9w4|og#dvDEfSpI4sCIFDDLj=R@~hwQrz7s z4#lBBu|iAxa_{|rd*{Q+nYGTDb&^>tXV0GfJii9gNs6j!$w&k>L@@Xdu9~L0SVI%pFavkFW6M2!Yd^sQhpaGsNd-rLB5h&>Lf+{bYH@WUcqMM>{~d z-ydIV{F`r|S}S za{lNv%VX}BEdl_B#d;Nwif(H9KUbX*0EcnLV5x=)&$Atic1oxnIkNp5I8vCou?RxY zb@%WWqcw!9BgwDidi<+=SW(J&$tvuiQT*hNdK^N92~0gXU6vpby!8U4NH{K&Cj?vcbP-_elZGdSG-b~2<6 zykAqPrt#eM?+@NoLBV-oAFS)u3DOC#PCKaL=wX3l*4mS8w~mc> zs+-*FXr5(Ri}HAg@vayD1@h72Pn!KCR_xDJephpn#Oz*UT?Ps)5O}}>?SyZq5`);_ zhpU0Dysd8K%7qaaB}FwzGBEju6GI%mP6+0KD;F`&M9hYqD=`+Hi76ZJ;t|Ue4t5o( zZ4iu1W2H2j3*BX=(}cu;1?A|>Y_J^&1G~7ojA7V2HZ5+DuqFgIIp**{6H~qE)(8t( zePOo(ZiD4x-^-9s+e!FTdH(bfl(u3C)V&0=d~cA!TMu9<@PjKJhU_r45bhAA^Qyq| zv13w*BDGdZW?aSKw{U*Fu@Gpp9;lA9_5ii_TI6)t5N zkqsqyx3>@_UPgYrV%k$LxsZz}{j=IKRwD}pw8 zW7e14j(f9v=wQs0nnBI$=Hj&PR1-8X$YaGPj)Jasz-&6Vdo78ZWoB_ViY<>0Ly@yM z=)etO4(C#bvIJx8#p72%N8|{pEwLmv_@sOrSLtBsVDsP^B{dVJd6aR^IqP!NH~3O0 zag1avbczJbv=hyQgW_PqVMr-s7&rw{HFQW^U2|*^k#z_MRtS_3SJEP2l~(FoCdOfX z@*ntb>IE@%Ctdu1n}zF&Z~_D*3MY&J{jZOAhzR21h^yol3xrwBWePs>C3qV6R!jm# z(d1@k0L%~&0`qHLCNWIoTj)ImVnq&-IXhc14>m6k|A8`ZtE=?MFvQC&anyszbIE8- zB2DvjfS(BD=dv+KMG=~2>Tyk6qglj>j$NJoxkvuPl z{y0GP)!%-x-du-M=1efz)Dg%d+4DV(f_>Lrp3XSlX3w2+O{NN@CR5aU*tt;4Q=2Ow z?57Kombn<(4*06)$j{4Qw_R~sG}n&8_^E6WhKngt&+p)dtm!A66#E4xZ)Vw^*FNHW z^OcU>bLDFIO(woHgFLzbCKt{Bl3x^T)(s;Wz#}6ld;{{>Cd#1~d^zvoDb>~c z;0HmT`7MNdZs(qF6Bpig(cSKHK9g7TSl;fvH6yxh<+^FMl5giBa)0GfPVaK%o#1_W zB9|D4fj>r$l%rv0H5Zo%E}MgBEZr>t#4#~o_=%F)UT}ziIfFpwVMVT>>k-$V&OJf6YdJT5wvizj);{PGhyzsafrD%Pbtf>A<#C5E?Zj0=w-0u2DPT;%!uP4=y`8I_!2TjY9ww`st8*b+eb?oLp zZga|$vsfAD*^-4mbuO~$JD9`GwrzEs%1&Zk*{f4!d_L7IowDAW3%6`<&g41^=YP0A z%T;QQS8A!P)fxV=?9%wfQtS36!BQ^kMuP=xK88!X%83(AxV zj9=c~tQ>W2wrC!nej5`N?;eij%F?%4DB3M&z~cA3o04s5<83L7)y#gFvVCJx6*Xhk zWeAslYWfaOAC_4q3DO{x>+4voy;iLZYv2{f6CTKB&nb|; zgL#9(ItmjFh|Q41LGZp)pcWod14Xs-ci|r(bY6;i(h#+WCkLr(HIqUfD4)=M@ zxRM`z!i60+3*d9j+7%6a>bV&OZe2EdMBbh<0y82N4BD zT^UB-B>f-*9}bDLpdeA!_QfwE9F(X+x8Ivm+tD9X(3zZmu zx`O7Z5+;oR-AzSy2GBRc2`qI^3;_-qWI__YSU&7pO%cgk1xB1~n&4gC=~3QY1FLv8 zkpA>fSB=~fIp_4XE&)D9dzo@~ceAbLis`9^A3KcG=ty^|nLH%Hu3%n*U`VM?e}Q`- zRssuN{I$<9m@uVS8ZOXR!Gc&i=?@%cGQptTQu(s~tr*fSEL%p)?K z{=LeE`O0LrPn~Ui8g%<6TGQFHA5S^|^*rLZ-Zj6XyczH^+>2^ytmadlgC6^uq(jLs z6kMt2;{0{xB_Jk1{Eq8`zy1209!P&aiN{y; ziIMf|=lQyjgr1Gh-hb?ciHm|2UePhmzq<_=TJ(k%eA)kAk^PyBq11FDh1l|oR9L5~ z>$ZBf|G^!$!L=9mpQczBa0*-GPCsVu4OyIQs7I~oeOJjPprlDEyKz56Zygq6d$OCP zHO$aEE6k2z9W&e7jNTR96rQ`@Wcs=9ET1Up>P;o@J0{Ely`;9$S|1)A9^o>uZ!L>T zxGPLGBsEPds8v9C4PrD(KA8{gE0Uez=YS@y-6!hz(ab-pdFYRBV`NzI~jh+i(U=3=J3Z_upDcgCMGQK=K=+fI;!Pqy91ZZIM2@Q+d zZ;N(HYOp3@L&h^&^ZH9V_d;A{)9=&xCm zsPHe}hn;jdU-xjhpu8ws@w1BM`Qev6eI9TavP8gM_2eJVKf?|(f4{yA2t+v34*6W~y0vVjwws`rM7gn*N5;s)DRE-dP;!0ude zq@`40>tQz@1&(QrGwt<}ajZjQf24X$2X~nZg&$w`M=kDpNybPh*+pMDIg~AV@VbHF z*^@LL`j4}kM~(mC`2{Ga-4qoES^iuvCHk%?D0zY}9$qYpkSf)t+OeX zpLxk;sd3w!EEtlDlKrRYNB<}Y=$1@X;l%SI#L5swoL}BO~ zLJ!mZKIe#o>*v2;bFbe!PZC`(*@Y(I80dfNFVW}ClT4(0#SL}Y{u~9>eFU;#k$+O4 zcH)dmQL7H3<%Ry`o<6_-xOsTuM!we6LJkaN0F7-wX{?~$S2vD$QnbvzKWa;AGIGdQ z8i)EtRsq_y0EatNzX?FiBa;J=!%Q!h_!uD;10Kvv43s6l*XlMC`a-Q@tjLkg_S8-H zRl-JjdstOk@(@tdHY+PqP_jvr2Z)*@KQzM1o-4ihh7*|{UVum&>IY z0;&%pL=``-lq4#!XqeATZfaXA-}gDx`QGIm^)o$OgEv+U#HHTo$IoMZIt6e2XnSDJ zZ+~8+#fz28N}=@c+h)_K8dCpuMlZV@ZMv6uW8{E@S!njQPLwRYHlB?q=_s=`^Bh1b z$BL}3jQ7HXrM|sq98q1|)D#U8`bN7WF)vMBfu^~NyQ(@jH9G}^jDX|lgt+Zn>iPY1 z7wt%WKXW+hRbQPs7K|8KjQqC`a*kt}&jZPy=SDPvDpBvZNwB}bSaM!zp{RGm9P(KP z2SO|9Vq~kNZ)<&ScX!C@2;E#)-s&!-o~p&EynZM1j#V|#iaXd66w}x=qT1DBFGXg; z$~$3(+tV8`+n>MPce9^{V&_S8wNywG_4~ndq+=lKhqHbwiqALp@gjT>x5t+U3pr}? zwY6cB@l+J4x3Lay-M!K>nKw!H6943XuFf}Yn)$*R4BE-c`wqBuuQedayW;tP8Eho2 zxvf}0$*MGYA#a14W)jkSZVaq9Y=LQ3|7|&0AMV zy}97j(f+?WU;lZ{lrpGE#a4!dfO!Xkn|R6I{ERT2yqZCKF=qy7>a?oeAM1acHrgy! z63k$$(m>Sv9q{R;e&(-(vg}cd2~XrOLFk8v-pXTr9#R!G2MTk*7qc4kDd>6BTR2!_ zgsx8>!czhns`xp}Z+~@WRXcMN8N5c#nkkw9DnJK<%-=vb;};SKzNt#sI}0*;PU-lAzV7JZM!{q(?L%k{wi^ava_Y!b)W zI26L!umsm$=2aE!D_Lc`=Et{nc8J1$S9b|ymKC~DSpD$HI?lUIBL^a~D9@VsVQjES zg`HYfw@N&R(3FtC*cqoNB$eRwTY|%;#FmFC;6?BTj! ze{JhM^xf@vQWpNOpS!cnG-As=gua6PbThq5O21E@{Z3y5nn#kV58oa>2VB~|=65O@ z`LQ0p{w$zkTer3FZTLDfE_;z>RdZus?WCKkm$#fh@Ao4>!T)(-7GM92<5IPP*dsB~ zwoE{X#}wBdOF@uqWw^;yfcNuC5oMH!2%EO9u&4L4-waf?kx(2rl&F-PRTO}!B`yRM zN?3*7de~y{9z@PgwYpreG_xQz^k^7+bgFg%MkXZS!Nk;id1aC*Hvd#)a^`fiO*&M& z13Dqk)4qRnuEpRqBw}z^bn1jf(sV2bww7Hwy+`(U$k#qw^@~f_$Jz-Ncsd~ZqpEO7vNoLxmNw9^27*JzrKdwIPMn1qFo#ql0Xhr>6FCl!+{@i22 zGvIX%{O==SCc>aN(B4dOhxObD9b!~roEgC41>zv~)Dnv^6(Yld)5=#!K2~cHgH6K8 zfFwx86GD7SswCcUaU&g47FBU?tqH&w=Qm(?x9_i#*eAx}uOOtG^DH3Wa$5v5lDgQ% zZ-!8g%uL&&A~)TjCq*|AwN#l%4h-QaFQ9#yh+$U<4sR-Gl#hNj@syBIlORC~&UIL5 zeuMkXr82>Bs%{{fSx_G%bi^gGirFe?`#Q;>( zrJKxAdl{bChnC-&wnFWXv`%J;Ln*x=HUR#LZE!*JI#R=kjGme0_!nO)qh*1?U7?f_ zR~sV(Nx*W`x1chDS9_k<^2l(?i={-A5vlm|yiK3@6>i&|T8ib5B-JfdETKPLJ>*>Y za7KAP8oZjk)0)vr1b)jg`%Q{Z8q!gC{Sp7?^3EICZS}^)>sRa?o&p}5!xLr6xKehi z@xBTTr{Gb19=f?lzx#U^Yz@1#M3iq#SmP*i1dnG5*h%smE1eY<44uig{TmU3`*zc@ zEbAXhcus_d8j|dNiC9XJ)?#)d1@*5KLqXgeB$-uS6m4{sNj0h?VFEHz8EeaLJ25Hf z&;S#>+pa_g?LrzJjzx#P0d(QlCuwEZi7iAZ+z^lN9)%k%iM+6NCRCcsnuJAG0a?y8KB-0|FOjo`Iu zc6~VH@WmswCiU?AdyCvP7!j_j8W|Qa(V_gCb0<*=4qz$XdTd+HT3L}$`&s?Q0Liu{ z&voQfjDqNqeSAho+gU;ewL`F$90J!}flU!N1m$e(2->RAVn|8KFf^+~fORXf`H8~v zS=f%pfT+LR-&^xEEcG6~cS#oH=ovc~DFTY{#)UdN`T~J~AE-YTLnb>A$ z^y!y#Tr?V)PCDAYE~n(+`aBbC=v8Z2>vtc^NgSi0ldn*e+u^F_9eW9?q8-zdH}Q=< z&$Gl|?f*WM(xn^}dxZ&hLGL_S6+P&7T|}Q$4j0Lv?2v7_89#{U37SNU5Wnq9Od8=z zJR3ieFXJrO;YrIX6!-Ve%d!P1f9Op z+g6ylbvioSt&0~!WmkxzX?AFRe+VtBL=6!9O;eQ#-l`9$%Cnt3_+x$~pC1?wb3U9-cjSoc;nhl_U0K@$@`e$?wvchW6 z6v9vmeXXQY)R5(y6g+Mo4aQ9>sx(740!4EgIL;lXFI?6yb(C|nYbi>;ZVZW_Mx_L< zD<-D7Rh(Khy2d4}f1FItb2-?D0ha8^6qu`IguiP5!q2SVo2Jn7WIM}9S>u0Vt77Lg zkK3<8Myk|8wz} zVElH8D^ONY$+uCr)w;Cow#|1@giJzmDD=9ydH(f|Gw@gAM(4p(UsYHUG2jbT+f!l2R6 zKd_kTbvEeoE4E3=L0VuijD1PlW$fnRj>F`{{B22WZSo;jQItT=+lm}M*Z@~4e|m9= z=D=?VdC^;p9FE~8Ew|HhPxZ-Is4ehl;FD`Hsv)$h4(-!oA&JxFFbJG1repMkt`sKy zGXuGa(@4m|S5R;)nw5B~VavfA4_ zb)~;}dF+farwc;yU>jFBXxIlelpfQ*y?mLL0Plq;V-?*fyEh4o)ojJgOj_j#Kb}u@ z6ExNCQujBrfj#{1i~kS0w3-5PG{k*d@kx zI_jHliSe0ckw2n4F}E`jDm9UZT(5Qq_4339CKnRacU}DQ|2X*Ud%Mx9WTMlsMQ&$I zia}7UdQF}d==tQxKqVA0I9F8U>GjW@wtRdwIr=QEt3&a-@XuWeMMxOQ9?=%Nh7!H! z?NNv4v|i^;YS49?uBvVivd%+*!1>Ag7>rl)lfaUa97}8&`L}bm5M*3F8v1KKT0*|X ztAinaYPk&qo9n5hY*>Tz1e_^PV_lf7cKXcZ?GDeiat+ntN`9jAcN^xxu@z(_I)R%6 zWNn$EPSRSFpP7wTd9GRmr^>nOB&ktLw&-TY_^rjqs`cEQ{p$rgka!Yu@>&b1CfMaI z8V@Ei9Y{$&nhDMALcZar6KkOb379fceJfKd+a`0LR?l419Ie@sBZV92*)*`&0#ksa zeKQ|fFt%Z-(Lcron0`rh3bsjBV01p5JCTo*X++Ds?}x z8fuUd9E4mZKpiCHq6WWB5fEaq4a!gJw=Ak_8e$UxDBsdb$P>^K5XebHVJMeDT6)qt z_+*@O;yCN=Tbq`xBFr@5vNGk4o$3?c#vFLfK79B$t7T}bwW6i(pZ_uwAierAG~G~% z$Zkq4S+&?$UJtuiCtDuhf$Sw3W9VmO^bpl2)U-Xzy|^-UqmkQ^ zvR!4%$`bbKYE-T3i=TzMc&UWWu*rWcyb6Nq@d(O#eoGiRU9hrOav@es3+_`-Q}^d) z$=+^_pc<1Xb95Mse$d?|yYfB~fxU?&ZHwrpq~fdBKBimDC$lepQi@3mdT^@NE;1=_ zzMb)p^PYy!DKuu7oHZyh44%0|-=)68MABH%lv#!(8;QCGv>YuuK7d1d(i`iV&bAvS`F^TJ zCNprT!%V?)WQ61{mXs2o0I`7Ct&QYruZb1Fa0oh#57VBBhe5eZi9S`(`5mhHYo{F55x$Q zK`JVVM4v>pCLlu;TZ?85_#ZhkTn~Ym^?&=Pyyqqy2xy;n5d)5B5l|3Rky(((RFg0& zn>6ncXc1m*8Bvy!)ifZqkx{Z07%TiExKN>yc<71HD3!|m5Iv=*Fz8dU{PJq3=SojJ zf0)&w?`_nvkXP>0jEz69*4^T4o|x~cUga&H!VwMc7warp6(Q<;r=#2%^J%T@GV712 zOGouey;+9K@O#l)z1i#tzA3(Pp?u5itf|vuA?s|XW5H;P@<;zAu+eB7Il}d)f~X3s z5q`{46b^|BwOZ%v`BnW9IuNEGWO0$>*Q^E~$GdXDY=3{l3`qUP)7&lI$mhiw3&}-D z%|gqIxhuz!MZl3IH{iwQG}Cu>M6uNPFF!}VnJ5G_#DRDK8sVQGX+*Bqug~tywmc}0 zDs#=#65&gWNVoYbROLG{EBKl3xAl>Y@0sh2OUqL2k8 z*fb<0A!Uo|(}6e#XeEdoY&67S=v=?@WluHER#NEZVD-#jWyKY5m9Nak`dILEnqwyI z`Po(J>2~Q>V`{}ZJ1aY@%sM-}N6>H)^23S&XtWYX_WS>UpBV-Oy8oLte2SzM1jMCR zDg9kDCqke&;)z@VqfB(1IG;^0oKQ=JEz}5z1L5U0`QMROdLNez(<9BMgmZ+0eCpHt zcTp?wj2pYF&&oe6GPuW&#`nFTN*fB>1=PmXzPy}tf20zFeuf!~5rYPZ)v-|{CRv7H zCc}s(SyMPmjs6q>Ml2OUVN=RzvfyZ}98sU6%1C=`eNtyv+)VP3l`mDkSDnXkR-Tr* zCE>gPI%$AWZ|}o+ST)aIl8Lnqa?1VI+Q{#?lyP#EYZH_cEHqt$K?x8%_2mAPw+d<) zy^s=%yOMs@g+*CoGKm*yL8inG@)ozw_KxKQ!e#MOiVbm#f~^o(lBCFj*n-svA4Y0^ z$HFgMNjA2c`D{*G5^PLe;^-24RM`7^eNmw_p@|e{#8hy+TH8<)#WUCUXs1G2+P4ff z|NA8o62Ijl(D1&NaQyrCSNv7BZA2mh5}61@3Dw!|Sk?5l=XA7`>REVrB>C`Amc89B z;nlXiQ7=>Xi1psfC;Q>C=e>`Q`_{D2)*?od5tQI-LgB)hbq*acivW=UY8ATzYt+#R@G)_ym@^(5sIWfFq@FxB&PxL+ z35-?G#HWH*)0@4l0IwoEWL}8=Wvo zOaODQza-weKf~xV^%4E^sLM#blUtD^Mq1K_v%;5!`{l6F&ZqY^GT#s@iBSod~5va(PfwYwt z4RhL^s+BXCs_Uj*(|a~s23pVF5Elt{79+|LiPPXm6?`NFbsyLoP!TUZfImsIMwF5k zs@Ol0-OC|(`sZ1NPitJ{hANBU5p=(dFnIX3Y9MN%-3$Um#VEh(eMz5ix~yR5>r#T@ zs;x~lS91On9YNuYV*R-TjK}PzGiBzy`18ajNTVE$Vc)Wwn)WFzQ!c=ERPe6ltH|X^ zFl$BITM^eyvRqDU?ty91Uml?mBfT`dX8OlMd>c2RR|gS6M7?qb$Yd~lc~h8u_<@RM zOMf|_M0j#CT%Zt>N3+p1wzrs_(s(H4*q00&N|2g2@;Ub@Wc#2IhxIo5`Iz!xD7^Rg zR!m$VGXWkNXhHmC#)9lZ%=7Nrt=H^%GxVrY-kxx|UF6@=I8K^Nh!fGSyeuqY#s* z8pbUQg$ptho+`=(@vyAaS2x!0`u=fuSD~B1at$G(gZ;hO_v*h8d^H!n$^GSPk5Y=t zwJyBoD|j>5`NMFZmflxA_1>-&mpr#Pd}YO+MsEby-*@I$yf6bV%vZ+Io{_A`_1Y&t zD>z{{dYUB$$j3ULSc+RoFlu~S&gmr#HS*TM%&y~+aB>Q6MU2EJODj4s=M>VVN+I%) z%$CpECP4%4&3{UFx5H$U!VDC0;&A&Op|@VlqOE6k^LQcc*qtHHY>nKqCX`(r2f0Y6 zOt$lY29{o&8(g;FwX1vMp-lAoQOfdKRc6|ew(SqLMTawg`0YtX`P2vQcr}vYTCOAg zk{u!uK$okN-Qx*a$K)+yt!>3(z#Z>P#b7}XmqM%XpcC00GI0d?f&#<+^1ycGmZLsH zPsc*S^cXf(n$dh5Va92ig}JCvC>EJYo?~9k)Yu{h^KCA2JUkr1#BaS$uSEPsdjE2z z44x_sN)Zqg6AAg7ecvsj>}X+7LqI=&119yMESwVz_OB@!6sFGBU!V(cWA(il^9gTg zLT&isf{GI=((CK}aDNJSS@_jp9rsWZz;Ody*Iy-ZL`2ou_xmfhqu2ZLAt8Ro{UlaM z^t@|K^k?{m(Gqr;3{$HdAuc@=W8s%FMK){|zO&^%H=RwXk)-4M`$r`McZ_q;THpRN z*1`VIvRvK1F7Xj%zglAeVR}fNS~Ldx;4;%i69pzIh~Gfp4b`Oag?TEmR@O8y z4oLRnKl02_`K>fntjVB|V`jf3Aiq%K#rxq_H=`?<*!O~n?& zqbU#5kT-v6jf$v@exUp)ONGP= zx7(zNL}+Z$Qt$Q=``A9A-QudOAaqp4>-77zC%Zes$7%$uh%phqNBxzaA2ig8%gWM1-lmnH4 z8%+3_bimZq#~E5-phwP=<4zqQHq$nCm7p=!{CV-#P}nqrTJ82s-DC~24|Ge8e$&`o z4d`-vK3N|mr;3#h2>?vLB%qh>eI`QbEaZMD9hBMgL(e29-)AMUKSKBU!m0f9eevx^ z?9#8?8YKMFm@e9dc4 zb-Rr>JMq};;92{* zY-`1lxxcMJ2Q`NfZ!5MGrW64^;5=B+5w%hz-Z0(fKFeDaj850nf=3K zCw-U)o)sk`6J%gOjRFj5w**qPd<3rL%JYiLNHeBB&L7l!IB;5IztzAw@^L-L8jRxV zE^K!yi~Qw&1tY3nRujbb30%bbnXQQ`3c zgHXDtlY4ERGU`2fwkybLPl#H)P3-)A7bbcmHU*kdUb<(}M4 z`N8}-LS*sqZ^4vkuCEpp{==xxts17RTxr_U9T^5P4O$?cWCrU7W;T)Wu%YyWWr-qJ zj`+r;BnH{~g6T}uB8SM1)FMM!u3oVJYr}>hXRrK!egSI5K~xARRsUeGE1rK>JI^n_ zxqXt55RecMXpQh?7yA|k=1BT1zNn58uofV&ss|zkB3LaJhG!AUNr}&ujWK#=vXnv= zmtMU9sEZeHq5<^LJP>m0VyV}~(+~mz0`jYGfC;&k5py_m9IpwQ43SK>F`5$N0;7D% zIJw4>e~FLgoTxZj;Hz5zf)#W;MTV{{9LdVWYLS`N%ot)_hHo|iXJY#fXFEebDX)Ar z40xq9SSOkxAQrS*M@Mz?H8(=UONLhPRq!Z^m0smft+uk52u9OO<8VdxTC`$&iwt!v zRn})HXLf%nwsKZk$m$>f!kMArPBvN$&}HbMQ}6cpkh7dNDAYy8ZvXau-CBx0aW*Rr zr5Px4$V&gYjL46YZ~%)AKSl`NsQ;9opr7kDQvWG>@+kOLpwx!imTSJ+;FuZwoITV1 z*qre1Q@5Lt!=ycTXhc`lA2F}_Qh9-%}I{b``{Uk(A5q+qq$~I%!*P(G#RH0h;85{ zuTw;1YHP=8gshCy5wh8kfLR?RGP*xlG0)o~hIt{4n{CChE-S8m1X1f`X(awChy>hjvr6D4R{{Z3<JX6VqB zCT$d_&i8uzwBqLvU1mNH6#~325$IqZPUfM4PFc1CyfecPV8Mq4w13k-RQzE^Fk33E z`p1#ZP-O(iR5v1KqH)xVdmpLuQ824r%gRVzY8xsmZnNa&*%oScjs-kE-(b3}xG9~p z!X8qB_I{ODJa3OJRsA5jt8|^9!Y|)}Zb|ypvOXE1%ruL=xjUPWQ=SJHarXSVays$g zNdqMm_YWkuH+R!nEcWb&c@bA!4C>~nP-&?%_+HARWgN+)4Jj>#R{Rti8D_*}EjJsi zWQ2d3q~R45ED?#|eM^Z+Yp|^_11<(8OX(Y6$m9jk(*;Hqm`Tvis_4M5@Z!lf!43Zw zaz5YsfzcF&-}&C*ME+D9<);){oa9FF{nPbH%JU~P<%_}(j;)46$t}~!z31~x?=6U* z=vr@t#hP-daLa{BPaCls*%84dYYc{s^YszM2|v;b4KR}s;rh#T3g8cCv$``Xw^ z?2|xJMK*~Ci07iO)0AKDbEcWOTkoat`(zo?pMRYGc)ne4pbYg9CT;n{t%dB&GQS3) z>hk*N=D78`UeWuiY-<>Rt_!`r_7u;b=x8{tqQ1*C9-2biU!*!*S3L=wPz>b2M;1r% zSeX+)Q~Mxd(<$?F!EQ$%BL|=Q=Qim1Cbs2PI_KQrjgLa=#?%bC&bw0rc8Lf z6r}CuD-|Q|Sw&7SmDaM$<);BGFnjKFU0 zBchj2xI&G1F+3^g+Y=lF;^J8yo@`i z3(Z&Y-&rFtwMbuW4Kwy?GD1g%yq?d50lHs7OYh;Jo&>k5_RsLpHHyvuC;GM*WaMVX8XH+n^v|w}LHN&u z83BEY89SAnU3g|GPbho#a&WOd$`0k4JZ3*FE7+|oNDnBL9vfM|uTU>pQs4UYopl%$ zru!&aIH|)1BSzzi93nW(5Z0&Ht}5qKz5I5J7Re5jtasNf=$HP`&di{vzNmz37<>Qw zG`PAgSO)$^s3=T1v?%hrWDuJGHJUCubwW!TNMRtR3{XRiRkOg*VgP>P8Bos(DA}_7 zxo$G_Dm5B{sulxf=u7nW*ybgZbeAfIW!OtK*`vW4gIEAm;9(PO2)iz)ZuI$&%&0K7 z?spNN_KYQhT~bY=8KrgNafQ{>TTEE?pAD(Cib9sLh{G9&2|iT3g^fjyz)1MWnOMEa zUb)eo=EP{c#tOlm^4hH=@{#uBnkFL6QNdh-;V`FB!;Kc!>}d@+ttmk}@6jSdTSnIV zNocNpZF{WaTMMDoea&1OLP-xd4m!G2Hbz2LMx>sLPHCucgzW)SqDx#;+mXt^`HcSN>9Uq1_RiG;gY+LWf}3%sY$l&l(&n>8ua=r}?Z6_Y;*v1<^4; zmsPbdCQF+0Q(S;@GJ~HTMJh2OWbpT7uwnQBT3l2Jicz+jjiWGd$^GSQ8!k$#;&%hU=E658ofOKdEv_46=#urQmZ zF2II(hssr%3ql-2T)%fKW%1IEih8r*0@lch+~=-kncgZ29*B}Hi!yI~DD<(4zG1Bq zH3*q^o&eh@QZq$z61JG4$Reew-E@FNpcb?v)agk*nZ_Ehp`qe1)+m%)t0WUl`XK^c zzJ5hI1XIT7!PBe!_cwNgtg*yer~nJ_bNwvD*?kTkri=8f-1fzHBr$+ZP0jEENQqfX{l9Mle2>7yC=tBdi>My!$-CK78Z z3L12ILg&REb-n5QH$>ZKH4*svv^S|%<8F2;J`d&c5L7Zj zP~pKB_v8W=PF!B20TWtDuyiuBfVk+FbB1Q<0_}?%=KSOaQ9=Zdp4yMJ%xVYJsq!)l z_GhR$;pTQn+2z54-xT0bOw83|z(NOH897|)7;X|%8<^E8a^(P*)|BfFURP42Fc+cy zj{aID&?z&7??NjVN~tIBOz>-EJ78GQB^xl3j#R`)s$V-#o;UvHMql&?YR?9c)#1=A51%<*HUFop9fg)mN% z4AALgs0Ep|vB@PR${8>vp+VD86~;khoG{v0OcL?1fB&<41zPRO{-1)gSF*zlp*#BD z-`809|8I{S4VWkx|6!8_`TD9>vB~S`siS3Kpwhm^xd;fv>TsklE3I`$8+@wkum$8& z$Qa^6P?u2{lV(uo=4-%;xRr;1g#bYcbYH?jKp@9L3IifaiOanY=>j66ySg_4vKp0A zjO?q41Qf+B)_{ky?nt76)28cfJTe8Z<0FqDn4tuzVepuHy!Lbv zXvFyo5QGpAgcy_4)KAcr6*x3`i8W~}wbW{{7y~s8;69xWeXFkVL`v(?3J4wldEEcD zYa1_o@jxPR1UN4a4wBW_+z^qKjft62TxFS(f)BmD3apZSs62a}_XYJm-WE*X2(8z#w?0eS6Jh*a+dG#2a`mXP5U=oQ}K`LEW^4C2TO2q=LKP-!|{AO0J_ATOut&-HN1pl~WX zf@D@-UJGn7u@(_&#!y`RFhoti6Sa?SjU=p97)fe-75pIzHt86&C58&ooU-qEje>b1 zvFIb|%HnKMWd9!kfIxr0r7AE)ixd@6QDQ2n#6)7Ms;VlAh=PKG$S5jB4OU_bKIM z@TBp*6PIm)SOUtx_hvv+D$kFlo~>ET1%b&cBEfqZF*NM%fzt{L1z0RtOoe1pBOfX5 z%qOx>ezl7s$O6S6yIQb|BJ4Xb*P6*RhmUJD#nZwaSv^Q>&eS!RlOaYZcA?&r5c9C> z#hwI;8e%XiZsP&Q$XGj;`LWeB7^2yeBWe8KIk5rTrnUO=vHypy_zCG%Q6jHx{>WSzFi z^tB?u>cH*iwgPm$tX-33U8#)lI$=0utPZGhd0I~`SRUgqzter0GdT~2Rz(bwRu9!a zJn8Pveb{?^c9W8%P*6QEtk%hpu@p6?!xdHN%I<+gh{B*&3V8dcuClUMnUE_D?PsM( zWM2|u7>1gQ3L!MZ85bEhP1A9SiIO~Sg3<2@XjuGn3m3)`n@+6cRW@^N>4e$R8s5O? zXn*@_4bVMgtlxg#HX_5>B8$(<^DLDK%hpVr%MY6a>hsL>g=fMOk$cw52ivrZA(AKJ z>_FWxNy&vsqO6CFA$eF-kxt93k630wVyJx?D?QWQ3F$cwK||Drm`#}l*_{|*yZ&F7 zV|}ceNjYsvHhfylhhwgLV0d?+imaQm1x0|erD4ehfNy$pnEPCr0`=xB48z*kL}RR2 z6#?}@YXNA$SqYg6l4f|5*^t6WvJ;Cx{<=4oGrEhm1YkBGj{04-yrV zJjsyEm{bF=4uRqlple{E;|b}Lg!G3h6EgXBr4n22b|tY@iv$%_f>1&putt0`qNsJEAgeyjR77GCg24g#HG+(XT8*{j(B#QdEDa>FRe~@-6doyj8Puc zv4mM7#RNoR3Mj>qRsz6OV#O7CC*GPV<*LO!gsPB$DFP6L_fsH@Wo)}FHfPfp7jd&` zSh`i0^tjSt3ppOYHpwYX1>D-G?H?^iM?NvP{M@rPp9b$}a z+nt*)To~I5D>KfP(zIP?Td8g52}>(g$5=MNbI2%hfZaCwPj%OKL zj?(p-^y{3ZwL`4vrscHS?-Kp~SJOK_sc>yklMUM)y9yO3#Z1|fa}0tgsIc9!ksigp zwYIWp);&pDYOy)kn_Tj2+VQG-O^&vB^F-!ksEDzzHOmF+Qxvappz7Kkigq?c&uaxy zShnkO8uifax$40~B^q~bWlN}QMOE$CPJ3o*HgX!4Zmi9ZQ(f z=Gu33$`;W%QiIo(n~HAk$v0Sqw5>{(a&X?~x+vi5HLi)PN+V*fYpqi>!&cK=6iV~e zHl3?xq9Sg&X4WkZ*fE_n&UU7h;|SWFjBj@?lut30@jHPlIoDSS5n_YGVz@ah${@U! z-n%gtF)g5jQi{M(sYVL|u&G&DEJ0C7$T_!RWNn25d}pR z7%Yki#aNLbutZS=7AXaSkrG5=f{3C>l0Ztbtt$%1R2HBp1xZjPMT&|gNfs56i4rA7 zNYbi;K|zoaQDXrCBE&>NRUjiIRZ$}ah$4|i1YkuFU@2foKqCSv@=|O+CYDFbBE!TA zexCBYGIBw4Pn{}GdZEv1qQQ4m+So}Ter>a4_mC=0F#Y2ShlzgPX$AhDw>(spe;ZN@ z4^8PrWbR-bpLvG2qrMnaD?et>GIHB|2gyT|vQ}+;Ma`mqk_B`kq8lJ`W;2uYe6LwN zVV@H7TgaHUTUSWyqpbo;vB9#<0*q*Oy+ zR>_H!t2BVKPIuTI!>4Uhvez+uWt0nLRb*)(&zW&yN!v@Volw12tj6uedaZ{0SC-hJ z%uXE$9J=XK`WHAR;HjUo}sv`wJ##iYk`mp*aXifhD%=EI&x451J znE0I`q#I>?Ooi1ds4C-2+4-*iE74V;ZFkQnEXCY0aC*gT_QhWJqJjFR931J(odaZ1 zRdEjrY16a!X$e}p1}!*;1mh{t9>iUMxmLqah9aW~IqR|xXV<;#*U!BX-dKvlrz=Cy zn?A*|X%C>BqraN^kY5Z*^=Xw}Be;THfwxf{iV9_Rkkd5x<@tx7wXk z^w~so!{R424-b>sVB}1TJf01wg_1(zAp~LLkOMk{oQ4BQg8ArI(EAUgpFD(qhS)^qCKglY>7^$w}+FSak!iWnrR~ov}J!d#6?ImG2b2M`QtaMHlDN^<=+U zPk*;;_br?=r)@DfV1!HuAg4kIhAXI{4h|b+0|C%6nOiq5Cy9{fqQ$JN z79VS@G2YJ#1g!H9A>$_@?8&-{q(m3<(~!?3U$+|2%N7)@utO5_IWUDb&{h-*j;=cP$h+sWe{CCpQV%KIK|UCA&ZtRNOI**z+}gTKMc7~N}jwt(5fJa zr&YNs#RT&rz(yEBiCC1juzwQV^YVAEAE9d#n+ndEW;1lehCf)sW9oFqFzd!->Aejw zHW|XAlMoF5wrkCzR7Nc7&d+N-CyAOed%dl;p?I^d+|0t-a%F1_hbzeze6d7P}D!n?x3YH}`_qJqMvNoa(Q zg)UdM9if{vd9lL0UJkh&7vfr!g1a%pgmJkSMZ@?G=R*b5-&a-8uZPXl7Y9Kt6=LTb z;nKM18W&d3Yk0T3s8+WlY9b^><%uX^ySN?#Slo`F^N6a`BIrrUSy4q>MJrUN)918s zrrX`jyi%*0B9e8mI6zUbq)`D<)y-8&p5z|BJdpY3*V4S>aBO z{pAVKF$G%5?l8$JEN%S;6EL3-KFpO-8R-D}vnvlwfx;8>9Eay5=h>DrJxVb2ghsHb z5zNfV3i~IF7DWYg z(VN7GiT3@BQI@qDWNnnO2uF)D`Tie^*5bFCQH3xwrBHSx9>UMzmb0FeUOe!$ z{a2kD>aqI&+{*<20`0bo-Xm7ZvijDX%ZPSjPpX~YT z%XqZ@Pd^;;^mPp#cz6vb3NIV}4%gqEB&V>TI_9ut6a@??CsKJ4slJ@UMJS*`OUGs; z*;6%UtQIv=Sk5|?CdH(XW8He1&TCLc#pU7O9H22919F^%LSZE!0kS!bbCj_4QC!8F z+c&(8+!ry5BANk;(`0_%xp!{_)J@P+Qbe0*`lDCp9Y82Kb8uT&Ow3(M%xcXFITR4v zo(4lY%}jkQi(S67?Zz)}O?f%2i}3`=VHZZMJRG-&Jxeb;Ey~-G8Rd6-d%JFGJAMnM z_od_0oHWjyp9NT;EjOVYJQo8ywUW&=+qjs#t!X&Rw(7yXRB zkv$KQ2v7*`w6G*9Ab!`+)8bwBolcjVIcc+< zDdGI)o!VkD9qsX5{nMyh8ObDi}h7L4Zx z5>aAOATcE}YTWR2qS6Z)``O?6PtP%d+0;RiRhs^&)ezd8L+>LGd>(%J5OQmJ}vzNi#|_9a5|sEqorat5&?+obdOcU`wIfWeZ3D zQj}xgL3c4;|MY+PwDYWs#u%?FmXkrCVkUNDOGGJMzhMgs$|>9U`fD%qq=RR!R0IMl zL8XFEAU!@`kXtj zDgFK1nkz=B*M9WpK_~@-AOmkPET#9 z4nvMxDU3;c`|TM1se4^JWpImY8+g_)%lz}bwr{Z_7SiM!Oxuf-^(qz13s~y{vE8`O zHt79B@K8#~a*|{#Ffu@e{(Y#&wHfxhSTFPT>Y%$mwZbv%f4}S5vpBw|IdZVMWUL{k z1}gy?l?;?aFszFXLo%?)szK@zwP0qWX(-6C)D||$%z^t)SN2bv(K-qikG6Y?CufUl z)Lj?ATD-)*aIEGl-lPC#NvwUwQx+aF`!xx1<+4#HYUU9*FIY5QEG!HLHd*gzzKpL@ z_%#_q?d0MlM=y=Q@w~ljK3lWLnc>xwp?`(*YS+&0_U;44&_c!G?^}N+Db4BFBdA>S z2wQ5gT5@W{vNW{3FZs%sdy&4T|TyVTsE z!5Xj`wMGYfbtF#O*zl@^zc?Q`CJ+{Y)kfM@*ZDnYn0gkk6}&hZG^1Y%_e`tR)a}p@#*gv z^>?_h);hA!YvEPg_q8L1)Cr$;LcEpRKCQ0%F|GMBPJ6!fjw%++%s-F7`-0g?@qbfU z(NSUG^Jxn*O3ZX`0PV)eZBe79VWiwKU7ZSOKS+cOqlUQJWW=oH%I5nPF4I^+2fI_mF9Mg zdUZ7MAZe=_#Sf5URd&~~hD=zhz3$PVu->M!>T%3cUpb^51p`}Zwk>@%j+iBHhY-e9 znda&)Z~K)!0=-|cv4?dbD*aonP~dP?S2n5|ZG6Rf9eg{@++x~0U(qY@+{7>0r@ z3NTFHdsp@3j;!_D31b2+Z&%WY?U8h^G$?W;BT@rczy2QtTWpHpWE!fWSst858Lb)k zC5LK-RI!)v9RvOM*HA*hMgE7 zVqj5OBDHj}$Z7FQT9x2mE{IQ36+I)UdvbT|GKjnW*e}l1D#`wPHH^7EK-~&$i#dGH zR(m(4mwQ+CJoJ(|6z@lqq0*0+vM2lMRxj@ByST$@Eh zBws)v2_R-{c)F1vhH@Wf{6=TG-=`fMzb{LMuQx6G+EK8Ed>8e()~@>Syc&__a$4TL zTmRvOR5zK2fN6(KrXE`nY@qX^N;+zgr|4+tMlkhm&dxt$Q+DgpvM)e!AmBnIA_OSF z(W~OsnvR__450O}+iIXJnmcagQU$RtnACgwH#lpcn1X=eqsaXmxW%eI^L76evi@k! zgHcxB(S!a@^}IFTkEzeeWNzGKKcCq^a&GFir+T%G3w3ixv#lNG!L7r8>GmtZUyD@0 zCKu8K!UjQUki-sW2xdiu$reEoWRj$Rl%_=u2$X+%+q}G!{`1GMI-4B{$l%~l`|V+e zn?def*n2!FLVtVc?tFPxzA9gRSGDx99z99>TT`=>i}b2rHPqb#XEC&lYg%!ZB|!3{w+wGr{c~SSU-(jB`2%Hq(?C`EqYPwW1lD2 zc%A$c`Zfy0z(v=Cg$l1pLTCT(jh=W`v*36)CBz;EL+^l{w%Uw3V$_2_gl zMRFp}G3Cn8tiVMj$y_ELWfxe(W35|8>gUw9G8>1gM;W0IAD}Vjw zTS>e|8Fyn;kgj9<%zNH^q4LJI$!6R|>+&2o_8L{dUNG^R!DsWI=6XJzJou#RVVUmE zd#JEG@hEc!Fnj3|KzkNFWgH&$R1FZu5F|pvAqh9LxASP#LDMYBCCBU4;h5-6V|rf6 zwme@e6tJr4w^^DK+~%-u%^#6uKktNte6J~+hbkgYiSS*l@TQ2bLM{tWJ=yE-t z)|Qr48Mm!-SURUzV=<~xT4zPm^E30DU6Wy_Rh-@bcJ3RgG5IUq@)!DK{vKsI(%7lS z3+OEtyy<-8nEN}9|Gv$c*LrMzdU<|U&}G7u`*yy@x2yYONgb4o?pnb}`cfL3ajNp( z+*-f!>}&Eca0=FsKLwZ;lEX;Gh8WqnH#&2lw6+W=Yrk899($^$hvR*@--@LI*xJ-_ z9*2ax_o9lS| zN~)^3MxM{jGBINOD`NcoUqaI?kim*KugFA=V-hGpkT9Sj=upSZjH~|usX7K$G{t&R z2k{{JbG4t>@Qzd-f6BG+A$uYVwz)?OqH&ZR*dMXW(0FR(S-Q(a*p;?B4faG9IMFDW z4ngD|2e+*AdJ2emcdSq(eosrzY7HCpQX#&ZzmE~u*;Nt=(@4VtJjN6{#AF0)e5&e^ zsIYIa&#ay_#LR3ptzs$<*&~j)ae6OL{p#i7h~KL9&L{4Ae2GeX?K0H3-evEUXpopp zNGuOIAnUh{+;*Y>L9C;P#94!zN*el995KjbVG5$W{-4}oX%jL$x;s{4UD9f&WPH7} z02*cjs-_p8mCOWf(xqGG92vrYH-@5!kuJJ#sDmN(hch zLk|IJonz3ybVThMEYhHNMz2O%_jkB!Y+<^jyi(>9F*v=Qg% z2GNX3pj6!{q!dJ3whlXLI5jStm#tkj#W3CG_{;ZM7%*UD8fyd~4SO+BmWjPlvZHxth1fa^4Cj z8fb89+4i!2f0s*P_8QF>6pb%~=86pylHtpWBa^)|eu6|_BH!)%-X|YILcxs-#0Cb! z0IE_Za~;aKU8sAQi&n7@(D6<0<7?)e^sxE+X6RTD$Yc8cTG~| z@H5|>O)h)z|DnoCZDvJ}GA!ep zr;_!RKujMC);U-_JJ#-(+K(qT>_h+%w(LwNQZdCY?4=19fhW__l$^*Gm8>7*-DZwf zfP+Aje8Y;>_d(kreynI#MO09}K-nPoMizCS_k2IqA10k~Quyj_6M{ZHToV#8B@F@-EWnh8^2HSUo#4TV ziibG2l`RK)Ea!xcQ^zTBdsloz4F*g|o=NRJin-g@(xfTFP*?I6h>}E~5QPJzM1H>$ z20WQoM-Gg&KMga_>>aYg%{;=qzBP2*!6&XE9b$v4BAQV|b{Cw(i&j&Bv1_!eNK{!L z*5G)Bv?SCbf00A%i2T}Kro|=0;AqM3WXZhJtnNm(xKVGp0kB zLJ$BzK2xyJM)E`-$lmg3@r_Yy9ho3VG=yO0KuGr^jA@kBKE=Qj<5C1xO|(xVY0@5&*>V-37r=Jcbq!4nCPkzbu`=^+&+5(UaN8{}F>p&Ihe zL_;S8O+v#A7>ckPNSo9f#A}&8-KCZlEqg67n z-*q{lR19R$ZU&J?yGRAIx+< zzdfPr$+(^jKbq9gy843fy|l!_HeaKM207F@+_Hq_`AXD&KewO0YvEW*6aDPBe zF3pVaB+J`oY;E2m)`-g`w)--SCDVD(#waF%Vwi9Ff`TF9JTe*Ju?Y6{wwvtAULS6- z?7!HH7@5Ew{!t!JMxsILz{8C2ka%jL*8~EjD#jneE=TNZEYDi`o5e%@s2&( z+J=X9ApkZAavjt|^;z`a={zKG$)lhcKBS=v$b4SiClLq;WF-9y%G08*rP0%Cn@Vfj zZf9-4iLcjC-7kehVD*cb8>1tF^q^(oFbK8;BzFs(dHJH+qeFr_9jD~y-`TP-p%;$O zKU>Xq#zqB#tkGAH8WRhvHF(#92K6Rn0@G9EnCpqY&8AfP!-$~S1hV||5D6bj;$Hr~ zbXowR5+`4u7ZVz~(Rv+>3X2;f%`c&K9vj42xPy@y@!o6lmdHuswGIRJ3?;6iQRY`` z2^#?nVGVQIBZ!#t;^JV}eqH`tdgKWBN>dA5hUNVRU`A6cS}ZY}3?gH$p@YD!g%W`v zCmY&MJN~kl=wDk3fS0TF6JWrJ+3I>s=NEhRoiMMJ-RMgzx7~QJiCO}Czam*n8?A3} z7H2?6$_S<+XLz*Y%Vj?rglVl_txh$jD(kFdVzEYn1jy^UVSt5Z2)8ONa;pC^3GGA* zs7tmp$}s4=z|c!d0q2)v4{e`(YQ3*UhgKX zexz`GYAJJ*s7IEAM@moRI*ATKBSo|uBPeLmU?SUAxSW33}j;OyBJlHZwD|GK{xJD)!|VWVPRI{5$|AHnrbBa z<$WK_&D79l*eH-jHLyTsgJs4e44IJW7z$^0ZJ&*xxyV2{7kw=31xGN7cDqv255&+f( zp;o&A2tz>Q)}vm5@}{jj7Up0pyB~S}L&wprpatq*W+xFyNjZS~g-1I0A!bK}fM+-}%w&vV?iV+4gkYi)HG)pY zG&jf;Jt>O|V*Cm>mU=B?OOTO*)>}7_z-D!Qtp*Ni!NlFZxKO-Au&Nd$hbd|{c;jv& zI0#|{Of+dW5XeA>0Rxp7MuosEiT@(xI4%y6&T*Ydfgyy@!&&!d1pz5YmVqH7m9fYo zGz^(NquSa(!Fscd+*APp!U02QyXIgGY7ge9P>Kgos1*e&A>^hb z_>Bq4?e=iwXyk7S&aCsg^4M(RP977x$A z)BFFA_&BQL1^q}Sz8I1JjI(AKqln?g);J*J2Wj8pb>*mDGjt0iwAll{>EdY;KPvP+ zBt6ps8_5C*HvIMtgKMt+!*{o@nZ-l{U7kO$RI3C9G*2Jm|H<4`V1{xOA?5os`OYFp zFb1{2$bva*S)oFOAuHdn<)bJwW_TrHqv4`dJkbVCn6@3FK3qJPSh{Nwo zwJ7;KsIegYom!igRDKQzj~z|_Zi*QP#aun-@eS+I3_QYt1c95i;BLkma@ad@S^1ux z?dt0!&F&F@bi77`BY1j~^^VxKvQ=#; zwWxouDE(jI-Zvh9Z5NMYT*hux$!1;Py^;rf`akTkn}@slm|Lxu=bek*Kgwuh4J;|k zr*;fVLat415wAh`IOG3Wh>geMaj~QHEy*$V$kH^dOONa>tB>FylfzYu=XhP^g42sTMDuKbECA0!G=&`wTf(<7j#szXA>ZzGios z7L`!M-ii0I3k41_`4xJ?BAWW`CqNw&QGY~$hrGG08ZJq(2i05EtI-o+qT7L}Zy$V# zgTekEb)e)BXa2ct4XrEx%3}&l-|6O+A|FP9zu1rK$i3L1m*8wKbEsMPmBe||^chsE zk|zU&4f37X*n%)76E9+B$lN4+zbEeNJ*~S?cMtP0cw|8Xc!Uol`4AZXyjn)FjRF!3 zlDxmR@&IF&+e7<|A@;m#{zs?KUoV&tz+p4SuGDq(my@3si-9W289zrczUdvq-#s!R z4Pam@?*D!H0)9@j?_pA;`8>HsdVaC^MLa?Y`YW@2( zpEU~2@`R9qy9iE5st?Jg=y|rJ!7P3fYYHhi^HXi_<2rqm;oxA3h|eo4`PTL`?*BH; zn5#Pc%Zg0V0SGyzsp@AUk6(_R00Yl@&pw3-w4 zSxUpJha#2yrX8L3Y;v^wZ^+3%jrcwPpvV88d7gvfA8X&Z;rh>xZrcwUU^H|BK6wsLXGs^U0=s4MBM|yYpcKsx$9vEwzl&(Q^gV| z&-_ds$^|GQ3cSIENGS7{0e)JM5Tk{vbC4l%0koE}`2M(~1MmB-`ZA&S zBWrXvkQb|2OfdrFIo!mC*0kCKS!%X~P}S0l3221@ZjeA$QHGJprK6?K_$3Y=Z#1_z zk*^$)9qM_vUxlr`{M+c+xt&^)2<^UT!qOMJ@?5Jd0z!=q_{mYv{$g&SSrKJSKP$v z#s5yf-OOKCl3TM5NxnlE0z^7E6gPiHnD+SMK9Pq;`po= zY_(yPH!f&3OT0j+frO3UF5ZkQ6ctn2zT!;tGp2Z-A8oFB-YnE=8#D2moo=!}3iCXd zOqj``iYe`(&COoK)Z$y_0pun`-vrbIkAz3viV*D>3DgzXvoQIL1DFer@nSnB7lHn7 zK@T6#9%Hk*mS}{3Y|clhw3Joze`oe*?zY*id(NX#ZQQk(8TsE>cdZ& zk`oegW4S~_qdw6;Wxdf5Tdj$eTopm?m>^1dJLDa;%%!sswcP3lM9AuY*N<89_CB)# zn8LCID=-Tt>qHnpo%6V7J$8V=3?CthVc#MaUzEDKvh0utq(G(QA=o3c!Fh=ou`YI| z28S2fUdhK53(UU0f)@m!D`Ygy;vuypB0#I5rrXg7NRFBpn3#XR4x?|GS>smVeN$P; zK)ysU^d=ZX0fOOQpx&q;jp*{&T1I0Ei6k3H9Yf9|pH8Dsc?zmPS69<)I1nTbM}mT; z8)XsO&xkx81i~g3oB0su{&gaEaYA;!MSe@38&N~_pC8!X1l>JM^!5}rL&M8`f=9^6 zmjc{;lXS&QT+2m@&f=Ad{f2IgR@N2uyI%g|+F@GaVO~@mfW!{71UC-6R@`BWVd7dW z?-x;7!Kmpr(&+s1s=!o_gZ4MBG?y@Lkz>W6F#;;cgm9rNP%5@Tk=Rbc<6T8}QQwNzL*hdo0`Nbh!?UltZKLA^f&!+gCWDvy4-l?z411 zxueOS2Oj1XIa*aMS|{Nl%g;mHNKCu|8FH?Hs``b6j5!28eHI$S{Xbl+s;RglyOfIq z3b}G<4vCD=ClzayLK09%+Bk^FVD_cz*w76N6*H)sDOmj#@~vH2p(ZI0Qdk;oEr=MI zsi-f$be+2C?)#BqDQ~?L(t=-*cX4qpLD!4=E+M9TKU(!cO)^-TEh{+m{5|&FtRiw4 ze?hLPYjz_JnSjVeVrX&Nn8O)@WGm9^CJsm{A$JTO^jKpq#2^Rn&}VW)C=3uMA1#Nf zK;;~4`TTZgL_Y00u+i^Q8bue%!dpe2h8f2!J!W`W%@p$|i6_EIvjsj+%fk;c2gGM; z4<0MCsTRKx%3v6VnjRhg!$T!&WW)SU9O#jF%&MEb{LCq6`aP{LnU1_a+4*zd_^;*= zuQ|a~A5>Ke_0OhZ55M!}|1QU|Aqkj%YW5f+W6r!}5EI$gjugDyV`zJnMAq@Md49)$fm5aOH3Qu5*k4!v)+P z|AGEI&aYdeI>7q8^=TYufQ#e+w)UC;4Uj}2A+4+2X`Ww;n)LqW|do1pHGmB4Ba*of-(^qb%%ynmQ z88Kb?t$8IxB)meXFdVAXAsxl#=^#4fLd)}SG=Y48)$X>T0}*85o%u>3d5R1c+Xq#Z0=2m(9Z+sWIPGc-HQZpy_qqaB%bFh;&~^sm4lR& z8PTc96!j~g<&r)}c;h(}(3+{1;wCt0)|GH@+CxwazgoN-6s>5$;`#v5} zo|DjrB+A40%PFmkGmkq3VLa653^|gymL^4lnfp`g@!mgFg<-2+mzX@pLW!sDo?NJ; zG|lj*Gy^BMug=wzn8cru{x8%pd|zK1xYSY^c&7p)F%gsAcHG|;MGfsC;q_A(G3V;0 z{u&%A5F;3=6)TkSD%J^s+dvVc+~$nnz54#ObTD>XcYJ zQucGhG*~FcN#EU>6!$gl_1H86>1AXWqYp#)|5Bf!|1cO^vx`4>#nvOz*D77u+X}b%51WMm z{+C%W1M>a40i@%acqiu7!{_|zi5mIk6WSvw3}7&yqq?@db^EgaJzClliY3{Z20wU= z7JomDQ8BelF1p5&eoH$p*c7Wy@e;%e^bl0bv9rGL*z{h=>X!5rND@#4N)A z!4Q31@}(!k3$%bG*dP@|s{-ADAsz8QEt)?*)*4&t!#$>w|3&@Z=6n7ApP|R~IuzlP z=`%f=9f)B6u|C1XJ8eYpGKu-0nV1NIpNnXT^eyzJF#d0v>zyg(eoK;k_7vT!32hjR ziXf}^iD0H4nqxAQSjH^*%sHkdY6jFOBBAk`AjB3=xA5_hHW;cbQ1mUIZS|6#@`;0~~fxnRJBqd4MKiA2~y)Vc7ku6gbEe1bbh3 zKtvZJ1ofAx>pumeEIzV+`TLjGb@sRD_~|}R%Gli9n*Rm8%={)~XO%1HO3zWBPYLs~ znh}gOQr03=C5T(zWpQKA3N92Z{X$pF%Skj*IbLiXj*Cww7?{N@*$0*h%>l_IQA zp+~v4BoLIxlM_?oeVFW}-AK9gUS-|9*3@~m_``{f?_t5T3!kDO`^B;A@ z(w%a+EEja->+oqsP1=4vtUm#t4L(2H)2asQ^&W4TDcxXxN*IRRtiyT~W0ax^_lndG2fOd@CH+VvJZO;yA%_Q53Y@X}* zu5_w@iN+le;W$HQ-hIbhT9e;pP0-}bJXa^UNDVnHZiS%rg`&vK6+#$N;40VxqMI zu&r`dEo^w?ZPxXyt$8Ag1C_RuG6q{=h8;MuLo*D6+6WC*v9bx}yLhaup|W_R#c#b=2sE%KF8vSjgIc?!vyotqLm`pmZ!phwgVe0yD>Eixkr3oE zv1cH2qacZ%PNnb5+dS2&LYCXK+U5(KT6k_djKVtOGICim#T6T+ zs-^Q75MD$|!n~F|ha}++i(Pb-Wz?c3DYhI6u-1Ummdhz+Megg^k6H?`8OctyRTUO$ z-o`bML>HUQLfEseF|E{~r!*0Z8HEsE#W1Qm(eurPh{urGP*?!kZ6IO>P}UIZsgB!p z%22FnghENJHH0w10xj6a2Vj@FLzyC3XNgd)5UfL3`YsU27Aq$w2xF;*f`SmKk_uB^ zU}hYVJ7Nz~2Qq9*0frQTk~E-%P^_skYf2#zfJg=utfG~pRVsUHkgY<9Rz(IyDPd24 zyI>fD-kgb%Eeduqsx6H`deNB*i&~{h7NvsGqOz2=2H1+lg-BK+HltdI)fOt*YOxU& zMHq<&EM!?)s5C7>w#A~Avd~JFjI|1iK}og9qHJMPH1%kx&uUYcRg9>xJhNg-h^=L7 z0TL{%ZJ}CJI^SmwP7F{1NTH;N+Smw!)^6i1vMEz6WZyalh+zd-qNqe*>Q}7=wk;oa zib5=&GN%pJEULesN-;>IJ*|%=EuJKmm(>f_C?f(1#ZaiLP@gSTKtvRRrlgB19Kg9# z7^#sNVj=HNOqSD-sTjz`MkkF?6&MK2%7T2gGN`dr%25%cRf2_OU@SLfSj8fPmQhpr z%~mSNBE|~wN+d*5R8XwmB^@$~lUo%T2g?JoW&5e3DHT9jgbJ*FRGyPtEK%!b8yVJ$ zvF_SCQoojyBxfJZF!kPnGWkuZzDZ1iA@{UIRt!+dK@mX_i3I^e=Y2UBuOWw2YG$Lm zLh9Q5Y^w9j6f{Ipf@Y|$T8bhSld~v^vI5K5%Ha|A8_6oqno5F#3g#B8SR_OPAW@Lz zY=9#p5e6tj>3#MF1lf{SNeBk^qN1`^g|dT7Z_G-pL1U_|Rh29(_}5u0ZG1MGizrZQ zM&z!vm0E=xLWqot7M4vwrJ$vsrDtKIM!>2i1Qw@iF^KD8_>~knI@3Cel(eFg@~>;u zKPzn(#wi6kCDs)MRtPCs79vDS3EfK!PUNbXZ4{02;}S-RWwiXwv-kP1jCizBKr3r) zEl5JNL19Buuty}6Ygra3q!&3*!bY<`bx5w_xZ0*Y?a5DCRPiNcNy>sG&SJuen`l%u zmO7Rsv?xSMi<0FmR@#=Db<5PW7RRkskr=XNWf)q1vj%6)oQoA<5d=$UW|rCIF{(rt zL^=i)Pqo3r=Kn`bybvE)VAYGsb9gA zSin(FwWp81ESlLWdQ8YV)g5MtvEw07S(GfR0bsDGXCaG7Uu3ZqW`9Kr&wjEdq}`V7ld&hR zhc}WMBm`qwQ;}_GzQRi3MztvN>T0c82~|Rr8w+e%uGZS}WXIid#wXoQ^2)`Yywuc8 zpFLe|sKT?))l#Q*g0!ru2B=c62{=n(`(kDAK&8(y-L zTWtBWAg_&NO$}3q&Pgb%(V@a@lNc%I+XpL5O$Qmp?%Kxeh^-9Me`v8NCMAVbPPUU_ z-!7+pHMNl03gU5>6^DJKSZhxEy9c7!AfgDOj1*NP?`XkDo~WgDy!>sCW(Tgmwfb8* z3czib)gpUwgQLzEe#_p>sH&=q7_m@BELB8|SfY^>RZ$dCRaF)&1tSz<8>M->x-eKO zs3U28kWr-seu>(gqT0JAIMjVNuGUr>bcPkPpBv#cf`_|TS6F&OAXMa7A|2}Zo-%mI zZu5?uCmm+>YK-u+#{!3lQAT|k=U!wm`rB0YOolv9Wap5yv9_wce0K<5vdC6jVA`{- zi_K@{H#9p^DU~Wz7FXQ+c8Hy9qwdL(_Z!V?adxUMD+(w@DCDp5_Raj4laq=yN$|-= zN6XF@+JYsvD5BQd7THkblw!#gSdKJO-DsfXUA3`MCY(-*t?63XU6IvoQty!Ffe=NyaSC`i8Q1wb_iCIGGn%Y_UTDzr+ofC7nVB~B{i(&*LU1EnU+*U1Z!7jmd zHZ2v~tBDF4S-ZA~QM;wB+OzqH%Ij`4seXnu8*ZX4~X=e)&pri=uyGiAp-1NB01s0qW70otz z?(}(Qds0UD=ww-1+3>WK1g0_})ch2jQ@Xz>VyT z)z`nv+P482*DUZ=+3i5$fr^-6;rmy~xjCP*`P5Ul=C~?m2d1`Of6qMV860}oHQHjm z74-|YMGyO`#=qXOwuZmznt~2p__R7WjFuu@S*ZT}@%`|Ga_M8899$c3T{TYyL0qjrBD#C=VY>8Pg>n&H zL1-|e@KL0SNGzvr*{K9BKlk`WTFdun)cbu# z_50!{Vco+hM?>cC)Ip$XZx&G+E7<&nG&mBr65#kG#Ls^D&E1!3W_QInt$Ysh;LVxm z62}>CKw4tx_V|vMLxnp$@%yg_g(XR?r5m`DH`LTV8qcY%7lm<$^N-qqN^3ug`DN}d zp@S?!qg8zaC^7H%gd)7@VQRPv?*#@B2qd45>G||h>Ytyb_jOKBm+aG8oyF&x10pkQ z7AnSOZ>02WjgEx|P>Yf92K2*eANyB(PCxcPj=$aPwJ!Ybv9tCH0UX)kJ{OFh>hzOv++lo zm2M-C zzn?+6{N!-6+0aqMqW8KSDerZz`3(O4)7g{``}9Y3_fKE;_Yaoo?%wI%vVSqcr}Iwt z%q4aB><%bUA*yifu%_&&cc4wxXWeV!j?=EauVuG1+)D+oNXy#kYv~} ziF*-`PAvTX`RJ2>Sjp{E-0RUZBNglH@w!g+@-{FLtxehwS8{#za8q*($u%S;9HlCJLtK8BqdNe3E898+Joe5GcHS z#M4w}2xk}5x@&lh&_G_2ZN=KfG@O!XXl&rdczE^`H6>j^blMqBsxWK-Ie@@g*5F*Y zWO?A({G9IGG5qoj9DD#5%L8XtXmDtkFLc&a^5(YDP>cNrcF7PAt6COL*f0cpRzsXy z5ag7Qa$(68V*?S-tCAUkGx~)IIIKIFJ1Z6ALNBMc(&_Za7v$?}5L z4~l0GiPK_$K#n0I%wUWS>SqsT;{ocz5C$z9*lKj(&Te_UzrXSl(L%BkSyiDThlNbf z_~M1_vn$nY`9W-q0fv!9sp69KVYmKR!weD>N^g|5`{dz82UjZ;R6NVh@^w z!Gt_uBOVzOd9xZz9|a0YBtwkZoD+CUG^&!pWXN(f4Rd7!j7O_uMw4NHF-{YHkxq%w zQ3q#Ila<9JhLQrhTY7D+NVO7ztnwM3@VT#m%A-^!_s8$+>{0Xe%_l!u*r{4cvKRz> zXO*5g^SLS+FD{mrmgC!ct0qp`tInY@7|%*Dup3IV&Cm74`RIP^-RQ#8zJ8AU zOCGAlRA4c)W>+t*v)#vaza3s*WZR4~V~#3=(@Vv}lHG%?#b9q;&Gs*~J}-4DO$RMy zK2Q)2viudX+Hxr*JHz4Or>qX(w1@SBP_shM{own)HlAuzVaSp&^ShMsy)LPQYiRz$ zBW>n;fy2{&4twkabR|k!(&=ol1?pMQit~dA}M}kIu#8CtgF7 zQ=a&S(3fiwQ}|G6CueWX(lG8ZZS>$HaSKYJ!>aB^Vj!A-eiBU^V3_IDp_PJ`o~o9d z%KaQB)$q3Fea*#Wbb~O~hLRnkEYRN+FH$*-kzoKEv6S*w<3=i?x`PEkwi3x;yDF$m z43oxGh%s=->w92a5OrsLMM*q zv=&GspC8&(X`3YfrDxTS=*qH1j3C%saF8gX^FgZ2=?}Ni)-T95IJ zOl2QluUMFjA)>>ayAbrgwLCZ~6O@gMF{U9~VZj|(u+29Q`cDRbn<|7`*3aQYjbOcW zmpc`4ug-5L09x$jm&chD-Mwrs?5Q!)V9kXEvp*c=AWH@3@mwEohle}Cp))uVO9j|( z@GJR8svayDU<@d?C_KOF+Xjh?4F5Dgr|~mTU7a?}+jg?S)1;HZuRsI2sANzRhAPKD znTZKK=vI{XY)mYpvGr#<-YZ~;GPiF;^q&xn7 zqAU~0DP%iNPX?9u8_PkFZ0Tg57Ce%nu?hxzaq+TCvwnM!J!cjPivhc+VL&c6+zm%H ziC@;P=!9^Cv9Di_x3aUcI!N*a)klewOg3)>abhsI*iNT}AMJ&j12&DU-|bs}pDjGn znCV*N=Vo-~MVs1;61yg6HB1@9ctx{DJ6o0S5gH8kw(Z`t{wVkr`{)&9O!*f=lRGBv zTaB~tCa`!SmTUr5`_}Cu2;f-*aNHP{akI6g+T|5dZDA4AS91?ZaWdjy)%M7sT3^fd z==<`&UmLrdc1BVCrp<>hnXC+&G-;c57eL_mT8;dwd2%bYnDSTHfRnx>FZSEUa4TJRpqy` zs?x~Zpll@==BHO&&k+jYSXNf(BHB3y9<;TKJaP6Ae0(YL@?RZa2Q|0G5=^HqyDb&|-*$j-jh_<)tySRn<;31BkEqT!MH5|$ z3NwUnk?7%xnfZ5G3nw-1^=EW1EAv+Pd#7lI4{KyDX4rFcS3>N3U4e~>=@{3OByMK| zlA4PxNL)kM&V&HgfNZ^DP=U( z`Z_s4%)%s~zCjcxw`COiN7R0I7X*2SB1OBC!|>kfU9)OCV}%SdE%_Dn4Zr4Lj8NgG z@QZDzh$MMLt!G})P6LFd3Ofn~q z3s#h*h~tJ(VpzybOpFQ!ia;QOJxst1pP5Xsop-KkB^<%aI0vu=s^E+pz#u3;H^IjJ zb^d>TC*bT_aU7u@#wZ(yS*>w(N+X5{;p_fb(LCbE zDkL|G%W_QlTNCp|Hj@kDG7J@-Q+qxyy<_s_PXM;oDhew ziy95tm04J?Dog?;Y+2ticob69wQ6(A{TaW>{=-^@{UL8gj1rHmqycLT3~>j`!2mM+ z9C!>2lGzylwPJarEz~oU-578ErXN-EhNn@qMtAex#mF+p=-+N)3tky_$INlMq2>cA z_*v_|ywZ;!^#9TIw=638y+6P+`2@o#3=?Y(Ns_5Gq{hrOs#Gl$F zT`9-OSgihe0@&_}gg`w%7XV@4CesEOKxR;5?Lo;<6*3g_`emanoS6!NT$&<4$S@TV z8D^Ut1T2gJW3XhbJ&gHG%NEffoZJMFJK0!yuECW`AU2ui(K?x_;@qHrd45H_w^gV~ z2GLSL^xG9gaV{dew7&fX=E5?-h2~~+dl2m^Q=q(i$fg>M*mv8(>{duTXpbnmo=3Z~ z;O9c8rKB={N%8=*aBkc!%k$;RYK0kR zhU(tBHawBkkcP<&n^|F`v;)@;!efuNy>?1~P5T!jSKrbwyB@RQ@FN!jgatIMa*>ECM&-B0+aFz~)eIC};61+dg< zL&hV3elUoOO9T#($vSmHelI~@Yn-m9(zYyl5c=qBlF#E%K|HSwR#irelVfIsS}DnK zb4aFw`-JLK>4qYz+CRTUOS|H3?!?<%tao8uA_u8cfV{GwXAm)rOaenCw!s*PxmI>D zMdq?><{UKa;|#MJOF0fmD8dP->SyT3wnKr){tsnBpSr&Xjf^~eRKbS!;iX#^`k~6& zxqD?vAUd2b@h#d>(o6}X&+_G$fg7LD{_>sLah=L9s`C=bnJgc}yE5pQYByq@m{X?c zX^#}<{Q{43+?*`Yvj6n+iT&BqocZUbTnCTEh0;Jft~g~({^cj=8%teHIA}C!d%0&s zxQ1+U!BKqW>|2f0P_S9cPQcTgYi1?ejs-s>6w1nOg{djtv?zY#xO+{owW8~)TXxZw z?KH}AM}NmW!N~!z5vU*efim^PcLmGh+naECWG$Tfp`}AM|BDbVB@){BC75~XuMrk( zw56pMPqiz@HBaU$K*Pl~x-QVUvtx!UtACy?mi4JZlW$|uGEkq38F{64ZhO3e0Uk&8 z)rS%FvqH=^OQtkq3@uRlF^Ozc=U_rR1D#>}WQMd>=Gx3?W zsE&a2)#&@O*L>$QPfD?ZY`g}>oHR}IZg9OdlMdIK28F&>J|EpbmtMT${M(X|AThH4 zP8xcq@D-|FHq!J#vz*e)VzMmQHfnmB!8`l8zvRYU2k*B6E(YT{b}@uXuJ`A40TLX2 zRy|{5%7Au$%do-8*p|L`I#W)GW2x$0OZ{)cMco_sYlgN4F9uYMNOTziy)DfR`Ajl{Ha0yvsu-J3A2$Ufb7iGy%gs(b+>X_ zzikC6l9&13<7BPKfq{!KO5jx|thBzhU=oeeR45x(xk&i7QQ7&9x15X#tPDtuO()BsS!M8tO-jacO9pu7YtIp>YCHD_$i4 zbf6RLdbiU~g7Bg%@te4yY#QZx=!v0Ur>CM*;y?NXmi&$G8q()`|EVX`)n3HW@|04D zE0Tfuc98J!eB1u`S%(pEAE#vjUBtB|QadgluS%GiKB8!AdX%_%i!FQYwD=ZFvRK}3 zqy4FzC#}pLFWG#m(_Q5he(cy=b`ZLHw@!t^Y=z)l8jkdCe(n8!_fd2+V@A)jcEsBK z3edMPDk=DKb+UxYQ3+P7O;IM3j(k=;;u){!+oyW_yP+suC%sO1*Lzy$i+9I42?k0` zJUe~D$S(C%0!`ji)HCYi8QgZ;QI`7E02lfjlxVh`@L*k4*=uK%yjr8ZbyrOj|8I1w z4wDv^hCdY2wc-i>^l(X=P3gD1Nv{pPUzr&D+_XS8NAWC^zBBg9OPYW5wNogm&Udo( zordP=i#xuTPuqR@XxCsg*^QomeEiwhSa5eBp8kZinRQ1_(_CyM>D*ub>E|s?6DM!3 z>+lEcvC`vl#YhPdX&_PTQ9|BNEvj`%o&2vY`MW%c0NrJ`J1-stlh)?dG~oYsUac^D z0iAuBc5w6Qy~QBKZTmHdyloFgG^^fnYY(^dyprkWl0hh|Xxi5mTwkJTqqanvYo^ z<2E*xu98&+vQ>At8;*nVw&ZhEW9`8tpo(32Xagvf9G^s>9kYyE(?r^oSEfj5H3_ya zXAD!Yj*bXP@M0QrR+U`Ienuq&4iq4l53FcGZLu&Godsl9a!Az%!DV|0 zwg_7Gi}I_T0t@bJnw~n<$HB;A28y85T8RY^cX%HOhzATZTe!ig?gOMIR@VZ|(KNRU z2&`_z(aVoe?->0ySi39=ueJkLWCe++vCXZxB0b8i9FAdDmXGzd2@_pGb}`ivDO?o! zEeIHFNtq!Er_8 zAq>nFi2$AetJG85+EyLTGdltFA)LJk8{20_HBNSjASM3VT`HcC8dfrOz_bs9g?Nec;gnBJS&zqOR$I3bdB?}>vWK$891T} z$_vEeU?Ykj809aGQ#s|b5p;SbtMVC{q2*1$ck#B^g*YY9n5|u;@~d&!0xnnXAR>*% zOB*Z@V<`Kq5PcB}7{f-g#B7!ghzwC}1vj3IPtRl&(fT2w31m*21QSdGPJu#C;p~9Y zLVJ`3fX(ugjoc1dl$2sPJi7*LK#~Kqvm{ET0PTgF0hj_~7XaV^8#~kNR)$QC8HCnv z#nEq|9&%zp?u)$PL1fiN|tbF(89g zVFFkS5=_RC5O7v9x5$im7U~KFFEdJSrNl6qbfv5|C=uDxm0;Ln2d9BwCPKy2Sca=0 zat@dujQ4fNV(IkERUUTI!01#+WhC2FxYUcN(E2-7kcbpE6w(H4-`MKD*q9>g_b++Q z0U*PqC)DX8=>7B&UW8I19&XD<`_s+bS%6WNgBf6j(I^MO$W(XPB2D~QLqr=eLj{T) z(NIwZ^7g|j%y6`r25+)0ULHcBjo@rpqjrs?6LRou6#|h~VF!_EQ-bm$1>AjY=qx5P z4niMw0F(IPqX-srI2)M)A5De0Lk-AWE&zrwSU3~J$0d*9#o**IBpd)E(hZj21)lob zc?|r{(C{blUFLs9H!nXbkmWc*y5sWK5`J4@|IMF2F&v!2YylbrKzou?3=39a^}@Zb z(`r7ACq~~u@D$;Y7rWxESpHw$vyZoVA}B``KtUB0aLt+XX;u0tb;t;${Rcj+!8sItL4hE*S~by20>-r?6aNR?>(5z5hD4SL?i{E&{{iPYaT-@g?z{O403c ztk%g6u)L}0ya6?x1rC!`KCia9bGj1h1tg0d6oZg-g8o<+V%o_F$@g8&~cW4OoV^?lbcXk|H;6Rzb{`~p=HwSwh81Om4rp8zv3$PZsQ~wL=-EO1Bcb?bU=8FNF zy6&14tJPO1U;%@Q1t%}i6PUy!UT_VY*2ydV8~ zP68kIgs4{UGHjR`Lz3e(fyE!(|0@pOm*d8nT7aw^r6R;TV49o*Hx0WAAQW4dEC-aE zZ6z;-x6b~#)K%ZS)l~ZlnTrl5s*y%;{;jg-Z;muGGBmO(p6ns=OYl7b3XTz!xx;s5 z5#`(~bA-V`u`27{?ivSeFJSh}GH_5=j+wRUxi+!vARMd#9ZQvGIaF8;>dDdt0?&*J-d1UF-Y^d^fdZ7Jo>Co-F>m*=q`ig zXBS7BT2=%0?jQWqcI!H^-SY<7x##g`vBEqcPOV0f#eg}8kxjr^#%HYltD78G5CH7^ zukqOahIVpr9skF8dJq2Q0B{hvR6k5g#7`)8CGy&g&U3&D#Rc4l=J;wA0p2ktm5g!@ z2?>t>=Snrv%7m?6mBa)P(qa#R0mk z;NI9aV+ZiHW=cTZd>udV^ z1XrVMePL(&3rsgrY%U=c&HU$ki*|@Y4!vaavJyf4d}cpj9J(xjC=X_N_r$GISUa=$42oj-qSiftEu2OOs zt$#CqFa?cc#iQLf@ux#-2F3K*usre3m|&^a+UhHu4e=Ev7JX|kca7l~SRBb@(vDdo zIT9$R?mg`ND8O|{dC?w}<|j^@K)OL?lIdR&ZQNwfbk`>NX@@&JH}b)@E2yXxd&9|V z&$PaNEk1p<;U*JVEbThh0RabgK zuIR%XQgJE}p#de!F`|ftoWfsLMV#s!}yzYltQt6dn8 zXcYbs`)a4<^m~i|)1Et7#qVu4BF7G~+&xfoGOhDLb0JWTw|V4mm?2qp5U&ZP&`MnM zxe#eSoO=IT0)cNRi{<~d;@o8$6bIm=OUz&2*g=yM#d(WEDds;X2xNgTvQU;-JaJ8D zHeEnERsEU7kTM8fA%}TZ*)vRh=mb}x!1sg)w5TU|vYv6aV7&w=X%Z1mMD`!H%XaIa zMxPex%M>Ztp52c=uW#SJo*LClAh6&$aa20Kry|NX!8z}kcGKQEp7z4DBMH}oyXpFjK@90mlgXTWkm35p zp+G4|RAzLbP+dbHRg`36!n&PYK2vLM9w(=C)@H*(ei*54(X8qlT3hO{z95~hrqtQB zzCyBO>D_rX*6CE(eDD6somQ)&h@+%E!(NZS9PW*n9oJ1+Zy%3^{Ea4m!)?FcDJt`x zvf5C-r&IECa@+F8&zn0%e>vQF{J}f#UPjqXMwSoFO`4jO-c+lq(5w=~+Q~U@{&N9c zSnCzF<#@Ck{jcfY_uBP*NRQwP@Z3N8y&L9HO-_S_Y_q>Tuu3BELE7=*;yqB?2_q=d0ujr1}hZ|Zub9!HQ>=O$eyti(SkI(77=yqzH_AJ%7 z<`dkh@%Y_zq5aNg#5TIHD7Yu2sK_J4>f79Q-kkZ|PKn;+T#>j#i20`Xc3t6hjUG?e zTJNn0`)eLi)1I!swb-+Wnp)fDgS90)W1hC2-t|+hJ|-k2Krn33`_Tgqkt?j*|e-FMMTGja6X}>&}xBYjJzQ)tWOGObsHm}y& z+Iq5ejXZAOu&~not2XM_Uw7BL@1eIstd#5OY9g*{ZhHQ8Mz`>&esX^DXKlp%QPEZQ zt8AkO1&%Z=Z*EU%&ehy5ymtGB>5-LX;rv$Ny~}5HgWFBFHx=^~1P zo%yjep;me527ZfB(%Nv0$7IA@e`B`Cl*G8Bh4i!MpT}i=Bx4=Xj`~Bg2j- zKQSAeFlsDT#6+tsMzQ`!A^3CcoHfOYuu_<-Z^4tKHPi=i0l098vK`l?n%%ins;mDn z&(<~Z(&Cu8{r}xI%&yJa^^y>X;SiV56684HwvpR+oLUh1WNS-a$OtYn_K+4~1?U?z zS#ceasQmU`@1)sDMv%^z8=6_&eZH zIVzh8_Ahf~4sh6>IkS zKt)!)yxA@46?&39(iP=l(?vV&X^jYpDNvwx>w@vmRf9wmELE&W(;DrVa zK@s6t0|}E#d7On|XtFa(ZXq6WLDf^p3~wPLV(Nz|Ffk~M$v1(B?7XAh5ISQqtvB-6 zKjQbzTV^FSHiL>$Z(iF+5YI;bNqW#Wo0x4_Y5FxIJVCe%!@Dy)qT@KVZamY+^XX~Y zIosbk&rd!R+OZf?E&e*R$-iFXbYXchTSP^X(JQKI^zY`Tisrxm_nrO@S~jti`y#k; z9OH7;`9}!z-DHY~%(|SOafi5^vW9)JWV4nbn!OujYoez>;zRS%kT@@_xbH#7p#PW9c$lZq=a*c5p8DDri0AkF!rg6zeoGHLK zky%%z29bPXnyVo<<eX=O2OY6e^U;7BGs0PCj%vg>=OOQZXiSiy zSGUAwo2#AC?oGWwFU>ejb&V7J`N8Ghy?>12GNg1o9R~hYl!-PV+dt{>(8HGwEtU@Y8I^$PJqPW-W3%Uu{;Gu+3c8Gk@`Oe zE?>|G&&|)wR+-ZkF~DSzPb;Y{fd{}5Y(buI6AFl!<94+TdMJeYiUV^M_yESZi)R(2 znGZY0WLl(mNQRPl4q|-lXS!LM57Qsv|XHCWpqziEsfa_xjy;2?46%E8letmCfBm7`aRTTZ95EciF1%-8j|rz=9|XRhccAX0 zgTgk=%;n*H7EFC3^8)YqA_m2ULqV@HPfLqKkV`&Kk-)*hKHWz}yt4E34LBqmnSn)l zHQN1a&z@}9Kf52ScUvsnIhxrNmP^>z?>=?4E~ie@EBxBRjazHm17KAgM{nc_kDrkt z5(}mcyv|yF1rl{qYR-cQ8Jm$4vr~f2jAv9pmYQ%HEK@6aW=%1D|9e-#D)C|rg2=<` zMLQP>6)>Ikroi;kn(*dJZaJ^0M{fKKo8)ip?&Cfwr$#3wPOhIY3)4RrdCuyMuIS7? zb(3m+-rFHjS9*p|mRBl&>XrXmd3#rpX?o_@_3P{~ zvn#sJp?k?+_R>XU+1;+i%qJa8sSoEv-05C9R#vFS^E~lN%Dv0C9Ztu+$i3pRjxA@# zE#@P&Aco!!&}|v;Jn>qJz8(Zc1fQxtb*0?O+?b>Q?0KmN;Zab!v=+0jzx=^h>+7fK zt5QSCP4oQ?A`aED50?mefCi2+bg^BqE$6R4*G6B(q-vd&k*w;pu7yQE502Qoqxa{# z!#48{>cRVaB@&2;%ib3sG>7OpE(=Iho29z_*(^34$;U{h&C0?{MH)QJbsHrl(~h^J zBQxmIU#4UoS^~8_1gWQQgeDr4ONFkvw3#;U8P{Kb;FfUQc6Ab6$M>QZz2&~OYrf@) zRH$9O_URz+l3go>Pq&Z9HicHShta08@_C3wo|hvg zhbuIhtcm&=ORLn7nvbuQS8qJZKhZ;wUzuDP)CdWVe!V>}JC=;CB$c@%RsFl9!|mrt zKR+s&<}c;I0|EjG>(k$?MeGI6`&ASYnz+*Kh*zv{l0{5B`5`0Q8ZUWs{AO#jyb(p& z^sg?AlA5e~wCWZ6!KGwts|(a~%Jg_^zAGhzm{U=rEh-JeOa?7f=(wa_o-Bj9u2FKh z!Z=xe-r~-qwW?2NoO3H2oV7}1v}4;ruTE$ScZIAMJBB~wCW*0IcKR?cHO7O}rh6gI zyHdfq=_6ayNz_1X-ME_&_qK8oBl+ZZfYIpmy^H9Q(*DQM0hf%{|IQOt+e?)_N2a3` zT?zPGe=?f%G}ohoMfa{B=ZvSH^3jYxH?Yme?=gvn1ZFF>yzu^j!u8z+I$C4OC1!4O zuV${Qbu;CunOavHk2~=flW2@}?0$dG{MR;zxfoIScdxwS*ip-~=8cl!_sd+XW9IOY zE(;Az`rOS;@ZzpGW%^y%x9`1GDO+i(${a(XR?;sNK0F`b}Mivr*G_ zdc;^ohW{mCV8GQ{$ND9)mC%rr9-X&^D=hGB1(rgaorQ`TVY@c_bM-A1W+-cYr1YPZ O|0}$$<@$4ySQ^Y0gTS=^n)WpN1Z5Zv8uaS09y?(Xic!JXjl?(T%(5G=WQ@AK4MaCF%Kq+0nnoF0pB_T z;IKUZ{{0&OfE9%nl9Hw28Vf}Bi3wPQCbAJySRjB=L?Z$d0_LC!!vKpC(lOGaTmT!B zWI2i?3jhEBALzIuzWrG1G`KY_c`z|-S9_7ga0Bd|v9*)UsR$u1Asv9N zUf_WBY>CWS&sAy}0^>P2NyE}w=;DcED{uu>Fo3pnOsge_Hfr5X5$z!!om1mBC%BSa z`J|e8&r|uN>g#PFCJ3gv~8lHzsOac(~%ZH(BunhHbc#`Au4O~|@s?=@a*tII_oxMQhXb#8Q^p<2;S zXItfs>JKUq)XEV|gtYwdzgN8K80BL;*^;1IHMoRdh%IDY!9_PPJy1q}3zuBPfk~4H zbrvu9P8TRLb$u`HNayr}1M@SE9EV)sDjEBnSP~yd2h<+EC(-^ks!+q0VTB}AI2Hu& z>zC*6uB%y)C*Udbh?@%E45kuzwtgF)`4H@36`3vjk&P)3dNKo+lbn*p{2Sdtl|wI! z=whiF@ZYBf&gg~$078Ax)}jC?3V=!&Ks?Gp_N%i?;5|&p9DBIwOgwt`Sr`&0!oe@u za%3!M{z>+N|AuOZj(P$BZhe45djKK@z*#IAlTsGA$~Qhj+Uv0wE{BY{C5ZxafdoO_F&OS9r$@ZTk(rcP>&C>q`p0RRA_5CjBChYSSUat)v^krgiqQ7e|rAyfz! zkYxod&LvSrrbujL6lP>mFL^5pDMB6dRskO21Lla}!(pUj#EKO%#3E3oL9s+!P-R*F z!j)!0l7`VIccMixuQ0w84p0Dx^YZrjkW3up9r+2&qeWXYxy?{c&uw8?M~ zk2pkAuHclPI>h#;*`cNqva?A`$sIQx->>d@u-3q6OMg_P4AnHgxK-*;9qD8~=AekR zlOB%bax^{`*ESW<7P!rPFPM_aS_0on=`FK}Z$R}Njqy7ewfD(E4W8rsp5iG1LFl+g zl)2GW_DZ1x^dN-RgdUz74#ZwOAp0F!!rry3sIS7D35h~sk_kCA%Yvg`a}XPA&x+5S zaU)Ex%{zmJ%3)}q*8!h>j)}E8YX@%8q{-cyKn2Kx+t$Gs#Nj*`Q(GEgvI3{?(7l*z z%aG-4v5yWUVPOKCMpHuL&>^~ELFts>L01%fZ;eQl!vmU4ti(iVwdgWI7wSsl=;+HY z%QDw6QEX_a@dVq)+K1ra1Tb$h9+%43Xq8H-)fN*lrmb-|Zn|epQ>RrbG_kuLjmT$0 zqCbDON!v(U)|Zoth!{!3%S^^5j0x$-#|*S=LEf0uDq<)rnkv;NO4n%P;I{?qHP zE=2&DVl7-J>eMQlMh2fx_ECS=`@SaYjs1ltL_TE$g3}Bh0;%w(1!n3*i^8`BHD(`#gy08`5? z!;u&}Z8UkgZyp6{@kOuY0IfyTm+yb*55De~LB;vwNl?@1@Nd_CP6@vFAjv01*Bx*U zI$-gwBYgMEyn6NUWh>mEmx}&G_dIio{uZCVQMST%;A1hvNrBKW;FKPAgjT9KZQxQv z#y9(^l51Hi=-!mCW0tz3ObJzZFld&$`sg!XDIrE(Up;M04ITw(5vsMj?W9i!^_?>r zm#c^SZmF*n_ogLIr4r|17Y_nN1;Vy&`jQ=#G^?zm-ny0N1~}q~3jDEhE2+>H_zoCeuR}4lgMBl8a zN4u_)%BiusploakdMY?SV0Ryb?Wc}~jkcuvVhR;`=mg`nJNfKn==A9m`QU_f1psB~ z^=b=_$WEixxM;gx@>1dAM{cj}H#3ER7?{FK2+!~vDCI>vPCVMDdW#+o8y2ZQ%%ndm zwznxUPD6PsGgg&+)%NMLy7(sJJ)6fQS6b^fBf;Mz^!KW=AH!I`>1nHmT`iH%0`dd<=R@N1ceNfT$j)o zd(p8_+qA=<%2X@Ed^+JnyG&AcKVxMoat&1CMra?K`+;E{FhPVch;U+yF-v@^U-A(B zJu{YBNzjnCX+Sx8G#&MEckG}=>j?4RYREk=HoQ`wrB@r$BPV`VsE%#(Lt5k)oohMozQf{_R;M(?q>m7a>mlq{VoD=wx`5C zOG!#h-sAieKSMop9AjyQTv=r@vgV~v(CVjg!VLu?OYtV=u_ky<@Cc1~!zxN{dgETc_Z*k)X+9CE`=W z-KU=~bU%9Ymh(LaZ_Ig#-|(7>m4f6xAESm~A=3nnx6~APa-CxhzH6hSmBo2eFc=rx z8`rGzzjK=WDVq!Qm3gHTkKU)#qF?P+j(E0)0}d{+Ra;dhCt0{5j&p^9t8PRClw^^7 zE@|VqYxh#DxW4S|Wo(sq?wadHs+Lw1+VapPS0Js-adCyjARm>;Wh}H-CX$-$*L_@S z-afJK`8!q)fcblig|;;z(G%eqSnp)&TRUHM(FdD|4;%3CG!{8@U320~+~m}?+9}9= z%35ml`pB@k+MUq2Nm`MQi`FQ$N*S7mOL?YahlaR74e&Y}kYLk*b;b2sd#e=M0?wh?8D5iXVnzDW$d^*9m0Ei0hL*%=UHAjGB>mo`#cT4yVP?za@Un zi>(e{KGUeKOQIAiD#gcD=9nuoSj;+;wDG|hwVreEOTt-Dd7I`{xZq&!+ zvql3rG?I~c|FH%C?nV0V2D?Q%>w&jGuailsfw@^TUFi#MOWT<3^KJ#>6E*QT+b7sc1_E6*LBw?dKm+q0>g^Yem5 z+D<*`Bw;@~DrhyQp|+*hU3)uL=?LQZdDy1$a(;xUhwYsjE<670G*t&I&&Tn^0VCTu5JU1R&4yESNReC1 zx2mXbP#E@(Q+sNa>i(t^3lLD3JQ8>(JL$KF8rARUDb8$s_cx4&^*K+|`6h^Fp>&|j zB*MDGWR~l^?ctO@Ug@BSYaf+M>>?}^WqKP|y#DhQWCk%KM>e34L(fEL@c3IKON_v2 ze$qtcocsmU%}qBBj{089PDSu%`^~q!$NH0Cbn4m7THb3fx>3BK?Y&Nd`&%|Z+O;C1 z$Z6ew!0B_6`VL+mY`>7R5LgN`lL!fFev`@;CEXnENy+p0N?=(?+w4jrRzb+2SXce- zrJ0M`aO>fkCzn*zQX7sE4T*v|fh(bg`uuy%W-Ash9(2D2tfUeF1P%_-yoQ0;lxy`f z7BW2wTr`kRyjo?!3|-Gx*l#H4xrMsx)0RY^O>wE{c`DZ>i}IjvV-Z_YirMgnb{Sc( zOD=l|p9KYL+L}44X-tI|UlQ{Wtr&l)DrHJ(iyf?QQl{O6XeGt>pxH?G)S60-QXNfw zRp#bfCsbTqZ4Evb*sB^aoaXH&t}1_N0wOgiDZ-=2y$N&>z+96S1r}4CRPAVn!AzFG zjuDW+{1RG`!<%M!jpJ!mR8%pGJ1SQ;B@YHlNf9#QIPnpb8M#LEel}vkAKf^_Rn>W| zVc1!R6*cqlwbZhN_||Gp!i9mTP=LNVs#ZLRwEm+!p}u%Ug5?BX_96$(2^aL`TZ+3B z4J4wQd_Y&~h%pr1-P|<$w97#OoRW-N2{=9$W z$K|!A)Z#_Fay0<)zq2-*Ijx0Gl;=r7u@4$6r^ii*rYKPfXoTkwmoR=e9LL!g7Z-Wr z?)y)>!0k?@1EAOxO}_Qn{rw|~2>>990z{!!86ET`kf|5YuocnJIH1)RXqDA%!2r|% zbEL>*D0To65;r#e{5ez$VP%nG#27EFVQ|QVVNdwOT z4I^eb7rRoCn;(qiD<(?O==#RvQ&|#N{U3m9mvS6ih(XT(lz|H zGbx_It(L%G!{e*htUIEIj|1lJjf7GB;S@}~Y9Ms9K=feF+4e0BRg)sRBbRdr3;P96B82vO#w)t006R5QWlr`IS-YTPaTy~-s+T- z52K9ISl6dY_X88A418T3%NgoAduAtmy?nAVH#?r*HcH=ExSG(oE$y^_cO@|lgarA? zn~(kX3dBEaQvkU6Bfz)6eE>{=3XI=F2(3m@6eKY+GD2M;MnOS5%fige3{e%U{30&` z3Q4x|{30VSGERiV>+Dd({`c?0(GdjW-VEVJG8z#A=P$Q;9i!*rgc%M>KhBo~-0o2` z_bX=HLPTni9y}HZ{7r#3rYlwwgtrOYNtU;xm|>!PAwpksRM4y}K;#5gm{*5kgdi(7 z3bJ*X%|FiJn?jA`sNt8wLSDConVG3bId9hSSCiVAvTonReu8xv54RMdS^bPiKAC3&TAmv!(%*cKC^Z6i@aE5c9=gd-OhNBK( zo|YrKid#@7Dw>F!gG?l1Iwz)pP^bfrQ>2?)c8Z<$8u;xJ+!L*&ABu?Vrmk?scrZu3VQ z9{QlY208P>kxf$pD-v~l;RIe2L}BRk^}^dLlwnq+1SW`9K7%orEAFdt)xnqV?ile# z0bWylJdDYlFf^Q;F_h&JN!lDI@TMaF@dzmLO~U_UA~G^(a{$;s-}e5;BmQTlyMK_N z!q5}C|6vXjbZr$x1*r4E!a@go02fBjVIP1DNlsG*MtzPFHZQWuyXtG@`B_#x{fEl@ z3(ZY=$s=LKgM=bNArZ{dhYHsNEn;F7Cl#b%5%doh0OscYafHG_328+lE=XZw!T?|l zDgjaefEOKuR-|H7y>mP$u28x$)||KvwOLQCL4KzUL{${EDa{iNtKXqbU(<}d z+^R)e(RvBaxQvmuEGT?R!ZEP#k_6X;Dp=%LP)MjOsf`>58kpcMh*F+pb~BWkg%g75 zXfSniEVQ=h&2R`RaIu(U3B}Ce^a!GHbi8Bj5N+^Kyv=l-39$}b+MDob-a)s{Icjz8 zZRL)4J4mzEzy)7SWyGL}n7zxGRNGjeh7nNkBDslUE@IA{<5+GoWfG|8vzg#R3diM0 zz}WA&(EC{#L+=7wC{#tS`QcxiaO!58I*SgQ*p^0<1!*bNh8lQI+FsTA^ty6=I!v8bF+bf!ng zwQk|iBhm^M42&;^27>0FH|Xz^$oI+3)ikeEaHmlpZ`$rvu}FqdBWT9*(2%UY)~zHI zmc+EN6xCOz-sK3PEgxr10qc$TaJ*_2mI{u)W;ht6n+m^M7U>19y`mS#et;%(eaAHk zAohIEZ7+9FgIx|%V{w&)hGp1(VRu4MHDR-Xum#u-nlKMX#(+qgs4<^GO1qrCVwRQG`-95dmq8Lg9QHoDv-Me&NHQ&Ujb>w= zw)ovlSsfTQN|Hh3QZ;QKPm-DLVTlFJg<_}rQ;E@V#aoG%#3>Y(V1{hFYJj_Bm28C3 z47K{}bfAQ}8$Z?2(kR^LeWjA)6F@xuJ?g1jIE#c#l->8pjIbp_SbVF_^l83{H5@fo zst4pyJ$!+MO1KNY2a`Z(C|8#dxv*xm!fy9fKI2iJ<1g;ByKR%(tenHk=g*F|k>MwN z^+K`Ai+088iZ2KiEo8xE#7;FwCj;e7$P?=|?6FJw23YZ=hETLXH5?XYf8%+mA76hh*2V5_v2usm9uM}pBb9lV#|wx8G;5mW>BFF*&48LZ zQoSB%-g(D_)vy8`VT%PAkOnb7CypJX`mVe4A9(NO{n;l*wKJmzbam6gMs0luJMB{= z)*xTp137H}tnZwqMMZr=JnenR3Ak4YpU!TddY*JFnw+D}(34o${CiOq>7oW55{^~m z5M^W}i$kbT@rxFDxQidi&Fid`vgcDqlE9(<*tMzM_vo?iC7EgK3D=KCE(L7N3+OG= z{>_#(eR7Dm9(H#!N8aV!KV-cb=psKw){>`AocW2(7bnS@MJp6VwT&P}OH;rRimvcI5(DQ;W& z>gcs>WbuntXObj1xUv}i4OkDnLX+OByT~%3-#Ri_F@#rP-3`&3LFbEHt#R@Iv2;`{ zEw}$Px*V=^{|gg}JvpoY1=wh_L=W-5?-*8d0XNbT!v>1CrU)yXIEOUD*}6tJA&($s zKyLi`LX`f*&@rCrl6BN$@)^xQ*u8nhYrVed7C2GiR-*9H2D?@MQI5 zaB8@XWACp?^XV_kK2CuiJl>HRC}CN!Zu(U0P$za?8m<}KG^2Zw`C35 zeqwZavB5t`^iH<4azX8JbrW;=^wKhbPuzbc{~h`ppJ7$L6~sZApvZUN*gxkIqQnc% z7+Qwi_3J(UW5DWx8#W~!b{FEuAsY2e`ce2Dp2QQ61}Lo(fL0Dv7-Gf(QTiNI=;8?= z<;r!OW0~7F&iFJG5I|F*XFB73dZWZCftOn32_}*vj3F@mQr@;-ySe>s2Yfi6%J$Zq z@4LRaZRsp2TB?q z-uK$MNY=sG0(RVlZP*iVE=SO-H3oMegS?6y4aztZq7?eRPanjxG|{$7Jl#2&WRrH% z8Ul_&j=@9cmXD1mMlDv-Rr=-5NK|Ew5_QE?s}3KD%jA-oX6->_Qnr_$IAFv5*9ITX;>WHD6o9UzA)?!}LAt310;CYs!DhZlqhK|L$aEJBo zWC-oF*M1?H9%xtFv`lHi<%#l0B@X2tF-HeW=%VX0B8C%kuec=H!R&BI;6};1kn#tv zxPXL<+?exTQu7eC6t8LoIo;TsTil=&%nn2;wm9G|Q6P~K=A*btuwWo*8?!p>eLK4* z9!zWLN;L9b2qGIf=a?+3f&}4Ljp*0}r;7H=*fYpUWb}Vs@F@{7A>H&>*&DPH2O>hYtF;XnRT-x>EUvf2f zNQf9Y!bf{}vX3oLOcWLTg-Zy(Cu+PsTe=EVN- z!ktJ|f_=YLh8G@fqf?ntnMC7ep;#K)La48a3vsBZVNsj?oUY6qp>DQcnJ6}kUKKsN zm~yZdDE6Ya7~DW9`0==OmnRp4kQN$MqsfcVGk1Pk?lVcb*EUE)-!Fk18iOOLtE$1O z!f2)%tFNiUNYxNg6irnm4VE+;j*%^hh!{2l$LKKQ;OOE>!G)+K%0gFwgT|_uy+uQ% zLPY*gfe465|6eIu@JBTafQb2S^6yye$D7E%TC|TrdrfCy&OWW*B{gNV$iY{V6XL~Z`nk!Sz_5lLT07Ai;~lY>12 z^iRB)Aevy&lsv>1aoO|}5upYw&ZD8hi=t|UaDjqhxlG{^Z2%_!&bly*B0pUX5#fTwEEHQY;n1Xn zgt{o40gbM3hao$+76)rp8N?o!=ugN{fB>Z|a5O!w8)#rDS8!6S9JJZu#|g4Hcb?_? zwV)W4N;r|EqJSwK0THFN!>iG?7=%;}Eo)qy@rxZA=p9V@^x80=2PSw{X&AI(5i(Zd z&@wMk$ikkfiiviK?^BrRDA9+_n3|59mvwc;Sy{0^g6)-+fvTAU0yjYSE`wLUS} zjFNur{l$jdTAiFOE0@-061tb$UigJ_2!vG8<>V zvxuhn93j3ABt{YY7AZLjpU-rf+&aD$@Z@0_RuGvGMEXcU77xN<3WtZL zxra&>ZKtr2(h@%-aW=0KWGSb&Y_LQ;g2cco&|2w_K|Yz6SiG8nTF0Fu;DAv|3<=l%yxyD!o(UfjucFR>yWI3})yd#n zo^bje=R2q8ablui!i106l!3xUmm-3f-0HWhGB2bRV*!DA+nngzLDqC8kt#!cWF6YT zx&x3y%FnP4?>9q&MHtXtfX;5WA`mo%rd?H`vWXkino*?%qQb6fhJ$q%+C_SvC2h4H z?eyR9cb{HM2s#?K?R-td$H#O2Ge(=YMzDbyjmoKbO;eud4GmO_!qGm^0hNr5z?c&e z6DyMnd?{P=UAtLV2Q#5!yOo8=nv@JErt#XsSa*1O^`8`UxZs7-CzN4RQ-DKAeBMFM zWR)G$tb&5huS9oBG$^6)-!uSo<~T;$Y8m7G(Fv#ohTblI9p||Q`}1yzuvZB3A-n_; zYn!M%+@sJVXd{a-ob1%v68P*T!<&kDU`1Y}O^ZP*MHB=DXsVDVd+INP;;4u`lOEH} zVn&?!u2Os|3I9uq{{b5My@pl*%JH|~-~MIB|8Kj0ueZzZ_W<;w0RgZ8L=&!dPkm`o zqCV)rPR5j%ygjpU4FpltLvk5|714(R0mvMHiXMt?6cK>$iO1#D?3c5F~A7nV&*A}tybRKfp#rXl*@fPV(3@str0DX3Tl zi5MFbQWT=_u{D>y3swXZLKQ5E{_8+kB3`Dkk-ZGF0I5FBm>Ps zRT<4ezqHM={6e_UVyefm{;J@_PYeASB}$uiXBU=MLd*tK69Bsw8Awb!L*IL#{gVFZ z<&*a?a5=0bR<3sDPIWzNqAXKKSN)A@y<$%;04=QXOc{WClRVpJ@Tw>PA%C}hw+_t(lfW6c8ZAR4V&I5F?hx~C-j*Q}AJa&H zNCFoeucYh@HY4@UhLGAKRC8zuLS2AssjBlsUL{Mh->0xvbqzM1SCGXWe;rKv>H?ym z2N)diDXdI!Exp6tFTZk9>W%?K86z~{cf>nFB`76RITUItfM&g#sev#YqBTcM6k5pg zOJP!(dIOtT6CpK8vQSqy*7X|FWt%M3USlzj{veVzb|#oSg-vTcQ#d@rK*`}!(J@mT zJPB^fL<<$8fB_W2A}RhFJZj_#s-dXW<_^Z9=ww?h26-+M*F@P#LQaQ@VbwUAyr39O zTrpV|SuHseeCSM^yh6d8;U!%f3>-45Pg~rzU^P&)kgmy7uVZ$1vO9ha;f|Miopa4t zdvm3Bj{^|Bxh6F7nE9jxUA#;xrB#DJVKC|Gar`_LHx+rzBM5QWT=#n@YoQ`(tD6Tc zggujr2~$j!iP?lmTomTmSm338;OcUx(hDs#hkLl;yp<+=`!8&@lOfk!MJMO+yNBH` zZnB2leDPXaeZ$O{h3_=uiFh`FLK4#06s2hrJ#TdWv=!>#IHODOx6gg%i*FywXKQVS zwW~jF@m@Gc@U{Hk1ZRqG+zvdDyb$*n*w8iw9B=K?=}vMCAqerYUu*o+t?d-g>!6l> zx@C6JEIe4OFzKJV#)CiY8dhwCmg?$`BqI)sO;=7u{cdG^*FVu&S%<8gd=frOUng>K zW0rI`(EY@zKycBs#563$#piwBmDeF|w-<8vsnY6Q=ALccpMMY@0`L8Gu3rkKhce|uqy7Hu_jxD{+?ysTkY!VVOY}}SQ z6c7y$3u|xGr|uIezW6H;1fg>T4oee6^J#O+ldx%G7G_WZXuv%^e`#wd^lT+y*P@>x zZZBXlIU0ij*Kad_S*AYX5EL{Xf6aU0m29=`s=vo?DSH~HahJQ~3A`Uy2CQHiZ zylOE*y-ECueRUdVt%^Lx3TT9i!9Zkc#reora@%ZAiM+i&c`G}Qbc-57LJ0bke%Z4f zp&DDKZ)?m_a>d(}O=|b}LwE)$OJtS`@huL!OC`l#W@S;VGPapbw!FIvt)veXv$HY3 z^6pM!K%lL+p}U_ZL7v{ne@t^?g%X*znlP=aXOSq@Lpx^ywj_lIJ@wBBVMVxERq0v^ zLA`ItvIX($Tb;ku1;nC`=?XXs^)o6l5$C)#+j$iG?tz{Ha{rDk*L>>&9XPXDAfjcZcN5LdIA! zWv)A+kcfWn8;O6qn?C&HcZ?^KTCT`M<~T-k%5iy7mP1Rtp$&ZM;~?$w6SV?vOwiTz z!*u+Ci_cv7r&g9_=s#s+Zw%N1wdp1K;Km=Jj-<&R4m{v@!?3}g^s7X7c&21{|5;p? zh+HE4^ViLdOTN5KRwee~{!I8>&sY&G(U%0jQ3ZG=I5k@r>^2?r~sD zh}&QI+bl^du?hXTe*#q}TUhs9M4-`z1hWv{GEY=b z6Ejws#Nyu94;ns7EM{TxMe*9mZb5p}?R@Jla#dH$F3AnG%@ehuvm^v8(I7;sNOaC# z-5@+ck*?y$@`UqY{ea(N@eCyV0Pf^Wo?gy^snN1LM&wb;$-g^%#PV9OS4HfaMmMuisybF>S|_V0rApUbJ`qG z^St|eLB65YJSXzuWt&%_B;Z#pF4ajqgm^1D_zFh`ILu%d%^%9&ERRB%Q7GmpkZ8x8 zO>Wa&)=nY!PUIziyipsK;FqQcvNJBnAEC-C1v|PAt|SeY$Ckc}3Psp;m+Fd2Af1#M zUp-$l;@LWh&U<}X4=!wShoYz`a`x0(rm=oyd!sXAcs~NJ?wR(VsFw9ytXspY_cyvd zswsGgSP4u#ABKD6XN6_H#_|;zTx7NS+~pXwgJTQq)g_)=7^; z*Qf1Gm}_5CpccMxRuRBu;wn?e+lO1`hf50Puz7y!(X?g|8DG>X7vTHL*kC!!pTyy% z$6WG!=u}qlx99KlC6w*9J00q_OtGRvrjvHJXlZU(CT)75S6#{L&2%9%>YC0}Uo^x{ zS!E_klrd9+;v@ra!yXG_Qw;1wi2IYZ71LYIm5z2-d*u!RBzUfL@7L1&5=d4l;34y1 zmZn#s7*unZ2s=4LaXO2ttbWknkK`1BP4YdjV*R%rZXHW8+||!eC@V$W>_8BNZ$ftaJ0k?daS$h6R(zx?cE4w4%Fx zY=6VRUfe9{d6WwabnmGZg~qdAqW1E6w=1Q7XzEq4Ss1~0<+q5Eu{qq50*|bS%>u