From fd5183cf5dbae83087da60d32abd682a95539925 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 18 May 2021 16:34:10 +0200 Subject: [PATCH] ExportImport, VersionCheck & XiconProfiles fix --- Gladdy.lua | 12 +++++++++--- Modules/ExportImport.lua | 40 +++++++++++++++++++-------------------- Modules/VersionCheck.lua | 11 +++++++---- Modules/XiconProfiles.lua | 33 +++++++++++++++----------------- 4 files changed, 50 insertions(+), 46 deletions(-) diff --git a/Gladdy.lua b/Gladdy.lua index a7976dd..e1fab83 100644 --- a/Gladdy.lua +++ b/Gladdy.lua @@ -11,6 +11,9 @@ local IsAddOnLoaded = IsAddOnLoaded local IsInInstance = IsInInstance local GetBattlefieldStatus = GetBattlefieldStatus local IsActiveBattlefieldArena = IsActiveBattlefieldArena +local RELEASE_TYPES = { alpha = "Alpha", beta = "Beta", release = "Release"} +local PREFIX = "TBC-Classic_v" +local VERSION_REGEX = PREFIX .. "(%d+%.%d+)%-(%a)" --------------------------- @@ -21,9 +24,12 @@ local IsActiveBattlefieldArena = IsActiveBattlefieldArena local MAJOR, MINOR = "Gladdy", 4 local Gladdy = LibStub:NewLibrary(MAJOR, MINOR) local L -Gladdy.version_major = "TBC-Classic_v1" -Gladdy.version_minor = "0.4-Beta" -Gladdy.version = Gladdy.version_major .. "." .. Gladdy.version_minor +Gladdy.version_major_num = 1 +Gladdy.version_minor_num = 0.04 +Gladdy.version_num = Gladdy.version_major_num + Gladdy.version_minor_num +Gladdy.version_releaseType = RELEASE_TYPES.beta +Gladdy.version = PREFIX .. Gladdy.version_num .. "-" .. Gladdy.version_releaseType +Gladdy.VERSION_REGEX = VERSION_REGEX LibStub("AceTimer-3.0"):Embed(Gladdy) LibStub("AceComm-3.0"):Embed(Gladdy) diff --git a/Modules/ExportImport.lua b/Modules/ExportImport.lua index 2a4ff40..8be70b4 100644 --- a/Modules/ExportImport.lua +++ b/Modules/ExportImport.lua @@ -64,9 +64,11 @@ importButton:SetText("Import\n(this will overwrite your current profile!)") importButton:SetWidth(200) importButton:SetHeight(50) importButton:SetCallback("OnClick", function(widget) - ExportImport:ApplyImport(import.deserializedTable) - Gladdy:UpdateFrame() + ExportImport:ApplyImport(import.deserializedTable, Gladdy.db) import:Hide() + Gladdy:Reset() + Gladdy:HideFrame() + Gladdy:ToggleFrame(3) end) import:AddChild(importButton) import.button = importButton @@ -84,25 +86,24 @@ import:AddChild(importClearButton) import.clearButton = importClearButton function ExportImport:CheckDeserializedOptions(tbl, refTbl, str) - if str == nil and not tbl.version_major then - return false, "Version conflict: version_major not seen" + if str == nil and not tbl.version_major_num then + return false, "Version conflict: version_major_num not seen" end - if str == nil and tbl.version_major ~= Gladdy.version_major then - return false, "Version conflict: " .. tbl.version_major .. " ~= " .. Gladdy.version_major + if str == nil and tbl.version_major_num ~= Gladdy.version_major_num then + return false, "Version conflict: " .. tbl.version_major_num .. " ~= " .. Gladdy.version_major_num end if str == nil then str = "Gladdy.db" - tbl.version_major = nil + tbl.version_major_num = nil end - if type(tbl) == "table" then - for k,v in pairs(tbl) do - if refTbl[k] ~= nil then - if type(v) ~= type(refTbl[k]) then - return false, str .. "." .. k .. " type error. Expected " .. type(refTbl[k]) .. " found " .. type(v) - end + for k,v in pairs(tbl) do + if refTbl[k] == nil then + return false, str .. "." .. k .. " does not exist" + else + if type(v) ~= type(refTbl[k]) then + return false, str .. "." .. k .. " type error. Expected " .. type(refTbl[k]) .. " found " .. type(v) + elseif type(v) == "table" then ExportImport:CheckDeserializedOptions(v, refTbl[k], str .. "." .. k) - else - return false, str .. "." .. k .. " does not exist" end end end @@ -122,7 +123,7 @@ function ExportImport:GetOptions() type = "execute", func = function() local db = table_copy(Gladdy.db) - db.version_major = Gladdy.version_major + db.version_major_num = Gladdy.version_major_num dump = AceSerializer:Serialize(db) local compress_deflate = LibDeflate:CompressZlib(dump) printable_compressed = LibDeflate:EncodeForPrint(compress_deflate) @@ -164,14 +165,11 @@ function ExportImport:GetOptions() end function ExportImport:ApplyImport(t, table) - if table == nil then - table = Gladdy.dbi.profile - end for k,v in pairs(t) do if type(v) == "table" then ExportImport:ApplyImport(v, table[k]) else - table[k] = v; + table[k] = v end end end @@ -204,7 +202,7 @@ function ExportImport:Decode(str, showError) end return nil end - local statusOption, error = ExportImport:CheckDeserializedOptions(deserialized, Gladdy.db) + local statusOption, error = ExportImport:CheckDeserializedOptions(deserialized, Gladdy.defaults.profile) if not statusOption then if showError then import.statustext:SetTextColor(1,0,0) diff --git a/Modules/VersionCheck.lua b/Modules/VersionCheck.lua index c6ae30a..991fecc 100644 --- a/Modules/VersionCheck.lua +++ b/Modules/VersionCheck.lua @@ -1,3 +1,5 @@ +local str_match, tonumber, tostring = string.match, tonumber, tostring + local UnitName = UnitName local Gladdy = LibStub("Gladdy") @@ -24,19 +26,20 @@ end function VersionCheck:Test(unit) if unit == "arena1" then self:RegisterComm("GladdyVCheck", VersionCheck.OnCommReceived) - self:SendCommMessage("GladdyVCheck", Gladdy.version, "RAID", self.playerName) + self:SendCommMessage("GladdyVCheck", tostring(Gladdy.version_num), "RAID", self.playerName) end end function VersionCheck.OnCommReceived(prefix, message, distribution, sender) if sender ~= VersionCheck.playerName then - local addonVersion = Gladdy.version - if (message == addonVersion) then + local addonVersion = Gladdy.version_num + message = tonumber(message) + if message and message <= Gladdy.version_num then --Gladdy:Print("Version", "\"".. addonVersion.."\"", "is up to date") else Gladdy:Warn("Current version", "\"".. addonVersion.."\"", "is outdated. Most recent version is", "\"".. message.."\"") Gladdy:Warn("Please download the latest Gladdy version at:") - Gladdy:Warn("https://github.com/XiconQoo/Gladdy") + Gladdy:Warn("https://github.com/XiconQoo/Gladdy-TBC") end end end diff --git a/Modules/XiconProfiles.lua b/Modules/XiconProfiles.lua index 46c189f..0dbc157 100644 --- a/Modules/XiconProfiles.lua +++ b/Modules/XiconProfiles.lua @@ -4,37 +4,34 @@ local L = Gladdy.L local XiconProfiles = Gladdy:NewModule("XiconProfiles", nil, { }) -local ExportImport - -function XiconProfiles:Initialize() - ExportImport = Gladdy.modules["ExportImport"] -end - function XiconProfiles:ApplyKlimp() - local klimpExport = "4XzRB11DIJZK(NZU7fDoydgm7DXKqsE3KUZgy6m75mhMiSfGMyS8kBN00xKF7Bv6dBzBCWDVCtsWixQ(sLQNhPSYz1YvlIebCrevmJhZf4diR(QZQfRL)CR8Nc8N5WZk2Sj7UqEYc2pPR(Q7i9JcWFCzC6oYQ5EJgmAOZuppx)rJ8MoE1MV4nC1IqswEaPZPAGCQgiNQb4uPh)F(nqY08vF9ltGNftYKt)J8SvlU)65GessxkO75I58K8)hZGhGw1vSmY6y6mMimMUADLkS1E6hCXOpvbULY2UdePl8vP08BPK48DwpF8aPoWZP7FmMKtvUHlJFNCiBjrSLMtJWjx6NwSJ)(LfcYvu5hXNhjEMfLVBojmNJU5lgIpBgiPTCbJMHQzwmLMI)bnbTOOvbRwSHlcPOVafcd)9xDgoEWuLUNlIZYls6Z7aHOH47isI69R4pwnn7iI995fg7oym(cVM1Nr76o1hhDwijpNk63744jTIiwg62sY7ZlnEWezADuyVgTZipC0BOerFgVRJJ0meCEV0gp)r(6aXVWR4kFfAkyYKKqAVERPQ3ksq2YtYwlOK8D95fhPDYfK(mAVPtu(lbL(tAUG0Ruyp)HJW3ITpfEsVcmLPJhcJ5j9Yfm2rQBsNaw5awTd1iWArMQHlYpapzXDjqg4gsi9VUmk6Bjz)1nXKOOd)1D7jBPz)LAS)9nX8mOI0oOKqSSSGzb)mopoI)UQG1YV9OD9sZ3DJG)(vmbnmNbk3INU7MBxwwtrwQsUcih)4Wjd9XpeE6cOez5yO(2yB3rUwqoEodMCwKKVZKUe0ftDvY6cChG(jUHdMa1kopkgum8Sii)HENfbnE00ZJGCg4DMKK3WPJolcY3198Kp5oYVln6cpt6Ksyx4DAXnC4yy)TZHI570PI9RjiVXtopbpxVPdopLd8Dg1Lt6chTtFAvFGNqy42QNdTYBYWZ0kyph3UmpOmOLSUy64tloyRTPNh9YzYzYaD8ppU8HqVxD5Q(1KKZ4UR)EHZ4AjvyuW)0IesSoplC8DgFE2JbAi6)VAuEDmmRwCf0aB2JqRceePqhGykH68LHdvJ8Eww(v0nKIyzRJZI5Kx)4f(MpEzXoc0NrZ2OtfmyIYpiH2GtRSBW)TSpEj4ynewn8rYH)iHLaIUinvqZYWox6A8oYXpBhO4SSMDNvnSHYHnNkiXF8cmAa60jg7J84dGxl9uQ6TK97PcLV4FvaArR2KB(glyX02ntBzsYnEMlBS9ek5mEb2czwkngSRVaUmLSJ6JWzjB)4LLqNZF8Y1B2aDiEQGcmzN04ULTMksaaMNyCbKSU9SkJ7U9PKtRuzhc3XcblpesSAIxS5OVuessOGvZfI2W4A6LUlegAqmp81tKDFxscv82Nz0Q005cEw(hV8v(BnX4002VHieqja7y6ju2Njqsiu3yFtGqn9bZokqMMJ6k2Bm0tbWoOXDNoPSFvnGnfIdNqQ)rswo(LF8YLB2eZKGs6RbUGgvOqX85ZX1iw1TXYS7NaOUDxAYSgkjSqwKrgSF)uogS8fudHZIpXiLO7cPP5yCPf3hTQkO4Ja94TGN3CS)xSWx)vwUheJvrrhcwL6rmZ6Z9Ko6Wkg7bVcSw9xB6yjDpgLj88H3G6eONb0Rtm2L7W1HucU25zw(ow3kURUoFlsuAktaxCrsKQeiUx7jRb6Q98rj0d9kiDl)9yLdFjfwmFkfArorSbaQ3RKLB4fFYgyQX8aHDQYHQ4P0j8PgKUCysoBplI0J1GluBi9eDt8jY08u6kKWGRPsYf8tTSArlQE6y2V)ZkC30K0(GIt5eQVuc3hnI3TB20Dcf3KTh5mp1fvBngyUHQNkcVVB)(cvvDRoHbKeQoHh4wHVs3KNQFW5c2p)4L)7csKGKtGC1LAr)Nw0DNYFNkEelMbkhK4fG9KQ4xYIFlzZNY3ToPZiTx1yAVPQpNRi694T3EHS39s25BXX)Cpp)rJgp0ZFGVpaz1xFMahL2DTwBAWDUV3GbEJg5oD84Xo(UUW7oAQQL3FdM6Y(FlicA0FVooTMBwDGgakrWtipHb4DXYEsZTHZazW)uodR353x)KbvTcw7mlKZQcxUtvwZo5ztupjWwekB0hersISrX9W4uClkyjVsZFIsIoGGmGUvdXFttO7LpqpG)itLRRMj5XxqZGzoLiGe)fasGcHMiZmCCr4RLv9gl3bdzheGnfRLQ3dKFGIAN5OvSIhtq6Jj7Pv8ZkDS2h0tZOt21vRjlfPosifQxJdS53ikj3zYeLQjm1uavamjxlza2dC5dj3CKvrclvSIp4MljZfKWxPrMZkAPSDBb)nAeUhlwFBwmlfLrqmmsSWyGPrpyeGM(FcDsaW0Whd1E4OcI)9)QiARm2RQqMJ7DptuKratd)(JHxcE8LGLePRrgydJiW0prqjChOrjqLWhaWkrGI3Z2ihyRw)GETj5fckc88gbjlvPTsCfLMZ6cH0kEg97GrXzzC5dowt4bvnqd)5Cyd71K4yPWQ1aN8ba8rwKPhh1qeMwzKFgB3mq3VsWrAziqVnUT0Q0VABiJk2owSoWRG4Q7LODuXYXdB6svpCgU0bEYsc4LLExRwDrnGksLsO0EEKbLdKEBuZLp5GGVo2yE6SLVxed4JiRzX4oy4xO1kqlbfozR1UVYPfWDtIz)uhhv(g7MrBpQYxwdXc(Skd5yioKtDHitB3xX5spCTwsXhlfyqSQVtYBs31ZuYRqHlmQYlKMC7MXr1Gqfmq(ycsxQrTKQ7HQccD(U0gwZJZnEuCZV9hjm(mllsP7vlEH1xzyb1TnSs5cXRJ1LLR9kgeqVrTsEzP74wlTQj26nVdp4bopzJ2uR3lNvAW17xdfDKJXQphulb04fPMiZtSuW8LFrfhmYa(B8cHm0avd3wqvpKefFWSOas1U7oJo8LKI9Rvdx)L3P(sOE5AybNz211qmHZMekeuHq02)CxsgSve853XtPgfdlt)xl3H1VfyfusAJOaM(KaDq2mh5Jx(3LKt9FGFrahXYRzPcTgsOEPCjkLGgqrcAbGiOna0avZZ4V0A4LI9QQm2TOIr7dPCiHrSNrWpQleknoEr4U22ILjUKNabh5tvWuG)4Ayl8DR1vXBI6aJ5WIk54AHDh9SKFsTErAJ57jA4Ryt5gvb9dzGVlkZo2vIUhNLFazyulRxfbAvMQdwYGVP(oKlO4Qivju7m5asctvSQX627LhJBGnNgbv5YqFmk9Sw5rtDqnlCbL76knTMk43j7tzcmn2Av3T0FCKSqloPKkbnf3FVqfREcSMc166zcwAAS1ckPb0jfb4ltFd0(6jKTGBjhNE79QG61)yhb3JsnlG7gYKXnXLBXHpcpxB5F8DwQCtxtPii4gZvRvB6uEGlYr(FXgov5B3wye8deHC)ILfyHT)awEqK6KQA2coUCqjJWxLAVjzsvSMPwDClhdGMI(QVck0as4YYEw6MZ2a5caqPXmfzWqvA6bscrf)G8vXoDZ3pPs(QXPTT1UaA1twZ(vAvEdQ3u1uD32eTwRSX5XevwFm0sS1oO2OPRhKUClpbFL8kKa9(gyHiSm3rb1D76yGHQjJwqs2c5a)rQfcc5fHqFfhsXpkaVjl30q86k90CbRMyAJ)YW8csS8mq0AL8AwquxGkycNoWUJF7B518XdgoY3D4ypNbdgmeWECAaODd(2(AG1BVP2(TVSj4v9sPVAeqwoKZaOKYJusJLQctI11NZyTGgGWEZa0J3Zsqim6qTfuLirTRZIsaYb14GRq(41KIqZ1rNr(wbNL0FiRzH51S9qlIzhHUezA8rsVm4SLhuBxx9o0DcDaH7Q837j)deDwSmy2xMHCuWc)73CkJinHDHP9Dh7n(RwNlNDsrt86DS4ixE9avwm6SSJz2C7Cy1CFF3joEUEt9M67pEWuKeeic9JvZh55mAQ34PE(UUoUJMGFJlmRcAcrwhd1w9110BCBV8J7oaoes8Pi0iNQqma2zj1mFXBG)GXUdh6oDS7KHdLtoYEeppNVhQxd7lU6RFXXVw6)NWOvqnW9EdSCR1P1WeKqdRIBatW53yXtnExKClbQsFwCBZx3rtRLwGQuMZi5hRyAZvsuGHXl7AJgdSRj3knk6t4jSKtU2KliJhTpEzTYuQJERQFt2o(TvR8MVzt0Ive5pTQyuUruJ7H7enJOd1eIQVYyxiVYH2lVkDZl2JB6xJhVESSRw57(DxGRrnvF3uqN)Ps3WMUb4ImOBhzDARcNLCZ63E1jeFOKgvb1AhQRv1bHP3QsTo6QjJAAJq4LMBIGFPRtENU)vwVuBZMudzPdAUgSr4qGxp8Hthpc2R21F8qhfvWJqlQRVzDxFtUDrJMC2wVBNtekQD30ljju7e7OfOwRCIeFTioU)flqstFThPR6HFdayltHzZyBDxU5iSEoYQyqvEHTUyL)OF8rmMlm3Ot)wAik5Fts)T3jStpO9uU7xDRwfxQbgMub8m03v9C)oIn5UKnfzAOmpq2AJ8eHDyXpZZmffC3W2KFKhpNdyzLm2Gx3ffENVbGf0GpJjcnY1LSTkynZXZKxcBjohhxfKxfSVNbCYsWavx1Hk9wZY7CORrwErKctdf5MW8AiYKpm3raetcf7jpxI59Y1CiPbqfAkZiNvAYpzOfaJKIOTnq8UNsIm0clT5h1WLUlewt9DktX5)rOZ9rb5G5nRPQqa81SxvmuBpidFuwNdUu1)NcaUAPcTChxOMZRte6gdK3ZdCwGWGuQTUMsnMQhOYZywQnihfklpKdnpEOLAHa2ZRcgeHGPADR0twH7EwmehcRYcMX3VUcVmYLfYYqIYdMKbIU0WqU6Ef1B5jnHwQGsn8sOi7dao)gnw6ovCpNcvRuqOHPevyK91eyLXwMnvVB4gUW00ClQKrhehD5(0y2Mdii3TSqzoc0ptcodevEKmKJqCHM02ufVqDDDSM6wZ96b3Ejowda(E6BSCnLQk9BBHoVTEcEv(BqmrZNCQgLSIAit((CIk1664IetwyiTMx1yV6fyLl4Kb1YpvE9AQc66Cln3bZi5vY663iMSRQfalEhksus61rZPXZxaKI(akUISpLMy5PVstLE9avN3mcPs(glJvYq2rWvPtrpwf2XvLKJ6O0AR2pRV5zp65jO2zx7wFlRpFcRbqV(gZD9)Dwu1vL0f(ySSi2NVtJtDoquhaxVFLMUBvS8iWynE7lCR3ktnq2bFB5YV9qT9yTALExZ)B0q8erIBjXB6rKt1hZHeYEwOA4b1DqYJcgwFwKT2eGn(YjL9h9Ba2QwZJL9b3dnUnAFTF0M0MEih5Cw1q3UFz2CQ34PgETtLE0eUvObjo6IR54(n7yQjDdsvyUhGeFYqFh4hJ99hAURercaRIi)Z6TAInEY2T8kB5SnbCD11D3WKQ9pBAwBilTBc1WUxR)rlBFfwQIfdhJ)JFb9a0NiQcvyDadkPuoJYk4RpgqdJRqfaM4maGOaavaCkEWpWaqduwQCLbRAEFz(9xb1mxWIjolFaAbnVpeFA168vR()(x0twDc" - local deserialized = ExportImport:Decode(klimpExport) + local deserialized = Gladdy.modules["ExportImport"]:Decode(Gladdy:GetKlimpProfile()) if deserialized then - ExportImport:ApplyImport(deserialized) + Gladdy.modules["ExportImport"]:ApplyImport(deserialized, Gladdy.db) end - Gladdy:UpdateFrame() + Gladdy:Reset() + Gladdy:HideFrame() + Gladdy:ToggleFrame(3) end function XiconProfiles:ApplyKnall() - local klimpExport = "4XzRB11vIZKe(NZU7fJhcqcH9oJkk7QZ4kmJV75mhgBsAG(1q6SDs0H5c)TVv1FK0jbK48YnQeQU667UEQoUWzX8fZIebCrevCbpMlWhqw8zNfZwk)5A5pf4pZxmlKZJJ4VM05fSSy1QSa8hNhNUrrxijlpGCWnTNKh9K8OhYJiGi12Q4XeVb9C7ny8Wr(dC89g7Uy1NCha8nMKLnnKNCppBXSBVAcW1K05c6wUycpj))(fqmO5sEhjUKLrwgtVGjcJPlwUywk)vQ48W8cs8IGsP8gkB9gyn99akO53qjX5BSEUxp5MWZPBVpMKtv655XVs2LnNiwtZPri3LgIzB4VEEHGCjv(r85rIhzr5BMqcZ5sJgQUaFwZfmAgAyYIP0u8pOjOahHc3kUiKIQkYcg(7p7mWR3yP9kmxeNLxK0L14o2BaUgrsuNxIVNAB2qeB7Yc863ZdxWZzDH6(9h7JuNfsYZPIUTghxPweXYqZwsExwKxVrYq0OWorTZqxK6vuIOl033XrQgcoVtsJR)qFTJ4dSK(YLqtbvMKes70QgRwvKGSMNKTuqj5B6YchQnYfKUqT74rk7LGs)fnxq6uiSR)GH4QyBtHN0jhtz44UWyEsNmbEoszl3kJ(EkqhyextXvzQiolFhuBy20eiqCfjK(9ZJI(ss23VoMefT77t3c0N9DfT)46yEgu3zduxiwwBiqN1BQEjlln)l3Bxv08Dxl4VEjtqdZzGmo7HPxFdOiBKY2DKFI8YUu2Izxcb6z3d8IG1tAvlJwvT7tUokQULLLFjDfPiwgEDrmN88BpXx92tZ2qaHOzQwQGbBs(oO4N0cFPmI5VL92tb7lOPI8HsYVNWsawxKMkOzzOADi6DK0FXgOIllRPhSISbsYMqfK43EcOgkUEeAVNhVdSyPhtuVHSDlvOSf)RcqkALk1CfZyX02jCwQKm4FIm4)ic5f8cm(klLgd61NatMI3rDH5SK1V90Ci76TNUA1ki85yofyZoQYDdBjvKahcDe6cizh2YQuUPBtjhxOY2fUHfcAEiey18mLMuFUiKKqbTMleTl130knneiniMh(8rIUNMKqfV8EkTkmDIGNL)2tFM)sZ6Gn19Rjcb0xGTp9ic7JeiiCwoFBZILnTbxS3IDnP6s2lm0sb1KOXhoCsP)QAaRke7ocx)Aswo(LV905RwfZKvS6QcoJgvOkX9(7Xv45zRJLr3pahhE4stMCOKWczrgPZ(1JzyWYxqneol(iukl9hstZr)sR(JAvvq1ZcAXBDeEtA)3SWN)iP7bXyvu0GGvPUhJSEFlPJ2TI(EWQa5QFSTJLCyAuQWJ7EbQtGwgqUocTZ3G5HucM78ilFd7WcEFDD(wnA1KNWHMfjrQsGyd4hTgyFTLpkHURtoPB4VgRm4ZPqY8XeOz5eXk4u8ofSCnV4DoatrZDe2XkhQ8NsJW7Qq6YHj5STSishYbNPoq6b6Q4JeP5QKviGbZPsYf8JLwnRv7Ghy3V99kC3uL02GIJzeQNkHNJgXpSz20DcfpKTdXmpCO2XBqyUPpWkCWt3UTqvvVcn8zJhRaeFwV(waXvOtB0lOKF)rzJF9h6E2OfkGTwn4USchpUEGxqtJa)91mOnG0)Wc5CtzEcxHcC)43ptcQPezENX8BeqBm7ypS)g9LllsqJ(XY40A2TzmO1Sp70hvq5udG1I1X(C)2kjcA)ykP1A(qYx2)RGimYN0xznEbhhdkG6ium0vQitg63FeaM3ZPNxF)EJ9wS6tdHihssISLVTWALNIMlyjptZFGsI2HHcqFNH4VPj0TYhOj4RzQOw1UlhvbnduZvq9vaYzwHqJwjdPkcxuwf9Z3aKSb8HMIUsbwJKzJzik1DdReKT0YOXXAlAfoMHJA7yYUQk)QKTANGKX(N5IOaHUdupfjS28AuKbzKMyJ5malagvtYntrksyTnvG3AMOaOCdFMgzMUZCz7Vc(l0i8mpSEZfXSuKhbXaLyHQatJxafG89pHt2byt4JHAbCuaX)(FveTw6bvvSYXZsVquKr0k0(WVap(CqtI01ScSBRpWC(Eqj8dOXfqKWhaW8qGB3YwjjSvRyqVVK8cbfbcETGKLQKwzF(LQZYcHulEet(aLIZY4YhSVMIdQAOf(ZjWbOljXYHWvVHk5da4CSitphkseMwlKFgB)lq3)qWEocpqFSQn3QKVAhqIc2gwS2XRGCQpBVTxXYWdhcsvp8cmfaEYCcyLLwxRwprjGksLCOuFUNbj6sRnk5YNStWxgBupD0Y3kIb8kKLSy8ef8l0sfiLGaNS260q52c4GjXSFP9JkBJDZHTPQCXAipWNvri7dbGCRlezA9(soxAHR1Ii(yjddIv9bsErAUEKsEgk)GEvEHuLB3CmkgeQGb8hdqoKyulO6wO0RqhVl1HL84CJffptA7ECJpYYIuYEvYlKFLHLfx3qlLjIxfRlUwBjgejVqTcEzPB4wPw1yB9MPHhChNNSsRQ17TYkm4QTlHIosAS67aLsaDCrQXZ8alfuF5xuntePd)fEHq6AGQHRlOQhsII3zskGqTPtnYWNsk2UurU(lNQ(sOE5siHZS76Aig3zta(bvi2STpttYGJuGp)kozzKnSm9FnFdEiUaRGssB4fWWNeOJUMXiV90FxoSO)b(fbCeBTEQrO2qc1PYLOgcAaniOvd9bTbegOAMf)LwcpxSvvLXULr0BVlLdbmITmc(rDHqPYXlc30wxSuX58eW5iFQc2a8hxre5BwQRI3efa6ZHKkjDTWsJwwYVOwlK2y)EGg(m2KSruq7qgy7IYS9DLOTXD5Nqeg1s7vEGwLPoWuRGVP(jKZOywKQeQDKCajHPkw1iV9wZmxRMXqqvSm0pIsoRvE0uhupvSGYtDLQwtb8BKTPmbggBL1Dd9N7jk0AgrsHGMINVxO8vpaAtHkV(cblnn2kHsQaheYoUy6lG0xpGSf8hjD6J3RCQx9Zne8mk1UaMBisgpexEeh(iCi0Y)4BSu5HUMsrGZnMRYvBAuUJlYX5XITnQI3UPWW47ic55fZlWcBFfspiszsvnBghthu8i8zP0BcMufRzQSJB4Od0u0x9vqHgGdNx2ZYHNHAGmbaeAmsr6muLMUJKqu(piEvSr3w9dQGVAZy2wBNbT6jRz)mTkUbLBQARMUorl1kDCsmrf1hdT2ADcQn626oPZxZtWLKx1JFNbnHaKQFvPskB0YCnE06cBxdXaFnfB3h5MPbDDx5vxERPR8jFAKNRNJZ4bEEU9h733G7WgHPfcvvp66Bz1cikAfwsu3fkSp(YRO9)aaJYFhnhb32aqSHbEaEc7RRTgUmfmmSQk0padcNLqeBGl43ajxnKMT39o4b1sGSiI999ObjvbsX6kUnMqaCfcJndakEllrtU05BbEP6U0T4GKOgokCI5w4DQbq2bXub639qUpKnL)x1u1mcvMoSNWudCB5TjBBFNt)PSI6SzBXIklMbTsHhp9JTK)em5ZMhCXNUaNbbl8hV4ucXTg(njIt9xOm3EEvg3w3WwK4ZfXXVVlvgyMlFjaQb(S0TApxfTJDwku0Sd5P)CXe)rdChoEONR)4(9gaWSHmVbWAe0eISGik4kvPVRxBZ89B2bges8XgSrovb9WEMdDqcxYZZ5BHZaGZAb07dCRRJ7frT94E0(czCQ((q1pYAQvo1nWhUuHFLGjNJeSBDjR0U2sROm9ZVg6mlt1Cgeuwn(n8vdPCowvx(RPU6H2yltyuZb8PEG9e70MKUOl1gSwPyAoH4a3eTQcr5LABpAL(wCZQAs5XwRTfhzXA58mhO9id0XydAMn3X4lTMVV7(UQWBdzy4(nk1giLL5wYk97)tpR6KkhWHEpK2CWYsa)Sc7Tf03pyqkKXuCCpVVJ2P1rjwVusQsNqYNUmEVAfXTeS6VLxFO666xcI6TUCKJDR9(GPNAxP7TD)mgY7MRvptUaZe5G(IPVQ6D7vSh3PjRkY0TeFhzTncgS9vlC(pYuJY5A2Q8984j4mgLi)XxJbvFZFbA6udIjMi0iGMZwRApEcExR4(aMdKUkOtk4dpc4TKnvwDf2vYTEAHaU7CwErKQ3ykIX1SmSd33m39l2Blf7TlxID68L8ygIUaYEOKmDN10KFXqnaOKIO2mqfUvg5zPZ3RB7EAi4o)gLPMb8Egl49cYoZkRjQGd85SNvt60MiZCnSUFtPO)NfaSNsbA(gUqTNxLi0TUlV)ECxa3GKRTE9tASv3rL3DOuAqSUknpKd9oSRLyHa)YRCga2DM648slzf(TlGmvryvuWf8TlRWDHZebrRMOSGjzaRlvmCMppJYT8chqnfGlBW3QgAeaa7fAS0CQMHzkKOOGIbBjkW4u8sGCJ1m7rgUIBMPIECPIkECGbqC(waB6QDiyP1Sqzmcunmb3bIkos6YrOsqtNRQ8xOSUmwpcqZ7RbwajowdK6w6lSC9O5uY36cDCB9a8Q43GyIEUKPA0wQrmyI3NquHwxfxKyIcdP1SQg9vNGvMWjDQLFQ81MOYPRJT0yqVGKxXRREHyIUQsaM9kuKOC4j7nMgNtnWf9GUVKSnLMyzPVups26oQdEJ3sH8fwgRCslY2hUHeVQd9zOlPIn5)HQ2xRl(AVgXzh4CUgf5lVyq1tg1RwpEwNeRLW9OlN1VDhEw6thAjQzFXkFWEGFGNEkuBzUv3aD3a3PJdB1MUQWY(AQ1B)DhGgDjxUCxczllujGWd3bGg6n0X1FqFx8vuTNVpcAyOH8MTsv1yELpQVl6QRUvoNHnPRcNOQzx19H15gxmDF04L(2DyVHdCg7623F4qx59BkFPVnaDq9ZYVB1q6MMVZ2UdnDs3bxxt3H5eZ95pgAdqvhiBLiKbv8kYwAIdmMWrn6I)3pfCZhSVxT9QgmuR520vRtvVzB(Wt8W0PyBWvAbP5LSAGp181EOkcDGBB8ev3YCnWoL9f7Bhe3(1DWEnYiRGVmF(xURskBg3BJvU14V2dgNE7hJtz9X2JQq3FVQAlYLC8JdgnWh)q4XT8elmbvVLk5Ag5460B0jHt(oJoeJoBSP4T7GUYUb9g1Z7ejyJ7DAyKpeYDkyK3WXNgg50Z9eXjxaF7jHr(97FAIN6p0)qseoxY16Flu)(OSBWapVbNebZ35Gc2hJrUEJonoV(UJ7DAkh47m8qgPZC0g9Xv1TocZW)ZBofsL7ObNOmyx4OHdOEqzqlED2yVJZUbUJhFAKlNrNif0X)0yYhGxYZjHtoEhU(7zoE1cQqVG)XzjeyDAsC8D8onNX44(x(OH8gZYR9RNPvRpE1Ez36WSTBmPojxCX6Nh6FQr9iwnx0wVEvnbPLb8jwakvOg8w08Ta93Vn3Mn31gNyhhHCZ3yW3fyw(If)))1HXqD" - local deserialized = ExportImport:Decode(klimpExport) + local deserialized = Gladdy.modules["ExportImport"]:Decode(Gladdy:GetKnallProfile()) if deserialized then - ExportImport:ApplyImport(deserialized) + Gladdy.modules["ExportImport"]:ApplyImport(deserialized, Gladdy.db) end - Gladdy:UpdateFrame() + Gladdy:Reset() + Gladdy:HideFrame() + Gladdy:ToggleFrame(3) end function XiconProfiles:ApplyClassic() - local klimpExport = "4XzR7STCIJSKFo7Up0oKq333myJTph7E4yOhpBetW4cubuhlK0wsYUPFWF7NmRlsLeiGUhIOd3GuvzL3ZSYmzU98zZNgZhMXJP8rzjzC8bK5F1E(0fI)Uw8xo(3Y5txMLLeN9rApBySNRtKVRDK1GqFh7WW5R(INlcK(EdVV3ah2IQvRkgI)56K8nYZyjPOCiPxe2sGWwce2sGWY1)h)gafA58VoimaEycPO4HLzPtYkMp9XBhdGinFgNUnJpolT8)tVAlK5CdRGSiHoIXxMqNVy(08SpO8RxwwrsMpS(iUNYwVbpbyt50Y7PKKYngp33sCizL0TtsiLujrDDYhKDfZi810sAmcDbvpDt2hxxXj3qfFfFEm)fwC5MXKLLzcXX0n6Jyg97LvC68PpXszBjjSIsC9iPayhG0F16QO5tl5S03OL7Z7SomVBdG4jcKxJwJuIFd(wJqs)Y74zFCdJtxwYYs1ltIRpr(oYXm51ZNEtgNvmzcGjibVhZM2io(IVJ5bIsWPSFaKNDK(5n02dB3wLsBRDCvuKKiVYAGHsTuakXMXC2p(81)vfjMtkjF(6mnnwRc9fBLkWekFjnTKSwGOkzBbsGIn0vCfZBbIU474m(2(1LVkuGPAf3ZwgQnyR5H2wsgTectl3bS5PpKws5RilP)51XX)wAXFExcjoE3F(WwG4k(t5A)RI))kcNg)xlsYBX0uYGbijkSQG9YsLoo6sLOs9POsJ98RJFcjKH5NTVwj0qSnSzD1eYyVa3qlNq3qxROiRalWFKlO2qstZQsxs3c7TajbL50Zus8oubOiNUe)FAkDR4bQf8TcWWEO(0fMYu0anNWl3b0nTOIRSwekpX42kA2XSnWs2aIrHVLsfkRmLQ9b0G)bEE(UoHbErwUb2(rk8FfNSLQChOfmnwwd82xwvCBkAlg36CuYfHi3TJhTFbzgh4PXAzwlGPocRAvTzSTuHvcPu7vjMBGInog6A5vYjlFJgRDMcB8HT58S3PXF(6lGM6NVokHLJWyycSYSQs8Zt3qalhyfaM()(5RtiSu8XGFLmebXp)pQIxlui(81SvF(A5gkakEvbbin893t2c4S8L)JQIs2sX2UgOe4ObN8Id6E2ckpvbYHjSub5mc4mahKuwcOe(GB4ag85RpYwjw4TGkC66eb6)CwwzXNV(vcgg4)c(0DCsrUeBZb(qd5SOIlOIxq(oquzSImXdUJW5aZ)Zx)cGySeAQevhTBzswQ4JJbF6lijIyEGmPSePmnnaoA45mKOkrtF5s4a4gsbPN47jzFiadLi5nzFKi5mZOWrlE2te22wqRb)a1j2wwmreubrSnSeLGF0gm8jE0vPhqQyW4hbKI8HJq7j4jZiaxwWDPKYn4ZzscKYZfqOMEMWa)gcUnI5INSJNTirtEkTLFVkjfKAlyjmW6gFHcRaSeq401cqaSTk1XcXbHi2)qjhL8gi0lnbi)HKIn7VQ6npMNvuk(Uud5BPfLO5WNVE9QvjSL18QkEHIUVjltWHFz37GoNI8Whla4qKAanEY7c21luYBG3muQMvji5)jB5BMQicE4ycLZa4Jki9HgTuQEe8kWv67cAyrwsPMJIX42EaX4lSIyjU3y8c2xfOx21DOsHH4TjkF1T2cOcSSQOG9o1q5LLVjZW0QfyBXPWh8uww6kfPcjCjHzjplXun42TlaNoI18mf1KiAdQmoVkxlzEMLdKV4ftYs2bs5CLa)9SkUq0aEdxxrLpKeNStBuaQAp8Ggh(sA12fYLRE5dYxc(lxagC6tx5drloNuSB5g2s4bl5uYwj(Tp)5H0ci(e89piCXIWS0KFA2g0)nh9GsY7ifq1NuArrxDKpF9)Emi)t(FWxmeu5HDlmHfudW1KMYatC1kQ051)KfNs3ziXkj8vcqPnVeHBwsZlBE0ujgnvHHxZ3k9YmccMLB4(DxEgOWW3Yi4xvocfexw1Yn7tlgK4SSuq4iE6Dzvsk4wiU(MfkV4sTETzR48EgmQeRRRdCbNL8dQXgPDoVNPlFlbqdnQG8HcG3fxyk7q5)qL72B)oOHrnOEPeyp3uJ5uQ09YmoYDA49TJqoLIwrsxOMAYdjPmPZQo2TpkY)sSZ4QAxsADzi5gjE2Y9O2p4ergxcXRmQRG06IG)ozBoJJQXgwD3t)(b0cLom)A27ejsqZX47vsz1Za1ujTRhXz55jgguccWWR8EobFM(oG9TvivbSA5Z(zQk8EJq92VVHGXOKNcWUbnzmiUieh(i8gvIp87SCrqxTRiq4MKjTv7YuEkJxssW1Yzs9T7R0a(jcxeVywf6y7BG5brGtsVztZqZbjmw(Ma71ktsN1mP1X9zOau70x(kWrdaHRRZzrLedKACsYESmWaaqAutrimKUMEIKsKYpqFLVrLL(ZsLpHBdT3ctQDkKQNWN9B0g9geVPYJ6H1PkSwsJJtisT(eiPyJiOtLi6JQVAiKUEDwkULYMRmC2fHaVVL(2XnLYOB62hVYlRbDGVLBCTcJmFJ5JGOPRH7rtfz3waKDo(bAZAwLbEhXBNHGGH))xTD8TIK3sSKNuG6TNXE8IGBHd7HNgF2Bj0xEmBiY74EQn4pWYh3WBfNZQhmisCVXczsPN3ES9eurmyCdSnqf8m2KVvGqweV8SwTTRhU6vycVNX6hyBlidoy)DoR3dUIQsq8tSLbIT0KsY5SRi5UI5eWiOybhtv(C2ORIjxroNv7ffi5xyKik6A4S2vOJOyHST5WtolbtT6O6UnNXw8Tf4MrbvAvCT6AlOQk4IM1HGCbrw7oasrIsk(VQGCeoIRJRc2R6ukamW3R2dGbkyFLt9kBklgwkYMBf3Q6tLIkoEcpyxf2GgM1StvWNMRMBupqnD)e57iIumHYFKLklwGaxA73QNck2PYGjz493XTKtl1SslRdv9X9knzdjk8MFaVS6Ip5BWU1vgz8xc9Che47556y7h6AHLN2fepWLcWeT(RTK)nW8MoB4OVmcRohB5F9UTUsysgLJTmeq)fyuZ0ou1pV3ScpNrGctjlYXmfC)HrHT3nFCyuyuqORJRRNvKFuasAGy67WBSgezB7BhAhea)ZhFdOHb3OpLiIPJyRsjZZFFw9Kn7aobyjCIs9vsL3E2KoRRM90TyMiWwZklZ2cjTajhc6rUTmaosfBh2UexU(1BuvBPGg5c(KMIJ1Unh)uf0QvriffAfWIZjtbtJ9dwq)6I)2T8waZRX2EGtOrvFfwdp)WD3pRHu7dnm0HIpsXWnk87zOn2Q3sM2(AuSgZ1zeD82iOBjHzziney)HH5FDAARnWZX(owEwoyHDdTblBxvFOwOC3z42tPIAQA2sFqk(X7aMLuYGKVvI(o0HkHpbuBbR1TkF)vUho3Xwf49WsKg3OMNvTFuPATMWDdcDSd9J8qcx3ofJqgocS8acQ(p)nhKKg77g6zh6ea51yB7bNLMtp23ZpkYlW2YX1leIhRqL19(gEFVPCEN(bz27HC9NToKu0evDdT8dgmi0nk03lyqOM3mFS3GbbbGUI1GapBFh3guTN3W77nDYD4mScBFpJtQ11Q1O1fOx5XB)RFSFVivzYaSQjWLhHRJv(31)xm)RvjjNVFpSNiVDgEv0CMd6N8agScMHVHluf7jSD)FoJtwHO9qsJdC9CSS9c9CIGBL4ewRu0A3igCaiCLRY)JRY)JRXEURIwuiR0KjZYWqnHITD44HASBCSSxiBzDoouAG(n7kUhg1EkVcWFZUuYw2s5Y7eM)mqXn)KP(OTVARSp2Z1csElYZdmWDHRVQekX1j591bnDhVBetztJ(L5QprwZwEOCo1m1RguhKPz(bm0tmcOTP7if4y1YA10PDlFbNYZHPMJOtMLKYQIf69R5sbDgHGFk)cTA0xm)EsYQZvlYGDcjitjDsI3QJvJF9g)zuvBCmUP34esamoa8Uhzhyz5Afznq0Gv1qU0ZB499MA7KU59R1KpqQE3FGMyVuNsExJS2TNxRv0kmDWalVaFaXcTCccdnWzFFxlFlB45UrEodSmctF43SOV3uw3d2H6oW(mnLkQP4e0b8NV(q6QQcvjqbJgZkwJLR0OVoVWKTU7o2QYd84XzlRkeD6bOwvDs)TT0uvrRtiCvfVNXwllh64kU4bpb2f46AkvUSCXVq4YIiklPOQ2Gk8w1D4XGniRSkwwluk2td92WkAILyelEm(9NPyT8kf1k)6fzqqRnF(QwXwCQ00FWqkawjfRsVU0WpkStnO5jQYS(WsWU(3Pm5aeCG2apHt2P3zlufuhER4nzNTnxKUpwtWEHux1(NP)7Q3HRaQ)(SnzC5zEBkxPl(qAkceHyqavzhNQYZ50cTe28OEIMgRKtdXEBiP8LzWnS3ThAHf6VSryq4CM8AU1CYM61pc8RXx2OfmkB7IM6SJ9ad7orQKdMwaGUMWWE89gI3I5vbPuoLQ7NHSjHZ4K3Pjc2PSN15GVrzP3HJerySRTPGL2AMzlIxLP7HMQ948gy0tdNUEBEcB1oS44y0euhbIaKINarQhje5yPXb)cRAKxiUUir1Y3RbEb2(B0FDsIQW5psFNvQAfRe)wxP0BBRG3O)omHO6dDUQ66YwkP13htKQw3MuLQ1cxsBXv10RYaR2GtiuR)2nS3zicBi0v6wQEomIu2aRBFNO1UAmaM(b4KOUzzhuNgNlbakQbB4gY2CAQbN(gvl4BlOUteot2UmmlAZEr8q67ScwDN1kRJA2Rx(9U4IroP9DLVFHqWhA(Tejd)lde1DiKxUh9QxIF1jas8DgsEhlVFzNrmU3rtnylvaY2Z2k4IajSow9aORIgOsGqLP(zaohRal)leIfzDzauiCN4lbG8Ha3xeazB5DHGeCBk3lcGcHBMFra0a3W(WOR80QtQ8r9on4CC89DUiiwODVi2phG88dUmcVbErwxg3bH2U9XKUsFRQOM06pbWWE5DjWkVaNlKfShKJEpKh4g0awxf5FAW54ffDzWl4AlxiafEzy5odIc7Jv9ZbjB)(9)EfoYWgkvOui80GeuSUmgoH2(xMym2E)Tdnu2PEH7pHTImC6(4v4Lao7MF0PEN6kyIvH5rif6BORivjI(CpkjJ8M5fv62ZFix8mX98uJm9nIwxJzeo8qDVUz5UILV)Dw6B92I1pAdElJIUTsUzzoIL1A8voXABghWJJQhAeJp(o0twwVKKiGLyEWofs2)49CgaF)Hn7ecf5WGDc2r9SuF81jMS2JtCQrN(eivNjO84RwFfSzzC((ZCsxUKr9goU2T4ArVFmIwQMAo(BhN2p00GFCK9fIyW0Y22DQn6YdgDWPUO7QQV7N8ANhN(vxSglJZXH6XNm5JtGnJV4XpJ9hRZtzd1zOnpbJXyo1p(k7orSNWRqRj6)4RD)Pa)4SorzDeme0lLX1VpU6A)ZB5PooC4Bpoj0EQUp(ANTHQ(DmGvzSCdRFeFGYp)Et8vxy2BbeooKBnh0NWty3FFfNq(3EIQpb2lM15JVgXVLJtCMDgo6t4o08xaYjaSmG0Z0vjNqtZtIRTgJ)ta79MlTEo9hpMJ7UKuZmcFkDBttjmok(JI442rMZ7(XX8N7BUa7SWY5nZnGzHR0f0s9drZ2k03bB3HJTh8hCiIc7)hbROIyT)bo(tvzQwDyQBtqmgMmJKsrsR7VSTt0SSY5Z)p)QTqPQ" - local deserialized = ExportImport:Decode(klimpExport) + local deserialized = Gladdy.modules["ExportImport"]:Decode(Gladdy:GetClassicProfile()) if deserialized then - ExportImport:ApplyImport(deserialized) + Gladdy.modules["ExportImport"]:ApplyImport(deserialized, Gladdy.db) end - Gladdy:UpdateFrame() + Gladdy:Reset() + Gladdy:HideFrame() + Gladdy:ToggleFrame(3) end function XiconProfiles:GetOptions()