import java.io.DataInputStream; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.LinkedList; import java.util.Queue; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("ea") @Implements("UrlRequester") public class UrlRequester implements Runnable { @ObfuscatedName("ep") @ObfuscatedGetter( intValue = -863739849 ) static int field1963; @ObfuscatedName("gl") @ObfuscatedSignature( descriptor = "Llm;" ) @Export("compass") static Sprite compass; @ObfuscatedName("h") @Export("thread") final Thread thread; @ObfuscatedName("v") @Export("isClosed") volatile boolean isClosed; @ObfuscatedName("x") @Export("requests") Queue requests; public UrlRequester() { this.requests = new LinkedList(); this.thread = new Thread(this); this.thread.setPriority(1); this.thread.start(); } @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(Ljava/net/URL;I)Lei;", garbageValue = "-1941564889" ) @Export("request") public UrlRequest request(URL var1) { UrlRequest var2 = new UrlRequest(var1); synchronized(this) { this.requests.add(var2); this.notify(); return var2; } } @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(B)V", garbageValue = "6" ) @Export("close") public void close() { this.isClosed = true; try { synchronized(this) { this.notify(); } this.thread.join(); } catch (InterruptedException var4) { } } public void run() { while (!this.isClosed) { try { UrlRequest var1; synchronized(this) { var1 = (UrlRequest)this.requests.poll(); if (var1 == null) { try { this.wait(); } catch (InterruptedException var13) { } continue; } } DataInputStream var2 = null; URLConnection var3 = null; try { var3 = var1.url.openConnection(); var3.setConnectTimeout(5000); var3.setReadTimeout(5000); var3.setUseCaches(false); var3.setRequestProperty("Connection", "close"); int var7 = var3.getContentLength(); if (var7 >= 0) { byte[] var5 = new byte[var7]; var2 = new DataInputStream(var3.getInputStream()); var2.readFully(var5); var1.response0 = var5; } var1.isDone0 = true; } catch (IOException var14) { var1.isDone0 = true; } finally { if (var2 != null) { var2.close(); } if (var3 != null && var3 instanceof HttpURLConnection) { ((HttpURLConnection)var3).disconnect(); } } } catch (Exception var17) { PlayerAppearance.RunException_sendStackTrace((String)null, var17); } } } @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "([Lgd;II)Lgd;", garbageValue = "-933292802" ) @Export("findEnumerated") public static Enumerated findEnumerated(Enumerated[] var0, int var1) { Enumerated[] var2 = var0; for (int var3 = 0; var3 < var2.length; ++var3) { Enumerated var4 = var2[var3]; if (var1 == var4.rsOrdinal()) { return var4; } } return null; } @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgi;I)I", garbageValue = "-530251547" ) @Export("compareStrings") public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) { int var3 = var0.length(); int var4 = var1.length(); int var5 = 0; int var6 = 0; byte var7 = 0; byte var8 = 0; while (var5 - var7 < var3 || var6 - var8 < var4) { if (var5 - var7 >= var3) { return -1; } if (var6 - var8 >= var4) { return 1; } char var9; if (var7 != 0) { var9 = (char)var7; boolean var14 = false; } else { var9 = var0.charAt(var5++); } char var10; if (var8 != 0) { var10 = (char)var8; boolean var15 = false; } else { var10 = var1.charAt(var6++); } byte var11; if (var9 == 198) { var11 = 69; } else if (var9 == 230) { var11 = 101; } else if (var9 == 223) { var11 = 115; } else if (var9 == 338) { var11 = 69; } else if (var9 == 339) { var11 = 101; } else { var11 = 0; } var7 = var11; byte var12; if (var10 == 198) { var12 = 69; } else if (var10 == 230) { var12 = 101; } else if (var10 == 223) { var12 = 115; } else if (var10 == 338) { var12 = 69; } else if (var10 == 339) { var12 = 101; } else { var12 = 0; } var8 = var12; var9 = UserComparator5.standardizeChar(var9, var2); var10 = UserComparator5.standardizeChar(var10, var2); if (var9 != var10 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { var9 = Character.toLowerCase(var9); var10 = Character.toLowerCase(var10); if (var10 != var9) { return WorldMapAreaData.lowercaseChar(var9, var2) - WorldMapAreaData.lowercaseChar(var10, var2); } } } int var16 = Math.min(var3, var4); int var17; char var20; for (var17 = 0; var17 < var16; ++var17) { if (var2 == Language.Language_FR) { var5 = var3 - 1 - var17; var6 = var4 - 1 - var17; } else { var6 = var17; var5 = var17; } char var18 = var0.charAt(var5); var20 = var1.charAt(var6); if (var20 != var18 && Character.toUpperCase(var18) != Character.toUpperCase(var20)) { var18 = Character.toLowerCase(var18); var20 = Character.toLowerCase(var20); if (var18 != var20) { return WorldMapAreaData.lowercaseChar(var18, var2) - WorldMapAreaData.lowercaseChar(var20, var2); } } } var17 = var3 - var4; if (var17 != 0) { return var17; } else { for (int var19 = 0; var19 < var16; ++var19) { var20 = var0.charAt(var19); char var13 = var1.charAt(var19); if (var20 != var13) { return WorldMapAreaData.lowercaseChar(var20, var2) - WorldMapAreaData.lowercaseChar(var13, var2); } } return 0; } } @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(Lkj;Ljava/lang/String;I)I", garbageValue = "-1031927437" ) public static int method3383(Buffer var0, String var1) { int var2 = var0.offset; byte[] var3 = Projectile.method2171(var1); var0.writeSmartByteShort(var3.length); var0.offset += class219.huffman.compress(var3, 0, var3.length, var0.array, var0.offset); return var0.offset - var2; } @ObfuscatedName("n") @ObfuscatedSignature( descriptor = "(B)V", garbageValue = "117" ) public static void method3381() { try { if (class206.musicPlayerStatus == 1) { int var0 = class206.midiPcmStream.method3816(); if (var0 > 0 && class206.midiPcmStream.isReady()) { var0 -= WorldMapSection1.pcmSampleLength; if (var0 < 0) { var0 = 0; } class206.midiPcmStream.setPcmStreamVolume(var0); return; } class206.midiPcmStream.clear(); class206.midiPcmStream.removeAll(); if (Varps.musicTrackArchive != null) { class206.musicPlayerStatus = 2; } else { class206.musicPlayerStatus = 0; } FileSystem.musicTrack = null; class206.soundCache = null; } } catch (Exception var2) { var2.printStackTrace(); class206.midiPcmStream.clear(); class206.musicPlayerStatus = 0; FileSystem.musicTrack = null; class206.soundCache = null; Varps.musicTrackArchive = null; } } }