-- --------------------
-- TellMeWhen
-- Originally by NephMakes

-- Other contributions by:
--		Sweetmms of Blackrock, Oozebull of Twisting Nether, Oodyboo of Mug'thol,
--		Banjankri of Blackrock, Predeter of Proudmoore, Xenyr of Aszune

-- Currently maintained by
-- Cybeloras of Aerie Peak
-- --------------------


if not TMW then return end

local TMW = TMW
local L = TMW.L
local print = TMW.print

local ClassSpellCache = TMW:GetModule("ClassSpellCache")

ClassSpellCache.RaceMap = {
	[1] = "Human",
	[2] = "Orc",
	[3] = "Dwarf",
	[4] = "NightElf",
	[5] = "Scourge",
	[6] = "Tauren",
	[7] = "Gnome",
	[8] = "Troll",
	[9] = "Goblin",
	[10] = "BloodElf",
	[11] = "Draenei",
	[22] = "Worgen",
	[25] = "Pandaren",
	[26] = "Pandaren",
	[24] = "Pandaren",
	[29] = "VoidElf",
	[30] = "LightforgedDraenei",
	[27] = "Nightborne",
	[28] = "HighmountainTauren",
	[31] = "ZandalariTroll", 
	[32] = "KulTiran",
	[34] = "DarkIronDwarf",
	[35] = "Vulpera",
	[36] = "MagharOrc",
	[37] = "Mechagnome",
	[52] = "Dracthyr", -- alliance
	[70] = "Dracthyr", -- horde
}

ClassSpellCache.SpellData = {
	[1] = {71,100,355,772,845,871,1160,1161,1464,1680,1715,1719,2565,3127,3411,5246,5308,6343,6544,6552,6572,6673,7384,12294,12323,12950,12975,18499,20243,23881,23920,23922,29725,29838,34428,46917,46924,46968,57755,64382,76856,76857,81099,85288,86101,86110,86535,88163,97462,103827,107570,107574,115767,118000,118038,123829,137047,137048,137049,137050,152277,152278,161798,163201,167105,184361,184364,184367,184783,190411,190456,197690,198500,198807,198817,198877,198912,199023,199045,199086,199127,199261,202095,202163,202168,202224,202316,202560,202561,202603,202743,202751,203177,203201,205800,206315,206572,208154,213857,213871,213915,215568,215571,227847,228920,231842,231847,235941,236077,236273,236279,236308,236320,248621,260643,260708,262111,262150,262161,262228,262231,275334,275336,275338,275339,279423,280001,280392,280721,280745,280772,281001,294184,294189,296087,315720,316402,316403,316405,316428,316440,316464,316523,316733,316825,316834,319157,319158,325446,329033,329038,334779,335070,335077,335091,346002,352998,356353,376079,382258,382260,382310,382461,382549,382764,382767,382895,382896,382900,382939,382940,382946,382948,382953,382954,382956,383082,383103,383115,383154,383219,383287,383292,383293,383295,383297,383317,383338,383341,383430,383442,383459,383468,383486,383605,383703,383762,383848,383852,383854,383877,383885,383916,383922,383959,384036,384041,384042,384063,384067,384072,384074,384090,384100,384110,384124,384277,384318,384361,384404,384969,385008,385059,385512,385571,385573,385703,385704,385840,385843,385888,385952,386011,386027,386030,386034,386071,386164,386196,386208,386229,386285,386328,386357,386394,386477,386628,386630,386634,388004,388049,388807,388903,388933,389306,389308,389603,390123,390135,390138,390140,390354,390563,390642,390674,390675,390713,390725,391270,391271,391572,391683,391997,392536,392777,392790,392792,392931,392936,392966,393950,393965,393967,394062,394307,394311,394312,394329,394855,397708},
	[2] = {465,498,633,642,853,1022,1044,4987,5502,6940,7328,10326,13819,19750,20066,20271,20473,23214,24275,25780,26573,31821,31850,31884,31935,32223,34767,34769,35395,53376,53385,53563,53576,53595,53600,62124,69820,69826,73629,73630,76671,82242,82326,85043,85222,85256,85673,85804,86102,86103,86539,86659,96231,105805,105809,114154,114158,114165,115675,115750,121183,123830,137026,137027,137028,137029,148039,152261,152262,156910,157047,161800,171648,183218,183435,183778,183997,184575,184662,190784,196926,199324,199330,199428,199441,199452,199454,199456,199542,200025,200327,200430,200474,200482,200652,200654,203316,203776,204018,204019,204023,204054,204074,204077,204914,204934,204979,205191,207028,209389,210256,210294,210323,210341,210378,212056,213644,214202,215652,215661,216327,216331,216853,216855,216868,223306,223817,228049,230332,231642,231644,231663,231667,231832,231895,234299,246806,247675,248033,255937,267316,267344,267610,269569,270562,270564,272906,275773,275779,280373,289941,290608,305394,315867,315921,315924,317866,317872,317906,317907,317911,317912,321136,325966,326730,326732,326734,327193,327977,327979,327980,327981,342348,343527,343721,344172,353367,355614,355858,358934,363613,375576,376996,377016,377043,377053,377128,377360,378279,378285,378405,378425,378457,378762,378845,378974,379008,379017,379021,379022,379043,379391,380188,382275,382430,382536,383185,383228,383254,383263,383271,383274,383276,383300,383304,383314,383327,383334,383342,383344,383350,383388,383396,383876,384027,384052,384162,384376,384392,384442,384815,384820,384897,384909,384914,385125,385129,385349,385414,385416,385422,385425,385427,385438,385450,385464,385515,385633,385639,385726,385728,386568,386653,386738,386901,386967,387170,387174,387196,387479,387640,387781,387786,387791,387801,387805,387808,387814,387879,387893,387993,387998,388005,388007,388018,389539,391054,391142,392902,392907,392911,392914,392928,392938,392951,392961,393022,393024,393027,393030,393071,393114,394088},
	[3] = {136,781,883,982,1462,1494,1513,1515,1543,2641,2643,5116,5384,6197,6991,19434,19574,19577,19801,19878,19879,19880,19882,19883,19884,19885,34026,34477,53209,53270,53351,53480,56315,56641,61648,76657,83242,83243,83244,83245,93321,93322,109215,109248,109304,115939,120360,120679,125050,127933,131894,137014,137015,137016,137017,138430,147362,155228,157443,162487,162488,185358,185789,186257,186265,186270,186289,186387,187650,187698,187707,187708,190852,190925,191043,191384,193455,193468,193530,193532,193533,194595,195645,199483,199528,199530,199532,199921,201430,202589,202746,203129,203155,203235,203264,203340,203413,203415,204089,205154,205691,208652,209997,210000,212431,212436,212638,212640,213691,217200,229533,231548,236776,242155,248443,248518,257044,257284,257620,257621,257891,257944,259387,259391,259398,259489,259495,260228,260240,260241,260243,260247,260248,260285,260309,260331,260367,260393,260402,260404,263135,263186,264332,264735,265895,266921,267116,268501,269737,269751,270581,271014,271788,272651,273887,288613,294029,320976,321014,321018,321287,321290,321293,321297,321460,321468,321530,325028,325037,342049,343242,343244,343247,343248,344572,354831,355589,355596,356015,356707,356719,356962,356976,357018,359844,360952,360966,375891,378002,378004,378007,378010,378014,378205,378207,378209,378210,378244,378442,378739,378740,378743,378745,378750,378765,378766,378767,378769,378771,378880,378888,378905,378907,378910,378913,378916,378934,378937,378940,378948,378950,378951,378953,378955,378961,378962,384790,384791,384799,385539,385695,385709,385718,385737,385739,385810,386870,386878,388039,388042,388056,388057,389019,389449,389654,389660,389865,389866,389880,389882,390231,391559,392053,392060,393344,393505,393933},
	[4] = {53,408,703,921,1329,1725,1752,1766,1776,1784,1804,1833,1856,1860,1943,1966,2094,2098,2823,2836,2983,3408,5277,5761,5938,6770,8676,8679,13750,13877,14062,14161,14190,14983,31209,31224,31230,32645,35551,51667,51690,51723,56814,57934,58423,61329,76803,76806,76808,79008,79096,79134,82245,91023,108208,108209,108216,114014,114018,121411,121471,131511,137034,137035,137036,137037,137619,152152,154904,157442,185311,185314,185438,185565,185763,193315,193531,193537,193539,193546,193640,195457,196819,196861,196864,196912,196922,196924,196937,196938,196976,197000,197835,197899,198020,198145,198265,198675,198952,199736,200733,200758,200759,200806,207736,207777,209752,210108,212182,212283,221622,231691,231716,231719,235484,238104,245687,255544,255989,256165,256170,256188,257505,269513,270061,271877,272026,277925,277953,279876,280716,280719,315341,315496,315508,315584,319032,319066,319175,319473,319949,319951,328085,331851,343142,343160,344362,344363,354124,354406,354425,354661,354825,354843,354895,354897,359053,360194,378427,378436,378803,378807,378813,378996,379005,381542,381543,381619,381620,381621,381622,381623,381624,381626,381627,381629,381630,381631,381632,381634,381637,381640,381652,381664,381669,381673,381797,381798,381799,381800,381801,381802,381822,381828,381839,381845,381846,381877,381878,381885,381894,381982,381985,381988,381989,381990,382015,382017,382238,382245,382503,382504,382505,382506,382507,382508,382509,382511,382512,382513,382514,382515,382517,382518,382523,382524,382525,382528,382742,382746,383281,384631,385408,385424,385478,385616,385627,385722,386823,392384,393970,393972,394023,394309,394320,394321,394332,394929,394930,394931,394932,394935,394983,395422},
	[5] = {17,139,453,527,528,585,586,589,596,605,1706,2006,2050,2060,2061,2096,8092,8122,9484,10060,14914,15286,15407,15487,19236,20711,21562,32375,32379,33076,33206,34433,34861,34914,45243,47515,47536,47540,47585,47788,48045,62618,63733,64044,64129,64843,64901,73325,73510,77485,81749,88625,108920,108942,108945,108968,109186,110744,120517,120644,121536,122121,123040,129250,132157,137030,137031,137032,137033,155271,162448,193063,193134,193155,193157,194509,196162,196437,196439,196489,196611,196704,196707,196985,197045,197268,197419,197535,197590,197862,197871,198068,199259,199445,199484,199855,200128,200174,200183,200199,200209,204197,204883,205364,205385,211522,212036,213610,213634,214205,214621,215768,215982,228260,228264,228266,228630,232698,235587,236499,238063,238100,238135,238136,238558,246287,263165,263346,263716,265202,271534,280391,280749,280752,288733,289666,314867,316262,321291,321377,322107,322115,327821,328529,328530,335467,341167,341240,341273,341374,341491,341997,343690,356085,357481,357711,368275,372307,372309,372354,372370,372611,372616,372760,372835,372969,372972,372985,372991,373003,373035,373042,373049,373054,373065,373178,373180,373202,373212,373221,373223,373273,373280,373310,373427,373446,373450,373456,373457,373466,373481,375767,375888,375901,375994,377065,377349,377360,377387,377422,377438,390615,390620,390622,390632,390667,390668,390670,390676,390684,390685,390686,390689,390691,390693,390705,390765,390767,390770,390781,390786,390832,390881,390919,390947,390954,390967,390972,390977,390980,390992,390994,390996,391079,391090,391095,391109,391112,391124,391137,391154,391161,391186,391208,391209,391228,391233,391235,391242,391284,391288,391296,391297,391339,391368,391381,391387,391399,392507,392941,392988,393870,397527},
	[6] = {674,3714,42650,43265,45524,46584,46585,47476,47528,47541,48263,48265,48707,48743,48792,49020,49028,49039,49143,49184,49206,49530,49576,49998,50842,50977,51052,51128,51271,51462,51986,53343,53344,53428,55078,55090,55095,55233,56222,57330,59057,61999,62158,63560,77513,77514,77515,77575,77606,81136,81229,81333,82246,85948,86113,86536,86537,108194,108199,111673,114556,115989,127344,137005,137006,137007,137008,152279,152280,161797,178819,190780,194662,194679,194844,194878,194909,194912,194913,194916,194917,195182,195292,195621,195679,196770,197147,199642,199719,199720,202727,202731,203173,204080,205224,205723,205727,206930,206931,206940,206967,206970,206974,207018,207057,207061,207104,207126,207142,207167,207200,207230,207264,207269,207272,207289,207311,207317,207321,210128,212552,219786,219809,221536,221562,221699,233396,233412,253593,273946,273952,273953,274156,275699,276023,276079,276837,277234,278107,278223,279302,281208,281238,287250,288848,288853,288855,305392,316239,316714,316803,316838,316849,316867,316916,316941,317133,317198,317214,317610,319230,321995,325554,326805,326855,326911,326977,327082,327574,343257,343294,356332,356367,356456,356470,356512,356520,373923,373926,373930,374030,374049,374111,374261,374265,374277,374383,374504,374574,374598,374715,374717,374721,374737,374747,376251,376905,376938,377047,377056,377073,377076,377083,377092,377098,377190,377226,377351,377376,377440,377514,377537,377580,377585,377587,377590,377592,377629,377637,377640,377655,377668,378848,383269,389679,389682,390161,390166,390175,390196,390236,390259,390268,390270,390275,390279,390283,391386,391395,391398,391458,391477,391517,391546,391566,391571,392566,392950,392962,392963},
	[7] = {370,546,556,974,1064,2008,2484,2645,2825,6196,8004,8042,8143,8512,16166,16191,16196,17364,20608,30884,32182,33757,51485,51490,51505,51514,51533,51564,51886,52127,57994,58875,60103,60188,61295,61882,73899,73920,77130,77223,77226,77472,77756,79206,86099,86100,86108,86629,98008,108271,108280,108281,108283,108285,108287,114050,114051,114052,117013,117014,137038,137039,137040,137041,157153,157154,157444,168534,170374,187828,187874,187880,188196,188389,188443,190488,191634,191861,192058,192063,192077,192088,192106,192222,192246,192249,193876,196840,196884,197214,197995,198067,198103,198434,198838,200071,200072,200076,201845,201900,204261,204264,204268,204330,204331,204336,204366,204393,204403,206642,207399,207401,207778,210689,210714,210853,210873,210918,211004,211010,211015,212048,236501,260878,260895,262303,262624,262647,265046,269352,273221,277778,277784,280614,289874,290250,290254,305483,309328,318038,318044,319930,320125,320137,320746,327163,328928,328930,333919,333974,334033,334046,334195,334308,342240,342243,343182,343226,343725,344357,353115,355580,355630,356736,375982,377360,377933,378075,378077,378079,378081,378094,378193,378211,378241,378255,378266,378268,378270,378271,378310,378443,378773,378776,378779,381647,381650,381655,381666,381674,381678,381689,381707,381708,381726,381743,381764,381776,381782,381785,381787,381819,381867,381930,381932,381936,381946,382019,382020,382021,382027,382029,382030,382032,382033,382039,382040,382042,382045,382046,382086,382191,382194,382197,382201,382215,382309,382315,382482,382685,382732,382886,382888,382947,383009,383010,383011,383012,383013,383016,383017,383019,383222,383303,384087,384143,384149,384352,384355,384359,384363,384405,384411,384444,384447,384450,385923,386443,386474,390288,390370,392352,392714,392763,392915,392916,393905,394150},
	[8] = {66,116,118,120,122,130,133,475,759,1449,1459,1463,1953,2120,2139,2948,3561,3562,3563,3565,3566,3567,5143,10059,11366,11416,11417,11418,11419,11420,11426,12051,12472,12846,12982,28271,28272,30449,30451,30455,31589,31661,31687,32266,32267,32271,32272,33690,33691,35715,35717,44425,44457,44614,45438,49358,49359,49360,49361,53140,53142,55342,56377,61305,61721,61780,76613,80353,84714,86949,88342,88344,88345,88346,108839,108853,110959,112965,113724,114923,116011,117216,120145,120146,126819,131784,132620,132621,132626,132627,137018,137019,137020,137021,153561,153595,153626,155147,155148,155149,157642,157980,157981,157997,161353,161354,161355,161372,176242,176244,176246,176248,190319,190336,190356,190447,190740,193759,198062,198064,198100,198111,198126,198144,198148,198158,199786,203275,203280,203283,203284,203286,205020,205021,205022,205023,205024,205025,205026,205027,205028,205029,205030,205036,205037,210086,210476,210805,212653,224869,231564,231567,231630,235219,235224,235297,235313,235365,235450,235711,235870,236058,236457,236628,236662,257537,257541,264354,269644,269650,270233,276741,277787,277792,278309,281400,281402,281403,281404,281482,319836,321358,321387,321395,321420,321507,321526,321684,321739,321745,321747,321752,342231,342245,342249,342344,343127,343140,343183,343222,343230,344587,344597,352278,353082,353128,365350,376103,377360,378198,378406,378433,378448,378749,378756,378901,378919,378947,379049,379993,380154,381244,381706,382103,382110,382144,382268,382270,382289,382292,382293,382297,382424,382440,382481,382490,382493,382569,382800,382820,382826,383092,383121,383243,383391,383476,383489,383499,383604,383634,383659,383661,383665,383669,383676,383782,383810,383860,383886,383967,383980,384033,384060,384174,384187,384276,384374,384452,384581,384612,384651,384683,384858,384861,385167,386539,386763,386828,387044,387807,389627,389713,389794,390218,390428,390612,391102},
	[9] = {126,172,348,603,686,688,691,697,698,702,710,755,980,1098,1122,5484,5697,5740,5782,5784,6201,6353,6789,17877,17962,20707,23161,27243,29722,29893,30146,30283,32388,48181,77215,77219,77220,80240,93375,104316,104773,105174,108370,108415,108416,108503,108558,111400,111771,111898,113858,113860,116858,119898,137042,137043,137044,137046,152108,171975,196102,196103,196226,196277,196406,196408,196412,196447,198590,199471,199954,200546,200586,201424,201996,205145,205148,205179,205180,205184,212282,212295,212371,212459,212618,212619,212628,215941,219272,221703,221711,231791,231792,231793,231811,234153,234877,246985,248855,264000,264057,264078,264106,264119,264130,264178,264874,265187,266086,266134,267102,267115,267170,267171,267211,267214,267215,267216,267217,268358,270545,278350,288843,316099,317031,317138,324536,328774,333889,334315,334319,334585,334591,335052,342601,342914,344566,353294,353601,353753,366222,377360,384069,385881,385899,386105,386110,386113,386124,386174,386185,386194,386200,386244,386344,386613,386617,386619,386620,386646,386648,386651,386659,386664,386686,386689,386759,386833,386858,386864,386922,386951,386976,386986,386997,387016,387065,387073,387075,387084,387093,387095,387103,387108,387153,387156,387159,387165,387166,387173,387176,387250,387252,387259,387273,387275,387279,387301,387322,387338,387349,387355,387384,387391,387396,387399,387400,387432,387445,387475,387483,387485,387488,387494,387506,387509,387522,387526,387541,387549,387569,387578,387600,387602,387972,387976,388667,388827,388832,389359,389367,389576,389590,389609,389623,389630,389761,389764,389775,389992,390173},
	[10] = {8647,100780,100784,101545,101546,101643,107428,109132,113656,115008,115069,115078,115098,115151,115173,115175,115176,115178,115181,115288,115310,115313,115315,115396,115399,115450,115546,115636,116092,116095,116645,116670,116680,116705,116812,116841,116844,116847,116849,117906,117907,117952,119381,119582,120224,120225,120227,121253,121817,122278,122281,122470,122783,123904,123986,124081,124146,124502,124682,125883,126892,126895,128595,132578,137022,137023,137024,137025,137384,137639,152173,152175,157411,157445,169340,191837,195243,195300,196607,196725,196730,196736,196737,196740,197895,197900,197908,197915,198898,201372,201769,202107,202126,202162,202200,202272,202335,202370,202424,202577,205147,205234,207025,209525,209584,210802,212051,216519,218164,220357,231602,231605,231876,232876,233759,242580,245013,247483,261767,261916,261917,261947,264348,274586,274909,274963,280195,280197,280515,281231,287503,287681,322101,322102,322104,322106,322109,322113,322118,322120,322507,322510,322719,322729,322740,322960,323999,324312,325093,325095,325153,325177,325197,325201,325214,325215,328669,328670,337209,342928,343655,343730,343731,343743,343744,344359,344487,345829,346104,353313,353361,353502,353508,353584,353936,354540,355917,357495,357633,362170,377360,383695,383697,383698,383700,383707,383714,383785,383994,386276,386937,386941,386949,386965,387035,387046,387184,387219,387230,387256,387276,387625,387638,387765,387991,388020,388023,388031,388038,388047,388193,388212,388218,388477,388491,388505,388509,388511,388517,388548,388551,388564,388593,388604,388615,388661,388664,388674,388681,388682,388686,388701,388740,388779,388809,388811,388812,388813,388814,388846,388847,388848,388849,388854,388856,388874,388917,389574,389575,389577,389578,389579,389942,391330,391370,391383,391412,392900,392910,392958,392970,392979,392982,392983,392985,392986,392989,392991,392993,392994,393098,393357,393400,393460,393516,394093,394110,394123,394923,396166,397251},
	[11] = {99,339,740,768,774,783,1079,1126,1822,1850,2637,2782,2908,5176,5211,5215,5217,5221,5225,5487,6795,6807,8921,8936,16864,16870,16931,16974,18562,18960,20484,22568,22570,22812,22842,24858,29166,33763,33786,33873,33891,33917,48438,48484,50464,50769,52610,61336,77493,77495,77758,78674,78675,79577,80313,86093,86096,86097,86104,88423,88747,93402,102342,102351,102359,102401,102543,102558,102560,102793,106830,106832,106839,106898,108238,108299,113043,114107,124974,125972,127757,131768,132158,132469,135288,137009,137010,137011,137012,137013,145108,145205,155578,155580,155675,155783,155835,157447,158476,158477,158478,164815,164862,165962,190984,191034,192081,193753,194153,197061,197073,197488,197490,197491,197492,197524,197625,197626,197628,197632,197721,197911,200390,200567,200851,200854,200931,201259,201664,202021,202028,202031,202110,202155,202157,202226,202246,202342,202345,202347,202354,202359,202425,202430,202626,202770,202918,203052,203224,203242,203399,203553,203624,203651,203953,203962,203964,203965,203974,204053,205636,205673,207017,207383,207385,209730,209740,209749,210053,210065,210706,212040,213200,213764,217615,228431,228545,231032,231040,231042,231050,231052,231055,231063,231064,231065,231437,232546,233673,233750,233754,233755,236012,236019,236020,236068,236144,236147,236153,236180,236716,238049,247543,252216,270100,274281,274837,274902,276012,276029,278515,279620,285381,285564,288826,289237,300346,300349,301768,305497,319439,319454,326228,326646,327541,327993,328025,328767,329042,343223,343238,343240,343647,345208,353114,354541,354654,356517,370586,370695,371905,371999,372119,372567,372618,372943,372945,377210,377360,377623,377779,377796,377801,377811,377835,377842,377847,378986,378988,382550,382552,382559,383191,383192,383195,383197,383352,384665,384667,384668,384721,385786,386318,390378,390772,390864,390902,391037,391045,391078,391174,391347,391528,391548,391700,391709,391785,391872,391875,391881,391888,391947,391951,391969,391972,391978,392099,392116,392124,392160,392162,392167,392220,392221,392256,392288,392301,392302,392315,392325,392356,392378,392410,392999,393014,393371,393414,393427,393611,393618,393760,393771,393868,393940,393954,393956,393958,393960,393991,394013,394046,394048,394058,394065,394081,394094,394115,394121,394786,395022},
	[12] = {131347,162243,162794,178940,178976,179057,183752,185123,185164,185245,187827,188499,188501,189110,191427,195072,196055,196555,196718,198013,198589,198793,202137,202138,203513,203550,203555,203556,203720,203724,203747,203782,203783,204021,204157,204254,204596,204909,205411,205596,205604,205625,205626,205627,205629,205630,206416,206476,206477,206478,206803,207029,207197,207347,207387,207407,207548,207550,207666,207684,207697,207739,209258,209281,211489,211881,212084,212612,212613,213010,213410,213480,214743,217832,217996,218612,221351,226359,227174,228477,232893,235893,247454,255260,258860,258876,258881,258887,258920,258925,263642,263648,268175,278326,278386,320313,320331,320341,320361,320364,320374,320377,320378,320379,320380,320381,320382,320386,320387,320402,320412,320413,320415,320416,320418,320421,320635,320639,320654,320770,320794,320962,321021,321028,321067,321068,321299,321453,326853,328725,336639,342817,343014,343017,343206,343207,343311,344859,344862,344865,347461,350570,354489,355995,356510,357419,370965,388106,388107,388108,388109,388110,388111,388112,388113,388114,388116,388118,389220,389687,389688,389693,389694,389695,389696,389697,389705,389708,389711,389715,389718,389720,389721,389724,389729,389732,389763,389781,389783,389799,389811,389819,389824,389846,389849,389958,389976,389977,389978,389985,389997,390142,390152,390154,390158,390163,390213,390808,391165,391178,391189,391275,391397,391409,391429,393029,393822,393827,395446},
	[13] = {351338,353167,355913,355936,356809,356810,356816,356995,357170,357208,357210,357211,358267,358385,359073,359793,359816,360806,360823,360995,361178,361227,361469,362874,362969,362980,363510,363534,363916,364342,364343,365261,365262,365585,365933,365937,366155,367226,368412,368432,368838,368847,369089,369297,369375,369459,369846,369908,369909,369913,369939,369990,370062,370388,370452,370455,370537,370553,370665,370781,370783,370819,370821,370837,370839,370845,370867,370886,370888,370897,370960,370962,371016,371032,371034,371038,371257,371270,371426,371806,371832,372048,372233,372469,372527,373270,373834,373861,374227,374251,374346,374348,374968,375087,375406,375443,375507,375510,375517,375520,375528,375542,375544,375554,375556,375561,375574,375577,375618,375721,375722,375725,375757,375777,375783,375796,375797,375801,376138,376150,376164,376166,376179,376204,376207,376210,376236,376237,376239,376240,376872,376888,376930,377082,377086,377099,377100,377360,377509,378196,378437,378438,378441,378444,378464,381773,381921,381922,383005,384660,384689,385696,386272,386283,386336,386342,386348,386405,387341,387761,387787,390386},
	["PET"] = {[47468]=6,[47481]=6,[47482]=6,[47484]=6,[62137]=6,[91776]=6,[91778]=6,[91797]=6,[91800]=6,[91802]=6,[91809]=6,[91837]=6,[91838]=6,[2649]=3,[16827]=3,[17253]=3,[24423]=3,[24450]=3,[26064]=3,[35346]=3,[49966]=3,[50245]=3,[50285]=3,[50433]=3,[54644]=3,[54680]=3,[61684]=3,[65220]=3,[88680]=3,[90328]=3,[90339]=3,[90347]=3,[90361]=3,[92380]=3,[93433]=3,[94019]=3,[94022]=3,[126259]=3,[126311]=3,[126364]=3,[159788]=3,[159953]=3,[160007]=3,[160011]=3,[160018]=3,[160044]=3,[160049]=3,[160057]=3,[160060]=3,[160063]=3,[160065]=3,[160067]=3,[263423]=3,[263446]=3,[263840]=3,[263841]=3,[263852]=3,[263853]=3,[263854]=3,[263856]=3,[263857]=3,[263858]=3,[263861]=3,[263863]=3,[263865]=3,[263867]=3,[263868]=3,[263869]=3,[263887]=3,[263892]=3,[263904]=3,[263916]=3,[263921]=3,[263934]=3,[263939]=3,[264023]=3,[264360]=3,[267922]=3,[279254]=3,[279259]=3,[279336]=3,[279362]=3,[279399]=3,[279410]=3,[280069]=3,[280151]=3,[288962]=3,[341115]=3,[341117]=3,[341118]=3,[344346]=3,[344347]=3,[344348]=3,[344349]=3,[344350]=3,[344351]=3,[344352]=3,[344353]=3,[392622]=3,[36213]=7,[57984]=7,[117588]=7,[118297]=7,[118337]=7,[118345]=7,[157331]=7,[157348]=7,[157375]=7,[3110]=9,[3716]=9,[6358]=9,[6360]=9,[7814]=9,[7870]=9,[17735]=9,[17767]=9,[19505]=9,[19647]=9,[30151]=9,[30153]=9,[30213]=9,[32233]=9,[54049]=9,[89751]=9,[89766]=9,[89792]=9,[89808]=9,[112042]=9,[114355]=9,[115236]=9,[115268]=9,[115276]=9,[115625]=9,[115746]=9,[115748]=9,[115770]=9,[115778]=9,[115781]=9,[115831]=9,[117225]=9,[119899]=9,[134477]=9,[264993]=9},
	["RACIAL"] = {[822]={{10},0},[5227]={{5},0},[6562]={{11},0},[7744]={{5},0},[20549]={{6},0},[20550]={{6},0},[20551]={{6},0},[20552]={{6},0},[20555]={{8},0},[20557]={{8},0},[20572]={{2},45},[20573]={{2},0},[20577]={{5},0},[20579]={{5},0},[20582]={{4},0},[20583]={{4},0},[20585]={{4},0},[20589]={{7},0},[20591]={{7},978},[20592]={{7},0},[20593]={{7},0},[20594]={{3},0},[20596]={{3},0},[20598]={{1},0},[20599]={{1},0},[25046]={{10},8},[26297]={{8},0},[28730]={{10},384},[28875]={{11},0},[28877]={{10},0},[28880]={{11},1},[33697]={{2},576},[33702]={{2},400},[50613]={{10},32},[58943]={{8},0},[58984]={{4},0},[59221]={{11},0},[59224]={{3},0},[59542]={{11},2},[59543]={{11},4},[59544]={{11},16},[59545]={{11},32},[59547]={{11},64},[59548]={{11},128},[59752]={{1},0},[68975]={{22},0},[68976]={{22},0},[68978]={{22},0},[68992]={{22},0},[68996]={{22},0},[69041]={{9},0},[69042]={{9},0},[69044]={{9},0},[69045]={{9},0},[69046]={{9},2047},[69070]={{9},0},[69179]={{10},1},[80483]={{10},4},[87840]={{22},0},[92680]={{7},0},[92682]={{3},0},[94293]={{22},0},[107072]={{24},0},[107073]={{24},0},[107074]={{24},0},[107076]={{24},0},[107079]={{24},8},[121093]={{11},512},[129597]={{10},512},[131701]={{24},0},[154742]={{10},0},[154743]={{6},0},[154744]={{7},520},[154746]={{7},1},[154747]={{7},32},[154748]={{4},0},[155145]={{10},2},[202719]={{10},2048},[227057]={{7},4},[232633]={{10},16},[255647]={{30},0},[255650]={{30},0},[255651]={{30},0},[255652]={{30},0},[255653]={{30},0},[255654]={{28},0},[255655]={{28},0},[255656]={{28},0},[255658]={{28},0},[255659]={{28},0},[255661]={{27},0},[255663]={{27},0},[255664]={{27},0},[255665]={{27},0},[255667]={{29},0},[255668]={{29},0},[255669]={{29},0},[255670]={{29},0},[256948]={{29},0},[259930]={{30},0},[260364]={{27},0},[262438]={{27},0},[262486]={{29},0},[265221]={{34},0},[265222]={{34},0},[265223]={{34},0},[265224]={{34},0},[265225]={{34},0},[273105]={{34},0},[273216]={{36},0},[273217]={{36},0},[273220]={{36},0},[274738]={{36},0},[274743]={{36},0},[281954]={{31},0},[287712]={{32},0},[291417]={{32},0},[291442]={{32},0},[291619]={{31},0},[291622]={{32},0},[291628]={{32},0},[291944]={{31},0},[292489]={{31},0},[292495]={{32},0},[292751]={{31},0},[292752]={{31},0},[312198]={{35},0},[312215]={{35},0},[312370]={{35},0},[312372]={{35},0},[312411]={{35},0},[312425]={{35},0},[312766]={{37},0},[312769]={{35},0},[312890]={{37},0},[312896]={{37},0},[312916]={{37},0},[312923]={{37},0},[312924]={{37},0},[317795]={{35},0},[370626]={{11},8}},
}

local Cache = ClassSpellCache.SpellData

-- Adjustments to the imported cache data:
tinsert(Cache[3], 1, 75) -- Add "Auto Shot" to hunter.

-- Execute issues: see https://wow.curseforge.com/projects/tellmewhen/issues/1633
tinsert(Cache[1], 280735) -- The actual ID for Execute (fury)
tinsert(Cache[1], 281000) -- The actual ID for Execute (arms)

-- Evoker empowered spell issues, see https://github.com/ascott18/TellMeWhen/issues/2017
tinsert(Cache[13], 382614)
tinsert(Cache[13], 382731)
tinsert(Cache[13], 382411)