\n )\n }\n}\n\n","import React from 'react'\nimport { Link } from 'react-router-dom'\nimport { classByName } from '../data/classes'\nimport { Icon } from './Icon'\nimport classNames from 'classnames'\n\ninterface Props {\n /** Name of the selected class, lowercase */\n selected?: string\n}\n\nconst classNameForItem = (c: ClassData, selected: string) => classNames('class-picker__class', {\n 'class-picker__class--active': c.name.toLowerCase() === selected,\n 'class-picker__class--inactive': !!selected && c.name.toLowerCase() !== selected\n})\n\nexport class ClassPicker extends React.PureComponent {\n static whyDidYouRender = true\n\n render() {\n const { selected } = this.props\n\n const cn = classNames('class-picker', {\n 'class-picker--has-selection': !!selected\n })\n \n return (\n
\n {Object.values(classByName).map((c) => \n
\n \n \n \n
\n )}\n
\n )\n }\n}\n","import React from 'react'\nimport { Calculator } from './Calculator'\nimport { ClassPicker } from './ClassPicker'\nimport { match } from 'react-router-dom'\nimport { RouteComponentProps } from 'react-router'\nimport { decodeKnownTalents } from '../lib/tree'\nimport { classByName } from '../data/classes'\n\ninterface Props extends RouteComponentProps {\n match: match<{ \n selectedClass: string\n pointString: string\n }>\n}\n\nexport class IndexRoute extends React.PureComponent {\n static whyDidYouRender = true\n\n componentDidMount() {\n const { selectedClass } = this.props.match.params\n if (selectedClass && !classByName[selectedClass]) {\n this.props.history.replace('/')\n }\n }\n\n render() {\n const { match, history } = this.props\n const { selectedClass, pointString } = match.params\n\n if (selectedClass && !classByName[selectedClass]) {\n return null\n }\n\n return (\n
\n \n \n {selectedClass && \n \n }\n
\n )\n }\n}","import React from 'react'\nimport './App.scss'\nimport { IndexRoute } from './components/IndexRoute'\nimport { BrowserRouter as Router, Route } from 'react-router-dom'\n\nconst App: React.FC = () => {\n return (\n \n
\n \n
\n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\nimport * as serviceWorker from './serviceWorker'\n\nif (process.env.NODE_ENV !== 'production') {\n const whyDidYouRender = require('@welldone-software/why-did-you-render/dist/no-classes-transpile/umd/whyDidYouRender.min.js')\n whyDidYouRender(React)\n}\n\nReactDOM.render(, document.getElementById('root'))\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister()\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/main.3f32f54d.chunk.js b/static/js/main.efad2c29.chunk.js
similarity index 86%
rename from static/js/main.3f32f54d.chunk.js
rename to static/js/main.efad2c29.chunk.js
index ffa23e8..90c23b2 100644
--- a/static/js/main.3f32f54d.chunk.js
+++ b/static/js/main.efad2c29.chunk.js
@@ -1,2 +1,2 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{27:function(r,i,e){r.exports=e(40)},32:function(r,i,e){},33:function(r,i,e){},34:function(r,i,e){},35:function(r,i,e){},40:function(r,i,e){"use strict";e.r(i);var o=e(0),s=e.n(o),n=e(24),l=e.n(n),a=(e(32),e(7)),c=e(8),t=e(10),d=e(9),_=e(11),u=e(14),w=(e(33),e(5)),k=e.n(w),q=(e(34),function(r){var i=r.name,e=r.size,o=void 0===e?"medium":e,n=r.golden,l=void 0!==n&&n,a=r.children,c=k()("icon","icon--".concat(o),{"icon--golden":l}),t={backgroundImage:"url(https://wow.zamimg.com/images/wow/icons/".concat("medium"===o?"large":"medium","/").concat(i,".jpg)")};return s.a.createElement("div",{className:c},s.a.createElement("div",{className:"icon__bg",style:t}),s.a.createElement("div",{className:"icon__frame"}),a)}),p={41:"Fire",61:"Frost",81:"Arcane",161:"Arms",163:"Protection",164:"Fury",181:"Combat",182:"Assassination",183:"Subtlety",201:"Discipline",202:"Holy",203:"Shadow",261:"Elemental",262:"Restoration",263:"Enhancement",281:"Feral Combat",282:"Restoration",283:"Balance",301:"Destruction",302:"Affliction",303:"Demonology",361:"Beast Mastery",362:"Survival",363:"Marksmanship",381:"Retribution",382:"Holy",383:"Protection"},h={41:{26:{id:26,row:0,col:1,icon:"spell_fire_flamebolt",ranks:[11069,12338,12339,12340,12341],requires:[]},30:{id:30,row:0,col:2,icon:"spell_fire_meteorstorm",ranks:[11103,12357,12358,12359,12360],requires:[]},34:{id:34,row:1,col:0,icon:"spell_fire_incinerate",ranks:[11119,11120,12846,12847,12848],requires:[]},28:{id:28,row:1,col:1,icon:"spell_fire_flare",ranks:[11100,12353],requires:[]},27:{id:27,row:1,col:2,icon:"spell_fire_fireball",ranks:[11078,11080,12342],requires:[]},1141:{id:1141,row:2,col:0,icon:"spell_fire_flameshock",ranks:[18459,18460],requires:[]},31:{id:31,row:2,col:1,icon:"spell_fire_selfdestruct",ranks:[11108,12349,12350],requires:[]},29:{id:29,row:2,col:2,icon:"spell_fire_fireball02",ranks:[11366],requires:[]},23:{id:23,row:2,col:3,icon:"spell_fire_fire",ranks:[11083,12351],requires:[]},25:{id:25,row:3,col:0,icon:"spell_fire_soulburn",ranks:[11095,12872,12873],requires:[]},24:{id:24,row:3,col:1,icon:"spell_fire_firearmor",ranks:[11094,13043],requires:[]},1639:{id:1639,row:3,col:3,icon:"spell_fire_masterofelements",ranks:[29074,29075,29076],requires:[]},33:{id:33,row:4,col:1,icon:"spell_nature_wispheal",ranks:[11115,11367,11368],requires:[]},32:{id:32,row:4,col:2,icon:"spell_holy_excorcism_02",ranks:[11113],requires:[{id:29,qty:1}]},35:{id:35,row:5,col:2,icon:"spell_fire_immolation",ranks:[11124,12378,12398,12399,12400],requires:[]},36:{id:36,row:6,col:1,icon:"spell_fire_sealoffire",ranks:[11129],requires:[{id:33,qty:3}]}},61:{70:{id:70,row:0,col:0,icon:"spell_frost_frostward",ranks:[11189,28332],requires:[]},37:{id:37,row:0,col:1,icon:"spell_frost_frostbolt02",ranks:[11070,12473,16763,16765,16766],requires:[]},1649:{id:1649,row:0,col:2,icon:"spell_ice_magicdamage",ranks:[29438,29439,29440],requires:[]},73:{id:73,row:1,col:0,icon:"spell_frost_iceshard",ranks:[11207,12672,15047,15052,15053],requires:[]},38:{id:38,row:1,col:1,icon:"spell_frost_frostarmor",ranks:[11071,12496,12497],requires:[]},62:{id:62,row:1,col:2,icon:"spell_frost_freezingbreath",ranks:[11165,12475],requires:[]},65:{id:65,row:1,col:3,icon:"spell_frost_wisp",ranks:[11175,12569,12571],requires:[]},61:{id:61,row:2,col:0,icon:"spell_frost_frostbolt",ranks:[11151,12952,12953],requires:[]},69:{id:69,row:2,col:1,icon:"spell_frost_wizardmark",ranks:[12472],requires:[]},63:{id:63,row:2,col:3,icon:"spell_frost_icestorm",ranks:[11185,12487,12488],requires:[]},741:{id:741,row:3,col:0,icon:"spell_shadow_darkritual",ranks:[16757,16758],requires:[]},66:{id:66,row:3,col:1,icon:"spell_frost_stun",ranks:[11160,12518,12519],requires:[]},67:{id:67,row:3,col:2,icon:"spell_frost_frostshock",ranks:[11170,12982,12983,12984,12985],requires:[{id:62,qty:2}]},72:{id:72,row:4,col:1,icon:"spell_frost_frost",ranks:[11958],requires:[]},64:{id:64,row:4,col:2,icon:"spell_frost_glacier",ranks:[11190,12489,12490],requires:[]},68:{id:68,row:5,col:2,icon:"spell_frost_chillingblast",ranks:[11180,28592,28593,28594,28595],requires:[]},71:{id:71,row:6,col:1,icon:"spell_ice_lament",ranks:[11426],requires:[{id:72,qty:1}]}},81:{74:{id:74,row:0,col:0,icon:"spell_holy_dispelmagic",ranks:[11210,12592],requires:[]},76:{id:76,row:0,col:1,icon:"spell_holy_devotion",ranks:[11222,12839,12840,12841,12842],requires:[]},80:{id:80,row:0,col:2,icon:"spell_nature_starfall",ranks:[11237,12463,12464,16769,16770],requires:[]},78:{id:78,row:1,col:0,icon:"inv_wand_01",ranks:[6057,6085],requires:[]},1650:{id:1650,row:1,col:1,icon:"spell_nature_astralrecalgroup",ranks:[29441,29444,29445,29446,29447],requires:[]},75:{id:75,row:1,col:2,icon:"spell_shadow_manaburn",ranks:[11213,12574,12575,12576,12577],requires:[]},82:{id:82,row:2,col:0,icon:"spell_nature_abolishmagic",ranks:[11247,12606],requires:[]},81:{id:81,row:2,col:1,icon:"spell_nature_wispsplode",ranks:[11242,12467,12469],requires:[]},85:{id:85,row:2,col:2,icon:"spell_arcane_arcaneresilience",ranks:[28574],requires:[]},83:{id:83,row:3,col:0,icon:"spell_shadow_detectlesserinvisibility",ranks:[11252,12605],requires:[]},88:{id:88,row:3,col:1,icon:"spell_frost_iceshock",ranks:[11255,12598],requires:[]},1142:{id:1142,row:3,col:3,icon:"spell_shadow_siphonmana",ranks:[18462,18463,18464],requires:[]},86:{id:86,row:4,col:1,icon:"spell_nature_enchantarmor",ranks:[12043],requires:[]},77:{id:77,row:4,col:2,icon:"spell_shadow_charm",ranks:[11232,12500,12501,12502,12503],requires:[{id:85,qty:1}]},421:{id:421,row:5,col:1,icon:"spell_shadow_teleport",ranks:[15058,15059,15060],requires:[{id:86,qty:1}]},87:{id:87,row:6,col:1,icon:"spell_nature_lightning",ranks:[12042],requires:[{id:421,qty:3}]}},161:{124:{id:124,row:0,col:0,icon:"ability_rogue_ambush",ranks:[12282,12663,12664],requires:[]},130:{id:130,row:0,col:1,icon:"ability_parry",ranks:[16462,16463,16464,16465,16466],requires:[]},127:{id:127,row:0,col:2,icon:"ability_gouge",ranks:[12286,12658,12659],requires:[]},126:{id:126,row:1,col:0,icon:"ability_warrior_charge",ranks:[12285,12697],requires:[]},641:{id:641,row:1,col:1,icon:"spell_nature_enchantarmor",ranks:[12295,12676,12677,12678,12679],requires:[]},128:{id:128,row:1,col:3,icon:"ability_thunderclap",ranks:[12287,12665,12666],requires:[]},131:{id:131,row:2,col:0,icon:"inv_sword_05",ranks:[12290,12963],requires:[]},137:{id:137,row:2,col:1,icon:"spell_holy_blessingofstamina",ranks:[12296],requires:[{id:641,qty:5}]},121:{id:121,row:2,col:2,icon:"ability_backstab",ranks:[12834,12849,12867],requires:[{id:127,qty:3}]},136:{id:136,row:3,col:1,icon:"inv_axe_09",ranks:[12163,12711,12712,12713,12714],requires:[]},662:{id:662,row:3,col:2,icon:"ability_searingarrow",ranks:[16493,16494],requires:[{id:121,qty:3}]},132:{id:132,row:4,col:0,icon:"inv_axe_06",ranks:[12700,12781,12783,12784,12785],requires:[]},133:{id:133,row:4,col:1,icon:"ability_rogue_slicedice",ranks:[12292],requires:[]},125:{id:125,row:4,col:2,icon:"inv_mace_01",ranks:[12284,12701,12702,12703,12704],requires:[]},123:{id:123,row:4,col:3,icon:"inv_sword_27",ranks:[12281,12812,12813,12814,12815],requires:[]},134:{id:134,row:5,col:0,icon:"inv_weapon_halbard_01",ranks:[12165,12830,12831,12832,12833],requires:[]},129:{id:129,row:5,col:2,icon:"ability_shockwave",ranks:[12289,12668,23695],requires:[]},135:{id:135,row:6,col:1,icon:"ability_warrior_savageblow",ranks:[12294],requires:[{id:133,qty:1}]}},163:{1601:{id:1601,row:0,col:1,icon:"inv_shield_06",ranks:[12298,12724,12725,12726,12727],requires:[]},138:{id:138,row:0,col:2,icon:"spell_nature_mirrorimage",ranks:[12297,12750,12751,12752,12753],requires:[]},142:{id:142,row:1,col:0,icon:"ability_racial_bloodrage",ranks:[12301,12818],requires:[]},140:{id:140,row:1,col:2,icon:"spell_holy_devotion",ranks:[12299,12761,12762,12763,12764],requires:[]},141:{id:141,row:1,col:3,icon:"spell_magic_magearmor",ranks:[12300,12959,12960,12961,12962],requires:[]},153:{id:153,row:2,col:0,icon:"spell_holy_ashestoashes",ranks:[12975],requires:[{id:142,qty:2}]},145:{id:145,row:2,col:1,icon:"ability_defend",ranks:[12945,12307,12944],requires:[{id:1601,qty:5}]},147:{id:147,row:2,col:2,icon:"ability_warrior_revenge",ranks:[12797,12799,12800],requires:[]},144:{id:144,row:2,col:3,icon:"ability_warrior_innerrage",ranks:[12303,12788,12789,12791,12792],requires:[]},146:{id:146,row:3,col:0,icon:"ability_warrior_sunder",ranks:[12308,12810,12811],requires:[]},151:{id:151,row:3,col:1,icon:"ability_warrior_disarm",ranks:[12313,12804,12807],requires:[]},143:{id:143,row:3,col:2,icon:"spell_nature_reincarnation",ranks:[12302,12765],requires:[]},150:{id:150,row:4,col:0,icon:"ability_warrior_shieldwall",ranks:[12312,12803],requires:[]},152:{id:152,row:4,col:1,icon:"ability_thunderbolt",ranks:[12809],requires:[]},149:{id:149,row:4,col:2,icon:"ability_warrior_shieldbash",ranks:[12311,12958],requires:[]},702:{id:702,row:5,col:2,icon:"inv_sword_20",ranks:[16538,16539,16540,16541,16542],requires:[]},148:{id:148,row:6,col:1,icon:"inv_shield_05",ranks:[23922],requires:[{id:152,qty:1}]}},164:{158:{id:158,row:0,col:1,icon:"spell_nature_purge",ranks:[12321,12835,12836,12837,12838],requires:[]},157:{id:157,row:0,col:2,icon:"ability_rogue_eviscerate",ranks:[12320,12852,12853,12855,12856],requires:[]},161:{id:161,row:1,col:1,icon:"ability_warrior_warcry",ranks:[12324,12876,12877,12878,12879],requires:[]},159:{id:159,row:1,col:2,icon:"spell_nature_stoneclawtotem",ranks:[12322,12999,13e3,13001,13002],requires:[]},166:{id:166,row:2,col:0,icon:"ability_warrior_cleave",ranks:[12329,12950,20496],requires:[]},160:{id:160,row:2,col:1,icon:"spell_shadow_deathscream",ranks:[12323],requires:[]},661:{id:661,row:2,col:2,icon:"spell_shadow_summonimp",ranks:[16487,16489,16492],requires:[]},154:{id:154,row:2,col:3,icon:"ability_warrior_battleshout",ranks:[12318,12857,12858,12860,12861],requires:[]},1581:{id:1581,row:3,col:0,icon:"ability_dualwield",ranks:[23584,23585,23586,23587,23588],requires:[]},1542:{id:1542,row:3,col:1,icon:"inv_sword_48",ranks:[20502,20503],requires:[]},155:{id:155,row:3,col:2,icon:"spell_shadow_unholyfrenzy",ranks:[12317,13045,13046,13047,13048],requires:[]},168:{id:168,row:4,col:0,icon:"ability_warrior_decisivestrike",ranks:[12862,12330,20497,20498,20499],requires:[]},165:{id:165,row:4,col:1,icon:"spell_shadow_deathpact",ranks:[12328],requires:[]},1543:{id:1543,row:4,col:3,icon:"ability_rogue_sprint",ranks:[20504,20505],requires:[]},1541:{id:1541,row:5,col:0,icon:"spell_nature_ancestralguardian",ranks:[20500,20501],requires:[]},156:{id:156,row:5,col:2,icon:"ability_ghoulfrenzy",ranks:[12319,12971,12972,12973,12974],requires:[{id:155,qty:5}]},167:{id:167,row:6,col:1,icon:"spell_nature_bloodlust",ranks:[23881],requires:[{id:165,qty:1}]}},181:{203:{id:203,row:0,col:0,icon:"ability_gouge",ranks:[13741,13793,13792],requires:[]},201:{id:201,row:0,col:1,icon:"spell_shadow_ritualofsacrifice",ranks:[13732,13863],requires:[]},186:{id:186,row:0,col:2,icon:"spell_nature_invisibilty",ranks:[13712,13788,13789,13790,13791],requires:[]},202:{id:202,row:1,col:0,icon:"ability_backstab",ranks:[13733,13865,13866],requires:[]},187:{id:187,row:1,col:1,icon:"ability_parry",ranks:[13713,13853,13854,13855,13856],requires:[]},181:{id:181,row:1,col:2,icon:"ability_marksmanship",ranks:[13705,13832,13843,13844,13845],requires:[]},204:{id:204,row:2,col:0,icon:"spell_shadow_shadowward",ranks:[13742,13872],requires:[]},301:{id:301,row:2,col:1,icon:"ability_warrior_challange",ranks:[14251],requires:[{id:187,qty:5}]},222:{id:222,row:2,col:3,icon:"ability_rogue_sprint",ranks:[13743,13875],requires:[]},206:{id:206,row:3,col:0,icon:"ability_kick",ranks:[13754,13867],requires:[]},182:{id:182,row:3,col:1,icon:"inv_weapon_shortblade_05",ranks:[13706,13804,13805,13806,13807],requires:[]},221:{id:221,row:3,col:2,icon:"ability_dualwield",ranks:[13715,13848,13849,13851,13852],requires:[{id:181,qty:5}]},184:{id:184,row:4,col:0,icon:"inv_mace_01",ranks:[13709,13800,13801,13802,13803],requires:[]},223:{id:223,row:4,col:1,icon:"ability_warrior_punishingblow",ranks:[13877],requires:[]},242:{id:242,row:4,col:2,icon:"inv_sword_27",ranks:[13960,13961,13962,13963,13964],requires:[]},183:{id:183,row:4,col:3,icon:"inv_gauntlets_04",ranks:[13707,13966,13967,13968,13969],requires:[]},1703:{id:1703,row:5,col:1,icon:"spell_holy_blessingofstrength",ranks:[30919,30920],requires:[{id:223,qty:1}]},1122:{id:1122,row:5,col:2,icon:"ability_racial_avatar",ranks:[18427,18428,18429],requires:[]},205:{id:205,row:6,col:1,icon:"spell_shadow_shadowworddominate",ranks:[13750],requires:[]}},182:{276:{id:276,row:0,col:0,icon:"ability_rogue_eviscerate",ranks:[14162,14163,14164],requires:[]},272:{id:272,row:0,col:1,icon:"ability_fiegndead",ranks:[14144,14148],requires:[]},270:{id:270,row:0,col:2,icon:"ability_racial_bloodrage",ranks:[14138,14139,14140,14141,14142],requires:[]},273:{id:273,row:1,col:0,icon:"ability_druid_disembowel",ranks:[14156,14160,14161],requires:[]},274:{id:274,row:1,col:1,icon:"spell_shadow_deathscream",ranks:[14158,14159],requires:[]},277:{id:277,row:1,col:3,icon:"ability_rogue_slicedice",ranks:[14165,14166,14167],requires:[]},281:{id:281,row:2,col:0,icon:"ability_warrior_decisivestrike",ranks:[14179],requires:[]},278:{id:278,row:2,col:1,icon:"ability_warrior_riposte",ranks:[14168,14169],requires:[]},269:{id:269,row:2,col:2,icon:"ability_criticalstrike",ranks:[14128,14132,14135,14136,14137],requires:[{id:270,qty:5}]},682:{id:682,row:3,col:1,icon:"ability_rogue_feigndeath",ranks:[16513,16514,16515,16719,16720],requires:[]},268:{id:268,row:3,col:2,icon:"ability_poisons",ranks:[14113,14114,14115,14116,14117],requires:[]},280:{id:280,row:4,col:1,icon:"spell_ice_lament",ranks:[14177],requires:[]},279:{id:279,row:4,col:2,icon:"ability_rogue_kidneyshot",ranks:[14174,14175,14176],requires:[]},283:{id:283,row:5,col:1,icon:"spell_shadow_chilltouch",ranks:[14186,14190,14193,14194,14195],requires:[{id:280,qty:1}]},382:{id:382,row:6,col:1,icon:"spell_nature_earthbindtotem",ranks:[14983],requires:[]}},183:{241:{id:241,row:0,col:1,icon:"spell_shadow_charm",ranks:[13958,13970,13971,13972,13973],requires:[]},261:{id:261,row:0,col:2,icon:"ability_warrior_warcry",ranks:[14057,14072,14073,14074,14075],requires:[]},1700:{id:1700,row:1,col:0,icon:"ability_rogue_feint",ranks:[30892,30893],requires:[]},247:{id:247,row:1,col:1,icon:"spell_magic_lesserinvisibilty",ranks:[13981,14066],requires:[]},244:{id:244,row:1,col:2,icon:"ability_stealth",ranks:[13975,14062,14063,14064,14065],requires:[]},245:{id:245,row:2,col:0,icon:"spell_shadow_fumble",ranks:[13976,13979,13980],requires:[]},303:{id:303,row:2,col:1,icon:"spell_shadow_curse",ranks:[14278],requires:[]},263:{id:263,row:2,col:2,icon:"ability_rogue_ambush",ranks:[14079,14080,14081],requires:[]},246:{id:246,row:3,col:0,icon:"spell_nature_mirrorimage",ranks:[13983,14070,14071],requires:[]},262:{id:262,row:3,col:1,icon:"ability_sap",ranks:[14076,14094,14095],requires:[]},1123:{id:1123,row:3,col:2,icon:"inv_sword_17",ranks:[14171,14172,14173],requires:[]},1701:{id:1701,row:4,col:0,icon:"ability_ambush",ranks:[30894,30895],requires:[]},284:{id:284,row:4,col:1,icon:"spell_shadow_antishadow",ranks:[14185],requires:[]},265:{id:265,row:4,col:2,icon:"spell_shadow_summonsuccubus",ranks:[14082,14083],requires:[]},681:{id:681,row:4,col:3,icon:"spell_shadow_lifedrain",ranks:[16511],requires:[{id:1123,qty:3}]},1702:{id:1702,row:5,col:2,icon:"inv_weapon_crossbow_11",ranks:[30902,30903,30904,30905,30906],requires:[]},381:{id:381,row:6,col:1,icon:"spell_shadow_possession",ranks:[14183],requires:[{id:284,qty:1}]}},201:{342:{id:342,row:0,col:1,icon:"spell_magic_magearmor",ranks:[14522,14788,14789,14790,14791],requires:[]},345:{id:345,row:0,col:2,icon:"inv_wand_01",ranks:[14524,14525,14526,14527,14528],requires:[]},352:{id:352,row:1,col:0,icon:"spell_nature_manaregentotem",ranks:[14523,14784,14785,14786,14787],requires:[]},344:{id:344,row:1,col:1,icon:"spell_holy_wordfortitude",ranks:[14749,14767],requires:[]},343:{id:343,row:1,col:2,icon:"spell_holy_powerwordshield",ranks:[14748,14768,14769],requires:[]},321:{id:321,row:1,col:3,icon:"spell_nature_tranquility",ranks:[14531,14774],requires:[]},348:{id:348,row:2,col:1,icon:"spell_frost_windwalkon",ranks:[14751],requires:[]},347:{id:347,row:2,col:2,icon:"spell_nature_sleep",ranks:[14521,14776,14777],requires:[]},346:{id:346,row:3,col:0,icon:"spell_holy_innerfire",ranks:[14747,14770,14771],requires:[]},341:{id:341,row:3,col:1,icon:"ability_hibernation",ranks:[14520,14780,14781,14782,14783],requires:[]},350:{id:350,row:3,col:3,icon:"spell_shadow_manaburn",ranks:[14750,14772],requires:[]},1201:{id:1201,row:4,col:1,icon:"spell_nature_enchantarmor",ranks:[18551,18552,18553,18554,18555],requires:[]},351:{id:351,row:4,col:2,icon:"spell_holy_divinespirit",ranks:[14752],requires:[{id:347,qty:3}]},1202:{id:1202,row:5,col:2,icon:"spell_nature_slowingtotem",ranks:[18544,18547,18548,18549,18550],requires:[]},322:{id:322,row:6,col:1,icon:"spell_holy_powerinfusion",ranks:[10060],requires:[{id:1201,qty:5}]}},202:{410:{id:410,row:0,col:0,icon:"spell_holy_healingfocus",ranks:[14913,15012],requires:[]},406:{id:406,row:0,col:1,icon:"spell_holy_renew",ranks:[14908,15020,17191],requires:[]},401:{id:401,row:0,col:2,icon:"spell_holy_sealofsalvation",ranks:[14889,15008,15009,15010,15011],requires:[]},411:{id:411,row:1,col:1,icon:"spell_holy_spellwarding",ranks:[27900,27901,27902,27903,27904],requires:[]},1181:{id:1181,row:1,col:2,icon:"spell_holy_sealofwrath",ranks:[18530,18531,18533,18534,18535],requires:[]},442:{id:442,row:2,col:0,icon:"spell_holy_holynova",ranks:[15237],requires:[]},1636:{id:1636,row:2,col:1,icon:"spell_holy_blessedrecovery",ranks:[27811,27815,27816],requires:[]},361:{id:361,row:2,col:3,icon:"spell_holy_layonhands",ranks:[14892,15362,15363],requires:[]},1635:{id:1635,row:3,col:0,icon:"spell_holy_purify",ranks:[27789,27790],requires:[]},408:{id:408,row:3,col:1,icon:"spell_holy_heal02",ranks:[14912,15013,15014],requires:[]},403:{id:403,row:3,col:2,icon:"spell_holy_searinglightpriest",ranks:[14909,15017],requires:[{id:1181,qty:5}]},413:{id:413,row:4,col:0,icon:"spell_holy_prayerofhealing02",ranks:[14911,15018],requires:[]},1561:{id:1561,row:4,col:1,icon:"inv_enchant_essenceeternallarge",ranks:[20711],requires:[]},402:{id:402,row:4,col:2,icon:"spell_holy_spiritualguidence",ranks:[14901,15028,15029,15030,15031],requires:[]},404:{id:404,row:5,col:2,icon:"spell_nature_moonglow",ranks:[14898,15349,15354,15355,15356],requires:[]},1637:{id:1637,row:6,col:1,icon:"spell_holy_summonlightwell",ranks:[724],requires:[{id:1561,qty:1}]}},203:{465:{id:465,row:0,col:1,icon:"spell_shadow_requiem",ranks:[15270,15335,15336,15337,15338],requires:[]},464:{id:464,row:0,col:2,icon:"spell_shadow_gathershadows",ranks:[15268,15323,15324,15325,15326],requires:[]},466:{id:466,row:1,col:0,icon:"spell_shadow_shadowward",ranks:[15318,15272,15320],requires:[]},482:{id:482,row:1,col:1,icon:"spell_shadow_shadowwordpain",ranks:[15275,15317],requires:[]},463:{id:463,row:1,col:2,icon:"spell_shadow_burningspirit",ranks:[15260,15327,15328,15329,15330],requires:[]},542:{id:542,row:2,col:0,icon:"spell_shadow_psychicscream",ranks:[15392,15448],requires:[]},481:{id:481,row:2,col:1,icon:"spell_shadow_unholyfrenzy",ranks:[15273,15312,15313,15314,15316],requires:[]},501:{id:501,row:2,col:2,icon:"spell_shadow_siphonmana",ranks:[15407],requires:[]},483:{id:483,row:3,col:1,icon:"spell_magic_lesserinvisibilty",ranks:[15274,15311],requires:[]},881:{id:881,row:3,col:2,icon:"spell_shadow_chilltouch",ranks:[17322,17323,17325],requires:[]},461:{id:461,row:3,col:3,icon:"spell_shadow_blackplague",ranks:[15257,15331,15332,15333,15334],requires:[]},541:{id:541,row:4,col:0,icon:"spell_shadow_impphaseshift",ranks:[15487],requires:[{id:542,qty:2}]},484:{id:484,row:4,col:1,icon:"spell_shadow_unsummonbuilding",ranks:[15286],requires:[]},1638:{id:1638,row:4,col:2,icon:"spell_shadow_improvedvampiricembrace",ranks:[27839,27840],requires:[{id:484,qty:1}]},462:{id:462,row:5,col:2,icon:"spell_shadow_twilight",ranks:[15259,15307,15308,15309,15310],requires:[]},521:{id:521,row:6,col:1,icon:"spell_shadow_shadowform",ranks:[15473],requires:[{id:484,qty:1}]}},261:{564:{id:564,row:0,col:1,icon:"spell_nature_wispsplode",ranks:[16039,16109,16110,16111,16112],requires:[]},563:{id:563,row:0,col:2,icon:"spell_fire_fireball",ranks:[16035,16105,16106,16107,16108],requires:[]},572:{id:572,row:1,col:0,icon:"spell_nature_stoneclawtotem",ranks:[16043,16130],requires:[]},1640:{id:1640,row:1,col:1,icon:"spell_nature_spiritarmor",ranks:[28996,28997,28998],requires:[]},561:{id:561,row:1,col:2,icon:"spell_fire_immolation",ranks:[16038,16160,16161],requires:[]},574:{id:574,row:2,col:0,icon:"spell_shadow_manaburn",ranks:[16164],requires:[]},575:{id:575,row:2,col:1,icon:"spell_frost_frostward",ranks:[16040,16113,16114,16115,16116],requires:[]},562:{id:562,row:2,col:2,icon:"spell_nature_callstorm",ranks:[16041,16117,16118,16119,16120],requires:[]},567:{id:567,row:3,col:0,icon:"spell_fire_sealoffire",ranks:[16086,16544],requires:[]},1642:{id:1642,row:3,col:1,icon:"spell_nature_eyeofthestorm",ranks:[29062,29064,29065],requires:[]},1645:{id:1645,row:3,col:3,icon:"spell_fire_elementaldevastation",ranks:[30160,29179,29180],requires:[]},1641:{id:1641,row:4,col:0,icon:"spell_nature_stormreach",ranks:[28999,29e3],requires:[]},565:{id:565,row:4,col:1,icon:"spell_fire_volcano",ranks:[16089],requires:[]},721:{id:721,row:5,col:2,icon:"spell_lightning_lightningbolt01",ranks:[16578,16579,16580,16581,16582],requires:[{id:562,qty:5}]},573:{id:573,row:6,col:1,icon:"spell_nature_wispheal",ranks:[16166],requires:[{id:565,qty:1}]}},262:{586:{id:586,row:0,col:1,icon:"spell_nature_magicimmunity",ranks:[16182,16226,16227,16228,16229],requires:[]},593:{id:593,row:0,col:2,icon:"spell_frost_manarecharge",ranks:[16179,16214,16215,16216,16217],requires:[]},589:{id:589,row:1,col:0,icon:"spell_nature_reincarnation",ranks:[16184,16209],requires:[]},581:{id:581,row:1,col:1,icon:"spell_nature_undyingstrength",ranks:[16176,16235,16240],requires:[]},595:{id:595,row:1,col:2,icon:"spell_nature_moonglow",ranks:[16173,16222,16223,16224,16225],requires:[]},583:{id:583,row:2,col:0,icon:"spell_frost_stun",ranks:[16180,16196,16198],requires:[]},587:{id:587,row:2,col:1,icon:"spell_nature_healingwavelesser",ranks:[16181,16230,16232,16233,16234],requires:[]},582:{id:582,row:2,col:2,icon:"spell_nature_nullward",ranks:[16189],requires:[]},1646:{id:1646,row:2,col:3,icon:"spell_nature_healingtouch",ranks:[29187,29189,29191],requires:[]},588:{id:588,row:3,col:1,icon:"spell_nature_manaregentotem",ranks:[16187,16205,16206,16207,16208],requires:[]},594:{id:594,row:3,col:2,icon:"spell_nature_tranquility",ranks:[16194,16218,16219,16220,16221],requires:[]},1648:{id:1648,row:4,col:0,icon:"spell_nature_healingway",ranks:[29206,29205,29202],requires:[]},591:{id:591,row:4,col:2,icon:"spell_nature_ravenform",ranks:[16188],requires:[]},592:{id:592,row:5,col:2,icon:"spell_frost_wizardmark",ranks:[16178,16210,16211,16212,16213],requires:[]},590:{id:590,row:6,col:1,icon:"spell_frost_summonwaterelemental",ranks:[16190],requires:[{id:588,qty:5}]}},263:{614:{id:614,row:0,col:1,icon:"spell_shadow_grimward",ranks:[17485,17486,17487,17488,17489],requires:[]},612:{id:612,row:0,col:2,icon:"inv_shield_06",ranks:[16253,16298,16299,16300,16301],requires:[]},609:{id:609,row:1,col:0,icon:"spell_nature_stoneskintotem",ranks:[16258,16293],requires:[]},613:{id:613,row:1,col:1,icon:"ability_thunderbolt",ranks:[16255,16302,16303,16304,16305],requires:[]},605:{id:605,row:1,col:2,icon:"spell_nature_spiritwolf",ranks:[16262,16287],requires:[]},607:{id:607,row:1,col:3,icon:"spell_nature_lightningshield",ranks:[16261,16290,16291],requires:[]},610:{id:610,row:2,col:0,icon:"spell_nature_earthbindtotem",ranks:[16259,16295],requires:[]},617:{id:617,row:2,col:2,icon:"inv_axe_10",ranks:[16269],requires:[]},601:{id:601,row:2,col:3,icon:"spell_nature_mirrorimage",ranks:[16254,16271,16272,16273,16274],requires:[]},602:{id:602,row:3,col:1,icon:"ability_ghoulfrenzy",ranks:[16256,16281,16282,16283,16284],requires:[{id:613,qty:5}]},615:{id:615,row:3,col:2,icon:"spell_holy_devotion",ranks:[16252,16306,16307,16308,16309],requires:[]},1647:{id:1647,row:4,col:0,icon:"spell_fire_enchantweapon",ranks:[29192,29193],requires:[]},611:{id:611,row:4,col:1,icon:"spell_fire_flametounge",ranks:[16266,29079,29080],requires:[]},616:{id:616,row:4,col:2,icon:"ability_parry",ranks:[16268],requires:[]},1643:{id:1643,row:5,col:2,icon:"ability_hunter_swiftstrike",ranks:[29082,29084,29086,29087,29088],requires:[]},901:{id:901,row:6,col:1,icon:"spell_holy_sealofmight",ranks:[17364],requires:[{id:611,qty:3}]}},281:{796:{id:796,row:0,col:1,icon:"ability_hunter_pet_hyena",ranks:[16934,16935,16936,16937,16938],requires:[]},795:{id:795,row:0,col:2,icon:"ability_druid_demoralizingroar",ranks:[16858,16859,16860,16861,16862],requires:[]},799:{id:799,row:1,col:0,icon:"ability_ambush",ranks:[16947,16948,16949,16950,16951],requires:[]},797:{id:797,row:1,col:1,icon:"ability_druid_bash",ranks:[16940,16941],requires:[]},794:{id:794,row:1,col:2,icon:"inv_misc_pelt_bear_03",ranks:[16929,16930,16931,16932,16933],requires:[]},807:{id:807,row:2,col:0,icon:"spell_nature_spiritwolf",ranks:[17002,24866],requires:[]},804:{id:804,row:2,col:1,icon:"ability_hunter_pet_bear",ranks:[16979],requires:[]},798:{id:798,row:2,col:2,icon:"inv_misc_monsterclaw_04",ranks:[16942,16943,16944],requires:[]},802:{id:802,row:3,col:0,icon:"spell_shadow_vampiricaura",ranks:[16966,16968],requires:[]},803:{id:803,row:3,col:1,icon:"ability_hunter_pet_cat",ranks:[16972,16974,16975],requires:[]},800:{id:800,row:3,col:2,icon:"ability_ghoulfrenzy",ranks:[16952,16954],requires:[{id:798,qty:3}]},801:{id:801,row:3,col:3,icon:"ability_racial_cannibalize",ranks:[16958,16961],requires:[{id:798,qty:3}]},805:{id:805,row:4,col:0,icon:"ability_druid_ravage",ranks:[16998,16999],requires:[]},1162:{id:1162,row:4,col:2,icon:"spell_nature_faeriefire",ranks:[16857],requires:[]},808:{id:808,row:5,col:1,icon:"spell_holy_blessingofagility",ranks:[17003,17004,17005,17006,24894],requires:[{id:803,qty:3}]},809:{id:809,row:6,col:1,icon:"spell_nature_unyeildingstamina",ranks:[17007],requires:[]}},282:{821:{id:821,row:0,col:1,icon:"spell_nature_regeneration",ranks:[17050,17051,17053,17054,17055],requires:[]},822:{id:822,row:0,col:2,icon:"spell_holy_blessingofstamina",ranks:[17056,17058,17059,17060,17061],requires:[]},824:{id:824,row:1,col:0,icon:"spell_nature_healingtouch",ranks:[17069,17070,17071,17072,17073],requires:[]},823:{id:823,row:1,col:1,icon:"spell_nature_healingwavegreater",ranks:[17063,17065,17066,17067,17068],requires:[]},826:{id:826,row:1,col:2,icon:"ability_druid_enrage",ranks:[17079,17082],requires:[]},829:{id:829,row:2,col:1,icon:"spell_frost_windwalkon",ranks:[17106,17107,17108],requires:[]},827:{id:827,row:2,col:2,icon:"spell_nature_insectswarm",ranks:[5570],requires:[]},841:{id:841,row:2,col:3,icon:"ability_eyeoftheowl",ranks:[17118,17119,17120,17121,17122],requires:[]},843:{id:843,row:3,col:1,icon:"spell_holy_elunesgrace",ranks:[24968,24969,24970,24971,24972],requires:[]},830:{id:830,row:3,col:3,icon:"spell_nature_rejuvenation",ranks:[17111,17112,17113],requires:[]},831:{id:831,row:4,col:0,icon:"spell_nature_ravenform",ranks:[17116],requires:[{id:824,qty:5}]},828:{id:828,row:4,col:2,icon:"spell_nature_protectionformnature",ranks:[17104,24943,24944,24945,24946],requires:[{id:827,qty:1}]},842:{id:842,row:4,col:3,icon:"spell_nature_tranquility",ranks:[17123,17124],requires:[]},825:{id:825,row:5,col:2,icon:"spell_nature_resistnature",ranks:[17074,17075,17076,17077,17078],requires:[]},844:{id:844,row:6,col:1,icon:"inv_relics_idolofrejuvenation",ranks:[18562],requires:[{id:843,qty:5}]}},283:{762:{id:762,row:0,col:0,icon:"spell_nature_abolishmagic",ranks:[16814,16815,16816,16817,16818],requires:[]},761:{id:761,row:0,col:1,icon:"spell_nature_natureswrath",ranks:[16689],requires:[]},921:{id:921,row:0,col:2,icon:"spell_nature_natureswrath",ranks:[17245,17247,17248,17249],requires:[{id:761,qty:1}]},787:{id:787,row:1,col:0,icon:"spell_nature_stranglevines",ranks:[16918,16919,16920],requires:[]},763:{id:763,row:1,col:1,icon:"spell_nature_starfall",ranks:[16821,16822,16823,16824,16825],requires:[]},791:{id:791,row:1,col:2,icon:"inv_staff_01",ranks:[16902,16903,16904,16905,16906],requires:[]},781:{id:781,row:1,col:3,icon:"spell_nature_wispsplode",ranks:[16833,16834,16835],requires:[]},782:{id:782,row:2,col:0,icon:"spell_nature_thorns",ranks:[16836,16839,16840],requires:[]},788:{id:788,row:2,col:2,icon:"spell_nature_crystalball",ranks:[16864],requires:[{id:791,qty:5}]},764:{id:764,row:2,col:3,icon:"spell_nature_naturetouchgrow",ranks:[16819,16820],requires:[]},792:{id:792,row:3,col:1,icon:"spell_nature_purge",ranks:[16909,16910,16911,16912,16913],requires:[{id:763,qty:5}]},784:{id:784,row:3,col:2,icon:"spell_arcane_starfire",ranks:[16850,16923,16924,16925,16926],requires:[]},789:{id:789,row:4,col:1,icon:"spell_nature_naturesblessing",ranks:[16880],requires:[]},783:{id:783,row:4,col:2,icon:"spell_nature_sentinal",ranks:[16845,16846,16847],requires:[]},790:{id:790,row:5,col:1,icon:"spell_nature_moonglow",ranks:[16896,16897,16899,16900,16901],requires:[{id:789,qty:1}]},793:{id:793,row:6,col:1,icon:"spell_nature_forceofnature",ranks:[24858],requires:[]}},301:{944:{id:944,row:0,col:1,icon:"spell_shadow_shadowbolt",ranks:[17793,17796,17801,17802,17803],requires:[]},941:{id:941,row:0,col:2,icon:"spell_fire_windsofwoe",ranks:[17778,17779,17780,17781,17782],requires:[]},943:{id:943,row:1,col:1,icon:"spell_shadow_deathpact",ranks:[17788,17789,17790,17791,17792],requires:[]},982:{id:982,row:1,col:2,icon:"spell_fire_fire",ranks:[18119,18120,18121,18122,18123],requires:[]},983:{id:983,row:2,col:0,icon:"spell_fire_firebolt",ranks:[18126,18127],requires:[]},984:{id:984,row:2,col:1,icon:"spell_shadow_curse",ranks:[18128,18129],requires:[]},981:{id:981,row:2,col:2,icon:"spell_fire_flameshock",ranks:[18130,18131,18132,18133,18134],requires:[]},963:{id:963,row:2,col:3,icon:"spell_shadow_scourgebuild",ranks:[17877],requires:[]},985:{id:985,row:3,col:0,icon:"spell_fire_lavaspawn",ranks:[18135,18136],requires:[]},964:{id:964,row:3,col:1,icon:"spell_shadow_corpseexplode",ranks:[17917,17918],requires:[]},965:{id:965,row:3,col:3,icon:"spell_fire_soulburn",ranks:[17927,17929,17930,17931,17932],requires:[]},986:{id:986,row:4,col:0,icon:"spell_fire_volcano",ranks:[18096,18073],requires:[{id:985,qty:2}]},961:{id:961,row:4,col:1,icon:"spell_fire_immolation",ranks:[17815,17833,17834,17835,17836],requires:[]},967:{id:967,row:4,col:2,icon:"spell_shadow_shadowwordpain",ranks:[17959],requires:[{id:981,qty:5}]},966:{id:966,row:5,col:2,icon:"spell_fire_selfdestruct",ranks:[17954,17955,17956,17957,17958],requires:[]},968:{id:968,row:6,col:1,icon:"spell_fire_fireball",ranks:[17962],requires:[{id:961,qty:5}]}},302:{1005:{id:1005,row:0,col:1,icon:"spell_shadow_unsummonbuilding",ranks:[18174,18175,18176,18177,18178],requires:[]},1003:{id:1003,row:0,col:2,icon:"spell_shadow_abominationexplosion",ranks:[17810,17811,17812,17813,17814],requires:[]},1006:{id:1006,row:1,col:0,icon:"spell_shadow_curseofmannoroth",ranks:[18179,18180,18181],requires:[]},1101:{id:1101,row:1,col:1,icon:"spell_shadow_haunting",ranks:[18213,18372],requires:[]},1007:{id:1007,row:1,col:2,icon:"spell_shadow_burningspirit",ranks:[18182,18183],requires:[]},1004:{id:1004,row:1,col:3,icon:"spell_shadow_lifedrain02",ranks:[17804,17805,17806,17807,17808],requires:[]},1284:{id:1284,row:2,col:0,icon:"spell_shadow_curseofsargeras",ranks:[18827,18829,18830],requires:[]},1001:{id:1001,row:2,col:1,icon:"spell_shadow_fingerofdeath",ranks:[17783,17784,17785,17786,17787],requires:[]},1061:{id:1061,row:2,col:2,icon:"spell_shadow_contagion",ranks:[18288],requires:[]},1021:{id:1021,row:3,col:0,icon:"spell_shadow_callofbone",ranks:[18218,18219],requires:[]},1002:{id:1002,row:3,col:1,icon:"spell_shadow_twilight",ranks:[18094,18095],requires:[]},1121:{id:1121,row:3,col:3,icon:"spell_shadow_siphonmana",ranks:[17864,18393],requires:[]},1041:{id:1041,row:4,col:1,icon:"spell_shadow_requiem",ranks:[18265],requires:[]},1081:{id:1081,row:4,col:2,icon:"spell_shadow_grimward",ranks:[18223],requires:[{id:1061,qty:1}]},1082:{id:1082,row:4,col:3,icon:"spell_shadow_grimward",ranks:[18310,18311,18312,18313],requires:[{id:1081,qty:1}]},1042:{id:1042,row:5,col:1,icon:"spell_shadow_shadetruesight",ranks:[18271,18272,18273,18274,18275],requires:[{id:1041,qty:1}]},1022:{id:1022,row:6,col:1,icon:"spell_shadow_darkritual",ranks:[18220],requires:[]}},303:{1221:{id:1221,row:0,col:0,icon:"inv_stone_04",ranks:[18692,18693],requires:[]},1222:{id:1222,row:0,col:1,icon:"spell_shadow_summonimp",ranks:[18694,18695,18696],requires:[]},1223:{id:1223,row:0,col:2,icon:"spell_shadow_metamorphosis",ranks:[18697,18698,18699,18700,18701],requires:[]},1224:{id:1224,row:1,col:0,icon:"spell_shadow_lifedrain",ranks:[18703,18704],requires:[]},1225:{id:1225,row:1,col:1,icon:"spell_shadow_summonvoidwalker",ranks:[18705,18706,18707],requires:[]},1242:{id:1242,row:1,col:2,icon:"spell_holy_magicalsentry",ranks:[18731,18743,18744,18745,18746],requires:[]},1243:{id:1243,row:2,col:0,icon:"spell_shadow_summonsuccubus",ranks:[18754,18755,18756],requires:[]},1226:{id:1226,row:2,col:1,icon:"spell_nature_removecurse",ranks:[18708],requires:[]},1241:{id:1241,row:2,col:2,icon:"spell_shadow_antishadow",ranks:[18748,18749,18750,18751,18752],requires:[]},1227:{id:1227,row:3,col:1,icon:"spell_shadow_impphaseshift",ranks:[18709,18710],requires:[{id:1226,qty:1}]},1262:{id:1262,row:3,col:2,icon:"spell_shadow_shadowworddominate",ranks:[18769,18770,18771,18772,18773],requires:[]},1283:{id:1283,row:4,col:0,icon:"spell_shadow_enslavedemon",ranks:[18821,18822,18823,18824,18825],requires:[]},1281:{id:1281,row:4,col:1,icon:"spell_shadow_psychicscream",ranks:[18788],requires:[]},1261:{id:1261,row:4,col:3,icon:"inv_ammo_firetar",ranks:[18767,18768],requires:[]},1244:{id:1244,row:5,col:2,icon:"spell_shadow_shadowpact",ranks:[23785,23822,23823,23824,23825],requires:[{id:1262,qty:5}]},1282:{id:1282,row:6,col:1,icon:"spell_shadow_gathershadows",ranks:[19028],requires:[{id:1281,qty:1}]},1263:{id:1263,row:6,col:2,icon:"inv_misc_gem_sapphire_01",ranks:[18774,18775],requires:[]}},361:{1382:{id:1382,row:0,col:1,icon:"spell_nature_ravenform",ranks:[19552,19553,19554,19555,19556],requires:[]},1389:{id:1389,row:0,col:2,icon:"spell_nature_reincarnation",ranks:[19583,19584,19585,19586,19587],requires:[]},1624:{id:1624,row:1,col:0,icon:"ability_eyeoftheowl",ranks:[19557,19558],requires:[]},1381:{id:1381,row:1,col:1,icon:"ability_hunter_aspectofthemonkey",ranks:[19549,19550,19551,24386,24387],requires:[]},1395:{id:1395,row:1,col:2,icon:"inv_misc_pelt_bear_03",ranks:[19609,19610,19612],requires:[]},1625:{id:1625,row:1,col:3,icon:"ability_hunter_beastsoothe",ranks:[24443,19575],requires:[]},1384:{id:1384,row:2,col:0,icon:"ability_mount_jungletiger",ranks:[19559,19560],requires:[]},1391:{id:1391,row:2,col:1,icon:"ability_druid_dash",ranks:[19596],requires:[]},1396:{id:1396,row:2,col:2,icon:"ability_bullrush",ranks:[19616,19617,19618,19619,19620],requires:[]},1385:{id:1385,row:3,col:1,icon:"ability_hunter_mendpet",ranks:[19572,19573],requires:[]},1393:{id:1393,row:3,col:2,icon:"inv_misc_monsterclaw_04",ranks:[19598,19599,19600,19601,19602],requires:[]},1388:{id:1388,row:4,col:0,icon:"ability_druid_demoralizingroar",ranks:[19578,20895],requires:[]},1387:{id:1387,row:4,col:1,icon:"ability_devour",ranks:[19577],requires:[]},1390:{id:1390,row:4,col:3,icon:"spell_nature_abolishmagic",ranks:[19590,19592],requires:[]},1397:{id:1397,row:5,col:2,icon:"inv_misc_monsterclaw_03",ranks:[19621,19622,19623,19624,19625],requires:[{id:1393,qty:5}]},1386:{id:1386,row:6,col:1,icon:"ability_druid_ferociousbite",ranks:[19574],requires:[{id:1387,qty:1}]}},362:{1623:{id:1623,row:0,col:0,icon:"inv_misc_head_dragon_black",ranks:[24293,24294,24295],requires:[]},1301:{id:1301,row:0,col:1,icon:"spell_holy_prayerofhealing",ranks:[19151,19152,19153],requires:[]},1311:{id:1311,row:0,col:2,icon:"ability_parry",ranks:[19295,19297,19298,19301,19300],requires:[]},1304:{id:1304,row:1,col:0,icon:"spell_nature_stranglevines",ranks:[19184,19387,19388,19389,19390],requires:[]},1621:{id:1621,row:1,col:1,icon:"ability_racial_bloodrage",ranks:[19159,19160],requires:[]},1305:{id:1305,row:1,col:2,icon:"ability_rogue_trip",ranks:[19228,19232,19233,19234,19235],requires:[]},1306:{id:1306,row:2,col:0,icon:"spell_nature_timestop",ranks:[19239,19245],requires:[]},1622:{id:1622,row:2,col:1,icon:"spell_shadow_twilight",ranks:[19255,19256,19257,19258,19259],requires:[]},1308:{id:1308,row:2,col:2,icon:"ability_whirlwind",ranks:[19263],requires:[]},1322:{id:1322,row:3,col:0,icon:"ability_ensnare",ranks:[19376,19377],requires:[]},1310:{id:1310,row:3,col:1,icon:"ability_kick",ranks:[19290,19294,24283],requires:[]},1309:{id:1309,row:3,col:3,icon:"ability_rogue_feigndeath",ranks:[19286,19287],requires:[]},1321:{id:1321,row:4,col:1,icon:"spell_holy_blessingofstamina",ranks:[19370,19371,19373],requires:[]},1312:{id:1312,row:4,col:2,icon:"ability_warrior_challange",ranks:[19306],requires:[{id:1308,qty:1}]},1303:{id:1303,row:5,col:2,icon:"spell_nature_invisibilty",ranks:[19168,19180,19181,24296,24297],requires:[]},1325:{id:1325,row:6,col:1,icon:"inv_spear_02",ranks:[19386],requires:[{id:1321,qty:3}]}},363:{1341:{id:1341,row:0,col:1,icon:"spell_frost_stun",ranks:[19407,19412,19413,19414,19415],requires:[]},1342:{id:1342,row:0,col:2,icon:"spell_frost_wizardmark",ranks:[19416,19417,19418,19419,19420],requires:[]},1343:{id:1343,row:1,col:1,icon:"ability_hunter_snipershot",ranks:[19421,19422,19423,19424,19425],requires:[]},1344:{id:1344,row:1,col:2,icon:"ability_searingarrow",ranks:[19426,19427,19429,19430,19431],requires:[]},1345:{id:1345,row:2,col:0,icon:"inv_spear_07",ranks:[19434],requires:[]},1346:{id:1346,row:2,col:1,icon:"ability_impalingbolt",ranks:[19454,19455,19456,19457,19458],requires:[]},1352:{id:1352,row:2,col:3,icon:"ability_townwatch",ranks:[19498,19499,19500],requires:[]},1348:{id:1348,row:3,col:1,icon:"ability_hunter_quickshot",ranks:[19464,19465,19466,19467,19468],requires:[]},1349:{id:1349,row:3,col:2,icon:"ability_piercedamage",ranks:[19485,19487,19488,19489,19490],requires:[{id:1344,qty:5}]},1353:{id:1353,row:4,col:0,icon:"ability_golemstormbolt",ranks:[19503],requires:[]},1347:{id:1347,row:4,col:1,icon:"ability_upgrademoonglaive",ranks:[19461,19462,24691],requires:[]},1351:{id:1351,row:4,col:2,icon:"ability_hunter_criticalshot",ranks:[19491,19493,19494],requires:[]},1362:{id:1362,row:5,col:2,icon:"inv_weapon_rifle_06",ranks:[19507,19508,19509,19510,19511],requires:[]},1361:{id:1361,row:6,col:1,icon:"ability_trueshot",ranks:[19506],requires:[{id:1347,qty:3}]}},381:{1401:{id:1401,row:0,col:1,icon:"spell_holy_fistofjustice",ranks:[20042,20045,20046,20047,20048],requires:[]},1407:{id:1407,row:0,col:2,icon:"spell_frost_windwalkon",ranks:[20101,20102,20103,20104,20105],requires:[]},1631:{id:1631,row:1,col:0,icon:"spell_holy_righteousfury",ranks:[25956,25957],requires:[]},1464:{id:1464,row:1,col:1,icon:"spell_holy_holysmite",ranks:[20335,20336,20337],requires:[]},1403:{id:1403,row:1,col:2,icon:"ability_parry",ranks:[20060,20061,20062,20063,20064],requires:[]},1633:{id:1633,row:2,col:0,icon:"spell_holy_vindication",ranks:[9452,26016,26021],requires:[]},1411:{id:1411,row:2,col:1,icon:"spell_holy_retributionaura",ranks:[20117,20118,20119,20120,20121],requires:[]},1481:{id:1481,row:2,col:2,icon:"ability_warrior_innerrage",ranks:[20375],requires:[]},1634:{id:1634,row:2,col:3,icon:"spell_holy_persuitofjustice",ranks:[26022,26023],requires:[]},1632:{id:1632,row:3,col:0,icon:"spell_holy_eyeforaneye",ranks:[9799,25988],requires:[]},1405:{id:1405,row:3,col:2,icon:"spell_holy_auraoflight",ranks:[20091,20092],requires:[]},1410:{id:1410,row:4,col:0,icon:"inv_hammer_04",ranks:[20111,20112,20113],requires:[]},1409:{id:1409,row:4,col:2,icon:"spell_holy_mindvision",ranks:[20218],requires:[]},1402:{id:1402,row:5,col:1,icon:"ability_racial_avatar",ranks:[20049,20056,20057,20058,20059],requires:[{id:1411,qty:5}]},1441:{id:1441,row:6,col:1,icon:"spell_holy_prayerofhealing",ranks:[20066],requires:[]}},382:{1450:{id:1450,row:0,col:1,icon:"ability_golemthunderclap",ranks:[20262,20263,20264,20265,20266],requires:[]},1449:{id:1449,row:0,col:2,icon:"spell_nature_sleep",ranks:[20257,20258,20259,20260,20261],requires:[]},1432:{id:1432,row:1,col:1,icon:"spell_arcane_blink",ranks:[20205,20206,20207,20209,20208],requires:[]},1463:{id:1463,row:1,col:2,icon:"ability_thunderbolt",ranks:[20224,20225,20330,20331,20332],requires:[]},1444:{id:1444,row:2,col:0,icon:"spell_holy_holybolt",ranks:[20237,20238,20239],requires:[]},1435:{id:1435,row:2,col:1,icon:"spell_holy_innerfire",ranks:[26573],requires:[]},1443:{id:1443,row:2,col:2,icon:"spell_holy_layonhands",ranks:[20234,20235],requires:[]},1628:{id:1628,row:2,col:3,icon:"spell_holy_unyieldingfaith",ranks:[9453,25836],requires:[]},1461:{id:1461,row:3,col:1,icon:"spell_holy_greaterheal",ranks:[20210,20212,20213,20214,20215],requires:[]},1446:{id:1446,row:3,col:2,icon:"spell_holy_sealofwisdom",ranks:[20244,20245],requires:[]},1433:{id:1433,row:4,col:1,icon:"spell_holy_heal",ranks:[20216],requires:[{id:1461,qty:5}]},1465:{id:1465,row:4,col:2,icon:"spell_holy_healingaura",ranks:[20359,20360,20361],requires:[]},1627:{id:1627,row:5,col:2,icon:"spell_holy_power",ranks:[5923,5924,5925,5926,25829],requires:[]},1502:{id:1502,row:6,col:1,icon:"spell_holy_searinglight",ranks:[20473],requires:[{id:1433,qty:1}]}},383:{1422:{id:1422,row:0,col:1,icon:"spell_holy_devotionaura",ranks:[20138,20139,20140,20141,20142],requires:[]},1421:{id:1421,row:0,col:2,icon:"ability_defend",ranks:[20127,20130,20135,20136,20137],requires:[]},1630:{id:1630,row:1,col:0,icon:"ability_rogue_ambush",ranks:[20189,20192,20193],requires:[]},1425:{id:1425,row:1,col:1,icon:"spell_holy_sealofprotection",ranks:[20174,20175],requires:[]},1423:{id:1423,row:1,col:3,icon:"spell_holy_devotion",ranks:[20143,20144,20145,20146,20147],requires:[]},1442:{id:1442,row:2,col:0,icon:"spell_magic_magearmor",ranks:[20217],requires:[]},1501:{id:1501,row:2,col:1,icon:"spell_holy_sealoffury",ranks:[20468,20469,20470],requires:[]},1424:{id:1424,row:2,col:2,icon:"inv_shield_06",ranks:[20148,20149,20150],requires:[{id:1421,qty:5}]},1629:{id:1629,row:2,col:3,icon:"spell_magic_lesserinvisibilty",ranks:[20096,20097,20098,20099,20100],requires:[]},1521:{id:1521,row:3,col:1,icon:"spell_holy_sealofmight",ranks:[20487,20488,20489],requires:[]},1626:{id:1626,row:3,col:2,icon:"spell_holy_mindsooth",ranks:[20254,20255,20256],requires:[]},1431:{id:1431,row:4,col:1,icon:"spell_nature_lightningshield",ranks:[20911],requires:[]},1426:{id:1426,row:4,col:2,icon:"spell_holy_blessingofstrength",ranks:[20177,20179,20181,20180,20182],requires:[]},1429:{id:1429,row:5,col:2,icon:"inv_sword_20",ranks:[20196,20197,20198,20199,20200],requires:[]},1430:{id:1430,row:6,col:1,icon:"spell_holy_blessingofprotection",ranks:[20925],requires:[{id:1431,qty:1}]}}},y={},m={},f={};for(var b in h)for(var g in h[b])y[g]=h[b][g],m[b]=Object.values(h[b]),f[g]=parseInt(b,10);var v=e(15),j=e(18),E=[{id:1,name:"Warrior",icon:"class_warrior",specs:[161,164,163]},{id:2,name:"Paladin",icon:"class_paladin",specs:[382,383,381]},{id:3,name:"Hunter",icon:"class_hunter",specs:[361,363,362]},{id:4,name:"Rogue",icon:"class_rogue",specs:[182,181,183]},{id:5,name:"Priest",icon:"class_priest",specs:[201,202,203]},{id:7,name:"Shaman",icon:"class_shaman",specs:[261,263,262]},{id:8,name:"Mage",icon:"class_mage",specs:[81,41,61]},{id:9,name:"Warlock",icon:"class_warlock",specs:[302,303,301]},{id:11,name:"Druid",icon:"class_druid",specs:[283,281,282]}],C=(E.reduce(function(r,i){return Object(j.a)({},r,Object(v.a)({},i.id,i))},{}),E.reduce(function(r,i){return Object(j.a)({},r,Object(v.a)({},i.name.toLowerCase(),i))},{})),O=51,R=function(r,i){return r.row===i.row?r.col-i.col:r.row-i.row};function T(r,i){return Object.values(h[r]).reduce(function(r,e){return r+i.get(e.id,0)},0)}function P(r){return Math.max(0,O-r.reduce(function(r,i){return r+i},0))}function N(r,i){return 0===r.requires.length||r.requires.reduce(function(r,e){return!!r&&i.get(e.id,0)>=e.qty},!0)}var z=function(r,i){return!(r.get(i.id,0)>=i.ranks.length)&&(0!==P(r)&&(!(i.requires.length>0&&!N(i,r))&&!(5*i.row>T(f[i.id],r))))},D=function(r,i,e){return 1===e?function(r,i){var e=r.get(i.id,0);return z(r,i)?r.set(i.id,e+1):r}(r,i):function(r,i){var e=r.get(i.id,0),o=f[i.id];if(0===e)return console.warn("no points to reduce"),r;var s=!1,n=0,l={};r.forEach(function(r,e){var a=h[o][e];if(a&&r>0){s=s||a.requires.some(function(r){return r.id===i.id}),a.row>n&&console.info("new highest row:",a),n=a.row>n?a.row:n;for(var c=a.row;c<7;c++)l[c]=(l[c]||0)+r}});var a=l[n-1],c=5*n;return i.rowd.ranks.length)break;_>0&&(console.log("Spent ".concat(_," in ").concat(d.id)),o=o.set(d.id,_))}}return o}function x(r,i){for(;r[r.length-1]===i;)r=r.slice(0,-1);return r}var I=function(r){var i=r.talent,e=r.specId,o=r.knownTalents,n=r.availablePoints,l=o.get(i.id,0),a=l>0||n>0,c=r.disabled||!a||!function(r,i,e){if(!N(r,e))return!1;var o=T(i,e);return 5*r.row<=o}(i,e,o),t=k()("talent",{"talent--disabled":!!c,"talent--available":!c&&l=i.ranks.length||l>0&&0===n}),d=k()("point-label",{"point-label--enabled":!c});return s.a.createElement("div",{className:t,title:i.ranks[0].toString(),"data-row":i.row,"data-col":i.col,onClick:c?function(){}:function(){return r.onClick(i.id)},onContextMenu:function(e){return r.onRightClick&&r.onRightClick(i.id),e.preventDefault(),!1}},s.a.createElement("div",{className:"talent__status"}),s.a.createElement(q,{name:i.icon,size:"medium"}),a&&!c&&s.a.createElement("div",{className:d},l,"/",i.ranks.length))};I.defaultProps={onClick:function(){},onRightClick:function(){}},I.whyDidYouRender=!0;e(35);var L=function(r){var i=r.from,e=r.to,o=r.active,n=void 0!==o&&o,l=e.row===i.row?Math.abs(e.col-i.col):e.row-i.row,a={"data-col":i.col,"data-row":i.row,"data-length":l},c=k()("arrow",{"arrow--active":n,"arrow--down":e.row>i.row,"arrow--right":e.row===i.row&&e.col>i.col,"arrow--left":e.row===i.row&&e.col0}).map(function(r){return s.a.createElement(L,{key:r.id,from:y[r.requires[0].id],to:r,active:e.get(r.id,0)>0||z(e,r)})});return s.a.createElement("div",{className:"tree"},s.a.createElement("div",{className:"tree__header"},s.a.createElement("h3",null,p[i]," (",T(i,e),")")),s.a.createElement("div",{className:"tree__body",style:d},a.map(function(r){return s.a.createElement(I,{key:r.id,specId:i,talent:r,availablePoints:n,knownTalents:e,onClick:c,onRightClick:t})}),_))};M.whyDidYouRender=!0;var A=Object(u.a)(),H=function(r){function i(){var r,e;Object(a.a)(this,i);for(var o=arguments.length,s=new Array(o),n=0;n0?"-":"",e+=x(m[n].sort(R).map(function(i){return r.get(i.id,0)}).join(""),"0")}return x(e,"-")}(r,i);this.props.history.replace("/".concat(i)+(e?"/".concat(e):""))}},{key:"render",value:function(){var r=this,i=this.props.selectedClass,e=this.state.knownTalents,o=C[i],n=P(e);return s.a.createElement("div",{className:"calculator"},s.a.createElement("div",{className:"trees"},o.specs.map(function(i){return s.a.createElement(M,{key:i,specId:i,availablePoints:n,knownTalents:e,onTalentPress:r.handleTalentPress})})),s.a.createElement("div",{className:"calculator__points"},"Points: ",n),s.a.createElement("div",null,s.a.createElement("a",{href:"/shaman/-5505000055523051-55"},"Shaman test"),s.a.createElement("a",{href:"/shaman/-5595000055523051-55"},"Shaman test broken")))}}]),i}(s.a.PureComponent);H.whyDidYouRender=!0;var U=e(16),Y=function(r,i){return k()("class-picker__class",{"class-picker__class--active":r.name.toLowerCase()===i,"class-picker__class--inactive":!!i&&r.name.toLowerCase()!==i})},B=function(r){function i(){return Object(a.a)(this,i),Object(t.a)(this,Object(d.a)(i).apply(this,arguments))}return Object(_.a)(i,r),Object(c.a)(i,[{key:"render",value:function(){var r=this.props.selected,i=k()("class-picker",{"class-picker--has-selection":!!r});return s.a.createElement("ul",{className:i},Object.values(C).map(function(i){return s.a.createElement("li",{key:i.id,className:Y(i,r)},s.a.createElement(U.b,{to:"/".concat(i.name.toLowerCase()),title:i.name},s.a.createElement(q,{name:i.icon,golden:r===i.name.toLowerCase()})))}))}}]),i}(s.a.PureComponent);B.whyDidYouRender=!0;var F=function(r){function i(){return Object(a.a)(this,i),Object(t.a)(this,Object(d.a)(i).apply(this,arguments))}return Object(_.a)(i,r),Object(c.a)(i,[{key:"componentDidMount",value:function(){var r=this.props.match.params.selectedClass;r&&!C[r]&&this.props.history.replace("/")}},{key:"render",value:function(){var r=this.props,i=r.match,e=r.history,o=i.params,n=o.selectedClass,l=o.pointString;return n&&!C[n]?null:s.a.createElement("div",{className:"index"},s.a.createElement(B,{selected:n}),n&&s.a.createElement(H,{initialTalents:l&&S(l,n),selectedClass:n,history:e}))}}]),i}(s.a.PureComponent);F.whyDidYouRender=!0;var W=e(6),J=function(){return s.a.createElement(U.a,null,s.a.createElement("div",{className:"App"},s.a.createElement(W.a,{path:"/:selectedClass?/:pointString?",component:F})))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));l.a.render(s.a.createElement(J,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(r){r.unregister()})}},[[27,1,2]]]);
-//# sourceMappingURL=main.3f32f54d.chunk.js.map
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{27:function(r,e,i){r.exports=i(40)},32:function(r,e,i){},33:function(r,e,i){},34:function(r,e,i){},35:function(r,e,i){},40:function(r,e,i){"use strict";i.r(e);var o=i(0),s=i.n(o),n=i(24),l=i.n(n),a=(i(32),i(7)),c=i(8),t=i(10),d=i(9),_=i(11),u=i(14),w=(i(33),i(5)),k=i.n(w),q=(i(34),function(r){var e=r.name,i=r.size,o=void 0===i?"medium":i,n=r.golden,l=void 0!==n&&n,a=r.children,c=k()("icon","icon--".concat(o),{"icon--golden":l}),t={backgroundImage:"url(https://wow.zamimg.com/images/wow/icons/".concat("medium"===o?"large":"medium","/").concat(e,".jpg)")};return s.a.createElement("div",{className:c},s.a.createElement("div",{className:"icon__bg",style:t}),s.a.createElement("div",{className:"icon__frame"}),a)}),p={41:"Fire",61:"Frost",81:"Arcane",161:"Arms",163:"Protection",164:"Fury",181:"Combat",182:"Assassination",183:"Subtlety",201:"Discipline",202:"Holy",203:"Shadow",261:"Elemental",262:"Restoration",263:"Enhancement",281:"Feral Combat",282:"Restoration",283:"Balance",301:"Destruction",302:"Affliction",303:"Demonology",361:"Beast Mastery",362:"Survival",363:"Marksmanship",381:"Retribution",382:"Holy",383:"Protection"},h={41:{26:{id:26,row:0,col:1,icon:"spell_fire_flamebolt",ranks:[11069,12338,12339,12340,12341],requires:[]},30:{id:30,row:0,col:2,icon:"spell_fire_meteorstorm",ranks:[11103,12357,12358,12359,12360],requires:[]},34:{id:34,row:1,col:0,icon:"spell_fire_incinerate",ranks:[11119,11120,12846,12847,12848],requires:[]},28:{id:28,row:1,col:1,icon:"spell_fire_flare",ranks:[11100,12353],requires:[]},27:{id:27,row:1,col:2,icon:"spell_fire_fireball",ranks:[11078,11080,12342],requires:[]},1141:{id:1141,row:2,col:0,icon:"spell_fire_flameshock",ranks:[18459,18460],requires:[]},31:{id:31,row:2,col:1,icon:"spell_fire_selfdestruct",ranks:[11108,12349,12350],requires:[]},29:{id:29,row:2,col:2,icon:"spell_fire_fireball02",ranks:[11366],requires:[]},23:{id:23,row:2,col:3,icon:"spell_fire_fire",ranks:[11083,12351],requires:[]},25:{id:25,row:3,col:0,icon:"spell_fire_soulburn",ranks:[11095,12872,12873],requires:[]},24:{id:24,row:3,col:1,icon:"spell_fire_firearmor",ranks:[11094,13043],requires:[]},1639:{id:1639,row:3,col:3,icon:"spell_fire_masterofelements",ranks:[29074,29075,29076],requires:[]},33:{id:33,row:4,col:1,icon:"spell_nature_wispheal",ranks:[11115,11367,11368],requires:[]},32:{id:32,row:4,col:2,icon:"spell_holy_excorcism_02",ranks:[11113],requires:[{id:29,qty:1}]},35:{id:35,row:5,col:2,icon:"spell_fire_immolation",ranks:[11124,12378,12398,12399,12400],requires:[]},36:{id:36,row:6,col:1,icon:"spell_fire_sealoffire",ranks:[11129],requires:[{id:33,qty:3}]}},61:{70:{id:70,row:0,col:0,icon:"spell_frost_frostward",ranks:[11189,28332],requires:[]},37:{id:37,row:0,col:1,icon:"spell_frost_frostbolt02",ranks:[11070,12473,16763,16765,16766],requires:[]},1649:{id:1649,row:0,col:2,icon:"spell_ice_magicdamage",ranks:[29438,29439,29440],requires:[]},73:{id:73,row:1,col:0,icon:"spell_frost_iceshard",ranks:[11207,12672,15047,15052,15053],requires:[]},38:{id:38,row:1,col:1,icon:"spell_frost_frostarmor",ranks:[11071,12496,12497],requires:[]},62:{id:62,row:1,col:2,icon:"spell_frost_freezingbreath",ranks:[11165,12475],requires:[]},65:{id:65,row:1,col:3,icon:"spell_frost_wisp",ranks:[11175,12569,12571],requires:[]},61:{id:61,row:2,col:0,icon:"spell_frost_frostbolt",ranks:[11151,12952,12953],requires:[]},69:{id:69,row:2,col:1,icon:"spell_frost_wizardmark",ranks:[12472],requires:[]},63:{id:63,row:2,col:3,icon:"spell_frost_icestorm",ranks:[11185,12487,12488],requires:[]},741:{id:741,row:3,col:0,icon:"spell_shadow_darkritual",ranks:[16757,16758],requires:[]},66:{id:66,row:3,col:1,icon:"spell_frost_stun",ranks:[11160,12518,12519],requires:[]},67:{id:67,row:3,col:2,icon:"spell_frost_frostshock",ranks:[11170,12982,12983,12984,12985],requires:[{id:62,qty:2}]},72:{id:72,row:4,col:1,icon:"spell_frost_frost",ranks:[11958],requires:[]},64:{id:64,row:4,col:2,icon:"spell_frost_glacier",ranks:[11190,12489,12490],requires:[]},68:{id:68,row:5,col:2,icon:"spell_frost_chillingblast",ranks:[11180,28592,28593,28594,28595],requires:[]},71:{id:71,row:6,col:1,icon:"spell_ice_lament",ranks:[11426],requires:[{id:72,qty:1}]}},81:{74:{id:74,row:0,col:0,icon:"spell_holy_dispelmagic",ranks:[11210,12592],requires:[]},76:{id:76,row:0,col:1,icon:"spell_holy_devotion",ranks:[11222,12839,12840,12841,12842],requires:[]},80:{id:80,row:0,col:2,icon:"spell_nature_starfall",ranks:[11237,12463,12464,16769,16770],requires:[]},78:{id:78,row:1,col:0,icon:"inv_wand_01",ranks:[6057,6085],requires:[]},1650:{id:1650,row:1,col:1,icon:"spell_nature_astralrecalgroup",ranks:[29441,29444,29445,29446,29447],requires:[]},75:{id:75,row:1,col:2,icon:"spell_shadow_manaburn",ranks:[11213,12574,12575,12576,12577],requires:[]},82:{id:82,row:2,col:0,icon:"spell_nature_abolishmagic",ranks:[11247,12606],requires:[]},81:{id:81,row:2,col:1,icon:"spell_nature_wispsplode",ranks:[11242,12467,12469],requires:[]},85:{id:85,row:2,col:2,icon:"spell_arcane_arcaneresilience",ranks:[28574],requires:[]},83:{id:83,row:3,col:0,icon:"spell_shadow_detectlesserinvisibility",ranks:[11252,12605],requires:[]},88:{id:88,row:3,col:1,icon:"spell_frost_iceshock",ranks:[11255,12598],requires:[]},1142:{id:1142,row:3,col:3,icon:"spell_shadow_siphonmana",ranks:[18462,18463,18464],requires:[]},86:{id:86,row:4,col:1,icon:"spell_nature_enchantarmor",ranks:[12043],requires:[]},77:{id:77,row:4,col:2,icon:"spell_shadow_charm",ranks:[11232,12500,12501,12502,12503],requires:[{id:85,qty:1}]},421:{id:421,row:5,col:1,icon:"spell_shadow_teleport",ranks:[15058,15059,15060],requires:[{id:86,qty:1}]},87:{id:87,row:6,col:1,icon:"spell_nature_lightning",ranks:[12042],requires:[{id:421,qty:3}]}},161:{124:{id:124,row:0,col:0,icon:"ability_rogue_ambush",ranks:[12282,12663,12664],requires:[]},130:{id:130,row:0,col:1,icon:"ability_parry",ranks:[16462,16463,16464,16465,16466],requires:[]},127:{id:127,row:0,col:2,icon:"ability_gouge",ranks:[12286,12658,12659],requires:[]},126:{id:126,row:1,col:0,icon:"ability_warrior_charge",ranks:[12285,12697],requires:[]},641:{id:641,row:1,col:1,icon:"spell_nature_enchantarmor",ranks:[12295,12676,12677,12678,12679],requires:[]},128:{id:128,row:1,col:3,icon:"ability_thunderclap",ranks:[12287,12665,12666],requires:[]},131:{id:131,row:2,col:0,icon:"inv_sword_05",ranks:[12290,12963],requires:[]},137:{id:137,row:2,col:1,icon:"spell_holy_blessingofstamina",ranks:[12296],requires:[{id:641,qty:5}]},121:{id:121,row:2,col:2,icon:"ability_backstab",ranks:[12834,12849,12867],requires:[{id:127,qty:3}]},136:{id:136,row:3,col:1,icon:"inv_axe_09",ranks:[12163,12711,12712,12713,12714],requires:[]},662:{id:662,row:3,col:2,icon:"ability_searingarrow",ranks:[16493,16494],requires:[{id:121,qty:3}]},132:{id:132,row:4,col:0,icon:"inv_axe_06",ranks:[12700,12781,12783,12784,12785],requires:[]},133:{id:133,row:4,col:1,icon:"ability_rogue_slicedice",ranks:[12292],requires:[]},125:{id:125,row:4,col:2,icon:"inv_mace_01",ranks:[12284,12701,12702,12703,12704],requires:[]},123:{id:123,row:4,col:3,icon:"inv_sword_27",ranks:[12281,12812,12813,12814,12815],requires:[]},134:{id:134,row:5,col:0,icon:"inv_weapon_halbard_01",ranks:[12165,12830,12831,12832,12833],requires:[]},129:{id:129,row:5,col:2,icon:"ability_shockwave",ranks:[12289,12668,23695],requires:[]},135:{id:135,row:6,col:1,icon:"ability_warrior_savageblow",ranks:[12294],requires:[{id:133,qty:1}]}},163:{1601:{id:1601,row:0,col:1,icon:"inv_shield_06",ranks:[12298,12724,12725,12726,12727],requires:[]},138:{id:138,row:0,col:2,icon:"spell_nature_mirrorimage",ranks:[12297,12750,12751,12752,12753],requires:[]},142:{id:142,row:1,col:0,icon:"ability_racial_bloodrage",ranks:[12301,12818],requires:[]},140:{id:140,row:1,col:2,icon:"spell_holy_devotion",ranks:[12299,12761,12762,12763,12764],requires:[]},141:{id:141,row:1,col:3,icon:"spell_magic_magearmor",ranks:[12300,12959,12960,12961,12962],requires:[]},153:{id:153,row:2,col:0,icon:"spell_holy_ashestoashes",ranks:[12975],requires:[{id:142,qty:2}]},145:{id:145,row:2,col:1,icon:"ability_defend",ranks:[12945,12307,12944],requires:[{id:1601,qty:5}]},147:{id:147,row:2,col:2,icon:"ability_warrior_revenge",ranks:[12797,12799,12800],requires:[]},144:{id:144,row:2,col:3,icon:"ability_warrior_innerrage",ranks:[12303,12788,12789,12791,12792],requires:[]},146:{id:146,row:3,col:0,icon:"ability_warrior_sunder",ranks:[12308,12810,12811],requires:[]},151:{id:151,row:3,col:1,icon:"ability_warrior_disarm",ranks:[12313,12804,12807],requires:[]},143:{id:143,row:3,col:2,icon:"spell_nature_reincarnation",ranks:[12302,12765],requires:[]},150:{id:150,row:4,col:0,icon:"ability_warrior_shieldwall",ranks:[12312,12803],requires:[]},152:{id:152,row:4,col:1,icon:"ability_thunderbolt",ranks:[12809],requires:[]},149:{id:149,row:4,col:2,icon:"ability_warrior_shieldbash",ranks:[12311,12958],requires:[]},702:{id:702,row:5,col:2,icon:"inv_sword_20",ranks:[16538,16539,16540,16541,16542],requires:[]},148:{id:148,row:6,col:1,icon:"inv_shield_05",ranks:[23922],requires:[{id:152,qty:1}]}},164:{158:{id:158,row:0,col:1,icon:"spell_nature_purge",ranks:[12321,12835,12836,12837,12838],requires:[]},157:{id:157,row:0,col:2,icon:"ability_rogue_eviscerate",ranks:[12320,12852,12853,12855,12856],requires:[]},161:{id:161,row:1,col:1,icon:"ability_warrior_warcry",ranks:[12324,12876,12877,12878,12879],requires:[]},159:{id:159,row:1,col:2,icon:"spell_nature_stoneclawtotem",ranks:[12322,12999,13e3,13001,13002],requires:[]},166:{id:166,row:2,col:0,icon:"ability_warrior_cleave",ranks:[12329,12950,20496],requires:[]},160:{id:160,row:2,col:1,icon:"spell_shadow_deathscream",ranks:[12323],requires:[]},661:{id:661,row:2,col:2,icon:"spell_shadow_summonimp",ranks:[16487,16489,16492],requires:[]},154:{id:154,row:2,col:3,icon:"ability_warrior_battleshout",ranks:[12318,12857,12858,12860,12861],requires:[]},1581:{id:1581,row:3,col:0,icon:"ability_dualwield",ranks:[23584,23585,23586,23587,23588],requires:[]},1542:{id:1542,row:3,col:1,icon:"inv_sword_48",ranks:[20502,20503],requires:[]},155:{id:155,row:3,col:2,icon:"spell_shadow_unholyfrenzy",ranks:[12317,13045,13046,13047,13048],requires:[]},168:{id:168,row:4,col:0,icon:"ability_warrior_decisivestrike",ranks:[12862,12330,20497,20498,20499],requires:[]},165:{id:165,row:4,col:1,icon:"spell_shadow_deathpact",ranks:[12328],requires:[]},1543:{id:1543,row:4,col:3,icon:"ability_rogue_sprint",ranks:[20504,20505],requires:[]},1541:{id:1541,row:5,col:0,icon:"spell_nature_ancestralguardian",ranks:[20500,20501],requires:[]},156:{id:156,row:5,col:2,icon:"ability_ghoulfrenzy",ranks:[12319,12971,12972,12973,12974],requires:[{id:155,qty:5}]},167:{id:167,row:6,col:1,icon:"spell_nature_bloodlust",ranks:[23881],requires:[{id:165,qty:1}]}},181:{203:{id:203,row:0,col:0,icon:"ability_gouge",ranks:[13741,13793,13792],requires:[]},201:{id:201,row:0,col:1,icon:"spell_shadow_ritualofsacrifice",ranks:[13732,13863],requires:[]},186:{id:186,row:0,col:2,icon:"spell_nature_invisibilty",ranks:[13712,13788,13789,13790,13791],requires:[]},202:{id:202,row:1,col:0,icon:"ability_backstab",ranks:[13733,13865,13866],requires:[]},187:{id:187,row:1,col:1,icon:"ability_parry",ranks:[13713,13853,13854,13855,13856],requires:[]},181:{id:181,row:1,col:2,icon:"ability_marksmanship",ranks:[13705,13832,13843,13844,13845],requires:[]},204:{id:204,row:2,col:0,icon:"spell_shadow_shadowward",ranks:[13742,13872],requires:[]},301:{id:301,row:2,col:1,icon:"ability_warrior_challange",ranks:[14251],requires:[{id:187,qty:5}]},222:{id:222,row:2,col:3,icon:"ability_rogue_sprint",ranks:[13743,13875],requires:[]},206:{id:206,row:3,col:0,icon:"ability_kick",ranks:[13754,13867],requires:[]},182:{id:182,row:3,col:1,icon:"inv_weapon_shortblade_05",ranks:[13706,13804,13805,13806,13807],requires:[]},221:{id:221,row:3,col:2,icon:"ability_dualwield",ranks:[13715,13848,13849,13851,13852],requires:[{id:181,qty:5}]},184:{id:184,row:4,col:0,icon:"inv_mace_01",ranks:[13709,13800,13801,13802,13803],requires:[]},223:{id:223,row:4,col:1,icon:"ability_warrior_punishingblow",ranks:[13877],requires:[]},242:{id:242,row:4,col:2,icon:"inv_sword_27",ranks:[13960,13961,13962,13963,13964],requires:[]},183:{id:183,row:4,col:3,icon:"inv_gauntlets_04",ranks:[13707,13966,13967,13968,13969],requires:[]},1703:{id:1703,row:5,col:1,icon:"spell_holy_blessingofstrength",ranks:[30919,30920],requires:[{id:223,qty:1}]},1122:{id:1122,row:5,col:2,icon:"ability_racial_avatar",ranks:[18427,18428,18429],requires:[]},205:{id:205,row:6,col:1,icon:"spell_shadow_shadowworddominate",ranks:[13750],requires:[]}},182:{276:{id:276,row:0,col:0,icon:"ability_rogue_eviscerate",ranks:[14162,14163,14164],requires:[]},272:{id:272,row:0,col:1,icon:"ability_fiegndead",ranks:[14144,14148],requires:[]},270:{id:270,row:0,col:2,icon:"ability_racial_bloodrage",ranks:[14138,14139,14140,14141,14142],requires:[]},273:{id:273,row:1,col:0,icon:"ability_druid_disembowel",ranks:[14156,14160,14161],requires:[]},274:{id:274,row:1,col:1,icon:"spell_shadow_deathscream",ranks:[14158,14159],requires:[]},277:{id:277,row:1,col:3,icon:"ability_rogue_slicedice",ranks:[14165,14166,14167],requires:[]},281:{id:281,row:2,col:0,icon:"ability_warrior_decisivestrike",ranks:[14179],requires:[]},278:{id:278,row:2,col:1,icon:"ability_warrior_riposte",ranks:[14168,14169],requires:[]},269:{id:269,row:2,col:2,icon:"ability_criticalstrike",ranks:[14128,14132,14135,14136,14137],requires:[{id:270,qty:5}]},682:{id:682,row:3,col:1,icon:"ability_rogue_feigndeath",ranks:[16513,16514,16515,16719,16720],requires:[]},268:{id:268,row:3,col:2,icon:"ability_poisons",ranks:[14113,14114,14115,14116,14117],requires:[]},280:{id:280,row:4,col:1,icon:"spell_ice_lament",ranks:[14177],requires:[]},279:{id:279,row:4,col:2,icon:"ability_rogue_kidneyshot",ranks:[14174,14175,14176],requires:[]},283:{id:283,row:5,col:1,icon:"spell_shadow_chilltouch",ranks:[14186,14190,14193,14194,14195],requires:[{id:280,qty:1}]},382:{id:382,row:6,col:1,icon:"spell_nature_earthbindtotem",ranks:[14983],requires:[]}},183:{241:{id:241,row:0,col:1,icon:"spell_shadow_charm",ranks:[13958,13970,13971,13972,13973],requires:[]},261:{id:261,row:0,col:2,icon:"ability_warrior_warcry",ranks:[14057,14072,14073,14074,14075],requires:[]},1700:{id:1700,row:1,col:0,icon:"ability_rogue_feint",ranks:[30892,30893],requires:[]},247:{id:247,row:1,col:1,icon:"spell_magic_lesserinvisibilty",ranks:[13981,14066],requires:[]},244:{id:244,row:1,col:2,icon:"ability_stealth",ranks:[13975,14062,14063,14064,14065],requires:[]},245:{id:245,row:2,col:0,icon:"spell_shadow_fumble",ranks:[13976,13979,13980],requires:[]},303:{id:303,row:2,col:1,icon:"spell_shadow_curse",ranks:[14278],requires:[]},263:{id:263,row:2,col:2,icon:"ability_rogue_ambush",ranks:[14079,14080,14081],requires:[]},246:{id:246,row:3,col:0,icon:"spell_nature_mirrorimage",ranks:[13983,14070,14071],requires:[]},262:{id:262,row:3,col:1,icon:"ability_sap",ranks:[14076,14094,14095],requires:[]},1123:{id:1123,row:3,col:2,icon:"inv_sword_17",ranks:[14171,14172,14173],requires:[]},1701:{id:1701,row:4,col:0,icon:"ability_ambush",ranks:[30894,30895],requires:[]},284:{id:284,row:4,col:1,icon:"spell_shadow_antishadow",ranks:[14185],requires:[]},265:{id:265,row:4,col:2,icon:"spell_shadow_summonsuccubus",ranks:[14082,14083],requires:[]},681:{id:681,row:4,col:3,icon:"spell_shadow_lifedrain",ranks:[16511],requires:[{id:1123,qty:3}]},1702:{id:1702,row:5,col:2,icon:"inv_weapon_crossbow_11",ranks:[30902,30903,30904,30905,30906],requires:[]},381:{id:381,row:6,col:1,icon:"spell_shadow_possession",ranks:[14183],requires:[{id:284,qty:1}]}},201:{342:{id:342,row:0,col:1,icon:"spell_magic_magearmor",ranks:[14522,14788,14789,14790,14791],requires:[]},345:{id:345,row:0,col:2,icon:"inv_wand_01",ranks:[14524,14525,14526,14527,14528],requires:[]},352:{id:352,row:1,col:0,icon:"spell_nature_manaregentotem",ranks:[14523,14784,14785,14786,14787],requires:[]},344:{id:344,row:1,col:1,icon:"spell_holy_wordfortitude",ranks:[14749,14767],requires:[]},343:{id:343,row:1,col:2,icon:"spell_holy_powerwordshield",ranks:[14748,14768,14769],requires:[]},321:{id:321,row:1,col:3,icon:"spell_nature_tranquility",ranks:[14531,14774],requires:[]},348:{id:348,row:2,col:1,icon:"spell_frost_windwalkon",ranks:[14751],requires:[]},347:{id:347,row:2,col:2,icon:"spell_nature_sleep",ranks:[14521,14776,14777],requires:[]},346:{id:346,row:3,col:0,icon:"spell_holy_innerfire",ranks:[14747,14770,14771],requires:[]},341:{id:341,row:3,col:1,icon:"ability_hibernation",ranks:[14520,14780,14781,14782,14783],requires:[]},350:{id:350,row:3,col:3,icon:"spell_shadow_manaburn",ranks:[14750,14772],requires:[]},1201:{id:1201,row:4,col:1,icon:"spell_nature_enchantarmor",ranks:[18551,18552,18553,18554,18555],requires:[]},351:{id:351,row:4,col:2,icon:"spell_holy_divinespirit",ranks:[14752],requires:[{id:347,qty:3}]},1202:{id:1202,row:5,col:2,icon:"spell_nature_slowingtotem",ranks:[18544,18547,18548,18549,18550],requires:[]},322:{id:322,row:6,col:1,icon:"spell_holy_powerinfusion",ranks:[10060],requires:[{id:1201,qty:5}]}},202:{410:{id:410,row:0,col:0,icon:"spell_holy_healingfocus",ranks:[14913,15012],requires:[]},406:{id:406,row:0,col:1,icon:"spell_holy_renew",ranks:[14908,15020,17191],requires:[]},401:{id:401,row:0,col:2,icon:"spell_holy_sealofsalvation",ranks:[14889,15008,15009,15010,15011],requires:[]},411:{id:411,row:1,col:1,icon:"spell_holy_spellwarding",ranks:[27900,27901,27902,27903,27904],requires:[]},1181:{id:1181,row:1,col:2,icon:"spell_holy_sealofwrath",ranks:[18530,18531,18533,18534,18535],requires:[]},442:{id:442,row:2,col:0,icon:"spell_holy_holynova",ranks:[15237],requires:[]},1636:{id:1636,row:2,col:1,icon:"spell_holy_blessedrecovery",ranks:[27811,27815,27816],requires:[]},361:{id:361,row:2,col:3,icon:"spell_holy_layonhands",ranks:[14892,15362,15363],requires:[]},1635:{id:1635,row:3,col:0,icon:"spell_holy_purify",ranks:[27789,27790],requires:[]},408:{id:408,row:3,col:1,icon:"spell_holy_heal02",ranks:[14912,15013,15014],requires:[]},403:{id:403,row:3,col:2,icon:"spell_holy_searinglightpriest",ranks:[14909,15017],requires:[{id:1181,qty:5}]},413:{id:413,row:4,col:0,icon:"spell_holy_prayerofhealing02",ranks:[14911,15018],requires:[]},1561:{id:1561,row:4,col:1,icon:"inv_enchant_essenceeternallarge",ranks:[20711],requires:[]},402:{id:402,row:4,col:2,icon:"spell_holy_spiritualguidence",ranks:[14901,15028,15029,15030,15031],requires:[]},404:{id:404,row:5,col:2,icon:"spell_nature_moonglow",ranks:[14898,15349,15354,15355,15356],requires:[]},1637:{id:1637,row:6,col:1,icon:"spell_holy_summonlightwell",ranks:[724],requires:[{id:1561,qty:1}]}},203:{465:{id:465,row:0,col:1,icon:"spell_shadow_requiem",ranks:[15270,15335,15336,15337,15338],requires:[]},464:{id:464,row:0,col:2,icon:"spell_shadow_gathershadows",ranks:[15268,15323,15324,15325,15326],requires:[]},466:{id:466,row:1,col:0,icon:"spell_shadow_shadowward",ranks:[15318,15272,15320],requires:[]},482:{id:482,row:1,col:1,icon:"spell_shadow_shadowwordpain",ranks:[15275,15317],requires:[]},463:{id:463,row:1,col:2,icon:"spell_shadow_burningspirit",ranks:[15260,15327,15328,15329,15330],requires:[]},542:{id:542,row:2,col:0,icon:"spell_shadow_psychicscream",ranks:[15392,15448],requires:[]},481:{id:481,row:2,col:1,icon:"spell_shadow_unholyfrenzy",ranks:[15273,15312,15313,15314,15316],requires:[]},501:{id:501,row:2,col:2,icon:"spell_shadow_siphonmana",ranks:[15407],requires:[]},483:{id:483,row:3,col:1,icon:"spell_magic_lesserinvisibilty",ranks:[15274,15311],requires:[]},881:{id:881,row:3,col:2,icon:"spell_shadow_chilltouch",ranks:[17322,17323,17325],requires:[]},461:{id:461,row:3,col:3,icon:"spell_shadow_blackplague",ranks:[15257,15331,15332,15333,15334],requires:[]},541:{id:541,row:4,col:0,icon:"spell_shadow_impphaseshift",ranks:[15487],requires:[{id:542,qty:2}]},484:{id:484,row:4,col:1,icon:"spell_shadow_unsummonbuilding",ranks:[15286],requires:[]},1638:{id:1638,row:4,col:2,icon:"spell_shadow_improvedvampiricembrace",ranks:[27839,27840],requires:[{id:484,qty:1}]},462:{id:462,row:5,col:2,icon:"spell_shadow_twilight",ranks:[15259,15307,15308,15309,15310],requires:[]},521:{id:521,row:6,col:1,icon:"spell_shadow_shadowform",ranks:[15473],requires:[{id:484,qty:1}]}},261:{564:{id:564,row:0,col:1,icon:"spell_nature_wispsplode",ranks:[16039,16109,16110,16111,16112],requires:[]},563:{id:563,row:0,col:2,icon:"spell_fire_fireball",ranks:[16035,16105,16106,16107,16108],requires:[]},572:{id:572,row:1,col:0,icon:"spell_nature_stoneclawtotem",ranks:[16043,16130],requires:[]},1640:{id:1640,row:1,col:1,icon:"spell_nature_spiritarmor",ranks:[28996,28997,28998],requires:[]},561:{id:561,row:1,col:2,icon:"spell_fire_immolation",ranks:[16038,16160,16161],requires:[]},574:{id:574,row:2,col:0,icon:"spell_shadow_manaburn",ranks:[16164],requires:[]},575:{id:575,row:2,col:1,icon:"spell_frost_frostward",ranks:[16040,16113,16114,16115,16116],requires:[]},562:{id:562,row:2,col:2,icon:"spell_nature_callstorm",ranks:[16041,16117,16118,16119,16120],requires:[]},567:{id:567,row:3,col:0,icon:"spell_fire_sealoffire",ranks:[16086,16544],requires:[]},1642:{id:1642,row:3,col:1,icon:"spell_nature_eyeofthestorm",ranks:[29062,29064,29065],requires:[]},1645:{id:1645,row:3,col:3,icon:"spell_fire_elementaldevastation",ranks:[30160,29179,29180],requires:[]},1641:{id:1641,row:4,col:0,icon:"spell_nature_stormreach",ranks:[28999,29e3],requires:[]},565:{id:565,row:4,col:1,icon:"spell_fire_volcano",ranks:[16089],requires:[]},721:{id:721,row:5,col:2,icon:"spell_lightning_lightningbolt01",ranks:[16578,16579,16580,16581,16582],requires:[{id:562,qty:5}]},573:{id:573,row:6,col:1,icon:"spell_nature_wispheal",ranks:[16166],requires:[{id:565,qty:1}]}},262:{586:{id:586,row:0,col:1,icon:"spell_nature_magicimmunity",ranks:[16182,16226,16227,16228,16229],requires:[]},593:{id:593,row:0,col:2,icon:"spell_frost_manarecharge",ranks:[16179,16214,16215,16216,16217],requires:[]},589:{id:589,row:1,col:0,icon:"spell_nature_reincarnation",ranks:[16184,16209],requires:[]},581:{id:581,row:1,col:1,icon:"spell_nature_undyingstrength",ranks:[16176,16235,16240],requires:[]},595:{id:595,row:1,col:2,icon:"spell_nature_moonglow",ranks:[16173,16222,16223,16224,16225],requires:[]},583:{id:583,row:2,col:0,icon:"spell_frost_stun",ranks:[16180,16196,16198],requires:[]},587:{id:587,row:2,col:1,icon:"spell_nature_healingwavelesser",ranks:[16181,16230,16232,16233,16234],requires:[]},582:{id:582,row:2,col:2,icon:"spell_nature_nullward",ranks:[16189],requires:[]},1646:{id:1646,row:2,col:3,icon:"spell_nature_healingtouch",ranks:[29187,29189,29191],requires:[]},588:{id:588,row:3,col:1,icon:"spell_nature_manaregentotem",ranks:[16187,16205,16206,16207,16208],requires:[]},594:{id:594,row:3,col:2,icon:"spell_nature_tranquility",ranks:[16194,16218,16219,16220,16221],requires:[]},1648:{id:1648,row:4,col:0,icon:"spell_nature_healingway",ranks:[29206,29205,29202],requires:[]},591:{id:591,row:4,col:2,icon:"spell_nature_ravenform",ranks:[16188],requires:[]},592:{id:592,row:5,col:2,icon:"spell_frost_wizardmark",ranks:[16178,16210,16211,16212,16213],requires:[]},590:{id:590,row:6,col:1,icon:"spell_frost_summonwaterelemental",ranks:[16190],requires:[{id:588,qty:5}]}},263:{614:{id:614,row:0,col:1,icon:"spell_shadow_grimward",ranks:[17485,17486,17487,17488,17489],requires:[]},612:{id:612,row:0,col:2,icon:"inv_shield_06",ranks:[16253,16298,16299,16300,16301],requires:[]},609:{id:609,row:1,col:0,icon:"spell_nature_stoneskintotem",ranks:[16258,16293],requires:[]},613:{id:613,row:1,col:1,icon:"ability_thunderbolt",ranks:[16255,16302,16303,16304,16305],requires:[]},605:{id:605,row:1,col:2,icon:"spell_nature_spiritwolf",ranks:[16262,16287],requires:[]},607:{id:607,row:1,col:3,icon:"spell_nature_lightningshield",ranks:[16261,16290,16291],requires:[]},610:{id:610,row:2,col:0,icon:"spell_nature_earthbindtotem",ranks:[16259,16295],requires:[]},617:{id:617,row:2,col:2,icon:"inv_axe_10",ranks:[16269],requires:[]},601:{id:601,row:2,col:3,icon:"spell_nature_mirrorimage",ranks:[16254,16271,16272,16273,16274],requires:[]},602:{id:602,row:3,col:1,icon:"ability_ghoulfrenzy",ranks:[16256,16281,16282,16283,16284],requires:[{id:613,qty:5}]},615:{id:615,row:3,col:2,icon:"spell_holy_devotion",ranks:[16252,16306,16307,16308,16309],requires:[]},1647:{id:1647,row:4,col:0,icon:"spell_fire_enchantweapon",ranks:[29192,29193],requires:[]},611:{id:611,row:4,col:1,icon:"spell_fire_flametounge",ranks:[16266,29079,29080],requires:[]},616:{id:616,row:4,col:2,icon:"ability_parry",ranks:[16268],requires:[]},1643:{id:1643,row:5,col:2,icon:"ability_hunter_swiftstrike",ranks:[29082,29084,29086,29087,29088],requires:[]},901:{id:901,row:6,col:1,icon:"spell_holy_sealofmight",ranks:[17364],requires:[{id:611,qty:3}]}},281:{796:{id:796,row:0,col:1,icon:"ability_hunter_pet_hyena",ranks:[16934,16935,16936,16937,16938],requires:[]},795:{id:795,row:0,col:2,icon:"ability_druid_demoralizingroar",ranks:[16858,16859,16860,16861,16862],requires:[]},799:{id:799,row:1,col:0,icon:"ability_ambush",ranks:[16947,16948,16949,16950,16951],requires:[]},797:{id:797,row:1,col:1,icon:"ability_druid_bash",ranks:[16940,16941],requires:[]},794:{id:794,row:1,col:2,icon:"inv_misc_pelt_bear_03",ranks:[16929,16930,16931,16932,16933],requires:[]},807:{id:807,row:2,col:0,icon:"spell_nature_spiritwolf",ranks:[17002,24866],requires:[]},804:{id:804,row:2,col:1,icon:"ability_hunter_pet_bear",ranks:[16979],requires:[]},798:{id:798,row:2,col:2,icon:"inv_misc_monsterclaw_04",ranks:[16942,16943,16944],requires:[]},802:{id:802,row:3,col:0,icon:"spell_shadow_vampiricaura",ranks:[16966,16968],requires:[]},803:{id:803,row:3,col:1,icon:"ability_hunter_pet_cat",ranks:[16972,16974,16975],requires:[]},800:{id:800,row:3,col:2,icon:"ability_ghoulfrenzy",ranks:[16952,16954],requires:[{id:798,qty:3}]},801:{id:801,row:3,col:3,icon:"ability_racial_cannibalize",ranks:[16958,16961],requires:[{id:798,qty:3}]},805:{id:805,row:4,col:0,icon:"ability_druid_ravage",ranks:[16998,16999],requires:[]},1162:{id:1162,row:4,col:2,icon:"spell_nature_faeriefire",ranks:[16857],requires:[]},808:{id:808,row:5,col:1,icon:"spell_holy_blessingofagility",ranks:[17003,17004,17005,17006,24894],requires:[{id:803,qty:3}]},809:{id:809,row:6,col:1,icon:"spell_nature_unyeildingstamina",ranks:[17007],requires:[]}},282:{821:{id:821,row:0,col:1,icon:"spell_nature_regeneration",ranks:[17050,17051,17053,17054,17055],requires:[]},822:{id:822,row:0,col:2,icon:"spell_holy_blessingofstamina",ranks:[17056,17058,17059,17060,17061],requires:[]},824:{id:824,row:1,col:0,icon:"spell_nature_healingtouch",ranks:[17069,17070,17071,17072,17073],requires:[]},823:{id:823,row:1,col:1,icon:"spell_nature_healingwavegreater",ranks:[17063,17065,17066,17067,17068],requires:[]},826:{id:826,row:1,col:2,icon:"ability_druid_enrage",ranks:[17079,17082],requires:[]},829:{id:829,row:2,col:1,icon:"spell_frost_windwalkon",ranks:[17106,17107,17108],requires:[]},827:{id:827,row:2,col:2,icon:"spell_nature_insectswarm",ranks:[5570],requires:[]},841:{id:841,row:2,col:3,icon:"ability_eyeoftheowl",ranks:[17118,17119,17120,17121,17122],requires:[]},843:{id:843,row:3,col:1,icon:"spell_holy_elunesgrace",ranks:[24968,24969,24970,24971,24972],requires:[]},830:{id:830,row:3,col:3,icon:"spell_nature_rejuvenation",ranks:[17111,17112,17113],requires:[]},831:{id:831,row:4,col:0,icon:"spell_nature_ravenform",ranks:[17116],requires:[{id:824,qty:5}]},828:{id:828,row:4,col:2,icon:"spell_nature_protectionformnature",ranks:[17104,24943,24944,24945,24946],requires:[{id:827,qty:1}]},842:{id:842,row:4,col:3,icon:"spell_nature_tranquility",ranks:[17123,17124],requires:[]},825:{id:825,row:5,col:2,icon:"spell_nature_resistnature",ranks:[17074,17075,17076,17077,17078],requires:[]},844:{id:844,row:6,col:1,icon:"inv_relics_idolofrejuvenation",ranks:[18562],requires:[{id:843,qty:5}]}},283:{762:{id:762,row:0,col:0,icon:"spell_nature_abolishmagic",ranks:[16814,16815,16816,16817,16818],requires:[]},761:{id:761,row:0,col:1,icon:"spell_nature_natureswrath",ranks:[16689],requires:[]},921:{id:921,row:0,col:2,icon:"spell_nature_natureswrath",ranks:[17245,17247,17248,17249],requires:[{id:761,qty:1}]},787:{id:787,row:1,col:0,icon:"spell_nature_stranglevines",ranks:[16918,16919,16920],requires:[]},763:{id:763,row:1,col:1,icon:"spell_nature_starfall",ranks:[16821,16822,16823,16824,16825],requires:[]},791:{id:791,row:1,col:2,icon:"inv_staff_01",ranks:[16902,16903,16904,16905,16906],requires:[]},781:{id:781,row:1,col:3,icon:"spell_nature_wispsplode",ranks:[16833,16834,16835],requires:[]},782:{id:782,row:2,col:0,icon:"spell_nature_thorns",ranks:[16836,16839,16840],requires:[]},788:{id:788,row:2,col:2,icon:"spell_nature_crystalball",ranks:[16864],requires:[{id:791,qty:5}]},764:{id:764,row:2,col:3,icon:"spell_nature_naturetouchgrow",ranks:[16819,16820],requires:[]},792:{id:792,row:3,col:1,icon:"spell_nature_purge",ranks:[16909,16910,16911,16912,16913],requires:[{id:763,qty:5}]},784:{id:784,row:3,col:2,icon:"spell_arcane_starfire",ranks:[16850,16923,16924,16925,16926],requires:[]},789:{id:789,row:4,col:1,icon:"spell_nature_naturesblessing",ranks:[16880],requires:[]},783:{id:783,row:4,col:2,icon:"spell_nature_sentinal",ranks:[16845,16846,16847],requires:[]},790:{id:790,row:5,col:1,icon:"spell_nature_moonglow",ranks:[16896,16897,16899,16900,16901],requires:[{id:789,qty:1}]},793:{id:793,row:6,col:1,icon:"spell_nature_forceofnature",ranks:[24858],requires:[]}},301:{944:{id:944,row:0,col:1,icon:"spell_shadow_shadowbolt",ranks:[17793,17796,17801,17802,17803],requires:[]},941:{id:941,row:0,col:2,icon:"spell_fire_windsofwoe",ranks:[17778,17779,17780,17781,17782],requires:[]},943:{id:943,row:1,col:1,icon:"spell_shadow_deathpact",ranks:[17788,17789,17790,17791,17792],requires:[]},982:{id:982,row:1,col:2,icon:"spell_fire_fire",ranks:[18119,18120,18121,18122,18123],requires:[]},983:{id:983,row:2,col:0,icon:"spell_fire_firebolt",ranks:[18126,18127],requires:[]},984:{id:984,row:2,col:1,icon:"spell_shadow_curse",ranks:[18128,18129],requires:[]},981:{id:981,row:2,col:2,icon:"spell_fire_flameshock",ranks:[18130,18131,18132,18133,18134],requires:[]},963:{id:963,row:2,col:3,icon:"spell_shadow_scourgebuild",ranks:[17877],requires:[]},985:{id:985,row:3,col:0,icon:"spell_fire_lavaspawn",ranks:[18135,18136],requires:[]},964:{id:964,row:3,col:1,icon:"spell_shadow_corpseexplode",ranks:[17917,17918],requires:[]},965:{id:965,row:3,col:3,icon:"spell_fire_soulburn",ranks:[17927,17929,17930,17931,17932],requires:[]},986:{id:986,row:4,col:0,icon:"spell_fire_volcano",ranks:[18096,18073],requires:[{id:985,qty:2}]},961:{id:961,row:4,col:1,icon:"spell_fire_immolation",ranks:[17815,17833,17834,17835,17836],requires:[]},967:{id:967,row:4,col:2,icon:"spell_shadow_shadowwordpain",ranks:[17959],requires:[{id:981,qty:5}]},966:{id:966,row:5,col:2,icon:"spell_fire_selfdestruct",ranks:[17954,17955,17956,17957,17958],requires:[]},968:{id:968,row:6,col:1,icon:"spell_fire_fireball",ranks:[17962],requires:[{id:961,qty:5}]}},302:{1005:{id:1005,row:0,col:1,icon:"spell_shadow_unsummonbuilding",ranks:[18174,18175,18176,18177,18178],requires:[]},1003:{id:1003,row:0,col:2,icon:"spell_shadow_abominationexplosion",ranks:[17810,17811,17812,17813,17814],requires:[]},1006:{id:1006,row:1,col:0,icon:"spell_shadow_curseofmannoroth",ranks:[18179,18180,18181],requires:[]},1101:{id:1101,row:1,col:1,icon:"spell_shadow_haunting",ranks:[18213,18372],requires:[]},1007:{id:1007,row:1,col:2,icon:"spell_shadow_burningspirit",ranks:[18182,18183],requires:[]},1004:{id:1004,row:1,col:3,icon:"spell_shadow_lifedrain02",ranks:[17804,17805,17806,17807,17808],requires:[]},1284:{id:1284,row:2,col:0,icon:"spell_shadow_curseofsargeras",ranks:[18827,18829,18830],requires:[]},1001:{id:1001,row:2,col:1,icon:"spell_shadow_fingerofdeath",ranks:[17783,17784,17785,17786,17787],requires:[]},1061:{id:1061,row:2,col:2,icon:"spell_shadow_contagion",ranks:[18288],requires:[]},1021:{id:1021,row:3,col:0,icon:"spell_shadow_callofbone",ranks:[18218,18219],requires:[]},1002:{id:1002,row:3,col:1,icon:"spell_shadow_twilight",ranks:[18094,18095],requires:[]},1121:{id:1121,row:3,col:3,icon:"spell_shadow_siphonmana",ranks:[17864,18393],requires:[]},1041:{id:1041,row:4,col:1,icon:"spell_shadow_requiem",ranks:[18265],requires:[]},1081:{id:1081,row:4,col:2,icon:"spell_shadow_grimward",ranks:[18223],requires:[{id:1061,qty:1}]},1082:{id:1082,row:4,col:3,icon:"spell_shadow_grimward",ranks:[18310,18311,18312,18313],requires:[{id:1081,qty:1}]},1042:{id:1042,row:5,col:1,icon:"spell_shadow_shadetruesight",ranks:[18271,18272,18273,18274,18275],requires:[{id:1041,qty:1}]},1022:{id:1022,row:6,col:1,icon:"spell_shadow_darkritual",ranks:[18220],requires:[]}},303:{1221:{id:1221,row:0,col:0,icon:"inv_stone_04",ranks:[18692,18693],requires:[]},1222:{id:1222,row:0,col:1,icon:"spell_shadow_summonimp",ranks:[18694,18695,18696],requires:[]},1223:{id:1223,row:0,col:2,icon:"spell_shadow_metamorphosis",ranks:[18697,18698,18699,18700,18701],requires:[]},1224:{id:1224,row:1,col:0,icon:"spell_shadow_lifedrain",ranks:[18703,18704],requires:[]},1225:{id:1225,row:1,col:1,icon:"spell_shadow_summonvoidwalker",ranks:[18705,18706,18707],requires:[]},1242:{id:1242,row:1,col:2,icon:"spell_holy_magicalsentry",ranks:[18731,18743,18744,18745,18746],requires:[]},1243:{id:1243,row:2,col:0,icon:"spell_shadow_summonsuccubus",ranks:[18754,18755,18756],requires:[]},1226:{id:1226,row:2,col:1,icon:"spell_nature_removecurse",ranks:[18708],requires:[]},1241:{id:1241,row:2,col:2,icon:"spell_shadow_antishadow",ranks:[18748,18749,18750,18751,18752],requires:[]},1227:{id:1227,row:3,col:1,icon:"spell_shadow_impphaseshift",ranks:[18709,18710],requires:[{id:1226,qty:1}]},1262:{id:1262,row:3,col:2,icon:"spell_shadow_shadowworddominate",ranks:[18769,18770,18771,18772,18773],requires:[]},1283:{id:1283,row:4,col:0,icon:"spell_shadow_enslavedemon",ranks:[18821,18822,18823,18824,18825],requires:[]},1281:{id:1281,row:4,col:1,icon:"spell_shadow_psychicscream",ranks:[18788],requires:[]},1261:{id:1261,row:4,col:3,icon:"inv_ammo_firetar",ranks:[18767,18768],requires:[]},1244:{id:1244,row:5,col:2,icon:"spell_shadow_shadowpact",ranks:[23785,23822,23823,23824,23825],requires:[{id:1262,qty:5}]},1282:{id:1282,row:6,col:1,icon:"spell_shadow_gathershadows",ranks:[19028],requires:[{id:1281,qty:1}]},1263:{id:1263,row:6,col:2,icon:"inv_misc_gem_sapphire_01",ranks:[18774,18775],requires:[]}},361:{1382:{id:1382,row:0,col:1,icon:"spell_nature_ravenform",ranks:[19552,19553,19554,19555,19556],requires:[]},1389:{id:1389,row:0,col:2,icon:"spell_nature_reincarnation",ranks:[19583,19584,19585,19586,19587],requires:[]},1624:{id:1624,row:1,col:0,icon:"ability_eyeoftheowl",ranks:[19557,19558],requires:[]},1381:{id:1381,row:1,col:1,icon:"ability_hunter_aspectofthemonkey",ranks:[19549,19550,19551,24386,24387],requires:[]},1395:{id:1395,row:1,col:2,icon:"inv_misc_pelt_bear_03",ranks:[19609,19610,19612],requires:[]},1625:{id:1625,row:1,col:3,icon:"ability_hunter_beastsoothe",ranks:[24443,19575],requires:[]},1384:{id:1384,row:2,col:0,icon:"ability_mount_jungletiger",ranks:[19559,19560],requires:[]},1391:{id:1391,row:2,col:1,icon:"ability_druid_dash",ranks:[19596],requires:[]},1396:{id:1396,row:2,col:2,icon:"ability_bullrush",ranks:[19616,19617,19618,19619,19620],requires:[]},1385:{id:1385,row:3,col:1,icon:"ability_hunter_mendpet",ranks:[19572,19573],requires:[]},1393:{id:1393,row:3,col:2,icon:"inv_misc_monsterclaw_04",ranks:[19598,19599,19600,19601,19602],requires:[]},1388:{id:1388,row:4,col:0,icon:"ability_druid_demoralizingroar",ranks:[19578,20895],requires:[]},1387:{id:1387,row:4,col:1,icon:"ability_devour",ranks:[19577],requires:[]},1390:{id:1390,row:4,col:3,icon:"spell_nature_abolishmagic",ranks:[19590,19592],requires:[]},1397:{id:1397,row:5,col:2,icon:"inv_misc_monsterclaw_03",ranks:[19621,19622,19623,19624,19625],requires:[{id:1393,qty:5}]},1386:{id:1386,row:6,col:1,icon:"ability_druid_ferociousbite",ranks:[19574],requires:[{id:1387,qty:1}]}},362:{1623:{id:1623,row:0,col:0,icon:"inv_misc_head_dragon_black",ranks:[24293,24294,24295],requires:[]},1301:{id:1301,row:0,col:1,icon:"spell_holy_prayerofhealing",ranks:[19151,19152,19153],requires:[]},1311:{id:1311,row:0,col:2,icon:"ability_parry",ranks:[19295,19297,19298,19301,19300],requires:[]},1304:{id:1304,row:1,col:0,icon:"spell_nature_stranglevines",ranks:[19184,19387,19388,19389,19390],requires:[]},1621:{id:1621,row:1,col:1,icon:"ability_racial_bloodrage",ranks:[19159,19160],requires:[]},1305:{id:1305,row:1,col:2,icon:"ability_rogue_trip",ranks:[19228,19232,19233,19234,19235],requires:[]},1306:{id:1306,row:2,col:0,icon:"spell_nature_timestop",ranks:[19239,19245],requires:[]},1622:{id:1622,row:2,col:1,icon:"spell_shadow_twilight",ranks:[19255,19256,19257,19258,19259],requires:[]},1308:{id:1308,row:2,col:2,icon:"ability_whirlwind",ranks:[19263],requires:[]},1322:{id:1322,row:3,col:0,icon:"ability_ensnare",ranks:[19376,19377],requires:[]},1310:{id:1310,row:3,col:1,icon:"ability_kick",ranks:[19290,19294,24283],requires:[]},1309:{id:1309,row:3,col:3,icon:"ability_rogue_feigndeath",ranks:[19286,19287],requires:[]},1321:{id:1321,row:4,col:1,icon:"spell_holy_blessingofstamina",ranks:[19370,19371,19373],requires:[]},1312:{id:1312,row:4,col:2,icon:"ability_warrior_challange",ranks:[19306],requires:[{id:1308,qty:1}]},1303:{id:1303,row:5,col:2,icon:"spell_nature_invisibilty",ranks:[19168,19180,19181,24296,24297],requires:[]},1325:{id:1325,row:6,col:1,icon:"inv_spear_02",ranks:[19386],requires:[{id:1321,qty:3}]}},363:{1341:{id:1341,row:0,col:1,icon:"spell_frost_stun",ranks:[19407,19412,19413,19414,19415],requires:[]},1342:{id:1342,row:0,col:2,icon:"spell_frost_wizardmark",ranks:[19416,19417,19418,19419,19420],requires:[]},1343:{id:1343,row:1,col:1,icon:"ability_hunter_snipershot",ranks:[19421,19422,19423,19424,19425],requires:[]},1344:{id:1344,row:1,col:2,icon:"ability_searingarrow",ranks:[19426,19427,19429,19430,19431],requires:[]},1345:{id:1345,row:2,col:0,icon:"inv_spear_07",ranks:[19434],requires:[]},1346:{id:1346,row:2,col:1,icon:"ability_impalingbolt",ranks:[19454,19455,19456,19457,19458],requires:[]},1352:{id:1352,row:2,col:3,icon:"ability_townwatch",ranks:[19498,19499,19500],requires:[]},1348:{id:1348,row:3,col:1,icon:"ability_hunter_quickshot",ranks:[19464,19465,19466,19467,19468],requires:[]},1349:{id:1349,row:3,col:2,icon:"ability_piercedamage",ranks:[19485,19487,19488,19489,19490],requires:[{id:1344,qty:5}]},1353:{id:1353,row:4,col:0,icon:"ability_golemstormbolt",ranks:[19503],requires:[]},1347:{id:1347,row:4,col:1,icon:"ability_upgrademoonglaive",ranks:[19461,19462,24691],requires:[]},1351:{id:1351,row:4,col:2,icon:"ability_hunter_criticalshot",ranks:[19491,19493,19494],requires:[]},1362:{id:1362,row:5,col:2,icon:"inv_weapon_rifle_06",ranks:[19507,19508,19509,19510,19511],requires:[]},1361:{id:1361,row:6,col:1,icon:"ability_trueshot",ranks:[19506],requires:[{id:1347,qty:3}]}},381:{1401:{id:1401,row:0,col:1,icon:"spell_holy_fistofjustice",ranks:[20042,20045,20046,20047,20048],requires:[]},1407:{id:1407,row:0,col:2,icon:"spell_frost_windwalkon",ranks:[20101,20102,20103,20104,20105],requires:[]},1631:{id:1631,row:1,col:0,icon:"spell_holy_righteousfury",ranks:[25956,25957],requires:[]},1464:{id:1464,row:1,col:1,icon:"spell_holy_holysmite",ranks:[20335,20336,20337],requires:[]},1403:{id:1403,row:1,col:2,icon:"ability_parry",ranks:[20060,20061,20062,20063,20064],requires:[]},1633:{id:1633,row:2,col:0,icon:"spell_holy_vindication",ranks:[9452,26016,26021],requires:[]},1411:{id:1411,row:2,col:1,icon:"spell_holy_retributionaura",ranks:[20117,20118,20119,20120,20121],requires:[]},1481:{id:1481,row:2,col:2,icon:"ability_warrior_innerrage",ranks:[20375],requires:[]},1634:{id:1634,row:2,col:3,icon:"spell_holy_persuitofjustice",ranks:[26022,26023],requires:[]},1632:{id:1632,row:3,col:0,icon:"spell_holy_eyeforaneye",ranks:[9799,25988],requires:[]},1405:{id:1405,row:3,col:2,icon:"spell_holy_auraoflight",ranks:[20091,20092],requires:[]},1410:{id:1410,row:4,col:0,icon:"inv_hammer_04",ranks:[20111,20112,20113],requires:[]},1409:{id:1409,row:4,col:2,icon:"spell_holy_mindvision",ranks:[20218],requires:[]},1402:{id:1402,row:5,col:1,icon:"ability_racial_avatar",ranks:[20049,20056,20057,20058,20059],requires:[{id:1411,qty:5}]},1441:{id:1441,row:6,col:1,icon:"spell_holy_prayerofhealing",ranks:[20066],requires:[]}},382:{1450:{id:1450,row:0,col:1,icon:"ability_golemthunderclap",ranks:[20262,20263,20264,20265,20266],requires:[]},1449:{id:1449,row:0,col:2,icon:"spell_nature_sleep",ranks:[20257,20258,20259,20260,20261],requires:[]},1432:{id:1432,row:1,col:1,icon:"spell_arcane_blink",ranks:[20205,20206,20207,20209,20208],requires:[]},1463:{id:1463,row:1,col:2,icon:"ability_thunderbolt",ranks:[20224,20225,20330,20331,20332],requires:[]},1444:{id:1444,row:2,col:0,icon:"spell_holy_holybolt",ranks:[20237,20238,20239],requires:[]},1435:{id:1435,row:2,col:1,icon:"spell_holy_innerfire",ranks:[26573],requires:[]},1443:{id:1443,row:2,col:2,icon:"spell_holy_layonhands",ranks:[20234,20235],requires:[]},1628:{id:1628,row:2,col:3,icon:"spell_holy_unyieldingfaith",ranks:[9453,25836],requires:[]},1461:{id:1461,row:3,col:1,icon:"spell_holy_greaterheal",ranks:[20210,20212,20213,20214,20215],requires:[]},1446:{id:1446,row:3,col:2,icon:"spell_holy_sealofwisdom",ranks:[20244,20245],requires:[]},1433:{id:1433,row:4,col:1,icon:"spell_holy_heal",ranks:[20216],requires:[{id:1461,qty:5}]},1465:{id:1465,row:4,col:2,icon:"spell_holy_healingaura",ranks:[20359,20360,20361],requires:[]},1627:{id:1627,row:5,col:2,icon:"spell_holy_power",ranks:[5923,5924,5925,5926,25829],requires:[]},1502:{id:1502,row:6,col:1,icon:"spell_holy_searinglight",ranks:[20473],requires:[{id:1433,qty:1}]}},383:{1422:{id:1422,row:0,col:1,icon:"spell_holy_devotionaura",ranks:[20138,20139,20140,20141,20142],requires:[]},1421:{id:1421,row:0,col:2,icon:"ability_defend",ranks:[20127,20130,20135,20136,20137],requires:[]},1630:{id:1630,row:1,col:0,icon:"ability_rogue_ambush",ranks:[20189,20192,20193],requires:[]},1425:{id:1425,row:1,col:1,icon:"spell_holy_sealofprotection",ranks:[20174,20175],requires:[]},1423:{id:1423,row:1,col:3,icon:"spell_holy_devotion",ranks:[20143,20144,20145,20146,20147],requires:[]},1442:{id:1442,row:2,col:0,icon:"spell_magic_magearmor",ranks:[20217],requires:[]},1501:{id:1501,row:2,col:1,icon:"spell_holy_sealoffury",ranks:[20468,20469,20470],requires:[]},1424:{id:1424,row:2,col:2,icon:"inv_shield_06",ranks:[20148,20149,20150],requires:[{id:1421,qty:5}]},1629:{id:1629,row:2,col:3,icon:"spell_magic_lesserinvisibilty",ranks:[20096,20097,20098,20099,20100],requires:[]},1521:{id:1521,row:3,col:1,icon:"spell_holy_sealofmight",ranks:[20487,20488,20489],requires:[]},1626:{id:1626,row:3,col:2,icon:"spell_holy_mindsooth",ranks:[20254,20255,20256],requires:[]},1431:{id:1431,row:4,col:1,icon:"spell_nature_lightningshield",ranks:[20911],requires:[]},1426:{id:1426,row:4,col:2,icon:"spell_holy_blessingofstrength",ranks:[20177,20179,20181,20180,20182],requires:[]},1429:{id:1429,row:5,col:2,icon:"inv_sword_20",ranks:[20196,20197,20198,20199,20200],requires:[]},1430:{id:1430,row:6,col:1,icon:"spell_holy_blessingofprotection",ranks:[20925],requires:[{id:1431,qty:1}]}}},y={},m={},f={};for(var b in h)for(var g in h[b])y[g]=h[b][g],m[b]=Object.values(h[b]),f[g]=parseInt(b,10);var v=i(15),E=i(18),j=[{id:1,name:"Warrior",icon:"class_warrior",specs:[161,164,163]},{id:2,name:"Paladin",icon:"class_paladin",specs:[382,383,381]},{id:3,name:"Hunter",icon:"class_hunter",specs:[361,363,362]},{id:4,name:"Rogue",icon:"class_rogue",specs:[182,181,183]},{id:5,name:"Priest",icon:"class_priest",specs:[201,202,203]},{id:7,name:"Shaman",icon:"class_shaman",specs:[261,263,262]},{id:8,name:"Mage",icon:"class_mage",specs:[81,41,61]},{id:9,name:"Warlock",icon:"class_warlock",specs:[302,303,301]},{id:11,name:"Druid",icon:"class_druid",specs:[283,281,282]}],C=(j.reduce(function(r,e){return Object(E.a)({},r,Object(v.a)({},e.id,e))},{}),j.reduce(function(r,e){return Object(E.a)({},r,Object(v.a)({},e.name.toLowerCase(),e))},{})),O=51,R=function(r,e){return r.row===e.row?r.col-e.col:r.row-e.row};function T(r,e){return Object.values(h[r]).reduce(function(r,i){return r+e.get(i.id,0)},0)}function P(r){return Math.max(0,O-r.reduce(function(r,e){return r+e},0))}function N(r,e){return 0===r.requires.length||r.requires.reduce(function(r,i){return!!r&&e.get(i.id,0)>=i.qty},!0)}var z=function(r,e){return!(r.get(e.id,0)>=e.ranks.length)&&(0!==P(r)&&(!(e.requires.length>0&&!N(e,r))&&!(5*e.row>T(f[e.id],r))))},D=function(r,e,i){return 1===i?function(r,e){var i=r.get(e.id,0);return z(r,e)?r.set(e.id,i+1):r}(r,e):function(r,e){var i=r.get(e.id,0),o=f[e.id];if(0===i)return console.warn("no points to reduce"),r;var s=!1,n=0,l={};r.forEach(function(r,i){var a=h[o][i];if(a&&r>0){s=s||a.requires.some(function(r){return r.id===e.id}),a.row>n&&console.info("new highest row:",a),n=a.row>n?a.row:n;for(var c=a.row;c<7;c++)l[c]=(l[c]||0)+r}});var a=l[n-1],c=5*n;return e.rowd.ranks.length)break;_>0&&(console.log("Spent ".concat(_," in ").concat(d.id)),o=o.set(d.id,_))}}return o}function x(r,e){for(;r[r.length-1]===e;)r=r.slice(0,-1);return r}var I=function(r){var e=r.talent,i=r.specId,o=r.knownTalents,n=r.availablePoints,l=o.get(e.id,0),a=l>0||n>0,c=r.disabled||!a||!function(r,e,i){if(!N(r,i))return!1;var o=T(e,i);return 5*r.row<=o}(e,i,o),t=k()("talent",{"talent--disabled":!!c,"talent--available":!c&&l=e.ranks.length||l>0&&0===n}),d=k()("point-label",{"point-label--enabled":!c});return s.a.createElement("div",{className:t,title:e.ranks[0].toString(),"data-row":e.row,"data-col":e.col,onClick:c?function(){}:function(){return r.onClick(e.id)},onContextMenu:function(i){return r.onRightClick&&r.onRightClick(e.id),i.preventDefault(),!1}},s.a.createElement("div",{className:"talent__status"}),s.a.createElement(q,{name:e.icon,size:"medium"}),a&&!c&&s.a.createElement("div",{className:d},l,"/",e.ranks.length))};I.defaultProps={onClick:function(){},onRightClick:function(){}},I.whyDidYouRender=!0;i(35);var L=function(r){var e=r.from,i=r.to,o=r.active,n=void 0!==o&&o,l=i.row===e.row?Math.abs(i.col-e.col):i.row-e.row,a={"data-col":e.col,"data-row":e.row,"data-length":l},c=k()("arrow",{"arrow--active":n,"arrow--down":i.row>e.row,"arrow--right":i.row===e.row&&i.col>e.col,"arrow--left":i.row===e.row&&i.col0}).map(function(r){return s.a.createElement(L,{key:r.id,from:y[r.requires[0].id],to:r,active:i.get(r.id,0)>0||z(i,r)})});return s.a.createElement("div",{className:"tree"},s.a.createElement("div",{className:"tree__header"},s.a.createElement("h3",null,p[e]," (",T(e,i),")")),s.a.createElement("div",{className:"tree__body",style:d},a.map(function(r){return s.a.createElement(I,{key:r.id,specId:e,talent:r,availablePoints:n,knownTalents:i,onClick:c,onRightClick:t})}),_))};M.whyDidYouRender=!0;var A=Object(u.a)(),H=function(r){function e(){var r,i;Object(a.a)(this,e);for(var o=arguments.length,s=new Array(o),n=0;n0?"-":"",i+=x(m[n].sort(R).map(function(e){return r.get(e.id,0)}).join(""),"0")}return x(i,"-")}(r,e);this.props.history.replace("/".concat(e)+(i?"/".concat(i):""))}},{key:"render",value:function(){var r=this,e=this.props.selectedClass,i=this.state.knownTalents,o=C[e],n=P(i);return s.a.createElement("div",{className:"calculator"},s.a.createElement("div",{className:"trees"},o.specs.map(function(e){return s.a.createElement(M,{key:e,specId:e,availablePoints:n,knownTalents:i,onTalentPress:r.handleTalentPress})})),s.a.createElement("div",{className:"calculator__points"},"Points: ",n),s.a.createElement("ul",null,s.a.createElement("li",null,s.a.createElement("a",{href:"/shaman/-5505000055523051-55"},"Shaman test")),s.a.createElement("li",null,s.a.createElement("a",{href:"/shaman/-5595000055523051-55"},"Shaman test broken")),s.a.createElement("li",null,s.a.createElement("a",{href:"/rogue/-005055-50205302332212051"},"Rogue can unlearn first row"))))}}]),e}(s.a.PureComponent);H.whyDidYouRender=!0;var U=i(16),Y=function(r,e){return k()("class-picker__class",{"class-picker__class--active":r.name.toLowerCase()===e,"class-picker__class--inactive":!!e&&r.name.toLowerCase()!==e})},B=function(r){function e(){return Object(a.a)(this,e),Object(t.a)(this,Object(d.a)(e).apply(this,arguments))}return Object(_.a)(e,r),Object(c.a)(e,[{key:"render",value:function(){var r=this.props.selected,e=k()("class-picker",{"class-picker--has-selection":!!r});return s.a.createElement("ul",{className:e},Object.values(C).map(function(e){return s.a.createElement("li",{key:e.id,className:Y(e,r)},s.a.createElement(U.b,{to:"/".concat(e.name.toLowerCase()),title:e.name},s.a.createElement(q,{name:e.icon,golden:r===e.name.toLowerCase()})))}))}}]),e}(s.a.PureComponent);B.whyDidYouRender=!0;var F=function(r){function e(){return Object(a.a)(this,e),Object(t.a)(this,Object(d.a)(e).apply(this,arguments))}return Object(_.a)(e,r),Object(c.a)(e,[{key:"componentDidMount",value:function(){var r=this.props.match.params.selectedClass;r&&!C[r]&&this.props.history.replace("/")}},{key:"render",value:function(){var r=this.props,e=r.match,i=r.history,o=e.params,n=o.selectedClass,l=o.pointString;return n&&!C[n]?null:s.a.createElement("div",{className:"index"},s.a.createElement(B,{selected:n}),n&&s.a.createElement(H,{initialTalents:l&&S(l,n),selectedClass:n,history:i}))}}]),e}(s.a.PureComponent);F.whyDidYouRender=!0;var W=i(6),J=function(){return s.a.createElement(U.a,null,s.a.createElement("div",{className:"App"},s.a.createElement(W.a,{path:"/:selectedClass?/:pointString?",component:F})))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));l.a.render(s.a.createElement(J,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(r){r.unregister()})}},[[27,1,2]]]);
+//# sourceMappingURL=main.efad2c29.chunk.js.map
\ No newline at end of file
diff --git a/static/js/main.efad2c29.chunk.js.map b/static/js/main.efad2c29.chunk.js.map
new file mode 100644
index 0000000..8ea5f91
--- /dev/null
+++ b/static/js/main.efad2c29.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["components/Icon.tsx","data/talents.ts","data/classes.ts","lib/tree.ts","components/TalentSlot.tsx","components/Arrow.tsx","components/TalentTree.tsx","components/Calculator.tsx","components/ClassPicker.tsx","components/IndexRoute.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["Icon","_ref","name","_ref$size","size","_ref$golden","golden","children","className","classNames","concat","icon--golden","bgStyle","backgroundImage","react_default","a","createElement","style","specNames","41","61","81","161","163","164","181","182","183","201","202","203","261","262","263","281","282","283","301","302","303","361","362","363","381","382","383","talentsBySpec","26","id","row","col","icon","ranks","requires","30","34","28","27","1141","31","29","23","25","24","1639","33","32","qty","35","36","70","37","1649","73","38","62","65","69","63","741","66","67","72","64","68","71","74","76","80","78","1650","75","82","85","83","88","1142","86","77","421","87","124","130","127","126","641","128","131","137","121","136","662","132","133","125","123","134","129","135","1601","138","142","140","141","153","145","147","144","146","151","143","150","152","149","702","148","158","157","159","166","160","661","154","1581","1542","155","168","165","1543","1541","156","167","186","187","204","222","206","221","184","223","242","1703","1122","205","276","272","270","273","274","277","278","269","682","268","280","279","241","1700","247","244","245","246","1123","1701","284","265","681","1702","342","345","352","344","343","321","348","347","346","341","350","1201","351","1202","322","410","406","401","411","1181","442","1636","1635","408","403","413","1561","402","404","1637","465","464","466","482","463","542","481","501","483","881","461","541","484","1638","462","521","564","563","572","1640","561","574","575","562","567","1642","1645","1641","565","721","573","586","593","589","581","595","583","587","582","1646","588","594","1648","591","592","590","614","612","609","613","605","607","610","617","601","602","615","1647","611","616","1643","901","796","795","799","797","794","807","804","798","802","803","800","801","805","1162","808","809","821","822","824","823","826","829","827","841","843","830","831","828","842","825","844","762","761","921","787","763","791","781","782","788","764","792","784","789","783","790","793","944","941","943","982","983","984","981","963","985","964","965","986","961","967","966","968","1005","1003","1006","1101","1007","1004","1284","1001","1061","1021","1002","1121","1041","1081","1082","1042","1022","1221","1222","1223","1224","1225","1242","1243","1226","1241","1227","1262","1283","1281","1261","1244","1282","1263","1382","1389","1624","1381","1395","1625","1384","1391","1396","1385","1393","1388","1387","1390","1397","1386","1623","1301","1311","1304","1621","1305","1306","1622","1308","1322","1310","1309","1321","1312","1303","1325","1341","1342","1343","1344","1345","1346","1352","1348","1349","1353","1347","1351","1362","1361","1401","1407","1631","1464","1403","1633","1411","1481","1634","1632","1405","1410","1409","1402","1441","1450","1449","1432","1463","1444","1435","1443","1628","1461","1446","1433","1465","1627","1502","1422","1421","1630","1425","1423","1442","1501","1424","1629","1521","1626","1431","1426","1429","1430","talentsById","talentsBySpecArray","talentToSpec","specId","talentId","Object","values","parseInt","classes","specs","classByName","reduce","previousValue","currentValue","objectSpread","defineProperty","toLowerCase","MAX_POINTS","SORT_TALENTS","b","getPointsInSpec","known","prev","current","get","calcAvailablePoints","Math","max","calcMeetsRequirements","talent","length","req","canLearnTalent","modifyTalentPoint","modifier","currentPoints","set","addTalentPoint","console","warn","isDependency","highestRow","cumulativePointsPerRow","forEach","points","t","some","info","pointsUntilHighestRow","targetPointsHighestRow","remove","removeTalentPoint","decodeKnownTalents","pointString","log","Map","parts","split","i","specPointStr","talents","sort","y","removeTrailingCharacters","str","char","slice","TalentSlot","props","knownTalents","availablePoints","showPoints","disabled","pointsInSpec","isAvailable","containerClassNames","talent--disabled","talent--available","talent--maxed","pointsClassNames","point-label--enabled","title","toString","data-row","data-col","onClick","onContextMenu","e","onRightClick","preventDefault","Icon_Icon","defaultProps","whyDidYouRender","Arrow","from","to","_ref$active","active","abs","data-length","arrow--active","arrow--down","arrow--right","arrow--left","arrow--right-down","assign","TalentTree","onTalentPress","handleClick","useCallback","handleRightClick","bodyStyle","arrows","filter","map","Arrow_Arrow","key","TalentSlot_TalentSlot","EMPTY_TALENTS","Calculator","_React$PureComponent","_getPrototypeOf2","_this","classCallCheck","this","_len","arguments","args","Array","_key","possibleConstructorReturn","getPrototypeOf","call","apply","state","handleTalentPress","newKnownTalents","updateURL","setState","inherits","createClass","value","initialTalents","prevProps","selectedClass","string","join","encodeKnownTalents","history","replace","_this2","classData","TalentTree_TalentTree","href","React","PureComponent","classNameForItem","c","selected","class-picker__class--active","class-picker__class--inactive","ClassPicker","cn","class-picker--has-selection","react_router_dom","IndexRoute","match","params","_this$props","_match$params","ClassPicker_ClassPicker","Calculator_Calculator","App","react_router","path","component","Boolean","window","location","hostname","ReactDOM","render","src_App_0","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.efad2c29.chunk.js","sourcesContent":["import React, { FC } from 'react'\nimport classNames from 'classnames'\nimport './Icon.scss'\n\ninterface Props {\n name: string\n size?: 'small' | 'medium' | 'large'\n golden?: boolean\n}\n\nexport const Icon: FC = ({ name, size = 'medium', golden = false, children }) => {\n const className = classNames(\n 'icon', \n `icon--${size}`, {\n 'icon--golden': golden\n }\n )\n\n const bgSize = size === 'medium' ? 'large' : 'medium'\n const bgStyle = {\n backgroundImage: `url(https://wow.zamimg.com/images/wow/icons/${bgSize}/${name}.jpg)`\n }\n\n return (\n
\n )\n }\n}\n\n","import React from 'react'\nimport { Link } from 'react-router-dom'\nimport { classByName } from '../data/classes'\nimport { Icon } from './Icon'\nimport classNames from 'classnames'\n\ninterface Props {\n /** Name of the selected class, lowercase */\n selected?: string\n}\n\nconst classNameForItem = (c: ClassData, selected: string) => classNames('class-picker__class', {\n 'class-picker__class--active': c.name.toLowerCase() === selected,\n 'class-picker__class--inactive': !!selected && c.name.toLowerCase() !== selected\n})\n\nexport class ClassPicker extends React.PureComponent {\n static whyDidYouRender = true\n\n render() {\n const { selected } = this.props\n\n const cn = classNames('class-picker', {\n 'class-picker--has-selection': !!selected\n })\n \n return (\n
\n {Object.values(classByName).map((c) => \n
\n \n \n \n
\n )}\n
\n )\n }\n}\n","import React from 'react'\nimport { Calculator } from './Calculator'\nimport { ClassPicker } from './ClassPicker'\nimport { match } from 'react-router-dom'\nimport { RouteComponentProps } from 'react-router'\nimport { decodeKnownTalents } from '../lib/tree'\nimport { classByName } from '../data/classes'\n\ninterface Props extends RouteComponentProps {\n match: match<{ \n selectedClass: string\n pointString: string\n }>\n}\n\nexport class IndexRoute extends React.PureComponent {\n static whyDidYouRender = true\n\n componentDidMount() {\n const { selectedClass } = this.props.match.params\n if (selectedClass && !classByName[selectedClass]) {\n this.props.history.replace('/')\n }\n }\n\n render() {\n const { match, history } = this.props\n const { selectedClass, pointString } = match.params\n\n if (selectedClass && !classByName[selectedClass]) {\n return null\n }\n\n return (\n
\n \n \n {selectedClass && \n \n }\n
\n )\n }\n}","import React from 'react'\nimport './App.scss'\nimport { IndexRoute } from './components/IndexRoute'\nimport { BrowserRouter as Router, Route } from 'react-router-dom'\n\nconst App: React.FC = () => {\n return (\n \n
\n \n
\n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\nimport * as serviceWorker from './serviceWorker'\n\nif (process.env.NODE_ENV !== 'production') {\n const whyDidYouRender = require('@welldone-software/why-did-you-render/dist/no-classes-transpile/umd/whyDidYouRender.min.js')\n whyDidYouRender(React)\n}\n\nReactDOM.render(, document.getElementById('root'))\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister()\n"],"sourceRoot":""}
\ No newline at end of file