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("he")
@Implements("Widget")
public class Widget extends Node {
	@ObfuscatedName("m")
	@ObfuscatedSignature(
		descriptor = "Lez;"
	)
	@Export("Widget_cachedSprites")
	public static EvictingDualNodeHashTable Widget_cachedSprites;
	@ObfuscatedName("c")
	@ObfuscatedSignature(
		descriptor = "Lez;"
	)
	@Export("Widget_cachedModels")
	public static EvictingDualNodeHashTable Widget_cachedModels;
	@ObfuscatedName("i")
	@ObfuscatedSignature(
		descriptor = "Lez;"
	)
	@Export("Widget_cachedFonts")
	public static EvictingDualNodeHashTable Widget_cachedFonts;
	@ObfuscatedName("f")
	@ObfuscatedSignature(
		descriptor = "Lez;"
	)
	@Export("Widget_cachedSpriteMasks")
	public static EvictingDualNodeHashTable Widget_cachedSpriteMasks;
	@ObfuscatedName("a")
	public static boolean field2603;
	@ObfuscatedName("b")
	@Export("isIf3")
	public boolean isIf3;
	@ObfuscatedName("y")
	@ObfuscatedGetter(
		intValue = -437932207
	)
	@Export("id")
	public int id;
	@ObfuscatedName("r")
	@ObfuscatedGetter(
		intValue = 951345111
	)
	@Export("childIndex")
	public int childIndex;
	@ObfuscatedName("q")
	@ObfuscatedGetter(
		intValue = 1268940833
	)
	@Export("type")
	public int type;
	@ObfuscatedName("g")
	@ObfuscatedGetter(
		intValue = -1862664277
	)
	@Export("buttonType")
	public int buttonType;
	@ObfuscatedName("s")
	@ObfuscatedGetter(
		intValue = -198743491
	)
	@Export("contentType")
	public int contentType;
	@ObfuscatedName("o")
	@ObfuscatedGetter(
		intValue = -1898483217
	)
	@Export("xAlignment")
	public int xAlignment;
	@ObfuscatedName("k")
	@ObfuscatedGetter(
		intValue = 1346571391
	)
	@Export("yAlignment")
	public int yAlignment;
	@ObfuscatedName("d")
	@ObfuscatedGetter(
		intValue = 1889947491
	)
	@Export("widthAlignment")
	public int widthAlignment;
	@ObfuscatedName("an")
	@ObfuscatedGetter(
		intValue = -531400749
	)
	@Export("heightAlignment")
	public int heightAlignment;
	@ObfuscatedName("aj")
	@ObfuscatedGetter(
		intValue = -800692123
	)
	@Export("rawX")
	public int rawX;
	@ObfuscatedName("ax")
	@ObfuscatedGetter(
		intValue = 382974687
	)
	@Export("rawY")
	public int rawY;
	@ObfuscatedName("ag")
	@ObfuscatedGetter(
		intValue = -1322726457
	)
	@Export("rawWidth")
	public int rawWidth;
	@ObfuscatedName("au")
	@ObfuscatedGetter(
		intValue = 1644488463
	)
	@Export("rawHeight")
	public int rawHeight;
	@ObfuscatedName("as")
	@ObfuscatedGetter(
		intValue = 1900410117
	)
	@Export("x")
	public int x;
	@ObfuscatedName("ae")
	@ObfuscatedGetter(
		intValue = 747357693
	)
	@Export("y")
	public int y;
	@ObfuscatedName("ac")
	@ObfuscatedGetter(
		intValue = -832572509
	)
	@Export("width")
	public int width;
	@ObfuscatedName("ak")
	@ObfuscatedGetter(
		intValue = 1772768209
	)
	@Export("height")
	public int height;
	@ObfuscatedName("av")
	@ObfuscatedGetter(
		intValue = 1349630747
	)
	public int field2660;
	@ObfuscatedName("aq")
	@ObfuscatedGetter(
		intValue = -396518171
	)
	public int field2604;
	@ObfuscatedName("ah")
	@ObfuscatedGetter(
		intValue = 2117837783
	)
	@Export("parentId")
	public int parentId;
	@ObfuscatedName("am")
	@Export("isHidden")
	public boolean isHidden;
	@ObfuscatedName("aa")
	@ObfuscatedGetter(
		intValue = -709692579
	)
	@Export("scrollX")
	public int scrollX;
	@ObfuscatedName("ao")
	@ObfuscatedGetter(
		intValue = 1771973021
	)
	@Export("scrollY")
	public int scrollY;
	@ObfuscatedName("ab")
	@ObfuscatedGetter(
		intValue = -1515274153
	)
	@Export("scrollWidth")
	public int scrollWidth;
	@ObfuscatedName("aw")
	@ObfuscatedGetter(
		intValue = -1479373561
	)
	@Export("scrollHeight")
	public int scrollHeight;
	@ObfuscatedName("ap")
	@ObfuscatedGetter(
		intValue = -1315662131
	)
	@Export("color")
	public int color;
	@ObfuscatedName("ad")
	@ObfuscatedGetter(
		intValue = 165176819
	)
	@Export("color2")
	public int color2;
	@ObfuscatedName("ai")
	@ObfuscatedGetter(
		intValue = 1061783441
	)
	@Export("mouseOverColor")
	public int mouseOverColor;
	@ObfuscatedName("al")
	@ObfuscatedGetter(
		intValue = -416430081
	)
	@Export("mouseOverColor2")
	public int mouseOverColor2;
	@ObfuscatedName("ay")
	@Export("fill")
	public boolean fill;
	@ObfuscatedName("af")
	@ObfuscatedSignature(
		descriptor = "Llj;"
	)
	@Export("fillMode")
	public class333 fillMode;
	@ObfuscatedName("ar")
	@ObfuscatedGetter(
		intValue = -318915915
	)
	@Export("transparencyTop")
	public int transparencyTop;
	@ObfuscatedName("az")
	@ObfuscatedGetter(
		intValue = 761063403
	)
	@Export("transparencyBot")
	public int transparencyBot;
	@ObfuscatedName("at")
	@ObfuscatedGetter(
		intValue = -1947378617
	)
	@Export("lineWid")
	public int lineWid;
	@ObfuscatedName("bh")
	public boolean field2620;
	@ObfuscatedName("by")
	@ObfuscatedGetter(
		intValue = -1999476695
	)
	@Export("spriteId2")
	public int spriteId2;
	@ObfuscatedName("bs")
	@ObfuscatedGetter(
		intValue = -1427429915
	)
	@Export("spriteId")
	public int spriteId;
	@ObfuscatedName("br")
	@ObfuscatedGetter(
		intValue = -1067627905
	)
	@Export("spriteAngle")
	public int spriteAngle;
	@ObfuscatedName("bl")
	@Export("spriteTiling")
	public boolean spriteTiling;
	@ObfuscatedName("bx")
	@ObfuscatedGetter(
		intValue = 530627825
	)
	@Export("outline")
	public int outline;
	@ObfuscatedName("bf")
	@ObfuscatedGetter(
		intValue = 700546127
	)
	@Export("spriteShadow")
	public int spriteShadow;
	@ObfuscatedName("bz")
	@Export("spriteFlipV")
	public boolean spriteFlipV;
	@ObfuscatedName("bm")
	@Export("spriteFlipH")
	public boolean spriteFlipH;
	@ObfuscatedName("bn")
	@ObfuscatedGetter(
		intValue = -1216081495
	)
	@Export("modelType")
	public int modelType;
	@ObfuscatedName("bd")
	@ObfuscatedGetter(
		intValue = -503453445
	)
	@Export("modelId")
	public int modelId;
	@ObfuscatedName("bc")
	@ObfuscatedGetter(
		intValue = 614808645
	)
	@Export("modelType2")
	int modelType2;
	@ObfuscatedName("bi")
	@ObfuscatedGetter(
		intValue = 1013399743
	)
	@Export("modelId2")
	int modelId2;
	@ObfuscatedName("bk")
	@ObfuscatedGetter(
		intValue = 801294357
	)
	@Export("sequenceId")
	public int sequenceId;
	@ObfuscatedName("bw")
	@ObfuscatedGetter(
		intValue = -142244715
	)
	@Export("sequenceId2")
	public int sequenceId2;
	@ObfuscatedName("bo")
	@ObfuscatedGetter(
		intValue = -31767663
	)
	@Export("modelOffsetX")
	public int modelOffsetX;
	@ObfuscatedName("bj")
	@ObfuscatedGetter(
		intValue = 721853025
	)
	@Export("modelOffsetY")
	public int modelOffsetY;
	@ObfuscatedName("bu")
	@ObfuscatedGetter(
		intValue = 1324971467
	)
	@Export("modelAngleX")
	public int modelAngleX;
	@ObfuscatedName("bt")
	@ObfuscatedGetter(
		intValue = 1383766093
	)
	@Export("modelAngleY")
	public int modelAngleY;
	@ObfuscatedName("bb")
	@ObfuscatedGetter(
		intValue = -1080546289
	)
	@Export("modelAngleZ")
	public int modelAngleZ;
	@ObfuscatedName("bv")
	@ObfuscatedGetter(
		intValue = -1151246903
	)
	@Export("modelZoom")
	public int modelZoom;
	@ObfuscatedName("bg")
	@ObfuscatedGetter(
		intValue = -1446492125
	)
	public int field2641;
	@ObfuscatedName("ba")
	@ObfuscatedGetter(
		intValue = 1121746929
	)
	public int field2642;
	@ObfuscatedName("bq")
	@Export("modelOrthog")
	public boolean modelOrthog;
	@ObfuscatedName("be")
	@Export("modelTransparency")
	public boolean modelTransparency;
	@ObfuscatedName("bp")
	@ObfuscatedGetter(
		intValue = 1783042781
	)
	@Export("itemQuantityMode")
	public int itemQuantityMode;
	@ObfuscatedName("cx")
	@ObfuscatedGetter(
		intValue = -1451320085
	)
	@Export("fontId")
	public int fontId;
	@ObfuscatedName("ci")
	@Export("text")
	public String text;
	@ObfuscatedName("cj")
	@Export("text2")
	public String text2;
	@ObfuscatedName("ca")
	@ObfuscatedGetter(
		intValue = -413643261
	)
	@Export("textLineHeight")
	public int textLineHeight;
	@ObfuscatedName("cd")
	@ObfuscatedGetter(
		intValue = 258668731
	)
	@Export("textXAlignment")
	public int textXAlignment;
	@ObfuscatedName("cm")
	@ObfuscatedGetter(
		intValue = -1607527969
	)
	@Export("textYAlignment")
	public int textYAlignment;
	@ObfuscatedName("cz")
	@Export("textShadowed")
	public boolean textShadowed;
	@ObfuscatedName("cc")
	@ObfuscatedGetter(
		intValue = 794981295
	)
	@Export("paddingX")
	public int paddingX;
	@ObfuscatedName("ce")
	@ObfuscatedGetter(
		intValue = -135649533
	)
	@Export("paddingY")
	public int paddingY;
	@ObfuscatedName("cb")
	@Export("inventoryXOffsets")
	public int[] inventoryXOffsets;
	@ObfuscatedName("cf")
	@Export("inventoryYOffsets")
	public int[] inventoryYOffsets;
	@ObfuscatedName("cr")
	@Export("inventorySprites")
	public int[] inventorySprites;
	@ObfuscatedName("ch")
	@Export("itemActions")
	public String[] itemActions;
	@ObfuscatedName("cq")
	@ObfuscatedGetter(
		intValue = -15083415
	)
	@Export("flags")
	public int flags;
	@ObfuscatedName("cl")
	public boolean field2590;
	@ObfuscatedName("cw")
	public byte[][] field2649;
	@ObfuscatedName("cp")
	public byte[][] field2637;
	@ObfuscatedName("cy")
	public int[] field2679;
	@ObfuscatedName("cg")
	public int[] field2664;
	@ObfuscatedName("dh")
	@Export("dataText")
	public String dataText;
	@ObfuscatedName("dl")
	@Export("actions")
	public String[] actions;
	@ObfuscatedName("du")
	@ObfuscatedSignature(
		descriptor = "Lhe;"
	)
	@Export("parent")
	public Widget parent;
	@ObfuscatedName("de")
	@ObfuscatedGetter(
		intValue = 1469736299
	)
	@Export("dragZoneSize")
	public int dragZoneSize;
	@ObfuscatedName("dw")
	@ObfuscatedGetter(
		intValue = -1420143935
	)
	@Export("dragThreshold")
	public int dragThreshold;
	@ObfuscatedName("db")
	@Export("isScrollBar")
	public boolean isScrollBar;
	@ObfuscatedName("dq")
	@Export("spellActionName")
	public String spellActionName;
	@ObfuscatedName("dx")
	@Export("hasListener")
	public boolean hasListener;
	@ObfuscatedName("df")
	@Export("onLoad")
	public Object[] onLoad;
	@ObfuscatedName("dm")
	@Export("onClick")
	public Object[] onClick;
	@ObfuscatedName("dp")
	@Export("onClickRepeat")
	public Object[] onClickRepeat;
	@ObfuscatedName("dr")
	@Export("onRelease")
	public Object[] onRelease;
	@ObfuscatedName("dt")
	@Export("onHold")
	public Object[] onHold;
	@ObfuscatedName("ds")
	@Export("onMouseOver")
	public Object[] onMouseOver;
	@ObfuscatedName("dv")
	@Export("onMouseRepeat")
	public Object[] onMouseRepeat;
	@ObfuscatedName("dd")
	@Export("onMouseLeave")
	public Object[] onMouseLeave;
	@ObfuscatedName("dy")
	@Export("onDrag")
	public Object[] onDrag;
	@ObfuscatedName("dn")
	@Export("onDragComplete")
	public Object[] onDragComplete;
	@ObfuscatedName("dj")
	@Export("onTargetEnter")
	public Object[] onTargetEnter;
	@ObfuscatedName("da")
	@Export("onTargetLeave")
	public Object[] onTargetLeave;
	@ObfuscatedName("di")
	@Export("onVarTransmit")
	public Object[] onVarTransmit;
	@ObfuscatedName("do")
	@Export("varTransmitTriggers")
	public int[] varTransmitTriggers;
	@ObfuscatedName("dc")
	@Export("onInvTransmit")
	public Object[] onInvTransmit;
	@ObfuscatedName("dg")
	@Export("invTransmitTriggers")
	public int[] invTransmitTriggers;
	@ObfuscatedName("dk")
	@Export("onStatTransmit")
	public Object[] onStatTransmit;
	@ObfuscatedName("dz")
	@Export("statTransmitTriggers")
	public int[] statTransmitTriggers;
	@ObfuscatedName("es")
	@Export("onTimer")
	public Object[] onTimer;
	@ObfuscatedName("eq")
	@Export("onOp")
	public Object[] onOp;
	@ObfuscatedName("em")
	@Export("onScroll")
	public Object[] onScroll;
	@ObfuscatedName("eg")
	@Export("onChatTransmit")
	public Object[] onChatTransmit;
	@ObfuscatedName("eu")
	@Export("onKey")
	public Object[] onKey;
	@ObfuscatedName("ec")
	@Export("onFriendTransmit")
	public Object[] onFriendTransmit;
	@ObfuscatedName("eh")
	@Export("onClanTransmit")
	public Object[] onClanTransmit;
	@ObfuscatedName("ee")
	@Export("onMiscTransmit")
	public Object[] onMiscTransmit;
	@ObfuscatedName("eb")
	@Export("onDialogAbort")
	public Object[] onDialogAbort;
	@ObfuscatedName("ek")
	@Export("onSubChange")
	public Object[] onSubChange;
	@ObfuscatedName("ew")
	@Export("onResize")
	public Object[] onResize;
	@ObfuscatedName("ej")
	@Export("onStockTransmit")
	public Object[] onStockTransmit;
	@ObfuscatedName("eo")
	public Object[] field2703;
	@ObfuscatedName("et")
	@Export("cs1Instructions")
	public int[][] cs1Instructions;
	@ObfuscatedName("er")
	@Export("cs1Comparisons")
	public int[] cs1Comparisons;
	@ObfuscatedName("ev")
	@Export("cs1ComparisonValues")
	public int[] cs1ComparisonValues;
	@ObfuscatedName("ef")
	@ObfuscatedGetter(
		intValue = 258948825
	)
	@Export("mouseOverRedirect")
	public int mouseOverRedirect;
	@ObfuscatedName("ep")
	@Export("spellName")
	public String spellName;
	@ObfuscatedName("ex")
	@Export("buttonText")
	public String buttonText;
	@ObfuscatedName("ed")
	@Export("itemIds")
	public int[] itemIds;
	@ObfuscatedName("ey")
	@Export("itemQuantities")
	public int[] itemQuantities;
	@ObfuscatedName("el")
	@ObfuscatedGetter(
		intValue = 258014549
	)
	@Export("itemId")
	public int itemId;
	@ObfuscatedName("ea")
	@ObfuscatedGetter(
		intValue = -962806035
	)
	@Export("itemQuantity")
	public int itemQuantity;
	@ObfuscatedName("ei")
	@ObfuscatedGetter(
		intValue = -394848869
	)
	@Export("modelFrame")
	public int modelFrame;
	@ObfuscatedName("ez")
	@ObfuscatedGetter(
		intValue = -1837069957
	)
	@Export("modelFrameCycle")
	public int modelFrameCycle;
	@ObfuscatedName("en")
	@ObfuscatedSignature(
		descriptor = "[Lhe;"
	)
	@Export("children")
	public Widget[] children;
	@ObfuscatedName("fn")
	@Export("containsMouse")
	public boolean containsMouse;
	@ObfuscatedName("ft")
	@Export("isClicked")
	public boolean isClicked;
	@ObfuscatedName("fr")
	@ObfuscatedGetter(
		intValue = -1866786949
	)
	public int field2719;
	@ObfuscatedName("fe")
	@ObfuscatedGetter(
		intValue = -605544769
	)
	public int field2645;
	@ObfuscatedName("fz")
	@ObfuscatedGetter(
		intValue = 1348194339
	)
	public int field2721;
	@ObfuscatedName("fj")
	@ObfuscatedGetter(
		intValue = -229655759
	)
	public int field2725;
	@ObfuscatedName("fp")
	@ObfuscatedGetter(
		intValue = 138352117
	)
	@Export("rootIndex")
	public int rootIndex;
	@ObfuscatedName("ff")
	@ObfuscatedGetter(
		intValue = -210635413
	)
	@Export("cycle")
	public int cycle;
	@ObfuscatedName("fs")
	public int[] field2684;
	@ObfuscatedName("fk")
	@Export("noClickThrough")
	public boolean noClickThrough;
	@ObfuscatedName("fv")
	@Export("noScrollThrough")
	public boolean noScrollThrough;
	@ObfuscatedName("fm")
	@Export("prioritizeMenuEntry")
	public boolean prioritizeMenuEntry;

	static {
		Widget_cachedSprites = new EvictingDualNodeHashTable(200); // L: 31
		Widget_cachedModels = new EvictingDualNodeHashTable(50); // L: 32
		Widget_cachedFonts = new EvictingDualNodeHashTable(20); // L: 33
		Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(8); // L: 34
		field2603 = false; // L: 35
	}

	public Widget() {
		this.isIf3 = false; // L: 36
		this.id = -1; // L: 37
		this.childIndex = -1; // L: 38
		this.buttonType = 0; // L: 40
		this.contentType = 0; // L: 41
		this.xAlignment = 0; // L: 42
		this.yAlignment = 0; // L: 43
		this.widthAlignment = 0; // L: 44
		this.heightAlignment = 0; // L: 45
		this.rawX = 0; // L: 46
		this.rawY = 0; // L: 47
		this.rawWidth = 0; // L: 48
		this.rawHeight = 0; // L: 49
		this.x = 0; // L: 50
		this.y = 0; // L: 51
		this.width = 0; // L: 52
		this.height = 0; // L: 53
		this.field2660 = 1; // L: 54
		this.field2604 = 1; // L: 55
		this.parentId = -1; // L: 56
		this.isHidden = false; // L: 57
		this.scrollX = 0; // L: 58
		this.scrollY = 0; // L: 59
		this.scrollWidth = 0;
		this.scrollHeight = 0;
		this.color = 0;
		this.color2 = 0;
		this.mouseOverColor = 0;
		this.mouseOverColor2 = 0;
		this.fill = false;
		this.fillMode = class333.SOLID;
		this.transparencyTop = 0;
		this.transparencyBot = 0;
		this.lineWid = 1;
		this.field2620 = false;
		this.spriteId2 = -1; // L: 72
		this.spriteId = -1;
		this.spriteAngle = 0; // L: 74
		this.spriteTiling = false;
		this.outline = 0;
		this.spriteShadow = 0;
		this.modelType = 1;
		this.modelId = -1;
		this.modelType2 = 1;
		this.modelId2 = -1;
		this.sequenceId = -1;
		this.sequenceId2 = -1;
		this.modelOffsetX = 0; // L: 86
		this.modelOffsetY = 0; // L: 87
		this.modelAngleX = 0;
		this.modelAngleY = 0;
		this.modelAngleZ = 0;
		this.modelZoom = 100; // L: 91
		this.field2641 = 0;
		this.field2642 = 0; // L: 93
		this.modelOrthog = false; // L: 94
		this.modelTransparency = false; // L: 95
		this.itemQuantityMode = 2; // L: 96
		this.fontId = -1; // L: 97
		this.text = ""; // L: 98
		this.text2 = ""; // L: 99
		this.textLineHeight = 0; // L: 100
		this.textXAlignment = 0; // L: 101
		this.textYAlignment = 0; // L: 102
		this.textShadowed = false; // L: 103
		this.paddingX = 0; // L: 104
		this.paddingY = 0; // L: 105
		this.flags = 0; // L: 110
		this.field2590 = false; // L: 111
		this.dataText = ""; // L: 120
		this.parent = null; // L: 122
		this.dragZoneSize = 0; // L: 123
		this.dragThreshold = 0; // L: 124
		this.isScrollBar = false; // L: 125
		this.spellActionName = ""; // L: 126
		this.hasListener = false; // L: 127
		this.mouseOverRedirect = -1; // L: 162
		this.spellName = ""; // L: 163
		this.buttonText = "Ok"; // L: 164
		this.itemId = -1; // L: 167
		this.itemQuantity = 0; // L: 168
		this.modelFrame = 0; // L: 169
		this.modelFrameCycle = 0; // L: 170
		this.containsMouse = false; // L: 172
		this.isClicked = false; // L: 173
		this.field2719 = -1; // L: 174
		this.field2645 = 0; // L: 175
		this.field2721 = 0; // L: 176
		this.field2725 = 0; // L: 177
		this.rootIndex = -1; // L: 178
		this.cycle = -1; // L: 179
		this.noClickThrough = false; // L: 181
		this.noScrollThrough = false; // L: 182
		this.prioritizeMenuEntry = false; // L: 183
	} // L: 682

	@ObfuscatedName("w")
	@ObfuscatedSignature(
		descriptor = "(Lkj;I)V",
		garbageValue = "1734549663"
	)
	@Export("decodeLegacy")
	void decodeLegacy(Buffer var1) {
		this.isIf3 = false; // L: 227
		this.type = var1.readUnsignedByte(); // L: 228
		this.buttonType = var1.readUnsignedByte(); // L: 229
		this.contentType = var1.readUnsignedShort(); // L: 230
		this.rawX = var1.readShort(); // L: 231
		this.rawY = var1.readShort(); // L: 232
		this.rawWidth = var1.readUnsignedShort(); // L: 233
		this.rawHeight = var1.readUnsignedShort(); // L: 234
		this.transparencyTop = var1.readUnsignedByte(); // L: 235
		this.parentId = var1.readUnsignedShort(); // L: 236
		if (this.parentId == 65535) { // L: 237
			this.parentId = -1;
		} else {
			this.parentId += this.id & -65536; // L: 238
		}

		this.mouseOverRedirect = var1.readUnsignedShort(); // L: 239
		if (this.mouseOverRedirect == 65535) { // L: 240
			this.mouseOverRedirect = -1;
		}

		int var2 = var1.readUnsignedByte(); // L: 241
		int var3;
		if (var2 > 0) { // L: 242
			this.cs1Comparisons = new int[var2]; // L: 243
			this.cs1ComparisonValues = new int[var2]; // L: 244

			for (var3 = 0; var3 < var2; ++var3) { // L: 245
				this.cs1Comparisons[var3] = var1.readUnsignedByte(); // L: 246
				this.cs1ComparisonValues[var3] = var1.readUnsignedShort(); // L: 247
			}
		}

		var3 = var1.readUnsignedByte(); // L: 250
		int var4;
		int var5;
		int var6;
		if (var3 > 0) { // L: 251
			this.cs1Instructions = new int[var3][]; // L: 252

			for (var4 = 0; var4 < var3; ++var4) { // L: 253
				var5 = var1.readUnsignedShort(); // L: 254
				this.cs1Instructions[var4] = new int[var5]; // L: 255

				for (var6 = 0; var6 < var5; ++var6) { // L: 256
					this.cs1Instructions[var4][var6] = var1.readUnsignedShort(); // L: 257
					if (this.cs1Instructions[var4][var6] == 65535) { // L: 258
						this.cs1Instructions[var4][var6] = -1;
					}
				}
			}
		}

		if (this.type == 0) { // L: 262
			this.scrollHeight = var1.readUnsignedShort(); // L: 263
			this.isHidden = var1.readUnsignedByte() == 1; // L: 264
		}

		if (this.type == 1) { // L: 266
			var1.readUnsignedShort(); // L: 267
			var1.readUnsignedByte(); // L: 268
		}

		if (this.type == 2) { // L: 270
			this.itemIds = new int[this.rawWidth * this.rawHeight]; // L: 271
			this.itemQuantities = new int[this.rawHeight * this.rawWidth]; // L: 272
			var4 = var1.readUnsignedByte(); // L: 273
			if (var4 == 1) { // L: 274
				this.flags |= 268435456;
			}

			var5 = var1.readUnsignedByte(); // L: 275
			if (var5 == 1) { // L: 276
				this.flags |= 1073741824;
			}

			var6 = var1.readUnsignedByte(); // L: 277
			if (var6 == 1) { // L: 278
				this.flags |= Integer.MIN_VALUE;
			}

			int var7 = var1.readUnsignedByte(); // L: 279
			if (var7 == 1) { // L: 280
				this.flags |= 536870912;
			}

			this.paddingX = var1.readUnsignedByte(); // L: 281
			this.paddingY = var1.readUnsignedByte(); // L: 282
			this.inventoryXOffsets = new int[20]; // L: 283
			this.inventoryYOffsets = new int[20]; // L: 284
			this.inventorySprites = new int[20]; // L: 285

			int var8;
			for (var8 = 0; var8 < 20; ++var8) { // L: 286
				int var11 = var1.readUnsignedByte(); // L: 287
				if (var11 == 1) { // L: 288
					this.inventoryXOffsets[var8] = var1.readShort(); // L: 289
					this.inventoryYOffsets[var8] = var1.readShort(); // L: 290
					this.inventorySprites[var8] = var1.readInt(); // L: 291
				} else {
					this.inventorySprites[var8] = -1; // L: 293
				}
			}

			this.itemActions = new String[5]; // L: 295

			for (var8 = 0; var8 < 5; ++var8) { // L: 296
				String var9 = var1.readStringCp1252NullTerminated(); // L: 297
				if (var9.length() > 0) { // L: 298
					this.itemActions[var8] = var9; // L: 299
					this.flags |= 1 << var8 + 23; // L: 300
				}
			}
		}

		if (this.type == 3) { // L: 304
			this.fill = var1.readUnsignedByte() == 1; // L: 305
		}

		if (this.type == 4 || this.type == 1) { // L: 307
			this.textXAlignment = var1.readUnsignedByte(); // L: 308
			this.textYAlignment = var1.readUnsignedByte(); // L: 309
			this.textLineHeight = var1.readUnsignedByte(); // L: 310
			this.fontId = var1.readUnsignedShort(); // L: 311
			if (this.fontId == 65535) { // L: 312
				this.fontId = -1;
			}

			this.textShadowed = var1.readUnsignedByte() == 1; // L: 313
		}

		if (this.type == 4) { // L: 315
			this.text = var1.readStringCp1252NullTerminated(); // L: 316
			this.text2 = var1.readStringCp1252NullTerminated(); // L: 317
		}

		if (this.type == 1 || this.type == 3 || this.type == 4) { // L: 319
			this.color = var1.readInt();
		}

		if (this.type == 3 || this.type == 4) { // L: 320
			this.color2 = var1.readInt(); // L: 321
			this.mouseOverColor = var1.readInt(); // L: 322
			this.mouseOverColor2 = var1.readInt(); // L: 323
		}

		if (this.type == 5) { // L: 325
			this.spriteId2 = var1.readInt(); // L: 326
			this.spriteId = var1.readInt(); // L: 327
		}

		if (this.type == 6) { // L: 329
			this.modelType = 1; // L: 330
			this.modelId = var1.readUnsignedShort(); // L: 331
			if (this.modelId == 65535) { // L: 332
				this.modelId = -1;
			}

			this.modelType2 = 1; // L: 333
			this.modelId2 = var1.readUnsignedShort(); // L: 334
			if (this.modelId2 == 65535) { // L: 335
				this.modelId2 = -1;
			}

			this.sequenceId = var1.readUnsignedShort(); // L: 336
			if (this.sequenceId == 65535) { // L: 337
				this.sequenceId = -1;
			}

			this.sequenceId2 = var1.readUnsignedShort(); // L: 338
			if (this.sequenceId2 == 65535) { // L: 339
				this.sequenceId2 = -1;
			}

			this.modelZoom = var1.readUnsignedShort(); // L: 340
			this.modelAngleX = var1.readUnsignedShort(); // L: 341
			this.modelAngleY = var1.readUnsignedShort(); // L: 342
		}

		if (this.type == 7) { // L: 344
			this.itemIds = new int[this.rawWidth * this.rawHeight]; // L: 345
			this.itemQuantities = new int[this.rawHeight * this.rawWidth]; // L: 346
			this.textXAlignment = var1.readUnsignedByte(); // L: 347
			this.fontId = var1.readUnsignedShort(); // L: 348
			if (this.fontId == 65535) { // L: 349
				this.fontId = -1;
			}

			this.textShadowed = var1.readUnsignedByte() == 1; // L: 350
			this.color = var1.readInt(); // L: 351
			this.paddingX = var1.readShort(); // L: 352
			this.paddingY = var1.readShort(); // L: 353
			var4 = var1.readUnsignedByte(); // L: 354
			if (var4 == 1) {
				this.flags |= 1073741824; // L: 355
			}

			this.itemActions = new String[5]; // L: 356

			for (var5 = 0; var5 < 5; ++var5) { // L: 357
				String var10 = var1.readStringCp1252NullTerminated(); // L: 358
				if (var10.length() > 0) { // L: 359
					this.itemActions[var5] = var10; // L: 360
					this.flags |= 1 << var5 + 23; // L: 361
				}
			}
		}

		if (this.type == 8) { // L: 365
			this.text = var1.readStringCp1252NullTerminated(); // L: 366
		}

		if (this.buttonType == 2 || this.type == 2) { // L: 368
			this.spellActionName = var1.readStringCp1252NullTerminated(); // L: 369
			this.spellName = var1.readStringCp1252NullTerminated(); // L: 370
			var4 = var1.readUnsignedShort() & 63; // L: 371
			this.flags |= var4 << 11; // L: 372
		}

		if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5 || this.buttonType == 6) { // L: 374
			this.buttonText = var1.readStringCp1252NullTerminated(); // L: 375
			if (this.buttonText.length() == 0) { // L: 376
				if (this.buttonType == 1) { // L: 377
					this.buttonText = "Ok";
				}

				if (this.buttonType == 4) { // L: 378
					this.buttonText = "Select";
				}

				if (this.buttonType == 5) { // L: 379
					this.buttonText = "Select";
				}

				if (this.buttonType == 6) { // L: 380
					this.buttonText = "Continue";
				}
			}
		}

		if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5) { // L: 383
			this.flags |= 4194304; // L: 384
		}

		if (this.buttonType == 6) { // L: 386
			this.flags |= 1; // L: 387
		}

	} // L: 389

	@ObfuscatedName("t")
	@ObfuscatedSignature(
		descriptor = "(Lkj;B)V",
		garbageValue = "-2"
	)
	@Export("decode")
	void decode(Buffer var1) {
		var1.readUnsignedByte(); // L: 392
		this.isIf3 = true; // L: 393
		this.type = var1.readUnsignedByte(); // L: 394
		this.contentType = var1.readUnsignedShort(); // L: 395
		this.rawX = var1.readShort(); // L: 396
		this.rawY = var1.readShort(); // L: 397
		this.rawWidth = var1.readUnsignedShort(); // L: 398
		if (this.type == 9) { // L: 399
			this.rawHeight = var1.readShort();
		} else {
			this.rawHeight = var1.readUnsignedShort(); // L: 400
		}

		this.widthAlignment = var1.readByte(); // L: 401
		this.heightAlignment = var1.readByte(); // L: 402
		this.xAlignment = var1.readByte(); // L: 403
		this.yAlignment = var1.readByte(); // L: 404
		this.parentId = var1.readUnsignedShort(); // L: 405
		if (this.parentId == 65535) { // L: 406
			this.parentId = -1;
		} else {
			this.parentId += this.id & -65536; // L: 407
		}

		this.isHidden = var1.readUnsignedByte() == 1; // L: 408
		if (this.type == 0) { // L: 409
			this.scrollWidth = var1.readUnsignedShort(); // L: 410
			this.scrollHeight = var1.readUnsignedShort(); // L: 411
			this.noClickThrough = var1.readUnsignedByte() == 1; // L: 412
		}

		if (this.type == 5) { // L: 414
			this.spriteId2 = var1.readInt(); // L: 415
			this.spriteAngle = var1.readUnsignedShort(); // L: 416
			this.spriteTiling = var1.readUnsignedByte() == 1; // L: 417
			this.transparencyTop = var1.readUnsignedByte(); // L: 418
			this.outline = var1.readUnsignedByte(); // L: 419
			this.spriteShadow = var1.readInt(); // L: 420
			this.spriteFlipV = var1.readUnsignedByte() == 1; // L: 421
			this.spriteFlipH = var1.readUnsignedByte() == 1; // L: 422
		}

		if (this.type == 6) { // L: 424
			this.modelType = 1; // L: 425
			this.modelId = var1.readUnsignedShort(); // L: 426
			if (this.modelId == 65535) { // L: 427
				this.modelId = -1;
			}

			this.modelOffsetX = var1.readShort(); // L: 428
			this.modelOffsetY = var1.readShort(); // L: 429
			this.modelAngleX = var1.readUnsignedShort(); // L: 430
			this.modelAngleY = var1.readUnsignedShort(); // L: 431
			this.modelAngleZ = var1.readUnsignedShort(); // L: 432
			this.modelZoom = var1.readUnsignedShort(); // L: 433
			this.sequenceId = var1.readUnsignedShort(); // L: 434
			if (this.sequenceId == 65535) { // L: 435
				this.sequenceId = -1;
			}

			this.modelOrthog = var1.readUnsignedByte() == 1; // L: 436
			var1.readUnsignedShort(); // L: 437
			if (this.widthAlignment != 0) { // L: 438
				this.field2641 = var1.readUnsignedShort();
			}

			if (this.heightAlignment != 0) { // L: 439
				var1.readUnsignedShort(); // L: 440
			}
		}

		if (this.type == 4) { // L: 443
			this.fontId = var1.readUnsignedShort(); // L: 444
			if (this.fontId == 65535) { // L: 445
				this.fontId = -1;
			}

			this.text = var1.readStringCp1252NullTerminated(); // L: 446
			this.textLineHeight = var1.readUnsignedByte(); // L: 447
			this.textXAlignment = var1.readUnsignedByte(); // L: 448
			this.textYAlignment = var1.readUnsignedByte(); // L: 449
			this.textShadowed = var1.readUnsignedByte() == 1; // L: 450
			this.color = var1.readInt(); // L: 451
		}

		if (this.type == 3) { // L: 453
			this.color = var1.readInt(); // L: 454
			this.fill = var1.readUnsignedByte() == 1; // L: 455
			this.transparencyTop = var1.readUnsignedByte(); // L: 456
		}

		if (this.type == 9) { // L: 458
			this.lineWid = var1.readUnsignedByte(); // L: 459
			this.color = var1.readInt(); // L: 460
			this.field2620 = var1.readUnsignedByte() == 1; // L: 461
		}

		this.flags = var1.readMedium(); // L: 463
		this.dataText = var1.readStringCp1252NullTerminated(); // L: 464
		int var2 = var1.readUnsignedByte(); // L: 465
		if (var2 > 0) { // L: 466
			this.actions = new String[var2]; // L: 467

			for (int var3 = 0; var3 < var2; ++var3) { // L: 468
				this.actions[var3] = var1.readStringCp1252NullTerminated();
			}
		}

		this.dragZoneSize = var1.readUnsignedByte(); // L: 470
		this.dragThreshold = var1.readUnsignedByte(); // L: 471
		this.isScrollBar = var1.readUnsignedByte() == 1; // L: 472
		this.spellActionName = var1.readStringCp1252NullTerminated(); // L: 473
		this.onLoad = this.readListener(var1); // L: 474
		this.onMouseOver = this.readListener(var1); // L: 475
		this.onMouseLeave = this.readListener(var1); // L: 476
		this.onTargetLeave = this.readListener(var1); // L: 477
		this.onTargetEnter = this.readListener(var1); // L: 478
		this.onVarTransmit = this.readListener(var1); // L: 479
		this.onInvTransmit = this.readListener(var1); // L: 480
		this.onStatTransmit = this.readListener(var1); // L: 481
		this.onTimer = this.readListener(var1); // L: 482
		this.onOp = this.readListener(var1); // L: 483
		this.onMouseRepeat = this.readListener(var1); // L: 484
		this.onClick = this.readListener(var1); // L: 485
		this.onClickRepeat = this.readListener(var1); // L: 486
		this.onRelease = this.readListener(var1); // L: 487
		this.onHold = this.readListener(var1); // L: 488
		this.onDrag = this.readListener(var1); // L: 489
		this.onDragComplete = this.readListener(var1); // L: 490
		this.onScroll = this.readListener(var1); // L: 491
		this.varTransmitTriggers = this.readListenerTriggers(var1); // L: 492
		this.invTransmitTriggers = this.readListenerTriggers(var1); // L: 493
		this.statTransmitTriggers = this.readListenerTriggers(var1); // L: 494
	} // L: 495

	@ObfuscatedName("j")
	@ObfuscatedSignature(
		descriptor = "(Lkj;I)[Ljava/lang/Object;",
		garbageValue = "-747120554"
	)
	@Export("readListener")
	Object[] readListener(Buffer var1) {
		int var2 = var1.readUnsignedByte(); // L: 498
		if (var2 == 0) { // L: 499
			return null;
		} else {
			Object[] var3 = new Object[var2]; // L: 500

			for (int var4 = 0; var4 < var2; ++var4) { // L: 501
				int var5 = var1.readUnsignedByte(); // L: 502
				if (var5 == 0) {
					var3[var4] = new Integer(var1.readInt()); // L: 503
				} else if (var5 == 1) { // L: 504
					var3[var4] = var1.readStringCp1252NullTerminated();
				}
			}

			this.hasListener = true; // L: 506
			return var3; // L: 507
		}
	}

	@ObfuscatedName("n")
	@ObfuscatedSignature(
		descriptor = "(Lkj;I)[I",
		garbageValue = "-149240461"
	)
	@Export("readListenerTriggers")
	int[] readListenerTriggers(Buffer var1) {
		int var2 = var1.readUnsignedByte(); // L: 511
		if (var2 == 0) { // L: 512
			return null;
		} else {
			int[] var3 = new int[var2]; // L: 513

			for (int var4 = 0; var4 < var2; ++var4) { // L: 514
				var3[var4] = var1.readInt(); // L: 515
			}

			return var3; // L: 517
		}
	}

	@ObfuscatedName("p")
	@ObfuscatedSignature(
		descriptor = "(IIB)V",
		garbageValue = "90"
	)
	@Export("swapItems")
	public void swapItems(int var1, int var2) {
		int var3 = this.itemIds[var2]; // L: 521
		this.itemIds[var2] = this.itemIds[var1]; // L: 522
		this.itemIds[var1] = var3; // L: 523
		var3 = this.itemQuantities[var2]; // L: 524
		this.itemQuantities[var2] = this.itemQuantities[var1]; // L: 525
		this.itemQuantities[var1] = var3; // L: 526
	} // L: 527

	@ObfuscatedName("l")
	@ObfuscatedSignature(
		descriptor = "(ZB)Llm;",
		garbageValue = "14"
	)
	@Export("getSprite")
	public SpritePixels getSprite(boolean var1) {
		field2603 = false; // L: 530
		int var2;
		if (var1) { // L: 532
			var2 = this.spriteId;
		} else {
			var2 = this.spriteId2; // L: 533
		}

		if (var2 == -1) { // L: 534
			return null;
		} else {
			long var3 = ((long)this.spriteShadow << 40) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2 + ((this.spriteFlipH ? 1L : 0L) << 39); // L: 535
			SpritePixels var5 = (SpritePixels)Widget_cachedSprites.get(var3); // L: 536
			if (var5 != null) { // L: 537
				return var5;
			} else {
				var5 = Skills.SpriteBuffer_getSprite(class1.Widget_spritesArchive, var2, 0); // L: 538
				if (var5 == null) { // L: 539
					field2603 = true; // L: 540
					return null; // L: 541
				} else {
					if (this.spriteFlipV) { // L: 543
						var5.flipVertically();
					}

					if (this.spriteFlipH) { // L: 544
						var5.flipHorizontally();
					}

					if (this.outline > 0) { // L: 545
						var5.pad(this.outline);
					}

					if (this.outline >= 1) { // L: 546
						var5.outline(1);
					}

					if (this.outline >= 2) { // L: 547
						var5.outline(16777215);
					}

					if (this.spriteShadow != 0) { // L: 548
						var5.shadow(this.spriteShadow);
					}

					Widget_cachedSprites.put(var5, var3); // L: 549
					return var5; // L: 550
				}
			}
		}
	}

	@ObfuscatedName("z")
	@ObfuscatedSignature(
		descriptor = "(I)Lku;",
		garbageValue = "521072072"
	)
	@Export("getFont")
	public Font getFont() {
		field2603 = false; // L: 554
		if (this.fontId == -1) { // L: 555
			return null;
		} else {
			Font var1 = (Font)Widget_cachedFonts.get((long)this.fontId); // L: 556
			if (var1 != null) { // L: 557
				return var1;
			} else {
				var1 = PrivateChatMode.method5934(class1.Widget_spritesArchive, Bounds.Widget_fontsArchive, this.fontId, 0); // L: 558
				if (var1 != null) {
					Widget_cachedFonts.put(var1, (long)this.fontId); // L: 559
				} else {
					field2603 = true; // L: 560
				}

				return var1; // L: 561
			}
		}
	}

	@ObfuscatedName("u")
	@ObfuscatedSignature(
		descriptor = "(II)Llm;",
		garbageValue = "1550530577"
	)
	@Export("getInventorySprite")
	public SpritePixels getInventorySprite(int var1) {
		field2603 = false; // L: 565
		if (var1 >= 0 && var1 < this.inventorySprites.length) { // L: 566
			int var2 = this.inventorySprites[var1]; // L: 567
			if (var2 == -1) { // L: 568
				return null;
			} else {
				SpritePixels var3 = (SpritePixels)Widget_cachedSprites.get((long)var2); // L: 569
				if (var3 != null) { // L: 570
					return var3;
				} else {
					var3 = Skills.SpriteBuffer_getSprite(class1.Widget_spritesArchive, var2, 0); // L: 571
					if (var3 != null) { // L: 572
						Widget_cachedSprites.put(var3, (long)var2);
					} else {
						field2603 = true; // L: 573
					}

					return var3; // L: 574
				}
			}
		} else {
			return null;
		}
	}

	@ObfuscatedName("e")
	@ObfuscatedSignature(
		descriptor = "(Ljy;IZLhh;I)Leh;",
		garbageValue = "-2117213889"
	)
	@Export("getModel")
	public Model getModel(SequenceDefinition var1, int var2, boolean var3, PlayerComposition var4) {
		field2603 = false; // L: 578
		int var5;
		int var6;
		if (var3) { // L: 581
			var5 = this.modelType2; // L: 582
			var6 = this.modelId2; // L: 583
		} else {
			var5 = this.modelType; // L: 586
			var6 = this.modelId; // L: 587
		}

		if (var5 == 0) { // L: 589
			return null;
		} else if (var5 == 1 && var6 == -1) { // L: 590
			return null;
		} else {
			Model var7 = (Model)Widget_cachedModels.get((long)(var6 + (var5 << 16))); // L: 591
			if (var7 == null) { // L: 592
				ModelData var8;
				if (var5 == 1) { // L: 594
					var8 = ModelData.ModelData_get(GrandExchangeOfferWorldComparator.Widget_modelsArchive, var6, 0); // L: 595
					if (var8 == null) { // L: 596
						field2603 = true; // L: 597
						return null; // L: 598
					}

					var7 = var8.toModel(64, 768, -50, -10, -50); // L: 600
				}

				if (var5 == 2) { // L: 602
					var8 = WorldMapIcon_0.getNpcDefinition(var6).getModelData(); // L: 603
					if (var8 == null) { // L: 604
						field2603 = true; // L: 605
						return null; // L: 606
					}

					var7 = var8.toModel(64, 768, -50, -10, -50); // L: 608
				}

				if (var5 == 3) { // L: 610
					if (var4 == null) { // L: 611
						return null;
					}

					var8 = var4.getModelData(); // L: 612
					if (var8 == null) { // L: 613
						field2603 = true; // L: 614
						return null; // L: 615
					}

					var7 = var8.toModel(64, 768, -50, -10, -50); // L: 617
				}

				if (var5 == 4) { // L: 619
					ItemComposition var9 = SecureRandomCallable.ItemDefinition_get(var6); // L: 620
					var8 = var9.getModelData(10); // L: 621
					if (var8 == null) { // L: 622
						field2603 = true; // L: 623
						return null; // L: 624
					}

					var7 = var8.toModel(var9.ambient + 64, var9.contrast + 768, -50, -10, -50); // L: 626
				}

				Widget_cachedModels.put(var7, (long)(var6 + (var5 << 16))); // L: 628
			}

			if (var1 != null) { // L: 630
				var7 = var1.transformWidgetModel(var7, var2); // L: 631
			}

			return var7; // L: 633
		}
	}

	@ObfuscatedName("m")
	@ObfuscatedSignature(
		descriptor = "(ZB)Lho;",
		garbageValue = "-21"
	)
	@Export("getSpriteMask")
	public SpriteMask getSpriteMask(boolean var1) {
		if (this.spriteId == -1) { // L: 637
			var1 = false;
		}

		int var2 = var1 ? this.spriteId * -815296531 * -1427429915 : this.spriteId2 * -1999476695 * 325039129; // L: 638
		if (var2 == -1) { // L: 639
			return null;
		} else {
			long var3 = ((long)this.spriteShadow << 40) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2 + ((this.spriteFlipH ? 1L : 0L) << 39); // L: 640
			SpriteMask var5 = (SpriteMask)Widget_cachedSpriteMasks.get(var3); // L: 641
			if (var5 != null) { // L: 642
				return var5;
			} else {
				SpritePixels var6 = this.getSprite(var1); // L: 643
				if (var6 == null) { // L: 644
					return null;
				} else {
					SpritePixels var7 = var6.copyNormalized(); // L: 645
					int[] var8 = new int[var7.subHeight]; // L: 646
					int[] var9 = new int[var7.subHeight]; // L: 647

					for (int var10 = 0; var10 < var7.subHeight; ++var10) { // L: 648
						int var11 = 0; // L: 649
						int var12 = var7.subWidth; // L: 650

						int var13;
						for (var13 = 0; var13 < var7.subWidth; ++var13) { // L: 651
							if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { // L: 652
								var11 = var13; // L: 653
								break;
							}
						}

						for (var13 = var7.subWidth - 1; var13 >= var11; --var13) { // L: 657
							if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { // L: 658
								var12 = var13 + 1; // L: 659
								break;
							}
						}

						var8[var10] = var11; // L: 663
						var9[var10] = var12 - var11; // L: 664
					}

					var5 = new SpriteMask(var7.subWidth, var7.subHeight, var9, var8, var2); // L: 666
					Widget_cachedSpriteMasks.put(var5, var3); // L: 667
					return var5; // L: 668
				}
			}
		}
	}

	@ObfuscatedName("c")
	@ObfuscatedSignature(
		descriptor = "(ILjava/lang/String;I)V",
		garbageValue = "925556129"
	)
	@Export("setAction")
	public void setAction(int var1, String var2) {
		if (this.actions == null || this.actions.length <= var1) { // L: 672
			String[] var3 = new String[var1 + 1]; // L: 673
			if (this.actions != null) { // L: 674
				for (int var4 = 0; var4 < this.actions.length; ++var4) { // L: 675
					var3[var4] = this.actions[var4];
				}
			}

			this.actions = var3; // L: 677
		}

		this.actions[var1] = var2; // L: 679
	} // L: 680

	@ObfuscatedName("v")
	@ObfuscatedSignature(
		descriptor = "(Lil;IIIBZI)V",
		garbageValue = "452837182"
	)
	@Export("requestNetFile")
	static void requestNetFile(Archive var0, int var1, int var2, int var3, byte var4, boolean var5) {
		long var6 = (long)((var1 << 16) + var2); // L: 60
		NetFileRequest var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.get(var6); // L: 61
		if (var8 == null) { // L: 62
			var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6); // L: 63
			if (var8 == null) { // L: 64
				var8 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var6); // L: 65
				if (var8 != null) { // L: 66
					if (var5) { // L: 67
						var8.removeDual(); // L: 68
						NetCache.NetCache_pendingPriorityWrites.put(var8, var6);
						--NetCache.NetCache_pendingWritesCount; // L: 70
						++NetCache.NetCache_pendingPriorityWritesCount; // L: 71
					}

				} else {
					if (!var5) { // L: 75
						var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); // L: 76
						if (var8 != null) { // L: 77
							return;
						}
					}

					var8 = new NetFileRequest(); // L: 79
					var8.archive = var0; // L: 80
					var8.crc = var3; // L: 81
					var8.padding = var4; // L: 82
					if (var5) { // L: 83
						NetCache.NetCache_pendingPriorityWrites.put(var8, var6); // L: 84
						++NetCache.NetCache_pendingPriorityWritesCount; // L: 85
					} else {
						NetCache.NetCache_pendingWritesQueue.addFirst(var8); // L: 88
						NetCache.NetCache_pendingWrites.put(var8, var6); // L: 89
						++NetCache.NetCache_pendingWritesCount; // L: 90
					}

				}
			}
		}
	} // L: 73 92

	@ObfuscatedName("j")
	@Export("Entity_unpackSceneX")
	public static int Entity_unpackSceneX(long var0) {
		return (int)(var0 >>> 14 & 3L); // L: 69
	}
}
