local ElvUI_EltreumUI, E, L, V, P, G = unpack(select(2, ...))
local sort = sort
local pairs = pairs
local tinsert = table.insert
local tconcat = table.concat
local ReloadUI = ReloadUI
local PlaySoundFile = PlaySoundFile

-- Author list
local AUTHORS = {
	'|cff82B4ffEltreum|r',
}

-- Credits and Thank yous list
local THANKYOU = {
	'|cff0070DEAzilroka|r',
	'|cffC41F3BKringel|r',
	'|cFF99CCFFAftermathh|r',
	'|cffF58CBARepooc|r',
	'Blazeflack',
	'Botanica',
	'|T134297:15:15:0:0:64:64:5:59:5:59|t |cffff7d0aMerathilis|r',
	'|cff9482c9Darth Predator|r',
	'Caedis',
	'Elv',
	E:TextGradient('Simpy but his name might be shorter sometimes even though he fixes a lot of things', 1,.42,.78, 1,.56,.68, .66,.99,.98, .77,.52,1, 1,.48,.81, .98,.95,.68),
	'Tukui Community',
	'Shrom',
	'Pat',
	'|cff00c0faBenik|r',
	'|T136012:15:15:0:0:64:64:5:59:5:59|t |cff006fdcRubgrsch|r |T656558:15:15:0:0:64:64:5:59:5:59|t',
	'|TInterface/AddOns/ElvUI/Media/ChatLogos/FoxWarlock:15:15:0:0:64:64:5:59:5:59|t |cff8788EENihilistzsche|r',
	'|TInterface/AddOns/ElvUI/Media/ChatLogos/Clover:15:15:0:0:64:64:5:59:5:59|t |cffFF7D0ALuckyone|r  -- Especially for allowing the usage of his installer/plugin as a base',
	'AcidWeb |TInterface/AddOns/ElvUI/Media/ChatLogos/Gem:15:15:-1:2:64:64:6:60:8:60|t',
}

-- SortList
local function SortList(a, b)
	return E:StripString(a) < E:StripString(b)
end

sort(AUTHORS, SortList)
sort(THANKYOU, SortList)

-- Author table
for _, name in pairs(AUTHORS) do
	tinsert(ElvUI_EltreumUI.CreditsList, name)
end
local AUTHORS_STRING = tconcat(AUTHORS, '|n')

-- Thank you table
for _, name in pairs(THANKYOU) do
	tinsert(ElvUI_EltreumUI.CreditsList, name)
end
local THANKYOU_STRING = tconcat(THANKYOU, '|n')

-- EltreumUI ingame options Retail
if ElvUI_EltreumUI.Retail then
	function ElvUI_EltreumUI:Configtable()
		-- Add EltreumUI version on top of the ElvUI config
		E.Options.name = E.Options.name .. " + " .. ElvUI_EltreumUI.Name .. format(" |cffffffff%s|r", ElvUI_EltreumUI.Version)
		E.Options.args.ElvUI_EltreumUI = {
			order = 6,
			type = 'group',
			name = ElvUI_EltreumUI.Name,
			args = {
				logo = {
					type = 'description',
					name = "",
					order = 6,
					image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\logohq', 320, 80 end,
				},
				installer = {
					order = 7,
					type = 'group',
					name = 'Installer',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\install',
					args = {
						install = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Reinstall the plugin to reset settings',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'Install',
									func = function() E:GetModule('PluginInstaller'):Queue(ElvUI_EltreumUI.InstallerData) E:ToggleOptionsUI() end,
								},
							},
						},
						resetnameplates = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Reset nameplates to Eltruism settings',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'Install',
									func = function() ElvUI_EltreumUI:SetupNamePlates('ElvUI') ElvUI_EltreumUI:ResolutionOutline() end,
								},
							},
						},
					},
				},
				aurafilters = {
					type = 'group',
					name = 'Aura Filters',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\aurafilter',
					order = 85,
					args = {
						header1 = {
							order = 1,
							type = 'header',
							name = 'Aura Filters',
						},
						listofauras = {
							order = 19,
							type = 'input',
							width = 'full',
							name = 'Import aura filters by copying the code below and going into Profiles > Import Profile.',
							get = function() return ' ' end,
						},
					},
				},
				profiles = {
					type = 'group',
					name = 'Addons',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\addon',
					order = 85,
					args = {
						header1 = {
									order = 1,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						plugins = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'ElvUI Plugins',
							args = {
								addonskins = {
									order = 1,
									type = 'execute',
									name = '|cff16C3F2AddOn|r|cFFFFFFFFSkins|r',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupAS() ReloadUI() end,
									confirm = true,
								},
								projectazilroka = {
									order = 2,
									type = 'execute',
									name = '|cFF16C3F2Project|r|cFFFFFFFFAzilroka|r',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupPA() ReloadUI() end,
									confirm = true,
								},
							},
						},
						header2 = {
									order = 2,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						bossmods = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'BossMods Profiles',
							args = {
								bigwigs = {
									order = 1,
									type = 'execute',
									name = 'BigWigs',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupBW() ReloadUI() end,
									confirm = true,
								},
								dbm = {
									order = 2,
									type = 'execute',
									name = 'DBM',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDBM() ReloadUI() end,
									confirm = true,
								},
							},
						},
						header3 = {
									order = 4,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						addons = {
							order = 4,
							type = 'group',
							inline = true,
							name = 'Addon Profiles',
							args = {
								dynamiccam = {
									order = 1,
									type = 'execute',
									name = 'Dynamic Cam',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDynamicCam() ReloadUI() end,
									confirm = true,
								},
								immersion = {
									order = 2,
									type = 'execute',
									name = 'Immersion',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupImmersion() ReloadUI() end,
									confirm = true,
								},
								gladiusex = {
									order = 3,
									type = 'execute',
									name = 'Gladius Ex',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupGladiusEx() ReloadUI() end,
									confirm = true,
								},
								exorsus = {
									order = 4,
									type = 'execute',
									name = 'Exorsus Raid Tools',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupExRT() ReloadUI() end,
									confirm = true,
								},
								nameplatesct = {
									order = 5,
									type = 'execute',
									name = 'NameplateSCT',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupNameplateSCT() ReloadUI() end,
									confirm = true,
								},
								fct = {
									order = 6,
									type = 'execute',
									name = 'Floating Combat Text',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupFCT() ReloadUI() end,
									confirm = true,
								},
								details = {
									order = 7,
									type = 'execute',
									name = 'Details',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDT() ReloadUI() end,
									confirm = true,
								},
							},
						},
					},
				},
				actionbars = {
					type = 'group',
					name = 'Custom Glow',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\customglow',
					order = 85,
					args = {
						glow = {
							type = 'group',
							name = 'Replace Blizzards Default Glow with a Custom class colored Glow',
							guiInline = true,
							order = 10,
							args = {
								enable = {
								type = 'toggle',
								name = 'Enable',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.glow.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.glow.enable = value end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								procselection = {
								order = 2,
								type = 'group',
								name = 'Select a Type',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										autocast = {
											type = 'toggle',
											name = 'Autocast',
											order = 10,
											desc = 'Adds an autocast style glow using class color',
											disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.pixel or E.db.ElvUI_EltreumUI.glow.blizzard end,
											get = function(info) return E.db.ElvUI_EltreumUI.glow.autocast end,
											set = function(info, value) E.db.ElvUI_EltreumUI.glow.autocast = value E:StaticPopup_Show('PRIVATE_RL') end,
										},
										pixel = {
											type = 'toggle',
											name = 'Pixel',
											order = 12,
											desc = 'Adds a pixel style glow using class color',
											disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.autocast or E.db.ElvUI_EltreumUI.glow.blizzard end,
											get = function(info) return E.db.ElvUI_EltreumUI.glow.pixel end,
											set = function(info, value) E.db.ElvUI_EltreumUI.glow.pixel = value E:StaticPopup_Show('PRIVATE_RL') end,
										},
										blizzard = {
											type = 'toggle',
											name = 'Blizzard',
											order = 11,
											desc = 'Adds a Blizzard style glow using class color',
											disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.autocast or E.db.ElvUI_EltreumUI.glow.pixel end,
											get = function(info) return E.db.ElvUI_EltreumUI.glow.blizzard end,
											set = function(info, value) E.db.ElvUI_EltreumUI.glow.blizzard = value E:StaticPopup_Show('PRIVATE_RL') end,
										},
									},
								},
							},
						},
					},
				},
				cvars = {
					order = 85,
					type = 'group',
					name = 'CVars',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\cvar',
					args = {
						setup = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Setup CVars',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'General CVars',
									func = function() ElvUI_EltreumUI:SetupCVars() ElvUI_EltreumUI:NameplateCVars() end,
									confirm = true,
								},
							},
						},
						generalDesc = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'It will set these CVars:',
							args = {
								cvars = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = '- autoLootDefault 1\n- ShowClassColorInFriendlyNameplate 1\n- removeChatDelay 1\n- autoQuestWatch 1\n- cameraDistanceMaxZoomFactor 2.6\n- nameplateLargerScale 1.2\n- nameplateMaxDistance 60\n- nameplateMinAlpha 1\n- nameplateMinScale 1\n- nameplateMotion 1\n- nameplateOccludedAlphaMult 0\n- nameplateOverlapH 0.8\n- nameplateOverlapV 1.1\n- nameplateSelectedScale 1\n- nameplateSelfAlpha 1\n- nameplateShowFriendlyMinions 0\n- nameplateOtherBottomInset 0.02\n- nameplateOtherTopInset 0.1\n- nameplateTargetRadialPosition 1\n- nameplateTargetBehindMaxDistance 40\n- UnitNameEnemyGuardianName 0\n- UnitNameEnemyMinionName 0\n- UnitNameEnemyPetName 0\n- UnitNameEnemyPlayerName 1\n- UnitNameEnemyTotemName 1\n- UnitNameNPC 1',
								},
							},
						},
					},
				},
				partyraidsettings = {
					type = 'group',
					name = 'Party/Raid',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\party',
					order = 85,
					args = {
						partyraiddeath = {
							type = 'group',
							name = 'Play a sound when someone dies in Party or Raid',
							guiInline = true,
							order = 10,
							args = {
								enable = {
								type = 'toggle',
								name = 'Enable Sound',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.partyraiddeath.enable end,
								--disabled = function() return E.db.ElvUI_EltreumUI.partyraiddeath.customenable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.partyraiddeath.enable = value end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								soundselection = {
								order = 2,
								type = 'group',
								name = 'Select a Sound',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										bruh = {
											type = 'toggle',
											name = 'Bruh',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.bruh end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.bruh = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\bruh.mp3", "Dialog") end,
										},
										robloxoof = {
											type = 'toggle',
											name = 'Oof',
											order = 6,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\oof.mp3", "Dialog") end,
										},
										shame = {
											type = 'toggle',
											name = 'Shame',
											order = 13,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.shame end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.shame = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\shame.mp3", "Dialog") end,
										},
										wowsound = {
											type = 'toggle',
											name = 'Wow',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.wow end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.wow = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\wow.mp3", "Dialog") end,
										},
										mariosound = {
											type = 'toggle',
											name = 'Mario',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.mario end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.mario = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\mariodeath.mp3", "Dialog") end,
										},
										ionsound = {
											type = 'toggle',
											name = 'Ion',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.ion = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\ionskillissue.mp3", "Dialog") end,
										},
									},
								},
								--[[addagaphere = {
								order = 3,
								type = "description",
								name = "",
								},
								enablecustom = {
								type = 'toggle',
								name = 'Enable Custom Sound',
								order = 4,
								disabled = function() return E.db.ElvUI_EltreumUI.partyraiddeath.enable end,
								get = function() return E.db.ElvUI_EltreumUI.partyraiddeath.customenable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.partyraiddeath.customenable = value end,
								},
								addagaphere = {
								order = 5,
								type = "description",
								name = "",
								},
								sharedmediadeath = {
								     order = 15,
								     type = 'select',
								     width = "double",
								     dialogControl = 'LSM30_Sound',
								     name = "Choose a sound:",
								     desc = 'Choose a different sound from the preselected ones',
								     values = AceGUIWidgetLSMlists.sound,
								     disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.customenable or E.db.ElvUI_EltreumUI.partyraiddeath.enable end,
								     get = function() return E.db.ElvUI_EltreumUI.partyraiddeath.playerdeathsound end,
								     set = function(self,soundvalue)
								          E.db.ElvUI_EltreumUI.partyraiddeath.playerdeathsound = soundvalue E:StaticPopup_Show('profile_RL')
								          --ElvUI_EltreumUI:RaidDeath(soundvalue)
								          --PlaySoundFile(soundvalue)
								          --confirm = true
								     end,
								     confirm = true,
								},]]--
							},
						},
						headergaphere = {
									order = 11,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						grouplayout = {
							type = 'group',
							name = 'Alternative unitframe layouts',
							guiInline = true,
							order = 12,
							args = {
								layoutdescription = {
										order = 1,
										type = 'description',
										fontSize = 'medium',
										name = 'DPS/Tank layouts were created with pure dps classes in mind, if you play a class with more raid cooldowns like a Shaman, Druid or Paladin you might want to use the alternative layout in order to make it easier for you to use your cooldowns on the members of your group',
								},
								alternativegroups = {
									order = 2,
									type = 'execute',
									name = 'Alternative Layout',
									func = function() ElvUI_EltreumUI:AlternativeGroupsDPS() ReloadUI() end,
									confirm = true,
								},
								originalgroups = {
									order = 3,
									type = 'execute',
									name = 'Original Layout',
									func = function() ElvUI_EltreumUI:OriginalGroupsDPS() ReloadUI() end,
									confirm = true,
								},
							},
						},
					},
				},
				quests = {
					type = 'group',
					name = 'Quests',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\quest',
					order = 85,
					args = {
						questsettings = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Collapse Quests during Encounters/Boss Fights',
							get = function(info) return E.db.ElvUI_EltreumUI.questsettings.enable end,
							set = function(info, value) E.db.ElvUI_EltreumUI.questsettings.enable = value end,
							args = {
								enable = {
									order = 5,
									type = 'toggle',
									name = 'Enable',
									desc = 'Collapse Quests when the boss fight starts',
								},
							},
						},
					},
				},
				cursor = {
					type = 'group',
					name = 'Cursor',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\cursor',
					order = 85,
					args = {
						cursorsettings = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Add a gcd and cast ring to the cursor',
							args = {
								enable = {
									order = 1,
									type = 'toggle',
									name = 'Enable cursor GCD and Cast',
									desc = 'Add a gcd and cast ring to the cursor',
									width = 'full',
									confirm = true,
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.enable end,
									set = function(info, value) E.db.ElvUI_EltreumUI.cursor.enable = value ReloadUI() end,
								},
								header1 = {
									order = 2,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								ringtexture = {
									order = 7,
									type = 'group',
									inline = true,
									name = 'Choose a type of cursor by clicking it',
									width = 'full',
									args = {
										currentring = {
											order = 0,
											type = 'description',
											name = function() return 'Currently selected cursor: '..ElvUI_EltreumUI:CurrentTypeofCursor() end,
											desc = ''
										},
										showring1 = {
											order = 1,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring1',
											name = 'Type 1',
											desc = 'The Cursor will use this type as its texture',
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring1.tga' ReloadUI() end,
											confirm = true,
										},
										showring2 = {
											order = 2,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring2',
											name = 'Type 2',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring2.tga' ReloadUI()  end,
										},
										showring3 = {
											order = 3,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring3',
											name = 'Type 3',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring3.tga' ReloadUI() end,
										},
										showring4 = {
											order = 4,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring4',
											name = 'Type 4',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring4.tga' ReloadUI() end,
										},
										showring5 = {
											order = 5,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring5',
											name = 'Type 5',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring5.tga' ReloadUI() end,
										},
										showring6 = {
											order = 6,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring6',
											name = 'Type 6',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring6.tga' ReloadUI() end,
										},
										showring7 = {
											order = 7,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring7',
											name = 'Type 7',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring7.tga' ReloadUI() end,
										},
										showring8 = {
											order = 8,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring8',
											name = 'Type 8',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring8.tga' ReloadUI() end,
										},
										showring9 = {
											order = 9,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring9',
											name = 'Type 9',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring9.tga' ReloadUI() end,
										},
										showring10 = {
											order = 10,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring10',
											name = 'Type 10',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring10.tga' ReloadUI() end,
										},
										--[[header1 = {
											order = 98,
											type = "description",
											name = "",
											width = 'full',
											image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
										},
										cursortexturepicker = {
											order = 99,
											type = 'select',
											name = 'Choose a cursor from the gallery:',
											desc = 'Choose this as the cursor texture',
											confirm = true,
											values = function() return ElvUI_EltreumUI:ListofCursors() end,
							                style = 'radio',
											get = function(info) return E.db.ElvUI_EltreumUI.cursor.ring end,
											set = function(info, value) E.db.ElvUI_EltreumUI.cursor.ring = value ReloadUI() end,
										},]]--
									},
								},
							},
						},
						header1 = {
							order = 3,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						cursorsize = {
							order = 4,
							type = 'group',
							inline = true,
							name= 'Change the size of the World of Warcraft Cursor',
							width = 'full',
							args = {
								setsize = {
									order = 7,
									type = 'select',
									name = 'Select a size',
									desc = 'Choose this size',
									values = {
					                    ['-1'] = 'Autodetect',
					                    ['0'] = '32x32',
					                    ['1'] = '48x48',
					                    ['2'] = '64x64',
					                    ['3'] = '128x128',
					                },
					                style = 'radio',
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.size end,
  									set = function(info,value) ElvUI_EltreumUI:CursorSize(value) end,
								},
							},
						},
					},
				},
				combatmusic = {
					type = 'group',
					name = 'Combat Music',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\music',
					order = 85,
					args = {
						moremusicsettings = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Play music during combat',
							args = {
								enable = {
									order = 1,
									type = 'toggle',
									name = 'Enable',
									desc = 'Enable music during combat',
									width = 'full',
									get = function(info) return E.private.ElvUI_EltreumUI.combatmusic.enable end,
									set = function(info, value) E.private.ElvUI_EltreumUI.combatmusic.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								instancemusic = {
									order = 2,
									type = 'toggle',
									name = 'Disable in Instances',
									desc = 'Disable music during combat in instances',
									width = 'full',
									disabled = function() return not E.private.ElvUI_EltreumUI.combatmusic.enable end,
									get = function(info) return E.private.ElvUI_EltreumUI.combatmusic.disableinstance end,
									set = function(info, value) E.private.ElvUI_EltreumUI.combatmusic.disableinstance = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								pathtofile = {
									order = 6,
									type = 'group',
									inline = true,
									name = "Path to file",
									args = {
										howtomusic = {
										order = 2,
										type = "description",
										name = "Example: Interface\\Addons\\mymusic.mp3",
										},
										somegap = {
											order = 3,
											type = "description",
											name = "",
										},
										soundpath = {
											order = 6,
											icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\music',
											type = 'input',
											name = '',
											desc = '',
											width = 'full',
											get = function() return E.private.ElvUI_EltreumUI.combatmusic.musicfile end,
											set = function(_, value) E.private.ElvUI_EltreumUI.combatmusic.musicfile = value E:StaticPopup_Show('PRIVATE_RL') end,
										}
									}
								},
							},
						},
					},
				},
				maps = {
					type = 'group',
					name = 'Maps',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\map',
					order = 85,
					args = {
						waypointetasetting = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Add a time to arrive below the waypoint',
							args = {
								explainer = {
									order = 1,
									type = "description",
									name = 'The time will be calculated based on player speed and distance',
								},
								explainer2 = {
									order = 2,
									type = "description",
									name = 'If the player is not moving then *** will show up since time cannot be calculated',
								},
								explainer3 = {
									order = 3,
									type = "description",
									name = 'If you move away from the waypoint the time will just increase',
								},
								explainer4 = {
									order = 4,
									type = "description",
									name = '',
								},
								enable = {
									order = 5,
									type = 'toggle',
									name = 'Enable',
									desc = 'Add an ETA to waypoints',
									get = function(info) return E.db.ElvUI_EltreumUI.waypointetasetting.enable end,
									set = function(info, value) E.db.ElvUI_EltreumUI.waypointetasetting.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
							},
						},
						waytext = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Enable the /way and /waypoint commands',
							args = {
								explainer = {
									order = 1,
									type = "description",
									name = 'You can type /way or /waypoint',
								},
								explainer2 = {
									order = 2,
									type = "description",
									name = 'Use formats such as:',
								},
								explainer3 = {
									order = 3,
									type = "description",
									name = 'XX YY, XX.XX YY.YY, XX,XX YY,YY and XXX YYY',
								},
								explainer4 = {
									order = 4,
									type = "description",
									name = 'Other Formats can end up causing errors',
								},
								enable = {
									order = 5,
									type = 'toggle',
									name = 'Enable',
									desc = 'Enable the /way and /waypoint commands',
									get = function(info) return E.db.ElvUI_EltreumUI.waytext.enable end,
									set = function(info, value) E.db.ElvUI_EltreumUI.waytext.enable = value end,
								},
							},
						},
					},
				},
				media = {
					type = 'group',
					name = 'Media',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\media',
					order = 85,
					args = {
						mediaoptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Setup Media',
							width = 'full',
							args = {
								private = {
									order = 1,
									type = 'execute',
									name = 'Reset all Media',
									desc = 'Reset Fonts, Textures, Skins to Eltreum UI defaults.',
									width = 'full',
									func = function() ElvUI_EltreumUI:SetupPrivate() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								header1 = {
								order = 3,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								fontdescription= {
								order = 3,
								type = "description",
								name = "Set the fonts used in Eltruism. Kimberley is the default font",
								},
								kimberley = {
									order = 4,
									type = 'execute',
									name = 'Kimberley',
									desc = 'This will set all ElvUI fonts as Kimberley',
									func = function() ElvUI_EltreumUI:SetupFontsKimberley() E:StaggeredUpdateAll(nil, true)  end,
									confirm = true,
								},
								exo2 = {
									order = 5,
									type = 'execute',
									name = 'Exo2',
									desc = 'This will set all ElvUI fonts as Exo2',
									func = function() ElvUI_EltreumUI:SetupFontsExo2() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								addagaphereforfonts = {
								order = 6,
								type = "description",
								name = "",
								--width = "full",
								},
								gotham = {
									order = 7,
									type = 'execute',
									name = 'Gotham',
									desc = 'This will set all ElvUI fonts as Gotham',
									func = function() ElvUI_EltreumUI:SetupFontsGotham() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},

								roboto = {
									order = 7,
									type = 'execute',
									name = 'Roboto',
									desc = 'This will set all ElvUI fonts as Roboto',
									func = function() ElvUI_EltreumUI:SetupFontsRoboto() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								addagaphereforcustom = {
								order = 8,
								type = "description",
								name = "",
								},
								sharedmediafont = {
								     order = 8,
								     type = 'select',
								     width = "double",
								     dialogControl = 'LSM30_Font',
								     name = "Or choose a custom font",
								     desc = 'Choose a different font from the preselected ones',
								     values = AceGUIWidgetLSMlists.font,
								     get = function()
								          return E.db.ElvUI_EltreumUI.fonts.playerfont
								     end,
								     set = function(self,fontvalue)
								          E.db.ElvUI_EltreumUI.fonts.playerfont = fontvalue
								          ElvUI_EltreumUI:SetupCustomFont(fontvalue)
								     end,
								},
								addagaphereforoutlines = {
								order = 9,
								type = "description",
								name = "",
								},
								addagaphereagain = {
								order = 9,
								type = "description",
								name = "",
								},
								header3 = {
								order = 10,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								fontoutline = {
								order = 11,
								type = "description",
								name = "Set the Font Outlines everywhere. Use Default to return to Eltruism default settings",
								width = "full",
								},
								default = {
									order = 12,
									type = 'execute',
									name = 'Defaults',
									desc = 'This will set fonts to Eltruism defaults, recommended for 4K',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineDefault() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								none = {
									order = 12,
									type = 'execute',
									name = 'None',
									desc = 'This will set fonts to no outline',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineNone() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								outlinegap = {
								order = 13,
								type = "description",
								name = "",
								},
								outline = {
									order = 13,
									type = 'execute',
									name = 'Outline',
									desc = 'This will set fonts to use outline, recommended for 1440p and 1080p',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineOutline() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								thick = {
									order = 13,
									type = 'execute',
									name = 'Thick Outline',
									desc = 'This will set fonts to use thick outline, similar to Eltruism defaults',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineThick() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								header4 = {
								order = 14,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								darklightmode = {
								order = 15,
								type = "description",
								name = "Change the look of frames to Dark or Light mode",
								width = "full",
								},
								dark = {
									order = 16,
									type = 'execute',
									name = 'Dark Mode',
									desc = 'This will set colors to black with class colors when losing health',
									func = function() ElvUI_EltreumUI:DarkMode() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								light = {
									order = 16,
									type = 'execute',
									name = 'Light Mode',
									desc = 'This will set colors to class based with black backgrounds when losing health',
									func = function() ElvUI_EltreumUI:LightMode() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
							},
						},
					},
				},
				nameplates = {
					type = 'group',
					name = 'Nameplates',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\nameplate',
					order = 85,
					args = {
						header = {
									order = 1,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						nameplateOptions = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Class Colored Nameplate Options',
							args = {
								classhover = {
									order = 1,
									type = 'toggle',
									name = 'Hover',
									desc = 'Change the color of the hover to be class colored',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.ClassColorGlow end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.ClassColorGlow = value end,
								},
								classborder = {
									order = 2,
									type = 'toggle',
									name = 'Border',
									desc = 'Change the color of the border glow to be class bordered in nameplates',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.ClassBorderNameplate end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.ClassBorderNameplate = value end,
								},
								classtexture = {
									order = 2,
									type = 'toggle',
									name = 'Target Texture',
									desc = 'Change the texture of the nameplate to be a class gradient',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.nameplatetexture end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.nameplatetexture = value end,
								},
							},
						},
						addsomegap = {
								order = 3,
								type = "description",
								name = "",
						},
						header2 = {
									order = 4,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						friendlynameplate = {
							order = 5,
							type = 'group',
							inline = true,
							name = 'Control how Nameplates behave',
							args = {
								hidehealthinsideinstances = {
									order = 1,
									type = 'toggle',
									name = 'Show Friendly Nameplates but Hide Healthbar',
									desc = 'Show Friendly Nameplates but Hide Healthbar',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								nofriendlyinstances = {
									order = 1,
									type = 'toggle',
									name = 'Hide Friendly Nameplates inside Instances',
									desc = 'Hide Friendly Nameplates inside Instances',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								dontshowfriendlyatall = {
									order = 1,
									type = 'toggle',
									name = 'Hide Friendly Nameplates everywhere',
									desc = 'Hide Friendly Nameplates everywhere',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
							},
						},
						header3 = {
									order = 6,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						verywidenameplate = {
							order = 99,
							type = 'group',
							inline = true,
							name = 'Wide nameplate debuffs and buffs',
							args = {
								desc = {
									order = 1,
									type = 'toggle',
									name = 'Make Buffs and Debuffs Wide on Nameplates',
									desc = 'Toogle On and Off',
									width = 'full',
									get = function() return E.db.ElvUI_EltreumUI.widenameplate.enable end,
									set = function(_, value) E.db.ElvUI_EltreumUI.widenameplate.enable = value end,
								},
							}
						},
					},
				},
				loottext = {
					type = 'group',
					name = 'Loot',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\loot',
					order = 85,
					args = {
						lootsetting = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Show a floating loot text',
							args = {
								desc = {
								type = 'toggle',
								name = 'Enable',
								desc = 'Toggle On and Off',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.loottext.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.loottext.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								suboptions = {
								order = 2,
								type = 'group',
								name = 'Choose which types of text:',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										honor = {
											type = 'toggle',
											name = 'Honor',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
											get = function(info) return E.db.ElvUI_EltreumUI.loottext.honor end,
											set = function(info, value) E.db.ElvUI_EltreumUI.loottext.honor = value end,
										},
										currency = {
											type = 'toggle',
											name = 'Currency',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
											get = function(info) return E.db.ElvUI_EltreumUI.loottext.currency end,
											set = function(info, value) E.db.ElvUI_EltreumUI.loottext.currency = value end,
										},
										pet = {
											type = 'toggle',
											name = 'Pets',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
											get = function(info) return E.db.ElvUI_EltreumUI.loottext.pet end,
											set = function(info, value) E.db.ElvUI_EltreumUI.loottext.pet = value end,
										},
									}
								}
							}
						},
					},
				},
				stealth = {
					type = 'group',
					name = 'Stealth Vignette',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\stealth',
					order = 85,
					args = {
						stealthOptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Toggle a Stealth Effect',
							args = {
								stealthframeoptions = {
									order = 1,
									type = 'toggle',
									name = 'Add a vignette effect while in stealth',
									width = 'full',
									desc = 'Turn the effect on',
									get = function(info) return E.db.ElvUI_EltreumUI.stealthOptions.stealtheffect end,
									set = function(info, value) E.db.ElvUI_EltreumUI.stealthOptions.stealtheffect = value end,
								},
							},
						},
					},
				},
				afk = {
					type = 'group',
					name = 'A.F.K',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\afk',
					order = 85,
					args = {
						afkmusic = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Play music while you are AFK',
							args = {
								enable = {
								type = 'toggle',
								name = 'Enable',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.afkmusic.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.afkmusic.enable = value end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								afksoundtype = {
								order = 2,
								type = 'group',
								name = 'Select a type of music',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										racial = {
											type = 'toggle',
											name = 'Racial Music',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.afkmusic.enable or E.db.ElvUI_EltreumUI.afkmusic.playerclass end,
											get = function(info) return E.db.ElvUI_EltreumUI.afkmusic.racial end,
											set = function(info, value) E.db.ElvUI_EltreumUI.afkmusic.racial = value end,
										},
										playerclass = {
											type = 'toggle',
											name = 'Class Music',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.afkmusic.enable or E.db.ElvUI_EltreumUI.afkmusic.racial end,
											get = function(info) return E.db.ElvUI_EltreumUI.afkmusic.playerclass end,
											set = function(info, value) E.db.ElvUI_EltreumUI.afkmusic.playerclass = value end,
										},
									}
								}
							}
						},
					},
				},
				weakauras = {
					type = 'group',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\weakauras',
					name = 'WeakAuras',
					order = 95,
					args = {
						header1 = {
							order = 1,
							type = 'header',
							name = 'WeakAuras',
						},
						explainer7 = {
							order = 2,
							type = "description",
							name = 'My WeakAuras are available here, but are not focused on one class. Consider them more like upcoming features.',
						},
						addaspacehere = {
							order = 3,
							type = "description",
							name = '',
						},
						wago = {
							order = 4,
							type = 'input',
							width = 'normal',
							name = 'All weakauras',
							get = function() return 'wago.io/p/Eltreum' end,
						},
						addsomegap = {
								order = 5,
								type = "description",
								name = "",
						},
						nameplatepowerbar = {
							order = 6,
							type = 'input',
							width = 'full',
							name = 'Nameplate Power Bar',
							get = function() return 'https://wago.io/MHkYMit7S' end,
						},
						addsomegap2 = {
								order = 7,
								type = "description",
								name = "",
						},
						bossnameplate = {
							order = 8,
							type = 'input',
							width = 'full',
							name = 'Boss nameplate at base',
							get = function() return 'https://wago.io/M7yrCgMnE' end,
						},
						addsomegap3 = {
								order = 9,
								type = "description",
								name = "",
						},
						executenameplate = {
							order = 10,
							type = 'input',
							width = 'full',
							name = 'Executes next to nameplates',
							get = function() return 'https://wago.io/afJKwFwAX' end,
						},
					},
				},
				discord = {
					type = 'group',
					name = 'Discord',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\discord',
					order = 96,
					args = {
						logodiscord = {
							type = 'description',
							name = "",
							order = 1,
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\disc', 256, 128 end,
						},
						explainer8 = {
							order = 2,
							type = "description",
							name = 'Join the Discord if you have any questions or issues',
						},
						addaspacehere4 = {
							order = 3,
							type = "description",
							name = '',
						},
						discordinvitelink = {
							order = 19,
							type = 'input',
							width = 'full',
							name = '',
							get = function() return 'https://discord.gg/cXfA56gmYW' end,
						},
					},
				},
				changelog = {
					type = 'group',
					name = 'Changelog',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\changelog',
					order = 97,
					args = {
						changelogtext = {
							order = 19,
							type = 'description',
							width = 'full',
							name = ElvUI_EltreumUI:Changelog(),
						},
					},
				},
				credits = {
					type = 'group',
					name = 'Credits',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\credits',
					order = 97,
					args = {
						author = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Author',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = AUTHORS_STRING,
								},
							},
						},
						thankyou = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Credits and Thank yous',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = THANKYOU_STRING,
								},
							},
						},
						licensewarning = {
							order = 99,
							type = 'group',
							inline = true,
							name = 'License',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = 'Icons8 (www.icons8.com) for some of the icons. List in license.txt\nLootText is licensed under GNU GPLv3 and is a fork of SLoTe from xavjer\nCursor is licended under GNU GPLv3 and is a fork of CastCursor by michaelsp',
								},
							},
						},
					},
				},
				support = {
					type = 'group',
					name = 'Support',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\support',
					order = 98,
					args = {
						gitlink = {
							order = 1,
							type = 'input',
							width = 'full',
							name = 'New commits, basically a preview of fixes or upcoming features',
							get = function() return 'https://git.tukui.org/eltreum/eltruism/-/commits/master' end,
						},
						issues = {
							order = 2,
							type = 'input',
							width = 'full',
							name = 'Report issues and problems here:',
							get = function() return 'https://git.tukui.org/eltreum/eltruism/-/issues' end,
						},
						tukui = {
							order = 3,
							type = 'input',
							width = 'full',
							name = 'Addon on tukui:',
							get = function() return 'https://www.tukui.org/addons.php?id=209' end,
						},
						curse = {
							order = 4,
							type = 'input',
							width = 'full',
							name = 'Addon on curse:',
							get = function() return 'https://www.curseforge.com/wow/addons/elvui-eltruism' end,
						},
					},
				},
			},
		}
		for _, func in pairs(ElvUI_EltreumUI.Config) do
			func()
		end
	end
end

-- EltreumUI ingame options Classic
if ElvUI_EltreumUI.Classic then
	function ElvUI_EltreumUI:Configtable()
		-- Add EltreumUI version on top of the ElvUI config
		E.Options.name = E.Options.name .. " + " .. ElvUI_EltreumUI.Name .. format(" |cffffffff%s|r", ElvUI_EltreumUI.Version)
		E.Options.args.ElvUI_EltreumUI = {
			order = 6,
			type = 'group',
			name = ElvUI_EltreumUI.Name,
			args = {
				logo = {
					type = 'description',
					name = "",
					order = 6,
					image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\logohq', 320, 80 end,
				},
				installer = {
					order = 7,
					type = 'group',
					name = 'Installer',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\install',
					args = {
						install = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Reinstall the plugin to reset settings',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'Install',
									func = function() E:GetModule('PluginInstaller'):Queue(ElvUI_EltreumUI.InstallerData) E:ToggleOptionsUI() end,
								},
							},
						},
						resetnameplates = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Reset nameplates to Eltruism settings',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'Install',
									func = function() ElvUI_EltreumUI:SetupNamePlates('ElvUI') ElvUI_EltreumUI:ResolutionOutline() end,
								},
							},
						},
					},
				},
				--[[afk = {
					type = 'group',
					name = 'A.F.K',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\afk',
					order = 85,
					args = {
						afkmusic = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Play music while you are AFK',
							args = {
								enable = {
								type = 'toggle',
								name = 'Enable',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.afkmusic.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.afkmusic.enable = value end,
								},
							}
						},
					},
				},]]--
				cursor = {
					type = 'group',
					name = 'Cursor',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\cursor',
					order = 85,
					args = {
						cursorsettings = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Add a gcd and cast ring to the cursor',
							args = {
								enable = {
									order = 1,
									type = 'toggle',
									name = 'Enable cursor GCD and Cast',
									desc = 'Add a gcd and cast ring to the cursor',
									width = 'full',
									confirm = true,
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.enable end,
									set = function(info, value) E.db.ElvUI_EltreumUI.cursor.enable = value ReloadUI() end,
								},
								header1 = {
									order = 2,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								ringtexture = {
									order = 7,
									type = 'group',
									inline = true,
									name = 'Choose a type of cursor by clicking it',
									width = 'full',
									args = {
										currentring = {
											order = 0,
											type = 'description',
											name = function() return 'Currently selected cursor: '..ElvUI_EltreumUI:CurrentTypeofCursor() end,
											desc = ''
										},
										showring1 = {
											order = 1,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring1',
											name = 'Type 1',
											desc = 'The Cursor will use this type as its texture',
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring1.tga' ReloadUI() end,
											confirm = true,
										},
										showring2 = {
											order = 2,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring2',
											name = 'Type 2',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring2.tga' ReloadUI()  end,
										},
										showring3 = {
											order = 3,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring3',
											name = 'Type 3',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring3.tga' ReloadUI() end,
										},
										showring4 = {
											order = 4,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring4',
											name = 'Type 4',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring4.tga' ReloadUI() end,
										},
										showring5 = {
											order = 5,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring5',
											name = 'Type 5',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring5.tga' ReloadUI() end,
										},
										showring6 = {
											order = 6,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring6',
											name = 'Type 6',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring6.tga' ReloadUI() end,
										},
										showring7 = {
											order = 7,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring7',
											name = 'Type 7',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring7.tga' ReloadUI() end,
										},
										showring8 = {
											order = 8,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring8',
											name = 'Type 8',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring8.tga' ReloadUI() end,
										},
										showring9 = {
											order = 9,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring9',
											name = 'Type 9',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring9.tga' ReloadUI() end,
										},
										showring10 = {
											order = 10,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring10',
											name = 'Type 10',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring10.tga' ReloadUI() end,
										},
										--[[header1 = {
											order = 98,
											type = "description",
											name = "",
											width = 'full',
											image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
										},
										cursortexturepicker = {
											order = 99,
											type = 'select',
											name = 'Choose a cursor from the gallery:',
											desc = 'Choose this as the cursor texture',
											confirm = true,
											values = function() return ElvUI_EltreumUI:ListofCursors() end,
							                style = 'radio',
											get = function(info) return E.db.ElvUI_EltreumUI.cursor.ring end,
											set = function(info, value) E.db.ElvUI_EltreumUI.cursor.ring = value ReloadUI() end,
										},]]--
									},
								},
							},
						},
						header1 = {
							order = 3,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						cursorsize = {
							order = 4,
							type = 'group',
							inline = true,
							name= 'Change the size of the World of Warcraft Cursor',
							width = 'full',
							args = {
								setsize = {
									order = 7,
									type = 'select',
									name = 'Select a size',
									desc = 'Choose this size',
									values = {
					                    ['-1'] = 'Autodetect',
					                    ['0'] = '32x32',
					                    ['1'] = '48x48',
					                    ['2'] = '64x64',
					                    ['3'] = '128x128',
					                },
					                style = 'radio',
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.size end,
  									set = function(info,value) ElvUI_EltreumUI:CursorSize(value) end,
								},
							},
						},
					},
				},
				profiles = {
					type = 'group',
					name = 'Addons',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\addon',
					order = 85,
					args = {
						header1 = {
									order = 1,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						plugins = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'ElvUI Plugins',
							args = {
								addonskins = {
									order = 1,
									type = 'execute',
									name = '|cff16C3F2AddOn|r|cFFFFFFFFSkins|r',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupAS() ReloadUI() end,
									confirm = true,
								},
								projectazilroka = {
									order = 2,
									type = 'execute',
									name = '|cFF16C3F2Project|r|cFFFFFFFFAzilroka|r',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupPA() ReloadUI() end,
									confirm = true,
								},
							},
						},
						header2 = {
									order = 2,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						bossmods = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'BossMods Profiles',
							args = {
								bigwigs = {
									order = 1,
									type = 'execute',
									name = 'BigWigs',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupBW() ReloadUI() end,
									confirm = true,
								},
								dbm = {
									order = 2,
									type = 'execute',
									name = 'DBM',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDBM() ReloadUI() end,
									confirm = true,
								},
							},
						},
						header3 = {
									order = 4,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						addons = {
							order = 4,
							type = 'group',
							inline = true,
							name = 'Addon Profiles',
							args = {
								dynamiccam = {
									order = 1,
									type = 'execute',
									name = 'Dynamic Cam',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDynamicCam() ReloadUI() end,
									confirm = true,
								},
								questie = {
									order = 9,
									type = 'execute',
									name = 'Questie',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupQuestie() ReloadUI() end,
									confirm = true,
								},
								immersion = {
									order = 2,
									type = 'execute',
									name = 'Immersion',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupImmersion() ReloadUI() end,
									confirm = true,
								},
								nameplatesct = {
									order = 5,
									type = 'execute',
									name = 'NameplateSCT',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupNameplateSCT() ReloadUI() end,
									confirm = true,
								},
								details = {
									order = 7,
									type = 'execute',
									name = 'Details',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDT() ReloadUI() end,
									confirm = true,
								},
							},
						},
					},
				},
				combatmusic = {
					type = 'group',
					name = 'Combat Music',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\music',
					order = 85,
					args = {
						moremusicsettings = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Play music during combat',
							args = {
								enable = {
									order = 1,
									type = 'toggle',
									name = 'Enable',
									desc = 'Enable music during combat',
									width = 'full',
									get = function(info) return E.private.ElvUI_EltreumUI.combatmusic.enable end,
									set = function(info, value) E.private.ElvUI_EltreumUI.combatmusic.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								instancemusic = {
									order = 2,
									type = 'toggle',
									name = 'Disable in Instances',
									desc = 'Disable music during combat in instances',
									width = 'full',
									disabled = function() return not E.private.ElvUI_EltreumUI.combatmusic.enable end,
									get = function(info) return E.private.ElvUI_EltreumUI.combatmusic.disableinstance end,
									set = function(info, value) E.private.ElvUI_EltreumUI.combatmusic.disableinstance = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								pathtofile = {
									order = 6,
									type = 'group',
									inline = true,
									name = "Path to file",
									args = {
										howtomusic = {
										order = 2,
										type = "description",
										name = "Example: Interface\\Addons\\mymusic.mp3",
										},
										somegap = {
											order = 3,
											type = "description",
											name = "",
										},
										soundpath = {
											order = 6,
											icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\music',
											type = 'input',
											name = '',
											desc = '',
											width = 'full',
											get = function() return E.private.ElvUI_EltreumUI.combatmusic.musicfile end,
											set = function(_, value) E.private.ElvUI_EltreumUI.combatmusic.musicfile = value E:StaticPopup_Show('PRIVATE_RL') end,
										}
									}
								},
							},
						},
					},
				},
				cvars = {
					order = 85,
					type = 'group',
					name = 'CVars',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\cvar',
					args = {
						setup = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Setup CVars',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'General CVars',
									func = function() ElvUI_EltreumUI:SetupCVars() ElvUI_EltreumUI:NameplateCVars() end,
									confirm = true,
								},
							},
						},
						generalDesc = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'It will set these CVars:',
							args = {
								cvars = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = '- autoLootDefault 1\n- ShowClassColorInFriendlyNameplate 1\n- removeChatDelay 1\n- autoQuestWatch 1\n- cameraDistanceMaxZoomFactor 2.6\n- nameplateLargerScale 1.2\n- nameplateMaxDistance 60\n- nameplateMinAlpha 1\n- nameplateMinScale 1\n- nameplateMotion 1\n- nameplateOccludedAlphaMult 0\n- nameplateOverlapH 0.8\n- nameplateOverlapV 1.1\n- nameplateSelectedScale 1\n- nameplateSelfAlpha 1\n- nameplateShowFriendlyMinions 0\n- nameplateOtherBottomInset 0.02\n- nameplateOtherTopInset 0.1\n- nameplateTargetRadialPosition 1\n- nameplateTargetBehindMaxDistance 40\n- UnitNameEnemyGuardianName 0\n- UnitNameEnemyMinionName 0\n- UnitNameEnemyPetName 0\n- UnitNameEnemyPlayerName 1\n- UnitNameEnemyTotemName 1\n- UnitNameNPC 1',
								},
							},
						},
					},
				},
				partyraidsettings = {
					type = 'group',
					name = 'Party/Raid',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\party',
					order = 85,
					args = {
						partyraiddeath = {
							type = 'group',
							name = 'Play a sound when someone dies in Party or Raid',
							guiInline = true,
							order = 10,
							args = {
								enable = {
								type = 'toggle',
								name = 'Enable',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.partyraiddeath.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.partyraiddeath.enable = value end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								soundselection = {
								order = 2,
								type = 'group',
								name = 'Select a Sound',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										bruh = {
											type = 'toggle',
											name = 'Bruh',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.bruh end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.bruh = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\bruh.mp3", "Dialog") end,
										},
										robloxoof = {
											type = 'toggle',
											name = 'Oof',
											order = 6,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\oof.mp3", "Dialog") end,
										},
										shame = {
											type = 'toggle',
											name = 'Shame',
											order = 13,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.shame end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.shame = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\shame.mp3", "Dialog") end,
										},
										wowsound = {
											type = 'toggle',
											name = 'Wow',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.wow end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.wow = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\wow.mp3", "Dialog") end,
										},
										mariosound = {
											type = 'toggle',
											name = 'Mario',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.mario end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.mario = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\mariodeath.mp3", "Dialog") end,
										},
										ionsound = {
											type = 'toggle',
											name = 'Ion',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.ion = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\ionskillissue.mp3", "Dialog") end,
										},
									},
								},
							},
						},
						headergaphere = {
									order = 11,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						grouplayout = {
							type = 'group',
							name = 'Alternative unitframe layouts',
							guiInline = true,
							order = 12,
							args = {
								layoutdescription = {
										order = 1,
										type = 'description',
										fontSize = 'medium',
										name = 'DPS/Tank layouts were created with pure dps classes in mind, if you play a class with more raid cooldowns like a Shaman, Druid or Paladin you might want to use the alternative layout in order to make it easier for you to use your cooldowns on the members of your group',
								},
								alternativegroups = {
									order = 2,
									type = 'execute',
									name = 'Alternative Layout',
									func = function() ElvUI_EltreumUI:AlternativeGroupsDPS() ReloadUI() end,
									confirm = true,
								},
								originalgroups = {
									order = 3,
									type = 'execute',
									name = 'Original Layout',
									func = function() ElvUI_EltreumUI:OriginalGroupsDPS() ReloadUI() end,
									confirm = true,
								},
							},
						},
					},
				},
				media = {
					type = 'group',
					name = 'Media',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\media',
					order = 85,
					args = {
						mediaoptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Setup Media',
							width = 'full',
							args = {
								private = {
									order = 1,
									type = 'execute',
									name = 'Reset all Media',
									desc = 'Reset Fonts, Textures, Skins to Eltreum UI defaults.',
									width = 'full',
									func = function() ElvUI_EltreumUI:SetupPrivate() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								header1 = {
								order = 3,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								fontdescription= {
								order = 3,
								type = "description",
								name = "Set the fonts used in Eltruism. Kimberley is the default font",
								},
								kimberley = {
									order = 4,
									type = 'execute',
									name = 'Kimberley',
									desc = 'This will set all ElvUI fonts as Kimberley',
									func = function() ElvUI_EltreumUI:SetupFontsKimberley() E:StaggeredUpdateAll(nil, true)  end,
									confirm = true,
								},
								exo2 = {
									order = 5,
									type = 'execute',
									name = 'Exo2',
									desc = 'This will set all ElvUI fonts as Exo2',
									func = function() ElvUI_EltreumUI:SetupFontsExo2() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								addagaphereforfonts = {
								order = 6,
								type = "description",
								name = "",
								--width = "full",
								},
								gotham = {
									order = 7,
									type = 'execute',
									name = 'Gotham',
									desc = 'This will set all ElvUI fonts as Gotham',
									func = function() ElvUI_EltreumUI:SetupFontsGotham() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},

								roboto = {
									order = 7,
									type = 'execute',
									name = 'Roboto',
									desc = 'This will set all ElvUI fonts as Roboto',
									func = function() ElvUI_EltreumUI:SetupFontsRoboto() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								addagaphereforcustom = {
								order = 8,
								type = "description",
								name = "",
								},
								sharedmediafont = {
								     order = 8,
								     type = 'select',
								     width = "double",
								     dialogControl = 'LSM30_Font',
								     name = "Or choose a custom font",
								     desc = 'Choose a different font from the preselected ones',
								     values = AceGUIWidgetLSMlists.font,
								     get = function()
								          return E.db.ElvUI_EltreumUI.fonts.playerfont
								     end,
								     set = function(self,fontvalue)
								          E.db.ElvUI_EltreumUI.fonts.playerfont = fontvalue
								          ElvUI_EltreumUI:SetupCustomFont(fontvalue)
								     end,
								},
								addagaphereforoutlines = {
								order = 9,
								type = "description",
								name = "",
								},
								addagaphereagain = {
								order = 9,
								type = "description",
								name = "",
								},
								header3 = {
								order = 10,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								fontoutline = {
								order = 11,
								type = "description",
								name = "Set the Font Outlines everywhere. Use Default to return to Eltruism default settings",
								width = "full",
								},
								default = {
									order = 12,
									type = 'execute',
									name = 'Defaults',
									desc = 'This will set fonts to Eltruism defaults, recommended for 4K',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineDefault() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								none = {
									order = 12,
									type = 'execute',
									name = 'None',
									desc = 'This will set fonts to no outline',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineNone() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								outlinegap = {
								order = 13,
								type = "description",
								name = "",
								},
								outline = {
									order = 13,
									type = 'execute',
									name = 'Outline',
									desc = 'This will set fonts to use outline, recommended for 1440p and 1080p',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineOutline() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								thick = {
									order = 13,
									type = 'execute',
									name = 'Thick Outline',
									desc = 'This will set fonts to use thick outline, similar to Eltruism defaults',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineThick() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								header4 = {
								order = 14,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								darklightmode = {
								order = 15,
								type = "description",
								name = "Change the look of frames to Dark or Light mode",
								width = "full",
								},
								dark = {
									order = 16,
									type = 'execute',
									name = 'Dark Mode',
									desc = 'This will set colors to black with class colors when losing health',
									func = function() ElvUI_EltreumUI:DarkMode() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								light = {
									order = 16,
									type = 'execute',
									name = 'Light Mode',
									desc = 'This will set colors to class based with black backgrounds when losing health',
									func = function() ElvUI_EltreumUI:LightMode() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
							},
						},
					},
				},
				nameplates = {
					type = 'group',
					name = 'Nameplates',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\nameplate',
					order = 85,
					args = {
						header = {
									order = 1,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						nameplateOptions = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Class Colored Nameplate Options',
							args = {
								classhover = {
									order = 1,
									type = 'toggle',
									name = 'Hover',
									desc = 'Change the color of the hover to be class colored',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.ClassColorGlow end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.ClassColorGlow = value end,
								},
								classborder = {
									order = 2,
									type = 'toggle',
									name = 'Border',
									desc = 'Change the color of the border glow to be class bordered in nameplates',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.ClassBorderNameplate end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.ClassBorderNameplate = value end,
								},
								classtexture = {
									order = 2,
									type = 'toggle',
									name = 'Target Texture',
									desc = 'Change the texture of the nameplate to be a class gradient',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.nameplatetexture end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.nameplatetexture = value end,
								},
							},
						},
						addsomegap = {
								order = 3,
								type = "description",
								name = "",
						},
						header2 = {
									order = 4,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						friendlynameplate = {
							order = 5,
							type = 'group',
							inline = true,
							name = 'Control how Nameplates behave',
							args = {
								showfriendlynameonly = {
									order = 1,
									type = 'toggle',
									name = 'Show Friendly Nameplates but Hide Healthbar',
									desc = 'Show Friendly Nameplates but Hide Healthbar',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								dontshowfriendly = {
									order = 1,
									type = 'toggle',
									name = 'Hide Friendly Nameplates inside Instances',
									desc = 'Hide Friendly Nameplates inside Instances',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								dontshowfriendlyatall = {
									order = 1,
									type = 'toggle',
									name = 'Hide Friendly Nameplates everywhere',
									desc = 'Hide Friendly Nameplates everywhere',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
							},
						},
						header3 = {
									order = 6,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						verywidenameplate = {
							order = 99,
							type = 'group',
							inline = true,
							name = 'Wide nameplate debuffs and buffs',
							args = {
								desc = {
									order = 1,
									type = 'toggle',
									name = 'Make Buffs and Debuffs Wide on Nameplates',
									desc = 'Toogle On and Off',
									width = 'full',
									get = function() return E.db.ElvUI_EltreumUI.widenameplate.enable end,
									set = function(_, value) E.db.ElvUI_EltreumUI.widenameplate.enable = value end,
								},
							}
						},
					},
				},
				loottext = {
					type = 'group',
					name = 'Loot',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\loot',
					order = 85,
					args = {
						lootsetting = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Show a floating loot text',
							args = {
								desc = {
								type = 'toggle',
								name = 'Enable',
								desc = 'Toggle On and Off',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.loottext.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.loottext.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								suboptions = {
								order = 2,
								type = 'group',
								name = 'Choose which types of text:',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										currency = {
											type = 'toggle',
											name = 'Currency',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
											get = function(info) return E.db.ElvUI_EltreumUI.loottext.currency end,
											set = function(info, value) E.db.ElvUI_EltreumUI.loottext.currency = value end,
										},
										pet = {
											type = 'toggle',
											name = 'Pets',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
											get = function(info) return E.db.ElvUI_EltreumUI.loottext.pet end,
											set = function(info, value) E.db.ElvUI_EltreumUI.loottext.pet = value end,
										},
									}
								}
							}
						},
					},
				},
				stealth = {
					type = 'group',
					name = 'Stealth Vignette',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\stealth',
					order = 85,
					args = {
						stealthOptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Toggle a Stealth Effect',
							args = {
								stealthframeoptions = {
									order = 1,
									type = 'toggle',
									name = 'Add a vignette effect while in stealth',
									width = 'full',
									desc = 'Turn the effect on',
									get = function(info) return E.db.ElvUI_EltreumUI.stealthOptions.stealtheffect end,
									set = function(info, value) E.db.ElvUI_EltreumUI.stealthOptions.stealtheffect = value end,
								},
							},
						},
					},
				},
				weakauras = {
					type = 'group',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\weakauras',
					name = 'WeakAuras',
					order = 95,
					args = {
						header1 = {
							order = 1,
							type = 'header',
							name = 'WeakAuras',
						},
						explainer7 = {
							order = 2,
							type = "description",
							name = 'My WeakAuras are available here, but are not focused on one class. Consider them more like upcoming features.',
						},
						addaspacehere = {
							order = 3,
							type = "description",
							name = '',
						},
						wago = {
							order = 4,
							type = 'input',
							width = 'normal',
							name = 'All weakauras',
							get = function() return 'wago.io/p/Eltreum' end,
						},
						addsomegap = {
								order = 5,
								type = "description",
								name = "",
						},
						nameplatepowerbar = {
							order = 6,
							type = 'input',
							width = 'full',
							name = 'Nameplate Power Bar',
							get = function() return 'https://wago.io/HJ7YjUVgo' end,
						},
						addsomegap2 = {
								order = 7,
								type = "description",
								name = "",
						},
						bossnameplate = {
							order = 8,
							type = 'input',
							width = 'full',
							name = 'Boss nameplate at base',
							get = function() return 'https://wago.io/M7yrCgMnE' end,
						},
						addsomegap3 = {
								order = 9,
								type = "description",
								name = "",
						},
						--[[executenameplate = {
							order = 10,
							type = 'input',
							width = 'full',
							name = 'Executes next to nameplates',
							get = function() return 'https://wago.io/afJKwFwAX' end,
						},]]--
					},
				},
				discord = {
					type = 'group',
					name = 'Discord',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\discord',
					order = 96,
					args = {
						logodiscord = {
							type = 'description',
							name = "",
							order = 1,
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\disc', 256, 128 end,
						},
						explainer8 = {
							order = 2,
							type = "description",
							name = 'Join the Discord if you have any questions or issues',
						},
						addaspacehere4 = {
							order = 3,
							type = "description",
							name = '',
						},
						discordinvitelink = {
							order = 19,
							type = 'input',
							width = 'full',
							name = '',
							get = function() return 'https://discord.gg/cXfA56gmYW' end,
						},
					},
				},
				changelog = {
					type = 'group',
					name = 'Changelog',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\changelog',
					order = 97,
					args = {
						changelogtext = {
							order = 19,
							type = 'description',
							width = 'full',
							name = ElvUI_EltreumUI:Changelog(),
						},
					},
				},
				credits = {
					type = 'group',
					name = 'Credits',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\credits',
					order = 97,
					args = {
						author = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Author',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = AUTHORS_STRING,
								},
							},
						},
						thankyou = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Credits and Thank yous',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = THANKYOU_STRING,
								},
							},
						},
						licensewarning = {
							order = 99,
							type = 'group',
							inline = true,
							name = 'License',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = 'Icons8 (www.icons8.com) for some of the icons. List in license.txt\nLootText is licensed under GNU GPLv3 and is a fork of SLoTe from xavjer\nCursor is licended under GNU GPLv3 and is a fork of CastCursor by michaelsp',
								},
							},
						},
					},
				},
				support = {
					type = 'group',
					name = 'Support',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\support',
					order = 98,
					args = {
						gitlink = {
							order = 1,
							type = 'input',
							width = 'full',
							name = 'New commits, basically a preview of fixes or upcoming features',
							get = function() return 'https://git.tukui.org/eltreum/eltruism/-/commits/master' end,
						},
						issues = {
							order = 2,
							type = 'input',
							width = 'full',
							name = 'Report issues and problems here:',
							get = function() return 'https://git.tukui.org/eltreum/eltruism/-/issues' end,
						},
						tukui = {
							order = 3,
							type = 'input',
							width = 'full',
							name = 'Addon on tukui:',
							get = function() return 'https://www.tukui.org/addons.php?id=49' end,
						},
						curse = {
							order = 4,
							type = 'input',
							width = 'full',
							name = 'Addon on curse:',
							get = function() return 'https://www.curseforge.com/wow/addons/elvui-eltruism' end,
						},
					},
				},
			},
		}

		for _, func in pairs(ElvUI_EltreumUI.Config) do
			func()
		end
	end
end

-- EltreumUI ingame options TBC
if ElvUI_EltreumUI.TBC then
	function ElvUI_EltreumUI:Configtable()
		-- Add EltreumUI version on top of the ElvUI config
		E.Options.name = E.Options.name .. " + " .. ElvUI_EltreumUI.Name .. format(" |cffffffff%s|r", ElvUI_EltreumUI.Version)
		E.Options.args.ElvUI_EltreumUI = {
			order = 6,
			type = 'group',
			name = ElvUI_EltreumUI.Name,
			args = {
				logo = {
					type = 'description',
					name = "",
					order = 6,
					image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\logohq', 320, 80 end,
				},
				installer = {
					order = 7,
					type = 'group',
					name = 'Installer',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\install',
					args = {
						install = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Reinstall the plugin to reset settings',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'Install',
									func = function() E:GetModule('PluginInstaller'):Queue(ElvUI_EltreumUI.InstallerData) E:ToggleOptionsUI() end,
								},
							},
						},
						resetnameplates = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Reset nameplates to Eltruism settings',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'Install',
									func = function() ElvUI_EltreumUI:SetupNamePlates('ElvUI') ElvUI_EltreumUI:ResolutionOutline() end,
								},
							},
						},
					},
				},
				cursor = {
					type = 'group',
					name = 'Cursor',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\cursor',
					order = 85,
					args = {
						cursorsettings = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Add a gcd and cast ring to the cursor',
							args = {
								enable = {
									order = 1,
									type = 'toggle',
									name = 'Enable cursor GCD and Cast',
									desc = 'Add a gcd and cast ring to the cursor',
									width = 'full',
									confirm = true,
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.enable end,
									set = function(info, value) E.db.ElvUI_EltreumUI.cursor.enable = value ReloadUI() end,
								},
								header1 = {
									order = 2,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								ringtexture = {
									order = 7,
									type = 'group',
									inline = true,
									name = 'Choose a type of cursor by clicking it',
									width = 'full',
									args = {
										currentring = {
											order = 0,
											type = 'description',
											name = function() return 'Currently selected cursor: '..ElvUI_EltreumUI:CurrentTypeofCursor() end,
											desc = ''
										},
										showring1 = {
											order = 1,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring1',
											name = 'Type 1',
											desc = 'The Cursor will use this type as its texture',
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring1.tga' ReloadUI() end,
											confirm = true,
										},
										showring2 = {
											order = 2,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring2',
											name = 'Type 2',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring2.tga' ReloadUI()  end,
										},
										showring3 = {
											order = 3,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring3',
											name = 'Type 3',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring3.tga' ReloadUI() end,
										},
										showring4 = {
											order = 4,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring4',
											name = 'Type 4',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring4.tga' ReloadUI() end,
										},
										showring5 = {
											order = 5,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring5',
											name = 'Type 5',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring5.tga' ReloadUI() end,
										},
										showring6 = {
											order = 6,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring6',
											name = 'Type 6',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring6.tga' ReloadUI() end,
										},
										showring7 = {
											order = 7,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring7',
											name = 'Type 7',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring7.tga' ReloadUI() end,
										},
										showring8 = {
											order = 8,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring8',
											name = 'Type 8',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring8.tga' ReloadUI() end,
										},
										showring9 = {
											order = 9,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring9',
											name = 'Type 9',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring9.tga' ReloadUI() end,
										},
										showring10 = {
											order = 10,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring10',
											name = 'Type 10',
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring10.tga' ReloadUI() end,
										},
										--[[header1 = {
											order = 98,
											type = "description",
											name = "",
											width = 'full',
											image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
										},
										cursortexturepicker = {
											order = 99,
											type = 'select',
											name = 'Choose a cursor from the gallery:',
											desc = 'Choose this as the cursor texture',
											confirm = true,
											values = function() return ElvUI_EltreumUI:ListofCursors() end,
							                style = 'radio',
											get = function(info) return E.db.ElvUI_EltreumUI.cursor.ring end,
											set = function(info, value) E.db.ElvUI_EltreumUI.cursor.ring = value ReloadUI() end,
										},]]--
									},
								},
							},
						},
						header1 = {
							order = 3,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						cursorsize = {
							order = 4,
							type = 'group',
							inline = true,
							name= 'Change the size of the World of Warcraft Cursor',
							width = 'full',
							args = {
								setsize = {
									order = 7,
									type = 'select',
									name = 'Select a size',
									desc = 'Choose this size',
									values = {
					                    ['-1'] = 'Autodetect',
					                    ['0'] = '32x32',
					                    ['1'] = '48x48',
					                    ['2'] = '64x64',
					                    ['3'] = '128x128',
					                },
					                style = 'radio',
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.size end,
  									set = function(info,value) ElvUI_EltreumUI:CursorSize(value) end,
								},
							},
						},
					},
				},
				aurafilters = {
					type = 'group',
					name = 'Aura Filters',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\aurafilter',
					order = 85,
					args = {
						header1 = {
							order = 1,
							type = 'header',
							name = 'Aura Filters',
						},
						listofauras = {
							order = 19,
							type = 'input',
							width = 'full',
							name = 'Import aura filters by copying the code below and going into Profiles > Import Profile.',
							get = function() return ' ' end,
						},
					},
				},
				profiles = {
					type = 'group',
					name = 'Addons',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\addon',
					order = 85,
					args = {
						header1 = {
									order = 1,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						plugins = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'ElvUI Plugins',
							args = {
								addonskins = {
									order = 1,
									type = 'execute',
									name = '|cff16C3F2AddOn|r|cFFFFFFFFSkins|r',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupAS() ReloadUI() end,
									confirm = true,
								},
								projectazilroka = {
									order = 2,
									type = 'execute',
									name = '|cFF16C3F2Project|r|cFFFFFFFFAzilroka|r',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupPA() ReloadUI() end,
									confirm = true,
								},
							},
						},
						header2 = {
									order = 2,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						bossmods = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'BossMods Profiles',
							args = {
								bigwigs = {
									order = 1,
									type = 'execute',
									name = 'BigWigs',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupBW() ReloadUI() end,
									confirm = true,
								},
								dbm = {
									order = 2,
									type = 'execute',
									name = 'DBM',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDBM() ReloadUI() end,
									confirm = true,
								},
							},
						},
						header3 = {
									order = 4,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						addons = {
							order = 4,
							type = 'group',
							inline = true,
							name = 'Addon Profiles',
							args = {
								immersion = {
									order = 2,
									type = 'execute',
									name = 'Immersion',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupImmersion() ReloadUI() end,
									confirm = true,
								},
								dynamiccam = {
									order = 1,
									type = 'execute',
									name = 'Dynamic Cam',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDynamicCam() ReloadUI() end,
									confirm = true,
								},
								--[[gladiusex = {
									order = 3,
									type = 'execute',
									name = 'Gladius Ex',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupGladiusEx() ReloadUI() end,
									confirm = true,
								},
								exorsus = {
									order = 4,
									type = 'execute',
									name = 'Exorsus Raid Tools',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupExRT() ReloadUI() end,
									confirm = true,
								},]]--
								questie = {
									order = 9,
									type = 'execute',
									name = 'Questie',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupQuestie() ReloadUI() end,
									confirm = true,
								},
								nameplatesct = {
									order = 5,
									type = 'execute',
									name = 'NameplateSCT',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupNameplateSCT() ReloadUI() end,
									confirm = true,
								},
								fct = {
									order = 6,
									type = 'execute',
									name = 'Floating Combat Text',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupFCT() ReloadUI() end,
									confirm = true,
								},
								details = {
									order = 7,
									type = 'execute',
									name = 'Details',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupDT() ReloadUI() end,
									confirm = true,
								},
							},
						},
					},
				},
				--[[actionbars = {
					type = 'group',
					name = 'Custom Glow',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\customglow',
					order = 85,
					args = {
						glow = {
							type = 'group',
							name = 'Replace Blizzards Default Glow with a Custom class colored Glow',
							guiInline = true,
							order = 10,
							args = {
								enable = {
								type = 'toggle',
								name = 'Enable',
								order = 1,
								get = function() return E.private.ElvUI_EltreumUI.glow.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.glow.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								procselection = {
								order = 2,
								type = 'group',
								name = 'Select a Type',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										autocast = {
											type = 'toggle',
											name = 'Autocast',
											order = 10,
											desc = 'Adds an autocast style glow using class color',
											disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.pixel or E.db.ElvUI_EltreumUI.glow.blizzard end,
											get = function(info) return E.db.ElvUI_EltreumUI.glow.autocast end,
											set = function(info, value) E.db.ElvUI_EltreumUI.glow.autocast = value E:StaticPopup_Show('profile_RL') end,
										},
										pixel = {
											type = 'toggle',
											name = 'Pixel',
											order = 12,
											desc = 'Adds a pixel style glow using class color',
											disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.autocast or E.db.ElvUI_EltreumUI.glow.blizzard end,
											get = function(info) return E.db.ElvUI_EltreumUI.glow.pixel end,
											set = function(info, value) E.db.ElvUI_EltreumUI.glow.pixel = value E:StaticPopup_Show('profile_RL') end,
										},
										blizzard = {
											type = 'toggle',
											name = 'Blizzard',
											order = 11,
											desc = 'Adds a Blizzard style glow using class color',
											disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.autocast or E.db.ElvUI_EltreumUI.glow.pixel end,
											get = function(info) return E.db.ElvUI_EltreumUI.glow.blizzard end,
											set = function(info, value) E.db.ElvUI_EltreumUI.glow.blizzard = value E:StaticPopup_Show('profile_RL') end,
										},
									},
								},
							},
						},
					},
				},]]--
				cvars = {
					order = 85,
					type = 'group',
					name = 'CVars',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\cvar',
					args = {
						setup = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Setup CVars',
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = 'General CVars',
									func = function() ElvUI_EltreumUI:SetupCVars() ElvUI_EltreumUI:NameplateCVars() end,
									confirm = true,
								},
							},
						},
						generalDesc = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'It will set these CVars:',
							args = {
								cvars = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = '- autoLootDefault 1\n- ShowClassColorInFriendlyNameplate 1\n- removeChatDelay 1\n- autoQuestWatch 1\n- cameraDistanceMaxZoomFactor 2.6\n- nameplateLargerScale 1.2\n- nameplateMaxDistance 60\n- nameplateMinAlpha 1\n- nameplateMinScale 1\n- nameplateMotion 1\n- nameplateOccludedAlphaMult 0\n- nameplateOverlapH 0.8\n- nameplateOverlapV 1.1\n- nameplateSelectedScale 1\n- nameplateSelfAlpha 1\n- nameplateShowFriendlyMinions 0\n- nameplateOtherBottomInset 0.02\n- nameplateOtherTopInset 0.1\n- nameplateTargetRadialPosition 1\n- nameplateTargetBehindMaxDistance 40\n- UnitNameEnemyGuardianName 0\n- UnitNameEnemyMinionName 0\n- UnitNameEnemyPetName 0\n- UnitNameEnemyPlayerName 1\n- UnitNameEnemyTotemName 1\n- UnitNameNPC 1',
								},
							},
						},
					},
				},
				partyraidsettings = {
					type = 'group',
					name = 'Party/Raid',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\party',
					order = 85,
					args = {
						partyraiddeath = {
							type = 'group',
							name = 'Play a sound when someone dies in Party or Raid',
							guiInline = true,
							order = 10,
							args = {
								enable = {
								type = 'toggle',
								name = 'Enable',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.partyraiddeath.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.partyraiddeath.enable = value end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								soundselection = {
								order = 2,
								type = 'group',
								name = 'Select a Sound',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										bruh = {
											type = 'toggle',
											name = 'Bruh',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.bruh end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.bruh = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\bruh.mp3", "Dialog") end,
										},
										robloxoof = {
											type = 'toggle',
											name = 'Oof',
											order = 6,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\oof.mp3", "Dialog") end,
										},
										shame = {
											type = 'toggle',
											name = 'Shame',
											order = 13,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.shame end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.shame = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\shame.mp3", "Dialog") end,
										},
										wowsound = {
											type = 'toggle',
											name = 'Wow',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.wow end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.wow = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\wow.mp3", "Dialog") end,
										},
										mariosound = {
											type = 'toggle',
											name = 'Mario',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.mario end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.mario = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\mariodeath.mp3", "Dialog") end,
										},
										ionsound = {
											type = 'toggle',
											name = 'Ion',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.ion = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\ionskillissue.mp3", "Dialog") end,
										},
									},
								},
							},
						},
						headergaphere = {
									order = 11,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						grouplayout = {
							type = 'group',
							name = 'Alternative unitframe layouts',
							guiInline = true,
							order = 12,
							args = {
								layoutdescription = {
										order = 1,
										type = 'description',
										fontSize = 'medium',
										name = 'DPS/Tank layouts were created with pure dps classes in mind, if you play a class with more raid cooldowns like a Shaman, Druid or Paladin you might want to use the alternative layout in order to make it easier for you to use your cooldowns on the members of your group',
								},
								alternativegroups = {
									order = 2,
									type = 'execute',
									name = 'Alternative Layout',
									func = function() ElvUI_EltreumUI:AlternativeGroupsDPS() ReloadUI() end,
									confirm = true,
								},
								originalgroups = {
									order = 3,
									type = 'execute',
									name = 'Original Layout',
									func = function() ElvUI_EltreumUI:OriginalGroupsDPS() ReloadUI() end,
									confirm = true,
								},
							},
						},
					},
				},
				combatmusic = {
					type = 'group',
					name = 'Combat Music',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\music',
					order = 85,
					args = {
						moremusicsettings = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Play music during combat',
							args = {
								enable = {
									order = 1,
									type = 'toggle',
									name = 'Enable',
									desc = 'Enable music during combat',
									width = 'full',
									get = function(info) return E.private.ElvUI_EltreumUI.combatmusic.enable end,
									set = function(info, value) E.private.ElvUI_EltreumUI.combatmusic.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								instancemusic = {
									order = 2,
									type = 'toggle',
									name = 'Disable in Instances',
									desc = 'Disable music during combat in instances',
									width = 'full',
									disabled = function() return not E.private.ElvUI_EltreumUI.combatmusic.enable end,
									get = function(info) return E.private.ElvUI_EltreumUI.combatmusic.disableinstance end,
									set = function(info, value) E.private.ElvUI_EltreumUI.combatmusic.disableinstance = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								pathtofile = {
									order = 6,
									type = 'group',
									inline = true,
									name = "Path to file",
									args = {
										howtomusic = {
										order = 2,
										type = "description",
										name = "Example: Interface\\Addons\\mymusic.mp3",
										},
										somegap = {
											order = 3,
											type = "description",
											name = "",
										},
										soundpath = {
											order = 6,
											icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\music',
											type = 'input',
											name = '',
											desc = '',
											width = 'full',
											get = function() return E.private.ElvUI_EltreumUI.combatmusic.musicfile end,
											set = function(_, value) E.private.ElvUI_EltreumUI.combatmusic.musicfile = value E:StaticPopup_Show('PRIVATE_RL') end,
										}
									}
								},
							},
						},
					},
				},
				media = {
					type = 'group',
					name = 'Media',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\media',
					order = 85,
					args = {
						mediaoptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Setup Media',
							width = 'full',
							args = {
								private = {
									order = 1,
									type = 'execute',
									name = 'Reset all Media',
									desc = 'Reset Fonts, Textures, Skins to Eltreum UI defaults.',
									width = 'full',
									func = function() ElvUI_EltreumUI:SetupPrivate() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								header1 = {
								order = 3,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								fontdescription= {
								order = 3,
								type = "description",
								name = "Set the fonts used in Eltruism. Kimberley is the default font",
								},
								kimberley = {
									order = 4,
									type = 'execute',
									name = 'Kimberley',
									desc = 'This will set all ElvUI fonts as Kimberley',
									func = function() ElvUI_EltreumUI:SetupFontsKimberley() E:StaggeredUpdateAll(nil, true)  end,
									confirm = true,
								},
								exo2 = {
									order = 5,
									type = 'execute',
									name = 'Exo2',
									desc = 'This will set all ElvUI fonts as Exo2',
									func = function() ElvUI_EltreumUI:SetupFontsExo2() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								addagaphereforfonts = {
								order = 6,
								type = "description",
								name = "",
								--width = "full",
								},
								gotham = {
									order = 7,
									type = 'execute',
									name = 'Gotham',
									desc = 'This will set all ElvUI fonts as Gotham',
									func = function() ElvUI_EltreumUI:SetupFontsGotham() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},

								roboto = {
									order = 7,
									type = 'execute',
									name = 'Roboto',
									desc = 'This will set all ElvUI fonts as Roboto',
									func = function() ElvUI_EltreumUI:SetupFontsRoboto() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								addagaphereforcustom = {
								order = 8,
								type = "description",
								name = "",
								},
								sharedmediafont = {
								     order = 8,
								     type = 'select',
								     width = "double",
								     dialogControl = 'LSM30_Font',
								     name = "Or choose a custom font",
								     desc = 'Choose a different font from the preselected ones',
								     values = AceGUIWidgetLSMlists.font,
								     get = function()
								          return E.db.ElvUI_EltreumUI.fonts.playerfont
								     end,
								     set = function(self,fontvalue)
								          E.db.ElvUI_EltreumUI.fonts.playerfont = fontvalue
								          ElvUI_EltreumUI:SetupCustomFont(fontvalue)
								     end,
								},
								addagaphereforoutlines = {
								order = 9,
								type = "description",
								name = "",
								},
								addagaphereagain = {
								order = 9,
								type = "description",
								name = "",
								},
								header3 = {
								order = 10,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								fontoutline = {
								order = 11,
								type = "description",
								name = "Set the Font Outlines everywhere. Use Default to return to Eltruism default settings",
								width = "full",
								},
								default = {
									order = 12,
									type = 'execute',
									name = 'Defaults',
									desc = 'This will set fonts to Eltruism defaults, recommended for 4K',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineDefault() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								none = {
									order = 12,
									type = 'execute',
									name = 'None',
									desc = 'This will set fonts to no outline',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineNone() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								outlinegap = {
								order = 13,
								type = "description",
								name = "",
								},
								outline = {
									order = 13,
									type = 'execute',
									name = 'Outline',
									desc = 'This will set fonts to use outline, recommended for 1440p and 1080p',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineOutline() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								thick = {
									order = 13,
									type = 'execute',
									name = 'Thick Outline',
									desc = 'This will set fonts to use thick outline, similar to Eltruism defaults',
									func = function() ElvUI_EltreumUI:SetupFontsOutlineThick() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('PRIVATE_RL') end,
									confirm = true,
								},
								header4 = {
								order = 14,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								darklightmode = {
								order = 15,
								type = "description",
								name = "Change the look of frames to Dark or Light mode",
								width = "full",
								},
								dark = {
									order = 16,
									type = 'execute',
									name = 'Dark Mode',
									desc = 'This will set colors to black with class colors when losing health',
									func = function() ElvUI_EltreumUI:DarkMode() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								light = {
									order = 16,
									type = 'execute',
									name = 'Light Mode',
									desc = 'This will set colors to class based with black backgrounds when losing health',
									func = function() ElvUI_EltreumUI:LightMode() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
							},
						},
					},
				},
				nameplates = {
					type = 'group',
					name = 'Nameplates',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\nameplate',
					order = 85,
					args = {
						header = {
									order = 1,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						nameplateOptions = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Class Colored Nameplate Options',
							args = {
								classhover = {
									order = 1,
									type = 'toggle',
									name = 'Hover',
									desc = 'Change the color of the hover to be class colored',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.ClassColorGlow end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.ClassColorGlow = value end,
								},
								classborder = {
									order = 2,
									type = 'toggle',
									name = 'Border',
									desc = 'Change the color of the border glow to be class bordered in nameplates',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.ClassBorderNameplate end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.ClassBorderNameplate = value end,
								},
								classtexture = {
									order = 2,
									type = 'toggle',
									name = 'Target Texture',
									desc = 'Change the texture of the nameplate to be a class gradient',
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.nameplatetexture end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.nameplatetexture = value end,
								},
							},
						},
						addsomegap = {
								order = 3,
								type = "description",
								name = "",
						},
						header2 = {
									order = 4,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						friendlynameplate = {
							order = 5,
							type = 'group',
							inline = true,
							name = 'Control how Nameplates behave',
							args = {
								showfriendlynameonly = {
									order = 1,
									type = 'toggle',
									name = 'Show Friendly Nameplates but Hide Healthbar',
									desc = 'Show Friendly Nameplates but Hide Healthbar',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								dontshowfriendly = {
									order = 1,
									type = 'toggle',
									name = 'Hide Friendly Nameplates inside Instances',
									desc = 'Hide Friendly Nameplates inside Instances',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								dontshowfriendlyatall = {
									order = 1,
									type = 'toggle',
									name = 'Hide Friendly Nameplates everywhere',
									desc = 'Hide Friendly Nameplates everywhere',
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
							},
						},
						header3 = {
									order = 6,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						verywidenameplate = {
							order = 99,
							type = 'group',
							inline = true,
							name = 'Wide nameplate debuffs and buffs',
							args = {
								desc = {
									order = 1,
									type = 'toggle',
									name = 'Make Buffs and Debuffs Wide on Nameplates',
									desc = 'Toogle On and Off',
									width = 'full',
									get = function() return E.db.ElvUI_EltreumUI.widenameplate.enable end,
									set = function(_, value) E.db.ElvUI_EltreumUI.widenameplate.enable = value end,
								},
							}
						},
					},
				},
				loottext = {
					type = 'group',
					name = 'Loot',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\loot',
					order = 85,
					args = {
						lootsetting = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Show a floating loot text',
							args = {
								desc = {
								type = 'toggle',
								name = 'Enable',
								desc = 'Toggle On and Off',
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.loottext.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.loottext.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								suboptions = {
								order = 2,
								type = 'group',
								name = 'Choose which types of text:',
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										currency = {
											type = 'toggle',
											name = 'Currency',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
											get = function(info) return E.db.ElvUI_EltreumUI.loottext.currency end,
											set = function(info, value) E.db.ElvUI_EltreumUI.loottext.currency = value end,
										},
										pet = {
											type = 'toggle',
											name = 'Pets',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
											get = function(info) return E.db.ElvUI_EltreumUI.loottext.pet end,
											set = function(info, value) E.db.ElvUI_EltreumUI.loottext.pet = value end,
										},
									}
								}
							}
						},
					},
				},
				stealth = {
					type = 'group',
					name = 'Stealth Vignette',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\stealth',
					order = 85,
					args = {
						stealthOptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Toggle a Stealth Effect',
							args = {
								stealthframeoptions = {
									order = 1,
									type = 'toggle',
									name = 'Add a vignette effect while in stealth',
									width = 'full',
									desc = 'Turn the effect on',
									get = function(info) return E.db.ElvUI_EltreumUI.stealthOptions.stealtheffect end,
									set = function(info, value) E.db.ElvUI_EltreumUI.stealthOptions.stealtheffect = value end,
								},
							},
						},
					},
				},
				weakauras = {
					type = 'group',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\weakauras',
					name = 'WeakAuras',
					order = 95,
					args = {
						header1 = {
							order = 1,
							type = 'header',
							name = 'WeakAuras',
						},
						explainer7 = {
							order = 2,
							type = "description",
							name = 'My WeakAuras are available here, but are not focused on one class. Consider them more like upcoming features.',
						},
						addaspacehere = {
							order = 3,
							type = "description",
							name = '',
						},
						wago = {
							order = 4,
							type = 'input',
							width = 'normal',
							name = 'All weakauras',
							get = function() return 'wago.io/p/Eltreum' end,
						},
						addsomegap = {
								order = 5,
								type = "description",
								name = "",
						},
						nameplatepowerbar = {
							order = 6,
							type = 'input',
							width = 'full',
							name = 'Nameplate Power Bar',
							get = function() return 'https://wago.io/HJ7YjUVgo' end,
						},
						addsomegap2 = {
								order = 7,
								type = "description",
								name = "",
						},
						bossnameplate = {
							order = 8,
							type = 'input',
							width = 'full',
							name = 'Boss nameplate at base',
							get = function() return 'https://wago.io/M7yrCgMnE' end,
						},
						addsomegap3 = {
								order = 9,
								type = "description",
								name = "",
						},
						--[[executenameplate = {
							order = 10,
							type = 'input',
							width = 'full',
							name = 'Executes next to nameplates',
							get = function() return 'https://wago.io/afJKwFwAX' end,
						},]]--
					},
				},
				discord = {
					type = 'group',
					name = 'Discord',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\discord',
					order = 96,
					args = {
						logodiscord = {
							type = 'description',
							name = "",
							order = 1,
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\disc', 256, 128 end,
						},
						explainer8 = {
							order = 2,
							type = "description",
							name = 'Join the Discord if you have any questions or issues',
						},
						addaspacehere4 = {
							order = 3,
							type = "description",
							name = '',
						},
						discordinvitelink = {
							order = 19,
							type = 'input',
							width = 'full',
							name = '',
							get = function() return 'https://discord.gg/cXfA56gmYW' end,
						},
					},
				},
				changelog = {
					type = 'group',
					name = 'Changelog',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\changelog',
					order = 97,
					args = {
						changelogtext = {
							order = 19,
							type = 'description',
							width = 'full',
							name = ElvUI_EltreumUI:Changelog(),
						},
					},
				},
				credits = {
					type = 'group',
					name = 'Credits',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\credits',
					order = 97,
					args = {
						author = {
							order = 1,
							type = 'group',
							inline = true,
							name = 'Author',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = AUTHORS_STRING,
								},
							},
						},
						thankyou = {
							order = 2,
							type = 'group',
							inline = true,
							name = 'Credits and Thank yous',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = THANKYOU_STRING,
								},
							},
						},
						licensewarning = {
							order = 99,
							type = 'group',
							inline = true,
							name = 'License',
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = 'Icons8 (www.icons8.com) for some of the icons. List in license.txt\nLootText is licensed under GNU GPLv3 and is a fork of SLoTe from xavjer\nCursor is licended under GNU GPLv3 and is a fork of CastCursor by michaelsp',
								},
							},
						},
					},
				},
				support = {
					type = 'group',
					name = 'Support',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\support',
					order = 98,
					args = {
						gitlink = {
							order = 1,
							type = 'input',
							width = 'full',
							name = 'New commits, basically a preview of fixes or upcoming features',
							get = function() return 'https://git.tukui.org/eltreum/eltruism/-/commits/master' end,
						},
						issues = {
							order = 2,
							type = 'input',
							width = 'full',
							name = 'Report issues and problems here:',
							get = function() return 'https://git.tukui.org/eltreum/eltruism/-/issues' end,
						},
						tukui = {
							order = 3,
							type = 'input',
							width = 'full',
							name = 'Addon on tukui:',
							get = function() return 'https://www.tukui.org/addons.php?id=10' end,
						},
						curse = {
							order = 4,
							type = 'input',
							width = 'full',
							name = 'Addon on curse:',
							get = function() return 'https://www.curseforge.com/wow/addons/elvui-eltruism' end,
						},
					},
				},
			},
		}
		for _, func in pairs(ElvUI_EltreumUI.Config) do
			func()
		end
	end
end
