--UNIT_AURA DRUID_HOTS_REMOVE_HOT UPDATE_HOTS
function(e, ...)
    if not WeakAurasSaved.DruidHots then WeakAurasSaved.DruidHots = {} end
    if not WeakAurasSaved.DruidHotsTotal then WeakAurasSaved.DruidHotsTotal = {
            ["Rejuvenation"] = 0,
            ["Regrowth"] = 0,
            ["Lifebloom"] = 0,
            ["Wild Growth"] = 0,
            ["Spring Blossoms"] = 0,
            ["Grove Tending"] = 0,
            ["Rejuvenation (Germination)"] = 0,
    } end
    if e == "UNIT_AURA" then
        local u = ...
        local index = 1
        local GUID = UnitGUID(u)
        local buff, update = 0, 0
        WeakAurasSaved.DruidHots[GUID] = {}
        while UnitBuff(u, index, "PLAYER") do
            local name = UnitBuff(u, index, "PLAYER")
            local dur = select(6, UnitBuff(u, index, "PLAYER"))
            if aura_env.hots[name] then
                buff = 1
                WeakAurasSaved.DruidHots[GUID][name] = C_Timer.NewTimer(dur, function() WeakAuras.ScanEvents("DRUID_HOTS_REMOVE_HOT", GUID, name) end)
            end
            index = index + 1
            if index > 20 then break end
        end
        if buff == 0 then WeakAurasSaved.DruidHots[GUID] = nil end
        if buff == 1 then WeakAuras.ScanEvents("UPDATE_HOTS") end
        --DevTools_Dump(WeakAurasSaved.DruidHots)
    elseif e == "DRUID_HOTS_REMOVE_HOT" then
        local GUID, bname = ...
        WeakAurasSaved.DruidHots[GUID][bname] = nil
        WeakAuras.ScanEvents("UPDATE_HOTS")
        --DevTools_Dump(WeakAurasSaved.DruidHots)
    elseif e == "UPDATE_HOTS" then
        WeakAurasSaved.DruidHotsTotal = {
            ["Rejuvenation"] = 0,
            ["Regrowth"] = 0,
            ["Lifebloom"] = 0,
            ["Wild Growth"] = 0,
            ["Spring Blossoms"] = 0,
            ["Grove Tending"] = 0,
            ["Rejuvenation (Germination)"] = 0,
        }
        for k,v in pairs(WeakAurasSaved.DruidHots) do
            for k2, v2 in pairs(v) do
                --print(k2)
                WeakAurasSaved.DruidHotsTotal[k2] = WeakAurasSaved.DruidHotsTotal[k2] + 1
            end
        end
        --DevTools_Dump(WeakAurasSaved.DruidHotsTotal)
    end
end

--DISPLAY
function()
    return WeakAurasSaved.DruidHotsTotal["Grove Tending"]
end

--INIT
aura_env.hots = {
    ["Rejuvenation"] = 1,
    ["Regrowth"] = 1,
    ["Lifebloom"] = 1,
    ["Wild Growth"] = 1,
    ["Spring Blossoms"] = 1,
    ["Grove Tending"] = 1,
    ["Rejuvenation (Germination)"] = 1,
}