Automation code menu

User Tag List

Results 1 to 10 of 10
  1. #1
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Automation code

    Hi,
    This is a simple automation code to help auto-cast, change and cast spells, change equipment, and much more.
    This is w10 friendly.
    There's a skill icon capture code, but that may need translation; around lines 277 to 303.
    The main issues that I found is that spell or buff icons change depending on their location on the menus or screen.
    So, you might need to build your own buff capture directory from the top left of the screen using that code, remembering that the more buffs you have active - or more towards the center of the screen - the icon will look like more different, needing a new capture.
    The same goes for the active spells and spell menu.
    Unlike the others, the spell menu icons change from bottom to top.
    Standard icons would eventually slow down the auto-cast buff scan during gameplay, so I chose to go with individual captures instead.
    Here's a file with the inventory and equipment gui backgrounds and Raise Zombie examples of captures.
    TinyUpload.com - best file hosting solution, with no limits, totaly free
    I hope you all enjoy it.
    Cheers.
    *Edit: Its good for 1920x1080 only, sorry for that.
    Code:
    #SingleInstance, force
    ToolTip, Loading
    SetTitleMatchMode, 3
    ;#IfWinActive Path of Exile
    #MaxThreadsperHotkey 2
    CoordMode, Mouse
    WinGetPos, X, Y, WinW, WinH, Path of Exile
    SetBatchLines, -1
    SetDefaultMouseSpeed, 0
    SetKeyDelay, 20, 20
    SetMouseDelay, 20
    SetWorkingDir A_ScriptDir
    Winset, Transparent, 0
    FileGetSize, Size, C:\Program Files (x86)\Grinding Gear Games\Path of Exile\Content.ggpk
    N:= 1
    Hk:= 1
    DelayN:= 1
    	If(FileExist("UnrapeKitConfig.ini")) {
    		IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount, %A_Space%
    		IniRead, HotkeyLimit, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit, %A_Space%
    		IniRead, Delay, UnrapeKitConfig.ini, Delay, Delay, %A_Space%
    		IniRead, FrameTime, UnrapeKitConfig.ini, Delay, FrameTime, %A_Space%
    		IniRead, KeyDelay1, UnrapeKitConfig.ini, Delay, KeyDelay1, %A_Space%
    		IniRead, KeyDelayPress, UnrapeKitConfig.ini, Delay, KeyDelayPress, %A_Space%
    		IniRead, MouseDelay, UnrapeKitConfig.ini, Delay, MouseDelay, %A_Space%
    			SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    			SetMouseDelay, %MouseDelay%
    		IniRead, HotkeyConfig, UnrapeKitConfig.ini, Configuration, HotkeyConfig, %A_Space%
    		IniRead, ScanConfig, UnrapeKitConfig.ini, Configuration, ScanConfig, %A_Space%
    		IniRead, SpellScan, UnrapeKitConfig.ini, Configuration, SpellScan, %A_Space%
    		IniRead, ScreenCapture, UnrapeKitConfig.ini, Configuration, ScreenCapture, %A_Space%
    		IniRead, DelayConfig, UnrapeKitConfig.ini, Configuration, DelayConfig, %A_Space%
    		IniRead, CaptureName, UnrapeKitConfig.ini, Configuration, CaptureName, %A_Space%
    		Hotkey, %HotkeyConfig%, HotkeyConfig
    		Hotkey, %ScanConfig%, ScanConfig
    		Hotkey, %SpellScan%, SpellScan
    		Hotkey, %ScreenCapture%, ScreenCapture1
    		Hotkey, %DelayConfig%, DelayConfig
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%, %A_Space%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%, %A_Space%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%, %A_Space%
    			NameN:= % Name%N%
    			IconToggleN:= % IconToggle%N%
    			LineN:= % Line%N%
    			CaptureName%N%:= % Name%N% "" Line%N%
    			IniRead, %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X, %A_Space%
    			IniRead, %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y, %A_Space%
    			N+= 1
    		}
    		Loop, %HotKeyLimit% {
    			IniRead, Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, Hkey%Hk%Toggle, %A_Space%
    			IniRead, Hkey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type1, %A_Space%
    			IniRead, Hkey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type2, %A_Space%
    			IniRead, Hkey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type3, %A_Space%
    			IniRead, Hkey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type4, %A_Space%
    			IniRead, Hkey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type5, %A_Space%
    			IniRead, Hkey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type6, %A_Space%
    			IniRead, Hkey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type7, %A_Space%
    			IniRead, Hkey%Hk%Type8, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type8, %A_Space%
    			IniRead, Hkey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, Hkey%Hk%Key, %A_Space%
    			IniRead, KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%, %A_Space%
    			IniRead, KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%, %A_Space%
    			IniRead, Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut, %A_Space%
    				If Hkey%Hk%Toggle = 1
    					Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    				If (Hkey%Hk%Type1 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					TrigN:= 3
    					IniRead, XTriggeredCount%Hk%, UnrapeKitConfig.ini, XTriggeredCount, XTriggeredCount%Hk%, %A_Space%
    					IniRead, ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%, %A_Space%
    					Loop, % XTriggeredCount%Hk% {
    						IniRead, TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%, %A_Space%
    						IniRead, Hkey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, Hkey%Hk%Spell%TrigN%, %A_Space%
    						TrigN+= 1
    					}
    				}
    				If (Hkey%Hk%Type2 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type3 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%, %A_Space%
    					IniRead, Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type4 = 1)
    					IniRead, Hkey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1T4, %A_Space%
    				If (Hkey%Hk%Type5 = 1) {
    					IniRead, GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    					IniRead, GemSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type6 = 1) {
    					IniRead, EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type7 = 1) {
    					IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations, %A_Space%
    					IniRead, XTypeGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeGemSwapTab_%Hk%, %A_Space%
    					IniRead, XTypeEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeEquipSwapTab_%Hk%, %A_Space%
    					XT:= 1
    					Loop, % Hkey%Hk%Iterations {
    						IniRead, HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XTypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, %A_Space%		
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, %A_Space%
    						IniRead, ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%, %A_Space%
    						IniRead, KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%, %A_Space%
    						XT+= 1
    					}
    				}
    			Hk+= 1
    		}
    	}
    ToolTip, Load Complete
    SetTimer, RemoveToolTip, -500
    return
    
    RemoveToolTip:
    	ToolTip
    return
    
    RCtrl & F10:: Reload
    RCtrl & F11:: Pause
    RCtrl & F12:: ExitApp
    
    RCtrl & F9::
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 270
    	GuiHeight:= 230
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Configuration Hotkeys:
    	Gui, Add, Edit, X10 Y40 H21 W140 vHotkeyConfig, %HotkeyConfig%
    	Gui, Add, Edit, X10 Y70 H21 W140 vScanConfig, %ScanConfig%
    	Gui, Add, Edit, X10 Y100 H21 W140 vSpellScan, %SpellScan%
    	Gui, Add, Edit, X10 Y130 H21 W140 vScreenCapture, %ScreenCapture%
    	Gui, Add, Edit, X10 Y160 H21 W140 vDelayConfig, %DelayConfig%
    	Gui, Add, Text, X160 Y43, Hotkey Configuration
    	Gui, Add, Text, X160 Y73, Scan Configuration
    	Gui, Add, Text, X160 Y103, Spell Scan
    	Gui, Add, Text, X160 Y133, Screen Capture
    	Gui, Add, Text, X160 Y163, Delay Configuration
    	Gui, Add, Button, x70 y200 w90 h20 gSetupConfig Default, Ok
    	Gui, Add, Button, x170 y200 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Configuration
    Return
    
    SetupConfig:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	IniWrite, %HotkeyConfig%, UnrapeKitConfig.ini, Configuration, HotkeyConfig
    	IniWrite, %ScanConfig%, UnrapeKitConfig.ini, Configuration, ScanConfig
    	IniWrite, %SpellScan%, UnrapeKitConfig.ini, Configuration, SpellScan
    	IniWrite, %ScreenCapture%, UnrapeKitConfig.ini, Configuration, ScreenCapture
    	IniWrite, %DelayConfig%, UnrapeKitConfig.ini, Configuration, DelayConfig
    	Hotkey, %HotkeyConfig%, HotkeyConfig
    	Hotkey, %ScanConfig%, ScanConfig
    	Hotkey, %SpellScan%, SpellScan
    	Hotkey, %ScreenCapture%, ScreenCapture1
    	Hotkey, %DelayConfig%, DelayConfig
    	Reload
    Return
    
    ScreenCapture1:
    	MouseGetPos, Xpos, Ypos
    	ImageRepeat:= 0
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↑←
    	Gui, Add, Button, gScreenCapture2 Default, Ok
    	Gui, Show, , Capture 1
    Return
    
    ScreenCapture2:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, CaptureX1, CaptureY1
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↓→
    	Gui, Add, Button,  gScreenCapture3 Default, Ok
    	Gui, Show, , Capture 2
    Return
    
    ScreenCapture3:
    	Gui, Submit
    	Gui, Destroy
    	IniRead, TempName, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniRead, TempLine, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	N:= ScanCount + 1
    	MouseGetPos, CaptureX2, CaptureY2
    	GuiWidth:= 210
    	GuiHeight:= 100
    	GuiX:= GuiWidth + 10
    	GuiY:=  GuiHeight + 30
    	Move_X:= Xpos - GuiX
    	Move_Y:= Ypos - GuiY
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text,x10 y10, Capture Name                               Line
    	Gui, Add, Edit, x10 y40 w150 h20 vTempName, %TempName%
    	Gui, Add, Edit, x+10 w20 h20 vTempLine, %TempLine%
    	Gui, Add, Button, x10 y70 w90 h20 gCaptureSave Default, Ok
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,Capture Configuration
    Return
    
    CaptureSave:
    	Gui, Submit
    	Gui, Destroy
    	Run C:\Windows\system32\SnippingTool.exe
    	IniWrite, %TempName%, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniWrite, %TempLine%, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	CaptureName:= % TempName "" TempLine
    	SetMouseDelay, 40
    	SetKeyDelay, 40, 40
    	WinWait, Snipping Tool
    	MouseClickDrag, L, CaptureX1, CaptureY1, CaptureX2, CaptureY2, 1
    	WinWaitActive, Snipping Tool
    	SendInput ^s
    	WinWait, Save As
    	SendInput %CaptureName%.png
    	SendInput !d
    	SendInput %A_ScriptDir%
    	SendInput !s
    	WinWait, Confirm Save As, , 0.001
    		{
    		SendInput !y
    		ImageRepeat:= 1
    		}
    	WinWaitActive, Snipping Tool
    	SendInput !fx
    		If (CaptureX1 >= 1410 AND CaptureX2 <= 1605 AND CaptureY1 >= 410 AND CaptureY2 <= 925) {
    			CaptureX1 -= 5
    			CaptureY1 -= 5
    			CaptureX2 += 5
    			CaptureY2 += 5
    			Loop, 20 {
    				ImageSearch, %TempName%X, %TempName%Y, CaptureX1, CaptureY1, CaptureX2, CaptureY2, *10 %CaptureName%.png
    					If(ErrorLevel = 2 AND A_Index = 20)
    						MsgBox Could Not perform scan
    					If(ErrorLevel = 1 AND A_Index = 20)
    						MsgBox Could Not Find Scan %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						Send, {Click}
    							If (ImageRepeat = 1) {
    								Loop {
    										If (CaptureName = CaptureName%A_Index%) {
    											N:= A_Index
    											break
    										}
    								}
    							} Else {
    								ScanCount+= 1
    								N:= ScanCount
    							}
    						Name%N%:= TempName
    						Line%N%:= TempLine
    						IconToggle%N%:= 1
    						IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    						IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    						IniWrite, % %TempName%X, UnrapeKitConfig.ini, SpellCoordinates, %TempName%X
    						IniWrite, % %TempName%Y, UnrapeKitConfig.ini, SpellCoordinates, %TempName%Y
    						IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    						IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    						Break
    					}
    			Sleep, 10
    			}
    		}
    	SetMouseDelay, %MouseDelay%
    	SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    	Reload
    Return
    	
    ScanConfig:
    	IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y5 w200 h26, Icons Count:
    	Gui, Add, Text, x10 y33 w120 h26, Scans:
    	Gui, Add, Edit, x145 y30 w30 h21 vScanCount, %ScanCount%
    	Gui, Add, Button, x10 y70 w90 h20 gScanDefinitions Default, Definitions
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Scan Count
    Return
    
    ScanDefinitions:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	N:= 1
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    			NameN:= % Name%N%
    			LineN:= % Line%N%
    			N+= 1
    		}
    	N:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	MouseGetPos, Xpos, Ypos
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Toggle`, SpellName`, Line# (Bottom to Top)
    	Loop, %ScanCount% {
    		GuiY:= 50 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 95
    			If (GuiY > ScreenHeight) {
    					W+= 1
    					HMax:= H
    					H= 1
    			}
    		Y1:= 18 + 30 * H
    		Y2:= 15 + 30 * H
    		GuiWidth:= 240 * W
    			If (W = 1) {
    				GuiHeight:= 105 + 30 * H
    				AddHeight:= 48 + 30 * H
    				AddButtonHeight:= 45 + 30 * H
    				ButtonHeight:= 75 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 105 + 30 * HMax
    				AddHeight:= 48 + 30 * HMax
    				AddButtonHeight:= 45 + 30 * HMax
    				ButtonHeight:= 75 + 30 * HMax
    			}
    		Button1Width:= GuiWidth - 200
    		Button2Width:= GuiWidth - 100
    		TextWidth:= GuiWidth - 215
    		CheckboxWidth:= GuiWidth - 195
    		NameWidth:= GuiWidth - 175
    		LineWidth:= GuiWidth - 45
    		Gui, Add, Text, x%TextWidth% Y%Y1%, %N%
    		Gui, Add, Checkbox, % " x" CheckboxWidth " y" Y1 " h13 w13 vIconToggle" N " Checked" IconToggle%N%
    		Gui, Add, Edit, x%NameWidth% y%Y2% w120 h20 vName%N%, % Name%N%
    		Gui, Add, Edit, x%LineWidth% y%Y2% w20 h20 vLine%N%, % Line%N%
    			If (A_Index = ScanCount) {
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x10 y%AddButtonHeight% w90 h20 gAddScan, Add
    				Gui, Add, Text, x110 y%AddHeight%, Add
    				Gui, Add, Edit, x140 y%AddButtonHeight% w30 h20 vXDefinitions
    				Gui, Add, Text, x180 y%AddHeight%, Definition(s)
    				Gui, Add, Button, x%Button1Width% y%ButtonHeight% w90 h20 gScanWrite Default, Record
    				Gui, Add, Button, x%Button2Width% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Scan Configuration
    				Break
    			}
    		N+= 1
    		H+= 1
    	}
    Return
    
    AddScan:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	ScanCount+= %XDefinitions%
    	Gosub ScanDefinitions
    Return
    
    ScanWrite:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	Gosub SpellScan
    Return
    
    SpellScan:
    	N:= 1
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, 1660, 1025 ; t
    	Sleep, %Delay%
    	MouseClick, , 1660, 1025 ; t
    	Sleep, %Delay%
    	Loop, %ScanCount% {
    		IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			If (IconToggle%N% = 1) {
    				IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    				IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    				NameN:= % Name%N%
    				LineN:= % Line%N%
    				ImageSearch, %NameN%X, %NameN%Y, 1410, 410, 1605, 925, *10 %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						IniWrite, % %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X
    						IniWrite, % %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y
    					}
    			}
    		N+= 1
    	}
    	Send, {Esc}
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	MouseMove, Xpos, Ypos
    	BlockInput, MouseMoveOff
    Return
    
    DelayConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 220
    	GuiHeight:= 160
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Server Latency (ms)
    	Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    	Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    	Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    	Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    	Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    	Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    	Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    	Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    	Gui, Add, Button, x20 y130 w90 h20 gDelayConfigRecord Default, Record
    	Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Delay configuration
    Return
    
    DelayConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    	Reload
    Return
    
    HotkeyConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Hotkeys wanted:
    	Gui, Add, Text, x50 y33, 200 Hotkeys Maximum
    	Gui, Add, Edit, x10 y30 w30 h20 vHotkeyLimit, %HotkeyLimit%
    	Gui, Add, Button, x10 y70 w90 h20 gHKeyEdit Default, Hotkeys
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Count
    Return
    
    HkeyEdit:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %HotkeyLimit%, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit
    	Hk:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	MouseGetPos, Xpos, Ypos
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    		If HotkeyLimit Between 1 and 200
    			Loop, %HotkeyLimit% {
    				GuiY:= 120 + 30 * H
    				ScreenHeight:= A_ScreenHeight - 45
    					If (GuiY > ScreenHeight) {
    						W+= 1
    						HMax:= H
    						H= 1
    					}
    				Y1:= 13 + 30 * H
    				Y2:= 10 + 30 * H
    				GuiWidth:= 610 * W
    					If (W = 1) {
    						GuiHeight:= 80 + 30 * H
    						ButtonHeight:= 50 + 30 * H
    						ButtonTxtHeight:= 53 + 30 * H
    					}
    					If (W > 1) {
    						GuiHeight:= 80 + 30 * HMax
    						ButtonHeight:= 50 + 30 * HMax
    						ButtonTxtHeight:= 53 + 30 * HMax
    					}
    				Button1X:= GuiWidth - 300
    				Button2X:= GuiWidth - 200
    				Button3X:= GuiWidth - 100
    				Text1X:= GuiWidth - 590
    				CheckboxX:= GuiWidth - 570
    				Radio1X:= GuiWidth - 520
    				Radio2X:= GuiWidth - 480
    				Radio3X:= GuiWidth - 440
    				Radio4X:= GuiWidth - 400
    				Radio5X:= GuiWidth - 360
    				Radio6X:= GuiWidth - 320
    				Radio7X:= GuiWidth - 280
    				EditX:= GuiWidth - 240
    				EditButtonX:= GuiWidth -100
    				CheckboxTxt:= GuiWidth - 583
    				Radio1Txt:= GuiWidth - 530
    				Radio2Txt:= GuiWidth - 490
    				Radio3Txt:= GuiWidth - 450
    				Radio4Txt:= GuiWidth - 410
    				Radio5Txt:= GuiWidth - 370
    				Radio6Txt:= GuiWidth - 330
    				Radio7Txt:= GuiWidth - 290
    				EditTxt:= GuiWidth - 220
    				EditButtonTxt:= GuiWidth -85
    				Gui, Add, Text, x%CheckboxTxt% y20,Toggle
    				Gui, Add, Text, x%Radio1Txt% y20,Type 1
    				Gui, Add, Text, x%Radio2Txt% y20,Type 2
    				Gui, Add, Text, x%Radio3Txt% y20,Type 3
    				Gui, Add, Text, x%Radio4Txt% y20,Type 4
    				Gui, Add, Text, x%Radio5Txt% y20,Type 5
    				Gui, Add, Text, x%Radio6Txt% y20,Type 6
    				Gui, Add, Text, x%Radio7Txt% y20,Type 7
    				Gui, Add, Text, x%EditTxt% y20, Hotkey Shortcut
    				Gui, Add, Text, x%EditButtonTxt% y20, Hotkey Edit
    				Gui, Add, Text, x%Text1X% y%Y1%, %Hk%
    				Gui, Add, Checkbox, % "X" CheckboxX " Y" Y1 " h13 w13 vHKey" Hk "Toggle Checked" HKey%Hk%Toggle
    				Gui, Add, Radio, % "x" Radio1X " y" Y1 " h13 w13 vHkey" Hk "Type1 Checked" HKey%Hk%Type1,1
    				Gui, Add, Radio, % "x" Radio2X " y" Y1 " h13 w13 vHkey" Hk "Type2 Checked" HKey%Hk%Type2,2
    				Gui, Add, Radio, % "x" Radio3X " y" Y1 " h13 w13 vHkey" Hk "Type3 Checked" HKey%Hk%Type3,3
    				Gui, Add, Radio, % "x" Radio4X " y" Y1 " h13 w13 vHkey" Hk "Type4 Checked" HKey%Hk%Type4,4
    				Gui, Add, Radio, % "x" Radio5X " y" Y1 " h13 w13 vHkey" Hk "Type5 Checked" HKey%Hk%Type5,5
    				Gui, Add, Radio, % "x" Radio6X " y" Y1 " h13 w13 vHkey" Hk "Type6 Checked" HKey%Hk%Type6,6
    				Gui, Add, Radio, % "x" Radio7X " y" Y1 " h13 w13 vHkey" Hk "Type7 Checked" HKey%Hk%Type7,7
    				Gui, Add, Edit, x%EditX% y%Y2% w120 h20 vHkey%Hk%Shortcut, % Hkey%Hk%Shortcut
    				Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditHk, %Hk%
    					If (A_Index = HotkeyLimit) {
    						X_Offset:= GuiWidth/2
    						Y_Offset:= GuiHeight/2
    						X_Limit:= A_ScreenWidth - X_Offset
    						Y_Limit:= A_ScreenHeight - Y_Offset
    						Mouse_X:= Xpos - X_Offset
    						Mouse_Y:= Ypos - Y_Offset
    							If Xpos between 0 and %X_Offset%
    								Move_X:= 0
    							If Xpos between %X_Offset% and %X_Limit%
    								Move_X:= Mouse_X
    							If Xpos between %X_Limit% and %A_ScreenWidth%
    								Move_X:= A_ScreenWidth - GuiWidth
    							If Ypos between 0 and %Y_Offset%
    								Move_Y:= 0
    							If Ypos between %Y_Offset% and %Y_Limit%
    								Move_Y:= Mouse_Y
    							If Ypos between %Y_Limit% and %A_ScreenHeight%
    								Move_Y:= A_ScreenHeight - GuiHeight - 30
    						Gui, Add, Button, x10 y%ButtonHeight% w90 H20 gHkAdd, Add
    						Gui, Add, Text, x110 y%ButtonTxtHeight%,Add
    						Gui, Add, Edit, x140 y%ButtonHeight% w20 h20 vHotkeyAdd
    						Gui, Add, Text, x170 y%ButtonTxtHeight%,Hotkey(s)
    						Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gRecordHks Default, Record
    						Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gSetHKs, Configure
    						Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    						Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Hotkey Configuration
    						Break
    					}
    			Hk+= 1
    			H+= 1
    			}
    Return
    
    HkAdd:
    	Gui, Submit
    	Gui, Destroy
    	HotkeyLimit+= %HotkeyAdd%
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Gosub HkeyEdit
    Return
    
    RecordHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Reload
    Return
    
    SetHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Hk:= 1
    	Gosub HkTypeConfigLoop
    Return
    
    EditHk:
    	A_GuiControlHk:= A_GuiControl
    	Hk:= A_GuiControlHk
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%Toggle = 0)
    			Hkey%Hk%Toggle = 1
    	IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    	IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    	IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    	IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    	IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    	IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    	IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    	IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    	IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    		If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    			Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    	Gosub HkTypeConfigLoop
    Return
    
    HkTypeConfigLoop:
    	Loop {
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type1 = 1) {
    				Gosub ConfigType1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type2 = 1) {
    				Gosub ConfigType2
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type3 = 1) {
    				Gosub ConfigType3
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type4 = 1) {
    				Gosub ConfigType4
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type5 = 1) {
    				Gosub GemSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type6 = 1) {
    				Gosub EquipSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type7 = 1) {
    				Gosub XTypeConfig
    				Break
    			}
    			If (Hkey%Hk%Toggle = 0) {
    				Gosub HkLoopAdd
    				Break
    			}
    			If (Hk > HotKeyLimit) {
    				Reload
    				Break
    			}
    	}
    Return
    
    HkLoopAdd:
    		If (A_GuiControlHk is Integer) {
    			Gosub Delay
    		Return
    		}
    	Hk+= 1
    	Goto, HkTypeConfigLoop
    Return
    
    ConfigType1:
    	GuiWidth:= 210
    	GuiHeight:= 230
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 1"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 w140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Edit, x10 y130 w20 h20 vXTriggeredCount%Hk%, % XTriggeredCount%Hk%
    	Gui, Add, Edit, x10 y160 w30 h20 vScanDelay%Hk%, % ScanDelay%Hk%
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Text, x40 y133, Extra Triggered Spells
    	Gui, Add, Text, x50 y163, Scan Loop Delay, ms
    	Gui, Add, Button, x10 y200 w90 h20 gTriggered1 Default, Define
    	Gui, Add, Button, x110 y200 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    Return
    
    Triggered1:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	IniWrite, % XTriggeredCount%Hk%, UnrapeKitConfig.ini, XtriggeredCount, XTriggeredCount%Hk%
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%
    		If XTriggeredCount%Hk% = 0
    			Gosub TriggeredWrite
    	Gui, -0x80000 AlwaysOnTop
    	Loop, % XTriggeredCount%Hk% {
    		Y1:= 30 * TrigN - 27
    		Y2:= 30 * TrigN - 30
    		Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut ": Additional Spells"
    		Gui, Add, Text, x10 y30, Toggle`, SpellName
    		Gui, Add, Checkbox, % "x10 y" Y1 " h13 w13 vTriggerToggle" TrigN "_" Hk " Checked" TriggerToggle%TrigN%_%Hk%
    		Gui, Add, Edit, x41 y%Y2% w140 h20 vHKey%Hk%Spell%TrigN%, % HKey%Hk%Spell%TrigN%
    		Gui, Add, Text, x191 y%Y1%, % "Spell " TrigN
    			If (A_Index = XTriggeredCount%Hk%) {
    				GuiWidth:= 240
    				GuiHeight:= 40 + 30 * TrigN
    				ButtonHeight:= 30 * TrigN + 10
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x40 y%ButtonHeight% w90 h20 gTriggeredWrite Default, Record
    				Gui, Add, Button, x140 y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, W%GuiWidth% H%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    				Break
    			}
    		TrigN+= 1
    	}
    Return
    
    TriggeredWrite:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	Loop, % XTriggeredCount%Hk% {
    		IniWrite, % TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%
    		IniWrite, % HKey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%Spell%TrigN%
    		TrigN+=1
    	}
    	Gosub KeyWrite
    Return
    
    ConfigType2:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 200
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 2"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Checkbox, % "x10 y130 h13 w13 vType2MoveToggleHotkey" Hk " Checked" Type2MoveToggleHotkey%Hk%, Move mouse before Spell 1 cast
    	Gui, Add, Button, x10 y170 w90 h20 gWrite2 Default, Define
    	Gui, Add, Button, x110 y170 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Swap Caster
    Return
    
    Write2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%
    	Gosub KeyWrite
    Return
    
    ConfigType3:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 220
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 3"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut key
    	Gui, Add, Checkbox, % "x10 y130 h13 w13 vType3Cast1ToggleHotkey" Hk " Checked" Type3Cast1ToggleHotkey%Hk%, Cast Spell 1
    	Gui, Add, Checkbox, % "x10 y160 h13 w13 vType3Cast2ToggleHotkey" Hk " Checked" Type3Cast2ToggleHotkey%Hk%, Cast Spell 2
    	Gui, Add, Button, x10 y190 w90 h20 gWrite3 Default, Define
    	Gui, Add, Button, x110 y190 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Shortcut Reset
    Return
    
    Write3:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%
    	IniWrite, % Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    ConfigType4:
    	GuiWidth:= 210
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 4"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1T4, % HKey%Hk%Spell1T4
    	Gui, Add, Edit, x10 y70 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x90 y73, Shortcut key
    	Gui, Add, Button, x10 y110 w90 h20 gWrite4 Default, Define
    	Gui, Add, Button, x110 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Spell Toggle
    Return
    
    Write4:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1T4
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    KeyWrite:
    		If (HKey%Hk%Key = "Q") {
    			KeyX_%Hk%:= 1440
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "W") {
    			KeyX_%Hk%:= 1495
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "E") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "R") {
    			KeyX_%Hk%:= 1605
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "T") {
    			KeyX_%Hk%:= 1655
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "LButton") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "MButton") {
    			KeyX_%Hk%:= 1600
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "RButton") {
    			KeyX_%Hk%:= 1650
    			KeyY_%Hk%:= 975
    		}
    	IniWrite, % KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%
    	IniWrite, % KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%
    	Gosub HkLoopAdd
    Return
    
    GemSwap1:
    	Swap:= "GemSwap1"
    	Gosub Swap
    Return
    
    GemSwap2:
    	Swap:= "GemSwap2"
    	Gosub Swap
    return
    
    EquipSwap1:
    	Swap:= "EquipSwap1"
    	GoSub Swap
    Return
    
    EquipSwap2:
    	Swap:= "EquipSwap2"
    	GoSub Swap
    Return
    
    Swap:
    	Gosub LCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniRead, Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniRead, Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniRead, Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniRead, Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniRead, Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "GemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "EquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	Gui, Color, 0x050505
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, Add, Radio, % "x29 y511 w13 h13 v" Swap "RadioL1C1Hotkey" Hk " Checked" %Swap%RadioL1C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C2Hotkey" Hk " Checked" %Swap%RadioL1C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C3Hotkey" Hk " Checked" %Swap%RadioL1C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C4Hotkey" Hk " Checked" %Swap%RadioL1C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C5Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C6Hotkey" Hk " Checked" %Swap%RadioL1C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C7Hotkey" Hk " Checked" %Swap%RadioL1C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C8Hotkey" Hk " Checked" %Swap%RadioL1C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C9Hotkey" Hk " Checked" %Swap%RadioL1C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C10Hotkey" Hk " Checked" %Swap%RadioL1C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C11Hotkey" Hk " Checked" %Swap%RadioL1C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C12Hotkey" Hk " Checked" %Swap%RadioL1C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y563 w13 h13 v" Swap "RadioL2C1Hotkey" Hk " Checked" %Swap%RadioL2C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C2Hotkey" Hk " Checked" %Swap%RadioL2C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C3Hotkey" Hk " Checked" %Swap%RadioL2C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C4Hotkey" Hk " Checked" %Swap%RadioL2C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C5Hotkey" Hk " Checked" %Swap%RadioL2C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C6Hotkey" Hk " Checked" %Swap%RadioL2C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C7Hotkey" Hk " Checked" %Swap%RadioL2C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C8Hotkey" Hk " Checked" %Swap%RadioL2C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C9Hotkey" Hk " Checked" %Swap%RadioL2C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C10Hotkey" Hk " Checked" %Swap%RadioL2C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C11Hotkey" Hk " Checked" %Swap%RadioL2C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C12Hotkey" Hk " Checked" %Swap%RadioL2C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y616 w13 h13 v" Swap "RadioL3C1Hotkey" Hk " Checked" %Swap%RadioL3C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C2Hotkey" Hk " Checked" %Swap%RadioL3C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C3Hotkey" Hk " Checked" %Swap%RadioL3C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C4Hotkey" Hk " Checked" %Swap%RadioL3C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C5Hotkey" Hk " Checked" %Swap%RadioL3C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C6Hotkey" Hk " Checked" %Swap%RadioL3C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C7Hotkey" Hk " Checked" %Swap%RadioL3C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C8Hotkey" Hk " Checked" %Swap%RadioL3C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C9Hotkey" Hk " Checked" %Swap%RadioL3C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C10Hotkey" Hk " Checked" %Swap%RadioL3C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C11Hotkey" Hk " Checked" %Swap%RadioL3C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C12Hotkey" Hk " Checked" %Swap%RadioL3C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y669 w13 h13 v" Swap "RadioL4C1Hotkey" Hk " Checked" %Swap%RadioL4C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C2Hotkey" Hk " Checked" %Swap%RadioL4C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C3Hotkey" Hk " Checked" %Swap%RadioL4C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C4Hotkey" Hk " Checked" %Swap%RadioL4C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C5Hotkey" Hk " Checked" %Swap%RadioL4C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C6Hotkey" Hk " Checked" %Swap%RadioL4C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C7Hotkey" Hk " Checked" %Swap%RadioL4C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C8Hotkey" Hk " Checked" %Swap%RadioL4C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C9Hotkey" Hk " Checked" %Swap%RadioL4C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C10Hotkey" Hk " Checked" %Swap%RadioL4C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C11Hotkey" Hk " Checked" %Swap%RadioL4C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C12Hotkey" Hk " Checked" %Swap%RadioL4C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y721 w13 h13 v" Swap "RadioL5C1Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C2Hotkey" Hk " Checked" %Swap%RadioL5C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C3Hotkey" Hk " Checked" %Swap%RadioL5C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C4Hotkey" Hk " Checked" %Swap%RadioL5C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C5Hotkey" Hk " Checked" %Swap%RadioL5C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C6Hotkey" Hk " Checked" %Swap%RadioL5C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C7Hotkey" Hk " Checked" %Swap%RadioL5C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C8Hotkey" Hk " Checked" %Swap%RadioL5C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C9Hotkey" Hk " Checked" %Swap%RadioL5C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C10Hotkey" Hk " Checked" %Swap%RadioL5C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C11Hotkey" Hk " Checked" %Swap%RadioL5C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C12Hotkey" Hk " Checked" %Swap%RadioL5C12Hotkey%Hk%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk " Checked" RightFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk " Checked" LeftFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk " Checked" AmuletSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk " Checked" BeltRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk " Checked" BeltCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk " Checked" BeltLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk " Checked" Flask1%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk " Checked" Flask2%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk " Checked" Flask3%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk " Checked" Flask4%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk " Checked" Flask5%Swap%Hotkey%Hk%
    	Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    	Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		If (Swap = "GemSwap2") OR (Swap = "EquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Button1X:= 40
    			Button2X:= 460
    			ButtonY:= 450
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Tab, 2
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			Gui, Color, 0x050505
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    			Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		}
    		If (Swap = "GemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap"
    		If (Swap = "EquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap"
    		If (Swap = "GemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "EquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    Return
    
    LCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    SwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub LCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1765
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1770
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1455
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1715
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1565
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1605
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1487
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1540
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1592
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1645
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1697
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) OR (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1765
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1770
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    		}
    		If (Swap = "GemSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub GemSwap2
    		Return
    		}
    		If (Swap = "EquipSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub EquipSwap2
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 1) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 1) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    Return
    
    LCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    			If (%Swap%RadioL%L%C%C%Hotkey%Hk% = 1) {
    				%Swap%Hotkey%Hk%_X:= 1240 + (C*53)
    				%Swap%Hotkey%Hk%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    Delay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gDelayRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub DelayRecord
    Return
    
    DelayRecord:
    		If (DelayN = 1) {
    			Gui, Submit
    			Gui, Destroy
    			DelayN+= 1
    			IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    			IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    			IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    			IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    			IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		}
    		If (A_GuiControlHk is Integer) {
    			DelayN+= 1
    			Gosub HkeyEdit
    		}
    		Else {
    			Hk+= 1
    			Gosub HkTypeConfigLoop
    		}
    Return
    
    XTypeConfig:
    	MouseGetPos, Xpos, Ypos
    	XTypeConfigRecord:= 0
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x40 y10, Extra Type configuration
    	Gui, Add, Edit, x10 y40 w30 h20 vHkey%Hk%Iterations, % Hkey%Hk%Iterations
    	Gui, Add, Text, x50 y43, % "Iterations Hotkey " Hk
    	Gui, Add, Button, x10 y70 w90 h20 gXTypeConfig2 Default, Configure
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Extra Type
    Return
    
    XTypeConfig2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	MouseGetPos, Xpos, Ypos
    	XT:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Options:
    	Gui, Add, Text, x10 y40, Toggle
    	Gui, Add, Text, x10 y70, !Toggle
    	Gui, Add, Text, x10 y100, ImageSearch
    	Gui, Add, Text, x10 y130, GetMousePos
    	Gui, Add, Text, x10 y160, GoMousePos
    	Gui, Add, Text, x10 y190, SpellScan
    	Gui, Add, Text, x10 y220, Spell
    	Gui, Add, Text, x10 y250, SendInput
    	Gui, Add, Text, x10 y280, MouseMove
    	Gui, Add, Text, x10 y310, Delay
    	Gui, Add, Text, x10 y340, GemSwap
    	Gui, Add, Text, x10 y370, EquipmentSwap
    	Gui, Add, Text, x10 y400, Add
    	Gui, Add, Edit, x110 y400 w20 h20 vHkey%Hk%XIterations
    	Gui, Add, Text, x140 y403, Iteration(s)
    	Gui, Add, Button, x10 y400 w90 h20 gXTypeConfi***dd, Add
    	Loop, % Hkey%Hk%Iterations {
    		GuiY:= 60 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 45
    			If (GuiY > ScreenHeight) {
    				W+= 1
    				HMax:= H
    				H= 1
    			}
    		Y1:= 8 + 30 * H
    		Y2:= 5 + 30 * H
    		GuiWidth:= 160 + 360 * W
    			If (W = 1) {
    				GuiHeight:= 70 + 30 * H
    				ButtonHeight:= 40 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 70 + 30 * HMax
    				ButtonHeight:= 40 + 30 * HMax
    			}
    		Button1X:= GuiWidth - 300
    		Button2X:= GuiWidth - 200
    		Button3X:= GuiWidth - 100
    		CheckboxX:= GuiWidth - 310
    		EditButtonX:= GuiWidth - 100
    		EditX:= GuiWidth - 280
    		TextX:= GuiWidth - 170
    		Gui, Add, Checkbox, % "x" CheckboxX " y" Y1 " w13 h13 vHkey" Hk "Iteration" XT "Toggle Checked" Hkey%Hk%Iteration%XT%Toggle
    		Gui, Add, Edit, x%EditX% y%Y2% w100 h20 vHkey%Hk%Iteration%XT%, % Hkey%Hk%Iteration%XT%
    		Gui, Add, Text, x%TextX% y%Y1%, % "Iteration " XT
    		Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditXT, %A_Index%
    			If (XT = Hkey%Hk%Iterations) {
    					If ButtonHeight < 400
    						ButtonHeight = 400
    					If GuiHeight < 430
    						GuiHeight = 430
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gXTypeConfigRecord Default, Record
    				Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gXTypeConfig3, Configure
    				Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Iteration Configuration
    				Break
    			}
    		XT+= 1
    		H+= 1
    	}
    Return
    
    EditXT:
    	A_GuiControlXT:= A_GuiControl
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= A_GuiControlXT
    		If (Hkey%Hk%Iteration%XT%Toggle = 0)
    			Hkey%Hk%Iteration%XT%Toggle = 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	XTypeConfigRecord:= 1
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeDelay
    Return
    
    XTypeConfi***dd:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%Iterations+= % Hkey%Hk%XIterations
    		Gosub XTypeConfig2
    Return
    	
    XTypeConfig3:
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfig4:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXT > 0)
    			A_GuiControlXTypeConfig4:= A_GuiControlXT
    	IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						Gosub XTypeToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle") {
    						Gosub XType!ToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						Gosub XTypeImageSearch
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    						Gosub XTypeGetMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						Gosub XTypeGoMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan") {
    						Gosub XTypeLoopAdd
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    						Gosub XTypeSpell
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						Gosub XTypeSend
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						Gosub XTypeMouseMove
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Gosub XTypeDelayConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						Gosub XTypeGemSwap1
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						Gosub XTypeEquipSwap1
    						Break
    					}
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 0) {
    				Gosub XTypeLoopAdd
    				Break
    			}
    			If (XT >= Hkey%Hk%Iterations) {
    				Gosub HkLoopAdd
    				Break
    			}
    	}
    Return
    
    XTypeMsg:
    	MsgBox, % "Iteration " XT " = " Hkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeToggleConfig:
    	Msgbox Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XType!ToggleConfig:
    	Msgbox !Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XTypeLoopAdd:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXT:= 0
    			Gosub XTypeDelay
    			Return
    		}
    	XT+= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeLoopSubtract:
    	Gui, Submit
    	Gui, Destroy
    	A_GuiControlXT:= 0
    	Loop {
    		XT-= 1
    			If (XT = 0) {
    				XT:= 1
    				Gosub XTypeConfig4
    				Break
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    				Gosub XTypeConfig4
    				Break
    			}
    	}
    Return
    
    XTypeImageSearch:
    	GuiWidth:= 410
    	GuiHeight:= 130
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	Gui, Add, Edit, x50 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	Gui, Add, Edit, x90 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	Gui, Add, Edit, x130 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	Gui, Add, Edit, x10 y40 W110 H20 vShadeVariationXTypeHotkey%Hk%Iteration%XT%, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Edit, x10 y70 w110 h20 vImageNameXTypeHotkey%Hk%Iteration%XT%, % ImageNameXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Text, x170 y13, Left, Top, Right and Bottom Scan Coordinates
    	Gui, Add, Text, x130 y43, Scan Color Shade Variation and Optional Parameters
    	Gui, Add, Text, x130 y73, Scan Image Name
    	Gui, Add, Button, x310 y100 w90 h20 gXTypeImageSearchWrite Default, Define
    	Gui, Add, Button, x210 y100 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y100 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y100 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Image Scan
    Return
    
    XTypeImageSearchWrite:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%XtypeGetMousePosToggleIteration%XT%:= 1
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	IniWrite, % ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%
    	IniWrite, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGetMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Checkbox, % "x10 y40 h13 w13 vHKey" Hk "XTypeGetMousePosToggleIteration" XT " Checked" HKey%Hk%XTypeGetMousePosToggleIteration%XT%, Cancel Saving and get position during hotkey execution
    	Gui, Add, Button, x310 y70 w90 h20 gXTypeGetMousePosWrite Default, Define
    	Gui, Add, Button, x210 y70 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y70 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Get Mouse Position
    Return
    
    XTypeGetMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 0) {
    			MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    		}
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGoMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x200 y10 w20 h20 vHKey%Hk%XTypeGoMousePosIteration%XT%, % HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gui, Add, Text, x10 y13, Move to Mouse Position from Iteration:
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeGoMousePosWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%:Mouse Position
    Return
    
    XTypeGoMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeMouseMove:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeMouseMoveWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Mouse Position
    
    Return
    
    XTypeMouseMoveWrite:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSpell:
    	GuiWidth:= 410
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, % Type 7 - "Iteration " XT " Spell Configuration"
    	Gui, Add, Edit, x10 y40 w110 h20 vHKey%Hk%XTypeSpellIteration%XT%, % HKey%Hk%XTypeSpellIteration%XT%
    	Gui, Add, Edit, x10 y70 W70 H20 vHKey%Hk%XTypeKeyIteration%XT%, % HKey%Hk%XTypeKeyIteration%XT%
    	Gui, Add, Text, x130 y43, % "Spell - Hotkey " Hk
    	Gui, Add, Text, x90 y73, % "Key - Hotkey " Hk
    	Gui, Add, Button, x310 y110 w90 h20 gXTypeSpellWrite Default, Define
    	Gui, Add, Button, x210 y110 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y110 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Type 7 Spell Configuration
    Return
    
    XTypeSpellWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%
    	IniWrite, % HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%
    	Gosub XTypeKey
    Return
    
    XTypeKey:
    		If (HKey%Hk%XTypeKeyIteration%XT% = "Q") {
    			KeyX_%Hk%Iteration%XT%:= 1440
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "W") {
    			KeyX_%Hk%Iteration%XT%:= 1495
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "E") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "R") {
    			KeyX_%Hk%Iteration%XT%:= 1605
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "T") {
    			KeyX_%Hk%Iteration%XT%:= 1655
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "LButton") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "MButton") {
    			KeyX_%Hk%Iteration%XT%:= 1600
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "RButton") {
    			KeyX_%Hk%Iteration%XT%:= 1650
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    	IniWrite, % KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%
    	IniWrite, % KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSend:
    	GuiWidth:= 410
    	GuiHeight:= 110
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x185 y10, % "Hotkey " Hk
    	Gui, Add, Edit, x10 y40 w70 h20 vHKey%Hk%XTypeSendIteration%XT%, % HKey%Hk%XTypeSendIteration%XT%
    	Gui, Add, Text, x90 y43, % "Iteration " XT " Send"
    	Gui, Add, Button, x310 y80 w90 h20 gXTypeSendWrite Default, Define
    	Gui, Add, Button, x210 y80 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y80 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y80 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Send Config
    Return
    
    XTypeSendWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeDelayConfig:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w130 h20 vHKey%Hk%XTypeDelayIteration%XT%, % HKey%Hk%XTypeDelayIteration%XT%
    	Gui, Add, Text, x150 y13, % "Iteration " XT " Delay"
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeDelayWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % "Hotkey " Hk
    Return
    
    XTypeDelayWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGemSwap1:
    	Swap:= XGemSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeGemSwap2:
    	Swap:= XGemSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap1:
    	Swap:= XEquipSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap2:
    	Swap:= XEquipSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeSwap:
    	Gosub XTypeLCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask1%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask2%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask3%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask4%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask5%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%IterationXType%XT%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "XGemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "XEquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, Color, 0x050505
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Radio, % "x29 y511 h13 w13 vGemSwap1RadioL1C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y563 w13 h13 vGemSwap1RadioL2C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y616 w13 h13 vGemSwap1RadioL3C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y669 w13 h13 vGemSwap1RadioL4C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y721 w13 h13 vGemSwap1RadioL5C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask5%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    	Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		If (Swap = "XGemSwap2" OR Swap = "XEquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Color, 0x0C0E0B
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, Tab, 2
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    			Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    			Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    			Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		}
    		If (Swap = "XGemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XEquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XGemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap - Iteration " XT
    		If (Swap = "XEquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap - Iteration " XT
    Return
    
    XTypeLCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    		C+= 1
    			If (C > 12) {
    				C:= 1
    				L+= 1
    					If (L > 5)
    						Break
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeSwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub XTypeLCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%Iteration%XT%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1765
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1770
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1455
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1715
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1565
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1605
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1487
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1540
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1592
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1645
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1697
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2 OR Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1765
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1770
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    		}
    		If (Swap = "XGemSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeGemSwap2
    		}
    		If (Swap = "XEquipSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeEquipSwap2
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 1) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 1) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    Return
    
    XTypeLCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    			If (XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT% = 1) {
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_X:= 1240 + (C*53)
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeDelay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gXTypeRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub XTypeRecord
    Return
    
    XTypeRecord:
    	Gui, Submit
    	Gui, Destroy
    	DelayN+= 1
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		If (XTypeConfigRecord = 1) {
    			Gosub HkLoopAdd
    			Return
    		}
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXTypeConfig4:= 0
    			Gosub XTypeConfig2
    			Return
    		}
    	Gosub XTypeLoopAdd
    Return
    
    Type1:
    	HkT1:= Hk
    	XTrig:= 3
    	HKeyHkT1Spell1:= HKey%HkT1%Spell1
    	HKeyHkT1Spell2:= HKey%HkT1%Spell2
    	HKeyHkT1Key:= HKey%HkT1%Key
    	HKey%HkT1%KeyToggle:= !HKey%HkT1%KeyToggle
    		If HKey%HkT1%KeyToggle {
    			While HKey%HkT1%KeyToggle {
    				ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell1 "Timer.png"
    					If ErrorLevel = 0
    						HKey%HkT1%Spell1Timer:= True
    					If ErrorLevel = 1
    						ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer2.png"
    							if ErrorLevel = 0
    								HKey%HkT1%Spell1Timer:= True
    							if ErrorLevel = 1
    								ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer3.png"
    									If ErrorLevel = 0
    										HKey%HkT1%Spell1Timer:= True
    									If ErrorLevel = 1
    										ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer4.png"
    											if ErrorLevel = 0
    												HKey%HkT1%Spell1Timer:= True
    											if ErrorLevel = 1
    												ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer5.png"
    													If ErrorLevel = 0
    														HKey%HkT1%Spell1Timer:= True
    													If ErrorLevel = 1
    														ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer6.png"
    															if ErrorLevel = 0
    																	HKey%HkT1%Spell1Timer:= True
    															if ErrorLevel = 1
    																ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer7.png"
    																	If ErrorLevel = 0
    																			HKey%HkT1%Spell1Timer:= True
    																	If ErrorLevel = 1
    																		ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer8.png"
    																				if ErrorLevel = 0
    																					HKey%HkT1%Spell1Timer:= True
    																				if ErrorLevel = 1
    																					HKey%HkT1%Spell1Timer:= False
    					If (HKey%HkT1%Spell1timer = False) {
    						ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%HkT1%Spell1 "-" HKey%HkT1%Key ".png"
    							If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    							}
    							If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    								MouseGetPos, Xpos, Ypos
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, 40
    								MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, %MouseDelay%
    								MouseMove, %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, 40
    								MouseClick, , %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, Xpos, Ypos
    								Sleep, %FrameTime%
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    				While HKey%HkT1%KeyToggle {
    						If (XTriggeredCount%HkT1% = 0)
    							Break
    						If (TriggerToggle%XTrig%_%HkT1% = 1) {
    							ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell%XTrig% "Timer.png"
    								If ErrorLevel = 0
    									HKey%HkT1%Spell%XTrig%Timer:= True
    								If ErrorLevel = 1
    									ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer2.png"
    										If ErrorLevel = 0
    											HKey%HkT1%Spell%XTrig%Timer:= True
    										If ErrorLevel = 1
    											ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer3.png"
    												If ErrorLevel = 0
    													HKey%HkT1%Spell%XTrig%Timer:= True
    												If ErrorLevel = 1
    													ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer4.png"
    														If ErrorLevel = 0
    															HKey%HkT1%Spell%XTrig%Timer:= True
    														If ErrorLevel = 1
    															ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer5.png"
    																If ErrorLevel = 0
    																	HKey%HkT1%Spell%XTrig%Timer:= True
    																If ErrorLevel = 1
    																	ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer6.png"
    																		If ErrorLevel = 0
    																			HKey%HkT1%Spell%XTrig%Timer:= True
    																		If ErrorLevel = 1
    																			ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer7.png"
    																				If ErrorLevel = 0
    																					HKey%HkT1%Spell%XTrig%Timer:= True
    																				If ErrorLevel = 1
    																					ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer8.png"
    																						if ErrorLevel = 0
    																							HKey%HkT1%Spell%XTrig%Timer:= True
    																						if ErrorLevel = 1
    																							HKey%HkT1%Spell%XTrig%Timer:= False
    								If (HKey%HkT1%Spell%XTrig%timer = False) {
    									ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%hKT1%Spell%XTrig% "-" HKey%HkT1%Key ".png"
    										If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    										}
    										If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    											HKeyHkT1SpellXTrig:= HKey%HkT1%Spell%XTrig%
    											MouseGetPos, Xpos, Ypos
    											BlockInput, MouseMove
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, 40
    											MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, %MouseDelay%
    											MouseMove, %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, 40
    											MouseClick, , %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, %MouseDelay%
    											MouseMove, Xpos, Ypos
    											Sleep, %FrameTime%
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    											BlockInput, MouseMoveOff
    										}
    								}
    						}
    						If (A_Index = XTriggeredCount%HkT1%) {
    							XTrig:= 3
    							Break
    						}
    				}
    					Xtrig+= 1
    				Sleep, % ScanDelay%HkT1%
    			}
    		Return
    		}
    		If !HKey%HkT1%KeyToggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type2:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, 40
    	MouseClick, ,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, %MouseDelay%
    		If (Type2MoveToggleHotkey%Hk% = 1) {
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    		}
    	SendInput, {%HKeyHkKey%}
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, 40
    	MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, %MouseDelay%
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState2, LButton, P
    		If LButtonState2 = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type3:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	HKey%Hk%Keytoggle:= !HKey%Hk%Keytoggle
    		If HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast1ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    		If !HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast2ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type4:
    	HKeyHkSpell1T4:= HKey%Hk%Spell1T4
    	HKeyHkKey:= HKey%Hk%Key
    	ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%Hk%Spell1T4 "-" Hkey%Hk%Key ".png"
    		If ErrorLevel = 0
    			SendInput, {%HKeyHkKey%}
    		If (ErrorLevel = 1) {
    			BlockInput, MouseMove
    			MouseGetPos, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, 40
    			MouseClick, ,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    			SendInput, {%HKeyHkKey%}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		}
    Return
    
    Type5:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Right, GemSwap1X%Hk%, GemSwap1Y%Hk%
    		If (GemSwapTab_%Hk% = 1) {
    			MouseMove, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (GemSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap1AltX%Hk%, GemSwap1AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	GetKeyState, LButtonState, LButton, P
    	MouseMove, Xpos, Ypos
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type6:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    		If (EquipSwapTab_%Hk% = 1) {
    			MouseMove, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (EquipSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type7:
    	XT:= 1
    	MouseGetPos, Xpos, Ypos
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						XtypeHotkey%Hk%Toggle:= !XtypeHotkey%Hk%Toggle
    							If (XtypeHotkey%Hk%Toggle) {
    								XT+= 1
    							}
    							If (!XtypeHotkey%Hk%Toggle) {
    								Loop, % Hkey%Hk%Iterations {
    									XT+= 1
    										If (Hkey%Hk%Iteration%XT% = "!Toggle")
    											Break
    								}
    								XT+= 1
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan")
    						Gosub SpellScan
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						;BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, A_ScreenWidth, A_ScreenHeight
    							Loop {
    								ImageSearch, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % "*" ShadeVariationXTypeHotkey%Hk%Iteration%XT% " " ImageNameXTypeHotkey%Hk%Iteration%XT% ".png"
    									If (ErrorLevel = 2)
    										MsgBox % "Search Failed for image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    									If (ErrorLevel = 1)
    										MsgBox % "Search could not find image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    									If (ErrorLevel = 0) {
    										ToolTip, % HKey%Hk%XTypeMouseXPosIteration%XT% ", " HKey%Hk%XTypeMouseYPosIteration%XT%
    										SetTimer, RemoveToolTip, 500
    										break
    									}
    							}
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						;BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    					HKeyHkXTypeSpellIterationXT:= HKey%Hk%XTypeSpellIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseClick, ,  KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseMove, %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, 40
    						MouseClick, , %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, %MouseDelay%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						HKeyHkXTypeSendIterationXT:= HKey%Hk%XTypeSendIteration%XT%
    						SendInput, {%HKeyHkXTypeSendIterationXT%}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    							If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 1) {
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						MouseXT:= HKey%Hk%XTypeGoMousePosIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%MouseXT%, HKey%Hk%XTypeMouseXPosIteration%MouseXT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Sleep, % HKey%Hk%XTypeDelayIteration%XT%
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, Right, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeGemSwapTab_%Hk% = 1) {
    								MouseMove, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeGemSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeEquipSwapTab_%Hk% = 1) {
    								MouseMove, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeEquipSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle" OR XT = Hkey%Hk%Iterations) {
    						Break
    						return
    					}
    			}
    		XT+= 1
    	}
    	MouseMove, Xpos, Ypos
    Return
    
    Hotkey1:
    	Hk:= 1
    	Gosub HotkeyRouting
    Return
    
    Hotkey2:
    	Hk:= 2
    	Gosub HotkeyRouting
    Return
    
    Hotkey3:
    	Hk:= 3
    	Gosub HotkeyRouting
    Return
    
    Hotkey4:
    	Hk:= 4
    	Gosub HotkeyRouting
    Return
    
    Hotkey5:
    	Hk:= 5
    	Gosub HotkeyRouting
    Return
    
    Hotkey6:
    	Hk:= 6
    	Gosub HotkeyRouting
    Return
    
    Hotkey7:
    	Hk:= 7
    	Gosub HotkeyRouting
    Return
    
    Hotkey8:
    	Hk:= 8
    	Gosub HotkeyRouting
    Return
    
    Hotkey9:
    	Hk:= 9
    	Gosub HotkeyRouting
    Return
    
    Hotkey10:
    	Hk:= 10
    	Gosub HotkeyRouting
    Return
    
    Hotkey11:
    	Hk:= 11
    	Gosub HotkeyRouting
    Return
    
    Hotkey12:
    	Hk:= 12
    	Gosub HotkeyRouting
    Return
    
    Hotkey13:
    	Hk:= 13
    	Gosub HotkeyRouting
    Return
    
    Hotkey14:
    	Hk:= 14
    	Gosub HotkeyRouting
    Return
    
    Hotkey15:
    	Hk:= 15
    	Gosub HotkeyRouting
    Return
    
    Hotkey16:
    	Hk:= 16
    	Gosub HotkeyRouting
    Return
    
    Hotkey17:
    	Hk:= 17
    	Gosub HotkeyRouting
    Return
    
    Hotkey18:
    	Hk:= 18
    	Gosub HotkeyRouting
    Return
    
    Hotkey19:
    	Hk:= 19
    	Gosub HotkeyRouting
    Return
    
    Hotkey20:
    	Hk:= 20
    	Gosub HotkeyRouting
    Return
    
    Hotkey21:
    	Hk:= 21
    	Gosub HotkeyRouting
    Return
    
    Hotkey22:
    	Hk:= 22
    	Gosub HotkeyRouting
    Return
    
    Hotkey23:
    	Hk:= 23
    	Gosub HotkeyRouting
    Return
    
    Hotkey24:
    	Hk:= 24
    	Gosub HotkeyRouting
    Return
    
    Hotkey25:
    	Hk:= 25
    	Gosub HotkeyRouting
    Return
    
    Hotkey26:
    	Hk:= 26
    	Gosub HotkeyRouting
    Return
    
    Hotkey27:
    	Hk:= 27
    	Gosub HotkeyRouting
    Return
    
    Hotkey28:
    	Hk:= 28
    	Gosub HotkeyRouting
    Return
    
    Hotkey29:
    	Hk:= 29
    	Gosub HotkeyRouting
    Return
    
    Hotkey30:
    	Hk:= 30
    	Gosub HotkeyRouting
    Return
    
    Hotkey31:
    	Hk:= 31
    	Gosub HotkeyRouting
    Return
    
    Hotkey32:
    	Hk:= 32
    	Gosub HotkeyRouting
    Return
    
    Hotkey33:
    	Hk:= 33
    	Gosub HotkeyRouting
    Return
    
    Hotkey34:
    	Hk:= 34
    	Gosub HotkeyRouting
    Return
    
    Hotkey35:
    	Hk:= 35
    	Gosub HotkeyRouting
    Return
    
    Hotkey36:
    	Hk:= 36
    	Gosub HotkeyRouting
    Return
    
    Hotkey37:
    	Hk:= 37
    	Gosub HotkeyRouting
    Return
    
    Hotkey38:
    	Hk:= 38
    	Gosub HotkeyRouting
    Return
    
    Hotkey39:
    	Hk:= 39
    	Gosub HotkeyRouting
    Return
    
    Hotkey40:
    	Hk:= 40
    	Gosub HotkeyRouting
    Return
    
    Hotkey41:
    	Hk:= 41
    	Gosub HotkeyRouting
    Return
    
    Hotkey42:
    	Hk:= 42
    	Gosub HotkeyRouting
    Return
    
    Hotkey43:
    	Hk:= 43
    	Gosub HotkeyRouting
    Return
    
    Hotkey44:
    	Hk:= 44
    	Gosub HotkeyRouting
    Return
    
    Hotkey45:
    	Hk:= 45
    	Gosub HotkeyRouting
    Return
    
    Hotkey46:
    	Hk:= 46
    	Gosub HotkeyRouting
    Return
    
    Hotkey47:
    	Hk:= 47
    	Gosub HotkeyRouting
    Return
    
    Hotkey48:
    	Hk:= 48
    	Gosub HotkeyRouting
    Return
    
    Hotkey49:
    	Hk:= 49
    	Gosub HotkeyRouting
    Return
    
    Hotkey50:
    	Hk:= 50
    	Gosub HotkeyRouting
    Return
    
    Hotkey51:
    	Hk:= 51
    	Gosub HotkeyRouting
    Return
    
    Hotkey52:
    	Hk:= 52
    	Gosub HotkeyRouting
    Return
    
    Hotkey53:
    	Hk:= 53
    	Gosub HotkeyRouting
    Return
    
    Hotkey54:
    	Hk:= 54
    	Gosub HotkeyRouting
    Return
    
    Hotkey55:
    	Hk:= 55
    	Gosub HotkeyRouting
    Return
    
    Hotkey56:
    	Hk:= 56
    	Gosub HotkeyRouting
    Return
    
    Hotkey57:
    	Hk:= 57
    	Gosub HotkeyRouting
    Return
    
    Hotkey58:
    	Hk:= 58
    	Gosub HotkeyRouting
    Return
    
    Hotkey59:
    	Hk:= 59
    	Gosub HotkeyRouting
    Return
    
    Hotkey60:
    	Hk:= 60
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey70:
    	Hk:= 70
    	Gosub HotkeyRouting
    Return
    
    Hotkey71:
    	Hk:= 71
    	Gosub HotkeyRouting
    Return
    
    Hotkey72:
    	Hk:= 72
    	Gosub HotkeyRouting
    Return
    
    Hotkey73:
    	Hk:= 73
    	Gosub HotkeyRouting
    Return
    
    Hotkey74:
    	Hk:= 74
    	Gosub HotkeyRouting
    Return
    
    Hotkey75:
    	Hk:= 75
    	Gosub HotkeyRouting
    Return
    
    Hotkey76:
    	Hk:= 76
    	Gosub HotkeyRouting
    Return
    
    Hotkey77:
    	Hk:= 77
    	Gosub HotkeyRouting
    Return
    
    Hotkey78:
    	Hk:= 78
    	Gosub HotkeyRouting
    Return
    
    Hotkey79:
    	Hk:= 79
    	Gosub HotkeyRouting
    Return
    
    Hotkey80:
    	Hk:= 80
    	Gosub HotkeyRouting
    Return
    
    Hotkey81:
    	Hk:= 81
    	Gosub HotkeyRouting
    Return
    
    Hotkey82:
    	Hk:= 82
    	Gosub HotkeyRouting
    Return
    
    Hotkey83:
    	Hk:= 83
    	Gosub HotkeyRouting
    Return
    
    Hotkey84:
    	Hk:= 84
    	Gosub HotkeyRouting
    Return
    
    Hotkey85:
    	Hk:= 85
    	Gosub HotkeyRouting
    Return
    
    Hotkey86:
    	Hk:= 86
    	Gosub HotkeyRouting
    Return
    
    Hotkey87:
    	Hk:= 87
    	Gosub HotkeyRouting
    Return
    
    Hotkey88:
    	Hk:= 88
    	Gosub HotkeyRouting
    Return
    
    Hotkey89:
    	Hk:= 89
    	Gosub HotkeyRouting
    Return
    
    Hotkey90:
    	Hk:= 90
    	Gosub HotkeyRouting
    Return
    
    Hotkey91:
    	Hk:= 91
    	Gosub HotkeyRouting
    Return
    
    Hotkey92:
    	Hk:= 92
    	Gosub HotkeyRouting
    Return
    
    Hotkey93:
    	Hk:= 93
    	Gosub HotkeyRouting
    Return
    
    Hotkey94:
    	Hk:= 94
    	Gosub HotkeyRouting
    Return
    
    Hotkey95:
    	Hk:= 95
    	Gosub HotkeyRouting
    Return
    
    Hotkey96:
    	Hk:= 96
    	Gosub HotkeyRouting
    Return
    
    Hotkey97:
    	Hk:= 97
    	Gosub HotkeyRouting
    Return
    
    Hotkey98:
    	Hk:= 98
    	Gosub HotkeyRouting
    Return
    
    Hotkey99:
    	Hk:= 99
    	Gosub HotkeyRouting
    Return
    
    Hotkey100:
    	Hk:= 100
    	Gosub HotkeyRouting
    Return
    
    Hotkey101:
    	Hk:= 101
    	Gosub HotkeyRouting
    Return
    
    Hotkey102:
    	Hk:= 102
    	Gosub HotkeyRouting
    Return
    
    Hotkey103:
    	Hk:= 103
    	Gosub HotkeyRouting
    Return
    
    Hotkey104:
    	Hk:= 104
    	Gosub HotkeyRouting
    Return
    
    Hotkey105:
    	Hk:= 105
    	Gosub HotkeyRouting
    Return
    
    Hotkey106:
    	Hk:= 106
    	Gosub HotkeyRouting
    Return
    
    Hotkey107:
    	Hk:= 107
    	Gosub HotkeyRouting
    Return
    
    Hotkey108:
    	Hk:= 108
    	Gosub HotkeyRouting
    Return
    
    Hotkey109:
    	Hk:= 109
    	Gosub HotkeyRouting
    Return
    
    Hotkey110:
    	Hk:= 110
    	Gosub HotkeyRouting
    Return
    
    Hotkey111:
    	Hk:= 111
    	Gosub HotkeyRouting
    Return
    
    Hotkey112:
    	Hk:= 112
    	Gosub HotkeyRouting
    Return
    
    Hotkey113:
    	Hk:= 113
    	Gosub HotkeyRouting
    Return
    
    Hotkey114:
    	Hk:= 114
    	Gosub HotkeyRouting
    Return
    
    Hotkey115:
    	Hk:= 115
    	Gosub HotkeyRouting
    Return
    
    Hotkey116:
    	Hk:= 116
    	Gosub HotkeyRouting
    Return
    
    Hotkey117:
    	Hk:= 117
    	Gosub HotkeyRouting
    Return
    
    Hotkey118:
    	Hk:= 118
    	Gosub HotkeyRouting
    Return
    
    Hotkey119:
    	Hk:= 119
    	Gosub HotkeyRouting
    Return
    
    Hotkey120:
    	Hk:= 120
    	Gosub HotkeyRouting
    Return
    
    Hotkey121:
    	Hk:= 121
    	Gosub HotkeyRouting
    Return
    
    Hotkey122:
    	Hk:= 122
    	Gosub HotkeyRouting
    Return
    
    Hotkey123:
    	Hk:= 123
    	Gosub HotkeyRouting
    Return
    
    Hotkey124:
    	Hk:= 124
    	Gosub HotkeyRouting
    Return
    
    Hotkey125:
    	Hk:= 125
    	Gosub HotkeyRouting
    Return
    
    Hotkey126:
    	Hk:= 126
    	Gosub HotkeyRouting
    Return
    
    Hotkey127:
    	Hk:= 127
    	Gosub HotkeyRouting
    Return
    
    Hotkey128:
    	Hk:= 128
    	Gosub HotkeyRouting
    Return
    
    Hotkey129:
    	Hk:= 129
    	Gosub HotkeyRouting
    Return
    
    Hotkey130:
    	Hk:= 130
    	Gosub HotkeyRouting
    Return
    
    Hotkey131:
    	Hk:= 131
    	Gosub HotkeyRouting
    Return
    
    Hotkey132:
    	Hk:= 132
    	Gosub HotkeyRouting
    Return
    
    Hotkey133:
    	Hk:= 133
    	Gosub HotkeyRouting
    Return
    
    Hotkey134:
    	Hk:= 134
    	Gosub HotkeyRouting
    Return
    
    Hotkey135:
    	Hk:= 135
    	Gosub HotkeyRouting
    Return
    
    Hotkey136:
    	Hk:= 136
    	Gosub HotkeyRouting
    Return
    
    Hotkey137:
    	Hk:= 137
    	Gosub HotkeyRouting
    Return
    
    Hotkey138:
    	Hk:= 138
    	Gosub HotkeyRouting
    Return
    
    Hotkey139:
    	Hk:= 139
    	Gosub HotkeyRouting
    Return
    
    Hotkey140:
    	Hk:= 140
    	Gosub HotkeyRouting
    Return
    
    Hotkey141:
    	Hk:= 141
    	Gosub HotkeyRouting
    Return
    
    Hotkey142:
    	Hk:= 142
    	Gosub HotkeyRouting
    Return
    
    Hotkey143:
    	Hk:= 143
    	Gosub HotkeyRouting
    Return
    
    Hotkey144:
    	Hk:= 144
    	Gosub HotkeyRouting
    Return
    
    Hotkey145:
    	Hk:= 145
    	Gosub HotkeyRouting
    Return
    
    Hotkey146:
    	Hk:= 146
    	Gosub HotkeyRouting
    Return
    
    Hotkey147:
    	Hk:= 147
    	Gosub HotkeyRouting
    Return
    
    Hotkey148:
    	Hk:= 148
    	Gosub HotkeyRouting
    Return
    
    Hotkey149:
    	Hk:= 149
    	Gosub HotkeyRouting
    Return
    
    Hotkey150:
    	Hk:= 150
    	Gosub HotkeyRouting
    Return
    
    Hotkey151:
    	Hk:= 151
    	Gosub HotkeyRouting
    Return
    
    Hotkey152:
    	Hk:= 152
    	Gosub HotkeyRouting
    Return
    
    Hotkey153:
    	Hk:= 153
    	Gosub HotkeyRouting
    Return
    
    Hotkey154:
    	Hk:= 154
    	Gosub HotkeyRouting
    Return
    
    Hotkey155:
    	Hk:= 155
    	Gosub HotkeyRouting
    Return
    
    Hotkey156:
    	Hk:= 156
    	Gosub HotkeyRouting
    Return
    
    Hotkey157:
    	Hk:= 157
    	Gosub HotkeyRouting
    Return
    
    Hotkey158:
    	Hk:= 158
    	Gosub HotkeyRouting
    Return
    
    Hotkey159:
    	Hk:= 159
    	Gosub HotkeyRouting
    Return
    
    Hotkey160:
    	Hk:= 160
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey170:
    	Hk:= 170
    	Gosub HotkeyRouting
    Return
    
    Hotkey171:
    	Hk:= 171
    	Gosub HotkeyRouting
    Return
    
    Hotkey172:
    	Hk:= 172
    	Gosub HotkeyRouting
    Return
    
    Hotkey173:
    	Hk:= 173
    	Gosub HotkeyRouting
    Return
    
    Hotkey174:
    	Hk:= 174
    	Gosub HotkeyRouting
    Return
    
    Hotkey175:
    	Hk:= 175
    	Gosub HotkeyRouting
    Return
    
    Hotkey176:
    	Hk:= 176
    	Gosub HotkeyRouting
    Return
    
    Hotkey177:
    	Hk:= 177
    	Gosub HotkeyRouting
    Return
    
    Hotkey178:
    	Hk:= 178
    	Gosub HotkeyRouting
    Return
    
    Hotkey179:
    	Hk:= 179
    	Gosub HotkeyRouting
    Return
    
    Hotkey180:
    	Hk:= 180
    	Gosub HotkeyRouting
    Return
    
    Hotkey181:
    	Hk:= 181
    	Gosub HotkeyRouting
    Return
    
    Hotkey182:
    	Hk:= 182
    	Gosub HotkeyRouting
    Return
    
    Hotkey183:
    	Hk:= 183
    	Gosub HotkeyRouting
    Return
    
    Hotkey184:
    	Hk:= 184
    	Gosub HotkeyRouting
    Return
    
    Hotkey185:
    	Hk:= 185
    	Gosub HotkeyRouting
    Return
    
    Hotkey186:
    	Hk:= 186
    	Gosub HotkeyRouting
    Return
    
    Hotkey187:
    	Hk:= 187
    	Gosub HotkeyRouting
    Return
    
    Hotkey188:
    	Hk:= 188
    	Gosub HotkeyRouting
    Return
    
    Hotkey189:
    	Hk:= 189
    	Gosub HotkeyRouting
    Return
    
    Hotkey190:
    	Hk:= 190
    	Gosub HotkeyRouting
    Return
    
    Hotkey191:
    	Hk:= 191
    	Gosub HotkeyRouting
    Return
    
    Hotkey192:
    	Hk:= 192
    	Gosub HotkeyRouting
    Return
    
    Hotkey193:
    	Hk:= 193
    	Gosub HotkeyRouting
    Return
    
    Hotkey194:
    	Hk:= 194
    	Gosub HotkeyRouting
    Return
    
    Hotkey195:
    	Hk:= 195
    	Gosub HotkeyRouting
    Return
    
    Hotkey196:
    	Hk:= 196
    	Gosub HotkeyRouting
    Return
    
    Hotkey197:
    	Hk:= 197
    	Gosub HotkeyRouting
    Return
    
    Hotkey198:
    	Hk:= 198
    	Gosub HotkeyRouting
    Return
    
    Hotkey199:
    	Hk:= 199
    	Gosub HotkeyRouting
    Return
    
    Hotkey200:
    	Hk:= 200
    	Gosub HotkeyRouting
    Return
    
    HotkeyRouting:
    		If (Hkey%Hk%Type1 = 1) {
    			Gosub Type1
    		Return
    		}
    		If (Hkey%Hk%Type2 = 1) {
    			Gosub Type2
    		Return
    		}
    		If (Hkey%Hk%Type3 = 1) {
    			Gosub Type3
    		Return
    		}
    		If (Hkey%Hk%Type4 = 1) {
    			Gosub Type4
    		Return
    		}
    		If (Hkey%Hk%Type5 = 1) {
    			Gosub Type5
    		Return
    		}
    		If (Hkey%Hk%Type6 = 1) {
    			Gosub Type6
    		Return
    		}
    		If (Hkey%Hk%Type7 = 1) {
    			Gosub Type7
    		Return
    		}
    Return
    
    Cancel:
    	Reload
    Return
    Last edited by nimb777; 03-26-2020 at 04:50 PM. Reason: fixed offsets on the scan config window and allowed the script to run without POE open

    Automation code
  2. Thanks hacker143, sushix, noneyatemp, Genocyber, Nolan431 (5 members gave Thanks to nimb777 for this useful post)
  3. #2
    sushix's Avatar Member
    Reputation
    5
    Join Date
    Jun 2017
    Posts
    86
    Thanks G/R
    33/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    cheers mate.!

  4. #3
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, hf!

  5. #4
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Fixed the checkbox texts not showing up:
    Code:
    #SingleInstance, force
    ToolTip, Loading
    SetTitleMatchMode, 3
    ;#IfWinActive Path of Exile
    #MaxThreadsperHotkey  2
    CoordMode, Mouse
    WinGetPos, X, Y, WinW, WinH, Path of Exile
    SetBatchLines, -1
    SetDefaultMouseSpeed, 0
    SetKeyDelay, 20, 20
    SetMouseDelay, 20
    SetWorkingDir A_ScriptDir
    Winset, Transparent, 0
    FileGetSize, Size, C:\Program Files (x86)\Grinding Gear Games\Path of Exile\Content.ggpk
    N:= 1
    Hk:= 1
    DelayN:= 1
    	If(FileExist("UnrapeKitConfig.ini")) {
    		IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount, %A_Space%
    		IniRead, HotkeyLimit, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit, %A_Space%
    		IniRead, Delay, UnrapeKitConfig.ini, Delay, Delay, %A_Space%
    		IniRead, FrameTime, UnrapeKitConfig.ini, Delay, FrameTime, %A_Space%
    		IniRead, KeyDelay1, UnrapeKitConfig.ini, Delay, KeyDelay1, %A_Space%
    		IniRead, KeyDelayPress, UnrapeKitConfig.ini, Delay, KeyDelayPress, %A_Space%
    		IniRead, MouseDelay, UnrapeKitConfig.ini, Delay, MouseDelay, %A_Space%
    			SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    			SetMouseDelay, %MouseDelay%
    		IniRead, HotkeyConfig, UnrapeKitConfig.ini, Configuration, HotkeyConfig, %A_Space%
    		IniRead, ScanConfig, UnrapeKitConfig.ini, Configuration, ScanConfig, %A_Space%
    		IniRead, SpellScan, UnrapeKitConfig.ini, Configuration, SpellScan, %A_Space%
    		IniRead, ScreenCapture, UnrapeKitConfig.ini, Configuration, ScreenCapture, %A_Space%
    		IniRead, DelayConfig, UnrapeKitConfig.ini, Configuration, DelayConfig, %A_Space%
    		IniRead, CaptureName, UnrapeKitConfig.ini, Configuration, CaptureName, %A_Space%
    		Hotkey, %HotkeyConfig%, HotkeyConfig
    		Hotkey, %ScanConfig%, ScanConfig
    		Hotkey, %SpellScan%, SpellScan
    		Hotkey, %ScreenCapture%, ScreenCapture1
    		Hotkey, %DelayConfig%, DelayConfig
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%, %A_Space%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%, %A_Space%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%, %A_Space%
    			NameN:= % Name%N%
    			IconToggleN:= % IconToggle%N%
    			LineN:= % Line%N%
    			CaptureName%N%:= % Name%N% "" Line%N%
    			IniRead, %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X, %A_Space%
    			IniRead, %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y, %A_Space%
    			N+= 1
    		}
    		Loop, %HotKeyLimit% {
    			IniRead, Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, Hkey%Hk%Toggle, %A_Space%
    			IniRead, Hkey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type1, %A_Space%
    			IniRead, Hkey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type2, %A_Space%
    			IniRead, Hkey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type3, %A_Space%
    			IniRead, Hkey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type4, %A_Space%
    			IniRead, Hkey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type5, %A_Space%
    			IniRead, Hkey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type6, %A_Space%
    			IniRead, Hkey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type7, %A_Space%
    			IniRead, Hkey%Hk%Type8, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type8, %A_Space%
    			IniRead, Hkey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, Hkey%Hk%Key, %A_Space%
    			IniRead, KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%, %A_Space%
    			IniRead, KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%, %A_Space%
    			IniRead, Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut, %A_Space%
    				If Hkey%Hk%Toggle = 1
    					Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    				If (Hkey%Hk%Type1 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					TrigN:= 3
    					IniRead, XTriggeredCount%Hk%, UnrapeKitConfig.ini, XTriggeredCount, XTriggeredCount%Hk%, %A_Space%
    					IniRead, ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%, %A_Space%
    					Loop, % XTriggeredCount%Hk% {
    						IniRead, TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%, %A_Space%
    						IniRead, Hkey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, Hkey%Hk%Spell%TrigN%, %A_Space%
    						TrigN+= 1
    					}
    				}
    				If (Hkey%Hk%Type2 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type3 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%, %A_Space%
    					IniRead, Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type4 = 1)
    					IniRead, Hkey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1T4, %A_Space%
    				If (Hkey%Hk%Type5 = 1) {
    					IniRead, GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    					IniRead, GemSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type6 = 1) {
    					IniRead, EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type7 = 1) {
    					IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations, %A_Space%
    					IniRead, XTypeGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeGemSwapTab_%Hk%, %A_Space%
    					IniRead, XTypeEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeEquipSwapTab_%Hk%, %A_Space%
    					XT:= 1
    					Loop, % Hkey%Hk%Iterations {
    						IniRead, HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XTypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, %A_Space%		
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, %A_Space%
    						IniRead, ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%, %A_Space%
    						IniRead, KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%, %A_Space%
    						XT+= 1
    					}
    				}
    			Hk+= 1
    		}
    	}
    ToolTip, Load Complete
    SetTimer, RemoveToolTip, -500
    return
    
    RemoveToolTip:
    	ToolTip
    return
    
    RCtrl & F10:: Reload
    RCtrl & F11:: Pause
    RCtrl & F12:: ExitApp
    
    RCtrl & F9::
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 270
    	GuiHeight:= 230
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Configuration Hotkeys:
    	Gui, Add, Edit, X10 Y40 H21 W140 vHotkeyConfig, %HotkeyConfig%
    	Gui, Add, Edit, X10 Y70 H21 W140 vScanConfig, %ScanConfig%
    	Gui, Add, Edit, X10 Y100 H21 W140 vSpellScan, %SpellScan%
    	Gui, Add, Edit, X10 Y130 H21 W140 vScreenCapture, %ScreenCapture%
    	Gui, Add, Edit, X10 Y160 H21 W140 vDelayConfig, %DelayConfig%
    	Gui, Add, Text, X160 Y43, Hotkey Configuration
    	Gui, Add, Text, X160 Y73, Scan Configuration
    	Gui, Add, Text, X160 Y103, Spell Scan
    	Gui, Add, Text, X160 Y133, Screen Capture
    	Gui, Add, Text, X160 Y163, Delay Configuration
    	Gui, Add, Button, x70 y200 w90 h20 gSetupConfig Default, Ok
    	Gui, Add, Button, x170 y200 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Configuration
    Return
    
    SetupConfig:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	IniWrite, %HotkeyConfig%, UnrapeKitConfig.ini, Configuration, HotkeyConfig
    	IniWrite, %ScanConfig%, UnrapeKitConfig.ini, Configuration, ScanConfig
    	IniWrite, %SpellScan%, UnrapeKitConfig.ini, Configuration, SpellScan
    	IniWrite, %ScreenCapture%, UnrapeKitConfig.ini, Configuration, ScreenCapture
    	IniWrite, %DelayConfig%, UnrapeKitConfig.ini, Configuration, DelayConfig
    	Hotkey, %HotkeyConfig%, HotkeyConfig
    	Hotkey, %ScanConfig%, ScanConfig
    	Hotkey, %SpellScan%, SpellScan
    	Hotkey, %ScreenCapture%, ScreenCapture1
    	Hotkey, %DelayConfig%, DelayConfig
    	Reload
    Return
    
    ScreenCapture1:
    	MouseGetPos, Xpos, Ypos
    	ImageRepeat:= 0
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↑←
    	Gui, Add, Button, gScreenCapture2 Default, Ok
    	Gui, Show, , Capture 1
    Return
    
    ScreenCapture2:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, CaptureX1, CaptureY1
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↓→
    	Gui, Add, Button,  gScreenCapture3 Default, Ok
    	Gui, Show, , Capture 2
    Return
    
    ScreenCapture3:
    	Gui, Submit
    	Gui, Destroy
    	IniRead, TempName, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniRead, TempLine, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	N:= ScanCount + 1
    	MouseGetPos, CaptureX2, CaptureY2
    	GuiWidth:= 210
    	GuiHeight:= 100
    	GuiX:= GuiWidth + 10
    	GuiY:=  GuiHeight + 30
    	Move_X:= Xpos - GuiX
    	Move_Y:= Ypos - GuiY
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text,x10 y10, Capture Name                               Line
    	Gui, Add, Edit, x10 y40 w150 h20 vTempName, %TempName%
    	Gui, Add, Edit, x+10 w20 h20 vTempLine, %TempLine%
    	Gui, Add, Button, x10 y70 w90 h20 gCaptureSave Default, Ok
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,Capture Configuration
    Return
    
    CaptureSave:
    	Gui, Submit
    	Gui, Destroy
    	Run C:\Windows\system32\SnippingTool.exe
    	IniWrite, %TempName%, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniWrite, %TempLine%, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	CaptureName:= % TempName "" TempLine
    	SetMouseDelay, 40
    	SetKeyDelay, 40, 40
    	WinWait, Snipping Tool
    	MouseClickDrag, L, CaptureX1, CaptureY1, CaptureX2, CaptureY2, 1
    	WinWaitActive, Snipping Tool
    	SendInput ^s
    	WinWait, Save As
    	SendInput %CaptureName%.png
    	SendInput !d
    	SendInput %A_ScriptDir%
    	SendInput !s
    	WinWait, Confirm Save As, , 0.001
    		{
    		SendInput !y
    		ImageRepeat:= 1
    		}
    	WinWaitActive, Snipping Tool
    	SendInput !fx
    		If (CaptureX1 >= 1410 AND CaptureX2 <= 1605 AND CaptureY1 >= 410 AND CaptureY2 <= 925) {
    			CaptureX1 -= 5
    			CaptureY1 -= 5
    			CaptureX2 += 5
    			CaptureY2 += 5
    			Loop, 20 {
    				ImageSearch, %TempName%X, %TempName%Y, CaptureX1, CaptureY1, CaptureX2, CaptureY2, *10 %CaptureName%.png
    					If(ErrorLevel = 2 AND A_Index = 20)
    						MsgBox Could Not perform scan
    					If(ErrorLevel = 1 AND A_Index = 20)
    						MsgBox Could Not Find Scan %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						Send, {Click}
    							If (ImageRepeat = 1) {
    								Loop {
    										If (CaptureName = CaptureName%A_Index%) {
    											N:= A_Index
    											break
    										}
    								}
    							} Else {
    								ScanCount+= 1
    								N:= ScanCount
    							}
    						Name%N%:= TempName
    						Line%N%:= TempLine
    						IconToggle%N%:= 1
    						IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    						IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    						IniWrite, % %TempName%X, UnrapeKitConfig.ini, SpellCoordinates, %TempName%X
    						IniWrite, % %TempName%Y, UnrapeKitConfig.ini, SpellCoordinates, %TempName%Y
    						IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    						IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    						Break
    					}
    			Sleep, 10
    			}
    		}
    	SetMouseDelay, %MouseDelay%
    	SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    	Reload
    Return
    	
    ScanConfig:
    	IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y5 w200 h26, Icons Count:
    	Gui, Add, Text, x10 y33 w120 h26, Scans:
    	Gui, Add, Edit, x145 y30 w30 h21 vScanCount, %ScanCount%
    	Gui, Add, Button, x10 y70 w90 h20 gScanDefinitions Default, Definitions
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Scan Count
    Return
    
    ScanDefinitions:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	N:= 1
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    			NameN:= % Name%N%
    			LineN:= % Line%N%
    			N+= 1
    		}
    	N:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	MouseGetPos, Xpos, Ypos
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Toggle`, SpellName`, Line# (Bottom to Top)
    	Loop, %ScanCount% {
    		GuiY:= 50 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 95
    			If (GuiY > ScreenHeight) {
    					W+= 1
    					HMax:= H
    					H= 1
    			}
    		Y1:= 18 + 30 * H
    		Y2:= 15 + 30 * H
    		GuiWidth:= 240 * W
    			If (W = 1) {
    				GuiHeight:= 105 + 30 * H
    				AddHeight:= 48 + 30 * H
    				AddButtonHeight:= 45 + 30 * H
    				ButtonHeight:= 75 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 105 + 30 * HMax
    				AddHeight:= 48 + 30 * HMax
    				AddButtonHeight:= 45 + 30 * HMax
    				ButtonHeight:= 75 + 30 * HMax
    			}
    		Button1Width:= GuiWidth - 200
    		Button2Width:= GuiWidth - 100
    		TextWidth:= GuiWidth - 215
    		CheckboxWidth:= GuiWidth - 195
    		NameWidth:= GuiWidth - 175
    		LineWidth:= GuiWidth - 45
    		Gui, Add, Text, x%TextWidth% Y%Y1%, %N%
    		Gui, Add, Checkbox, % " x" CheckboxWidth " y" Y1 " h13 w13 vIconToggle" N " Checked" IconToggle%N%
    		Gui, Add, Edit, x%NameWidth% y%Y2% w120 h20 vName%N%, % Name%N%
    		Gui, Add, Edit, x%LineWidth% y%Y2% w20 h20 vLine%N%, % Line%N%
    			If (A_Index = ScanCount) {
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x10 y%AddButtonHeight% w90 h20 gAddScan, Add
    				Gui, Add, Text, x110 y%AddHeight%, Add
    				Gui, Add, Edit, x140 y%AddButtonHeight% w30 h20 vXDefinitions
    				Gui, Add, Text, x180 y%AddHeight%, Definition(s)
    				Gui, Add, Button, x%Button1Width% y%ButtonHeight% w90 h20 gScanWrite Default, Record
    				Gui, Add, Button, x%Button2Width% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Scan Configuration
    				Break
    			}
    		N+= 1
    		H+= 1
    	}
    Return
    
    AddScan:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	ScanCount+= %XDefinitions%
    	Gosub ScanDefinitions
    Return
    
    ScanWrite:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	Gosub SpellScan
    Return
    
    SpellScan:
    	N:= 1
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, 1660, 1025 ; t
    	Sleep, %Delay%
    	MouseClick, , 1660, 1025 ; t
    	Sleep, %Delay%
    	Loop, %ScanCount% {
    		IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			If (IconToggle%N% = 1) {
    				IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    				IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    				NameN:= % Name%N%
    				LineN:= % Line%N%
    				ImageSearch, %NameN%X, %NameN%Y, 1410, 410, 1605, 925, *10 %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						IniWrite, % %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X
    						IniWrite, % %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y
    					}
    			}
    		N+= 1
    	}
    	Send, {Esc}
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	MouseMove, Xpos, Ypos
    	BlockInput, MouseMoveOff
    Return
    
    DelayConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 220
    	GuiHeight:= 160
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Server Latency (ms)
    	Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    	Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    	Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    	Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    	Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    	Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    	Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    	Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    	Gui, Add, Button, x20 y130 w90 h20 gDelayConfigRecord Default, Record
    	Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Delay configuration
    Return
    
    DelayConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    	Reload
    Return
    
    HotkeyConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Hotkeys wanted:
    	Gui, Add, Text, x50 y33, 200 Hotkeys Maximum
    	Gui, Add, Edit, x10 y30 w30 h20 vHotkeyLimit, %HotkeyLimit%
    	Gui, Add, Button, x10 y70 w90 h20 gHKeyEdit Default, Hotkeys
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Count
    Return
    
    HkeyEdit:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %HotkeyLimit%, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit
    	Hk:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	MouseGetPos, Xpos, Ypos
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    		If HotkeyLimit Between 1 and 200
    			Loop, %HotkeyLimit% {
    				GuiY:= 120 + 30 * H
    				ScreenHeight:= A_ScreenHeight - 45
    					If (GuiY > ScreenHeight) {
    						W+= 1
    						HMax:= H
    						H= 1
    					}
    				Y1:= 13 + 30 * H
    				Y2:= 10 + 30 * H
    				GuiWidth:= 610 * W
    					If (W = 1) {
    						GuiHeight:= 80 + 30 * H
    						ButtonHeight:= 50 + 30 * H
    						ButtonTxtHeight:= 53 + 30 * H
    					}
    					If (W > 1) {
    						GuiHeight:= 80 + 30 * HMax
    						ButtonHeight:= 50 + 30 * HMax
    						ButtonTxtHeight:= 53 + 30 * HMax
    					}
    				Button1X:= GuiWidth - 300
    				Button2X:= GuiWidth - 200
    				Button3X:= GuiWidth - 100
    				Text1X:= GuiWidth - 590
    				CheckboxX:= GuiWidth - 570
    				Radio1X:= GuiWidth - 520
    				Radio2X:= GuiWidth - 480
    				Radio3X:= GuiWidth - 440
    				Radio4X:= GuiWidth - 400
    				Radio5X:= GuiWidth - 360
    				Radio6X:= GuiWidth - 320
    				Radio7X:= GuiWidth - 280
    				EditX:= GuiWidth - 240
    				EditButtonX:= GuiWidth -100
    				CheckboxTxt:= GuiWidth - 583
    				Radio1Txt:= GuiWidth - 530
    				Radio2Txt:= GuiWidth - 490
    				Radio3Txt:= GuiWidth - 450
    				Radio4Txt:= GuiWidth - 410
    				Radio5Txt:= GuiWidth - 370
    				Radio6Txt:= GuiWidth - 330
    				Radio7Txt:= GuiWidth - 290
    				EditTxt:= GuiWidth - 220
    				EditButtonTxt:= GuiWidth -85
    				Gui, Add, Text, x%CheckboxTxt% y20,Toggle
    				Gui, Add, Text, x%Radio1Txt% y20,Type 1
    				Gui, Add, Text, x%Radio2Txt% y20,Type 2
    				Gui, Add, Text, x%Radio3Txt% y20,Type 3
    				Gui, Add, Text, x%Radio4Txt% y20,Type 4
    				Gui, Add, Text, x%Radio5Txt% y20,Type 5
    				Gui, Add, Text, x%Radio6Txt% y20,Type 6
    				Gui, Add, Text, x%Radio7Txt% y20,Type 7
    				Gui, Add, Text, x%EditTxt% y20, Hotkey Shortcut
    				Gui, Add, Text, x%EditButtonTxt% y20, Hotkey Edit
    				Gui, Add, Text, x%Text1X% y%Y1%, %Hk%
    				Gui, Add, Checkbox, % "x" CheckboxX " y" Y1 " h13 w13 vHKey" Hk "Toggle Checked" HKey%Hk%Toggle
    				Gui, Add, Radio, % "x" Radio1X " y" Y1 " h13 w13 vHkey" Hk "Type1 Checked" HKey%Hk%Type1,1
    				Gui, Add, Radio, % "x" Radio2X " y" Y1 " h13 w13 vHkey" Hk "Type2 Checked" HKey%Hk%Type2,2
    				Gui, Add, Radio, % "x" Radio3X " y" Y1 " h13 w13 vHkey" Hk "Type3 Checked" HKey%Hk%Type3,3
    				Gui, Add, Radio, % "x" Radio4X " y" Y1 " h13 w13 vHkey" Hk "Type4 Checked" HKey%Hk%Type4,4
    				Gui, Add, Radio, % "x" Radio5X " y" Y1 " h13 w13 vHkey" Hk "Type5 Checked" HKey%Hk%Type5,5
    				Gui, Add, Radio, % "x" Radio6X " y" Y1 " h13 w13 vHkey" Hk "Type6 Checked" HKey%Hk%Type6,6
    				Gui, Add, Radio, % "x" Radio7X " y" Y1 " h13 w13 vHkey" Hk "Type7 Checked" HKey%Hk%Type7,7
    				Gui, Add, Edit, x%EditX% y%Y2% w120 h20 vHkey%Hk%Shortcut, % Hkey%Hk%Shortcut
    				Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditHk, %Hk%
    					If (A_Index = HotkeyLimit) {
    						X_Offset:= GuiWidth/2
    						Y_Offset:= GuiHeight/2
    						X_Limit:= A_ScreenWidth - X_Offset
    						Y_Limit:= A_ScreenHeight - Y_Offset
    						Mouse_X:= Xpos - X_Offset
    						Mouse_Y:= Ypos - Y_Offset
    							If Xpos between 0 and %X_Offset%
    								Move_X:= 0
    							If Xpos between %X_Offset% and %X_Limit%
    								Move_X:= Mouse_X
    							If Xpos between %X_Limit% and %A_ScreenWidth%
    								Move_X:= A_ScreenWidth - GuiWidth
    							If Ypos between 0 and %Y_Offset%
    								Move_Y:= 0
    							If Ypos between %Y_Offset% and %Y_Limit%
    								Move_Y:= Mouse_Y
    							If Ypos between %Y_Limit% and %A_ScreenHeight%
    								Move_Y:= A_ScreenHeight - GuiHeight - 30
    						Gui, Add, Button, x10 y%ButtonHeight% w90 H20 gHkAdd, Add
    						Gui, Add, Text, x110 y%ButtonTxtHeight%,Add
    						Gui, Add, Edit, x140 y%ButtonHeight% w20 h20 vHotkeyAdd
    						Gui, Add, Text, x170 y%ButtonTxtHeight%,Hotkey(s)
    						Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gRecordHks Default, Record
    						Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gSetHKs, Configure
    						Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    						Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Hotkey Configuration
    						Break
    					}
    			Hk+= 1
    			H+= 1
    			}
    Return
    
    HkAdd:
    	Gui, Submit
    	Gui, Destroy
    	HotkeyLimit+= %HotkeyAdd%
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Gosub HkeyEdit
    Return
    
    RecordHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Reload
    Return
    
    SetHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Hk:= 1
    	Gosub HkTypeConfigLoop
    Return
    
    EditHk:
    	A_GuiControlHk:= A_GuiControl
    	Hk:= A_GuiControlHk
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%Toggle = 0)
    			Hkey%Hk%Toggle = 1
    	IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    	IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    	IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    	IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    	IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    	IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    	IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    	IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    	IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    		If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    			Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    	Gosub HkTypeConfigLoop
    Return
    
    HkTypeConfigLoop:
    	Loop {
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type1 = 1) {
    				Gosub ConfigType1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type2 = 1) {
    				Gosub ConfigType2
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type3 = 1) {
    				Gosub ConfigType3
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type4 = 1) {
    				Gosub ConfigType4
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type5 = 1) {
    				Gosub GemSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type6 = 1) {
    				Gosub EquipSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type7 = 1) {
    				Gosub XTypeConfig
    				Break
    			}
    			If (Hkey%Hk%Toggle = 0) {
    				Gosub HkLoopAdd
    				Break
    			}
    			If (Hk > HotKeyLimit) {
    				Reload
    				Break
    			}
    	}
    Return
    
    HkLoopAdd:
    		If (A_GuiControlHk is Integer) {
    			Gosub Delay
    		Return
    		}
    	Hk+= 1
    	Goto, HkTypeConfigLoop
    Return
    
    ConfigType1:
    	GuiWidth:= 210
    	GuiHeight:= 230
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 1"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 w140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Edit, x10 y130 w20 h20 vXTriggeredCount%Hk%, % XTriggeredCount%Hk%
    	Gui, Add, Edit, x10 y160 w30 h20 vScanDelay%Hk%, % ScanDelay%Hk%
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Text, x40 y133, Extra Triggered Spells
    	Gui, Add, Text, x50 y163, Scan Loop Delay, ms
    	Gui, Add, Button, x10 y200 w90 h20 gTriggered1 Default, Define
    	Gui, Add, Button, x110 y200 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    Return
    
    Triggered1:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	IniWrite, % XTriggeredCount%Hk%, UnrapeKitConfig.ini, XtriggeredCount, XTriggeredCount%Hk%
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%
    		If XTriggeredCount%Hk% = 0
    			Gosub TriggeredWrite
    	Gui, -0x80000 AlwaysOnTop
    	Loop, % XTriggeredCount%Hk% {
    		Y1:= 30 * TrigN - 27
    		Y2:= 30 * TrigN - 30
    		Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut ": Additional Spells"
    		Gui, Add, Text, x10 y30, Toggle`, SpellName
    		Gui, Add, Checkbox, % "x10 y" Y1 " h13 w13 vTriggerToggle" TrigN "_" Hk " Checked" TriggerToggle%TrigN%_%Hk%
    		Gui, Add, Edit, x41 y%Y2% w140 h20 vHKey%Hk%Spell%TrigN%, % HKey%Hk%Spell%TrigN%
    		Gui, Add, Text, x191 y%Y1%, % "Spell " TrigN
    			If (A_Index = XTriggeredCount%Hk%) {
    				GuiWidth:= 240
    				GuiHeight:= 40 + 30 * TrigN
    				ButtonHeight:= 30 * TrigN + 10
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x40 y%ButtonHeight% w90 h20 gTriggeredWrite Default, Record
    				Gui, Add, Button, x140 y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, W%GuiWidth% H%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    				Break
    			}
    		TrigN+= 1
    	}
    Return
    
    TriggeredWrite:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	Loop, % XTriggeredCount%Hk% {
    		IniWrite, % TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%
    		IniWrite, % HKey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%Spell%TrigN%
    		TrigN+=1
    	}
    	Gosub KeyWrite
    Return
    
    ConfigType2:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 200
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 2"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Checkbox, % "x10 y130 h13 vType2MoveToggleHotkey" Hk " Checked" Type2MoveToggleHotkey%Hk%, Move mouse before Spell 1 cast
    	Gui, Add, Button, x10 y170 w90 h20 gWrite2 Default, Define
    	Gui, Add, Button, x110 y170 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Swap Caster
    Return
    
    Write2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%
    	Gosub KeyWrite
    Return
    
    ConfigType3:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 220
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 3"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut key
    	Gui, Add, Checkbox, % " x10 y130 h13 vType3Cast1ToggleHotkey" Hk " Checked" Type3Cast1ToggleHotkey%Hk%, Cast Spell 1
    	Gui, Add, Checkbox, % " x10 y160 h13 vType3Cast2ToggleHotkey" Hk " Checked" Type3Cast2ToggleHotkey%Hk%, Cast Spell 2
    	Gui, Add, Button, x10 y190 w90 h20 gWrite3 Default, Define
    	Gui, Add, Button, x110 y190 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Shortcut Reset
    Return
    
    Write3:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%
    	IniWrite, % Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    ConfigType4:
    	GuiWidth:= 210
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 4"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1T4, % HKey%Hk%Spell1T4
    	Gui, Add, Edit, x10 y70 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x90 y73, Shortcut key
    	Gui, Add, Button, x10 y110 w90 h20 gWrite4 Default, Define
    	Gui, Add, Button, x110 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Spell Toggle
    Return
    
    Write4:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1T4
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    KeyWrite:
    		If (HKey%Hk%Key = "Q") {
    			KeyX_%Hk%:= 1440
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "W") {
    			KeyX_%Hk%:= 1495
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "E") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "R") {
    			KeyX_%Hk%:= 1605
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "T") {
    			KeyX_%Hk%:= 1655
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "LButton") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "MButton") {
    			KeyX_%Hk%:= 1600
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "RButton") {
    			KeyX_%Hk%:= 1650
    			KeyY_%Hk%:= 975
    		}
    	IniWrite, % KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%
    	IniWrite, % KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%
    	Gosub HkLoopAdd
    Return
    
    GemSwap1:
    	Swap:= "GemSwap1"
    	Gosub Swap
    Return
    
    GemSwap2:
    	Swap:= "GemSwap2"
    	Gosub Swap
    return
    
    EquipSwap1:
    	Swap:= "EquipSwap1"
    	GoSub Swap
    Return
    
    EquipSwap2:
    	Swap:= "EquipSwap2"
    	GoSub Swap
    Return
    
    Swap:
    	Gosub LCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniRead, Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniRead, Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniRead, Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniRead, Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniRead, Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "GemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "EquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	Gui, Color, 0x050505
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, Add, Radio, % "x29 y511 w13 h13 v" Swap "RadioL1C1Hotkey" Hk " Checked" %Swap%RadioL1C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C2Hotkey" Hk " Checked" %Swap%RadioL1C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C3Hotkey" Hk " Checked" %Swap%RadioL1C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C4Hotkey" Hk " Checked" %Swap%RadioL1C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C5Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C6Hotkey" Hk " Checked" %Swap%RadioL1C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C7Hotkey" Hk " Checked" %Swap%RadioL1C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C8Hotkey" Hk " Checked" %Swap%RadioL1C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C9Hotkey" Hk " Checked" %Swap%RadioL1C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C10Hotkey" Hk " Checked" %Swap%RadioL1C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C11Hotkey" Hk " Checked" %Swap%RadioL1C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C12Hotkey" Hk " Checked" %Swap%RadioL1C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y563 w13 h13 v" Swap "RadioL2C1Hotkey" Hk " Checked" %Swap%RadioL2C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C2Hotkey" Hk " Checked" %Swap%RadioL2C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C3Hotkey" Hk " Checked" %Swap%RadioL2C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C4Hotkey" Hk " Checked" %Swap%RadioL2C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C5Hotkey" Hk " Checked" %Swap%RadioL2C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C6Hotkey" Hk " Checked" %Swap%RadioL2C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C7Hotkey" Hk " Checked" %Swap%RadioL2C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C8Hotkey" Hk " Checked" %Swap%RadioL2C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C9Hotkey" Hk " Checked" %Swap%RadioL2C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C10Hotkey" Hk " Checked" %Swap%RadioL2C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C11Hotkey" Hk " Checked" %Swap%RadioL2C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C12Hotkey" Hk " Checked" %Swap%RadioL2C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y616 w13 h13 v" Swap "RadioL3C1Hotkey" Hk " Checked" %Swap%RadioL3C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C2Hotkey" Hk " Checked" %Swap%RadioL3C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C3Hotkey" Hk " Checked" %Swap%RadioL3C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C4Hotkey" Hk " Checked" %Swap%RadioL3C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C5Hotkey" Hk " Checked" %Swap%RadioL3C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C6Hotkey" Hk " Checked" %Swap%RadioL3C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C7Hotkey" Hk " Checked" %Swap%RadioL3C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C8Hotkey" Hk " Checked" %Swap%RadioL3C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C9Hotkey" Hk " Checked" %Swap%RadioL3C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C10Hotkey" Hk " Checked" %Swap%RadioL3C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C11Hotkey" Hk " Checked" %Swap%RadioL3C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C12Hotkey" Hk " Checked" %Swap%RadioL3C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y669 w13 h13 v" Swap "RadioL4C1Hotkey" Hk " Checked" %Swap%RadioL4C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C2Hotkey" Hk " Checked" %Swap%RadioL4C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C3Hotkey" Hk " Checked" %Swap%RadioL4C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C4Hotkey" Hk " Checked" %Swap%RadioL4C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C5Hotkey" Hk " Checked" %Swap%RadioL4C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C6Hotkey" Hk " Checked" %Swap%RadioL4C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C7Hotkey" Hk " Checked" %Swap%RadioL4C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C8Hotkey" Hk " Checked" %Swap%RadioL4C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C9Hotkey" Hk " Checked" %Swap%RadioL4C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C10Hotkey" Hk " Checked" %Swap%RadioL4C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C11Hotkey" Hk " Checked" %Swap%RadioL4C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C12Hotkey" Hk " Checked" %Swap%RadioL4C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y721 w13 h13 v" Swap "RadioL5C1Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C2Hotkey" Hk " Checked" %Swap%RadioL5C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C3Hotkey" Hk " Checked" %Swap%RadioL5C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C4Hotkey" Hk " Checked" %Swap%RadioL5C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C5Hotkey" Hk " Checked" %Swap%RadioL5C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C6Hotkey" Hk " Checked" %Swap%RadioL5C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C7Hotkey" Hk " Checked" %Swap%RadioL5C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C8Hotkey" Hk " Checked" %Swap%RadioL5C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C9Hotkey" Hk " Checked" %Swap%RadioL5C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C10Hotkey" Hk " Checked" %Swap%RadioL5C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C11Hotkey" Hk " Checked" %Swap%RadioL5C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C12Hotkey" Hk " Checked" %Swap%RadioL5C12Hotkey%Hk%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk " Checked" RightFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk " Checked" LeftFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk " Checked" AmuletSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk " Checked" BeltRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk " Checked" BeltCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk " Checked" BeltLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk " Checked" Flask1%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk " Checked" Flask2%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk " Checked" Flask3%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk " Checked" Flask4%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk " Checked" Flask5%Swap%Hotkey%Hk%
    	Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    	Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		If (Swap = "GemSwap2") OR (Swap = "EquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Button1X:= 40
    			Button2X:= 460
    			ButtonY:= 450
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Tab, 2
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			Gui, Color, 0x050505
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    			Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		}
    		If (Swap = "GemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap"
    		If (Swap = "EquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap"
    		If (Swap = "GemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "EquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    Return
    
    LCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    SwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub LCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1765
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1770
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1455
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1715
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1565
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1605
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1487
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1540
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1592
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1645
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1697
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) OR (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1765
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1770
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    		}
    		If (Swap = "GemSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub GemSwap2
    		Return
    		}
    		If (Swap = "EquipSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub EquipSwap2
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 1) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 1) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    Return
    
    LCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    			If (%Swap%RadioL%L%C%C%Hotkey%Hk% = 1) {
    				%Swap%Hotkey%Hk%_X:= 1240 + (C*53)
    				%Swap%Hotkey%Hk%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    Delay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gDelayRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub DelayRecord
    Return
    
    DelayRecord:
    		If (DelayN = 1) {
    			Gui, Submit
    			Gui, Destroy
    			DelayN+= 1
    			IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    			IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    			IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    			IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    			IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		}
    		If (A_GuiControlHk is Integer) {
    			DelayN+= 1
    			Gosub HkeyEdit
    		}
    		Else {
    			Hk+= 1
    			Gosub HkTypeConfigLoop
    		}
    Return
    
    XTypeConfig:
    	MouseGetPos, Xpos, Ypos
    	XTypeConfigRecord:= 0
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x40 y10, Extra Type configuration
    	Gui, Add, Edit, x10 y40 w30 h20 vHkey%Hk%Iterations, % Hkey%Hk%Iterations
    	Gui, Add, Text, x50 y43, % "Iterations Hotkey " Hk
    	Gui, Add, Button, x10 y70 w90 h20 gXTypeConfig2 Default, Configure
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Extra Type
    Return
    
    XTypeConfig2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	MouseGetPos, Xpos, Ypos
    	XT:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Options:
    	Gui, Add, Text, x10 y40, Toggle
    	Gui, Add, Text, x10 y70, !Toggle
    	Gui, Add, Text, x10 y100, ImageSearch
    	Gui, Add, Text, x10 y130, GetMousePos
    	Gui, Add, Text, x10 y160, GoMousePos
    	Gui, Add, Text, x10 y190, SpellScan
    	Gui, Add, Text, x10 y220, Spell
    	Gui, Add, Text, x10 y250, SendInput
    	Gui, Add, Text, x10 y280, MouseMove
    	Gui, Add, Text, x10 y310, Delay
    	Gui, Add, Text, x10 y340, GemSwap
    	Gui, Add, Text, x10 y370, EquipmentSwap
    	Gui, Add, Text, x10 y400, Add
    	Gui, Add, Edit, x110 y400 w20 h20 vHkey%Hk%XIterations
    	Gui, Add, Text, x140 y403, Iteration(s)
    	Gui, Add, Button, x10 y400 w90 h20 gXTypeConfigAdd, Add
    	Loop, % Hkey%Hk%Iterations {
    		GuiY:= 60 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 45
    			If (GuiY > ScreenHeight) {
    				W+= 1
    				HMax:= H
    				H= 1
    			}
    		Y1:= 8 + 30 * H
    		Y2:= 5 + 30 * H
    		GuiWidth:= 160 + 360 * W
    			If (W = 1) {
    				GuiHeight:= 70 + 30 * H
    				ButtonHeight:= 40 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 70 + 30 * HMax
    				ButtonHeight:= 40 + 30 * HMax
    			}
    		Button1X:= GuiWidth - 300
    		Button2X:= GuiWidth - 200
    		Button3X:= GuiWidth - 100
    		CheckboxX:= GuiWidth - 310
    		EditButtonX:= GuiWidth - 100
    		EditX:= GuiWidth - 280
    		TextX:= GuiWidth - 170
    		Gui, Add, Checkbox, % "x" CheckboxX " y" Y1 " w13 h13 vHkey" Hk "Iteration" XT "Toggle Checked" Hkey%Hk%Iteration%XT%Toggle
    		Gui, Add, Edit, x%EditX% y%Y2% w100 h20 vHkey%Hk%Iteration%XT%, % Hkey%Hk%Iteration%XT%
    		Gui, Add, Text, x%TextX% y%Y1%, % "Iteration " XT
    		Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditXT, %A_Index%
    			If (XT = Hkey%Hk%Iterations) {
    					If ButtonHeight < 400
    						ButtonHeight = 400
    					If GuiHeight < 430
    						GuiHeight = 430
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gXTypeConfigRecord Default, Record
    				Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gXTypeConfig3, Configure
    				Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Iteration Configuration
    				Break
    			}
    		XT+= 1
    		H+= 1
    	}
    Return
    
    EditXT:
    	A_GuiControlXT:= A_GuiControl
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= A_GuiControlXT
    		If (Hkey%Hk%Iteration%XT%Toggle = 0)
    			Hkey%Hk%Iteration%XT%Toggle = 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	XTypeConfigRecord:= 1
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeDelay
    Return
    
    XTypeConfigAdd:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%Iterations+= % Hkey%Hk%XIterations
    		Gosub XTypeConfig2
    Return
    	
    XTypeConfig3:
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfig4:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXT > 0)
    			A_GuiControlXTypeConfig4:= A_GuiControlXT
    	IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						Gosub XTypeToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle") {
    						Gosub XType!ToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						Gosub XTypeImageSearch
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    						Gosub XTypeGetMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						Gosub XTypeGoMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan") {
    						Gosub XTypeLoopAdd
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    						Gosub XTypeSpell
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						Gosub XTypeSend
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						Gosub XTypeMouseMove
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Gosub XTypeDelayConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						Gosub XTypeGemSwap1
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						Gosub XTypeEquipSwap1
    						Break
    					}
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 0) {
    				Gosub XTypeLoopAdd
    				Break
    			}
    			If (XT >= Hkey%Hk%Iterations) {
    				Gosub HkLoopAdd
    				Break
    			}
    	}
    Return
    
    XTypeMsg:
    	MsgBox, % "Iteration " XT " = " Hkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeToggleConfig:
    	Msgbox Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XType!ToggleConfig:
    	Msgbox !Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XTypeLoopAdd:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXT:= 0
    			Gosub XTypeDelay
    			Return
    		}
    	XT+= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeLoopSubtract:
    	Gui, Submit
    	Gui, Destroy
    	A_GuiControlXT:= 0
    	Loop {
    		XT-= 1
    			If (XT = 0) {
    				XT:= 1
    				Gosub XTypeConfig4
    				Break
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    				Gosub XTypeConfig4
    				Break
    			}
    	}
    Return
    
    XTypeImageSearch:
    	GuiWidth:= 410
    	GuiHeight:= 130
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	Gui, Add, Edit, x50 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	Gui, Add, Edit, x90 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	Gui, Add, Edit, x130 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	Gui, Add, Edit, x10 y40 W110 H20 vShadeVariationXTypeHotkey%Hk%Iteration%XT%, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Edit, x10 y70 w110 h20 vImageNameXTypeHotkey%Hk%Iteration%XT%, % ImageNameXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Text, x170 y13, Left, Top, Right and Bottom Scan Coordinates
    	Gui, Add, Text, x130 y43, Scan Color Shade Variation and Optional Parameters
    	Gui, Add, Text, x130 y73, Scan Image Name
    	Gui, Add, Button, x310 y100 w90 h20 gXTypeImageSearchWrite Default, Define
    	Gui, Add, Button, x210 y100 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y100 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y100 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Image Scan
    Return
    
    XTypeImageSearchWrite:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%XtypeGetMousePosToggleIteration%XT%:= 1
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	IniWrite, % ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%
    	IniWrite, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGetMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Checkbox, % "x10 y40 h13 vHKey" Hk "XTypeGetMousePosToggleIteration" XT " Checked" HKey%Hk%XTypeGetMousePosToggleIteration%XT%, Cancel Saving and get position during hotkey execution
    	Gui, Add, Button, x310 y70 w90 h20 gXTypeGetMousePosWrite Default, Define
    	Gui, Add, Button, x210 y70 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y70 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Get Mouse Position
    Return
    
    XTypeGetMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 0) {
    			MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    		}
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGoMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x200 y10 w20 h20 vHKey%Hk%XTypeGoMousePosIteration%XT%, % HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gui, Add, Text, x10 y13, Move to Mouse Position from Iteration:
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeGoMousePosWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%:Mouse Position
    Return
    
    XTypeGoMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeMouseMove:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeMouseMoveWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Mouse Position
    
    Return
    
    XTypeMouseMoveWrite:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSpell:
    	GuiWidth:= 410
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, % Type 7 - "Iteration " XT " Spell Configuration"
    	Gui, Add, Edit, x10 y40 w110 h20 vHKey%Hk%XTypeSpellIteration%XT%, % HKey%Hk%XTypeSpellIteration%XT%
    	Gui, Add, Edit, x10 y70 W70 H20 vHKey%Hk%XTypeKeyIteration%XT%, % HKey%Hk%XTypeKeyIteration%XT%
    	Gui, Add, Text, x130 y43, % "Spell - Hotkey " Hk
    	Gui, Add, Text, x90 y73, % "Key - Hotkey " Hk
    	Gui, Add, Button, x310 y110 w90 h20 gXTypeSpellWrite Default, Define
    	Gui, Add, Button, x210 y110 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y110 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Type 7 Spell Configuration
    Return
    
    XTypeSpellWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%
    	IniWrite, % HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%
    	Gosub XTypeKey
    Return
    
    XTypeKey:
    		If (HKey%Hk%XTypeKeyIteration%XT% = "Q") {
    			KeyX_%Hk%Iteration%XT%:= 1440
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "W") {
    			KeyX_%Hk%Iteration%XT%:= 1495
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "E") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "R") {
    			KeyX_%Hk%Iteration%XT%:= 1605
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "T") {
    			KeyX_%Hk%Iteration%XT%:= 1655
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "LButton") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "MButton") {
    			KeyX_%Hk%Iteration%XT%:= 1600
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "RButton") {
    			KeyX_%Hk%Iteration%XT%:= 1650
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    	IniWrite, % KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%
    	IniWrite, % KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSend:
    	GuiWidth:= 410
    	GuiHeight:= 110
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x185 y10, % "Hotkey " Hk
    	Gui, Add, Edit, x10 y40 w70 h20 vHKey%Hk%XTypeSendIteration%XT%, % HKey%Hk%XTypeSendIteration%XT%
    	Gui, Add, Text, x90 y43, % "Iteration " XT " Send"
    	Gui, Add, Button, x310 y80 w90 h20 gXTypeSendWrite Default, Define
    	Gui, Add, Button, x210 y80 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y80 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y80 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Send Config
    Return
    
    XTypeSendWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeDelayConfig:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w130 h20 vHKey%Hk%XTypeDelayIteration%XT%, % HKey%Hk%XTypeDelayIteration%XT%
    	Gui, Add, Text, x150 y13, % "Iteration " XT " Delay"
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeDelayWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % "Hotkey " Hk
    Return
    
    XTypeDelayWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGemSwap1:
    	Swap:= XGemSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeGemSwap2:
    	Swap:= XGemSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap1:
    	Swap:= XEquipSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap2:
    	Swap:= XEquipSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeSwap:
    	Gosub XTypeLCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask1%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask2%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask3%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask4%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask5%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%IterationXType%XT%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "XGemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "XEquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, Color, 0x050505
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Radio, % "x29 y511 h13 w13 vGemSwap1RadioL1C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y563 w13 h13 vGemSwap1RadioL2C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y616 w13 h13 vGemSwap1RadioL3C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y669 w13 h13 vGemSwap1RadioL4C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y721 w13 h13 vGemSwap1RadioL5C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask5%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    	Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		If (Swap = "XGemSwap2" OR Swap = "XEquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Color, 0x0C0E0B
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, Tab, 2
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    			Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    			Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    			Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		}
    		If (Swap = "XGemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XEquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XGemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap - Iteration " XT
    		If (Swap = "XEquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap - Iteration " XT
    Return
    
    XTypeLCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    		C+= 1
    			If (C > 12) {
    				C:= 1
    				L+= 1
    					If (L > 5)
    						Break
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeSwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub XTypeLCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%Iteration%XT%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1765
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1770
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1455
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1715
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1565
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1605
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1487
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1540
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1592
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1645
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1697
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2 OR Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1765
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1770
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    		}
    		If (Swap = "XGemSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeGemSwap2
    		}
    		If (Swap = "XEquipSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeEquipSwap2
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 1) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 1) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    Return
    
    XTypeLCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    			If (XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT% = 1) {
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_X:= 1240 + (C*53)
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeDelay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gXTypeRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub XTypeRecord
    Return
    
    XTypeRecord:
    	Gui, Submit
    	Gui, Destroy
    	DelayN+= 1
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		If (XTypeConfigRecord = 1) {
    			Gosub HkLoopAdd
    			Return
    		}
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXTypeConfig4:= 0
    			Gosub XTypeConfig2
    			Return
    		}
    	Gosub XTypeLoopAdd
    Return
    
    Type1:
    	HkT1:= Hk
    	XTrig:= 3
    	HKeyHkT1Spell1:= HKey%HkT1%Spell1
    	HKeyHkT1Spell2:= HKey%HkT1%Spell2
    	HKeyHkT1Key:= HKey%HkT1%Key
    	HKey%HkT1%KeyToggle:= !HKey%HkT1%KeyToggle
    		If HKey%HkT1%KeyToggle {
    			While HKey%HkT1%KeyToggle {
    				ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell1 "Timer.png"
    					If ErrorLevel = 0
    						HKey%HkT1%Spell1Timer:= True
    					If ErrorLevel = 1
    						ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer2.png"
    							if ErrorLevel = 0
    								HKey%HkT1%Spell1Timer:= True
    							if ErrorLevel = 1
    								ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer3.png"
    									If ErrorLevel = 0
    										HKey%HkT1%Spell1Timer:= True
    									If ErrorLevel = 1
    										ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer4.png"
    											if ErrorLevel = 0
    												HKey%HkT1%Spell1Timer:= True
    											if ErrorLevel = 1
    												ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer5.png"
    													If ErrorLevel = 0
    														HKey%HkT1%Spell1Timer:= True
    													If ErrorLevel = 1
    														ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer6.png"
    															if ErrorLevel = 0
    																	HKey%HkT1%Spell1Timer:= True
    															if ErrorLevel = 1
    																ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer7.png"
    																	If ErrorLevel = 0
    																			HKey%HkT1%Spell1Timer:= True
    																	If ErrorLevel = 1
    																		ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer8.png"
    																				if ErrorLevel = 0
    																					HKey%HkT1%Spell1Timer:= True
    																				if ErrorLevel = 1
    																					HKey%HkT1%Spell1Timer:= False
    					If (HKey%HkT1%Spell1timer = False) {
    						ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%HkT1%Spell1 "-" HKey%HkT1%Key ".png"
    							If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    							}
    							If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    								MouseGetPos, Xpos, Ypos
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, 40
    								MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, %MouseDelay%
    								MouseMove, %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, 40
    								MouseClick, , %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, Xpos, Ypos
    								Sleep, %FrameTime%
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    				While HKey%HkT1%KeyToggle {
    						If (XTriggeredCount%HkT1% = 0)
    							Break
    						If (TriggerToggle%XTrig%_%HkT1% = 1) {
    							ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell%XTrig% "Timer.png"
    								If ErrorLevel = 0
    									HKey%HkT1%Spell%XTrig%Timer:= True
    								If ErrorLevel = 1
    									ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer2.png"
    										If ErrorLevel = 0
    											HKey%HkT1%Spell%XTrig%Timer:= True
    										If ErrorLevel = 1
    											ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer3.png"
    												If ErrorLevel = 0
    													HKey%HkT1%Spell%XTrig%Timer:= True
    												If ErrorLevel = 1
    													ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer4.png"
    														If ErrorLevel = 0
    															HKey%HkT1%Spell%XTrig%Timer:= True
    														If ErrorLevel = 1
    															ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer5.png"
    																If ErrorLevel = 0
    																	HKey%HkT1%Spell%XTrig%Timer:= True
    																If ErrorLevel = 1
    																	ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer6.png"
    																		If ErrorLevel = 0
    																			HKey%HkT1%Spell%XTrig%Timer:= True
    																		If ErrorLevel = 1
    																			ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer7.png"
    																				If ErrorLevel = 0
    																					HKey%HkT1%Spell%XTrig%Timer:= True
    																				If ErrorLevel = 1
    																					ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer8.png"
    																						if ErrorLevel = 0
    																							HKey%HkT1%Spell%XTrig%Timer:= True
    																						if ErrorLevel = 1
    																							HKey%HkT1%Spell%XTrig%Timer:= False
    								If (HKey%HkT1%Spell%XTrig%timer = False) {
    									ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%hKT1%Spell%XTrig% "-" HKey%HkT1%Key ".png"
    										If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    										}
    										If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    											HKeyHkT1SpellXTrig:= HKey%HkT1%Spell%XTrig%
    											MouseGetPos, Xpos, Ypos
    											BlockInput, MouseMove
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, 40
    											MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, %MouseDelay%
    											MouseMove, %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, 40
    											MouseClick, , %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, %MouseDelay%
    											MouseMove, Xpos, Ypos
    											Sleep, %FrameTime%
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    											BlockInput, MouseMoveOff
    										}
    								}
    						}
    						If (A_Index = XTriggeredCount%HkT1%) {
    							XTrig:= 3
    							Break
    						}
    				}
    					Xtrig+= 1
    				Sleep, % ScanDelay%HkT1%
    			}
    		Return
    		}
    		If !HKey%HkT1%KeyToggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type2:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, 40
    	MouseClick, ,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, %MouseDelay%
    		If (Type2MoveToggleHotkey%Hk% = 1) {
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    		}
    	SendInput, {%HKeyHkKey%}
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, 40
    	MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, %MouseDelay%
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState2, LButton, P
    		If LButtonState2 = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type3:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	HKey%Hk%Keytoggle:= !HKey%Hk%Keytoggle
    		If HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast1ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    		If !HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast2ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type4:
    	HKeyHkSpell1T4:= HKey%Hk%Spell1T4
    	HKeyHkKey:= HKey%Hk%Key
    	ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%Hk%Spell1T4 "-" Hkey%Hk%Key ".png"
    		If ErrorLevel = 0
    			SendInput, {%HKeyHkKey%}
    		If (ErrorLevel = 1) {
    			BlockInput, MouseMove
    			MouseGetPos, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, 40
    			MouseClick, ,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    			SendInput, {%HKeyHkKey%}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		}
    Return
    
    Type5:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Right, GemSwap1X%Hk%, GemSwap1Y%Hk%
    		If (GemSwapTab_%Hk% = 1) {
    			MouseMove, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (GemSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap1AltX%Hk%, GemSwap1AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	GetKeyState, LButtonState, LButton, P
    	MouseMove, Xpos, Ypos
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type6:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    		If (EquipSwapTab_%Hk% = 1) {
    			MouseMove, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (EquipSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type7:
    	XT:= 1
    	MouseGetPos, Xpos, Ypos
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						XtypeHotkey%Hk%Toggle:= !XtypeHotkey%Hk%Toggle
    							If (XtypeHotkey%Hk%Toggle) {
    								XT+= 1
    							}
    							If (!XtypeHotkey%Hk%Toggle) {
    								Loop, % Hkey%Hk%Iterations {
    									XT+= 1
    										If (Hkey%Hk%Iteration%XT% = "!Toggle")
    											Break
    								}
    								XT+= 1
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan")
    						Gosub SpellScan
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						;BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, A_ScreenWidth, A_ScreenHeight
    							Loop {
    								ImageSearch, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % "*" ShadeVariationXTypeHotkey%Hk%Iteration%XT% " " ImageNameXTypeHotkey%Hk%Iteration%XT% ".png"
    									If (ErrorLevel = 2)
    										MsgBox % "Search Failed for image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    									If (ErrorLevel = 1)
    										MsgBox % "Search could not find image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    									If (ErrorLevel = 0) {
    										ToolTip, % HKey%Hk%XTypeMouseXPosIteration%XT% ", " HKey%Hk%XTypeMouseYPosIteration%XT%
    										SetTimer, RemoveToolTip, 500
    										break
    									}
    							}
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						;BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    					HKeyHkXTypeSpellIterationXT:= HKey%Hk%XTypeSpellIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseClick, ,  KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseMove, %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, 40
    						MouseClick, , %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, %MouseDelay%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						HKeyHkXTypeSendIterationXT:= HKey%Hk%XTypeSendIteration%XT%
    						SendInput, {%HKeyHkXTypeSendIterationXT%}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    							If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 1) {
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						MouseXT:= HKey%Hk%XTypeGoMousePosIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%MouseXT%, HKey%Hk%XTypeMouseXPosIteration%MouseXT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Sleep, % HKey%Hk%XTypeDelayIteration%XT%
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, Right, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeGemSwapTab_%Hk% = 1) {
    								MouseMove, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeGemSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeEquipSwapTab_%Hk% = 1) {
    								MouseMove, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeEquipSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle" OR XT = Hkey%Hk%Iterations) {
    						Break
    						return
    					}
    			}
    		XT+= 1
    	}
    	MouseMove, Xpos, Ypos
    Return
    
    Hotkey1:
    	Hk:= 1
    	Gosub HotkeyRouting
    Return
    
    Hotkey2:
    	Hk:= 2
    	Gosub HotkeyRouting
    Return
    
    Hotkey3:
    	Hk:= 3
    	Gosub HotkeyRouting
    Return
    
    Hotkey4:
    	Hk:= 4
    	Gosub HotkeyRouting
    Return
    
    Hotkey5:
    	Hk:= 5
    	Gosub HotkeyRouting
    Return
    
    Hotkey6:
    	Hk:= 6
    	Gosub HotkeyRouting
    Return
    
    Hotkey7:
    	Hk:= 7
    	Gosub HotkeyRouting
    Return
    
    Hotkey8:
    	Hk:= 8
    	Gosub HotkeyRouting
    Return
    
    Hotkey9:
    	Hk:= 9
    	Gosub HotkeyRouting
    Return
    
    Hotkey10:
    	Hk:= 10
    	Gosub HotkeyRouting
    Return
    
    Hotkey11:
    	Hk:= 11
    	Gosub HotkeyRouting
    Return
    
    Hotkey12:
    	Hk:= 12
    	Gosub HotkeyRouting
    Return
    
    Hotkey13:
    	Hk:= 13
    	Gosub HotkeyRouting
    Return
    
    Hotkey14:
    	Hk:= 14
    	Gosub HotkeyRouting
    Return
    
    Hotkey15:
    	Hk:= 15
    	Gosub HotkeyRouting
    Return
    
    Hotkey16:
    	Hk:= 16
    	Gosub HotkeyRouting
    Return
    
    Hotkey17:
    	Hk:= 17
    	Gosub HotkeyRouting
    Return
    
    Hotkey18:
    	Hk:= 18
    	Gosub HotkeyRouting
    Return
    
    Hotkey19:
    	Hk:= 19
    	Gosub HotkeyRouting
    Return
    
    Hotkey20:
    	Hk:= 20
    	Gosub HotkeyRouting
    Return
    
    Hotkey21:
    	Hk:= 21
    	Gosub HotkeyRouting
    Return
    
    Hotkey22:
    	Hk:= 22
    	Gosub HotkeyRouting
    Return
    
    Hotkey23:
    	Hk:= 23
    	Gosub HotkeyRouting
    Return
    
    Hotkey24:
    	Hk:= 24
    	Gosub HotkeyRouting
    Return
    
    Hotkey25:
    	Hk:= 25
    	Gosub HotkeyRouting
    Return
    
    Hotkey26:
    	Hk:= 26
    	Gosub HotkeyRouting
    Return
    
    Hotkey27:
    	Hk:= 27
    	Gosub HotkeyRouting
    Return
    
    Hotkey28:
    	Hk:= 28
    	Gosub HotkeyRouting
    Return
    
    Hotkey29:
    	Hk:= 29
    	Gosub HotkeyRouting
    Return
    
    Hotkey30:
    	Hk:= 30
    	Gosub HotkeyRouting
    Return
    
    Hotkey31:
    	Hk:= 31
    	Gosub HotkeyRouting
    Return
    
    Hotkey32:
    	Hk:= 32
    	Gosub HotkeyRouting
    Return
    
    Hotkey33:
    	Hk:= 33
    	Gosub HotkeyRouting
    Return
    
    Hotkey34:
    	Hk:= 34
    	Gosub HotkeyRouting
    Return
    
    Hotkey35:
    	Hk:= 35
    	Gosub HotkeyRouting
    Return
    
    Hotkey36:
    	Hk:= 36
    	Gosub HotkeyRouting
    Return
    
    Hotkey37:
    	Hk:= 37
    	Gosub HotkeyRouting
    Return
    
    Hotkey38:
    	Hk:= 38
    	Gosub HotkeyRouting
    Return
    
    Hotkey39:
    	Hk:= 39
    	Gosub HotkeyRouting
    Return
    
    Hotkey40:
    	Hk:= 40
    	Gosub HotkeyRouting
    Return
    
    Hotkey41:
    	Hk:= 41
    	Gosub HotkeyRouting
    Return
    
    Hotkey42:
    	Hk:= 42
    	Gosub HotkeyRouting
    Return
    
    Hotkey43:
    	Hk:= 43
    	Gosub HotkeyRouting
    Return
    
    Hotkey44:
    	Hk:= 44
    	Gosub HotkeyRouting
    Return
    
    Hotkey45:
    	Hk:= 45
    	Gosub HotkeyRouting
    Return
    
    Hotkey46:
    	Hk:= 46
    	Gosub HotkeyRouting
    Return
    
    Hotkey47:
    	Hk:= 47
    	Gosub HotkeyRouting
    Return
    
    Hotkey48:
    	Hk:= 48
    	Gosub HotkeyRouting
    Return
    
    Hotkey49:
    	Hk:= 49
    	Gosub HotkeyRouting
    Return
    
    Hotkey50:
    	Hk:= 50
    	Gosub HotkeyRouting
    Return
    
    Hotkey51:
    	Hk:= 51
    	Gosub HotkeyRouting
    Return
    
    Hotkey52:
    	Hk:= 52
    	Gosub HotkeyRouting
    Return
    
    Hotkey53:
    	Hk:= 53
    	Gosub HotkeyRouting
    Return
    
    Hotkey54:
    	Hk:= 54
    	Gosub HotkeyRouting
    Return
    
    Hotkey55:
    	Hk:= 55
    	Gosub HotkeyRouting
    Return
    
    Hotkey56:
    	Hk:= 56
    	Gosub HotkeyRouting
    Return
    
    Hotkey57:
    	Hk:= 57
    	Gosub HotkeyRouting
    Return
    
    Hotkey58:
    	Hk:= 58
    	Gosub HotkeyRouting
    Return
    
    Hotkey59:
    	Hk:= 59
    	Gosub HotkeyRouting
    Return
    
    Hotkey60:
    	Hk:= 60
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey70:
    	Hk:= 70
    	Gosub HotkeyRouting
    Return
    
    Hotkey71:
    	Hk:= 71
    	Gosub HotkeyRouting
    Return
    
    Hotkey72:
    	Hk:= 72
    	Gosub HotkeyRouting
    Return
    
    Hotkey73:
    	Hk:= 73
    	Gosub HotkeyRouting
    Return
    
    Hotkey74:
    	Hk:= 74
    	Gosub HotkeyRouting
    Return
    
    Hotkey75:
    	Hk:= 75
    	Gosub HotkeyRouting
    Return
    
    Hotkey76:
    	Hk:= 76
    	Gosub HotkeyRouting
    Return
    
    Hotkey77:
    	Hk:= 77
    	Gosub HotkeyRouting
    Return
    
    Hotkey78:
    	Hk:= 78
    	Gosub HotkeyRouting
    Return
    
    Hotkey79:
    	Hk:= 79
    	Gosub HotkeyRouting
    Return
    
    Hotkey80:
    	Hk:= 80
    	Gosub HotkeyRouting
    Return
    
    Hotkey81:
    	Hk:= 81
    	Gosub HotkeyRouting
    Return
    
    Hotkey82:
    	Hk:= 82
    	Gosub HotkeyRouting
    Return
    
    Hotkey83:
    	Hk:= 83
    	Gosub HotkeyRouting
    Return
    
    Hotkey84:
    	Hk:= 84
    	Gosub HotkeyRouting
    Return
    
    Hotkey85:
    	Hk:= 85
    	Gosub HotkeyRouting
    Return
    
    Hotkey86:
    	Hk:= 86
    	Gosub HotkeyRouting
    Return
    
    Hotkey87:
    	Hk:= 87
    	Gosub HotkeyRouting
    Return
    
    Hotkey88:
    	Hk:= 88
    	Gosub HotkeyRouting
    Return
    
    Hotkey89:
    	Hk:= 89
    	Gosub HotkeyRouting
    Return
    
    Hotkey90:
    	Hk:= 90
    	Gosub HotkeyRouting
    Return
    
    Hotkey91:
    	Hk:= 91
    	Gosub HotkeyRouting
    Return
    
    Hotkey92:
    	Hk:= 92
    	Gosub HotkeyRouting
    Return
    
    Hotkey93:
    	Hk:= 93
    	Gosub HotkeyRouting
    Return
    
    Hotkey94:
    	Hk:= 94
    	Gosub HotkeyRouting
    Return
    
    Hotkey95:
    	Hk:= 95
    	Gosub HotkeyRouting
    Return
    
    Hotkey96:
    	Hk:= 96
    	Gosub HotkeyRouting
    Return
    
    Hotkey97:
    	Hk:= 97
    	Gosub HotkeyRouting
    Return
    
    Hotkey98:
    	Hk:= 98
    	Gosub HotkeyRouting
    Return
    
    Hotkey99:
    	Hk:= 99
    	Gosub HotkeyRouting
    Return
    
    Hotkey100:
    	Hk:= 100
    	Gosub HotkeyRouting
    Return
    
    Hotkey101:
    	Hk:= 101
    	Gosub HotkeyRouting
    Return
    
    Hotkey102:
    	Hk:= 102
    	Gosub HotkeyRouting
    Return
    
    Hotkey103:
    	Hk:= 103
    	Gosub HotkeyRouting
    Return
    
    Hotkey104:
    	Hk:= 104
    	Gosub HotkeyRouting
    Return
    
    Hotkey105:
    	Hk:= 105
    	Gosub HotkeyRouting
    Return
    
    Hotkey106:
    	Hk:= 106
    	Gosub HotkeyRouting
    Return
    
    Hotkey107:
    	Hk:= 107
    	Gosub HotkeyRouting
    Return
    
    Hotkey108:
    	Hk:= 108
    	Gosub HotkeyRouting
    Return
    
    Hotkey109:
    	Hk:= 109
    	Gosub HotkeyRouting
    Return
    
    Hotkey110:
    	Hk:= 110
    	Gosub HotkeyRouting
    Return
    
    Hotkey111:
    	Hk:= 111
    	Gosub HotkeyRouting
    Return
    
    Hotkey112:
    	Hk:= 112
    	Gosub HotkeyRouting
    Return
    
    Hotkey113:
    	Hk:= 113
    	Gosub HotkeyRouting
    Return
    
    Hotkey114:
    	Hk:= 114
    	Gosub HotkeyRouting
    Return
    
    Hotkey115:
    	Hk:= 115
    	Gosub HotkeyRouting
    Return
    
    Hotkey116:
    	Hk:= 116
    	Gosub HotkeyRouting
    Return
    
    Hotkey117:
    	Hk:= 117
    	Gosub HotkeyRouting
    Return
    
    Hotkey118:
    	Hk:= 118
    	Gosub HotkeyRouting
    Return
    
    Hotkey119:
    	Hk:= 119
    	Gosub HotkeyRouting
    Return
    
    Hotkey120:
    	Hk:= 120
    	Gosub HotkeyRouting
    Return
    
    Hotkey121:
    	Hk:= 121
    	Gosub HotkeyRouting
    Return
    
    Hotkey122:
    	Hk:= 122
    	Gosub HotkeyRouting
    Return
    
    Hotkey123:
    	Hk:= 123
    	Gosub HotkeyRouting
    Return
    
    Hotkey124:
    	Hk:= 124
    	Gosub HotkeyRouting
    Return
    
    Hotkey125:
    	Hk:= 125
    	Gosub HotkeyRouting
    Return
    
    Hotkey126:
    	Hk:= 126
    	Gosub HotkeyRouting
    Return
    
    Hotkey127:
    	Hk:= 127
    	Gosub HotkeyRouting
    Return
    
    Hotkey128:
    	Hk:= 128
    	Gosub HotkeyRouting
    Return
    
    Hotkey129:
    	Hk:= 129
    	Gosub HotkeyRouting
    Return
    
    Hotkey130:
    	Hk:= 130
    	Gosub HotkeyRouting
    Return
    
    Hotkey131:
    	Hk:= 131
    	Gosub HotkeyRouting
    Return
    
    Hotkey132:
    	Hk:= 132
    	Gosub HotkeyRouting
    Return
    
    Hotkey133:
    	Hk:= 133
    	Gosub HotkeyRouting
    Return
    
    Hotkey134:
    	Hk:= 134
    	Gosub HotkeyRouting
    Return
    
    Hotkey135:
    	Hk:= 135
    	Gosub HotkeyRouting
    Return
    
    Hotkey136:
    	Hk:= 136
    	Gosub HotkeyRouting
    Return
    
    Hotkey137:
    	Hk:= 137
    	Gosub HotkeyRouting
    Return
    
    Hotkey138:
    	Hk:= 138
    	Gosub HotkeyRouting
    Return
    
    Hotkey139:
    	Hk:= 139
    	Gosub HotkeyRouting
    Return
    
    Hotkey140:
    	Hk:= 140
    	Gosub HotkeyRouting
    Return
    
    Hotkey141:
    	Hk:= 141
    	Gosub HotkeyRouting
    Return
    
    Hotkey142:
    	Hk:= 142
    	Gosub HotkeyRouting
    Return
    
    Hotkey143:
    	Hk:= 143
    	Gosub HotkeyRouting
    Return
    
    Hotkey144:
    	Hk:= 144
    	Gosub HotkeyRouting
    Return
    
    Hotkey145:
    	Hk:= 145
    	Gosub HotkeyRouting
    Return
    
    Hotkey146:
    	Hk:= 146
    	Gosub HotkeyRouting
    Return
    
    Hotkey147:
    	Hk:= 147
    	Gosub HotkeyRouting
    Return
    
    Hotkey148:
    	Hk:= 148
    	Gosub HotkeyRouting
    Return
    
    Hotkey149:
    	Hk:= 149
    	Gosub HotkeyRouting
    Return
    
    Hotkey150:
    	Hk:= 150
    	Gosub HotkeyRouting
    Return
    
    Hotkey151:
    	Hk:= 151
    	Gosub HotkeyRouting
    Return
    
    Hotkey152:
    	Hk:= 152
    	Gosub HotkeyRouting
    Return
    
    Hotkey153:
    	Hk:= 153
    	Gosub HotkeyRouting
    Return
    
    Hotkey154:
    	Hk:= 154
    	Gosub HotkeyRouting
    Return
    
    Hotkey155:
    	Hk:= 155
    	Gosub HotkeyRouting
    Return
    
    Hotkey156:
    	Hk:= 156
    	Gosub HotkeyRouting
    Return
    
    Hotkey157:
    	Hk:= 157
    	Gosub HotkeyRouting
    Return
    
    Hotkey158:
    	Hk:= 158
    	Gosub HotkeyRouting
    Return
    
    Hotkey159:
    	Hk:= 159
    	Gosub HotkeyRouting
    Return
    
    Hotkey160:
    	Hk:= 160
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey170:
    	Hk:= 170
    	Gosub HotkeyRouting
    Return
    
    Hotkey171:
    	Hk:= 171
    	Gosub HotkeyRouting
    Return
    
    Hotkey172:
    	Hk:= 172
    	Gosub HotkeyRouting
    Return
    
    Hotkey173:
    	Hk:= 173
    	Gosub HotkeyRouting
    Return
    
    Hotkey174:
    	Hk:= 174
    	Gosub HotkeyRouting
    Return
    
    Hotkey175:
    	Hk:= 175
    	Gosub HotkeyRouting
    Return
    
    Hotkey176:
    	Hk:= 176
    	Gosub HotkeyRouting
    Return
    
    Hotkey177:
    	Hk:= 177
    	Gosub HotkeyRouting
    Return
    
    Hotkey178:
    	Hk:= 178
    	Gosub HotkeyRouting
    Return
    
    Hotkey179:
    	Hk:= 179
    	Gosub HotkeyRouting
    Return
    
    Hotkey180:
    	Hk:= 180
    	Gosub HotkeyRouting
    Return
    
    Hotkey181:
    	Hk:= 181
    	Gosub HotkeyRouting
    Return
    
    Hotkey182:
    	Hk:= 182
    	Gosub HotkeyRouting
    Return
    
    Hotkey183:
    	Hk:= 183
    	Gosub HotkeyRouting
    Return
    
    Hotkey184:
    	Hk:= 184
    	Gosub HotkeyRouting
    Return
    
    Hotkey185:
    	Hk:= 185
    	Gosub HotkeyRouting
    Return
    
    Hotkey186:
    	Hk:= 186
    	Gosub HotkeyRouting
    Return
    
    Hotkey187:
    	Hk:= 187
    	Gosub HotkeyRouting
    Return
    
    Hotkey188:
    	Hk:= 188
    	Gosub HotkeyRouting
    Return
    
    Hotkey189:
    	Hk:= 189
    	Gosub HotkeyRouting
    Return
    
    Hotkey190:
    	Hk:= 190
    	Gosub HotkeyRouting
    Return
    
    Hotkey191:
    	Hk:= 191
    	Gosub HotkeyRouting
    Return
    
    Hotkey192:
    	Hk:= 192
    	Gosub HotkeyRouting
    Return
    
    Hotkey193:
    	Hk:= 193
    	Gosub HotkeyRouting
    Return
    
    Hotkey194:
    	Hk:= 194
    	Gosub HotkeyRouting
    Return
    
    Hotkey195:
    	Hk:= 195
    	Gosub HotkeyRouting
    Return
    
    Hotkey196:
    	Hk:= 196
    	Gosub HotkeyRouting
    Return
    
    Hotkey197:
    	Hk:= 197
    	Gosub HotkeyRouting
    Return
    
    Hotkey198:
    	Hk:= 198
    	Gosub HotkeyRouting
    Return
    
    Hotkey199:
    	Hk:= 199
    	Gosub HotkeyRouting
    Return
    
    Hotkey200:
    	Hk:= 200
    	Gosub HotkeyRouting
    Return
    
    HotkeyRouting:
    		If (Hkey%Hk%Type1 = 1) {
    			Gosub Type1
    		Return
    		}
    		If (Hkey%Hk%Type2 = 1) {
    			Gosub Type2
    		Return
    		}
    		If (Hkey%Hk%Type3 = 1) {
    			Gosub Type3
    		Return
    		}
    		If (Hkey%Hk%Type4 = 1) {
    			Gosub Type4
    		Return
    		}
    		If (Hkey%Hk%Type5 = 1) {
    			Gosub Type5
    		Return
    		}
    		If (Hkey%Hk%Type6 = 1) {
    			Gosub Type6
    		Return
    		}
    		If (Hkey%Hk%Type7 = 1) {
    			Gosub Type7
    		Return
    		}
    Return
    
    Cancel:
    	Reload
    Return
    Last edited by nimb777; 03-29-2020 at 03:55 PM. Reason: Fixed a couple harmless typos

  6. #5
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It looks like GGG took knowledge of this script and implemented a few changes to the game.
    Since I don't play much anymore I won't be able to test much but from what I saw here's the changes they made:
    Molten Shell now has a cooldown and can't be set as autocast (type 1) without implementing a few changes to the script - to add a cooldown period code to make the script wait before trying to cast it again.
    GGG now implemented extended shortcuts for spells with the Control key, so now Type 2 hotkeys have become more or less unneeded.
    Types 3 and 4 go the same way.
    Inventory and gem swaps (types 5 and 6) should still be good, it's untested though.
    Type 7 can do anything, so it should be still good for longer or more complex actions like a complete gear swap or auto portals.

  7. #6
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here's a code that works with cooldown but won't work with extra triggered spells.
    Extra triggered spells is broken, has to be 0.
    Now the script waits for the specified cooldown before casting the buff again.
    Code:
    #SingleInstance, force
    ToolTip, Loading
    SetTitleMatchMode, 3
    ;#IfWinActive Path of Exile
    #MaxThreadsperHotkey  2
    CoordMode, Mouse
    WinGetPos, X, Y, WinW, WinH, Path of Exile
    SetBatchLines, -1
    SetDefaultMouseSpeed, 0
    SetKeyDelay, 20, 20
    SetMouseDelay, 20
    SetWorkingDir A_ScriptDir
    Winset, Transparent, 0
    FileGetSize, Size, C:\Program Files (x86)\Grinding Gear Games\Path of Exile\Content.ggpk
    N:= 1
    Hk:= 1
    DelayN:= 1
    	If(FileExist("UnrapeKitConfig.ini")) {
    		IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount, %A_Space%
    		IniRead, HotkeyLimit, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit, %A_Space%
    		IniRead, Delay, UnrapeKitConfig.ini, Delay, Delay, %A_Space%
    		IniRead, FrameTime, UnrapeKitConfig.ini, Delay, FrameTime, %A_Space%
    		IniRead, KeyDelay1, UnrapeKitConfig.ini, Delay, KeyDelay1, %A_Space%
    		IniRead, KeyDelayPress, UnrapeKitConfig.ini, Delay, KeyDelayPress, %A_Space%
    		IniRead, MouseDelay, UnrapeKitConfig.ini, Delay, MouseDelay, %A_Space%
    			SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    			SetMouseDelay, %MouseDelay%
    		IniRead, HotkeyConfig, UnrapeKitConfig.ini, Configuration, HotkeyConfig, %A_Space%
    		IniRead, ScanConfig, UnrapeKitConfig.ini, Configuration, ScanConfig, %A_Space%
    		IniRead, SpellScan, UnrapeKitConfig.ini, Configuration, SpellScan, %A_Space%
    		IniRead, ScreenCapture, UnrapeKitConfig.ini, Configuration, ScreenCapture, %A_Space%
    		IniRead, DelayConfig, UnrapeKitConfig.ini, Configuration, DelayConfig, %A_Space%
    		IniRead, CaptureName, UnrapeKitConfig.ini, Configuration, CaptureName, %A_Space%
    		Hotkey, %HotkeyConfig%, HotkeyConfig
    		Hotkey, %ScanConfig%, ScanConfig
    		Hotkey, %SpellScan%, SpellScan
    		Hotkey, %ScreenCapture%, ScreenCapture1
    		Hotkey, %DelayConfig%, DelayConfig
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%, %A_Space%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%, %A_Space%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%, %A_Space%
    			NameN:= % Name%N%
    			IconToggleN:= % IconToggle%N%
    			LineN:= % Line%N%
    			CaptureName%N%:= % Name%N% "" Line%N%
    			IniRead, %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X, %A_Space%
    			IniRead, %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y, %A_Space%
    			N+= 1
    		}
    		Loop, %HotKeyLimit% {
    			IniRead, Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, Hkey%Hk%Toggle, %A_Space%
    			IniRead, Hkey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type1, %A_Space%
    			IniRead, Hkey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type2, %A_Space%
    			IniRead, Hkey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type3, %A_Space%
    			IniRead, Hkey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type4, %A_Space%
    			IniRead, Hkey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type5, %A_Space%
    			IniRead, Hkey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type6, %A_Space%
    			IniRead, Hkey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type7, %A_Space%
    			IniRead, Hkey%Hk%Type8, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type8, %A_Space%
    			IniRead, Hkey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, Hkey%Hk%Key, %A_Space%
    			IniRead, KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%, %A_Space%
    			IniRead, KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%, %A_Space%
    			IniRead, Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut, %A_Space%
    				If Hkey%Hk%Toggle = 1
    					Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    				If (Hkey%Hk%Type1 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					TrigN:= 3
    					IniRead, XTriggeredCount%Hk%, UnrapeKitConfig.ini, XTriggeredCount, XTriggeredCount%Hk%, %A_Space%
    					IniRead, ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%, %A_Space%
    					IniRead, T1Cooldown%Hk%, UnrapeKitConfig.ini, Delay, T1Cooldown%Hk%, %A_Space%
    					Loop, % XTriggeredCount%Hk% {
    						IniRead, TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%, %A_Space%
    						IniRead, Hkey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, Hkey%Hk%Spell%TrigN%, %A_Space%
    						Iniread, HKey%Hk%T1Cooldown%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%T1Cooldown%TrigN%, %A_Space%
    						TrigN+= 1
    					}
    				}
    				If (Hkey%Hk%Type2 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type3 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%, %A_Space%
    					IniRead, Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type4 = 1)
    					IniRead, Hkey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1T4, %A_Space%
    				If (Hkey%Hk%Type5 = 1) {
    					IniRead, GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    					IniRead, GemSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type6 = 1) {
    					IniRead, EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type7 = 1) {
    					IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations, %A_Space%
    					IniRead, XTypeGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeGemSwapTab_%Hk%, %A_Space%
    					IniRead, XTypeEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeEquipSwapTab_%Hk%, %A_Space%
    					XT:= 1
    					Loop, % Hkey%Hk%Iterations {
    						IniRead, HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XTypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, %A_Space%		
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, %A_Space%
    						IniRead, ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%, %A_Space%
    						IniRead, KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%, %A_Space%
    						XT+= 1
    					}
    				}
    			Hk+= 1
    		}
    	}
    ToolTip, Load Complete
    SetTimer, RemoveToolTip, -500
    return
    
    RemoveToolTip:
    	ToolTip
    return
    
    RCtrl & F10:: Reload
    RCtrl & F11:: Pause
    RCtrl & F12:: ExitApp
    
    RCtrl & F9::
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 270
    	GuiHeight:= 230
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Configuration Hotkeys:
    	Gui, Add, Edit, X10 Y40 H21 W140 vHotkeyConfig, %HotkeyConfig%
    	Gui, Add, Edit, X10 Y70 H21 W140 vScanConfig, %ScanConfig%
    	Gui, Add, Edit, X10 Y100 H21 W140 vSpellScan, %SpellScan%
    	Gui, Add, Edit, X10 Y130 H21 W140 vScreenCapture, %ScreenCapture%
    	Gui, Add, Edit, X10 Y160 H21 W140 vDelayConfig, %DelayConfig%
    	Gui, Add, Text, X160 Y43, Hotkey Configuration
    	Gui, Add, Text, X160 Y73, Scan Configuration
    	Gui, Add, Text, X160 Y103, Spell Scan
    	Gui, Add, Text, X160 Y133, Screen Capture
    	Gui, Add, Text, X160 Y163, Delay Configuration
    	Gui, Add, Button, x70 y200 w90 h20 gSetupConfig Default, Ok
    	Gui, Add, Button, x170 y200 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Configuration
    Return
    
    SetupConfig:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	IniWrite, %HotkeyConfig%, UnrapeKitConfig.ini, Configuration, HotkeyConfig
    	IniWrite, %ScanConfig%, UnrapeKitConfig.ini, Configuration, ScanConfig
    	IniWrite, %SpellScan%, UnrapeKitConfig.ini, Configuration, SpellScan
    	IniWrite, %ScreenCapture%, UnrapeKitConfig.ini, Configuration, ScreenCapture
    	IniWrite, %DelayConfig%, UnrapeKitConfig.ini, Configuration, DelayConfig
    	Hotkey, %HotkeyConfig%, HotkeyConfig
    	Hotkey, %ScanConfig%, ScanConfig
    	Hotkey, %SpellScan%, SpellScan
    	Hotkey, %ScreenCapture%, ScreenCapture1
    	Hotkey, %DelayConfig%, DelayConfig
    	Reload
    Return
    
    ScreenCapture1:
    	MouseGetPos, Xpos, Ypos
    	ImageRepeat:= 0
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↑←
    	Gui, Add, Button, gScreenCapture2 Default, Ok
    	Gui, Show, , Capture 1
    Return
    
    ScreenCapture2:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, CaptureX1, CaptureY1
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↓→
    	Gui, Add, Button,  gScreenCapture3 Default, Ok
    	Gui, Show, , Capture 2
    Return
    
    ScreenCapture3:
    	Gui, Submit
    	Gui, Destroy
    	IniRead, TempName, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniRead, TempLine, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	N:= ScanCount + 1
    	MouseGetPos, CaptureX2, CaptureY2
    	GuiWidth:= 210
    	GuiHeight:= 100
    	GuiX:= GuiWidth + 10
    	GuiY:=  GuiHeight + 30
    	Move_X:= Xpos - GuiX
    	Move_Y:= Ypos - GuiY
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text,x10 y10, Capture Name                               Line
    	Gui, Add, Edit, x10 y40 w150 h20 vTempName, %TempName%
    	Gui, Add, Edit, x+10 w20 h20 vTempLine, %TempLine%
    	Gui, Add, Button, x10 y70 w90 h20 gCaptureSave Default, Ok
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,Capture Configuration
    Return
    
    CaptureSave:
    	Gui, Submit
    	Gui, Destroy
    	Run C:\Windows\system32\SnippingTool.exe
    	IniWrite, %TempName%, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniWrite, %TempLine%, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	CaptureName:= % TempName "" TempLine
    	SetMouseDelay, 40
    	SetKeyDelay, 40, 40
    	WinWait, Snipping Tool
    	MouseClickDrag, L, CaptureX1, CaptureY1, CaptureX2, CaptureY2, 1
    	WinWaitActive, Snipping Tool
    	SendInput ^s
    	WinWait, Save As
    	SendInput %CaptureName%.png
    	SendInput !d
    	SendInput %A_ScriptDir%
    	SendInput !s
    	WinWait, Confirm Save As, , 0.001
    		{
    		SendInput !y
    		ImageRepeat:= 1
    		}
    	WinWaitActive, Snipping Tool
    	SendInput !fx
    		If (CaptureX1 >= 1410 AND CaptureX2 <= 1605 AND CaptureY1 >= 410 AND CaptureY2 <= 925) {
    			CaptureX1 -= 5
    			CaptureY1 -= 5
    			CaptureX2 += 5
    			CaptureY2 += 5
    			Loop, 20 {
    				ImageSearch, %TempName%X, %TempName%Y, CaptureX1, CaptureY1, CaptureX2, CaptureY2, *10 %CaptureName%.png
    					If(ErrorLevel = 2 AND A_Index = 20)
    						MsgBox Could Not perform scan
    					If(ErrorLevel = 1 AND A_Index = 20)
    						MsgBox Could Not Find Scan %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						Send, {Click}
    							If (ImageRepeat = 1) {
    								Loop {
    										If (CaptureName = CaptureName%A_Index%) {
    											N:= A_Index
    											break
    										}
    								}
    							} Else {
    								ScanCount+= 1
    								N:= ScanCount
    							}
    						Name%N%:= TempName
    						Line%N%:= TempLine
    						IconToggle%N%:= 1
    						IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    						IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    						IniWrite, % %TempName%X, UnrapeKitConfig.ini, SpellCoordinates, %TempName%X
    						IniWrite, % %TempName%Y, UnrapeKitConfig.ini, SpellCoordinates, %TempName%Y
    						IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    						IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    						Break
    					}
    			Sleep, 10
    			}
    		}
    	SetMouseDelay, %MouseDelay%
    	SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    	Reload
    Return
    	
    ScanConfig:
    	IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y5 w200 h26, Icons Count:
    	Gui, Add, Text, x10 y33 w120 h26, Scans:
    	Gui, Add, Edit, x145 y30 w30 h21 vScanCount, %ScanCount%
    	Gui, Add, Button, x10 y70 w90 h20 gScanDefinitions Default, Definitions
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Scan Count
    Return
    
    ScanDefinitions:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	N:= 1
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    			NameN:= % Name%N%
    			LineN:= % Line%N%
    			N+= 1
    		}
    	N:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	MouseGetPos, Xpos, Ypos
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Toggle`, SpellName`, Line# (Bottom to Top)
    	Loop, %ScanCount% {
    		GuiY:= 50 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 95
    			If (GuiY > ScreenHeight) {
    					W+= 1
    					HMax:= H
    					H= 1
    			}
    		Y1:= 18 + 30 * H
    		Y2:= 15 + 30 * H
    		GuiWidth:= 240 * W
    			If (W = 1) {
    				GuiHeight:= 105 + 30 * H
    				AddHeight:= 48 + 30 * H
    				AddButtonHeight:= 45 + 30 * H
    				ButtonHeight:= 75 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 105 + 30 * HMax
    				AddHeight:= 48 + 30 * HMax
    				AddButtonHeight:= 45 + 30 * HMax
    				ButtonHeight:= 75 + 30 * HMax
    			}
    		Button1Width:= GuiWidth - 200
    		Button2Width:= GuiWidth - 100
    		TextWidth:= GuiWidth - 215
    		CheckboxWidth:= GuiWidth - 195
    		NameWidth:= GuiWidth - 175
    		LineWidth:= GuiWidth - 45
    		Gui, Add, Text, x%TextWidth% Y%Y1%, %N%
    		Gui, Add, Checkbox, % " x" CheckboxWidth " y" Y1 " h13 w13 vIconToggle" N " Checked" IconToggle%N%
    		Gui, Add, Edit, x%NameWidth% y%Y2% w120 h20 vName%N%, % Name%N%
    		Gui, Add, Edit, x%LineWidth% y%Y2% w20 h20 vLine%N%, % Line%N%
    			If (A_Index = ScanCount) {
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x10 y%AddButtonHeight% w90 h20 gAddScan, Add
    				Gui, Add, Text, x110 y%AddHeight%, Add
    				Gui, Add, Edit, x140 y%AddButtonHeight% w30 h20 vXDefinitions
    				Gui, Add, Text, x180 y%AddHeight%, Definition(s)
    				Gui, Add, Button, x%Button1Width% y%ButtonHeight% w90 h20 gScanWrite Default, Record
    				Gui, Add, Button, x%Button2Width% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Scan Configuration
    				Break
    			}
    		N+= 1
    		H+= 1
    	}
    Return
    
    AddScan:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	ScanCount+= %XDefinitions%
    	Gosub ScanDefinitions
    Return
    
    ScanWrite:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	Gosub SpellScan
    Return
    
    SpellScan:
    	N:= 1
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, 1660, 1025 ; t
    	Sleep, %Delay%
    	MouseClick, , 1660, 1025 ; t
    	Sleep, %Delay%
    	Loop, %ScanCount% {
    		IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			If (IconToggle%N% = 1) {
    				IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    				IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    				NameN:= % Name%N%
    				LineN:= % Line%N%
    				ImageSearch, %NameN%X, %NameN%Y, 1410, 410, 1605, 925, *10 %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						IniWrite, % %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X
    						IniWrite, % %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y
    					}
    			}
    		N+= 1
    	}
    	Send, {Esc}
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	MouseMove, Xpos, Ypos
    	BlockInput, MouseMoveOff
    Return
    
    DelayConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 220
    	GuiHeight:= 160
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Server Latency (ms)
    	Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    	Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    	Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    	Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    	Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    	Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    	Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    	Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    	Gui, Add, Button, x20 y130 w90 h20 gDelayConfigRecord Default, Record
    	Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Delay configuration
    Return
    
    DelayConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    	Reload
    Return
    
    HotkeyConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Hotkeys wanted:
    	Gui, Add, Text, x50 y33, 200 Hotkeys Maximum
    	Gui, Add, Edit, x10 y30 w30 h20 vHotkeyLimit, %HotkeyLimit%
    	Gui, Add, Button, x10 y70 w90 h20 gHKeyEdit Default, Hotkeys
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Count
    Return
    
    HkeyEdit:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %HotkeyLimit%, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit
    	Hk:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	MouseGetPos, Xpos, Ypos
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    		If HotkeyLimit Between 1 and 200
    			Loop, %HotkeyLimit% {
    				GuiY:= 120 + 30 * H
    				ScreenHeight:= A_ScreenHeight - 45
    					If (GuiY > ScreenHeight) {
    						W+= 1
    						HMax:= H
    						H= 1
    					}
    				Y1:= 13 + 30 * H
    				Y2:= 10 + 30 * H
    				GuiWidth:= 610 * W
    					If (W = 1) {
    						GuiHeight:= 80 + 30 * H
    						ButtonHeight:= 50 + 30 * H
    						ButtonTxtHeight:= 53 + 30 * H
    					}
    					If (W > 1) {
    						GuiHeight:= 80 + 30 * HMax
    						ButtonHeight:= 50 + 30 * HMax
    						ButtonTxtHeight:= 53 + 30 * HMax
    					}
    				Button1X:= GuiWidth - 300
    				Button2X:= GuiWidth - 200
    				Button3X:= GuiWidth - 100
    				Text1X:= GuiWidth - 590
    				CheckboxX:= GuiWidth - 570
    				Radio1X:= GuiWidth - 520
    				Radio2X:= GuiWidth - 480
    				Radio3X:= GuiWidth - 440
    				Radio4X:= GuiWidth - 400
    				Radio5X:= GuiWidth - 360
    				Radio6X:= GuiWidth - 320
    				Radio7X:= GuiWidth - 280
    				EditX:= GuiWidth - 240
    				EditButtonX:= GuiWidth -100
    				CheckboxTxt:= GuiWidth - 583
    				Radio1Txt:= GuiWidth - 530
    				Radio2Txt:= GuiWidth - 490
    				Radio3Txt:= GuiWidth - 450
    				Radio4Txt:= GuiWidth - 410
    				Radio5Txt:= GuiWidth - 370
    				Radio6Txt:= GuiWidth - 330
    				Radio7Txt:= GuiWidth - 290
    				EditTxt:= GuiWidth - 220
    				EditButtonTxt:= GuiWidth -85
    				Gui, Add, Text, x%CheckboxTxt% y20,Toggle
    				Gui, Add, Text, x%Radio1Txt% y20,Type 1
    				Gui, Add, Text, x%Radio2Txt% y20,Type 2
    				Gui, Add, Text, x%Radio3Txt% y20,Type 3
    				Gui, Add, Text, x%Radio4Txt% y20,Type 4
    				Gui, Add, Text, x%Radio5Txt% y20,Type 5
    				Gui, Add, Text, x%Radio6Txt% y20,Type 6
    				Gui, Add, Text, x%Radio7Txt% y20,Type 7
    				Gui, Add, Text, x%EditTxt% y20, Hotkey Shortcut
    				Gui, Add, Text, x%EditButtonTxt% y20, Hotkey Edit
    				Gui, Add, Text, x%Text1X% y%Y1%, %Hk%
    				Gui, Add, Checkbox, % "X" CheckboxX " Y" Y1 " h13 w13 vHKey" Hk "Toggle Checked" HKey%Hk%Toggle
    				Gui, Add, Radio, % "x" Radio1X " y" Y1 " h13 w13 vHkey" Hk "Type1 Checked" HKey%Hk%Type1,1
    				Gui, Add, Radio, % "x" Radio2X " y" Y1 " h13 w13 vHkey" Hk "Type2 Checked" HKey%Hk%Type2,2
    				Gui, Add, Radio, % "x" Radio3X " y" Y1 " h13 w13 vHkey" Hk "Type3 Checked" HKey%Hk%Type3,3
    				Gui, Add, Radio, % "x" Radio4X " y" Y1 " h13 w13 vHkey" Hk "Type4 Checked" HKey%Hk%Type4,4
    				Gui, Add, Radio, % "x" Radio5X " y" Y1 " h13 w13 vHkey" Hk "Type5 Checked" HKey%Hk%Type5,5
    				Gui, Add, Radio, % "x" Radio6X " y" Y1 " h13 w13 vHkey" Hk "Type6 Checked" HKey%Hk%Type6,6
    				Gui, Add, Radio, % "x" Radio7X " y" Y1 " h13 w13 vHkey" Hk "Type7 Checked" HKey%Hk%Type7,7
    				Gui, Add, Edit, x%EditX% y%Y2% w120 h20 vHkey%Hk%Shortcut, % Hkey%Hk%Shortcut
    				Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditHk, %Hk%
    					If (A_Index = HotkeyLimit) {
    						X_Offset:= GuiWidth/2
    						Y_Offset:= GuiHeight/2
    						X_Limit:= A_ScreenWidth - X_Offset
    						Y_Limit:= A_ScreenHeight - Y_Offset
    						Mouse_X:= Xpos - X_Offset
    						Mouse_Y:= Ypos - Y_Offset
    							If Xpos between 0 and %X_Offset%
    								Move_X:= 0
    							If Xpos between %X_Offset% and %X_Limit%
    								Move_X:= Mouse_X
    							If Xpos between %X_Limit% and %A_ScreenWidth%
    								Move_X:= A_ScreenWidth - GuiWidth
    							If Ypos between 0 and %Y_Offset%
    								Move_Y:= 0
    							If Ypos between %Y_Offset% and %Y_Limit%
    								Move_Y:= Mouse_Y
    							If Ypos between %Y_Limit% and %A_ScreenHeight%
    								Move_Y:= A_ScreenHeight - GuiHeight - 30
    						Gui, Add, Button, x10 y%ButtonHeight% w90 H20 gHkAdd, Add
    						Gui, Add, Text, x110 y%ButtonTxtHeight%,Add
    						Gui, Add, Edit, x140 y%ButtonHeight% w20 h20 vHotkeyAdd
    						Gui, Add, Text, x170 y%ButtonTxtHeight%,Hotkey(s)
    						Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gRecordHks Default, Record
    						Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gSetHKs, Configure
    						Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    						Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Hotkey Configuration
    						Break
    					}
    			Hk+= 1
    			H+= 1
    			}
    Return
    
    HkAdd:
    	Gui, Submit
    	Gui, Destroy
    	HotkeyLimit+= %HotkeyAdd%
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Gosub HkeyEdit
    Return
    
    RecordHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Reload
    Return
    
    SetHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Hk:= 1
    	Gosub HkTypeConfigLoop
    Return
    
    EditHk:
    	A_GuiControlHk:= A_GuiControl
    	Hk:= A_GuiControlHk
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%Toggle = 0)
    			Hkey%Hk%Toggle = 1
    	IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    	IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    	IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    	IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    	IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    	IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    	IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    	IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    	IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    		If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    			Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    	Gosub HkTypeConfigLoop
    Return
    
    HkTypeConfigLoop:
    	Loop {
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type1 = 1) {
    				Gosub ConfigType1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type2 = 1) {
    				Gosub ConfigType2
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type3 = 1) {
    				Gosub ConfigType3
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type4 = 1) {
    				Gosub ConfigType4
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type5 = 1) {
    				Gosub GemSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type6 = 1) {
    				Gosub EquipSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type7 = 1) {
    				Gosub XTypeConfig
    				Break
    			}
    			If (Hkey%Hk%Toggle = 0) {
    				Gosub HkLoopAdd
    				Break
    			}
    			If (Hk > HotKeyLimit) {
    				Reload
    				Break
    			}
    	}
    Return
    
    HkLoopAdd:
    		If (A_GuiControlHk is Integer) {
    			Gosub Delay
    		Return
    		}
    	Hk+= 1
    	Goto, HkTypeConfigLoop
    Return
    
    ConfigType1:
    	GuiWidth:= 210
    	GuiHeight:= 260
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 1"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 w140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Edit, x10 y130 w20 h20 vXTriggeredCount%Hk%, % XTriggeredCount%Hk%
    	Gui, Add, Edit, x10 y160 w30 h20 vScanDelay%Hk%, % ScanDelay%Hk%
    	Gui, Add, Edit, x10 y190 w30 h20 vT1Cooldown%Hk%, % T1Cooldown%Hk%
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Text, x40 y133, Extra Triggered Spells
    	Gui, Add, Text, x50 y163, Scan Loop Delay, ms
    	Gui, Add, Text, x50 y193, Spell 1 Cooldown, ms
    	Gui, Add, Button, x10 y230 w90 h20 gTriggered1 Default, Define
    	Gui, Add, Button, x110 y230 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    Return
    
    Triggered1:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	IniWrite, % XTriggeredCount%Hk%, UnrapeKitConfig.ini, XtriggeredCount, XTriggeredCount%Hk%
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%
    	IniWrite, % T1Cooldown%Hk%, UnrapeKitConfig.ini, Delay, T1Cooldown%Hk%
    		If XTriggeredCount%Hk% = 0
    			Gosub TriggeredWrite
    	Gui, -0x80000 AlwaysOnTop
    	Loop, % XTriggeredCount%Hk% {
    		Y1:= 30 * TrigN - 27
    		Y2:= 30 * TrigN - 30
    		Y3:= 30 * TrigN + 3
    		Y4:= 30 * TrigN
    		Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut ": Additional Spells"
    		Gui, Add, Text, x10 y30, Toggle`, SpellName
    		Gui, Add, Checkbox, % "x10 y" Y1 " h13 w13 vTriggerToggle" TrigN "_" Hk " Checked" TriggerToggle%TrigN%_%Hk%
    		Gui, Add, Edit, x41 y%Y2% w140 h20 vHKey%Hk%Spell%TrigN%, % HKey%Hk%Spell%TrigN%
    		Gui, Add, Text, x191 y%Y1%, % "Spell " TrigN ", Cooldown"
    		Gui, Add, Edit, x291 y%Y2% w40 h20 vHKey%Hk%T1Cooldown%TrigN%, % HKey%Hk%T1Cooldown%TrigN%
    		Gui, Add, Text, x341 y%Y1%, ms
    			If (A_Index = XTriggeredCount%Hk%) {
    				GuiWidth:= 370
    				GuiHeight:= 40 + 30 * TrigN
    				ButtonHeight:= 30 * TrigN + 10
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x170 y%ButtonHeight% w90 h20 gTriggeredWrite Default, Record
    				Gui, Add, Button, x270 y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, W%GuiWidth% H%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    				Break
    			}
    		TrigN+= 1
    	}
    Return
    
    TriggeredWrite:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	Loop, % XTriggeredCount%Hk% {
    		IniWrite, % TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%
    		IniWrite, % HKey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%Spell%TrigN%
    		IniWrite, % HKey%Hk%T1Cooldown%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%T1Cooldown%TrigN%
    		TrigN+=1
    	}
    	Gosub KeyWrite
    Return
    
    ConfigType2:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 200
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 2"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Checkbox, % "x10 y130 h13 w13 vType2MoveToggleHotkey" Hk " Checked" Type2MoveToggleHotkey%Hk%, Move mouse before Spell 1 cast
    	Gui, Add, Button, x10 y170 w90 h20 gWrite2 Default, Define
    	Gui, Add, Button, x110 y170 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Swap Caster
    Return
    
    Write2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%
    	Gosub KeyWrite
    Return
    
    ConfigType3:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 220
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 3"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut key
    	Gui, Add, Checkbox, % "x10 y130 h13 w13 vType3Cast1ToggleHotkey" Hk " Checked" Type3Cast1ToggleHotkey%Hk%, Cast Spell 1
    	Gui, Add, Checkbox, % "x10 y160 h13 w13 vType3Cast2ToggleHotkey" Hk " Checked" Type3Cast2ToggleHotkey%Hk%, Cast Spell 2
    	Gui, Add, Button, x10 y190 w90 h20 gWrite3 Default, Define
    	Gui, Add, Button, x110 y190 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Shortcut Reset
    Return
    
    Write3:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%
    	IniWrite, % Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    ConfigType4:
    	GuiWidth:= 210
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 4"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1T4, % HKey%Hk%Spell1T4
    	Gui, Add, Edit, x10 y70 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x90 y73, Shortcut key
    	Gui, Add, Button, x10 y110 w90 h20 gWrite4 Default, Define
    	Gui, Add, Button, x110 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Spell Toggle
    Return
    
    Write4:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1T4
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    KeyWrite:
    		If (HKey%Hk%Key = "Q") {
    			KeyX_%Hk%:= 1440
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "W") {
    			KeyX_%Hk%:= 1495
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "E") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "R") {
    			KeyX_%Hk%:= 1605
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "T") {
    			KeyX_%Hk%:= 1655
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "LButton") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "MButton") {
    			KeyX_%Hk%:= 1600
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "RButton") {
    			KeyX_%Hk%:= 1650
    			KeyY_%Hk%:= 975
    		}
    	IniWrite, % KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%
    	IniWrite, % KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%
    	Gosub HkLoopAdd
    Return
    
    GemSwap1:
    	Swap:= "GemSwap1"
    	Gosub Swap
    Return
    
    GemSwap2:
    	Swap:= "GemSwap2"
    	Gosub Swap
    return
    
    EquipSwap1:
    	Swap:= "EquipSwap1"
    	GoSub Swap
    Return
    
    EquipSwap2:
    	Swap:= "EquipSwap2"
    	GoSub Swap
    Return
    
    Swap:
    	Gosub LCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniRead, Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniRead, Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniRead, Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniRead, Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniRead, Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "GemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "EquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	Gui, Color, 0x050505
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, Add, Radio, % "x29 y511 w13 h13 v" Swap "RadioL1C1Hotkey" Hk " Checked" %Swap%RadioL1C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C2Hotkey" Hk " Checked" %Swap%RadioL1C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C3Hotkey" Hk " Checked" %Swap%RadioL1C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C4Hotkey" Hk " Checked" %Swap%RadioL1C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C5Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C6Hotkey" Hk " Checked" %Swap%RadioL1C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C7Hotkey" Hk " Checked" %Swap%RadioL1C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C8Hotkey" Hk " Checked" %Swap%RadioL1C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C9Hotkey" Hk " Checked" %Swap%RadioL1C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C10Hotkey" Hk " Checked" %Swap%RadioL1C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C11Hotkey" Hk " Checked" %Swap%RadioL1C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C12Hotkey" Hk " Checked" %Swap%RadioL1C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y563 w13 h13 v" Swap "RadioL2C1Hotkey" Hk " Checked" %Swap%RadioL2C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C2Hotkey" Hk " Checked" %Swap%RadioL2C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C3Hotkey" Hk " Checked" %Swap%RadioL2C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C4Hotkey" Hk " Checked" %Swap%RadioL2C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C5Hotkey" Hk " Checked" %Swap%RadioL2C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C6Hotkey" Hk " Checked" %Swap%RadioL2C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C7Hotkey" Hk " Checked" %Swap%RadioL2C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C8Hotkey" Hk " Checked" %Swap%RadioL2C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C9Hotkey" Hk " Checked" %Swap%RadioL2C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C10Hotkey" Hk " Checked" %Swap%RadioL2C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C11Hotkey" Hk " Checked" %Swap%RadioL2C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C12Hotkey" Hk " Checked" %Swap%RadioL2C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y616 w13 h13 v" Swap "RadioL3C1Hotkey" Hk " Checked" %Swap%RadioL3C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C2Hotkey" Hk " Checked" %Swap%RadioL3C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C3Hotkey" Hk " Checked" %Swap%RadioL3C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C4Hotkey" Hk " Checked" %Swap%RadioL3C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C5Hotkey" Hk " Checked" %Swap%RadioL3C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C6Hotkey" Hk " Checked" %Swap%RadioL3C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C7Hotkey" Hk " Checked" %Swap%RadioL3C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C8Hotkey" Hk " Checked" %Swap%RadioL3C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C9Hotkey" Hk " Checked" %Swap%RadioL3C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C10Hotkey" Hk " Checked" %Swap%RadioL3C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C11Hotkey" Hk " Checked" %Swap%RadioL3C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C12Hotkey" Hk " Checked" %Swap%RadioL3C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y669 w13 h13 v" Swap "RadioL4C1Hotkey" Hk " Checked" %Swap%RadioL4C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C2Hotkey" Hk " Checked" %Swap%RadioL4C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C3Hotkey" Hk " Checked" %Swap%RadioL4C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C4Hotkey" Hk " Checked" %Swap%RadioL4C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C5Hotkey" Hk " Checked" %Swap%RadioL4C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C6Hotkey" Hk " Checked" %Swap%RadioL4C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C7Hotkey" Hk " Checked" %Swap%RadioL4C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C8Hotkey" Hk " Checked" %Swap%RadioL4C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C9Hotkey" Hk " Checked" %Swap%RadioL4C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C10Hotkey" Hk " Checked" %Swap%RadioL4C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C11Hotkey" Hk " Checked" %Swap%RadioL4C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C12Hotkey" Hk " Checked" %Swap%RadioL4C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y721 w13 h13 v" Swap "RadioL5C1Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C2Hotkey" Hk " Checked" %Swap%RadioL5C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C3Hotkey" Hk " Checked" %Swap%RadioL5C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C4Hotkey" Hk " Checked" %Swap%RadioL5C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C5Hotkey" Hk " Checked" %Swap%RadioL5C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C6Hotkey" Hk " Checked" %Swap%RadioL5C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C7Hotkey" Hk " Checked" %Swap%RadioL5C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C8Hotkey" Hk " Checked" %Swap%RadioL5C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C9Hotkey" Hk " Checked" %Swap%RadioL5C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C10Hotkey" Hk " Checked" %Swap%RadioL5C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C11Hotkey" Hk " Checked" %Swap%RadioL5C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C12Hotkey" Hk " Checked" %Swap%RadioL5C12Hotkey%Hk%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk " Checked" RightFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk " Checked" LeftFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk " Checked" AmuletSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk " Checked" BeltRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk " Checked" BeltCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk " Checked" BeltLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk " Checked" Flask1%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk " Checked" Flask2%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk " Checked" Flask3%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk " Checked" Flask4%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk " Checked" Flask5%Swap%Hotkey%Hk%
    	Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    	Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		If (Swap = "GemSwap2") OR (Swap = "EquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Button1X:= 40
    			Button2X:= 460
    			ButtonY:= 450
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Tab, 2
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			Gui, Color, 0x050505
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    			Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		}
    		If (Swap = "GemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap"
    		If (Swap = "EquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap"
    		If (Swap = "GemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "EquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    Return
    
    LCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    SwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub LCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1765
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1770
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1455
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1715
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1565
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1605
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1487
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1540
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1592
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1645
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1697
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) OR (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1765
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1770
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    		}
    		If (Swap = "GemSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub GemSwap2
    		Return
    		}
    		If (Swap = "EquipSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub EquipSwap2
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 1) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 1) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    Return
    
    LCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    			If (%Swap%RadioL%L%C%C%Hotkey%Hk% = 1) {
    				%Swap%Hotkey%Hk%_X:= 1240 + (C*53)
    				%Swap%Hotkey%Hk%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    Delay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gDelayRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub DelayRecord
    Return
    
    DelayRecord:
    		If (DelayN = 1) {
    			Gui, Submit
    			Gui, Destroy
    			DelayN+= 1
    			IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    			IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    			IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    			IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    			IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		}
    		If (A_GuiControlHk is Integer) {
    			DelayN+= 1
    			Gosub HkeyEdit
    		}
    		Else {
    			Hk+= 1
    			Gosub HkTypeConfigLoop
    		}
    Return
    
    XTypeConfig:
    	MouseGetPos, Xpos, Ypos
    	XTypeConfigRecord:= 0
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x40 y10, Extra Type configuration
    	Gui, Add, Edit, x10 y40 w30 h20 vHkey%Hk%Iterations, % Hkey%Hk%Iterations
    	Gui, Add, Text, x50 y43, % "Iterations Hotkey " Hk
    	Gui, Add, Button, x10 y70 w90 h20 gXTypeConfig2 Default, Configure
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Extra Type
    Return
    
    XTypeConfig2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	MouseGetPos, Xpos, Ypos
    	XT:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Options:
    	Gui, Add, Text, x10 y40, Toggle
    	Gui, Add, Text, x10 y70, !Toggle
    	Gui, Add, Text, x10 y100, ImageSearch
    	Gui, Add, Text, x10 y130, GetMousePos
    	Gui, Add, Text, x10 y160, GoMousePos
    	Gui, Add, Text, x10 y190, SpellScan
    	Gui, Add, Text, x10 y220, Spell
    	Gui, Add, Text, x10 y250, SendInput
    	Gui, Add, Text, x10 y280, MouseMove
    	Gui, Add, Text, x10 y310, Delay
    	Gui, Add, Text, x10 y340, GemSwap
    	Gui, Add, Text, x10 y370, EquipmentSwap
    	Gui, Add, Text, x10 y400, Add
    	Gui, Add, Edit, x110 y400 w20 h20 vHkey%Hk%XIterations
    	Gui, Add, Text, x140 y403, Iteration(s)
    	Gui, Add, Button, x10 y400 w90 h20 gXTypeConfi***dd, Add
    	Loop, % Hkey%Hk%Iterations {
    		GuiY:= 60 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 45
    			If (GuiY > ScreenHeight) {
    				W+= 1
    				HMax:= H
    				H= 1
    			}
    		Y1:= 8 + 30 * H
    		Y2:= 5 + 30 * H
    		GuiWidth:= 160 + 360 * W
    			If (W = 1) {
    				GuiHeight:= 70 + 30 * H
    				ButtonHeight:= 40 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 70 + 30 * HMax
    				ButtonHeight:= 40 + 30 * HMax
    			}
    		Button1X:= GuiWidth - 300
    		Button2X:= GuiWidth - 200
    		Button3X:= GuiWidth - 100
    		CheckboxX:= GuiWidth - 310
    		EditButtonX:= GuiWidth - 100
    		EditX:= GuiWidth - 280
    		TextX:= GuiWidth - 170
    		Gui, Add, Checkbox, % "x" CheckboxX " y" Y1 " w13 h13 vHkey" Hk "Iteration" XT "Toggle Checked" Hkey%Hk%Iteration%XT%Toggle
    		Gui, Add, Edit, x%EditX% y%Y2% w100 h20 vHkey%Hk%Iteration%XT%, % Hkey%Hk%Iteration%XT%
    		Gui, Add, Text, x%TextX% y%Y1%, % "Iteration " XT
    		Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditXT, %A_Index%
    			If (XT = Hkey%Hk%Iterations) {
    					If ButtonHeight < 400
    						ButtonHeight = 400
    					If GuiHeight < 430
    						GuiHeight = 430
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gXTypeConfigRecord Default, Record
    				Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gXTypeConfig3, Configure
    				Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Iteration Configuration
    				Break
    			}
    		XT+= 1
    		H+= 1
    	}
    Return
    
    EditXT:
    	A_GuiControlXT:= A_GuiControl
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= A_GuiControlXT
    		If (Hkey%Hk%Iteration%XT%Toggle = 0)
    			Hkey%Hk%Iteration%XT%Toggle = 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	XTypeConfigRecord:= 1
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeDelay
    Return
    
    XTypeConfi***dd:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%Iterations+= % Hkey%Hk%XIterations
    		Gosub XTypeConfig2
    Return
    	
    XTypeConfig3:
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfig4:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXT > 0)
    			A_GuiControlXTypeConfig4:= A_GuiControlXT
    	IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						Gosub XTypeToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle") {
    						Gosub XType!ToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						Gosub XTypeImageSearch
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    						Gosub XTypeGetMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						Gosub XTypeGoMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan") {
    						Gosub XTypeLoopAdd
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    						Gosub XTypeSpell
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						Gosub XTypeSend
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						Gosub XTypeMouseMove
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Gosub XTypeDelayConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						Gosub XTypeGemSwap1
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						Gosub XTypeEquipSwap1
    						Break
    					}
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 0) {
    				Gosub XTypeLoopAdd
    				Break
    			}
    			If (XT >= Hkey%Hk%Iterations) {
    				Gosub HkLoopAdd
    				Break
    			}
    	}
    Return
    
    XTypeMsg:
    	MsgBox, % "Iteration " XT " = " Hkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeToggleConfig:
    	Msgbox Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XType!ToggleConfig:
    	Msgbox !Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XTypeLoopAdd:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXT:= 0
    			Gosub XTypeDelay
    			Return
    		}
    	XT+= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeLoopSubtract:
    	Gui, Submit
    	Gui, Destroy
    	A_GuiControlXT:= 0
    	Loop {
    		XT-= 1
    			If (XT = 0) {
    				XT:= 1
    				Gosub XTypeConfig4
    				Break
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    				Gosub XTypeConfig4
    				Break
    			}
    	}
    Return
    
    XTypeImageSearch:
    	GuiWidth:= 410
    	GuiHeight:= 130
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	Gui, Add, Edit, x50 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	Gui, Add, Edit, x90 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	Gui, Add, Edit, x130 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	Gui, Add, Edit, x10 y40 W110 H20 vShadeVariationXTypeHotkey%Hk%Iteration%XT%, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Edit, x10 y70 w110 h20 vImageNameXTypeHotkey%Hk%Iteration%XT%, % ImageNameXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Text, x170 y13, Left, Top, Right and Bottom Scan Coordinates
    	Gui, Add, Text, x130 y43, Scan Color Shade Variation and Optional Parameters
    	Gui, Add, Text, x130 y73, Scan Image Name
    	Gui, Add, Button, x310 y100 w90 h20 gXTypeImageSearchWrite Default, Define
    	Gui, Add, Button, x210 y100 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y100 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y100 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Image Scan
    Return
    
    XTypeImageSearchWrite:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%XtypeGetMousePosToggleIteration%XT%:= 1
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	IniWrite, % ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%
    	IniWrite, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGetMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Checkbox, % "x10 y40 h13 w13 vHKey" Hk "XTypeGetMousePosToggleIteration" XT " Checked" HKey%Hk%XTypeGetMousePosToggleIteration%XT%, Cancel Saving and get position during hotkey execution
    	Gui, Add, Button, x310 y70 w90 h20 gXTypeGetMousePosWrite Default, Define
    	Gui, Add, Button, x210 y70 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y70 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Get Mouse Position
    Return
    
    XTypeGetMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 0) {
    			MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    		}
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGoMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x200 y10 w20 h20 vHKey%Hk%XTypeGoMousePosIteration%XT%, % HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gui, Add, Text, x10 y13, Move to Mouse Position from Iteration:
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeGoMousePosWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%:Mouse Position
    Return
    
    XTypeGoMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeMouseMove:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeMouseMoveWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Mouse Position
    
    Return
    
    XTypeMouseMoveWrite:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSpell:
    	GuiWidth:= 410
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, % Type 7 - "Iteration " XT " Spell Configuration"
    	Gui, Add, Edit, x10 y40 w110 h20 vHKey%Hk%XTypeSpellIteration%XT%, % HKey%Hk%XTypeSpellIteration%XT%
    	Gui, Add, Edit, x10 y70 W70 H20 vHKey%Hk%XTypeKeyIteration%XT%, % HKey%Hk%XTypeKeyIteration%XT%
    	Gui, Add, Text, x130 y43, % "Spell - Hotkey " Hk
    	Gui, Add, Text, x90 y73, % "Key - Hotkey " Hk
    	Gui, Add, Button, x310 y110 w90 h20 gXTypeSpellWrite Default, Define
    	Gui, Add, Button, x210 y110 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y110 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Type 7 Spell Configuration
    Return
    
    XTypeSpellWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%
    	IniWrite, % HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%
    	Gosub XTypeKey
    Return
    
    XTypeKey:
    		If (HKey%Hk%XTypeKeyIteration%XT% = "Q") {
    			KeyX_%Hk%Iteration%XT%:= 1440
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "W") {
    			KeyX_%Hk%Iteration%XT%:= 1495
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "E") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "R") {
    			KeyX_%Hk%Iteration%XT%:= 1605
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "T") {
    			KeyX_%Hk%Iteration%XT%:= 1655
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "LButton") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "MButton") {
    			KeyX_%Hk%Iteration%XT%:= 1600
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "RButton") {
    			KeyX_%Hk%Iteration%XT%:= 1650
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    	IniWrite, % KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%
    	IniWrite, % KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSend:
    	GuiWidth:= 410
    	GuiHeight:= 110
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x185 y10, % "Hotkey " Hk
    	Gui, Add, Edit, x10 y40 w70 h20 vHKey%Hk%XTypeSendIteration%XT%, % HKey%Hk%XTypeSendIteration%XT%
    	Gui, Add, Text, x90 y43, % "Iteration " XT " Send"
    	Gui, Add, Button, x310 y80 w90 h20 gXTypeSendWrite Default, Define
    	Gui, Add, Button, x210 y80 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y80 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y80 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Send Config
    Return
    
    XTypeSendWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeDelayConfig:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w130 h20 vHKey%Hk%XTypeDelayIteration%XT%, % HKey%Hk%XTypeDelayIteration%XT%
    	Gui, Add, Text, x150 y13, % "Iteration " XT " Delay"
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeDelayWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % "Hotkey " Hk
    Return
    
    XTypeDelayWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGemSwap1:
    	Swap:= XGemSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeGemSwap2:
    	Swap:= XGemSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap1:
    	Swap:= XEquipSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap2:
    	Swap:= XEquipSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeSwap:
    	Gosub XTypeLCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask1%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask2%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask3%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask4%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask5%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%IterationXType%XT%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "XGemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "XEquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, Color, 0x050505
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Radio, % "x29 y511 h13 w13 vGemSwap1RadioL1C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y563 w13 h13 vGemSwap1RadioL2C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y616 w13 h13 vGemSwap1RadioL3C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y669 w13 h13 vGemSwap1RadioL4C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y721 w13 h13 vGemSwap1RadioL5C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask5%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    	Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		If (Swap = "XGemSwap2" OR Swap = "XEquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Color, 0x0C0E0B
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, Tab, 2
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    			Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    			Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    			Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		}
    		If (Swap = "XGemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XEquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XGemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap - Iteration " XT
    		If (Swap = "XEquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap - Iteration " XT
    Return
    
    XTypeLCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    		C+= 1
    			If (C > 12) {
    				C:= 1
    				L+= 1
    					If (L > 5)
    						Break
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeSwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub XTypeLCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%Iteration%XT%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1765
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1770
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1455
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1715
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1565
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1605
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1487
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1540
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1592
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1645
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1697
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2 OR Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1765
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1770
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    		}
    		If (Swap = "XGemSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeGemSwap2
    		}
    		If (Swap = "XEquipSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeEquipSwap2
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 1) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 1) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    Return
    
    XTypeLCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    			If (XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT% = 1) {
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_X:= 1240 + (C*53)
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeDelay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gXTypeRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub XTypeRecord
    Return
    
    XTypeRecord:
    	Gui, Submit
    	Gui, Destroy
    	DelayN+= 1
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		If (XTypeConfigRecord = 1) {
    			Gosub HkLoopAdd
    			Return
    		}
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXTypeConfig4:= 0
    			Gosub XTypeConfig2
    			Return
    		}
    	Gosub XTypeLoopAdd
    Return
    
    Type1:
    	HkT1:= Hk
    	XTrig:= 3
    	CooldownCount:= 0
    	CoolDown%XTrig%:= 0
    	HKeyHkT1Spell1:= HKey%HkT1%Spell1
    	HKeyHkT1Spell2:= HKey%HkT1%Spell2
    	HKeyHkT1Key:= HKey%HkT1%Key
    	HKey%HkT1%KeyToggle:= !HKey%HkT1%KeyToggle
    		If HKey%HkT1%KeyToggle {
    			While HKey%HkT1%KeyToggle {
    				ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell1 "Timer.png"
    					If (ErrorLevel = 0) {
    						CooldownCount+= 1
    						HKey%HkT1%Spell1Timer:= True
    					}
    					If ErrorLevel = 1
    						ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer2.png"
    							If (ErrorLevel = 0) {
    								CooldownCount+= 1
    								HKey%HkT1%Spell1Timer:= True
    							}
    							if ErrorLevel = 1
    								ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer3.png"
    									If (ErrorLevel = 0) {
    										CooldownCount+= 1
    										HKey%HkT1%Spell1Timer:= True
    									}
    									If ErrorLevel = 1
    										ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer4.png"
    											If (ErrorLevel = 0) {
    												CooldownCount+= 1
    												HKey%HkT1%Spell1Timer:= True
    											}
    											if ErrorLevel = 1
    												ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer5.png"
    													If (ErrorLevel = 0) {
    														CooldownCount+= 1
    														HKey%HkT1%Spell1Timer:= True
    													}
    													If ErrorLevel = 1
    														ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer6.png"
    															If (ErrorLevel = 0) {
    																CooldownCount+= 1
    																HKey%HkT1%Spell1Timer:= True
    															}
    															if ErrorLevel = 1
    																ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer7.png"
    																	If (ErrorLevel = 0) {
    																		CooldownCount+= 1
    																		HKey%HkT1%Spell1Timer:= True
    																	}
    																	If ErrorLevel = 1
    																		ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer8.png"
    																			If (ErrorLevel = 0) {
    																				CooldownCount+= 1
    																				HKey%HkT1%Spell1Timer:= True
    																			}
    																				if ErrorLevel = 1
    																					HKey%HkT1%Spell1Timer:= False
    					If (HKey%HkT1%Spell1timer = False) {
    						If CooldownCount >= 1
    							Sleep, % T1Cooldown%HK%
    						ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%HkT1%Spell1 "-" HKey%HkT1%Key ".png"
    							If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    							}
    							If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    								MouseGetPos, Xpos, Ypos
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, 40
    								MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, %MouseDelay%
    								MouseMove, %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, 40
    								MouseClick, , %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, Xpos, Ypos
    								Sleep, %FrameTime%
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    				While HKey%HkT1%KeyToggle {
    						If (XTriggeredCount%HkT1% = 0)
    							Break
    						If (TriggerToggle%XTrig%_%HkT1% = 1) {
    							ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell%XTrig% "Timer.png"
    								If (ErrorLevel = 0) {
    									CoolDown%XTrig%+= 1
    									HKey%HkT1%Spell%XTrig%Timer:= True
    								}
    								If ErrorLevel = 1
    									ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer2.png"
    										If (ErrorLevel = 0) {
    											CoolDown%XTrig%+= 1
    											HKey%HkT1%Spell%XTrig%Timer:= True
    										}
    										If ErrorLevel = 1
    											ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer3.png"
    												If (ErrorLevel = 0) {
    													CoolDown%XTrig%+= 1
    													HKey%HkT1%Spell%XTrig%Timer:= True
    												}
    												If ErrorLevel = 1
    													ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer4.png"
    														If (ErrorLevel = 0) {
    															CoolDown%XTrig%+= 1
    															HKey%HkT1%Spell%XTrig%Timer:= True
    														}
    														If ErrorLevel = 1
    															ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer5.png"
    																If (ErrorLevel = 0) {
    																	CoolDown%XTrig%+= 1
    																	HKey%HkT1%Spell%XTrig%Timer:= True
    																}
    																If ErrorLevel = 1
    																	ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer6.png"
    																		If (ErrorLevel = 0) {
    																			CoolDown%XTrig%+= 1
    																			HKey%HkT1%Spell%XTrig%Timer:= True
    																		}
    																		If ErrorLevel = 1
    																			ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer7.png"
    																				If (ErrorLevel = 0) {
    																					CoolDown%XTrig%+= 1
    																					HKey%HkT1%Spell%XTrig%Timer:= True
    																				}
    																				If ErrorLevel = 1
    																					ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer8.png"
    																						If (ErrorLevel = 0) {
    																							CoolDown%XTrig%+= 1
    																							HKey%HkT1%Spell%XTrig%Timer:= True
    																						}
    																						if ErrorLevel = 1
    																							HKey%HkT1%Spell%XTrig%Timer:= False
    								If (HKey%HkT1%Spell%XTrig%timer = False) {
    									Sleep, % HKey%Hk%T1Cooldown%TrigN%
    									ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%hKT1%Spell%XTrig% "-" HKey%HkT1%Key ".png"
    										If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    										}
    										If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    											HKeyHkT1SpellXTrig:= HKey%HkT1%Spell%XTrig%
    											MouseGetPos, Xpos, Ypos
    											BlockInput, MouseMove
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, 40
    											MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, %MouseDelay%
    											MouseMove, %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, 40
    											MouseClick, , %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, %MouseDelay%
    											MouseMove, Xpos, Ypos
    											Sleep, %FrameTime%
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    											BlockInput, MouseMoveOff
    										}
    								}
    						}
    						If (A_Index = XTriggeredCount%HkT1%) {
    							XTrig:= 3
    							Break
    						}
    				}
    					Xtrig+= 1
    				Sleep, % ScanDelay%HkT1%
    			}
    		CooldownCount:= 0
    		CoolDown%XTrig%:= 0
    		Return
    		}
    		If !HKey%HkT1%KeyToggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type2:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, 40
    	MouseClick, ,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, %MouseDelay%
    		If (Type2MoveToggleHotkey%Hk% = 1) {
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    		}
    	SendInput, {%HKeyHkKey%}
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, 40
    	MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, %MouseDelay%
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState2, LButton, P
    		If LButtonState2 = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type3:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	HKey%Hk%Keytoggle:= !HKey%Hk%Keytoggle
    		If HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast1ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    		If !HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast2ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type4:
    	HKeyHkSpell1T4:= HKey%Hk%Spell1T4
    	HKeyHkKey:= HKey%Hk%Key
    	ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%Hk%Spell1T4 "-" Hkey%Hk%Key ".png"
    		If ErrorLevel = 0
    			SendInput, {%HKeyHkKey%}
    		If (ErrorLevel = 1) {
    			BlockInput, MouseMove
    			MouseGetPos, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, 40
    			MouseClick, ,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    			SendInput, {%HKeyHkKey%}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		}
    Return
    
    Type5:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Right, GemSwap1X%Hk%, GemSwap1Y%Hk%
    		If (GemSwapTab_%Hk% = 1) {
    			MouseMove, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (GemSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap1AltX%Hk%, GemSwap1AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	GetKeyState, LButtonState, LButton, P
    	MouseMove, Xpos, Ypos
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type6:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    		If (EquipSwapTab_%Hk% = 1) {
    			MouseMove, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (EquipSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type7:
    	XT:= 1
    	MouseGetPos, Xpos, Ypos
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						XtypeHotkey%Hk%Toggle:= !XtypeHotkey%Hk%Toggle
    							If (XtypeHotkey%Hk%Toggle) {
    								XT+= 1
    							}
    							If (!XtypeHotkey%Hk%Toggle) {
    								Loop, % Hkey%Hk%Iterations {
    									XT+= 1
    										If (Hkey%Hk%Iteration%XT% = "!Toggle")
    											Break
    								}
    								XT+= 1
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan")
    						Gosub SpellScan
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						;BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, A_ScreenWidth, A_ScreenHeight
    							Loop {
    								ImageSearch, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % "*" ShadeVariationXTypeHotkey%Hk%Iteration%XT% " " ImageNameXTypeHotkey%Hk%Iteration%XT% ".png"
    									If (ErrorLevel = 2) {
    										MsgBox % "Search Failed for image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    										break
    									}
    									If (ErrorLevel = 1) {
    										MsgBox % "Search could not find image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    										break
    									}
    									If (ErrorLevel = 0) {
    										ToolTip, % HKey%Hk%XTypeMouseXPosIteration%XT% ", " HKey%Hk%XTypeMouseYPosIteration%XT%
    										SetTimer, RemoveToolTip, 500
    										break
    									}
    							}
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						;BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    					HKeyHkXTypeSpellIterationXT:= HKey%Hk%XTypeSpellIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseClick, ,  KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseMove, %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, 40
    						MouseClick, , %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, %MouseDelay%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						HKeyHkXTypeSendIterationXT:= HKey%Hk%XTypeSendIteration%XT%
    						SendInput, {%HKeyHkXTypeSendIterationXT%}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    							If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 1) {
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						MouseXT:= HKey%Hk%XTypeGoMousePosIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%MouseXT%, HKey%Hk%XTypeMouseXPosIteration%MouseXT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Sleep, % HKey%Hk%XTypeDelayIteration%XT%
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, Right, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeGemSwapTab_%Hk% = 1) {
    								MouseMove, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeGemSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeEquipSwapTab_%Hk% = 1) {
    								MouseMove, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeEquipSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle" OR XT = Hkey%Hk%Iterations) {
    						Break
    						return
    					}
    			}
    		XT+= 1
    	}
    	MouseMove, Xpos, Ypos
    Return
    
    Hotkey1:
    	Hk:= 1
    	Gosub HotkeyRouting
    Return
    
    Hotkey2:
    	Hk:= 2
    	Gosub HotkeyRouting
    Return
    
    Hotkey3:
    	Hk:= 3
    	Gosub HotkeyRouting
    Return
    
    Hotkey4:
    	Hk:= 4
    	Gosub HotkeyRouting
    Return
    
    Hotkey5:
    	Hk:= 5
    	Gosub HotkeyRouting
    Return
    
    Hotkey6:
    	Hk:= 6
    	Gosub HotkeyRouting
    Return
    
    Hotkey7:
    	Hk:= 7
    	Gosub HotkeyRouting
    Return
    
    Hotkey8:
    	Hk:= 8
    	Gosub HotkeyRouting
    Return
    
    Hotkey9:
    	Hk:= 9
    	Gosub HotkeyRouting
    Return
    
    Hotkey10:
    	Hk:= 10
    	Gosub HotkeyRouting
    Return
    
    Hotkey11:
    	Hk:= 11
    	Gosub HotkeyRouting
    Return
    
    Hotkey12:
    	Hk:= 12
    	Gosub HotkeyRouting
    Return
    
    Hotkey13:
    	Hk:= 13
    	Gosub HotkeyRouting
    Return
    
    Hotkey14:
    	Hk:= 14
    	Gosub HotkeyRouting
    Return
    
    Hotkey15:
    	Hk:= 15
    	Gosub HotkeyRouting
    Return
    
    Hotkey16:
    	Hk:= 16
    	Gosub HotkeyRouting
    Return
    
    Hotkey17:
    	Hk:= 17
    	Gosub HotkeyRouting
    Return
    
    Hotkey18:
    	Hk:= 18
    	Gosub HotkeyRouting
    Return
    
    Hotkey19:
    	Hk:= 19
    	Gosub HotkeyRouting
    Return
    
    Hotkey20:
    	Hk:= 20
    	Gosub HotkeyRouting
    Return
    
    Hotkey21:
    	Hk:= 21
    	Gosub HotkeyRouting
    Return
    
    Hotkey22:
    	Hk:= 22
    	Gosub HotkeyRouting
    Return
    
    Hotkey23:
    	Hk:= 23
    	Gosub HotkeyRouting
    Return
    
    Hotkey24:
    	Hk:= 24
    	Gosub HotkeyRouting
    Return
    
    Hotkey25:
    	Hk:= 25
    	Gosub HotkeyRouting
    Return
    
    Hotkey26:
    	Hk:= 26
    	Gosub HotkeyRouting
    Return
    
    Hotkey27:
    	Hk:= 27
    	Gosub HotkeyRouting
    Return
    
    Hotkey28:
    	Hk:= 28
    	Gosub HotkeyRouting
    Return
    
    Hotkey29:
    	Hk:= 29
    	Gosub HotkeyRouting
    Return
    
    Hotkey30:
    	Hk:= 30
    	Gosub HotkeyRouting
    Return
    
    Hotkey31:
    	Hk:= 31
    	Gosub HotkeyRouting
    Return
    
    Hotkey32:
    	Hk:= 32
    	Gosub HotkeyRouting
    Return
    
    Hotkey33:
    	Hk:= 33
    	Gosub HotkeyRouting
    Return
    
    Hotkey34:
    	Hk:= 34
    	Gosub HotkeyRouting
    Return
    
    Hotkey35:
    	Hk:= 35
    	Gosub HotkeyRouting
    Return
    
    Hotkey36:
    	Hk:= 36
    	Gosub HotkeyRouting
    Return
    
    Hotkey37:
    	Hk:= 37
    	Gosub HotkeyRouting
    Return
    
    Hotkey38:
    	Hk:= 38
    	Gosub HotkeyRouting
    Return
    
    Hotkey39:
    	Hk:= 39
    	Gosub HotkeyRouting
    Return
    
    Hotkey40:
    	Hk:= 40
    	Gosub HotkeyRouting
    Return
    
    Hotkey41:
    	Hk:= 41
    	Gosub HotkeyRouting
    Return
    
    Hotkey42:
    	Hk:= 42
    	Gosub HotkeyRouting
    Return
    
    Hotkey43:
    	Hk:= 43
    	Gosub HotkeyRouting
    Return
    
    Hotkey44:
    	Hk:= 44
    	Gosub HotkeyRouting
    Return
    
    Hotkey45:
    	Hk:= 45
    	Gosub HotkeyRouting
    Return
    
    Hotkey46:
    	Hk:= 46
    	Gosub HotkeyRouting
    Return
    
    Hotkey47:
    	Hk:= 47
    	Gosub HotkeyRouting
    Return
    
    Hotkey48:
    	Hk:= 48
    	Gosub HotkeyRouting
    Return
    
    Hotkey49:
    	Hk:= 49
    	Gosub HotkeyRouting
    Return
    
    Hotkey50:
    	Hk:= 50
    	Gosub HotkeyRouting
    Return
    
    Hotkey51:
    	Hk:= 51
    	Gosub HotkeyRouting
    Return
    
    Hotkey52:
    	Hk:= 52
    	Gosub HotkeyRouting
    Return
    
    Hotkey53:
    	Hk:= 53
    	Gosub HotkeyRouting
    Return
    
    Hotkey54:
    	Hk:= 54
    	Gosub HotkeyRouting
    Return
    
    Hotkey55:
    	Hk:= 55
    	Gosub HotkeyRouting
    Return
    
    Hotkey56:
    	Hk:= 56
    	Gosub HotkeyRouting
    Return
    
    Hotkey57:
    	Hk:= 57
    	Gosub HotkeyRouting
    Return
    
    Hotkey58:
    	Hk:= 58
    	Gosub HotkeyRouting
    Return
    
    Hotkey59:
    	Hk:= 59
    	Gosub HotkeyRouting
    Return
    
    Hotkey60:
    	Hk:= 60
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey70:
    	Hk:= 70
    	Gosub HotkeyRouting
    Return
    
    Hotkey71:
    	Hk:= 71
    	Gosub HotkeyRouting
    Return
    
    Hotkey72:
    	Hk:= 72
    	Gosub HotkeyRouting
    Return
    
    Hotkey73:
    	Hk:= 73
    	Gosub HotkeyRouting
    Return
    
    Hotkey74:
    	Hk:= 74
    	Gosub HotkeyRouting
    Return
    
    Hotkey75:
    	Hk:= 75
    	Gosub HotkeyRouting
    Return
    
    Hotkey76:
    	Hk:= 76
    	Gosub HotkeyRouting
    Return
    
    Hotkey77:
    	Hk:= 77
    	Gosub HotkeyRouting
    Return
    
    Hotkey78:
    	Hk:= 78
    	Gosub HotkeyRouting
    Return
    
    Hotkey79:
    	Hk:= 79
    	Gosub HotkeyRouting
    Return
    
    Hotkey80:
    	Hk:= 80
    	Gosub HotkeyRouting
    Return
    
    Hotkey81:
    	Hk:= 81
    	Gosub HotkeyRouting
    Return
    
    Hotkey82:
    	Hk:= 82
    	Gosub HotkeyRouting
    Return
    
    Hotkey83:
    	Hk:= 83
    	Gosub HotkeyRouting
    Return
    
    Hotkey84:
    	Hk:= 84
    	Gosub HotkeyRouting
    Return
    
    Hotkey85:
    	Hk:= 85
    	Gosub HotkeyRouting
    Return
    
    Hotkey86:
    	Hk:= 86
    	Gosub HotkeyRouting
    Return
    
    Hotkey87:
    	Hk:= 87
    	Gosub HotkeyRouting
    Return
    
    Hotkey88:
    	Hk:= 88
    	Gosub HotkeyRouting
    Return
    
    Hotkey89:
    	Hk:= 89
    	Gosub HotkeyRouting
    Return
    
    Hotkey90:
    	Hk:= 90
    	Gosub HotkeyRouting
    Return
    
    Hotkey91:
    	Hk:= 91
    	Gosub HotkeyRouting
    Return
    
    Hotkey92:
    	Hk:= 92
    	Gosub HotkeyRouting
    Return
    
    Hotkey93:
    	Hk:= 93
    	Gosub HotkeyRouting
    Return
    
    Hotkey94:
    	Hk:= 94
    	Gosub HotkeyRouting
    Return
    
    Hotkey95:
    	Hk:= 95
    	Gosub HotkeyRouting
    Return
    
    Hotkey96:
    	Hk:= 96
    	Gosub HotkeyRouting
    Return
    
    Hotkey97:
    	Hk:= 97
    	Gosub HotkeyRouting
    Return
    
    Hotkey98:
    	Hk:= 98
    	Gosub HotkeyRouting
    Return
    
    Hotkey99:
    	Hk:= 99
    	Gosub HotkeyRouting
    Return
    
    Hotkey100:
    	Hk:= 100
    	Gosub HotkeyRouting
    Return
    
    Hotkey101:
    	Hk:= 101
    	Gosub HotkeyRouting
    Return
    
    Hotkey102:
    	Hk:= 102
    	Gosub HotkeyRouting
    Return
    
    Hotkey103:
    	Hk:= 103
    	Gosub HotkeyRouting
    Return
    
    Hotkey104:
    	Hk:= 104
    	Gosub HotkeyRouting
    Return
    
    Hotkey105:
    	Hk:= 105
    	Gosub HotkeyRouting
    Return
    
    Hotkey106:
    	Hk:= 106
    	Gosub HotkeyRouting
    Return
    
    Hotkey107:
    	Hk:= 107
    	Gosub HotkeyRouting
    Return
    
    Hotkey108:
    	Hk:= 108
    	Gosub HotkeyRouting
    Return
    
    Hotkey109:
    	Hk:= 109
    	Gosub HotkeyRouting
    Return
    
    Hotkey110:
    	Hk:= 110
    	Gosub HotkeyRouting
    Return
    
    Hotkey111:
    	Hk:= 111
    	Gosub HotkeyRouting
    Return
    
    Hotkey112:
    	Hk:= 112
    	Gosub HotkeyRouting
    Return
    
    Hotkey113:
    	Hk:= 113
    	Gosub HotkeyRouting
    Return
    
    Hotkey114:
    	Hk:= 114
    	Gosub HotkeyRouting
    Return
    
    Hotkey115:
    	Hk:= 115
    	Gosub HotkeyRouting
    Return
    
    Hotkey116:
    	Hk:= 116
    	Gosub HotkeyRouting
    Return
    
    Hotkey117:
    	Hk:= 117
    	Gosub HotkeyRouting
    Return
    
    Hotkey118:
    	Hk:= 118
    	Gosub HotkeyRouting
    Return
    
    Hotkey119:
    	Hk:= 119
    	Gosub HotkeyRouting
    Return
    
    Hotkey120:
    	Hk:= 120
    	Gosub HotkeyRouting
    Return
    
    Hotkey121:
    	Hk:= 121
    	Gosub HotkeyRouting
    Return
    
    Hotkey122:
    	Hk:= 122
    	Gosub HotkeyRouting
    Return
    
    Hotkey123:
    	Hk:= 123
    	Gosub HotkeyRouting
    Return
    
    Hotkey124:
    	Hk:= 124
    	Gosub HotkeyRouting
    Return
    
    Hotkey125:
    	Hk:= 125
    	Gosub HotkeyRouting
    Return
    
    Hotkey126:
    	Hk:= 126
    	Gosub HotkeyRouting
    Return
    
    Hotkey127:
    	Hk:= 127
    	Gosub HotkeyRouting
    Return
    
    Hotkey128:
    	Hk:= 128
    	Gosub HotkeyRouting
    Return
    
    Hotkey129:
    	Hk:= 129
    	Gosub HotkeyRouting
    Return
    
    Hotkey130:
    	Hk:= 130
    	Gosub HotkeyRouting
    Return
    
    Hotkey131:
    	Hk:= 131
    	Gosub HotkeyRouting
    Return
    
    Hotkey132:
    	Hk:= 132
    	Gosub HotkeyRouting
    Return
    
    Hotkey133:
    	Hk:= 133
    	Gosub HotkeyRouting
    Return
    
    Hotkey134:
    	Hk:= 134
    	Gosub HotkeyRouting
    Return
    
    Hotkey135:
    	Hk:= 135
    	Gosub HotkeyRouting
    Return
    
    Hotkey136:
    	Hk:= 136
    	Gosub HotkeyRouting
    Return
    
    Hotkey137:
    	Hk:= 137
    	Gosub HotkeyRouting
    Return
    
    Hotkey138:
    	Hk:= 138
    	Gosub HotkeyRouting
    Return
    
    Hotkey139:
    	Hk:= 139
    	Gosub HotkeyRouting
    Return
    
    Hotkey140:
    	Hk:= 140
    	Gosub HotkeyRouting
    Return
    
    Hotkey141:
    	Hk:= 141
    	Gosub HotkeyRouting
    Return
    
    Hotkey142:
    	Hk:= 142
    	Gosub HotkeyRouting
    Return
    
    Hotkey143:
    	Hk:= 143
    	Gosub HotkeyRouting
    Return
    
    Hotkey144:
    	Hk:= 144
    	Gosub HotkeyRouting
    Return
    
    Hotkey145:
    	Hk:= 145
    	Gosub HotkeyRouting
    Return
    
    Hotkey146:
    	Hk:= 146
    	Gosub HotkeyRouting
    Return
    
    Hotkey147:
    	Hk:= 147
    	Gosub HotkeyRouting
    Return
    
    Hotkey148:
    	Hk:= 148
    	Gosub HotkeyRouting
    Return
    
    Hotkey149:
    	Hk:= 149
    	Gosub HotkeyRouting
    Return
    
    Hotkey150:
    	Hk:= 150
    	Gosub HotkeyRouting
    Return
    
    Hotkey151:
    	Hk:= 151
    	Gosub HotkeyRouting
    Return
    
    Hotkey152:
    	Hk:= 152
    	Gosub HotkeyRouting
    Return
    
    Hotkey153:
    	Hk:= 153
    	Gosub HotkeyRouting
    Return
    
    Hotkey154:
    	Hk:= 154
    	Gosub HotkeyRouting
    Return
    
    Hotkey155:
    	Hk:= 155
    	Gosub HotkeyRouting
    Return
    
    Hotkey156:
    	Hk:= 156
    	Gosub HotkeyRouting
    Return
    
    Hotkey157:
    	Hk:= 157
    	Gosub HotkeyRouting
    Return
    
    Hotkey158:
    	Hk:= 158
    	Gosub HotkeyRouting
    Return
    
    Hotkey159:
    	Hk:= 159
    	Gosub HotkeyRouting
    Return
    
    Hotkey160:
    	Hk:= 160
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey170:
    	Hk:= 170
    	Gosub HotkeyRouting
    Return
    
    Hotkey171:
    	Hk:= 171
    	Gosub HotkeyRouting
    Return
    
    Hotkey172:
    	Hk:= 172
    	Gosub HotkeyRouting
    Return
    
    Hotkey173:
    	Hk:= 173
    	Gosub HotkeyRouting
    Return
    
    Hotkey174:
    	Hk:= 174
    	Gosub HotkeyRouting
    Return
    
    Hotkey175:
    	Hk:= 175
    	Gosub HotkeyRouting
    Return
    
    Hotkey176:
    	Hk:= 176
    	Gosub HotkeyRouting
    Return
    
    Hotkey177:
    	Hk:= 177
    	Gosub HotkeyRouting
    Return
    
    Hotkey178:
    	Hk:= 178
    	Gosub HotkeyRouting
    Return
    
    Hotkey179:
    	Hk:= 179
    	Gosub HotkeyRouting
    Return
    
    Hotkey180:
    	Hk:= 180
    	Gosub HotkeyRouting
    Return
    
    Hotkey181:
    	Hk:= 181
    	Gosub HotkeyRouting
    Return
    
    Hotkey182:
    	Hk:= 182
    	Gosub HotkeyRouting
    Return
    
    Hotkey183:
    	Hk:= 183
    	Gosub HotkeyRouting
    Return
    
    Hotkey184:
    	Hk:= 184
    	Gosub HotkeyRouting
    Return
    
    Hotkey185:
    	Hk:= 185
    	Gosub HotkeyRouting
    Return
    
    Hotkey186:
    	Hk:= 186
    	Gosub HotkeyRouting
    Return
    
    Hotkey187:
    	Hk:= 187
    	Gosub HotkeyRouting
    Return
    
    Hotkey188:
    	Hk:= 188
    	Gosub HotkeyRouting
    Return
    
    Hotkey189:
    	Hk:= 189
    	Gosub HotkeyRouting
    Return
    
    Hotkey190:
    	Hk:= 190
    	Gosub HotkeyRouting
    Return
    
    Hotkey191:
    	Hk:= 191
    	Gosub HotkeyRouting
    Return
    
    Hotkey192:
    	Hk:= 192
    	Gosub HotkeyRouting
    Return
    
    Hotkey193:
    	Hk:= 193
    	Gosub HotkeyRouting
    Return
    
    Hotkey194:
    	Hk:= 194
    	Gosub HotkeyRouting
    Return
    
    Hotkey195:
    	Hk:= 195
    	Gosub HotkeyRouting
    Return
    
    Hotkey196:
    	Hk:= 196
    	Gosub HotkeyRouting
    Return
    
    Hotkey197:
    	Hk:= 197
    	Gosub HotkeyRouting
    Return
    
    Hotkey198:
    	Hk:= 198
    	Gosub HotkeyRouting
    Return
    
    Hotkey199:
    	Hk:= 199
    	Gosub HotkeyRouting
    Return
    
    Hotkey200:
    	Hk:= 200
    	Gosub HotkeyRouting
    Return
    
    HotkeyRouting:
    		If (Hkey%Hk%Type1 = 1) {
    			Gosub Type1
    		Return
    		}
    		If (Hkey%Hk%Type2 = 1) {
    			Gosub Type2
    		Return
    		}
    		If (Hkey%Hk%Type3 = 1) {
    			Gosub Type3
    		Return
    		}
    		If (Hkey%Hk%Type4 = 1) {
    			Gosub Type4
    		Return
    		}
    		If (Hkey%Hk%Type5 = 1) {
    			Gosub Type5
    		Return
    		}
    		If (Hkey%Hk%Type6 = 1) {
    			Gosub Type6
    		Return
    		}
    		If (Hkey%Hk%Type7 = 1) {
    			Gosub Type7
    		Return
    		}
    Return
    
    Cancel:
    	Reload
    Return

  8. #7
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Fixed a typo
    Code:
    #SingleInstance, force
    ToolTip, Loading
    SetTitleMatchMode, 3
    ;#IfWinActive Path of Exile
    #MaxThreadsperHotkey  2
    CoordMode, Mouse
    WinGetPos, X, Y, WinW, WinH, Path of Exile
    SetBatchLines, -1
    SetDefaultMouseSpeed, 0
    SetKeyDelay, 20, 20
    SetMouseDelay, 20
    SetWorkingDir A_ScriptDir
    Winset, Transparent, 0
    FileGetSize, Size, C:\Program Files (x86)\Grinding Gear Games\Path of Exile\Content.ggpk
    N:= 1
    Hk:= 1
    DelayN:= 1
    	If(FileExist("UnrapeKitConfig.ini")) {
    		IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount, %A_Space%
    		IniRead, HotkeyLimit, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit, %A_Space%
    		IniRead, Delay, UnrapeKitConfig.ini, Delay, Delay, %A_Space%
    		IniRead, FrameTime, UnrapeKitConfig.ini, Delay, FrameTime, %A_Space%
    		IniRead, KeyDelay1, UnrapeKitConfig.ini, Delay, KeyDelay1, %A_Space%
    		IniRead, KeyDelayPress, UnrapeKitConfig.ini, Delay, KeyDelayPress, %A_Space%
    		IniRead, MouseDelay, UnrapeKitConfig.ini, Delay, MouseDelay, %A_Space%
    			SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    			SetMouseDelay, %MouseDelay%
    		IniRead, HotkeyConfig, UnrapeKitConfig.ini, Configuration, HotkeyConfig, %A_Space%
    		IniRead, ScanConfig, UnrapeKitConfig.ini, Configuration, ScanConfig, %A_Space%
    		IniRead, SpellScan, UnrapeKitConfig.ini, Configuration, SpellScan, %A_Space%
    		IniRead, ScreenCapture, UnrapeKitConfig.ini, Configuration, ScreenCapture, %A_Space%
    		IniRead, DelayConfig, UnrapeKitConfig.ini, Configuration, DelayConfig, %A_Space%
    		IniRead, CaptureName, UnrapeKitConfig.ini, Configuration, CaptureName, %A_Space%
    		Hotkey, %HotkeyConfig%, HotkeyConfig
    		Hotkey, %ScanConfig%, ScanConfig
    		Hotkey, %SpellScan%, SpellScan
    		Hotkey, %ScreenCapture%, ScreenCapture1
    		Hotkey, %DelayConfig%, DelayConfig
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%, %A_Space%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%, %A_Space%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%, %A_Space%
    			NameN:= % Name%N%
    			IconToggleN:= % IconToggle%N%
    			LineN:= % Line%N%
    			CaptureName%N%:= % Name%N% "" Line%N%
    			IniRead, %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X, %A_Space%
    			IniRead, %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y, %A_Space%
    			N+= 1
    		}
    		Loop, %HotKeyLimit% {
    			IniRead, Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, Hkey%Hk%Toggle, %A_Space%
    			IniRead, Hkey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type1, %A_Space%
    			IniRead, Hkey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type2, %A_Space%
    			IniRead, Hkey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type3, %A_Space%
    			IniRead, Hkey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type4, %A_Space%
    			IniRead, Hkey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type5, %A_Space%
    			IniRead, Hkey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type6, %A_Space%
    			IniRead, Hkey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type7, %A_Space%
    			IniRead, Hkey%Hk%Type8, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type8, %A_Space%
    			IniRead, Hkey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, Hkey%Hk%Key, %A_Space%
    			IniRead, KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%, %A_Space%
    			IniRead, KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%, %A_Space%
    			IniRead, Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut, %A_Space%
    				If Hkey%Hk%Toggle = 1
    					Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    				If (Hkey%Hk%Type1 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					TrigN:= 3
    					IniRead, XTriggeredCount%Hk%, UnrapeKitConfig.ini, XTriggeredCount, XTriggeredCount%Hk%, %A_Space%
    					IniRead, ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%, %A_Space%
    					IniRead, T1Cooldown%Hk%, UnrapeKitConfig.ini, Delay, T1Cooldown%Hk%, %A_Space%
    					Loop, % XTriggeredCount%Hk% {
    						IniRead, TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%, %A_Space%
    						IniRead, Hkey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, Hkey%Hk%Spell%TrigN%, %A_Space%
    						Iniread, HKey%Hk%T1Cooldown%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%T1Cooldown%TrigN%, %A_Space%
    						TrigN+= 1
    					}
    				}
    				If (Hkey%Hk%Type2 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type3 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%, %A_Space%
    					IniRead, Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type4 = 1)
    					IniRead, Hkey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1T4, %A_Space%
    				If (Hkey%Hk%Type5 = 1) {
    					IniRead, GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    					IniRead, GemSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type6 = 1) {
    					IniRead, EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type7 = 1) {
    					IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations, %A_Space%
    					IniRead, XTypeGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeGemSwapTab_%Hk%, %A_Space%
    					IniRead, XTypeEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeEquipSwapTab_%Hk%, %A_Space%
    					XT:= 1
    					Loop, % Hkey%Hk%Iterations {
    						IniRead, HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XTypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, %A_Space%		
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, %A_Space%
    						IniRead, ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%, %A_Space%
    						IniRead, KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%, %A_Space%
    						XT+= 1
    					}
    				}
    			Hk+= 1
    		}
    	}
    ToolTip, Load Complete
    SetTimer, RemoveToolTip, -500
    return
    
    RemoveToolTip:
    	ToolTip
    return
    
    RCtrl & F10:: Reload
    RCtrl & F11:: Pause
    RCtrl & F12:: ExitApp
    
    RCtrl & F9::
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 270
    	GuiHeight:= 230
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Configuration Hotkeys:
    	Gui, Add, Edit, X10 Y40 H21 W140 vHotkeyConfig, %HotkeyConfig%
    	Gui, Add, Edit, X10 Y70 H21 W140 vScanConfig, %ScanConfig%
    	Gui, Add, Edit, X10 Y100 H21 W140 vSpellScan, %SpellScan%
    	Gui, Add, Edit, X10 Y130 H21 W140 vScreenCapture, %ScreenCapture%
    	Gui, Add, Edit, X10 Y160 H21 W140 vDelayConfig, %DelayConfig%
    	Gui, Add, Text, X160 Y43, Hotkey Configuration
    	Gui, Add, Text, X160 Y73, Scan Configuration
    	Gui, Add, Text, X160 Y103, Spell Scan
    	Gui, Add, Text, X160 Y133, Screen Capture
    	Gui, Add, Text, X160 Y163, Delay Configuration
    	Gui, Add, Button, x70 y200 w90 h20 gSetupConfig Default, Ok
    	Gui, Add, Button, x170 y200 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Configuration
    Return
    
    SetupConfig:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	IniWrite, %HotkeyConfig%, UnrapeKitConfig.ini, Configuration, HotkeyConfig
    	IniWrite, %ScanConfig%, UnrapeKitConfig.ini, Configuration, ScanConfig
    	IniWrite, %SpellScan%, UnrapeKitConfig.ini, Configuration, SpellScan
    	IniWrite, %ScreenCapture%, UnrapeKitConfig.ini, Configuration, ScreenCapture
    	IniWrite, %DelayConfig%, UnrapeKitConfig.ini, Configuration, DelayConfig
    	Hotkey, %HotkeyConfig%, HotkeyConfig
    	Hotkey, %ScanConfig%, ScanConfig
    	Hotkey, %SpellScan%, SpellScan
    	Hotkey, %ScreenCapture%, ScreenCapture1
    	Hotkey, %DelayConfig%, DelayConfig
    	Reload
    Return
    
    ScreenCapture1:
    	MouseGetPos, Xpos, Ypos
    	ImageRepeat:= 0
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↑←
    	Gui, Add, Button, gScreenCapture2 Default, Ok
    	Gui, Show, , Capture 1
    Return
    
    ScreenCapture2:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, CaptureX1, CaptureY1
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↓→
    	Gui, Add, Button,  gScreenCapture3 Default, Ok
    	Gui, Show, , Capture 2
    Return
    
    ScreenCapture3:
    	Gui, Submit
    	Gui, Destroy
    	IniRead, TempName, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniRead, TempLine, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	N:= ScanCount + 1
    	MouseGetPos, CaptureX2, CaptureY2
    	GuiWidth:= 210
    	GuiHeight:= 100
    	GuiX:= GuiWidth + 10
    	GuiY:=  GuiHeight + 30
    	Move_X:= Xpos - GuiX
    	Move_Y:= Ypos - GuiY
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text,x10 y10, Capture Name                               Line
    	Gui, Add, Edit, x10 y40 w150 h20 vTempName, %TempName%
    	Gui, Add, Edit, x+10 w20 h20 vTempLine, %TempLine%
    	Gui, Add, Button, x10 y70 w90 h20 gCaptureSave Default, Ok
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,Capture Configuration
    Return
    
    CaptureSave:
    	Gui, Submit
    	Gui, Destroy
    	Run C:\Windows\system32\SnippingTool.exe
    	IniWrite, %TempName%, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniWrite, %TempLine%, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	CaptureName:= % TempName "" TempLine
    	SetMouseDelay, 40
    	SetKeyDelay, 40, 40
    	WinWait, Snipping Tool
    	MouseClickDrag, L, CaptureX1, CaptureY1, CaptureX2, CaptureY2, 1
    	WinWaitActive, Snipping Tool
    	SendInput ^s
    	WinWait, Save As
    	SendInput %CaptureName%.png
    	SendInput !d
    	SendInput %A_ScriptDir%
    	SendInput !s
    	WinWait, Confirm Save As, , 0.001
    		{
    		SendInput !y
    		ImageRepeat:= 1
    		}
    	WinWaitActive, Snipping Tool
    	SendInput !fx
    		If (CaptureX1 >= 1410 AND CaptureX2 <= 1605 AND CaptureY1 >= 410 AND CaptureY2 <= 925) {
    			CaptureX1 -= 5
    			CaptureY1 -= 5
    			CaptureX2 += 5
    			CaptureY2 += 5
    			Loop, 20 {
    				ImageSearch, %TempName%X, %TempName%Y, CaptureX1, CaptureY1, CaptureX2, CaptureY2, *10 %CaptureName%.png
    					If(ErrorLevel = 2 AND A_Index = 20)
    						MsgBox Could Not perform scan
    					If(ErrorLevel = 1 AND A_Index = 20)
    						MsgBox Could Not Find Scan %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						Send, {Click}
    							If (ImageRepeat = 1) {
    								Loop {
    										If (CaptureName = CaptureName%A_Index%) {
    											N:= A_Index
    											break
    										}
    								}
    							} Else {
    								ScanCount+= 1
    								N:= ScanCount
    							}
    						Name%N%:= TempName
    						Line%N%:= TempLine
    						IconToggle%N%:= 1
    						IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    						IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    						IniWrite, % %TempName%X, UnrapeKitConfig.ini, SpellCoordinates, %TempName%X
    						IniWrite, % %TempName%Y, UnrapeKitConfig.ini, SpellCoordinates, %TempName%Y
    						IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    						IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    						Break
    					}
    			Sleep, 10
    			}
    		}
    	SetMouseDelay, %MouseDelay%
    	SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    	Reload
    Return
    	
    ScanConfig:
    	IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y5 w200 h26, Icons Count:
    	Gui, Add, Text, x10 y33 w120 h26, Scans:
    	Gui, Add, Edit, x145 y30 w30 h21 vScanCount, %ScanCount%
    	Gui, Add, Button, x10 y70 w90 h20 gScanDefinitions Default, Definitions
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Scan Count
    Return
    
    ScanDefinitions:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	N:= 1
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    			NameN:= % Name%N%
    			LineN:= % Line%N%
    			N+= 1
    		}
    	N:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	MouseGetPos, Xpos, Ypos
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Toggle`, SpellName`, Line# (Bottom to Top)
    	Loop, %ScanCount% {
    		GuiY:= 50 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 95
    			If (GuiY > ScreenHeight) {
    					W+= 1
    					HMax:= H
    					H= 1
    			}
    		Y1:= 18 + 30 * H
    		Y2:= 15 + 30 * H
    		GuiWidth:= 240 * W
    			If (W = 1) {
    				GuiHeight:= 105 + 30 * H
    				AddHeight:= 48 + 30 * H
    				AddButtonHeight:= 45 + 30 * H
    				ButtonHeight:= 75 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 105 + 30 * HMax
    				AddHeight:= 48 + 30 * HMax
    				AddButtonHeight:= 45 + 30 * HMax
    				ButtonHeight:= 75 + 30 * HMax
    			}
    		Button1Width:= GuiWidth - 200
    		Button2Width:= GuiWidth - 100
    		TextWidth:= GuiWidth - 215
    		CheckboxWidth:= GuiWidth - 195
    		NameWidth:= GuiWidth - 175
    		LineWidth:= GuiWidth - 45
    		Gui, Add, Text, x%TextWidth% Y%Y1%, %N%
    		Gui, Add, Checkbox, % " x" CheckboxWidth " y" Y1 " h13 w13 vIconToggle" N " Checked" IconToggle%N%
    		Gui, Add, Edit, x%NameWidth% y%Y2% w120 h20 vName%N%, % Name%N%
    		Gui, Add, Edit, x%LineWidth% y%Y2% w20 h20 vLine%N%, % Line%N%
    			If (A_Index = ScanCount) {
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x10 y%AddButtonHeight% w90 h20 gAddScan, Add
    				Gui, Add, Text, x110 y%AddHeight%, Add
    				Gui, Add, Edit, x140 y%AddButtonHeight% w30 h20 vXDefinitions
    				Gui, Add, Text, x180 y%AddHeight%, Definition(s)
    				Gui, Add, Button, x%Button1Width% y%ButtonHeight% w90 h20 gScanWrite Default, Record
    				Gui, Add, Button, x%Button2Width% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Scan Configuration
    				Break
    			}
    		N+= 1
    		H+= 1
    	}
    Return
    
    AddScan:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	ScanCount+= %XDefinitions%
    	Gosub ScanDefinitions
    Return
    
    ScanWrite:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	Gosub SpellScan
    Return
    
    SpellScan:
    	N:= 1
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, 1660, 1025 ; t
    	Sleep, %Delay%
    	MouseClick, , 1660, 1025 ; t
    	Sleep, %Delay%
    	Loop, %ScanCount% {
    		IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			If (IconToggle%N% = 1) {
    				IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    				IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    				NameN:= % Name%N%
    				LineN:= % Line%N%
    				ImageSearch, %NameN%X, %NameN%Y, 1410, 410, 1605, 925, *10 %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						IniWrite, % %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X
    						IniWrite, % %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y
    					}
    			}
    		N+= 1
    	}
    	Send, {Esc}
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	MouseMove, Xpos, Ypos
    	BlockInput, MouseMoveOff
    Return
    
    DelayConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 220
    	GuiHeight:= 160
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Server Latency (ms)
    	Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    	Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    	Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    	Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    	Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    	Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    	Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    	Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    	Gui, Add, Button, x20 y130 w90 h20 gDelayConfigRecord Default, Record
    	Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Delay configuration
    Return
    
    DelayConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    	Reload
    Return
    
    HotkeyConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Hotkeys wanted:
    	Gui, Add, Text, x50 y33, 200 Hotkeys Maximum
    	Gui, Add, Edit, x10 y30 w30 h20 vHotkeyLimit, %HotkeyLimit%
    	Gui, Add, Button, x10 y70 w90 h20 gHKeyEdit Default, Hotkeys
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Count
    Return
    
    HkeyEdit:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %HotkeyLimit%, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit
    	Hk:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	MouseGetPos, Xpos, Ypos
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    		If HotkeyLimit Between 1 and 200
    			Loop, %HotkeyLimit% {
    				GuiY:= 120 + 30 * H
    				ScreenHeight:= A_ScreenHeight - 45
    					If (GuiY > ScreenHeight) {
    						W+= 1
    						HMax:= H
    						H= 1
    					}
    				Y1:= 13 + 30 * H
    				Y2:= 10 + 30 * H
    				GuiWidth:= 610 * W
    					If (W = 1) {
    						GuiHeight:= 80 + 30 * H
    						ButtonHeight:= 50 + 30 * H
    						ButtonTxtHeight:= 53 + 30 * H
    					}
    					If (W > 1) {
    						GuiHeight:= 80 + 30 * HMax
    						ButtonHeight:= 50 + 30 * HMax
    						ButtonTxtHeight:= 53 + 30 * HMax
    					}
    				Button1X:= GuiWidth - 300
    				Button2X:= GuiWidth - 200
    				Button3X:= GuiWidth - 100
    				Text1X:= GuiWidth - 590
    				CheckboxX:= GuiWidth - 570
    				Radio1X:= GuiWidth - 520
    				Radio2X:= GuiWidth - 480
    				Radio3X:= GuiWidth - 440
    				Radio4X:= GuiWidth - 400
    				Radio5X:= GuiWidth - 360
    				Radio6X:= GuiWidth - 320
    				Radio7X:= GuiWidth - 280
    				EditX:= GuiWidth - 240
    				EditButtonX:= GuiWidth -100
    				CheckboxTxt:= GuiWidth - 583
    				Radio1Txt:= GuiWidth - 530
    				Radio2Txt:= GuiWidth - 490
    				Radio3Txt:= GuiWidth - 450
    				Radio4Txt:= GuiWidth - 410
    				Radio5Txt:= GuiWidth - 370
    				Radio6Txt:= GuiWidth - 330
    				Radio7Txt:= GuiWidth - 290
    				EditTxt:= GuiWidth - 220
    				EditButtonTxt:= GuiWidth -85
    				Gui, Add, Text, x%CheckboxTxt% y20,Toggle
    				Gui, Add, Text, x%Radio1Txt% y20,Type 1
    				Gui, Add, Text, x%Radio2Txt% y20,Type 2
    				Gui, Add, Text, x%Radio3Txt% y20,Type 3
    				Gui, Add, Text, x%Radio4Txt% y20,Type 4
    				Gui, Add, Text, x%Radio5Txt% y20,Type 5
    				Gui, Add, Text, x%Radio6Txt% y20,Type 6
    				Gui, Add, Text, x%Radio7Txt% y20,Type 7
    				Gui, Add, Text, x%EditTxt% y20, Hotkey Shortcut
    				Gui, Add, Text, x%EditButtonTxt% y20, Hotkey Edit
    				Gui, Add, Text, x%Text1X% y%Y1%, %Hk%
    				Gui, Add, Checkbox, % "X" CheckboxX " Y" Y1 " h13 w13 vHKey" Hk "Toggle Checked" HKey%Hk%Toggle
    				Gui, Add, Radio, % "x" Radio1X " y" Y1 " h13 w13 vHkey" Hk "Type1 Checked" HKey%Hk%Type1,1
    				Gui, Add, Radio, % "x" Radio2X " y" Y1 " h13 w13 vHkey" Hk "Type2 Checked" HKey%Hk%Type2,2
    				Gui, Add, Radio, % "x" Radio3X " y" Y1 " h13 w13 vHkey" Hk "Type3 Checked" HKey%Hk%Type3,3
    				Gui, Add, Radio, % "x" Radio4X " y" Y1 " h13 w13 vHkey" Hk "Type4 Checked" HKey%Hk%Type4,4
    				Gui, Add, Radio, % "x" Radio5X " y" Y1 " h13 w13 vHkey" Hk "Type5 Checked" HKey%Hk%Type5,5
    				Gui, Add, Radio, % "x" Radio6X " y" Y1 " h13 w13 vHkey" Hk "Type6 Checked" HKey%Hk%Type6,6
    				Gui, Add, Radio, % "x" Radio7X " y" Y1 " h13 w13 vHkey" Hk "Type7 Checked" HKey%Hk%Type7,7
    				Gui, Add, Edit, x%EditX% y%Y2% w120 h20 vHkey%Hk%Shortcut, % Hkey%Hk%Shortcut
    				Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditHk, %Hk%
    					If (A_Index = HotkeyLimit) {
    						X_Offset:= GuiWidth/2
    						Y_Offset:= GuiHeight/2
    						X_Limit:= A_ScreenWidth - X_Offset
    						Y_Limit:= A_ScreenHeight - Y_Offset
    						Mouse_X:= Xpos - X_Offset
    						Mouse_Y:= Ypos - Y_Offset
    							If Xpos between 0 and %X_Offset%
    								Move_X:= 0
    							If Xpos between %X_Offset% and %X_Limit%
    								Move_X:= Mouse_X
    							If Xpos between %X_Limit% and %A_ScreenWidth%
    								Move_X:= A_ScreenWidth - GuiWidth
    							If Ypos between 0 and %Y_Offset%
    								Move_Y:= 0
    							If Ypos between %Y_Offset% and %Y_Limit%
    								Move_Y:= Mouse_Y
    							If Ypos between %Y_Limit% and %A_ScreenHeight%
    								Move_Y:= A_ScreenHeight - GuiHeight - 30
    						Gui, Add, Button, x10 y%ButtonHeight% w90 H20 gHkAdd, Add
    						Gui, Add, Text, x110 y%ButtonTxtHeight%,Add
    						Gui, Add, Edit, x140 y%ButtonHeight% w20 h20 vHotkeyAdd
    						Gui, Add, Text, x170 y%ButtonTxtHeight%,Hotkey(s)
    						Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gRecordHks Default, Record
    						Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gSetHKs, Configure
    						Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    						Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Hotkey Configuration
    						Break
    					}
    			Hk+= 1
    			H+= 1
    			}
    Return
    
    HkAdd:
    	Gui, Submit
    	Gui, Destroy
    	HotkeyLimit+= %HotkeyAdd%
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Gosub HkeyEdit
    Return
    
    RecordHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Reload
    Return
    
    SetHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Hk:= 1
    	Gosub HkTypeConfigLoop
    Return
    
    EditHk:
    	A_GuiControlHk:= A_GuiControl
    	Hk:= A_GuiControlHk
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%Toggle = 0)
    			Hkey%Hk%Toggle = 1
    	IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    	IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    	IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    	IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    	IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    	IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    	IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    	IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    	IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    		If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    			Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    	Gosub HkTypeConfigLoop
    Return
    
    HkTypeConfigLoop:
    	Loop {
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type1 = 1) {
    				Gosub ConfigType1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type2 = 1) {
    				Gosub ConfigType2
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type3 = 1) {
    				Gosub ConfigType3
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type4 = 1) {
    				Gosub ConfigType4
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type5 = 1) {
    				Gosub GemSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type6 = 1) {
    				Gosub EquipSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type7 = 1) {
    				Gosub XTypeConfig
    				Break
    			}
    			If (Hkey%Hk%Toggle = 0) {
    				Gosub HkLoopAdd
    				Break
    			}
    			If (Hk > HotKeyLimit) {
    				Reload
    				Break
    			}
    	}
    Return
    
    HkLoopAdd:
    		If (A_GuiControlHk is Integer) {
    			Gosub Delay
    		Return
    		}
    	Hk+= 1
    	Goto, HkTypeConfigLoop
    Return
    
    ConfigType1:
    	GuiWidth:= 210
    	GuiHeight:= 260
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 1"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 w140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Edit, x10 y130 w20 h20 vXTriggeredCount%Hk%, % XTriggeredCount%Hk%
    	Gui, Add, Edit, x10 y160 w30 h20 vScanDelay%Hk%, % ScanDelay%Hk%
    	Gui, Add, Edit, x10 y190 w30 h20 vT1Cooldown%Hk%, % T1Cooldown%Hk%
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Text, x40 y133, Extra Triggered Spells
    	Gui, Add, Text, x50 y163, Scan Loop Delay, ms
    	Gui, Add, Text, x50 y193, Spell 1 Cooldown, ms
    	Gui, Add, Button, x10 y230 w90 h20 gTriggered1 Default, Define
    	Gui, Add, Button, x110 y230 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    Return
    
    Triggered1:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	IniWrite, % XTriggeredCount%Hk%, UnrapeKitConfig.ini, XtriggeredCount, XTriggeredCount%Hk%
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%
    	IniWrite, % T1Cooldown%Hk%, UnrapeKitConfig.ini, Delay, T1Cooldown%Hk%
    		If XTriggeredCount%Hk% = 0
    			Gosub TriggeredWrite
    	Gui, -0x80000 AlwaysOnTop
    	Loop, % XTriggeredCount%Hk% {
    		Y1:= 30 * TrigN - 27
    		Y2:= 30 * TrigN - 30
    		Y3:= 30 * TrigN + 3
    		Y4:= 30 * TrigN
    		Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut ": Additional Spells"
    		Gui, Add, Text, x10 y30, Toggle`, SpellName
    		Gui, Add, Checkbox, % "x10 y" Y1 " h13 w13 vTriggerToggle" TrigN "_" Hk " Checked" TriggerToggle%TrigN%_%Hk%
    		Gui, Add, Edit, x41 y%Y2% w140 h20 vHKey%Hk%Spell%TrigN%, % HKey%Hk%Spell%TrigN%
    		Gui, Add, Text, x191 y%Y1%, % "Spell " TrigN ", Cooldown"
    		Gui, Add, Edit, x291 y%Y2% w40 h20 vHKey%Hk%T1Cooldown%TrigN%, % HKey%Hk%T1Cooldown%TrigN%
    		Gui, Add, Text, x341 y%Y1%, ms
    			If (A_Index = XTriggeredCount%Hk%) {
    				GuiWidth:= 370
    				GuiHeight:= 40 + 30 * TrigN
    				ButtonHeight:= 30 * TrigN + 10
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x170 y%ButtonHeight% w90 h20 gTriggeredWrite Default, Record
    				Gui, Add, Button, x270 y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, W%GuiWidth% H%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    				Break
    			}
    		TrigN+= 1
    	}
    Return
    
    TriggeredWrite:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	Loop, % XTriggeredCount%Hk% {
    		IniWrite, % TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%
    		IniWrite, % HKey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%Spell%TrigN%
    		IniWrite, % HKey%Hk%T1Cooldown%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%T1Cooldown%TrigN%
    		TrigN+=1
    	}
    	Gosub KeyWrite
    Return
    
    ConfigType2:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 200
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 2"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Checkbox, % "x10 y130 h13 w13 vType2MoveToggleHotkey" Hk " Checked" Type2MoveToggleHotkey%Hk%, Move mouse before Spell 1 cast
    	Gui, Add, Button, x10 y170 w90 h20 gWrite2 Default, Define
    	Gui, Add, Button, x110 y170 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Swap Caster
    Return
    
    Write2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%
    	Gosub KeyWrite
    Return
    
    ConfigType3:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 220
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 3"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut key
    	Gui, Add, Checkbox, % "x10 y130 h13 w13 vType3Cast1ToggleHotkey" Hk " Checked" Type3Cast1ToggleHotkey%Hk%, Cast Spell 1
    	Gui, Add, Checkbox, % "x10 y160 h13 w13 vType3Cast2ToggleHotkey" Hk " Checked" Type3Cast2ToggleHotkey%Hk%, Cast Spell 2
    	Gui, Add, Button, x10 y190 w90 h20 gWrite3 Default, Define
    	Gui, Add, Button, x110 y190 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Shortcut Reset
    Return
    
    Write3:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%
    	IniWrite, % Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    ConfigType4:
    	GuiWidth:= 210
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 4"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1T4, % HKey%Hk%Spell1T4
    	Gui, Add, Edit, x10 y70 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x90 y73, Shortcut key
    	Gui, Add, Button, x10 y110 w90 h20 gWrite4 Default, Define
    	Gui, Add, Button, x110 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Spell Toggle
    Return
    
    Write4:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1T4
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    KeyWrite:
    		If (HKey%Hk%Key = "Q") {
    			KeyX_%Hk%:= 1440
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "W") {
    			KeyX_%Hk%:= 1495
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "E") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "R") {
    			KeyX_%Hk%:= 1605
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "T") {
    			KeyX_%Hk%:= 1655
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "LButton") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "MButton") {
    			KeyX_%Hk%:= 1600
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "RButton") {
    			KeyX_%Hk%:= 1650
    			KeyY_%Hk%:= 975
    		}
    	IniWrite, % KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%
    	IniWrite, % KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%
    	Gosub HkLoopAdd
    Return
    
    GemSwap1:
    	Swap:= "GemSwap1"
    	Gosub Swap
    Return
    
    GemSwap2:
    	Swap:= "GemSwap2"
    	Gosub Swap
    return
    
    EquipSwap1:
    	Swap:= "EquipSwap1"
    	GoSub Swap
    Return
    
    EquipSwap2:
    	Swap:= "EquipSwap2"
    	GoSub Swap
    Return
    
    Swap:
    	Gosub LCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniRead, Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniRead, Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniRead, Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniRead, Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniRead, Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "GemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "EquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	Gui, Color, 0x050505
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, Add, Radio, % "x29 y511 w13 h13 v" Swap "RadioL1C1Hotkey" Hk " Checked" %Swap%RadioL1C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C2Hotkey" Hk " Checked" %Swap%RadioL1C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C3Hotkey" Hk " Checked" %Swap%RadioL1C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C4Hotkey" Hk " Checked" %Swap%RadioL1C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C5Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C6Hotkey" Hk " Checked" %Swap%RadioL1C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C7Hotkey" Hk " Checked" %Swap%RadioL1C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C8Hotkey" Hk " Checked" %Swap%RadioL1C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C9Hotkey" Hk " Checked" %Swap%RadioL1C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C10Hotkey" Hk " Checked" %Swap%RadioL1C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C11Hotkey" Hk " Checked" %Swap%RadioL1C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C12Hotkey" Hk " Checked" %Swap%RadioL1C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y563 w13 h13 v" Swap "RadioL2C1Hotkey" Hk " Checked" %Swap%RadioL2C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C2Hotkey" Hk " Checked" %Swap%RadioL2C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C3Hotkey" Hk " Checked" %Swap%RadioL2C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C4Hotkey" Hk " Checked" %Swap%RadioL2C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C5Hotkey" Hk " Checked" %Swap%RadioL2C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C6Hotkey" Hk " Checked" %Swap%RadioL2C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C7Hotkey" Hk " Checked" %Swap%RadioL2C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C8Hotkey" Hk " Checked" %Swap%RadioL2C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C9Hotkey" Hk " Checked" %Swap%RadioL2C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C10Hotkey" Hk " Checked" %Swap%RadioL2C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C11Hotkey" Hk " Checked" %Swap%RadioL2C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C12Hotkey" Hk " Checked" %Swap%RadioL2C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y616 w13 h13 v" Swap "RadioL3C1Hotkey" Hk " Checked" %Swap%RadioL3C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C2Hotkey" Hk " Checked" %Swap%RadioL3C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C3Hotkey" Hk " Checked" %Swap%RadioL3C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C4Hotkey" Hk " Checked" %Swap%RadioL3C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C5Hotkey" Hk " Checked" %Swap%RadioL3C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C6Hotkey" Hk " Checked" %Swap%RadioL3C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C7Hotkey" Hk " Checked" %Swap%RadioL3C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C8Hotkey" Hk " Checked" %Swap%RadioL3C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C9Hotkey" Hk " Checked" %Swap%RadioL3C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C10Hotkey" Hk " Checked" %Swap%RadioL3C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C11Hotkey" Hk " Checked" %Swap%RadioL3C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C12Hotkey" Hk " Checked" %Swap%RadioL3C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y669 w13 h13 v" Swap "RadioL4C1Hotkey" Hk " Checked" %Swap%RadioL4C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C2Hotkey" Hk " Checked" %Swap%RadioL4C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C3Hotkey" Hk " Checked" %Swap%RadioL4C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C4Hotkey" Hk " Checked" %Swap%RadioL4C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C5Hotkey" Hk " Checked" %Swap%RadioL4C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C6Hotkey" Hk " Checked" %Swap%RadioL4C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C7Hotkey" Hk " Checked" %Swap%RadioL4C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C8Hotkey" Hk " Checked" %Swap%RadioL4C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C9Hotkey" Hk " Checked" %Swap%RadioL4C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C10Hotkey" Hk " Checked" %Swap%RadioL4C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C11Hotkey" Hk " Checked" %Swap%RadioL4C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C12Hotkey" Hk " Checked" %Swap%RadioL4C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y721 w13 h13 v" Swap "RadioL5C1Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C2Hotkey" Hk " Checked" %Swap%RadioL5C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C3Hotkey" Hk " Checked" %Swap%RadioL5C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C4Hotkey" Hk " Checked" %Swap%RadioL5C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C5Hotkey" Hk " Checked" %Swap%RadioL5C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C6Hotkey" Hk " Checked" %Swap%RadioL5C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C7Hotkey" Hk " Checked" %Swap%RadioL5C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C8Hotkey" Hk " Checked" %Swap%RadioL5C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C9Hotkey" Hk " Checked" %Swap%RadioL5C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C10Hotkey" Hk " Checked" %Swap%RadioL5C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C11Hotkey" Hk " Checked" %Swap%RadioL5C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C12Hotkey" Hk " Checked" %Swap%RadioL5C12Hotkey%Hk%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk " Checked" RightFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk " Checked" LeftFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk " Checked" AmuletSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk " Checked" BeltRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk " Checked" BeltCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk " Checked" BeltLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk " Checked" Flask1%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk " Checked" Flask2%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk " Checked" Flask3%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk " Checked" Flask4%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk " Checked" Flask5%Swap%Hotkey%Hk%
    	Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    	Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		If (Swap = "GemSwap2") OR (Swap = "EquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Button1X:= 40
    			Button2X:= 460
    			ButtonY:= 450
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Tab, 2
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			Gui, Color, 0x050505
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    			Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		}
    		If (Swap = "GemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap"
    		If (Swap = "EquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap"
    		If (Swap = "GemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "EquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    Return
    
    LCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    SwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub LCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1765
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1770
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1455
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1715
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1565
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1605
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1487
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1540
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1592
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1645
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1697
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) OR (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1765
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1770
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    		}
    		If (Swap = "GemSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub GemSwap2
    		Return
    		}
    		If (Swap = "EquipSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub EquipSwap2
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 1) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 1) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    Return
    
    LCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    			If (%Swap%RadioL%L%C%C%Hotkey%Hk% = 1) {
    				%Swap%Hotkey%Hk%_X:= 1240 + (C*53)
    				%Swap%Hotkey%Hk%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    Delay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gDelayRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub DelayRecord
    Return
    
    DelayRecord:
    		If (DelayN = 1) {
    			Gui, Submit
    			Gui, Destroy
    			DelayN+= 1
    			IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    			IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    			IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    			IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    			IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		}
    		If (A_GuiControlHk is Integer) {
    			DelayN+= 1
    			Gosub HkeyEdit
    		}
    		Else {
    			Hk+= 1
    			Gosub HkTypeConfigLoop
    		}
    Return
    
    XTypeConfig:
    	MouseGetPos, Xpos, Ypos
    	XTypeConfigRecord:= 0
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x40 y10, Extra Type configuration
    	Gui, Add, Edit, x10 y40 w30 h20 vHkey%Hk%Iterations, % Hkey%Hk%Iterations
    	Gui, Add, Text, x50 y43, % "Iterations Hotkey " Hk
    	Gui, Add, Button, x10 y70 w90 h20 gXTypeConfig2 Default, Configure
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Extra Type
    Return
    
    XTypeConfig2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	MouseGetPos, Xpos, Ypos
    	XT:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Options:
    	Gui, Add, Text, x10 y40, Toggle
    	Gui, Add, Text, x10 y70, !Toggle
    	Gui, Add, Text, x10 y100, ImageSearch
    	Gui, Add, Text, x10 y130, GetMousePos
    	Gui, Add, Text, x10 y160, GoMousePos
    	Gui, Add, Text, x10 y190, SpellScan
    	Gui, Add, Text, x10 y220, Spell
    	Gui, Add, Text, x10 y250, SendInput
    	Gui, Add, Text, x10 y280, MouseMove
    	Gui, Add, Text, x10 y310, Delay
    	Gui, Add, Text, x10 y340, GemSwap
    	Gui, Add, Text, x10 y370, EquipmentSwap
    	Gui, Add, Text, x10 y400, Add
    	Gui, Add, Edit, x110 y400 w20 h20 vHkey%Hk%XIterations
    	Gui, Add, Text, x140 y403, Iteration(s)
    	Gui, Add, Button, x10 y400 w90 h20 gXTypeConfi***dd, Add
    	Loop, % Hkey%Hk%Iterations {
    		GuiY:= 60 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 45
    			If (GuiY > ScreenHeight) {
    				W+= 1
    				HMax:= H
    				H= 1
    			}
    		Y1:= 8 + 30 * H
    		Y2:= 5 + 30 * H
    		GuiWidth:= 160 + 360 * W
    			If (W = 1) {
    				GuiHeight:= 70 + 30 * H
    				ButtonHeight:= 40 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 70 + 30 * HMax
    				ButtonHeight:= 40 + 30 * HMax
    			}
    		Button1X:= GuiWidth - 300
    		Button2X:= GuiWidth - 200
    		Button3X:= GuiWidth - 100
    		CheckboxX:= GuiWidth - 310
    		EditButtonX:= GuiWidth - 100
    		EditX:= GuiWidth - 280
    		TextX:= GuiWidth - 170
    		Gui, Add, Checkbox, % "x" CheckboxX " y" Y1 " w13 h13 vHkey" Hk "Iteration" XT "Toggle Checked" Hkey%Hk%Iteration%XT%Toggle
    		Gui, Add, Edit, x%EditX% y%Y2% w100 h20 vHkey%Hk%Iteration%XT%, % Hkey%Hk%Iteration%XT%
    		Gui, Add, Text, x%TextX% y%Y1%, % "Iteration " XT
    		Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditXT, %A_Index%
    			If (XT = Hkey%Hk%Iterations) {
    					If ButtonHeight < 400
    						ButtonHeight = 400
    					If GuiHeight < 430
    						GuiHeight = 430
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gXTypeConfigRecord Default, Record
    				Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gXTypeConfig3, Configure
    				Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Iteration Configuration
    				Break
    			}
    		XT+= 1
    		H+= 1
    	}
    Return
    
    EditXT:
    	A_GuiControlXT:= A_GuiControl
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= A_GuiControlXT
    		If (Hkey%Hk%Iteration%XT%Toggle = 0)
    			Hkey%Hk%Iteration%XT%Toggle = 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	XTypeConfigRecord:= 1
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeDelay
    Return
    
    XTypeConfi***dd:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%Iterations+= % Hkey%Hk%XIterations
    		Gosub XTypeConfig2
    Return
    	
    XTypeConfig3:
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfig4:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXT > 0)
    			A_GuiControlXTypeConfig4:= A_GuiControlXT
    	IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						Gosub XTypeToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle") {
    						Gosub XType!ToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						Gosub XTypeImageSearch
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    						Gosub XTypeGetMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						Gosub XTypeGoMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan") {
    						Gosub XTypeLoopAdd
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    						Gosub XTypeSpell
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						Gosub XTypeSend
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						Gosub XTypeMouseMove
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Gosub XTypeDelayConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						Gosub XTypeGemSwap1
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						Gosub XTypeEquipSwap1
    						Break
    					}
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 0) {
    				Gosub XTypeLoopAdd
    				Break
    			}
    			If (XT >= Hkey%Hk%Iterations) {
    				Gosub HkLoopAdd
    				Break
    			}
    	}
    Return
    
    XTypeMsg:
    	MsgBox, % "Iteration " XT " = " Hkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeToggleConfig:
    	Msgbox Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XType!ToggleConfig:
    	Msgbox !Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XTypeLoopAdd:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXT:= 0
    			Gosub XTypeDelay
    			Return
    		}
    	XT+= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeLoopSubtract:
    	Gui, Submit
    	Gui, Destroy
    	A_GuiControlXT:= 0
    	Loop {
    		XT-= 1
    			If (XT = 0) {
    				XT:= 1
    				Gosub XTypeConfig4
    				Break
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    				Gosub XTypeConfig4
    				Break
    			}
    	}
    Return
    
    XTypeImageSearch:
    	GuiWidth:= 410
    	GuiHeight:= 130
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	Gui, Add, Edit, x50 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	Gui, Add, Edit, x90 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	Gui, Add, Edit, x130 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	Gui, Add, Edit, x10 y40 W110 H20 vShadeVariationXTypeHotkey%Hk%Iteration%XT%, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Edit, x10 y70 w110 h20 vImageNameXTypeHotkey%Hk%Iteration%XT%, % ImageNameXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Text, x170 y13, Left, Top, Right and Bottom Scan Coordinates
    	Gui, Add, Text, x130 y43, Scan Color Shade Variation and Optional Parameters
    	Gui, Add, Text, x130 y73, Scan Image Name
    	Gui, Add, Button, x310 y100 w90 h20 gXTypeImageSearchWrite Default, Define
    	Gui, Add, Button, x210 y100 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y100 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y100 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Image Scan
    Return
    
    XTypeImageSearchWrite:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%XtypeGetMousePosToggleIteration%XT%:= 1
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	IniWrite, % ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%
    	IniWrite, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGetMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Checkbox, % "x10 y40 h13 w13 vHKey" Hk "XTypeGetMousePosToggleIteration" XT " Checked" HKey%Hk%XTypeGetMousePosToggleIteration%XT%, Cancel Saving and get position during hotkey execution
    	Gui, Add, Button, x310 y70 w90 h20 gXTypeGetMousePosWrite Default, Define
    	Gui, Add, Button, x210 y70 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y70 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Get Mouse Position
    Return
    
    XTypeGetMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 0) {
    			MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    		}
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGoMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x200 y10 w20 h20 vHKey%Hk%XTypeGoMousePosIteration%XT%, % HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gui, Add, Text, x10 y13, Move to Mouse Position from Iteration:
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeGoMousePosWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%:Mouse Position
    Return
    
    XTypeGoMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeMouseMove:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeMouseMoveWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Mouse Position
    
    Return
    
    XTypeMouseMoveWrite:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSpell:
    	GuiWidth:= 410
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, % Type 7 - "Iteration " XT " Spell Configuration"
    	Gui, Add, Edit, x10 y40 w110 h20 vHKey%Hk%XTypeSpellIteration%XT%, % HKey%Hk%XTypeSpellIteration%XT%
    	Gui, Add, Edit, x10 y70 W70 H20 vHKey%Hk%XTypeKeyIteration%XT%, % HKey%Hk%XTypeKeyIteration%XT%
    	Gui, Add, Text, x130 y43, % "Spell - Hotkey " Hk
    	Gui, Add, Text, x90 y73, % "Key - Hotkey " Hk
    	Gui, Add, Button, x310 y110 w90 h20 gXTypeSpellWrite Default, Define
    	Gui, Add, Button, x210 y110 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y110 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Type 7 Spell Configuration
    Return
    
    XTypeSpellWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%
    	IniWrite, % HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%
    	Gosub XTypeKey
    Return
    
    XTypeKey:
    		If (HKey%Hk%XTypeKeyIteration%XT% = "Q") {
    			KeyX_%Hk%Iteration%XT%:= 1440
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "W") {
    			KeyX_%Hk%Iteration%XT%:= 1495
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "E") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "R") {
    			KeyX_%Hk%Iteration%XT%:= 1605
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "T") {
    			KeyX_%Hk%Iteration%XT%:= 1655
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "LButton") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "MButton") {
    			KeyX_%Hk%Iteration%XT%:= 1600
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "RButton") {
    			KeyX_%Hk%Iteration%XT%:= 1650
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    	IniWrite, % KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%
    	IniWrite, % KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSend:
    	GuiWidth:= 410
    	GuiHeight:= 110
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x185 y10, % "Hotkey " Hk
    	Gui, Add, Edit, x10 y40 w70 h20 vHKey%Hk%XTypeSendIteration%XT%, % HKey%Hk%XTypeSendIteration%XT%
    	Gui, Add, Text, x90 y43, % "Iteration " XT " Send"
    	Gui, Add, Button, x310 y80 w90 h20 gXTypeSendWrite Default, Define
    	Gui, Add, Button, x210 y80 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y80 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y80 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Send Config
    Return
    
    XTypeSendWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeDelayConfig:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w130 h20 vHKey%Hk%XTypeDelayIteration%XT%, % HKey%Hk%XTypeDelayIteration%XT%
    	Gui, Add, Text, x150 y13, % "Iteration " XT " Delay"
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeDelayWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % "Hotkey " Hk
    Return
    
    XTypeDelayWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGemSwap1:
    	Swap:= XGemSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeGemSwap2:
    	Swap:= XGemSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap1:
    	Swap:= XEquipSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap2:
    	Swap:= XEquipSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeSwap:
    	Gosub XTypeLCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask1%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask2%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask3%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask4%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask5%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%IterationXType%XT%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "XGemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "XEquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, Color, 0x050505
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Radio, % "x29 y511 h13 w13 vGemSwap1RadioL1C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y563 w13 h13 vGemSwap1RadioL2C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y616 w13 h13 vGemSwap1RadioL3C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y669 w13 h13 vGemSwap1RadioL4C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y721 w13 h13 vGemSwap1RadioL5C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask5%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    	Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		If (Swap = "XGemSwap2" OR Swap = "XEquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Color, 0x0C0E0B
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, Tab, 2
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    			Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    			Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    			Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		}
    		If (Swap = "XGemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XEquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XGemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap - Iteration " XT
    		If (Swap = "XEquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap - Iteration " XT
    Return
    
    XTypeLCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    		C+= 1
    			If (C > 12) {
    				C:= 1
    				L+= 1
    					If (L > 5)
    						Break
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeSwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub XTypeLCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%Iteration%XT%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1765
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1770
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1455
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1715
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1565
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1605
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1487
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1540
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1592
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1645
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1697
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2 OR Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1765
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1770
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    		}
    		If (Swap = "XGemSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeGemSwap2
    		}
    		If (Swap = "XEquipSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeEquipSwap2
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 1) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 1) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    Return
    
    XTypeLCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    			If (XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT% = 1) {
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_X:= 1240 + (C*53)
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeDelay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gXTypeRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub XTypeRecord
    Return
    
    XTypeRecord:
    	Gui, Submit
    	Gui, Destroy
    	DelayN+= 1
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		If (XTypeConfigRecord = 1) {
    			Gosub HkLoopAdd
    			Return
    		}
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXTypeConfig4:= 0
    			Gosub XTypeConfig2
    			Return
    		}
    	Gosub XTypeLoopAdd
    Return
    
    Type1:
    	HkT1:= Hk
    	XTrig:= 3
    	CooldownCount:= 0
    	CoolDown%XTrig%:= 0
    	HKeyHkT1Spell1:= HKey%HkT1%Spell1
    	HKeyHkT1Spell2:= HKey%HkT1%Spell2
    	HKeyHkT1Key:= HKey%HkT1%Key
    	HKey%HkT1%KeyToggle:= !HKey%HkT1%KeyToggle
    		If HKey%HkT1%KeyToggle {
    			While HKey%HkT1%KeyToggle {
    				ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell1 "Timer.png"
    					If (ErrorLevel = 0) {
    						CooldownCount+= 1
    						HKey%HkT1%Spell1Timer:= True
    					}
    					If ErrorLevel = 1
    						ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer2.png"
    							If (ErrorLevel = 0) {
    								CooldownCount+= 1
    								HKey%HkT1%Spell1Timer:= True
    							}
    							if ErrorLevel = 1
    								ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer3.png"
    									If (ErrorLevel = 0) {
    										CooldownCount+= 1
    										HKey%HkT1%Spell1Timer:= True
    									}
    									If ErrorLevel = 1
    										ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer4.png"
    											If (ErrorLevel = 0) {
    												CooldownCount+= 1
    												HKey%HkT1%Spell1Timer:= True
    											}
    											if ErrorLevel = 1
    												ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer5.png"
    													If (ErrorLevel = 0) {
    														CooldownCount+= 1
    														HKey%HkT1%Spell1Timer:= True
    													}
    													If ErrorLevel = 1
    														ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer6.png"
    															If (ErrorLevel = 0) {
    																CooldownCount+= 1
    																HKey%HkT1%Spell1Timer:= True
    															}
    															if ErrorLevel = 1
    																ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer7.png"
    																	If (ErrorLevel = 0) {
    																		CooldownCount+= 1
    																		HKey%HkT1%Spell1Timer:= True
    																	}
    																	If ErrorLevel = 1
    																		ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer8.png"
    																			If (ErrorLevel = 0) {
    																				CooldownCount+= 1
    																				HKey%HkT1%Spell1Timer:= True
    																			}
    																				if ErrorLevel = 1
    																					HKey%HkT1%Spell1Timer:= False
    					If (HKey%HkT1%Spell1timer = False) {
    						If CooldownCount >= 1
    							Sleep, % T1Cooldown%HK%
    						ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%HkT1%Spell1 "-" HKey%HkT1%Key ".png"
    							If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    							}
    							If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    								MouseGetPos, Xpos, Ypos
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, 40
    								MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, %MouseDelay%
    								MouseMove, %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, 40
    								MouseClick, , %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, Xpos, Ypos
    								Sleep, %FrameTime%
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    				While HKey%HkT1%KeyToggle {
    						If (XTriggeredCount%Hk% = 0)
    							Break
    						If (TriggerToggle%XTrig%_%HkT1% = 1) {
    							ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell%XTrig% "Timer.png"
    								If (ErrorLevel = 0) {
    									CoolDown%XTrig%+= 1
    									HKey%HkT1%Spell%XTrig%Timer:= True
    								}
    								If ErrorLevel = 1
    									ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer2.png"
    										If (ErrorLevel = 0) {
    											CoolDown%XTrig%+= 1
    											HKey%HkT1%Spell%XTrig%Timer:= True
    										}
    										If ErrorLevel = 1
    											ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer3.png"
    												If (ErrorLevel = 0) {
    													CoolDown%XTrig%+= 1
    													HKey%HkT1%Spell%XTrig%Timer:= True
    												}
    												If ErrorLevel = 1
    													ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer4.png"
    														If (ErrorLevel = 0) {
    															CoolDown%XTrig%+= 1
    															HKey%HkT1%Spell%XTrig%Timer:= True
    														}
    														If ErrorLevel = 1
    															ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer5.png"
    																If (ErrorLevel = 0) {
    																	CoolDown%XTrig%+= 1
    																	HKey%HkT1%Spell%XTrig%Timer:= True
    																}
    																If ErrorLevel = 1
    																	ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer6.png"
    																		If (ErrorLevel = 0) {
    																			CoolDown%XTrig%+= 1
    																			HKey%HkT1%Spell%XTrig%Timer:= True
    																		}
    																		If ErrorLevel = 1
    																			ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer7.png"
    																				If (ErrorLevel = 0) {
    																					CoolDown%XTrig%+= 1
    																					HKey%HkT1%Spell%XTrig%Timer:= True
    																				}
    																				If ErrorLevel = 1
    																					ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer8.png"
    																						If (ErrorLevel = 0) {
    																							CoolDown%XTrig%+= 1
    																							HKey%HkT1%Spell%XTrig%Timer:= True
    																						}
    																						if ErrorLevel = 1
    																							HKey%HkT1%Spell%XTrig%Timer:= False
    								If (HKey%HkT1%Spell%XTrig%timer = False) {
    									Sleep, % HKey%Hk%T1Cooldown%TrigN%
    									ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%hKT1%Spell%XTrig% "-" HKey%HkT1%Key ".png"
    										If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    										}
    										If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    											HKeyHkT1SpellXTrig:= HKey%HkT1%Spell%XTrig%
    											MouseGetPos, Xpos, Ypos
    											BlockInput, MouseMove
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, 40
    											MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, %MouseDelay%
    											MouseMove, %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, 40
    											MouseClick, , %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, %MouseDelay%
    											MouseMove, Xpos, Ypos
    											Sleep, %FrameTime%
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    											BlockInput, MouseMoveOff
    										}
    								}
    						}
    						If (A_Index = XTriggeredCount%HkT1%) {
    							XTrig:= 3
    							Break
    						}
    				}
    					Xtrig+= 1
    				Sleep, % ScanDelay%HkT1%
    			}
    		CooldownCount:= 0
    		CoolDown%XTrig%:= 0
    		Return
    		}
    		If !HKey%HkT1%KeyToggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type2:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, 40
    	MouseClick, ,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, %MouseDelay%
    		If (Type2MoveToggleHotkey%Hk% = 1) {
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    		}
    	SendInput, {%HKeyHkKey%}
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, 40
    	MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, %MouseDelay%
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState2, LButton, P
    		If LButtonState2 = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type3:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	HKey%Hk%Keytoggle:= !HKey%Hk%Keytoggle
    		If HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast1ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    		If !HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast2ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type4:
    	HKeyHkSpell1T4:= HKey%Hk%Spell1T4
    	HKeyHkKey:= HKey%Hk%Key
    	ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%Hk%Spell1T4 "-" Hkey%Hk%Key ".png"
    		If ErrorLevel = 0
    			SendInput, {%HKeyHkKey%}
    		If (ErrorLevel = 1) {
    			BlockInput, MouseMove
    			MouseGetPos, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, 40
    			MouseClick, ,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    			SendInput, {%HKeyHkKey%}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		}
    Return
    
    Type5:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Right, GemSwap1X%Hk%, GemSwap1Y%Hk%
    		If (GemSwapTab_%Hk% = 1) {
    			MouseMove, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (GemSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap1AltX%Hk%, GemSwap1AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	GetKeyState, LButtonState, LButton, P
    	MouseMove, Xpos, Ypos
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type6:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    		If (EquipSwapTab_%Hk% = 1) {
    			MouseMove, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (EquipSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type7:
    	XT:= 1
    	MouseGetPos, Xpos, Ypos
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						XtypeHotkey%Hk%Toggle:= !XtypeHotkey%Hk%Toggle
    							If (XtypeHotkey%Hk%Toggle) {
    								XT+= 1
    							}
    							If (!XtypeHotkey%Hk%Toggle) {
    								Loop, % Hkey%Hk%Iterations {
    									XT+= 1
    										If (Hkey%Hk%Iteration%XT% = "!Toggle")
    											Break
    								}
    								XT+= 1
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan")
    						Gosub SpellScan
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						;BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, A_ScreenWidth, A_ScreenHeight
    							Loop {
    								ImageSearch, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % "*" ShadeVariationXTypeHotkey%Hk%Iteration%XT% " " ImageNameXTypeHotkey%Hk%Iteration%XT% ".png"
    									If (ErrorLevel = 2) {
    										MsgBox % "Search Failed for image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    										break
    									}
    									If (ErrorLevel = 1) {
    										MsgBox % "Search could not find image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    										break
    									}
    									If (ErrorLevel = 0) {
    										ToolTip, % HKey%Hk%XTypeMouseXPosIteration%XT% ", " HKey%Hk%XTypeMouseYPosIteration%XT%
    										SetTimer, RemoveToolTip, 500
    										break
    									}
    							}
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						;BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    					HKeyHkXTypeSpellIterationXT:= HKey%Hk%XTypeSpellIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseClick, ,  KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseMove, %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, 40
    						MouseClick, , %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, %MouseDelay%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						HKeyHkXTypeSendIterationXT:= HKey%Hk%XTypeSendIteration%XT%
    						SendInput, {%HKeyHkXTypeSendIterationXT%}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    							If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 1) {
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						MouseXT:= HKey%Hk%XTypeGoMousePosIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%MouseXT%, HKey%Hk%XTypeMouseXPosIteration%MouseXT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Sleep, % HKey%Hk%XTypeDelayIteration%XT%
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, Right, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeGemSwapTab_%Hk% = 1) {
    								MouseMove, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeGemSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeEquipSwapTab_%Hk% = 1) {
    								MouseMove, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeEquipSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle" OR XT = Hkey%Hk%Iterations) {
    						Break
    						return
    					}
    			}
    		XT+= 1
    	}
    	MouseMove, Xpos, Ypos
    Return
    
    Hotkey1:
    	Hk:= 1
    	Gosub HotkeyRouting
    Return
    
    Hotkey2:
    	Hk:= 2
    	Gosub HotkeyRouting
    Return
    
    Hotkey3:
    	Hk:= 3
    	Gosub HotkeyRouting
    Return
    
    Hotkey4:
    	Hk:= 4
    	Gosub HotkeyRouting
    Return
    
    Hotkey5:
    	Hk:= 5
    	Gosub HotkeyRouting
    Return
    
    Hotkey6:
    	Hk:= 6
    	Gosub HotkeyRouting
    Return
    
    Hotkey7:
    	Hk:= 7
    	Gosub HotkeyRouting
    Return
    
    Hotkey8:
    	Hk:= 8
    	Gosub HotkeyRouting
    Return
    
    Hotkey9:
    	Hk:= 9
    	Gosub HotkeyRouting
    Return
    
    Hotkey10:
    	Hk:= 10
    	Gosub HotkeyRouting
    Return
    
    Hotkey11:
    	Hk:= 11
    	Gosub HotkeyRouting
    Return
    
    Hotkey12:
    	Hk:= 12
    	Gosub HotkeyRouting
    Return
    
    Hotkey13:
    	Hk:= 13
    	Gosub HotkeyRouting
    Return
    
    Hotkey14:
    	Hk:= 14
    	Gosub HotkeyRouting
    Return
    
    Hotkey15:
    	Hk:= 15
    	Gosub HotkeyRouting
    Return
    
    Hotkey16:
    	Hk:= 16
    	Gosub HotkeyRouting
    Return
    
    Hotkey17:
    	Hk:= 17
    	Gosub HotkeyRouting
    Return
    
    Hotkey18:
    	Hk:= 18
    	Gosub HotkeyRouting
    Return
    
    Hotkey19:
    	Hk:= 19
    	Gosub HotkeyRouting
    Return
    
    Hotkey20:
    	Hk:= 20
    	Gosub HotkeyRouting
    Return
    
    Hotkey21:
    	Hk:= 21
    	Gosub HotkeyRouting
    Return
    
    Hotkey22:
    	Hk:= 22
    	Gosub HotkeyRouting
    Return
    
    Hotkey23:
    	Hk:= 23
    	Gosub HotkeyRouting
    Return
    
    Hotkey24:
    	Hk:= 24
    	Gosub HotkeyRouting
    Return
    
    Hotkey25:
    	Hk:= 25
    	Gosub HotkeyRouting
    Return
    
    Hotkey26:
    	Hk:= 26
    	Gosub HotkeyRouting
    Return
    
    Hotkey27:
    	Hk:= 27
    	Gosub HotkeyRouting
    Return
    
    Hotkey28:
    	Hk:= 28
    	Gosub HotkeyRouting
    Return
    
    Hotkey29:
    	Hk:= 29
    	Gosub HotkeyRouting
    Return
    
    Hotkey30:
    	Hk:= 30
    	Gosub HotkeyRouting
    Return
    
    Hotkey31:
    	Hk:= 31
    	Gosub HotkeyRouting
    Return
    
    Hotkey32:
    	Hk:= 32
    	Gosub HotkeyRouting
    Return
    
    Hotkey33:
    	Hk:= 33
    	Gosub HotkeyRouting
    Return
    
    Hotkey34:
    	Hk:= 34
    	Gosub HotkeyRouting
    Return
    
    Hotkey35:
    	Hk:= 35
    	Gosub HotkeyRouting
    Return
    
    Hotkey36:
    	Hk:= 36
    	Gosub HotkeyRouting
    Return
    
    Hotkey37:
    	Hk:= 37
    	Gosub HotkeyRouting
    Return
    
    Hotkey38:
    	Hk:= 38
    	Gosub HotkeyRouting
    Return
    
    Hotkey39:
    	Hk:= 39
    	Gosub HotkeyRouting
    Return
    
    Hotkey40:
    	Hk:= 40
    	Gosub HotkeyRouting
    Return
    
    Hotkey41:
    	Hk:= 41
    	Gosub HotkeyRouting
    Return
    
    Hotkey42:
    	Hk:= 42
    	Gosub HotkeyRouting
    Return
    
    Hotkey43:
    	Hk:= 43
    	Gosub HotkeyRouting
    Return
    
    Hotkey44:
    	Hk:= 44
    	Gosub HotkeyRouting
    Return
    
    Hotkey45:
    	Hk:= 45
    	Gosub HotkeyRouting
    Return
    
    Hotkey46:
    	Hk:= 46
    	Gosub HotkeyRouting
    Return
    
    Hotkey47:
    	Hk:= 47
    	Gosub HotkeyRouting
    Return
    
    Hotkey48:
    	Hk:= 48
    	Gosub HotkeyRouting
    Return
    
    Hotkey49:
    	Hk:= 49
    	Gosub HotkeyRouting
    Return
    
    Hotkey50:
    	Hk:= 50
    	Gosub HotkeyRouting
    Return
    
    Hotkey51:
    	Hk:= 51
    	Gosub HotkeyRouting
    Return
    
    Hotkey52:
    	Hk:= 52
    	Gosub HotkeyRouting
    Return
    
    Hotkey53:
    	Hk:= 53
    	Gosub HotkeyRouting
    Return
    
    Hotkey54:
    	Hk:= 54
    	Gosub HotkeyRouting
    Return
    
    Hotkey55:
    	Hk:= 55
    	Gosub HotkeyRouting
    Return
    
    Hotkey56:
    	Hk:= 56
    	Gosub HotkeyRouting
    Return
    
    Hotkey57:
    	Hk:= 57
    	Gosub HotkeyRouting
    Return
    
    Hotkey58:
    	Hk:= 58
    	Gosub HotkeyRouting
    Return
    
    Hotkey59:
    	Hk:= 59
    	Gosub HotkeyRouting
    Return
    
    Hotkey60:
    	Hk:= 60
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey70:
    	Hk:= 70
    	Gosub HotkeyRouting
    Return
    
    Hotkey71:
    	Hk:= 71
    	Gosub HotkeyRouting
    Return
    
    Hotkey72:
    	Hk:= 72
    	Gosub HotkeyRouting
    Return
    
    Hotkey73:
    	Hk:= 73
    	Gosub HotkeyRouting
    Return
    
    Hotkey74:
    	Hk:= 74
    	Gosub HotkeyRouting
    Return
    
    Hotkey75:
    	Hk:= 75
    	Gosub HotkeyRouting
    Return
    
    Hotkey76:
    	Hk:= 76
    	Gosub HotkeyRouting
    Return
    
    Hotkey77:
    	Hk:= 77
    	Gosub HotkeyRouting
    Return
    
    Hotkey78:
    	Hk:= 78
    	Gosub HotkeyRouting
    Return
    
    Hotkey79:
    	Hk:= 79
    	Gosub HotkeyRouting
    Return
    
    Hotkey80:
    	Hk:= 80
    	Gosub HotkeyRouting
    Return
    
    Hotkey81:
    	Hk:= 81
    	Gosub HotkeyRouting
    Return
    
    Hotkey82:
    	Hk:= 82
    	Gosub HotkeyRouting
    Return
    
    Hotkey83:
    	Hk:= 83
    	Gosub HotkeyRouting
    Return
    
    Hotkey84:
    	Hk:= 84
    	Gosub HotkeyRouting
    Return
    
    Hotkey85:
    	Hk:= 85
    	Gosub HotkeyRouting
    Return
    
    Hotkey86:
    	Hk:= 86
    	Gosub HotkeyRouting
    Return
    
    Hotkey87:
    	Hk:= 87
    	Gosub HotkeyRouting
    Return
    
    Hotkey88:
    	Hk:= 88
    	Gosub HotkeyRouting
    Return
    
    Hotkey89:
    	Hk:= 89
    	Gosub HotkeyRouting
    Return
    
    Hotkey90:
    	Hk:= 90
    	Gosub HotkeyRouting
    Return
    
    Hotkey91:
    	Hk:= 91
    	Gosub HotkeyRouting
    Return
    
    Hotkey92:
    	Hk:= 92
    	Gosub HotkeyRouting
    Return
    
    Hotkey93:
    	Hk:= 93
    	Gosub HotkeyRouting
    Return
    
    Hotkey94:
    	Hk:= 94
    	Gosub HotkeyRouting
    Return
    
    Hotkey95:
    	Hk:= 95
    	Gosub HotkeyRouting
    Return
    
    Hotkey96:
    	Hk:= 96
    	Gosub HotkeyRouting
    Return
    
    Hotkey97:
    	Hk:= 97
    	Gosub HotkeyRouting
    Return
    
    Hotkey98:
    	Hk:= 98
    	Gosub HotkeyRouting
    Return
    
    Hotkey99:
    	Hk:= 99
    	Gosub HotkeyRouting
    Return
    
    Hotkey100:
    	Hk:= 100
    	Gosub HotkeyRouting
    Return
    
    Hotkey101:
    	Hk:= 101
    	Gosub HotkeyRouting
    Return
    
    Hotkey102:
    	Hk:= 102
    	Gosub HotkeyRouting
    Return
    
    Hotkey103:
    	Hk:= 103
    	Gosub HotkeyRouting
    Return
    
    Hotkey104:
    	Hk:= 104
    	Gosub HotkeyRouting
    Return
    
    Hotkey105:
    	Hk:= 105
    	Gosub HotkeyRouting
    Return
    
    Hotkey106:
    	Hk:= 106
    	Gosub HotkeyRouting
    Return
    
    Hotkey107:
    	Hk:= 107
    	Gosub HotkeyRouting
    Return
    
    Hotkey108:
    	Hk:= 108
    	Gosub HotkeyRouting
    Return
    
    Hotkey109:
    	Hk:= 109
    	Gosub HotkeyRouting
    Return
    
    Hotkey110:
    	Hk:= 110
    	Gosub HotkeyRouting
    Return
    
    Hotkey111:
    	Hk:= 111
    	Gosub HotkeyRouting
    Return
    
    Hotkey112:
    	Hk:= 112
    	Gosub HotkeyRouting
    Return
    
    Hotkey113:
    	Hk:= 113
    	Gosub HotkeyRouting
    Return
    
    Hotkey114:
    	Hk:= 114
    	Gosub HotkeyRouting
    Return
    
    Hotkey115:
    	Hk:= 115
    	Gosub HotkeyRouting
    Return
    
    Hotkey116:
    	Hk:= 116
    	Gosub HotkeyRouting
    Return
    
    Hotkey117:
    	Hk:= 117
    	Gosub HotkeyRouting
    Return
    
    Hotkey118:
    	Hk:= 118
    	Gosub HotkeyRouting
    Return
    
    Hotkey119:
    	Hk:= 119
    	Gosub HotkeyRouting
    Return
    
    Hotkey120:
    	Hk:= 120
    	Gosub HotkeyRouting
    Return
    
    Hotkey121:
    	Hk:= 121
    	Gosub HotkeyRouting
    Return
    
    Hotkey122:
    	Hk:= 122
    	Gosub HotkeyRouting
    Return
    
    Hotkey123:
    	Hk:= 123
    	Gosub HotkeyRouting
    Return
    
    Hotkey124:
    	Hk:= 124
    	Gosub HotkeyRouting
    Return
    
    Hotkey125:
    	Hk:= 125
    	Gosub HotkeyRouting
    Return
    
    Hotkey126:
    	Hk:= 126
    	Gosub HotkeyRouting
    Return
    
    Hotkey127:
    	Hk:= 127
    	Gosub HotkeyRouting
    Return
    
    Hotkey128:
    	Hk:= 128
    	Gosub HotkeyRouting
    Return
    
    Hotkey129:
    	Hk:= 129
    	Gosub HotkeyRouting
    Return
    
    Hotkey130:
    	Hk:= 130
    	Gosub HotkeyRouting
    Return
    
    Hotkey131:
    	Hk:= 131
    	Gosub HotkeyRouting
    Return
    
    Hotkey132:
    	Hk:= 132
    	Gosub HotkeyRouting
    Return
    
    Hotkey133:
    	Hk:= 133
    	Gosub HotkeyRouting
    Return
    
    Hotkey134:
    	Hk:= 134
    	Gosub HotkeyRouting
    Return
    
    Hotkey135:
    	Hk:= 135
    	Gosub HotkeyRouting
    Return
    
    Hotkey136:
    	Hk:= 136
    	Gosub HotkeyRouting
    Return
    
    Hotkey137:
    	Hk:= 137
    	Gosub HotkeyRouting
    Return
    
    Hotkey138:
    	Hk:= 138
    	Gosub HotkeyRouting
    Return
    
    Hotkey139:
    	Hk:= 139
    	Gosub HotkeyRouting
    Return
    
    Hotkey140:
    	Hk:= 140
    	Gosub HotkeyRouting
    Return
    
    Hotkey141:
    	Hk:= 141
    	Gosub HotkeyRouting
    Return
    
    Hotkey142:
    	Hk:= 142
    	Gosub HotkeyRouting
    Return
    
    Hotkey143:
    	Hk:= 143
    	Gosub HotkeyRouting
    Return
    
    Hotkey144:
    	Hk:= 144
    	Gosub HotkeyRouting
    Return
    
    Hotkey145:
    	Hk:= 145
    	Gosub HotkeyRouting
    Return
    
    Hotkey146:
    	Hk:= 146
    	Gosub HotkeyRouting
    Return
    
    Hotkey147:
    	Hk:= 147
    	Gosub HotkeyRouting
    Return
    
    Hotkey148:
    	Hk:= 148
    	Gosub HotkeyRouting
    Return
    
    Hotkey149:
    	Hk:= 149
    	Gosub HotkeyRouting
    Return
    
    Hotkey150:
    	Hk:= 150
    	Gosub HotkeyRouting
    Return
    
    Hotkey151:
    	Hk:= 151
    	Gosub HotkeyRouting
    Return
    
    Hotkey152:
    	Hk:= 152
    	Gosub HotkeyRouting
    Return
    
    Hotkey153:
    	Hk:= 153
    	Gosub HotkeyRouting
    Return
    
    Hotkey154:
    	Hk:= 154
    	Gosub HotkeyRouting
    Return
    
    Hotkey155:
    	Hk:= 155
    	Gosub HotkeyRouting
    Return
    
    Hotkey156:
    	Hk:= 156
    	Gosub HotkeyRouting
    Return
    
    Hotkey157:
    	Hk:= 157
    	Gosub HotkeyRouting
    Return
    
    Hotkey158:
    	Hk:= 158
    	Gosub HotkeyRouting
    Return
    
    Hotkey159:
    	Hk:= 159
    	Gosub HotkeyRouting
    Return
    
    Hotkey160:
    	Hk:= 160
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey170:
    	Hk:= 170
    	Gosub HotkeyRouting
    Return
    
    Hotkey171:
    	Hk:= 171
    	Gosub HotkeyRouting
    Return
    
    Hotkey172:
    	Hk:= 172
    	Gosub HotkeyRouting
    Return
    
    Hotkey173:
    	Hk:= 173
    	Gosub HotkeyRouting
    Return
    
    Hotkey174:
    	Hk:= 174
    	Gosub HotkeyRouting
    Return
    
    Hotkey175:
    	Hk:= 175
    	Gosub HotkeyRouting
    Return
    
    Hotkey176:
    	Hk:= 176
    	Gosub HotkeyRouting
    Return
    
    Hotkey177:
    	Hk:= 177
    	Gosub HotkeyRouting
    Return
    
    Hotkey178:
    	Hk:= 178
    	Gosub HotkeyRouting
    Return
    
    Hotkey179:
    	Hk:= 179
    	Gosub HotkeyRouting
    Return
    
    Hotkey180:
    	Hk:= 180
    	Gosub HotkeyRouting
    Return
    
    Hotkey181:
    	Hk:= 181
    	Gosub HotkeyRouting
    Return
    
    Hotkey182:
    	Hk:= 182
    	Gosub HotkeyRouting
    Return
    
    Hotkey183:
    	Hk:= 183
    	Gosub HotkeyRouting
    Return
    
    Hotkey184:
    	Hk:= 184
    	Gosub HotkeyRouting
    Return
    
    Hotkey185:
    	Hk:= 185
    	Gosub HotkeyRouting
    Return
    
    Hotkey186:
    	Hk:= 186
    	Gosub HotkeyRouting
    Return
    
    Hotkey187:
    	Hk:= 187
    	Gosub HotkeyRouting
    Return
    
    Hotkey188:
    	Hk:= 188
    	Gosub HotkeyRouting
    Return
    
    Hotkey189:
    	Hk:= 189
    	Gosub HotkeyRouting
    Return
    
    Hotkey190:
    	Hk:= 190
    	Gosub HotkeyRouting
    Return
    
    Hotkey191:
    	Hk:= 191
    	Gosub HotkeyRouting
    Return
    
    Hotkey192:
    	Hk:= 192
    	Gosub HotkeyRouting
    Return
    
    Hotkey193:
    	Hk:= 193
    	Gosub HotkeyRouting
    Return
    
    Hotkey194:
    	Hk:= 194
    	Gosub HotkeyRouting
    Return
    
    Hotkey195:
    	Hk:= 195
    	Gosub HotkeyRouting
    Return
    
    Hotkey196:
    	Hk:= 196
    	Gosub HotkeyRouting
    Return
    
    Hotkey197:
    	Hk:= 197
    	Gosub HotkeyRouting
    Return
    
    Hotkey198:
    	Hk:= 198
    	Gosub HotkeyRouting
    Return
    
    Hotkey199:
    	Hk:= 199
    	Gosub HotkeyRouting
    Return
    
    Hotkey200:
    	Hk:= 200
    	Gosub HotkeyRouting
    Return
    
    HotkeyRouting:
    		If (Hkey%Hk%Type1 = 1) {
    			Gosub Type1
    		Return
    		}
    		If (Hkey%Hk%Type2 = 1) {
    			Gosub Type2
    		Return
    		}
    		If (Hkey%Hk%Type3 = 1) {
    			Gosub Type3
    		Return
    		}
    		If (Hkey%Hk%Type4 = 1) {
    			Gosub Type4
    		Return
    		}
    		If (Hkey%Hk%Type5 = 1) {
    			Gosub Type5
    		Return
    		}
    		If (Hkey%Hk%Type6 = 1) {
    			Gosub Type6
    		Return
    		}
    		If (Hkey%Hk%Type7 = 1) {
    			Gosub Type7
    		Return
    		}
    Return
    
    Cancel:
    	Reload
    Return

  9. #8
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It seems not to be working anymore once I set up an extra triggered spell.

  10. #9
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    NVM it's working it was just a sad coincidence that the tempest shield spell I bought for testing xtra triggered spells replaced the exact location the molten shell icon was on the spells menu, and I forgot to do a spell scan to refresh their icon positions.
    I'm sorry for this, this has an extra typo fixed though:
    Code:
    #SingleInstance, force
    ToolTip, Loading
    SetTitleMatchMode, 3
    ;#IfWinActive Path of Exile
    #MaxThreadsperHotkey  2
    CoordMode, Mouse
    WinGetPos, X, Y, WinW, WinH, Path of Exile
    SetBatchLines, -1
    SetDefaultMouseSpeed, 0
    SetKeyDelay, 20, 20
    SetMouseDelay, 20
    SetWorkingDir A_ScriptDir
    Winset, Transparent, 0
    FileGetSize, Size, C:\Program Files (x86)\Grinding Gear Games\Path of Exile\Content.ggpk
    N:= 1
    Hk:= 1
    DelayN:= 1
    	If(FileExist("UnrapeKitConfig.ini")) {
    		IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount, %A_Space%
    		IniRead, HotkeyLimit, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit, %A_Space%
    		IniRead, Delay, UnrapeKitConfig.ini, Delay, Delay, %A_Space%
    		IniRead, FrameTime, UnrapeKitConfig.ini, Delay, FrameTime, %A_Space%
    		IniRead, KeyDelay1, UnrapeKitConfig.ini, Delay, KeyDelay1, %A_Space%
    		IniRead, KeyDelayPress, UnrapeKitConfig.ini, Delay, KeyDelayPress, %A_Space%
    		IniRead, MouseDelay, UnrapeKitConfig.ini, Delay, MouseDelay, %A_Space%
    			SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    			SetMouseDelay, %MouseDelay%
    		IniRead, HotkeyConfig, UnrapeKitConfig.ini, Configuration, HotkeyConfig, %A_Space%
    		IniRead, ScanConfig, UnrapeKitConfig.ini, Configuration, ScanConfig, %A_Space%
    		IniRead, SpellScan, UnrapeKitConfig.ini, Configuration, SpellScan, %A_Space%
    		IniRead, ScreenCapture, UnrapeKitConfig.ini, Configuration, ScreenCapture, %A_Space%
    		IniRead, DelayConfig, UnrapeKitConfig.ini, Configuration, DelayConfig, %A_Space%
    		IniRead, CaptureName, UnrapeKitConfig.ini, Configuration, CaptureName, %A_Space%
    		Hotkey, %HotkeyConfig%, HotkeyConfig
    		Hotkey, %ScanConfig%, ScanConfig
    		Hotkey, %SpellScan%, SpellScan
    		Hotkey, %ScreenCapture%, ScreenCapture1
    		Hotkey, %DelayConfig%, DelayConfig
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%, %A_Space%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%, %A_Space%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%, %A_Space%
    			NameN:= % Name%N%
    			IconToggleN:= % IconToggle%N%
    			LineN:= % Line%N%
    			CaptureName%N%:= % Name%N% "" Line%N%
    			IniRead, %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X, %A_Space%
    			IniRead, %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y, %A_Space%
    			N+= 1
    		}
    		Loop, %HotKeyLimit% {
    			IniRead, Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, Hkey%Hk%Toggle, %A_Space%
    			IniRead, Hkey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type1, %A_Space%
    			IniRead, Hkey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type2, %A_Space%
    			IniRead, Hkey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type3, %A_Space%
    			IniRead, Hkey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type4, %A_Space%
    			IniRead, Hkey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type5, %A_Space%
    			IniRead, Hkey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type6, %A_Space%
    			IniRead, Hkey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type7, %A_Space%
    			IniRead, Hkey%Hk%Type8, UnrapeKitConfig.ini, HotkeyType, Hkey%Hk%Type8, %A_Space%
    			IniRead, Hkey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, Hkey%Hk%Key, %A_Space%
    			IniRead, KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%, %A_Space%
    			IniRead, KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%, %A_Space%
    			IniRead, Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut, %A_Space%
    				If Hkey%Hk%Toggle = 1
    					Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    				If (Hkey%Hk%Type1 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					TrigN:= 3
    					IniRead, XTriggeredCount%Hk%, UnrapeKitConfig.ini, XTriggeredCount, XTriggeredCount%Hk%, %A_Space%
    					IniRead, ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%, %A_Space%
    					IniRead, T1Cooldown%Hk%, UnrapeKitConfig.ini, Delay, T1Cooldown%Hk%, %A_Space%
    					Loop, % XTriggeredCount%Hk% {
    						IniRead, TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%, %A_Space%
    						IniRead, Hkey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, Hkey%Hk%Spell%TrigN%, %A_Space%
    						Iniread, HKey%Hk%T1Cooldown%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%T1Cooldown%TrigN%, %A_Space%
    						TrigN+= 1
    					}
    				}
    				If (Hkey%Hk%Type2 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type3 = 1) {
    					IniRead, Hkey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1, %A_Space%
    					IniRead, Hkey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell2, %A_Space%
    					IniRead, Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%, %A_Space%
    					IniRead, Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%, %A_Space%
    				}
    				If (Hkey%Hk%Type4 = 1)
    					IniRead, Hkey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, Hkey%Hk%Spell1T4, %A_Space%
    				If (Hkey%Hk%Type5 = 1) {
    					IniRead, GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    					IniRead, GemSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap1Coordinates, GemSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, GemSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, GemSwap2Coordinates, GemSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type6 = 1) {
    					IniRead, EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap1Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap1Coordinates, EquipSwap1Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2Hotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2Hotkey%Hk%_Y, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_X, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_X, %A_Space%
    					IniRead, EquipSwap2AltHotkey%Hk%_Y, UnrapeKitConfig.ini, EquipSwap2Coordinates, EquipSwap2AltHotkey%Hk%_Y, %A_Space%
    				}
    				If (Hkey%Hk%Type7 = 1) {
    					IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations, %A_Space%
    					IniRead, XTypeGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeGemSwapTab_%Hk%, %A_Space%
    					IniRead, XTypeEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XTypeEquipSwapTab_%Hk%, %A_Space%
    					XT:= 1
    					Loop, % Hkey%Hk%Iterations {
    						IniRead, HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle, %A_Space%
    						IniRead, Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XTypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%, %A_Space%
    						IniRead, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, %A_Space%		
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, %A_Space%
    						IniRead, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, %A_Space%
    						IniRead, ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap1CoordinatesXType, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, GemSwap2CoordinatesXType, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap1CoordinatesXType, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, %A_Space%
    						IniRead, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, EquipSwap2CoordinatesXType, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y, %A_Space%
    						IniRead, KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%, %A_Space%
    						IniRead, KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%, %A_Space%
    						XT+= 1
    					}
    				}
    			Hk+= 1
    		}
    	}
    ToolTip, Load Complete
    SetTimer, RemoveToolTip, -500
    return
    
    RemoveToolTip:
    	ToolTip
    return
    
    RCtrl & F10:: Reload
    RCtrl & F11:: Pause
    RCtrl & F12:: ExitApp
    
    RCtrl & F9::
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 270
    	GuiHeight:= 230
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Configuration Hotkeys:
    	Gui, Add, Edit, X10 Y40 H21 W140 vHotkeyConfig, %HotkeyConfig%
    	Gui, Add, Edit, X10 Y70 H21 W140 vScanConfig, %ScanConfig%
    	Gui, Add, Edit, X10 Y100 H21 W140 vSpellScan, %SpellScan%
    	Gui, Add, Edit, X10 Y130 H21 W140 vScreenCapture, %ScreenCapture%
    	Gui, Add, Edit, X10 Y160 H21 W140 vDelayConfig, %DelayConfig%
    	Gui, Add, Text, X160 Y43, Hotkey Configuration
    	Gui, Add, Text, X160 Y73, Scan Configuration
    	Gui, Add, Text, X160 Y103, Spell Scan
    	Gui, Add, Text, X160 Y133, Screen Capture
    	Gui, Add, Text, X160 Y163, Delay Configuration
    	Gui, Add, Button, x70 y200 w90 h20 gSetupConfig Default, Ok
    	Gui, Add, Button, x170 y200 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Configuration
    Return
    
    SetupConfig:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	IniWrite, %HotkeyConfig%, UnrapeKitConfig.ini, Configuration, HotkeyConfig
    	IniWrite, %ScanConfig%, UnrapeKitConfig.ini, Configuration, ScanConfig
    	IniWrite, %SpellScan%, UnrapeKitConfig.ini, Configuration, SpellScan
    	IniWrite, %ScreenCapture%, UnrapeKitConfig.ini, Configuration, ScreenCapture
    	IniWrite, %DelayConfig%, UnrapeKitConfig.ini, Configuration, DelayConfig
    	Hotkey, %HotkeyConfig%, HotkeyConfig
    	Hotkey, %ScanConfig%, ScanConfig
    	Hotkey, %SpellScan%, SpellScan
    	Hotkey, %ScreenCapture%, ScreenCapture1
    	Hotkey, %DelayConfig%, DelayConfig
    	Reload
    Return
    
    ScreenCapture1:
    	MouseGetPos, Xpos, Ypos
    	ImageRepeat:= 0
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↑←
    	Gui, Add, Button, gScreenCapture2 Default, Ok
    	Gui, Show, , Capture 1
    Return
    
    ScreenCapture2:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, CaptureX1, CaptureY1
    	Gui, -0x80000 -0xC00000 AlwaysOnTop
    	Gui, Add, Text, +Center, ↓→
    	Gui, Add, Button,  gScreenCapture3 Default, Ok
    	Gui, Show, , Capture 2
    Return
    
    ScreenCapture3:
    	Gui, Submit
    	Gui, Destroy
    	IniRead, TempName, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniRead, TempLine, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	N:= ScanCount + 1
    	MouseGetPos, CaptureX2, CaptureY2
    	GuiWidth:= 210
    	GuiHeight:= 100
    	GuiX:= GuiWidth + 10
    	GuiY:=  GuiHeight + 30
    	Move_X:= Xpos - GuiX
    	Move_Y:= Ypos - GuiY
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text,x10 y10, Capture Name                               Line
    	Gui, Add, Edit, x10 y40 w150 h20 vTempName, %TempName%
    	Gui, Add, Edit, x+10 w20 h20 vTempLine, %TempLine%
    	Gui, Add, Button, x10 y70 w90 h20 gCaptureSave Default, Ok
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,Capture Configuration
    Return
    
    CaptureSave:
    	Gui, Submit
    	Gui, Destroy
    	Run C:\Windows\system32\SnippingTool.exe
    	IniWrite, %TempName%, UnrapeKitConfig.ini, TemporaryScan, TempName
    	IniWrite, %TempLine%, UnrapeKitConfig.ini, TemporaryScan, TempLine
    	CaptureName:= % TempName "" TempLine
    	SetMouseDelay, 40
    	SetKeyDelay, 40, 40
    	WinWait, Snipping Tool
    	MouseClickDrag, L, CaptureX1, CaptureY1, CaptureX2, CaptureY2, 1
    	WinWaitActive, Snipping Tool
    	SendInput ^s
    	WinWait, Save As
    	SendInput %CaptureName%.png
    	SendInput !d
    	SendInput %A_ScriptDir%
    	SendInput !s
    	WinWait, Confirm Save As, , 0.001
    		{
    		SendInput !y
    		ImageRepeat:= 1
    		}
    	WinWaitActive, Snipping Tool
    	SendInput !fx
    		If (CaptureX1 >= 1410 AND CaptureX2 <= 1605 AND CaptureY1 >= 410 AND CaptureY2 <= 925) {
    			CaptureX1 -= 5
    			CaptureY1 -= 5
    			CaptureX2 += 5
    			CaptureY2 += 5
    			Loop, 20 {
    				ImageSearch, %TempName%X, %TempName%Y, CaptureX1, CaptureY1, CaptureX2, CaptureY2, *10 %CaptureName%.png
    					If(ErrorLevel = 2 AND A_Index = 20)
    						MsgBox Could Not perform scan
    					If(ErrorLevel = 1 AND A_Index = 20)
    						MsgBox Could Not Find Scan %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						Send, {Click}
    							If (ImageRepeat = 1) {
    								Loop {
    										If (CaptureName = CaptureName%A_Index%) {
    											N:= A_Index
    											break
    										}
    								}
    							} Else {
    								ScanCount+= 1
    								N:= ScanCount
    							}
    						Name%N%:= TempName
    						Line%N%:= TempLine
    						IconToggle%N%:= 1
    						IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    						IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    						IniWrite, % %TempName%X, UnrapeKitConfig.ini, SpellCoordinates, %TempName%X
    						IniWrite, % %TempName%Y, UnrapeKitConfig.ini, SpellCoordinates, %TempName%Y
    						IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    						IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    						Break
    					}
    			Sleep, 10
    			}
    		}
    	SetMouseDelay, %MouseDelay%
    	SetKeyDelay, %KeyDelay1%, %KeyDelayPress%
    	Reload
    Return
    	
    ScanConfig:
    	IniRead, ScanCount, UnrapeKitConfig.ini, ScanCount, ScanCount
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y5 w200 h26, Icons Count:
    	Gui, Add, Text, x10 y33 w120 h26, Scans:
    	Gui, Add, Edit, x145 y30 w30 h21 vScanCount, %ScanCount%
    	Gui, Add, Button, x10 y70 w90 h20 gScanDefinitions Default, Definitions
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Scan Count
    Return
    
    ScanDefinitions:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %ScanCount%, UnrapeKitConfig.ini, ScanCount, ScanCount
    	N:= 1
    		Loop, %ScanCount% {
    			IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    			IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    			NameN:= % Name%N%
    			LineN:= % Line%N%
    			N+= 1
    		}
    	N:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	MouseGetPos, Xpos, Ypos
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, X10 Y10, Toggle`, SpellName`, Line# (Bottom to Top)
    	Loop, %ScanCount% {
    		GuiY:= 50 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 95
    			If (GuiY > ScreenHeight) {
    					W+= 1
    					HMax:= H
    					H= 1
    			}
    		Y1:= 18 + 30 * H
    		Y2:= 15 + 30 * H
    		GuiWidth:= 240 * W
    			If (W = 1) {
    				GuiHeight:= 105 + 30 * H
    				AddHeight:= 48 + 30 * H
    				AddButtonHeight:= 45 + 30 * H
    				ButtonHeight:= 75 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 105 + 30 * HMax
    				AddHeight:= 48 + 30 * HMax
    				AddButtonHeight:= 45 + 30 * HMax
    				ButtonHeight:= 75 + 30 * HMax
    			}
    		Button1Width:= GuiWidth - 200
    		Button2Width:= GuiWidth - 100
    		TextWidth:= GuiWidth - 215
    		CheckboxWidth:= GuiWidth - 195
    		NameWidth:= GuiWidth - 175
    		LineWidth:= GuiWidth - 45
    		Gui, Add, Text, x%TextWidth% Y%Y1%, %N%
    		Gui, Add, Checkbox, % " x" CheckboxWidth " y" Y1 " h13 w13 vIconToggle" N " Checked" IconToggle%N%
    		Gui, Add, Edit, x%NameWidth% y%Y2% w120 h20 vName%N%, % Name%N%
    		Gui, Add, Edit, x%LineWidth% y%Y2% w20 h20 vLine%N%, % Line%N%
    			If (A_Index = ScanCount) {
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x10 y%AddButtonHeight% w90 h20 gAddScan, Add
    				Gui, Add, Text, x110 y%AddHeight%, Add
    				Gui, Add, Edit, x140 y%AddButtonHeight% w30 h20 vXDefinitions
    				Gui, Add, Text, x180 y%AddHeight%, Definition(s)
    				Gui, Add, Button, x%Button1Width% y%ButtonHeight% w90 h20 gScanWrite Default, Record
    				Gui, Add, Button, x%Button2Width% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Scan Configuration
    				Break
    			}
    		N+= 1
    		H+= 1
    	}
    Return
    
    AddScan:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	ScanCount+= %XDefinitions%
    	Gosub ScanDefinitions
    Return
    
    ScanWrite:
    	Gui, Submit
    	Gui, Destroy
    	N:= 1
    	Loop, %ScanCount% {
    		IniWrite, % IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    		IniWrite, % Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    		IniWrite, % Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    		N+=1
    	}
    	Gosub SpellScan
    Return
    
    SpellScan:
    	N:= 1
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, 1660, 1025 ; t
    	Sleep, %Delay%
    	MouseClick, , 1660, 1025 ; t
    	Sleep, %Delay%
    	Loop, %ScanCount% {
    		IniRead, IconToggle%N%, UnrapeKitConfig.ini, IconToggle, IconToggle%N%
    			If (IconToggle%N% = 1) {
    				IniRead, Name%N%, UnrapeKitConfig.ini, Names, Name%N%
    				IniRead, Line%N%, UnrapeKitConfig.ini, Lines, Line%N%
    				NameN:= % Name%N%
    				LineN:= % Line%N%
    				ImageSearch, %NameN%X, %NameN%Y, 1410, 410, 1605, 925, *10 %NameN%%LineN%.png
    					If(ErrorLevel = 0) {
    						IniWrite, % %NameN%X, UnrapeKitConfig.ini, SpellCoordinates, %NameN%X
    						IniWrite, % %NameN%Y, UnrapeKitConfig.ini, SpellCoordinates, %NameN%Y
    					}
    			}
    		N+= 1
    	}
    	Send, {Esc}
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	MouseMove, Xpos, Ypos
    	BlockInput, MouseMoveOff
    Return
    
    DelayConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 220
    	GuiHeight:= 160
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Server Latency (ms)
    	Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    	Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    	Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    	Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    	Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    	Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    	Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    	Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    	Gui, Add, Button, x20 y130 w90 h20 gDelayConfigRecord Default, Record
    	Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Delay configuration
    Return
    
    DelayConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    	Reload
    Return
    
    HotkeyConfig:
    	MouseGetPos, Xpos, Ypos
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Hotkeys wanted:
    	Gui, Add, Text, x50 y33, 200 Hotkeys Maximum
    	Gui, Add, Edit, x10 y30 w30 h20 vHotkeyLimit, %HotkeyLimit%
    	Gui, Add, Button, x10 y70 w90 h20 gHKeyEdit Default, Hotkeys
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Hotkey Count
    Return
    
    HkeyEdit:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, %HotkeyLimit%, UnrapeKitConfig.ini, Hotkeys, HotkeyLimit
    	Hk:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	MouseGetPos, Xpos, Ypos
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    		If HotkeyLimit Between 1 and 200
    			Loop, %HotkeyLimit% {
    				GuiY:= 120 + 30 * H
    				ScreenHeight:= A_ScreenHeight - 45
    					If (GuiY > ScreenHeight) {
    						W+= 1
    						HMax:= H
    						H= 1
    					}
    				Y1:= 13 + 30 * H
    				Y2:= 10 + 30 * H
    				GuiWidth:= 610 * W
    					If (W = 1) {
    						GuiHeight:= 80 + 30 * H
    						ButtonHeight:= 50 + 30 * H
    						ButtonTxtHeight:= 53 + 30 * H
    					}
    					If (W > 1) {
    						GuiHeight:= 80 + 30 * HMax
    						ButtonHeight:= 50 + 30 * HMax
    						ButtonTxtHeight:= 53 + 30 * HMax
    					}
    				Button1X:= GuiWidth - 300
    				Button2X:= GuiWidth - 200
    				Button3X:= GuiWidth - 100
    				Text1X:= GuiWidth - 590
    				CheckboxX:= GuiWidth - 570
    				Radio1X:= GuiWidth - 520
    				Radio2X:= GuiWidth - 480
    				Radio3X:= GuiWidth - 440
    				Radio4X:= GuiWidth - 400
    				Radio5X:= GuiWidth - 360
    				Radio6X:= GuiWidth - 320
    				Radio7X:= GuiWidth - 280
    				EditX:= GuiWidth - 240
    				EditButtonX:= GuiWidth -100
    				CheckboxTxt:= GuiWidth - 583
    				Radio1Txt:= GuiWidth - 530
    				Radio2Txt:= GuiWidth - 490
    				Radio3Txt:= GuiWidth - 450
    				Radio4Txt:= GuiWidth - 410
    				Radio5Txt:= GuiWidth - 370
    				Radio6Txt:= GuiWidth - 330
    				Radio7Txt:= GuiWidth - 290
    				EditTxt:= GuiWidth - 220
    				EditButtonTxt:= GuiWidth -85
    				Gui, Add, Text, x%CheckboxTxt% y20,Toggle
    				Gui, Add, Text, x%Radio1Txt% y20,Type 1
    				Gui, Add, Text, x%Radio2Txt% y20,Type 2
    				Gui, Add, Text, x%Radio3Txt% y20,Type 3
    				Gui, Add, Text, x%Radio4Txt% y20,Type 4
    				Gui, Add, Text, x%Radio5Txt% y20,Type 5
    				Gui, Add, Text, x%Radio6Txt% y20,Type 6
    				Gui, Add, Text, x%Radio7Txt% y20,Type 7
    				Gui, Add, Text, x%EditTxt% y20, Hotkey Shortcut
    				Gui, Add, Text, x%EditButtonTxt% y20, Hotkey Edit
    				Gui, Add, Text, x%Text1X% y%Y1%, %Hk%
    				Gui, Add, Checkbox, % "X" CheckboxX " Y" Y1 " h13 w13 vHKey" Hk "Toggle Checked" HKey%Hk%Toggle
    				Gui, Add, Radio, % "x" Radio1X " y" Y1 " h13 w13 vHkey" Hk "Type1 Checked" HKey%Hk%Type1,1
    				Gui, Add, Radio, % "x" Radio2X " y" Y1 " h13 w13 vHkey" Hk "Type2 Checked" HKey%Hk%Type2,2
    				Gui, Add, Radio, % "x" Radio3X " y" Y1 " h13 w13 vHkey" Hk "Type3 Checked" HKey%Hk%Type3,3
    				Gui, Add, Radio, % "x" Radio4X " y" Y1 " h13 w13 vHkey" Hk "Type4 Checked" HKey%Hk%Type4,4
    				Gui, Add, Radio, % "x" Radio5X " y" Y1 " h13 w13 vHkey" Hk "Type5 Checked" HKey%Hk%Type5,5
    				Gui, Add, Radio, % "x" Radio6X " y" Y1 " h13 w13 vHkey" Hk "Type6 Checked" HKey%Hk%Type6,6
    				Gui, Add, Radio, % "x" Radio7X " y" Y1 " h13 w13 vHkey" Hk "Type7 Checked" HKey%Hk%Type7,7
    				Gui, Add, Edit, x%EditX% y%Y2% w120 h20 vHkey%Hk%Shortcut, % Hkey%Hk%Shortcut
    				Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditHk, %Hk%
    					If (A_Index = HotkeyLimit) {
    						X_Offset:= GuiWidth/2
    						Y_Offset:= GuiHeight/2
    						X_Limit:= A_ScreenWidth - X_Offset
    						Y_Limit:= A_ScreenHeight - Y_Offset
    						Mouse_X:= Xpos - X_Offset
    						Mouse_Y:= Ypos - Y_Offset
    							If Xpos between 0 and %X_Offset%
    								Move_X:= 0
    							If Xpos between %X_Offset% and %X_Limit%
    								Move_X:= Mouse_X
    							If Xpos between %X_Limit% and %A_ScreenWidth%
    								Move_X:= A_ScreenWidth - GuiWidth
    							If Ypos between 0 and %Y_Offset%
    								Move_Y:= 0
    							If Ypos between %Y_Offset% and %Y_Limit%
    								Move_Y:= Mouse_Y
    							If Ypos between %Y_Limit% and %A_ScreenHeight%
    								Move_Y:= A_ScreenHeight - GuiHeight - 30
    						Gui, Add, Button, x10 y%ButtonHeight% w90 H20 gHkAdd, Add
    						Gui, Add, Text, x110 y%ButtonTxtHeight%,Add
    						Gui, Add, Edit, x140 y%ButtonHeight% w20 h20 vHotkeyAdd
    						Gui, Add, Text, x170 y%ButtonTxtHeight%,Hotkey(s)
    						Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gRecordHks Default, Record
    						Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gSetHKs, Configure
    						Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    						Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Hotkey Configuration
    						Break
    					}
    			Hk+= 1
    			H+= 1
    			}
    Return
    
    HkAdd:
    	Gui, Submit
    	Gui, Destroy
    	HotkeyLimit+= %HotkeyAdd%
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Gosub HkeyEdit
    Return
    
    RecordHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Reload
    Return
    
    SetHKs:
    	Gui, Submit
    	Gui, Destroy
    	Hk:= 1
    	Loop, %HotkeyLimit% {
    		IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    		IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    		IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    		IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    		IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    		IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    		IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    		IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    		IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    			If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    				Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    		Hk+= 1
    	}
    	Hk:= 1
    	Gosub HkTypeConfigLoop
    Return
    
    EditHk:
    	A_GuiControlHk:= A_GuiControl
    	Hk:= A_GuiControlHk
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%Toggle = 0)
    			Hkey%Hk%Toggle = 1
    	IniWrite, % Hkey%Hk%Toggle, UnrapeKitConfig.ini, HotkeyToggle, HKey%Hk%Toggle
    	IniWrite, % HKey%Hk%Type1, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type1
    	IniWrite, % HKey%Hk%Type2, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type2
    	IniWrite, % HKey%Hk%Type3, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type3
    	IniWrite, % HKey%Hk%Type4, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type4
    	IniWrite, % HKey%Hk%Type5, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type5
    	IniWrite, % HKey%Hk%Type6, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type6
    	IniWrite, % HKey%Hk%Type7, UnrapeKitConfig.ini, HotkeyType, HKey%Hk%Type7
    	IniWrite, % Hkey%Hk%Shortcut, UnrapeKitConfig.ini, HotkeyShortcut, Hkey%Hk%Shortcut
    		If (Hkey%Hk%Shortcut !=  AND Hkey%Hk%Toggle = 1)
    			Hotkey, % Hkey%Hk%Shortcut, Hotkey%Hk%
    	Gosub HkTypeConfigLoop
    Return
    
    HkTypeConfigLoop:
    	Loop {
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type1 = 1) {
    				Gosub ConfigType1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type2 = 1) {
    				Gosub ConfigType2
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type3 = 1) {
    				Gosub ConfigType3
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type4 = 1) {
    				Gosub ConfigType4
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type5 = 1) {
    				Gosub GemSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type6 = 1) {
    				Gosub EquipSwap1
    				Break
    			}
    			If (Hkey%Hk%Toggle = 1 AND Hkey%Hk%Type7 = 1) {
    				Gosub XTypeConfig
    				Break
    			}
    			If (Hkey%Hk%Toggle = 0) {
    				Gosub HkLoopAdd
    				Break
    			}
    			If (Hk > HotKeyLimit) {
    				Reload
    				Break
    			}
    	}
    Return
    
    HkLoopAdd:
    		If (A_GuiControlHk is Integer) {
    			Gosub Delay
    		Return
    		}
    	Hk+= 1
    	Goto, HkTypeConfigLoop
    Return
    
    ConfigType1:
    	GuiWidth:= 210
    	GuiHeight:= 260
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 1"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 w140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Edit, x10 y130 w20 h20 vXTriggeredCount%Hk%, % XTriggeredCount%Hk%
    	Gui, Add, Edit, x10 y160 w30 h20 vScanDelay%Hk%, % ScanDelay%Hk%
    	Gui, Add, Edit, x10 y190 w30 h20 vT1Cooldown%Hk%, % T1Cooldown%Hk%
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Text, x40 y133, Extra Triggered Spells
    	Gui, Add, Text, x50 y163, Scan Loop Delay, ms
    	Gui, Add, Text, x50 y193, Spell 1 Cooldown, ms
    	Gui, Add, Button, x10 y230 w90 h20 gTriggered1 Default, Define
    	Gui, Add, Button, x110 y230 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    Return
    
    Triggered1:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	IniWrite, % XTriggeredCount%Hk%, UnrapeKitConfig.ini, XtriggeredCount, XTriggeredCount%Hk%
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % ScanDelay%Hk%, UnrapeKitConfig.ini, Delay, ScanDelay%Hk%
    	IniWrite, % T1Cooldown%Hk%, UnrapeKitConfig.ini, Delay, T1Cooldown%Hk%
    		If XTriggeredCount%Hk% = 0
    			Gosub TriggeredWrite
    	Gui, -0x80000 AlwaysOnTop
    	Loop, % XTriggeredCount%Hk% {
    		Y1:= 30 * TrigN - 27
    		Y2:= 30 * TrigN - 30
    		Y3:= 30 * TrigN + 3
    		Y4:= 30 * TrigN
    		Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut ": Additional Spells"
    		Gui, Add, Text, x10 y30, Toggle`, SpellName
    		Gui, Add, Checkbox, % "x10 y" Y1 " h13 w13 vTriggerToggle" TrigN "_" Hk " Checked" TriggerToggle%TrigN%_%Hk%
    		Gui, Add, Edit, x41 y%Y2% w140 h20 vHKey%Hk%Spell%TrigN%, % HKey%Hk%Spell%TrigN%
    		Gui, Add, Text, x191 y%Y1%, % "Spell " TrigN ", Cooldown"
    		Gui, Add, Edit, x291 y%Y2% w40 h20 vHKey%Hk%T1Cooldown%TrigN%, % HKey%Hk%T1Cooldown%TrigN%
    		Gui, Add, Text, x341 y%Y1%, ms
    			If (A_Index = XTriggeredCount%Hk%) {
    				GuiWidth:= 370
    				GuiHeight:= 40 + 30 * TrigN
    				ButtonHeight:= 30 * TrigN + 10
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x170 y%ButtonHeight% w90 h20 gTriggeredWrite Default, Record
    				Gui, Add, Button, x270 y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, W%GuiWidth% H%GuiHeight% X%Move_X% Y%Move_Y%, Auto Caster
    				Break
    			}
    		TrigN+= 1
    	}
    Return
    
    TriggeredWrite:
    	Gui, Submit
    	Gui, Destroy
    	TrigN:= 3
    	Loop, % XTriggeredCount%Hk% {
    		IniWrite, % TriggerToggle%TrigN%_%Hk%, UnrapeKitConfig.ini, XTriggeredToggle, TriggerToggle%TrigN%_%Hk%
    		IniWrite, % HKey%Hk%Spell%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%Spell%TrigN%
    		IniWrite, % HKey%Hk%T1Cooldown%TrigN%, UnrapeKitConfig.ini, XTriggeredSpells, HKey%Hk%T1Cooldown%TrigN%
    		TrigN+=1
    	}
    	Gosub KeyWrite
    Return
    
    ConfigType2:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 200
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 2"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 h20 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut Key
    	Gui, Add, Checkbox, % "x10 y130 h13 w13 vType2MoveToggleHotkey" Hk " Checked" Type2MoveToggleHotkey%Hk%, Move mouse before Spell 1 cast
    	Gui, Add, Button, x10 y170 w90 h20 gWrite2 Default, Define
    	Gui, Add, Button, x110 y170 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Swap Caster
    Return
    
    Write2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	IniWrite, % Type2MoveToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type2MoveToggleHotkey%Hk%
    	Gosub KeyWrite
    Return
    
    ConfigType3:
    	SysGet, SGW, 71
    	GuiWidth:= 210
    	GuiHeight:= 220
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 3"
    	Gui, Add, Edit, x10 y40 W140 h20 vHKey%Hk%Spell1, % HKey%Hk%Spell1
    	Gui, Add, Edit, x10 y70 W140 vHKey%Hk%Spell2, % HKey%Hk%Spell2
    	Gui, Add, Edit, x10 y100 W70 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x160 y73, Spell 2
    	Gui, Add, Text, x90 y103, Shortcut key
    	Gui, Add, Checkbox, % "x10 y130 h13 w13 vType3Cast1ToggleHotkey" Hk " Checked" Type3Cast1ToggleHotkey%Hk%, Cast Spell 1
    	Gui, Add, Checkbox, % "x10 y160 h13 w13 vType3Cast2ToggleHotkey" Hk " Checked" Type3Cast2ToggleHotkey%Hk%, Cast Spell 2
    	Gui, Add, Button, x10 y190 w90 h20 gWrite3 Default, Define
    	Gui, Add, Button, x110 y190 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Shortcut Reset
    Return
    
    Write3:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1
    	IniWrite, % HKey%Hk%Spell2, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell2
    	IniWrite, % Type3Cast1ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast1ToggleHotkey%Hk%
    	IniWrite, % Type3Cast2ToggleHotkey%Hk%, UnrapeKitConfig.ini, HotkeySpells, Type3Cast2ToggleHotkey%Hk%
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    ConfigType4:
    	GuiWidth:= 210
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, 0x80 x10 y10, % "Hotkey " Hk ": " Hkey%Hk%Shortcut " - Type 4"
    	Gui, Add, Edit, x10 y40 w140 h20 vHKey%Hk%Spell1T4, % HKey%Hk%Spell1T4
    	Gui, Add, Edit, x10 y70 w70 h20 vHKey%Hk%Key, % HKey%Hk%Key
    	Gui, Add, Text, x160 y43, Spell 1
    	Gui, Add, Text, x90 y73, Shortcut key
    	Gui, Add, Button, x10 y110 w90 h20 gWrite4 Default, Define
    	Gui, Add, Button, x110 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Spell Toggle
    Return
    
    Write4:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%Spell1T4, UnrapeKitConfig.ini, HotkeySpells, HKey%Hk%Spell1T4
    	IniWrite, % HKey%Hk%Key, UnrapeKitConfig.ini, HotkeyKey, HKey%Hk%Key
    	Gosub KeyWrite
    Return
    
    KeyWrite:
    		If (HKey%Hk%Key = "Q") {
    			KeyX_%Hk%:= 1440
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "W") {
    			KeyX_%Hk%:= 1495
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "E") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "R") {
    			KeyX_%Hk%:= 1605
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "T") {
    			KeyX_%Hk%:= 1655
    			KeyY_%Hk%:= 1045
    		}
    		If (HKey%Hk%Key = "LButton") {
    			KeyX_%Hk%:= 1550
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "MButton") {
    			KeyX_%Hk%:= 1600
    			KeyY_%Hk%:= 975
    		}
    		If (HKey%Hk%Key = "RButton") {
    			KeyX_%Hk%:= 1650
    			KeyY_%Hk%:= 975
    		}
    	IniWrite, % KeyX_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyX_%Hk%
    	IniWrite, % KeyY_%Hk%, UnrapeKitConfig.ini, KeyCoordinates, KeyY_%Hk%
    	Gosub HkLoopAdd
    Return
    
    GemSwap1:
    	Swap:= "GemSwap1"
    	Gosub Swap
    Return
    
    GemSwap2:
    	Swap:= "GemSwap2"
    	Gosub Swap
    return
    
    EquipSwap1:
    	Swap:= "EquipSwap1"
    	GoSub Swap
    Return
    
    EquipSwap2:
    	Swap:= "EquipSwap2"
    	GoSub Swap
    Return
    
    Swap:
    	Gosub LCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniRead, Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniRead, Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniRead, Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniRead, Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniRead, Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    	IniRead, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    	IniRead, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "GemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "EquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	Gui, Color, 0x050505
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, Add, Radio, % "x29 y511 w13 h13 v" Swap "RadioL1C1Hotkey" Hk " Checked" %Swap%RadioL1C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C2Hotkey" Hk " Checked" %Swap%RadioL1C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C3Hotkey" Hk " Checked" %Swap%RadioL1C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C4Hotkey" Hk " Checked" %Swap%RadioL1C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C5Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C6Hotkey" Hk " Checked" %Swap%RadioL1C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C7Hotkey" Hk " Checked" %Swap%RadioL1C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C8Hotkey" Hk " Checked" %Swap%RadioL1C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C9Hotkey" Hk " Checked" %Swap%RadioL1C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL1C10Hotkey" Hk " Checked" %Swap%RadioL1C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C11Hotkey" Hk " Checked" %Swap%RadioL1C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL1C12Hotkey" Hk " Checked" %Swap%RadioL1C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y563 w13 h13 v" Swap "RadioL2C1Hotkey" Hk " Checked" %Swap%RadioL2C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C2Hotkey" Hk " Checked" %Swap%RadioL2C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C3Hotkey" Hk " Checked" %Swap%RadioL2C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C4Hotkey" Hk " Checked" %Swap%RadioL2C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C5Hotkey" Hk " Checked" %Swap%RadioL2C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C6Hotkey" Hk " Checked" %Swap%RadioL2C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C7Hotkey" Hk " Checked" %Swap%RadioL2C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C8Hotkey" Hk " Checked" %Swap%RadioL2C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C9Hotkey" Hk " Checked" %Swap%RadioL2C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL2C10Hotkey" Hk " Checked" %Swap%RadioL2C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C11Hotkey" Hk " Checked" %Swap%RadioL2C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL2C12Hotkey" Hk " Checked" %Swap%RadioL2C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y616 w13 h13 v" Swap "RadioL3C1Hotkey" Hk " Checked" %Swap%RadioL3C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C2Hotkey" Hk " Checked" %Swap%RadioL3C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C3Hotkey" Hk " Checked" %Swap%RadioL3C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C4Hotkey" Hk " Checked" %Swap%RadioL3C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C5Hotkey" Hk " Checked" %Swap%RadioL3C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C6Hotkey" Hk " Checked" %Swap%RadioL3C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C7Hotkey" Hk " Checked" %Swap%RadioL3C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C8Hotkey" Hk " Checked" %Swap%RadioL3C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C9Hotkey" Hk " Checked" %Swap%RadioL3C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL3C10Hotkey" Hk " Checked" %Swap%RadioL3C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C11Hotkey" Hk " Checked" %Swap%RadioL3C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL3C12Hotkey" Hk " Checked" %Swap%RadioL3C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y669 w13 h13 v" Swap "RadioL4C1Hotkey" Hk " Checked" %Swap%RadioL4C1Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C2Hotkey" Hk " Checked" %Swap%RadioL4C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C3Hotkey" Hk " Checked" %Swap%RadioL4C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C4Hotkey" Hk " Checked" %Swap%RadioL4C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C5Hotkey" Hk " Checked" %Swap%RadioL4C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C6Hotkey" Hk " Checked" %Swap%RadioL4C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C7Hotkey" Hk " Checked" %Swap%RadioL4C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C8Hotkey" Hk " Checked" %Swap%RadioL4C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C9Hotkey" Hk " Checked" %Swap%RadioL4C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL4C10Hotkey" Hk " Checked" %Swap%RadioL4C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C11Hotkey" Hk " Checked" %Swap%RadioL4C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL4C12Hotkey" Hk " Checked" %Swap%RadioL4C12Hotkey%Hk%
    	Gui, Add, Radio, % " x29 y721 w13 h13 v" Swap "RadioL5C1Hotkey" Hk " Checked" %Swap%RadioL1C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C2Hotkey" Hk " Checked" %Swap%RadioL5C2Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C3Hotkey" Hk " Checked" %Swap%RadioL5C3Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C4Hotkey" Hk " Checked" %Swap%RadioL5C4Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C5Hotkey" Hk " Checked" %Swap%RadioL5C5Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C6Hotkey" Hk " Checked" %Swap%RadioL5C6Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C7Hotkey" Hk " Checked" %Swap%RadioL5C7Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C8Hotkey" Hk " Checked" %Swap%RadioL5C8Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C9Hotkey" Hk " Checked" %Swap%RadioL5C9Hotkey%Hk%
    	Gui, Add, Radio, % " x+37 w13 h13 v" Swap "RadioL5C10Hotkey" Hk " Checked" %Swap%RadioL5C10Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C11Hotkey" Hk " Checked" %Swap%RadioL5C11Hotkey%Hk%
    	Gui, Add, Radio, % " x+38 w13 h13 v" Swap "RadioL5C12Hotkey" Hk " Checked" %Swap%RadioL5C12Hotkey%Hk%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk " Checked" RightFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk " Checked" LeftFingerSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk " Checked" AmuletSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk " Checked" BeltRightSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk " Checked" BeltCenterSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk " Checked" BeltLeftSocket%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk " Checked" Flask1%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk " Checked" Flask2%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk " Checked" Flask3%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk " Checked" Flask4%Swap%Hotkey%Hk%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk " Checked" Flask5%Swap%Hotkey%Hk%
    	Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    	Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		If (Swap = "GemSwap2") OR (Swap = "EquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Button1X:= 40
    			Button2X:= 460
    			ButtonY:= 450
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Tab, 2
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			Gui, Color, 0x050505
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    			Gui, Add, Button, x550 y772 w90 h20 gCancel, Reload
    			Gui, Add, Button, x450 y772 w90 h20 gSwapCoord Default, Select
    		}
    		If (Swap = "GemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap"
    		If (Swap = "EquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap"
    		If (Swap = "GemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "EquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    Return
    
    LCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    SwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub LCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, HelmetMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, GlovesMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsTopLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsBottomLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BootsMiddleSocket%Swap%Hotkey%Hk%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftFingerSocket%Swap%Hotkey%Hk%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, AmuletSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltRightSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltCenterSocket%Swap%Hotkey%Hk%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, BeltLeftSocket%Swap%Hotkey%Hk%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask1%Swap%Hotkey%Hk%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask2%Swap%Hotkey%Hk%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask3%Swap%Hotkey%Hk%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask4%Swap%Hotkey%Hk%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, Flask5%Swap%Hotkey%Hk%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1380
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1355
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1405
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1795
    			%Swap%Hotkey%Hk%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1765
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1770
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1820
    			%Swap%Hotkey%Hk%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1430
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1455
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1560
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1615
    			%Swap%Hotkey%Hk%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1740
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1715
    			%Swap%Hotkey%Hk%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1485
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1690
    			%Swap%Hotkey%Hk%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1565
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1585
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1605
    			%Swap%Hotkey%Hk%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1487
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1540
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1592
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1645
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk% = 1) {
    			%Swap%Hotkey%Hk%_X = 1697
    			%Swap%Hotkey%Hk%_Y = 515
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) OR (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1380
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1355
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1405
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1795
    					%Swap%AltHotkey%Hk%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1765
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1770
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk% = 1) {
    					%Swap%AltHotkey%Hk%_X = 1820
    					%Swap%AltHotkey%Hk%_Y = 225
    				}
    		}
    		If (Swap = "GemSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub GemSwap2
    		Return
    		}
    		If (Swap = "EquipSwap1") {
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub EquipSwap2
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 1) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 1) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%Hotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_X
    			IniWrite, % %Swap%Hotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%Hotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "GemSwap2" AND GemSwapTab_%Hk% = 2) {
    			IniWrite, % GemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, GemSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    		If (Swap = "EquipSwap2" AND EquipSwapTab_%Hk% = 2) {
    			IniWrite, % EquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, EquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltHotkey%Hk%_X, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_X
    			IniWrite, % %Swap%AltHotkey%Hk%_Y, UnrapeKitConfig.ini, %Swap%Coordinates, %Swap%AltHotkey%Hk%_Y
    			Gosub Delay
    		Return
    		}
    Return
    
    LCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % %Swap%RadioL%L%C%C%Hotkey%Hk%, UnrapeKitConfig.ini, %Swap%Position, %Swap%RadioL%L%C%C%Hotkey%Hk%
    			If (%Swap%RadioL%L%C%C%Hotkey%Hk% = 1) {
    				%Swap%Hotkey%Hk%_X:= 1240 + (C*53)
    				%Swap%Hotkey%Hk%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    Delay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gDelayRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub DelayRecord
    Return
    
    DelayRecord:
    		If (DelayN = 1) {
    			Gui, Submit
    			Gui, Destroy
    			DelayN+= 1
    			IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    			IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    			IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    			IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    			IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		}
    		If (A_GuiControlHk is Integer) {
    			DelayN+= 1
    			Gosub HkeyEdit
    		}
    		Else {
    			Hk+= 1
    			Gosub HkTypeConfigLoop
    		}
    Return
    
    XTypeConfig:
    	MouseGetPos, Xpos, Ypos
    	XTypeConfigRecord:= 0
    	GuiWidth:= 210
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x40 y10, Extra Type configuration
    	Gui, Add, Edit, x10 y40 w30 h20 vHkey%Hk%Iterations, % Hkey%Hk%Iterations
    	Gui, Add, Text, x50 y43, % "Iterations Hotkey " Hk
    	Gui, Add, Button, x10 y70 w90 h20 gXTypeConfig2 Default, Configure
    	Gui, Add, Button, x110 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Extra Type
    Return
    
    XTypeConfig2:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	MouseGetPos, Xpos, Ypos
    	XT:= 1
    	H:= 1
    	W:= 1
    	HMax:= 1
    	SysGet, SGW, 71
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, Options:
    	Gui, Add, Text, x10 y40, Toggle
    	Gui, Add, Text, x10 y70, !Toggle
    	Gui, Add, Text, x10 y100, ImageSearch
    	Gui, Add, Text, x10 y130, GetMousePos
    	Gui, Add, Text, x10 y160, GoMousePos
    	Gui, Add, Text, x10 y190, SpellScan
    	Gui, Add, Text, x10 y220, Spell
    	Gui, Add, Text, x10 y250, SendInput
    	Gui, Add, Text, x10 y280, MouseMove
    	Gui, Add, Text, x10 y310, Delay
    	Gui, Add, Text, x10 y340, GemSwap
    	Gui, Add, Text, x10 y370, EquipmentSwap
    	Gui, Add, Text, x10 y400, Add
    	Gui, Add, Edit, x110 y400 w20 h20 vHkey%Hk%XIterations
    	Gui, Add, Text, x140 y403, Iteration(s)
    	Gui, Add, Button, x10 y400 w90 h20 gXTypeConfi***dd, Add
    	Loop, % Hkey%Hk%Iterations {
    		GuiY:= 60 + 30 * H
    		ScreenHeight:= A_ScreenHeight - 45
    			If (GuiY > ScreenHeight) {
    				W+= 1
    				HMax:= H
    				H= 1
    			}
    		Y1:= 8 + 30 * H
    		Y2:= 5 + 30 * H
    		GuiWidth:= 160 + 360 * W
    			If (W = 1) {
    				GuiHeight:= 70 + 30 * H
    				ButtonHeight:= 40 + 30 * H
    			}
    			If (W > 1) {
    				GuiHeight:= 70 + 30 * HMax
    				ButtonHeight:= 40 + 30 * HMax
    			}
    		Button1X:= GuiWidth - 300
    		Button2X:= GuiWidth - 200
    		Button3X:= GuiWidth - 100
    		CheckboxX:= GuiWidth - 310
    		EditButtonX:= GuiWidth - 100
    		EditX:= GuiWidth - 280
    		TextX:= GuiWidth - 170
    		Gui, Add, Checkbox, % "x" CheckboxX " y" Y1 " w13 h13 vHkey" Hk "Iteration" XT "Toggle Checked" Hkey%Hk%Iteration%XT%Toggle
    		Gui, Add, Edit, x%EditX% y%Y2% w100 h20 vHkey%Hk%Iteration%XT%, % Hkey%Hk%Iteration%XT%
    		Gui, Add, Text, x%TextX% y%Y1%, % "Iteration " XT
    		Gui, Add, Button, x%EditButtonX% y%Y2% w90 h20 gEditXT, %A_Index%
    			If (XT = Hkey%Hk%Iterations) {
    					If ButtonHeight < 400
    						ButtonHeight = 400
    					If GuiHeight < 430
    						GuiHeight = 430
    				X_Offset:= GuiWidth/2
    				Y_Offset:= GuiHeight/2
    				X_Limit:= A_ScreenWidth - X_Offset
    				Y_Limit:= A_ScreenHeight - Y_Offset
    				Mouse_X:= Xpos - X_Offset
    				Mouse_Y:= Ypos - Y_Offset
    					If Xpos between 0 and %X_Offset%
    						Move_X:= 0
    					If Xpos between %X_Offset% and %X_Limit%
    						Move_X:= Mouse_X
    					If Xpos between %X_Limit% and %A_ScreenWidth%
    						Move_X:= A_ScreenWidth - GuiWidth
    					If Ypos between 0 and %Y_Offset%
    						Move_Y:= 0
    					If Ypos between %Y_Offset% and %Y_Limit%
    						Move_Y:= Mouse_Y
    					If Ypos between %Y_Limit% and %A_ScreenHeight%
    						Move_Y:= A_ScreenHeight - GuiHeight - 30
    				Gui, Add, Button, x%Button1X% y%ButtonHeight% w90 h20 gXTypeConfigRecord Default, Record
    				Gui, Add, Button, x%Button2X% y%ButtonHeight% w90 h20 gXTypeConfig3, Configure
    				Gui, Add, Button, x%Button3X% y%ButtonHeight% w90 h20 gCancel, Reload
    				Gui, Show, x%Move_X% y%Move_Y% w%GuiWidth% h%GuiHeight%, Iteration Configuration
    				Break
    			}
    		XT+= 1
    		H+= 1
    	}
    Return
    
    EditXT:
    	A_GuiControlXT:= A_GuiControl
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= A_GuiControlXT
    		If (Hkey%Hk%Iteration%XT%Toggle = 0)
    			Hkey%Hk%Iteration%XT%Toggle = 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfigRecord:
    	Gui, Submit
    	Gui, Destroy
    	XTypeConfigRecord:= 1
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeDelay
    Return
    
    XTypeConfi***dd:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%Iterations+= % Hkey%Hk%XIterations
    		Gosub XTypeConfig2
    Return
    	
    XTypeConfig3:
    	Gui, Submit
    	Gui, Destroy
    	XT:= 1
    	Loop, % Hkey%Hk%Iterations {
    		IniWrite, % Hkey%Hk%Iteration%XT%Toggle, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%Toggle
    		IniWrite, % Hkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iteration%XT%
    		XT+= 1
    	}
    	XT:= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeConfig4:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXT > 0)
    			A_GuiControlXTypeConfig4:= A_GuiControlXT
    	IniRead, Hkey%Hk%Iterations, UnrapeKitConfig.ini, XTypeHotkey%Hk%, Hkey%Hk%Iterations
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						Gosub XTypeToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle") {
    						Gosub XType!ToggleConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						Gosub XTypeImageSearch
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    						Gosub XTypeGetMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						Gosub XTypeGoMousePos
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan") {
    						Gosub XTypeLoopAdd
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    						Gosub XTypeSpell
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						Gosub XTypeSend
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						Gosub XTypeMouseMove
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Gosub XTypeDelayConfig
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						Gosub XTypeGemSwap1
    						Break
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						Gosub XTypeEquipSwap1
    						Break
    					}
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 0) {
    				Gosub XTypeLoopAdd
    				Break
    			}
    			If (XT >= Hkey%Hk%Iterations) {
    				Gosub HkLoopAdd
    				Break
    			}
    	}
    Return
    
    XTypeMsg:
    	MsgBox, % "Iteration " XT " = " Hkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeToggleConfig:
    	Msgbox Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XType!ToggleConfig:
    	Msgbox !Toggle Section
    	Gosub XTypeLoopAdd
    Return
    
    XTypeLoopAdd:
    	Gui, Submit
    	Gui, Destroy
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXT:= 0
    			Gosub XTypeDelay
    			Return
    		}
    	XT+= 1
    	Gosub XTypeConfig4
    Return
    
    XTypeLoopSubtract:
    	Gui, Submit
    	Gui, Destroy
    	A_GuiControlXT:= 0
    	Loop {
    		XT-= 1
    			If (XT = 0) {
    				XT:= 1
    				Gosub XTypeConfig4
    				Break
    			}
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    				Gosub XTypeConfig4
    				Break
    			}
    	}
    Return
    
    XTypeImageSearch:
    	GuiWidth:= 410
    	GuiHeight:= 130
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	Gui, Add, Edit, x50 y10 w30 h20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	Gui, Add, Edit, x90 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	Gui, Add, Edit, x130 y10 W30 H20 vScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	Gui, Add, Edit, x10 y40 W110 H20 vShadeVariationXTypeHotkey%Hk%Iteration%XT%, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Edit, x10 y70 w110 h20 vImageNameXTypeHotkey%Hk%Iteration%XT%, % ImageNameXTypeHotkey%Hk%Iteration%XT%
    	Gui, Add, Text, x170 y13, Left, Top, Right and Bottom Scan Coordinates
    	Gui, Add, Text, x130 y43, Scan Color Shade Variation and Optional Parameters
    	Gui, Add, Text, x130 y73, Scan Image Name
    	Gui, Add, Button, x310 y100 w90 h20 gXTypeImageSearchWrite Default, Define
    	Gui, Add, Button, x210 y100 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y100 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y100 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Image Scan
    Return
    
    XTypeImageSearchWrite:
    	Gui, Submit
    	Gui, Destroy
    	Hkey%Hk%XtypeGetMousePosToggleIteration%XT%:= 1
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R
    	IniWrite, % ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, UnrapeKitConfig.ini, ScanXType, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B
    	IniWrite, % ImageNameXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ImageNameXTypeHotkey%Hk%Iteration%XT%
    	IniWrite, % ShadeVariationXTypeHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, ScanXType, ShadeVariationXTypeHotkey%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGetMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 100
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Checkbox, % "x10 y40 h13 w13 vHKey" Hk "XTypeGetMousePosToggleIteration" XT " Checked" HKey%Hk%XTypeGetMousePosToggleIteration%XT%, Cancel Saving and get position during hotkey execution
    	Gui, Add, Button, x310 y70 w90 h20 gXTypeGetMousePosWrite Default, Define
    	Gui, Add, Button, x210 y70 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y70 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y70 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Get Mouse Position
    Return
    
    XTypeGetMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    		If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 0) {
    			MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    			IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    		}
    	IniWrite, % HKey%Hk%XTypeGetMousePosToggleIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGetMousePosToggleIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGoMousePos:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x200 y10 w20 h20 vHKey%Hk%XTypeGoMousePosIteration%XT%, % HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gui, Add, Text, x10 y13, Move to Mouse Position from Iteration:
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeGoMousePosWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%:Mouse Position
    Return
    
    XTypeGoMousePosWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeGoMousePosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeGoMousePosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeMouseMove:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    		If (HKey%Hk%XTypeMouseXPosIteration%XT% is Integer HKey%Hk%XTypeMouseYPosIteration%XT% is Integer) {
    			MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    		} Else {
    			MouseMove, 960, 540
    		}
    	Gui, Add, Text, x10 y13, Hotkey %Hk% Iteration %XT%: Move the mouse to the position to be saved and press ENTER
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeMouseMoveWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%,  Type 7 - Hotkey %Hk% Iteration %XT%: Mouse Position
    
    Return
    
    XTypeMouseMoveWrite:
    	Gui, Submit
    	Gui, Destroy
    	MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseXPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseXPosIteration%XT%
    	IniWrite, % HKey%Hk%XTypeMouseYPosIteration%XT%, UnrapeKitConfig.ini, XtypeMousePos, HKey%Hk%XTypeMouseYPosIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSpell:
    	GuiWidth:= 410
    	GuiHeight:= 140
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x10 y10, % Type 7 - "Iteration " XT " Spell Configuration"
    	Gui, Add, Edit, x10 y40 w110 h20 vHKey%Hk%XTypeSpellIteration%XT%, % HKey%Hk%XTypeSpellIteration%XT%
    	Gui, Add, Edit, x10 y70 W70 H20 vHKey%Hk%XTypeKeyIteration%XT%, % HKey%Hk%XTypeKeyIteration%XT%
    	Gui, Add, Text, x130 y43, % "Spell - Hotkey " Hk
    	Gui, Add, Text, x90 y73, % "Key - Hotkey " Hk
    	Gui, Add, Button, x310 y110 w90 h20 gXTypeSpellWrite Default, Define
    	Gui, Add, Button, x210 y110 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y110 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y110 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Type 7 Spell Configuration
    Return
    
    XTypeSpellWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSpellIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeySpells, HKey%Hk%XTypeSpellIteration%XT%
    	IniWrite, % HKey%Hk%XTypeKeyIteration%XT%, UnrapeKitConfig.ini, XtypeHotkeyKey, HKey%Hk%XTypeKeyIteration%XT%
    	Gosub XTypeKey
    Return
    
    XTypeKey:
    		If (HKey%Hk%XTypeKeyIteration%XT% = "Q") {
    			KeyX_%Hk%Iteration%XT%:= 1440
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "W") {
    			KeyX_%Hk%Iteration%XT%:= 1495
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "E") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "R") {
    			KeyX_%Hk%Iteration%XT%:= 1605
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "T") {
    			KeyX_%Hk%Iteration%XT%:= 1655
    			KeyY_%Hk%Iteration%XT%:= 1045
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "LButton") {
    			KeyX_%Hk%Iteration%XT%:= 1550
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "MButton") {
    			KeyX_%Hk%Iteration%XT%:= 1600
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    		If (HKey%Hk%XTypeKeyIteration%XT% = "RButton") {
    			KeyX_%Hk%Iteration%XT%:= 1650
    			KeyY_%Hk%Iteration%XT%:= 975
    		}
    	IniWrite, % KeyX_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XTypeKeyCoordinates, KeyX_%Hk%Iteration%XT%
    	IniWrite, % KeyY_%Hk%Iteration%XT%, UnrapeKitConfig.ini, XtypeKeyCoordinates, KeyY_%Hk%Iteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeSend:
    	GuiWidth:= 410
    	GuiHeight:= 110
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Text, x185 y10, % "Hotkey " Hk
    	Gui, Add, Edit, x10 y40 w70 h20 vHKey%Hk%XTypeSendIteration%XT%, % HKey%Hk%XTypeSendIteration%XT%
    	Gui, Add, Text, x90 y43, % "Iteration " XT " Send"
    	Gui, Add, Button, x310 y80 w90 h20 gXTypeSendWrite Default, Define
    	Gui, Add, Button, x210 y80 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y80 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y80 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Send Config
    Return
    
    XTypeSendWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeSendIteration%XT%, UnrapeKitConfig.ini, XtypeSend, HKey%Hk%XTypeSendIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeDelayConfig:
    	GuiWidth:= 410
    	GuiHeight:= 70
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Edit, x10 y10 w130 h20 vHKey%Hk%XTypeDelayIteration%XT%, % HKey%Hk%XTypeDelayIteration%XT%
    	Gui, Add, Text, x150 y13, % "Iteration " XT " Delay"
    	Gui, Add, Button, x310 y40 w90 h20 gXTypeDelayWrite Default, Define
    	Gui, Add, Button, x210 y40 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x110 y40 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y40 w90 h20 gCancel, Reload
    	Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % "Hotkey " Hk
    Return
    
    XTypeDelayWrite:
    	Gui, Submit
    	Gui, Destroy
    	IniWrite, % HKey%Hk%XTypeDelayIteration%XT%, UnrapeKitConfig.ini, XtypeDelay, HKey%Hk%XTypeDelayIteration%XT%
    	Gosub XTypeLoopAdd
    Return
    
    XTypeGemSwap1:
    	Swap:= XGemSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeGemSwap2:
    	Swap:= XGemSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap1:
    	Swap:= XEquipSwap1
    	GoSub XTypeSwap
    Return
    
    XTypeEquipSwap2:
    	Swap:= XEquipSwap2
    	GoSub XTypeSwap
    Return
    
    XTypeSwap:
    	Gosub XTypeLCAdd
    	IniRead, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask1%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask2%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask3%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask4%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%IterationXType%XT%
    	IniRead, Flask5%Swap%Hotkey%Hk%IterationXType%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%IterationXType%XT%
    	SysGet, SGW, 71
    	GuiWidth:= 650
    	GuiHeight:= 800
    		If (Swap = "XGemSwap2") {
    			GemSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXGemSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    		If (Swap = "XEquipSwap2") {
    			EquipSwapTab:= 1
    			Gui, Add, Tab2, w%GuiWidth% h%GuiHeight% AltSubmit vXEquipSwapTab_%Hk%, 1||2
    			Gui, Tab, 1
    		}
    	Gui, Color, 0x050505
    	Gui, Add, Picture, x0 y0, InventoryEquip.png
    	X_Offset:= GuiWidth/2
    	Y_Offset:= GuiHeight/2
    	X_Limit:= A_ScreenWidth - X_Offset
    	Y_Limit:= A_ScreenHeight - Y_Offset
    	Mouse_X:= Xpos - X_Offset
    	Mouse_Y:= Ypos - Y_Offset
    		If Xpos between 0 and %X_Offset%
    			Move_X:= 0
    		If Xpos between %X_Offset% and %X_Limit%
    			Move_X:= Mouse_X
    		If Xpos between %X_Limit% and %A_ScreenWidth%
    			Move_X:= A_ScreenWidth - GuiWidth
    		If Ypos between 0 and %Y_Offset%
    			Move_Y:= 0
    		If Ypos between %Y_Offset% and %Y_Limit%
    			Move_Y:= Mouse_Y
    		If Ypos between %Y_Limit% and %A_ScreenHeight%
    			Move_Y:= A_ScreenHeight - GuiHeight - 30
    	Gui, -0x80000 AlwaysOnTop
    	Gui, Add, Radio, % "x29 y511 h13 w13 vGemSwap1RadioL1C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL1C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL1C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y563 w13 h13 vGemSwap1RadioL2C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL2C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL2C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL2C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y616 w13 h13 vGemSwap1RadioL3C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL3C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL3C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL3C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y669 w13 h13 vGemSwap1RadioL4C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C1Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL4C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL4C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL4C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x29 y721 w13 h13 vGemSwap1RadioL5C1Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL1C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C2Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C2Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C3Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C3Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C4Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C4Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C5Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C5Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C6Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C6Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C7Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C7Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C8Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C8Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C9Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C9Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+37 w13 h13 vGemSwap1RadioL5C10Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C10Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C11Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C11Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % " x+38 w13 h13 vGemSwap1RadioL5C12Hotkey" Hk "Iteration" XT " Checked" GemSwap1RadioL5C12Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 Y50 w13 h13 vRightWeaponTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y125 w13 h13 vRightWeaponMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x111 y200 w13 h13 vRightWeaponBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y21 w13 h13 vHelmetTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y21 w13 h13 vHelmetTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y97 w13 h13 vHelmetBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y97 w13 h13 vHelmetBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x279 y57 w13 h13 vHelmetMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y57 w13 h13 vHelmetMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y57 w13 h13 vHelmetMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y257 w13 h13 vGlovesTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y257 w13 h13 vGlovesTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y332 w13 h13 vGlovesBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y332 w13 h13 vGlovesBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x151 y294 w13 h13 vGlovesMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x224 y294 w13 h13 vGlovesMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x187 y294 w13 h13 vGlovesMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y172 w13 h13 v4SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y172 w13 h13 v4SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y235 w13 h13 v4SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y235 w13 h13 v4SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y140 w13 h13 v6SocketArmorTopRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y140 w13 h13 v6SocketArmorTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y203 w13 h13 v6SocketArmorMiddleRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y203 w13 h13 v6SocketArmorMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x281 y266 w13 h13 v6SocketArmorBottomRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x355 y266 w13 h13 v6SocketArmorBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y204 w13 h13 v1SocketArmorMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y257 w13 h13 vBootsTopCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y257 w13 h13 vBootsTopLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y332 w13 h13 vBootsBottomCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y332 w13 h13 vBootsBottomLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x411 y294 w13 h13 vBootsMiddleCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x484 y294 w13 h13 vBootsMiddleLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x447 y294 w13 h13 vBootsMiddleSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x213 Y202 w13 h13 vRightFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y202 w13 h13 vLeftFingerSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x421 y137 w13 h13 vAmuletSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x293 y320 w13 h13 vBeltRightSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x317 y320 w13 h13 vBeltCenterSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x343 y320 w13 h13 vBeltLeftSocket" Swap "Hotkey" Hk "Iteration" XT " Checked" BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x218 y410 w13 h13 vFlask1" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x270 y410 w13 h13 vFlask2" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x322 y410 w13 h13 vFlask3" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x375 y410 w13 h13 vFlask4" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Radio, % "x427 y410 w13 h13 vFlask5" Swap "Hotkey" Hk "Iteration" XT " Checked" Flask5%Swap%Hotkey%Hk%Iteration%XT%
    	Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    	Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    	Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    	Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		If (Swap = "XGemSwap2" OR Swap = "XEquipSwap2") {
    			GuiWidth:= 650
    			GuiHeight:= 800
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Color, 0x0C0E0B
    			Gui, Add, Picture, x0 y0, InventoryEquip.png
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, Tab, 2
    			Gui, Add, Radio, % "x72 Y50 w13 h13 v6SocketWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y50 w13 h13 v6SocketWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x71 y125 w13 h13 v6SocketWeaponMiddleRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y125 w13 h13 v6SocketWeaponMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x72 y200 w13 h13 v6SocketWeaponBottomRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x149 y200 w13 h13 v6SocketWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 Y50 13 h13 vRightWeaponTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y125w13 h13 vRightWeaponMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x111 y200w13 h13 vRightWeaponBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x84 y88 w13 h13 vRightWeaponTopRightSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y88 w13 h13 vRightWeaponTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x137 y163 w13 h13 vRightWeaponBottomCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y50 w13 h13 vLeftHandTopSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y125 w13 h13 vLeftHandMiddleSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x523 y200 w13 h13 vLeftHandBottomSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x496 y88 w13 h13 vLeftHandTopCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y88 w13 h13 vLeftHandTopLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x550 y163 w13 h13 vLeftHandBottomLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x485 y125 w13 h13 vLeftHandMiddleCenterSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Radio, % "x561 y125 w13 h13 vLeftHandMiddleLeftSocket" Swap "AltHotkey" Hk "Iteration" XT " Checked" LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			Gui, Add, Button, x550 y770 w90 h20 gXTypeSwapCoord Default, Select
    			Gui, Add, Button, x450 y770 w90 h20 gXTypeLoopAdd, Skip
    			Gui, Add, Button, x350 y770 w90 h20 gXTypeLoopSubtract, Go Back
    			Gui, Add, Button, x10 y770 w90 h20 gCancel, Reload
    		}
    		If (Swap = "XGemSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XEquipSwap2")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap: Ctrl + Tab/PgUp/PgDn To Alternate Equipment"
    		If (Swap = "XGemSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipped Gem Swap - Iteration " XT
    		If (Swap = "XEquipSwap1")
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, % Hkey%Hk%Shortcut " - Type 7: Equipment Swap - Iteration " XT
    Return
    
    XTypeLCAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniRead, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    		C+= 1
    			If (C > 12) {
    				C:= 1
    				L+= 1
    					If (L > 5)
    						Break
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeSwapCoord:
    	Gui, Submit
    	Gui, Destroy
    	Gosub XTypeLCCoordAdd
    	IniWrite, % 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, AmuletSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask1%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask1%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask2%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask2%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask3%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask3%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask4%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask4%Swap%Hotkey%Hk%Iteration%XT%
    	IniWrite, % Flask5%Swap%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, Flask5%Swap%Hotkey%Hk%Iteration%XT%
    		If (6SocketWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (6SocketWeaponMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (6SocketWeaponBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (6SocketWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (RightWeaponMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (RightWeaponBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1380
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (RightWeaponTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1355
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (RightWeaponBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1405
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (HelmetTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 135
    		}
    		If (HelmetBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 185
    		}
    		If (HelmetMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (HelmetMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 160
    		}
    		If (LeftHandTopSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 170
    		}
    		If (LeftHandMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandBottomSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1795
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 280
    		}
    		If (LeftHandTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1765
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 200
    		}
    		If (LeftHandBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (LeftHandMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1770
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (LeftHandMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1820
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 225
    		}
    		If (GlovesTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (GlovesBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (GlovesMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1430
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (GlovesMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1455
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (4SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 275
    		}
    		If (4SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (4SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 333
    		}
    		If (6SocketArmorTopRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 250
    		}
    		If (6SocketArmorMiddleRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (6SocketArmorBottomRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1560
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (6SocketArmorBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1615
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 360
    		}
    		If (1SocketArmorMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (BootsTopCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsTopLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 370
    		}
    		If (BootsBottomCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsBottomLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BootsMiddleCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1740
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (BootsMiddleSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1715
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 395
    		}
    		If (RightFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1485
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (LeftFingerSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 305
    		}
    		If (AmuletSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1690
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 245
    		}
    		If (BeltRightSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1565
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltCenterSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1585
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (BeltLeftSocket%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1605
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 420
    		}
    		If (Flask1%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1487
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask2%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1540
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask3%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1592
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask4%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1645
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Flask5%Swap%Hotkey%Hk%Iteration%XT% = 1) {
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_X = 1697
    			%Swap%XTypeHotkey%Hk%Iteration%XT%_Y = 515
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2 OR Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, 6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType,  RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT%
    			IniWrite, % LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT%
    				If (6SocketWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (6SocketWeaponMiddleRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (6SocketWeaponBottomRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (6SocketWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (RightWeaponMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (RightWeaponBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1380
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (RightWeaponTopRightSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1355
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (RightWeaponBottomCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1405
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandTopSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 170
    				}
    				If (LeftHandMiddleSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandBottomSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1795
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 280
    				}
    				If (LeftHandTopCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1765
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandTopLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 200
    				}
    				If (LeftHandBottomLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 250
    				}
    				If (LeftHandMiddleCenterSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1770
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    				If (LeftHandMiddleLeftSocket%Swap%AltHotkey%Hk%Iteration%XT% = 1) {
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_X = 1820
    					%Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y = 225
    				}
    		}
    		If (Swap = "XGemSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeGemSwap2
    		}
    		If (Swap = "XEquipSwap1") {
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub XTypeEquipSwap2
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 1) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 1) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%XTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%XTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XGemSwap2" AND XGemSwapTab_%Hk% = 2) {
    			IniWrite, % XGemSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XGemSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    		If (Swap = "XEquipSwap2" AND XEquipSwapTab_%Hk% = 2) {
    			IniWrite, % XEquipSwapTab_%Hk%, UnrapeKitConfig.ini, SwapTabs, XEquipSwapTab_%Hk%
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_X
    			IniWrite, % %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y, UnrapeKitConfig.ini, %Swap%CoordinatesXType, %Swap%AltXTypeHotkey%Hk%Iteration%XT%_Y
    			Gosub Delay
    		}
    Return
    
    XTypeLCCoordAdd:
    	L:= 1
    	C:= 1
    	Loop {
    		IniWrite, % XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%, UnrapeKitConfig.ini, %Swap%PositionXType, XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT%
    			If (XType%Swap%RadioL%L%C%C%Hotkey%Hk%Iteration%XT% = 1) {
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_X:= 1240 + (C*53)
    				%Swap%XTypeHotkey%Hk%Iteration%XT%_Y:= 560 + (L*54)
    			}
    		C+= 1
    			If (C > 12) {
    					If (L = 5)
    						Break
    				C:= 1
    				L+= 1
    			}
    	}
    	C:= 1
    	L:= 1
    Return
    
    XTypeDelay:
    		If (DelayN = 1) {
    			MouseGetPos, Xpos, Ypos
    			GuiWidth:= 220
    			GuiHeight:= 160
    			X_Offset:= GuiWidth/2
    			Y_Offset:= GuiHeight/2
    			X_Limit:= A_ScreenWidth - X_Offset
    			Y_Limit:= A_ScreenHeight - Y_Offset
    			Mouse_X:= Xpos - X_Offset
    			Mouse_Y:= Ypos - Y_Offset
    				If Xpos between 0 and %X_Offset%
    					Move_X:= 0
    				If Xpos between %X_Offset% and %X_Limit%
    					Move_X:= Mouse_X
    				If Xpos between %X_Limit% and %A_ScreenWidth%
    					Move_X:= A_ScreenWidth - GuiWidth
    				If Ypos between 0 and %Y_Offset%
    					Move_Y:= 0
    				If Ypos between %Y_Offset% and %Y_Limit%
    					Move_Y:= Mouse_Y
    				If Ypos between %Y_Limit% and %A_ScreenHeight%
    					Move_Y:= A_ScreenHeight - GuiHeight - 30
    			Gui, -0x80000 AlwaysOnTop
    			Gui, Add, Text, x10 y13, Server Latency (ms)
    			Gui, Add, Edit, x140 y10 w30 h20 vDelay, %Delay%
    			Gui, Add, Text, x10 y43, Maximum Frame Time (Ms)
    			Gui, Add, Edit, x140 y40 w30 h20 vFrameTime, %FrameTime%
    			Gui, Add, Text, x10 y73, Keyboard Delays (Ms)
    			Gui, Add, Edit, x140 y70 w30 h20 vKeyDelay1, %KeyDelay1%
    			Gui, Add, Edit, x180 y70 w30 h20 vKeyDelayPress, %KeyDelayPress%
    			Gui, Add, Text, x10 y103, Mouse Delay (Ms)
    			Gui, Add, Edit, x140 y100 w30 h20 vMouseDelay, %MouseDelay%
    			Gui, Add, Button, x20 y130 w90 h20 gXTypeRecord Default, Record
    			Gui, Add, Button, x120 y130 w90 h20 gCancel, Reload
    			Gui, Show, w%GuiWidth% h%GuiHeight% X%Move_X% Y%Move_Y%, Server Latency
    		}
    		If DelayN != 1
    			Gosub XTypeRecord
    Return
    
    XTypeRecord:
    	Gui, Submit
    	Gui, Destroy
    	DelayN+= 1
    	IniWrite, %Delay%, UnrapeKitConfig.ini, Delay, Delay
    	IniWrite, %FrameTime%, UnrapeKitConfig.ini, Delay, FrameTime
    	IniWrite, %KeyDelay1%, UnrapeKitConfig.ini, Delay, KeyDelay1
    	IniWrite, %KeyDelayPress%, UnrapeKitConfig.ini, Delay, KeyDelayPress
    	IniWrite, %MouseDelay%, UnrapeKitConfig.ini, Delay, MouseDelay
    		If (XTypeConfigRecord = 1) {
    			Gosub HkLoopAdd
    			Return
    		}
    		If (A_GuiControlXTypeConfig4 > 0) {
    			A_GuiControlXTypeConfig4:= 0
    			Gosub XTypeConfig2
    			Return
    		}
    	Gosub XTypeLoopAdd
    Return
    
    Type1:
    	HkT1:= Hk
    	XTrig:= 3
    	CooldownCount:= 0
    	CoolDown%XTrig%:= 0
    	HKeyHkT1Spell1:= HKey%HkT1%Spell1
    	HKeyHkT1Spell2:= HKey%HkT1%Spell2
    	HKeyHkT1Key:= HKey%HkT1%Key
    	HKey%HkT1%KeyToggle:= !HKey%HkT1%KeyToggle
    		If HKey%HkT1%KeyToggle {
    			While HKey%HkT1%KeyToggle {
    				ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell1 "Timer.png"
    					If (ErrorLevel = 0) {
    						CooldownCount+= 1
    						HKey%HkT1%Spell1Timer:= True
    					}
    					If ErrorLevel = 1
    						ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer2.png"
    							If (ErrorLevel = 0) {
    								CooldownCount+= 1
    								HKey%HkT1%Spell1Timer:= True
    							}
    							if ErrorLevel = 1
    								ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer3.png"
    									If (ErrorLevel = 0) {
    										CooldownCount+= 1
    										HKey%HkT1%Spell1Timer:= True
    									}
    									If ErrorLevel = 1
    										ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer4.png"
    											If (ErrorLevel = 0) {
    												CooldownCount+= 1
    												HKey%HkT1%Spell1Timer:= True
    											}
    											if ErrorLevel = 1
    												ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer5.png"
    													If (ErrorLevel = 0) {
    														CooldownCount+= 1
    														HKey%HkT1%Spell1Timer:= True
    													}
    													If ErrorLevel = 1
    														ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer6.png"
    															If (ErrorLevel = 0) {
    																CooldownCount+= 1
    																HKey%HkT1%Spell1Timer:= True
    															}
    															if ErrorLevel = 1
    																ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer7.png"
    																	If (ErrorLevel = 0) {
    																		CooldownCount+= 1
    																		HKey%HkT1%Spell1Timer:= True
    																	}
    																	If ErrorLevel = 1
    																		ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell1 "Timer8.png"
    																			If (ErrorLevel = 0) {
    																				CooldownCount+= 1
    																				HKey%HkT1%Spell1Timer:= True
    																			}
    																				if ErrorLevel = 1
    																					HKey%HkT1%Spell1Timer:= False
    					If (HKey%HkT1%Spell1timer = False) {
    						If CooldownCount >= 1
    							Sleep, % T1Cooldown%HK%
    						ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%HkT1%Spell1 "-" HKey%HkT1%Key ".png"
    							If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    							}
    							If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    								MouseGetPos, Xpos, Ypos
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, 40
    								MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    								SetMouseDelay, %MouseDelay%
    								MouseMove, %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, 40
    								MouseClick, , %HKeyHkT1Spell1%X, %HKeyHkT1Spell1%Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, Xpos, Ypos
    								Sleep, %FrameTime%
    								SendInput, {%HKeyHkT1Key%}
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    				While HKey%HkT1%KeyToggle {
    						If (XTriggeredCount%Hk% = 0)
    							Break
    						If (TriggerToggle%XTrig%_%HkT1% = 1) {
    							ImageSearch, , , 0, 0, 1000, 90, % "*10 " HKey%HkT1%Spell%XTrig% "Timer.png"
    								If (ErrorLevel = 0) {
    									CoolDown%XTrig%+= 1
    									HKey%HkT1%Spell%XTrig%Timer:= True
    								}
    								If ErrorLevel = 1
    									ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer2.png"
    										If (ErrorLevel = 0) {
    											CoolDown%XTrig%+= 1
    											HKey%HkT1%Spell%XTrig%Timer:= True
    										}
    										If ErrorLevel = 1
    											ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer3.png"
    												If (ErrorLevel = 0) {
    													CoolDown%XTrig%+= 1
    													HKey%HkT1%Spell%XTrig%Timer:= True
    												}
    												If ErrorLevel = 1
    													ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer4.png"
    														If (ErrorLevel = 0) {
    															CoolDown%XTrig%+= 1
    															HKey%HkT1%Spell%XTrig%Timer:= True
    														}
    														If ErrorLevel = 1
    															ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer5.png"
    																If (ErrorLevel = 0) {
    																	CoolDown%XTrig%+= 1
    																	HKey%HkT1%Spell%XTrig%Timer:= True
    																}
    																If ErrorLevel = 1
    																	ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer6.png"
    																		If (ErrorLevel = 0) {
    																			CoolDown%XTrig%+= 1
    																			HKey%HkT1%Spell%XTrig%Timer:= True
    																		}
    																		If ErrorLevel = 1
    																			ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer7.png"
    																				If (ErrorLevel = 0) {
    																					CoolDown%XTrig%+= 1
    																					HKey%HkT1%Spell%XTrig%Timer:= True
    																				}
    																				If ErrorLevel = 1
    																					ImageSearch, , , 0, 0, 1000, 80, % "*10 " HKey%HkT1%Spell%XTrig% "Timer8.png"
    																						If (ErrorLevel = 0) {
    																							CoolDown%XTrig%+= 1
    																							HKey%HkT1%Spell%XTrig%Timer:= True
    																						}
    																						if ErrorLevel = 1
    																							HKey%HkT1%Spell%XTrig%Timer:= False
    								If (HKey%HkT1%Spell%XTrig%timer = False) {
    									Sleep, % HKey%Hk%T1Cooldown%TrigN%
    									ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%hKT1%Spell%XTrig% "-" HKey%HkT1%Key ".png"
    										If (ErrorLevel = 0 AND HKey%HkT1%KeyToggle = 1) {
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    										}
    										If (ErrorLevel = 1 AND HKey%HkT1%KeyToggle = 1) {
    											HKeyHkT1SpellXTrig:= HKey%HkT1%Spell%XTrig%
    											MouseGetPos, Xpos, Ypos
    											BlockInput, MouseMove
    											GetKeyState, LButtonState, LButton, P
    												if LButtonState = D
    													MouseClick, , , , , , U
    											MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, 40
    											MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    											SetMouseDelay, %MouseDelay%
    											MouseMove, %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, 40
    											MouseClick, , %HKeyHkT1SpellXTrig%X, %HKeyHkT1SpellXTrig%Y
    											SetMouseDelay, %MouseDelay%
    											MouseMove, Xpos, Ypos
    											Sleep, %FrameTime%
    											SendInput, {%HKeyHkT1Key%}
    											GetKeyState, LButtonState, LButton, P
    												If LButtonState = D
    													MouseClick, , , , , , D
    											BlockInput, MouseMoveOff
    										}
    								}
    						}
    						If (A_Index = XTriggeredCount%Hk%) {
    							XTrig:= 3
    							Break
    						}
    				}
    					Xtrig+= 1
    				Sleep, % ScanDelay%Hk%
    			}
    		CooldownCount:= 0
    		CoolDown%XTrig%:= 0
    		Return
    		}
    		If !HKey%HkT1%KeyToggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%HkT1%, KeyY_%HkT1%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkT1Spell2%X, %HKeyHkT1Spell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type2:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, 40
    	MouseClick, ,  %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    	SetMouseDelay, %MouseDelay%
    		If (Type2MoveToggleHotkey%Hk% = 1) {
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    		}
    	SendInput, {%HKeyHkKey%}
    	MouseMove, KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, 40
    	MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    	SetMouseDelay, %MouseDelay%
    	MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, 40
    	MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    	SetMouseDelay, %MouseDelay%
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState2, LButton, P
    		If LButtonState2 = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type3:
    	HKeyHkSpell1:= HKey%Hk%Spell1
    	HKeyHkSpell2:= HKey%Hk%Spell2
    	HKeyHkKey:= HKey%Hk%Key
    	HKey%Hk%Keytoggle:= !HKey%Hk%Keytoggle
    		If HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell1%X, %HKeyHkSpell1%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast1ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    		If !HKey%Hk%Keytoggle {
    			MouseGetPos, Xpos, Ypos
    			BlockInput, MouseMove
    				GetKeyState, LButtonState, LButton, P
    					If LButtonState = D
    						MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, 40
    			MouseClick, , %HKeyHkSpell2%X, %HKeyHkSpell2%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    				If (Type3Cast2ToggleHotkey%Hk% = 1) {
    					Sleep, %FrameTime%
    					SendInput, {%HKeyHkKey%}
    				}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		Return
    		}
    Return
    
    Type4:
    	HKeyHkSpell1T4:= HKey%Hk%Spell1T4
    	HKeyHkKey:= HKey%Hk%Key
    	ImageSearch, , , 1575, 1020, 1630, 1075, % "*10 " HKey%Hk%Spell1T4 "-" Hkey%Hk%Key ".png"
    		If ErrorLevel = 0
    			SendInput, {%HKeyHkKey%}
    		If (ErrorLevel = 1) {
    			BlockInput, MouseMove
    			MouseGetPos, Xpos, Ypos
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , U
    			MouseMove, KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, 40
    			MouseClick, , KeyX_%Hk%, KeyY_%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, 40
    			MouseClick, ,  %HKeyHkSpell1T4%X, %HKeyHkSpell1T4%Y
    			SetMouseDelay, %MouseDelay%
    			MouseMove, Xpos, Ypos
    			Sleep, %FrameTime%
    			SendInput, {%HKeyHkKey%}
    			GetKeyState, LButtonState, LButton, P
    				If LButtonState = D
    					MouseClick, , , , , , D
    			BlockInput, MouseMoveOff
    		}
    Return
    
    Type5:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Right, GemSwap1X%Hk%, GemSwap1Y%Hk%
    		If (GemSwapTab_%Hk% = 1) {
    			MouseMove, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap2X%Hk%, GemSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (GemSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap2AltX%Hk%, GemSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, GemSwap1AltX%Hk%, GemSwap1AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , GemSwap1X%Hk%, GemSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	GetKeyState, LButtonState, LButton, P
    	MouseMove, Xpos, Ypos
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type6:
    	MouseGetPos, Xpos, Ypos
    	BlockInput, MouseMove
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , U
    	SendInput, {i}
    	Sleep, %FrameTime%
    	MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    		If (EquipSwapTab_%Hk% = 1) {
    			MouseMove, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap2X%Hk%, EquipSwap2Y%Hk%
    			SetMouseDelay, %MouseDelay%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, Left, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    		If (EquipSwapTab_%Hk% = 2) {
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap2AltX%Hk%, EquipSwap2AltY%Hk%
    			SetMouseDelay, %MouseDelay%
    			SendInput, {x}
    			Sleep, %FrameTime%
    			MouseMove, EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, 40
    			MouseClick, , EquipSwap1X%Hk%, EquipSwap1Y%Hk%
    			SetMouseDelay, %MouseDelay%
    		}
    	SendInput, {i}
    	MouseMove, Xpos, Ypos
    	GetKeyState, LButtonState, LButton, P
    		If LButtonState = D
    			MouseClick, , , , , , D
    	BlockInput, MouseMoveOff
    Return
    
    Type7:
    	XT:= 1
    	MouseGetPos, Xpos, Ypos
    	Loop {
    			If (Hkey%Hk%Iteration%XT%Toggle = 1) {
    					If (Hkey%Hk%Iteration%XT% = "Toggle") {
    						XtypeHotkey%Hk%Toggle:= !XtypeHotkey%Hk%Toggle
    							If (XtypeHotkey%Hk%Toggle) {
    								XT+= 1
    							}
    							If (!XtypeHotkey%Hk%Toggle) {
    								Loop, % Hkey%Hk%Iterations {
    									XT+= 1
    										If (Hkey%Hk%Iteration%XT% = "!Toggle")
    											Break
    								}
    								XT+= 1
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "SpellScan")
    						Gosub SpellScan
    					If (Hkey%Hk%Iteration%XT% = "ImageSearch") {
    						;BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, A_ScreenWidth, A_ScreenHeight
    							Loop {
    								ImageSearch, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_L, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_T, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_R, ScanCoordinatesXTypeHotkey%Hk%Iteration%XT%_B, % "*" ShadeVariationXTypeHotkey%Hk%Iteration%XT% " " ImageNameXTypeHotkey%Hk%Iteration%XT% ".png"
    									If (ErrorLevel = 2) {
    										MsgBox % "Search Failed for image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    										break
    									}
    									If (ErrorLevel = 1) {
    										MsgBox % "Search could not find image " ImageNameXTypeHotkey%Hk%Iteration%XT%
    										break
    									}
    									If (ErrorLevel = 0) {
    										ToolTip, % HKey%Hk%XTypeMouseXPosIteration%XT% ", " HKey%Hk%XTypeMouseYPosIteration%XT%
    										SetTimer, RemoveToolTip, 500
    										break
    									}
    							}
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						;BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Spell") {
    					HKeyHkXTypeSpellIterationXT:= HKey%Hk%XTypeSpellIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LuttonState = D
    								MouseClick, , , , , , U
    						MouseMove, KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseClick, ,  KeyX_%Hk%Iteration%XT%, KeyY_%Hk%Iteration%XT%
    						Sleep, %FrameTime%
    						MouseMove, %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, 40
    						MouseClick, , %HKeyHkXTypeSpellIterationXT%X, %HKeyHkXTypeSpellIterationXT%Y
    						SetMouseDelay, %MouseDelay%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    						MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "SendInput") {
    						HKeyHkXTypeSendIterationXT:= HKey%Hk%XTypeSendIteration%XT%
    						SendInput, {%HKeyHkXTypeSendIterationXT%}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GetMousePos") {
    							If (Hkey%Hk%XtypeGetMousePosToggleIteration%XT% = 1) {
    								BlockInput, MouseMove
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , U
    								MouseGetPos, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    								GetKeyState, LButtonState, LButton, P
    									If LButtonState = D
    										MouseClick, , , , , , D
    								BlockInput, MouseMoveOff
    							}
    					}
    					If (Hkey%Hk%Iteration%XT% = "GoMousePos") {
    						MouseXT:= HKey%Hk%XTypeGoMousePosIteration%XT%
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%MouseXT%, HKey%Hk%XTypeMouseXPosIteration%MouseXT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "MouseMove") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						MouseMove, HKey%Hk%XTypeMouseXPosIteration%XT%, HKey%Hk%XTypeMouseYPosIteration%XT%
    						GetKeyState, LButtonState, LButton, P
    						If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "Delay") {
    						Sleep, % HKey%Hk%XTypeDelayIteration%XT%
    					}
    					If (Hkey%Hk%Iteration%XT% = "GemSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, Right, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeGemSwapTab_%Hk% = 1) {
    								MouseMove, GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2XTypeHotkey%Hk%Iteration%XT%_X, GemSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeGemSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, GemSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , GemSwap1XTypeHotkey%Hk%Iteration%XT%_X, GemSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "EquipmentSwap") {
    						BlockInput, MouseMove
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , U
    						SendInput, {i}
    						Sleep, %FrameTime%
    						MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, 40
    						MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    						SetMouseDelay, %MouseDelay%
    							If (XTypeEquipSwapTab_%Hk% = 1) {
    								MouseMove, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    							If (XTypeEquipSwapTab_%Hk% = 2) {
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_X, EquipSwap2AltXTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    								SendInput, {x}
    								Sleep, %FrameTime%
    								MouseMove, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, 40
    								MouseClick, , EquipSwap1XTypeHotkey%Hk%Iteration%XT%_X, EquipSwap1XTypeHotkey%Hk%Iteration%XT%_Y
    								SetMouseDelay, %MouseDelay%
    							}
    						SendInput, {i}
    						GetKeyState, LButtonState, LButton, P
    							If LButtonState = D
    								MouseClick, , , , , , D
    						BlockInput, MouseMoveOff
    					}
    					If (Hkey%Hk%Iteration%XT% = "!Toggle" OR XT = Hkey%Hk%Iterations) {
    						Break
    						return
    					}
    			}
    		XT+= 1
    	}
    	MouseMove, Xpos, Ypos
    Return
    
    Hotkey1:
    	Hk:= 1
    	Gosub HotkeyRouting
    Return
    
    Hotkey2:
    	Hk:= 2
    	Gosub HotkeyRouting
    Return
    
    Hotkey3:
    	Hk:= 3
    	Gosub HotkeyRouting
    Return
    
    Hotkey4:
    	Hk:= 4
    	Gosub HotkeyRouting
    Return
    
    Hotkey5:
    	Hk:= 5
    	Gosub HotkeyRouting
    Return
    
    Hotkey6:
    	Hk:= 6
    	Gosub HotkeyRouting
    Return
    
    Hotkey7:
    	Hk:= 7
    	Gosub HotkeyRouting
    Return
    
    Hotkey8:
    	Hk:= 8
    	Gosub HotkeyRouting
    Return
    
    Hotkey9:
    	Hk:= 9
    	Gosub HotkeyRouting
    Return
    
    Hotkey10:
    	Hk:= 10
    	Gosub HotkeyRouting
    Return
    
    Hotkey11:
    	Hk:= 11
    	Gosub HotkeyRouting
    Return
    
    Hotkey12:
    	Hk:= 12
    	Gosub HotkeyRouting
    Return
    
    Hotkey13:
    	Hk:= 13
    	Gosub HotkeyRouting
    Return
    
    Hotkey14:
    	Hk:= 14
    	Gosub HotkeyRouting
    Return
    
    Hotkey15:
    	Hk:= 15
    	Gosub HotkeyRouting
    Return
    
    Hotkey16:
    	Hk:= 16
    	Gosub HotkeyRouting
    Return
    
    Hotkey17:
    	Hk:= 17
    	Gosub HotkeyRouting
    Return
    
    Hotkey18:
    	Hk:= 18
    	Gosub HotkeyRouting
    Return
    
    Hotkey19:
    	Hk:= 19
    	Gosub HotkeyRouting
    Return
    
    Hotkey20:
    	Hk:= 20
    	Gosub HotkeyRouting
    Return
    
    Hotkey21:
    	Hk:= 21
    	Gosub HotkeyRouting
    Return
    
    Hotkey22:
    	Hk:= 22
    	Gosub HotkeyRouting
    Return
    
    Hotkey23:
    	Hk:= 23
    	Gosub HotkeyRouting
    Return
    
    Hotkey24:
    	Hk:= 24
    	Gosub HotkeyRouting
    Return
    
    Hotkey25:
    	Hk:= 25
    	Gosub HotkeyRouting
    Return
    
    Hotkey26:
    	Hk:= 26
    	Gosub HotkeyRouting
    Return
    
    Hotkey27:
    	Hk:= 27
    	Gosub HotkeyRouting
    Return
    
    Hotkey28:
    	Hk:= 28
    	Gosub HotkeyRouting
    Return
    
    Hotkey29:
    	Hk:= 29
    	Gosub HotkeyRouting
    Return
    
    Hotkey30:
    	Hk:= 30
    	Gosub HotkeyRouting
    Return
    
    Hotkey31:
    	Hk:= 31
    	Gosub HotkeyRouting
    Return
    
    Hotkey32:
    	Hk:= 32
    	Gosub HotkeyRouting
    Return
    
    Hotkey33:
    	Hk:= 33
    	Gosub HotkeyRouting
    Return
    
    Hotkey34:
    	Hk:= 34
    	Gosub HotkeyRouting
    Return
    
    Hotkey35:
    	Hk:= 35
    	Gosub HotkeyRouting
    Return
    
    Hotkey36:
    	Hk:= 36
    	Gosub HotkeyRouting
    Return
    
    Hotkey37:
    	Hk:= 37
    	Gosub HotkeyRouting
    Return
    
    Hotkey38:
    	Hk:= 38
    	Gosub HotkeyRouting
    Return
    
    Hotkey39:
    	Hk:= 39
    	Gosub HotkeyRouting
    Return
    
    Hotkey40:
    	Hk:= 40
    	Gosub HotkeyRouting
    Return
    
    Hotkey41:
    	Hk:= 41
    	Gosub HotkeyRouting
    Return
    
    Hotkey42:
    	Hk:= 42
    	Gosub HotkeyRouting
    Return
    
    Hotkey43:
    	Hk:= 43
    	Gosub HotkeyRouting
    Return
    
    Hotkey44:
    	Hk:= 44
    	Gosub HotkeyRouting
    Return
    
    Hotkey45:
    	Hk:= 45
    	Gosub HotkeyRouting
    Return
    
    Hotkey46:
    	Hk:= 46
    	Gosub HotkeyRouting
    Return
    
    Hotkey47:
    	Hk:= 47
    	Gosub HotkeyRouting
    Return
    
    Hotkey48:
    	Hk:= 48
    	Gosub HotkeyRouting
    Return
    
    Hotkey49:
    	Hk:= 49
    	Gosub HotkeyRouting
    Return
    
    Hotkey50:
    	Hk:= 50
    	Gosub HotkeyRouting
    Return
    
    Hotkey51:
    	Hk:= 51
    	Gosub HotkeyRouting
    Return
    
    Hotkey52:
    	Hk:= 52
    	Gosub HotkeyRouting
    Return
    
    Hotkey53:
    	Hk:= 53
    	Gosub HotkeyRouting
    Return
    
    Hotkey54:
    	Hk:= 54
    	Gosub HotkeyRouting
    Return
    
    Hotkey55:
    	Hk:= 55
    	Gosub HotkeyRouting
    Return
    
    Hotkey56:
    	Hk:= 56
    	Gosub HotkeyRouting
    Return
    
    Hotkey57:
    	Hk:= 57
    	Gosub HotkeyRouting
    Return
    
    Hotkey58:
    	Hk:= 58
    	Gosub HotkeyRouting
    Return
    
    Hotkey59:
    	Hk:= 59
    	Gosub HotkeyRouting
    Return
    
    Hotkey60:
    	Hk:= 60
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey70:
    	Hk:= 70
    	Gosub HotkeyRouting
    Return
    
    Hotkey71:
    	Hk:= 71
    	Gosub HotkeyRouting
    Return
    
    Hotkey72:
    	Hk:= 72
    	Gosub HotkeyRouting
    Return
    
    Hotkey73:
    	Hk:= 73
    	Gosub HotkeyRouting
    Return
    
    Hotkey74:
    	Hk:= 74
    	Gosub HotkeyRouting
    Return
    
    Hotkey75:
    	Hk:= 75
    	Gosub HotkeyRouting
    Return
    
    Hotkey76:
    	Hk:= 76
    	Gosub HotkeyRouting
    Return
    
    Hotkey77:
    	Hk:= 77
    	Gosub HotkeyRouting
    Return
    
    Hotkey78:
    	Hk:= 78
    	Gosub HotkeyRouting
    Return
    
    Hotkey79:
    	Hk:= 79
    	Gosub HotkeyRouting
    Return
    
    Hotkey80:
    	Hk:= 80
    	Gosub HotkeyRouting
    Return
    
    Hotkey81:
    	Hk:= 81
    	Gosub HotkeyRouting
    Return
    
    Hotkey82:
    	Hk:= 82
    	Gosub HotkeyRouting
    Return
    
    Hotkey83:
    	Hk:= 83
    	Gosub HotkeyRouting
    Return
    
    Hotkey84:
    	Hk:= 84
    	Gosub HotkeyRouting
    Return
    
    Hotkey85:
    	Hk:= 85
    	Gosub HotkeyRouting
    Return
    
    Hotkey86:
    	Hk:= 86
    	Gosub HotkeyRouting
    Return
    
    Hotkey87:
    	Hk:= 87
    	Gosub HotkeyRouting
    Return
    
    Hotkey88:
    	Hk:= 88
    	Gosub HotkeyRouting
    Return
    
    Hotkey89:
    	Hk:= 89
    	Gosub HotkeyRouting
    Return
    
    Hotkey90:
    	Hk:= 90
    	Gosub HotkeyRouting
    Return
    
    Hotkey91:
    	Hk:= 91
    	Gosub HotkeyRouting
    Return
    
    Hotkey92:
    	Hk:= 92
    	Gosub HotkeyRouting
    Return
    
    Hotkey93:
    	Hk:= 93
    	Gosub HotkeyRouting
    Return
    
    Hotkey94:
    	Hk:= 94
    	Gosub HotkeyRouting
    Return
    
    Hotkey95:
    	Hk:= 95
    	Gosub HotkeyRouting
    Return
    
    Hotkey96:
    	Hk:= 96
    	Gosub HotkeyRouting
    Return
    
    Hotkey97:
    	Hk:= 97
    	Gosub HotkeyRouting
    Return
    
    Hotkey98:
    	Hk:= 98
    	Gosub HotkeyRouting
    Return
    
    Hotkey99:
    	Hk:= 99
    	Gosub HotkeyRouting
    Return
    
    Hotkey100:
    	Hk:= 100
    	Gosub HotkeyRouting
    Return
    
    Hotkey101:
    	Hk:= 101
    	Gosub HotkeyRouting
    Return
    
    Hotkey102:
    	Hk:= 102
    	Gosub HotkeyRouting
    Return
    
    Hotkey103:
    	Hk:= 103
    	Gosub HotkeyRouting
    Return
    
    Hotkey104:
    	Hk:= 104
    	Gosub HotkeyRouting
    Return
    
    Hotkey105:
    	Hk:= 105
    	Gosub HotkeyRouting
    Return
    
    Hotkey106:
    	Hk:= 106
    	Gosub HotkeyRouting
    Return
    
    Hotkey107:
    	Hk:= 107
    	Gosub HotkeyRouting
    Return
    
    Hotkey108:
    	Hk:= 108
    	Gosub HotkeyRouting
    Return
    
    Hotkey109:
    	Hk:= 109
    	Gosub HotkeyRouting
    Return
    
    Hotkey110:
    	Hk:= 110
    	Gosub HotkeyRouting
    Return
    
    Hotkey111:
    	Hk:= 111
    	Gosub HotkeyRouting
    Return
    
    Hotkey112:
    	Hk:= 112
    	Gosub HotkeyRouting
    Return
    
    Hotkey113:
    	Hk:= 113
    	Gosub HotkeyRouting
    Return
    
    Hotkey114:
    	Hk:= 114
    	Gosub HotkeyRouting
    Return
    
    Hotkey115:
    	Hk:= 115
    	Gosub HotkeyRouting
    Return
    
    Hotkey116:
    	Hk:= 116
    	Gosub HotkeyRouting
    Return
    
    Hotkey117:
    	Hk:= 117
    	Gosub HotkeyRouting
    Return
    
    Hotkey118:
    	Hk:= 118
    	Gosub HotkeyRouting
    Return
    
    Hotkey119:
    	Hk:= 119
    	Gosub HotkeyRouting
    Return
    
    Hotkey120:
    	Hk:= 120
    	Gosub HotkeyRouting
    Return
    
    Hotkey121:
    	Hk:= 121
    	Gosub HotkeyRouting
    Return
    
    Hotkey122:
    	Hk:= 122
    	Gosub HotkeyRouting
    Return
    
    Hotkey123:
    	Hk:= 123
    	Gosub HotkeyRouting
    Return
    
    Hotkey124:
    	Hk:= 124
    	Gosub HotkeyRouting
    Return
    
    Hotkey125:
    	Hk:= 125
    	Gosub HotkeyRouting
    Return
    
    Hotkey126:
    	Hk:= 126
    	Gosub HotkeyRouting
    Return
    
    Hotkey127:
    	Hk:= 127
    	Gosub HotkeyRouting
    Return
    
    Hotkey128:
    	Hk:= 128
    	Gosub HotkeyRouting
    Return
    
    Hotkey129:
    	Hk:= 129
    	Gosub HotkeyRouting
    Return
    
    Hotkey130:
    	Hk:= 130
    	Gosub HotkeyRouting
    Return
    
    Hotkey131:
    	Hk:= 131
    	Gosub HotkeyRouting
    Return
    
    Hotkey132:
    	Hk:= 132
    	Gosub HotkeyRouting
    Return
    
    Hotkey133:
    	Hk:= 133
    	Gosub HotkeyRouting
    Return
    
    Hotkey134:
    	Hk:= 134
    	Gosub HotkeyRouting
    Return
    
    Hotkey135:
    	Hk:= 135
    	Gosub HotkeyRouting
    Return
    
    Hotkey136:
    	Hk:= 136
    	Gosub HotkeyRouting
    Return
    
    Hotkey137:
    	Hk:= 137
    	Gosub HotkeyRouting
    Return
    
    Hotkey138:
    	Hk:= 138
    	Gosub HotkeyRouting
    Return
    
    Hotkey139:
    	Hk:= 139
    	Gosub HotkeyRouting
    Return
    
    Hotkey140:
    	Hk:= 140
    	Gosub HotkeyRouting
    Return
    
    Hotkey141:
    	Hk:= 141
    	Gosub HotkeyRouting
    Return
    
    Hotkey142:
    	Hk:= 142
    	Gosub HotkeyRouting
    Return
    
    Hotkey143:
    	Hk:= 143
    	Gosub HotkeyRouting
    Return
    
    Hotkey144:
    	Hk:= 144
    	Gosub HotkeyRouting
    Return
    
    Hotkey145:
    	Hk:= 145
    	Gosub HotkeyRouting
    Return
    
    Hotkey146:
    	Hk:= 146
    	Gosub HotkeyRouting
    Return
    
    Hotkey147:
    	Hk:= 147
    	Gosub HotkeyRouting
    Return
    
    Hotkey148:
    	Hk:= 148
    	Gosub HotkeyRouting
    Return
    
    Hotkey149:
    	Hk:= 149
    	Gosub HotkeyRouting
    Return
    
    Hotkey150:
    	Hk:= 150
    	Gosub HotkeyRouting
    Return
    
    Hotkey151:
    	Hk:= 151
    	Gosub HotkeyRouting
    Return
    
    Hotkey152:
    	Hk:= 152
    	Gosub HotkeyRouting
    Return
    
    Hotkey153:
    	Hk:= 153
    	Gosub HotkeyRouting
    Return
    
    Hotkey154:
    	Hk:= 154
    	Gosub HotkeyRouting
    Return
    
    Hotkey155:
    	Hk:= 155
    	Gosub HotkeyRouting
    Return
    
    Hotkey156:
    	Hk:= 156
    	Gosub HotkeyRouting
    Return
    
    Hotkey157:
    	Hk:= 157
    	Gosub HotkeyRouting
    Return
    
    Hotkey158:
    	Hk:= 158
    	Gosub HotkeyRouting
    Return
    
    Hotkey159:
    	Hk:= 159
    	Gosub HotkeyRouting
    Return
    
    Hotkey160:
    	Hk:= 160
    	Gosub HotkeyRouting
    Return
    
    
    Hotkey170:
    	Hk:= 170
    	Gosub HotkeyRouting
    Return
    
    Hotkey171:
    	Hk:= 171
    	Gosub HotkeyRouting
    Return
    
    Hotkey172:
    	Hk:= 172
    	Gosub HotkeyRouting
    Return
    
    Hotkey173:
    	Hk:= 173
    	Gosub HotkeyRouting
    Return
    
    Hotkey174:
    	Hk:= 174
    	Gosub HotkeyRouting
    Return
    
    Hotkey175:
    	Hk:= 175
    	Gosub HotkeyRouting
    Return
    
    Hotkey176:
    	Hk:= 176
    	Gosub HotkeyRouting
    Return
    
    Hotkey177:
    	Hk:= 177
    	Gosub HotkeyRouting
    Return
    
    Hotkey178:
    	Hk:= 178
    	Gosub HotkeyRouting
    Return
    
    Hotkey179:
    	Hk:= 179
    	Gosub HotkeyRouting
    Return
    
    Hotkey180:
    	Hk:= 180
    	Gosub HotkeyRouting
    Return
    
    Hotkey181:
    	Hk:= 181
    	Gosub HotkeyRouting
    Return
    
    Hotkey182:
    	Hk:= 182
    	Gosub HotkeyRouting
    Return
    
    Hotkey183:
    	Hk:= 183
    	Gosub HotkeyRouting
    Return
    
    Hotkey184:
    	Hk:= 184
    	Gosub HotkeyRouting
    Return
    
    Hotkey185:
    	Hk:= 185
    	Gosub HotkeyRouting
    Return
    
    Hotkey186:
    	Hk:= 186
    	Gosub HotkeyRouting
    Return
    
    Hotkey187:
    	Hk:= 187
    	Gosub HotkeyRouting
    Return
    
    Hotkey188:
    	Hk:= 188
    	Gosub HotkeyRouting
    Return
    
    Hotkey189:
    	Hk:= 189
    	Gosub HotkeyRouting
    Return
    
    Hotkey190:
    	Hk:= 190
    	Gosub HotkeyRouting
    Return
    
    Hotkey191:
    	Hk:= 191
    	Gosub HotkeyRouting
    Return
    
    Hotkey192:
    	Hk:= 192
    	Gosub HotkeyRouting
    Return
    
    Hotkey193:
    	Hk:= 193
    	Gosub HotkeyRouting
    Return
    
    Hotkey194:
    	Hk:= 194
    	Gosub HotkeyRouting
    Return
    
    Hotkey195:
    	Hk:= 195
    	Gosub HotkeyRouting
    Return
    
    Hotkey196:
    	Hk:= 196
    	Gosub HotkeyRouting
    Return
    
    Hotkey197:
    	Hk:= 197
    	Gosub HotkeyRouting
    Return
    
    Hotkey198:
    	Hk:= 198
    	Gosub HotkeyRouting
    Return
    
    Hotkey199:
    	Hk:= 199
    	Gosub HotkeyRouting
    Return
    
    Hotkey200:
    	Hk:= 200
    	Gosub HotkeyRouting
    Return
    
    HotkeyRouting:
    		If (Hkey%Hk%Type1 = 1) {
    			Gosub Type1
    		Return
    		}
    		If (Hkey%Hk%Type2 = 1) {
    			Gosub Type2
    		Return
    		}
    		If (Hkey%Hk%Type3 = 1) {
    			Gosub Type3
    		Return
    		}
    		If (Hkey%Hk%Type4 = 1) {
    			Gosub Type4
    		Return
    		}
    		If (Hkey%Hk%Type5 = 1) {
    			Gosub Type5
    		Return
    		}
    		If (Hkey%Hk%Type6 = 1) {
    			Gosub Type6
    		Return
    		}
    		If (Hkey%Hk%Type7 = 1) {
    			Gosub Type7
    		Return
    		}
    Return
    
    Cancel:
    	Reload
    Return

  11. #10
    nimb777's Avatar Member
    Reputation
    6
    Join Date
    Dec 2013
    Posts
    21
    Thanks G/R
    3/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

Similar Threads

  1. I need Current PTR Mountain climbing code-Because of error
    By Wildslayer in forum World of Warcraft General
    Replies: 0
    Last Post: 08-16-2006, 08:24 AM
  2. LOTS of WPE codes
    By Örpheus in forum World of Warcraft Bots and Programs
    Replies: 16
    Last Post: 08-04-2006, 01:19 PM
  3. [Bot:Source] Acidic Bot Source Code
    By =sinister= in forum World of Warcraft Bots and Programs
    Replies: 10
    Last Post: 07-03-2006, 05:38 PM
  4. Error in checking WoW.exe CRC code hack?
    By Trichelieu in forum World of Warcraft General
    Replies: 0
    Last Post: 06-11-2006, 02:24 PM
  5. [Program] Cyber Key (Automated WoW Key Presser)
    By Cypher in forum World of Warcraft Bots and Programs
    Replies: 0
    Last Post: 05-26-2006, 09:06 AM
All times are GMT -5. The time now is 09:46 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search