{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/menu/BaseTooltip.vue?045c","webpack:///./src/components/menu/BaseTooltip.vue","webpack:///./src/store/tracker/factories.ts","webpack:///./src/App.vue?c7a0","webpack:///./src/components/TheFooter.vue?7e6e","webpack:///./src/store/settings/state.ts","webpack:///./src/store/settings/mutations.ts","webpack:///./src/store/settings/actions.ts","webpack:///./src/store/settings/index.ts","webpack:///./src/components/menu/SwitchSlider.vue?2b40","webpack:///./src/store/tracker/state.ts","webpack:///./src/views/Reports.vue?33fb","webpack:///./src/components/menu/ModalView.vue?02b6","webpack:///./src/store/tracker/items lazy ^\\.\\/.*$ namespace object","webpack:///./src/App.vue?8c09","webpack:///./src/components/TheFooter.vue?1b8f","webpack:///./src/components/TheFooter.vue?dd4e","webpack:///./src/components/TheFooter.vue?1d2f","webpack:///./src/components/TheFooter.vue","webpack:///./src/components/menu/ModalView.vue?dbd3","webpack:///./src/components/menu/ModalView.vue?05c9","webpack:///./src/components/menu/ModalView.vue?0407","webpack:///./src/components/menu/ModalView.vue","webpack:///./src/App.vue?ec60","webpack:///./src/App.vue?640d","webpack:///./src/App.vue","webpack:///./src/views/Reports.vue?a1e7","webpack:///./src/views/Reports.vue?972d","webpack:///./src/views/Reports.vue?3452","webpack:///./src/views/Reports.vue","webpack:///./src/views/ItemPopup.vue?c30c","webpack:///./src/views/ItemPopup.vue?1573","webpack:///./src/views/ItemPopup.vue?e27d","webpack:///./src/views/ItemPopup.vue","webpack:///./src/router/index.ts","webpack:///./src/store/co_op/index.ts","webpack:///./src/store/tracker/getters.ts","webpack:///./src/store/tracker/mutations.ts","webpack:///./src/store/tracker/actions.ts","webpack:///./src/store/tracker/index.ts","webpack:///./src/store/tracker_important/state.ts","webpack:///./src/store/tracker_important/getters.ts","webpack:///./src/store/tracker_important/mutations.ts","webpack:///./src/store/tracker_important/codes.ts","webpack:///./src/store/tracker_important/actions.ts","webpack:///./src/store/tracker_important/index.ts","webpack:///./src/store/index.ts","webpack:///./src/main.ts","webpack:///./src/components/menu/SwitchSlider.vue?943b","webpack:///./src/components/menu/SwitchSlider.vue?bc55","webpack:///./src/components/menu/SwitchSlider.vue?cd52","webpack:///./src/components/menu/SwitchSlider.vue","webpack:///./src/App.vue?6a31","webpack:///./src/views/ItemPopup.vue?bdb5","webpack:///./src/components/menu/BaseTooltip.vue?7cfc","webpack:///./src/util/index.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","staticClass","_t","staticRenderFns","component","parseOptions","options","opaque","level","secondaryTotal","secondary","item","total","showFirst","secondaryMax","secondaryLevel","disabled","isMinimal","correspondingItem","world","category","categoryExclude","CLASSIC","magic","cls","levelNumbers","Array","keys","map","levels","numbers","proof","IconStyle","Game","mutations","setSettings","state","payload","assign","setImportantSettings","important","setKh1Settings","KH1","setKh1Show","show","setNums","set","itemNums2","game","nums","resetNums","wipeOldNums","setDefault","customDefaults","file","defaults","setGame","setIconStyle","setting","iconStyles","includes","wipeOldIconSettings","actions","commit","rootState","KH2_IC","tracker","self","items","client","root","kh1Settings","worlds","cups","summons","reports","dalmations","trinities","jackInTheBox","crystalTrident","libraryBooks","expandRaftSupplies","correspondingMagic","bgColor","bgImg","disableShadows","autosave","KH3","title","DEFAULT","MINIMAL","games","KH2","drive","forms","pages","scom","charm","proofs","dalmatians","raftSupplies","flan","battlegates","luckyEmblems","scroll","columns","size","padding","longPressDelay","preselectWorld","showHintedChecks","hintsAtBottom","autoHideHints","autoHideHintsDelay","atlantica","width","worldSize","worldVerticalPadding","checkSize","checkVerticalPadding","settings","namespaced","CHEST","mapItems","fromEntries","k","isArray","webpackAsyncContext","req","ids","id","class","transparent","route","attrs","on","$event","currentTarget","handleClick","meta","style","preventDefault","_l","_","_e","_v","_s","version","reset","directives","rawName","expression","$$selectedVal","filter","selected","val","_value","multiple","domProps","COM","DAYS","BBS","CODED","DDD","success","hintsLoaded","selectHints","ref","loadHints","popout","hideFooter","routes","toUpperCase","$refs","$store","importantChecksMode","toggled","kh1fmMode","dispatch","fileElem","click","files","open","State","components","BaseTooltip","SwitchSlider","gotoRoot","$route","path","$router","addEventListener","BaseGrid","ImportantGrid","to","_from","body","onmousedown","button","valid","lt","migrate","query","footer","currVersion","getters","display","flex","clients","co_op","single","importantMode","immediate","TheFooter","ModalView","msg","staticStyle","incorrect","incorrectReports","found","hints","incorrectCounter","checkReport","timer","hint","report","location","checks","log","check","styledIcon","select","params","popupTitle","popupItems","cell","minimal","other","Info","About","Help","HelpNormal","HelpImportant","Thanks","Changelog","CoOp","Settings","SettingsGeneral","SettingsNormal","SettingsImportant","SettingsKh1","IconStyles","EditItem","Remote","use","socket","children","redirect","full","router","secondaryNumber","secondaryNumbers","addClient","removeClient","delete","addGame","JSON","parse","stringify","setOpaque","setLevel","setSecondaryLevel","setCorrespondingItem","disable","resetState","primary","offset","remote","end","group","groupItems","gItem","secondaryAuto","newSecLevel","kh1","room","joined","setRoom","setJoined","setError","setSingle","connect","close","WebSocket","send","openData","sendClick","join","handleMessage","totalChecks","otherLevel","levelsImportant","locations","enabled","hintSettings","Cure","Atlantica","flat","foundChecks","Free","checkLocations","currentLocation","selectedLocation","hintMessage","isLocation","hasProof","some","startsWith","willBeHinted","h","_state","setOtherLevel","setHints","setHintSettings","forEach","setLocation","selectLocation","incrementLocationChecks","locationState","incrementChecks","setLocationTotal","setCheckLocation","removeCheckLocation","indexOf","foundHint","index","incrementIncorrectReport","setHintMessage","SimulatedTwilightTown","TwilightTown","HollowBastion","LandOfDragons","BeastsCastle","OlympusColiseum","DisneyCastle","PortRoyal","Agrabah","HalloweenTown","PrideLands","AcreWood","SpaceParanoids","TheWorldThatNeverWas","Forms","Levels","defaultLocations","address","entries","find","addresses","foundCheck","checkTotal","undoCheck","locationCell","warn","reader","FileReader","readAsText","csv","lines","split","reportValues","reportLocationAddresses","parseInt","store","Store","drag","edit","toggleDrag","toggleEdit","updateVersion","toggleFooter","deleteProperty","tracker_important","strict","plugins","paths","config","productionTip","App","$mount","$emit","checked","Boolean","formatItem"],"mappings":"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vS,EAAOC,GACtBD,EAAMkR,eAAejR,EAAQgM,OAAOhV,KAAKgJ,EAAQ6L,UACjD9L,EAAMgR,YAAY/Q,EAAQ6L,UAAU7U,KAAKgJ,EAAQgM,QAGnDuG,oBAvE4C,SAuExBxS,EAAOC,GACzB,IAAMyQ,EAAY1Q,EAAMkR,eAAejR,EAAQgM,OAC/CyE,EAAU7Y,OAAO6Y,EAAU+B,QAAQxS,EAAQ6L,UAAW,GAEtD,IAAMC,EAAS/L,EAAMgR,YAAY/Q,EAAQ6L,UACzCC,EAAOlU,OAAOkU,EAAO0G,QAAQxS,EAAQgM,OAAQ,IAG/CyG,UA/E4C,SA+ElC1S,EAAO2S,GACf3S,EAAMwL,MAAMmH,GAAOpH,OAAQ,GAG7BqH,yBAnF4C,SAmFnB5S,EAAO2S,GAC9B3S,EAAMwL,MAAMmH,GAAOlH,oBAGrBoH,eAvF4C,SAuF7B7S,EAAO3E,GACpB2E,EAAMqR,YAAchW,GAGtByT,WA3F4C,SA2FjC9O,GACTpJ,OAAOsJ,OAAOF,EAAO,S,0BC/FnBiR,I,wCAAO,CACX,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,aAGI6B,GAAwB,CAC5B,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,YAGIC,GAAe,CACnB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,YAGIC,GAAgB,CACpB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,YAGIC,GAAgB,CACpB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,YAGIC,GAAe,CACnB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,YAGIC,GAAkB,CACtB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,YAGIC,GAAe,CACnB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,YAGIC,GAAY,CAChB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,YAGIC,GAAU,CACd,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,YAGIC,GAAgB,CACpB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,YAGIC,GAAa,CACjB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,YAGI1C,GAAY,CAAC,WAAY,WAAY,WAAY,YAEjD2C,GAAW,CACf,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YAGIC,GAAiB,CACrB,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YAGIC,GAAuB,CAC3B,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,YAGIC,GAAQ,CACZ,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YAGIC,GAAS,CACb,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WAEA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WA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","file":"js/index.8ab0fd8d.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"index\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0707a64f\":\"8c17f59e\",\"chunk-0e3b2961\":\"06dc88af\",\"chunk-6e24e626\":\"055f8988\",\"chunk-f40cc200\":\"604ed2e5\",\"chunk-105a08f6\":\"c73de267\",\"chunk-2d0af68b\":\"39c1f476\",\"chunk-2d0b2139\":\"74761390\",\"chunk-2d0b68ab\":\"376bec5c\",\"chunk-2d0c1784\":\"2bb6669e\",\"chunk-2d0d3dcd\":\"dcca5bbf\",\"chunk-2d0e2892\":\"e5be41f3\",\"chunk-2d0e4e1e\":\"90b46c6b\",\"chunk-2d225405\":\"f3d7be9a\",\"chunk-2d228d0c\":\"193630b8\",\"chunk-2d22e159\":\"a0fae51e\",\"chunk-2d2383d9\":\"a0292b4e\",\"chunk-3a86e502\":\"69d0ff11\",\"chunk-3b51cef5\":\"8532ba2c\",\"chunk-458aea8e\":\"38ac8b16\",\"chunk-47a89c97\":\"b8aac19e\",\"chunk-4a5f46a6\":\"d396d799\",\"chunk-04119925\":\"0a294567\",\"chunk-53828427\":\"e3c8887b\",\"chunk-68f41d9e\":\"f94f53ce\",\"chunk-633a55bc\":\"2d13fc9e\",\"chunk-6f0801a4\":\"303bf912\",\"chunk-a6c6d424\":\"c5050b17\",\"chunk-bdfe751a\":\"b547a522\",\"chunk-d774aebe\":\"c1ed7941\",\"chunk-2d0e6144\":\"d4e6a6f9\",\"chunk-52f84a8c\":\"8cb430c2\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0e3b2961\":1,\"chunk-6e24e626\":1,\"chunk-f40cc200\":1,\"chunk-105a08f6\":1,\"chunk-3a86e502\":1,\"chunk-458aea8e\":1,\"chunk-47a89c97\":1,\"chunk-04119925\":1,\"chunk-53828427\":1,\"chunk-68f41d9e\":1,\"chunk-633a55bc\":1,\"chunk-6f0801a4\":1,\"chunk-d774aebe\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0707a64f\":\"31d6cfe0\",\"chunk-0e3b2961\":\"2d40e47d\",\"chunk-6e24e626\":\"98c45e35\",\"chunk-f40cc200\":\"7eb3385c\",\"chunk-105a08f6\":\"66aceb0a\",\"chunk-2d0af68b\":\"31d6cfe0\",\"chunk-2d0b2139\":\"31d6cfe0\",\"chunk-2d0b68ab\":\"31d6cfe0\",\"chunk-2d0c1784\":\"31d6cfe0\",\"chunk-2d0d3dcd\":\"31d6cfe0\",\"chunk-2d0e2892\":\"31d6cfe0\",\"chunk-2d0e4e1e\":\"31d6cfe0\",\"chunk-2d225405\":\"31d6cfe0\",\"chunk-2d228d0c\":\"31d6cfe0\",\"chunk-2d22e159\":\"31d6cfe0\",\"chunk-2d2383d9\":\"31d6cfe0\",\"chunk-3a86e502\":\"f17fa8f5\",\"chunk-3b51cef5\":\"31d6cfe0\",\"chunk-458aea8e\":\"499b48e5\",\"chunk-47a89c97\":\"7eb3385c\",\"chunk-4a5f46a6\":\"31d6cfe0\",\"chunk-04119925\":\"16fc93b9\",\"chunk-53828427\":\"be099909\",\"chunk-68f41d9e\":\"be099909\",\"chunk-633a55bc\":\"7c5cd47b\",\"chunk-6f0801a4\":\"d8b9d2de\",\"chunk-a6c6d424\":\"31d6cfe0\",\"chunk-bdfe751a\":\"31d6cfe0\",\"chunk-d774aebe\":\"6b78b098\",\"chunk-2d0e6144\":\"31d6cfe0\",\"chunk-52f84a8c\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"note\"},[_c('p',[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./BaseTooltip.vue?vue&type=template&id=72739f46&scoped=true&lang=pug&\"\nvar script = {}\nimport style0 from \"./BaseTooltip.vue?vue&type=style&index=0&id=72739f46&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72739f46\",\n null\n \n)\n\nexport default component.exports","import { IconStyle } from \"../settings\";\nimport type { Item } from \"./state\";\n\nexport const parseOptions = (options?: Partial): Partial => ({\n opaque: options?.level ? true : false,\n secondaryTotal: options?.secondary ? 1 : 0,\n ...options,\n});\n\nexport const item = (options?: Partial): Item => ({\n total: 1,\n showFirst: false,\n level: 0,\n opaque: options?.level ? true : false,\n secondaryTotal: options?.secondary ? 1 : 0,\n secondaryMax: false,\n secondaryLevel: 0,\n disabled: false,\n isMinimal: false,\n correspondingItem: \"\",\n ...parseOptions(options),\n});\n\nexport const world = (options?: Partial): Item => ({\n ...item({\n category: \"worlds\",\n categoryExclude: IconStyle.CLASSIC,\n ...options,\n }),\n});\n\nexport const magic = (options?: Partial): Item => ({\n ...item({\n total: 3,\n category: \"magic\",\n cls: \"magic\",\n ...options,\n }),\n});\n\nexport const levelNumbers = [\n ...[...Array(15).keys()].map(i => i + 1),\n ...[...Array(6).keys()].map(i => 20 + i * 5),\n ...[...Array(5).keys()].map(i => 50 + i * 10),\n 99,\n];\n\nexport const levels = (options?: Partial): Item => ({\n ...item({\n total: 27,\n level: 1,\n showFirst: true,\n numbers: levelNumbers,\n secondary: [\"other/once_more\", \"other/second_chance\", \"other/survival_abilities\"],\n cls: \"levels\",\n category: \"levels\",\n ...options,\n }),\n});\n\nexport const proof = (options?: Partial): Item => ({\n ...item({\n secondary: [\"bronze\", \"silver\", \"gold\"].map(i => `other/${i}`),\n category: \"proofs\",\n ...options,\n }),\n});\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=stylus&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheFooter.vue?vue&type=style&index=0&id=a2d585a4&scoped=true&lang=stylus&\"","export enum IconStyle {\n CLASSIC = \"Classic\",\n DEFAULT = \"Default\",\n MINIMAL = \"Minimal\",\n}\n\nexport enum Game {\n KH1 = \"kh1\",\n KH2 = \"kh2\",\n KH2_IC = \"kh2_ic\",\n KH3 = \"kh3\",\n COM = \"com\",\n DAYS = \"days\",\n BBS = \"bbs\",\n CODED = \"coded\",\n DDD = \"ddd\",\n}\n\nexport const kh1Settings = {\n show: {\n worlds: false,\n cups: false,\n levels: false,\n magic: true,\n summons: true,\n reports: true,\n dalmations: true,\n trinities: true,\n jackInTheBox: true,\n crystalTrident: false,\n libraryBooks: true,\n },\n expandRaftSupplies: true,\n correspondingMagic: true,\n};\n\nexport const state = {\n bgColor: \"\",\n bgImg: \"\",\n disableShadows: false,\n autosave: true,\n\n customDefaults: {} as { [key: string]: { [key: string]: any } },\n game: Game.KH3,\n\n iconStyles: {\n worlds: {\n title: \"Worlds\",\n options: [IconStyle.CLASSIC, IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n cups: {\n title: \"Cups\",\n games: [Game.KH1, Game.KH2],\n options: [IconStyle.CLASSIC, IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n data: {\n title: \"Data Org\",\n games: [Game.KH2, Game.KH3],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n drive: {\n title: \"Drive Forms (Location)\",\n games: [Game.KH2_IC],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n levels: {\n title: \"Levels\",\n games: [Game.KH1, Game.KH2, Game.KH2_IC, Game.KH3],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n magic: {\n title: \"Magic\",\n games: [Game.KH1, Game.KH2, Game.KH2_IC, Game.KH3],\n options: [IconStyle.CLASSIC, IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n forms: {\n title: \"Drive Forms\",\n games: [Game.KH2, Game.KH2_IC],\n options: [IconStyle.CLASSIC, IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n summons: {\n title: \"Summons\",\n games: [Game.KH1, Game.KH2, Game.KH2_IC, Game.KH3],\n options: [IconStyle.CLASSIC, IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n reports: {\n title: \"Reports\",\n games: [Game.KH1, Game.KH2, Game.KH2_IC, Game.KH3],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n pages: {\n title: \"Torn Pages\",\n games: [Game.KH2_IC],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n scom: {\n title: \"Second Chance/Once More\",\n games: [Game.KH2_IC],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n charm: {\n title: \"Promise Charm\",\n games: [Game.KH2, Game.KH2_IC],\n options: [IconStyle.CLASSIC, IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n proofs: {\n title: \"Proofs\",\n games: [Game.KH2, Game.KH2_IC, Game.KH3],\n options: [IconStyle.CLASSIC, IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n dalmatians: {\n title: \"Dalmatians\",\n games: [Game.KH1],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n trinities: {\n title: \"Trinities\",\n games: [Game.KH1],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n jackInTheBox: {\n title: \"Jack In The Box\",\n games: [Game.KH1],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n libraryBooks: {\n title: \"Library Books\",\n games: [Game.KH1],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n raftSupplies: {\n title: \"Raft Supplies\",\n games: [Game.KH1],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n flan: {\n title: \"Flantastic Seven\",\n games: [Game.KH3],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n battlegates: {\n title: \"Battlegates\",\n games: [Game.KH3],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n luckyEmblems: {\n title: \"Lucky Emblems\",\n games: [Game.KH3],\n options: [IconStyle.DEFAULT, IconStyle.MINIMAL],\n value: IconStyle.DEFAULT,\n },\n } as { [key: string]: { title: string; games?: Game[]; options: IconStyle[]; value: IconStyle } },\n\n // normal mode. kept outside in the root to remain backwards-compatible with old user settings\n scroll: false,\n columns: \"\",\n size: \"\",\n padding: \"\",\n itemNums2: {} as { [key: string]: number[] },\n longPressDelay: 150,\n\n important: {\n preselectWorld: true,\n showHintedChecks: true,\n hintsAtBottom: true,\n autoHideHints: true,\n autoHideHintsDelay: null,\n atlantica: false,\n width: \"\",\n worldSize: \"\",\n worldVerticalPadding: \"\",\n checkSize: \"\",\n checkVerticalPadding: \"\",\n },\n\n [Game.KH1]: kh1Settings,\n};\n\nexport type State = typeof state;\n","import Vue from \"vue\";\nimport { MutationTree } from \"vuex\";\nimport { Game, IconStyle } from \".\";\nimport { kh1Settings, State } from \"./state\";\n\nconst mutations: MutationTree = {\n setSettings(state, payload: State) {\n // Object.entries(payload).forEach(([key, value]) => Vue.set(state, key, value));\n Object.assign(state, payload);\n },\n\n setImportantSettings(state, payload: typeof state.important) {\n Object.assign(state.important, payload);\n },\n\n setKh1Settings(state, payload: typeof kh1Settings) {\n Object.assign(state[Game.KH1], payload);\n },\n\n setKh1Show(state, payload: typeof kh1Settings.show) {\n Object.assign(state[Game.KH1].show, payload);\n },\n\n setNums(state, payload: { game: Game; nums: number[] }): void {\n Vue.set(state.itemNums2, payload.game, [...payload.nums]);\n },\n\n resetNums(state, game: Game): void {\n Vue.set(state.itemNums2, game, undefined);\n },\n\n wipeOldNums(state): void {\n Vue.set(state, \"itemNums\", undefined);\n },\n\n setDefault(state, payload: { file: string; defaults: object }) {\n Vue.set(state.customDefaults, payload.file, payload.defaults);\n },\n\n setGame(state, game: Game): void {\n state.game = game;\n },\n\n setIconStyle(state, payload: { name: string; value: IconStyle }): void {\n const setting = state.iconStyles[payload.name];\n\n if (typeof setting === \"undefined\" || !setting.options.includes(payload.value)) {\n return;\n }\n\n state.iconStyles[payload.name].value = payload.value;\n },\n\n wipeOldIconSettings(state): void {\n Vue.set(state, \"iconStyle\", undefined);\n },\n};\n\nexport default mutations;\n","import { ActionTree } from \"vuex\";\nimport { Game } from \".\";\nimport { RootState } from \"../types\";\nimport { State } from \"./state\";\n\nconst actions: ActionTree = {\n async setGame({ commit, rootState }, game: Game) {\n if (game !== Game.KH2_IC) {\n if (rootState.tracker!.self[game] === undefined) {\n const { items } = await import(`../tracker/items/${game}`);\n commit(\"tracker/addGame\", { client: \"self\", game, items }, { root: true });\n }\n }\n\n commit(\"setGame\", game);\n },\n};\n\nexport default actions;\n","import mutations from \"./mutations\";\nimport actions from \"./actions\";\nimport { state } from \"./state\";\n\nexport { IconStyle, Game } from \"./state\";\nexport type { State } from \"./state\";\n\nexport const settings = {\n namespaced: true,\n state,\n actions,\n mutations,\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchSlider.vue?vue&type=style&index=0&id=034795a9&lang=stylus&scoped=true&\"","import { Game } from \"../settings\";\nimport type { Item as BaseItem } from \"../types\";\nimport { parseOptions } from \"./factories\";\n\nexport const CHEST = \"other/chest\";\n\nexport type Item = BaseItem & {\n data?: string[] | string;\n minimal?: string;\n\n popupTitle?: string;\n popupItems?: string[];\n correspondingItem: string;\n\n // set in the loop below\n id?: number;\n};\n\nexport type Items = { [key: string]: Item };\n\nexport const mapItems = (keys: Array]>, defaults: Item) =>\n Object.fromEntries(\n keys.map(k =>\n // each element is either a string to be used as a key and given the defaults, or an array of\n // the key and options to add to the defaults, e.g. [\"final\", { category: \"Final Form\" }]\n (!Array.isArray(k) ? [k, { ...defaults }] : [k[0], { ...defaults, ...parseOptions(k[1]) }])),\n );\n\nexport type State = {\n [key: string]: {\n [key in Game]: Items;\n };\n};\n\nexport const state: State = {\n self: {} as State[\"self\"],\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reports.vue?vue&type=style&index=0&id=79455e28&lang=stylus&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalView.vue?vue&type=style&index=0&id=14863ddf&lang=stylus&scoped=true&\"","var map = {\n\t\"./bbs\": [\n\t\t\"e433\",\n\t\t\"chunk-2d225405\"\n\t],\n\t\"./bbs.ts\": [\n\t\t\"e433\",\n\t\t\"chunk-2d225405\"\n\t],\n\t\"./coded\": [\n\t\t\"7eb0\",\n\t\t\"chunk-2d0e2892\"\n\t],\n\t\"./coded.ts\": [\n\t\t\"7eb0\",\n\t\t\"chunk-2d0e2892\"\n\t],\n\t\"./com\": [\n\t\t\"1e34\",\n\t\t\"chunk-2d0b68ab\"\n\t],\n\t\"./com.ts\": [\n\t\t\"1e34\",\n\t\t\"chunk-2d0b68ab\"\n\t],\n\t\"./days\": [\n\t\t\"0dcd\",\n\t\t\"chunk-2d0af68b\"\n\t],\n\t\"./days.ts\": [\n\t\t\"0dcd\",\n\t\t\"chunk-2d0af68b\"\n\t],\n\t\"./ddd\": [\n\t\t\"db91\",\n\t\t\"chunk-2d228d0c\"\n\t],\n\t\"./ddd.ts\": [\n\t\t\"db91\",\n\t\t\"chunk-2d228d0c\"\n\t],\n\t\"./kh1\": [\n\t\t\"f24d\",\n\t\t\"chunk-bdfe751a\"\n\t],\n\t\"./kh1.ts\": [\n\t\t\"f24d\",\n\t\t\"chunk-bdfe751a\"\n\t],\n\t\"./kh2\": [\n\t\t\"cd52\",\n\t\t\"chunk-3b51cef5\"\n\t],\n\t\"./kh2.ts\": [\n\t\t\"cd52\",\n\t\t\"chunk-3b51cef5\"\n\t],\n\t\"./kh3\": [\n\t\t\"c09c\",\n\t\t\"chunk-a6c6d424\"\n\t],\n\t\"./kh3.ts\": [\n\t\t\"c09c\",\n\t\t\"chunk-a6c6d424\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"c75e\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ transparent: _vm.route.name === 'remote' },attrs:{\"id\":\"app\"},on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.handleClick($event)}}},[(_vm.route.meta.full)?_c('router-view'):[_c('main',{style:(_vm.mainStyle),on:{\"contextmenu\":function (e) { return e.preventDefault(); }}},[(_vm.game === _vm.Game.KH2_IC)?_c('ImportantGrid'):_vm._l((_vm.clients),function(_,client){return _c('BaseGrid',{key:client,attrs:{\"clientId\":client}})})],2),(_vm.footer)?_c('TheFooter'):_vm._e(),_c('ModalView')]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"info\"},[_vm._v(\"KH Item Tracker - Version \"+_vm._s(_vm.version))]),_c('div',{staticClass:\"buttons\"},[_vm._l((_vm.routes),function(route){return _c('router-link',{key:route,attrs:{\"to\":route,\"tag\":\"button\"}},[_vm._v(_vm._s(_vm.title(route)))])}),_c('button',{on:{\"click\":_vm.reset}},[_vm._v(\"Reset Tracker\")])],2),_c('div',{staticClass:\"buttons\"},[_c('label',{attrs:{\"for\":\"game\"}},[_vm._v(\"Game\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.game),expression:\"game\"}],attrs:{\"name\":\"game\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.game=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"selected\":\"\"},domProps:{\"value\":_vm.Game.KH2}},[_vm._v(\"KH2\")]),_c('option',{domProps:{\"value\":_vm.Game.KH2_IC}},[_vm._v(\"KH2 (Important Checks Mode)\")]),_c('option',{domProps:{\"value\":_vm.Game.KH1}},[_vm._v(\"KH1\")]),_c('option',{domProps:{\"value\":_vm.Game.COM}},[_vm._v(\"CoM\")]),_c('option',{domProps:{\"value\":_vm.Game.DAYS}},[_vm._v(\"Days\")]),_c('option',{domProps:{\"value\":_vm.Game.BBS}},[_vm._v(\"BBS\")]),_c('option',{domProps:{\"value\":_vm.Game.CODED}},[_vm._v(\"Coded\")]),_c('option',{domProps:{\"value\":_vm.Game.DDD}},[_vm._v(\"DDD\")]),_c('option',{domProps:{\"value\":_vm.Game.KH3}},[_vm._v(\"KH3\")])])]),(_vm.game === _vm.Game.KH2_IC)?_c('div',{staticClass:\"buttons\"},[_c('button',{class:{ success: _vm.hintsLoaded },on:{\"click\":_vm.selectHints}},[_vm._v(\"Upload Hints\")]),_c('input',{ref:\"file\",attrs:{\"type\":\"file\",\"accept\":\".txt,.hint\",\"hidden\":\"\"},on:{\"change\":_vm.loadHints}})]):_vm._e(),_c('div',{staticClass:\"buttons\"},[_c('button',{on:{\"click\":_vm.popout}},[_vm._v(\"Popout window\")]),_c('button',{on:{\"click\":_vm.hideFooter}},[_vm._v(\"Hide Footer\")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { namespace } from \"vuex-class\";\n\nimport BaseTooltip from \"@/components/menu/BaseTooltip.vue\";\nimport SwitchSlider from \"@/components/menu/SwitchSlider.vue\";\nimport { Game } from \"@/store/settings\";\n\nconst tracker = namespace(\"tracker_important\");\n\n@Component({\n components: {\n BaseTooltip,\n SwitchSlider,\n },\n})\nexport default class TheFooter extends Vue {\n @tracker.State hintsLoaded!: boolean;\n\n routes: Array = [\"info\", \"co-op\", \"settings\"];\n // eslint-disable-next-line no-undef\n version = process.env.PACKAGE_VER;\n\n title(route: string): string {\n return route[0].toUpperCase() + route.slice(1);\n }\n\n get Game() {\n return Game;\n }\n\n get fileElem(): HTMLInputElement {\n return this.$refs.file as HTMLInputElement;\n }\n\n get importantMode(): boolean {\n return this.$store.state.settings.importantChecksMode;\n }\n\n set importantMode(toggled: boolean) {\n this.$store.commit(\"settings/setImportantChecksMode\", toggled);\n }\n\n get kh1fmMode(): boolean {\n return this.$store.state.settings.kh1fmMode;\n }\n\n set kh1fmMode(toggled: boolean) {\n this.$store.commit(\"settings/setKh1fmMode\", toggled);\n }\n\n get game(): Game {\n return this.$store.state.settings.game;\n }\n\n set game(game: Game) {\n this.$store.dispatch(\"settings/setGame\", game);\n }\n\n selectHints() {\n this.fileElem.click();\n }\n\n loadHints() {\n const files = this.fileElem.files;\n if (files === null || files.length === 0) return;\n\n this.$store.dispatch(\"tracker_important/loadHints\", files[0]);\n }\n\n popout(): void {\n window.open(\"#/\", \"\", \"left=0,top=0,width=600,height=1200,menubar=no,toolbar=no,scrollbars=no\");\n }\n\n hideFooter(): void {\n this.$store.commit(\"toggleFooter\");\n }\n\n reset(): void {\n this.$store.dispatch(\"reset\");\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheFooter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheFooter.vue?vue&type=template&id=a2d585a4&scoped=true&lang=pug&\"\nimport script from \"./TheFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TheFooter.vue?vue&type=style&index=0&id=a2d585a4&scoped=true&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a2d585a4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade-up\"}},[(_vm.show)?_c('div',{staticClass:\"outer\",on:{\"mousedown\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.gotoRoot($event)}}},[_c('div',{staticClass:\"inner\"},[_c('router-view',{staticClass:\"modal-content\"})],1)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component\nexport default class ModalView extends Vue {\n get show(): boolean {\n return this.$route.path !== \"/\";\n }\n\n gotoRoot(): void {\n this.$router.push(\"/\");\n }\n\n mounted(): void {\n window.addEventListener(\"keydown\", e => {\n if (e.key === \"Escape\" && this.show) {\n this.gotoRoot();\n }\n });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalView.vue?vue&type=template&id=14863ddf&scoped=true&lang=pug&\"\nimport script from \"./ModalView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalView.vue?vue&type=style&index=0&id=14863ddf&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14863ddf\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\nimport { Route } from \"vue-router\";\nimport semver from \"semver\";\n\nconst BaseGrid = () => import(\"./components/tracker/normal/BaseGrid.vue\");\nconst ImportantGrid = () => import(\"./components/tracker/important/ImportantGrid.vue\");\nimport TheFooter from \"./components/TheFooter.vue\";\nimport ModalView from \"./components/menu/ModalView.vue\";\nimport { Game } from \"@/store/settings\";\n\n@Component({\n components: {\n BaseGrid,\n TheFooter,\n ModalView,\n ImportantGrid,\n },\n})\nexport default class extends Vue {\n @Watch(\"$route\", { immediate: true })\n onRouteChange(to: Route, _from: Route): void {\n if (to.meta.title) document.title = `${to.meta.title} | KH Item Tracker`;\n else document.title = \"KH Item Tracker\";\n }\n\n async created() {\n document.body.onmousedown = (event: MouseEvent) => {\n if (event.button === 1)\n // Prevent autoscroll on middle click\n return false;\n };\n\n if (!this.$store.state.settings.autosave) {\n this.$store.dispatch(\"tracker/resetState\");\n this.$store.commit(\"tracker_important/resetState\");\n }\n\n let version = this.$store.state.version;\n if (semver.valid(version) && semver.lt(version, \"2.10.0\")) {\n const { migrate } = await import(\"./migrations/2.10.0\");\n await migrate(this.$store);\n }\n\n if (this.$route.query.footer === \"0\") {\n this.$store.commit(\"toggleFooter\");\n }\n\n version = this.$store.state.version;\n if (version && version !== this.$store.state.currVersion) {\n this.$router.push(\"changelog\");\n }\n\n this.$store.commit(\"updateVersion\");\n\n if (\n this.$store.state.settings.game !== Game.KH2_IC\n && this.$store.getters[\"tracker/items\"](\"self\") === undefined\n ) {\n await this.$store.dispatch(\"tracker/addClient\", \"self\");\n }\n }\n\n get route(): Route {\n return this.$route;\n }\n\n get Game() {\n return Game;\n }\n\n get mainStyle(): object {\n if (!this.footer) {\n return {\n display: \"flex\",\n \"align-items\": \"center\",\n flex: 1,\n };\n }\n\n return {};\n }\n\n get importantMode(): boolean {\n return this.$store.state.settings.importantChecksMode;\n }\n\n get game(): Game {\n return this.$store.state.settings.game;\n }\n\n get clients(): object {\n const clients = this.$store.state.tracker;\n\n return this.$store.state.co_op.single ? { self: clients.self } : clients;\n }\n\n get footer(): boolean {\n return this.$store.state.footer;\n }\n\n handleClick(): void {\n if (!this.importantMode) {\n return;\n }\n\n this.$store.commit(\"tracker_important/selectLocation\", \"Free\");\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2b924267&scoped=true&lang=pug&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=2b924267&lang=stylus&scoped=true&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b924267\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',[_vm._v(\"Select a Report\")]),(!_vm.msg)?_c('div',{staticClass:\"grid\"},_vm._l((13),function(i){return _c('button',{class:{ incorrect: _vm.incorrectReports.includes(i), found: _vm.hints[i - 1].found },attrs:{\"disabled\":_vm.hints[i - 1].incorrectCounter === 3},on:{\"click\":function () { return _vm.checkReport(i); }}},[_vm._v(_vm._s(i))])}),0):_c('p',{staticStyle:{\"text-align\":\"center\",\"font-size\":\"1.1em\"}},[_vm._v(_vm._s(_vm.msg))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { namespace } from \"vuex-class\";\n\nimport { Hints } from \"@/store/tracker_important/state\";\nimport { formatItem } from \"@/util\";\n\nconst tracker = namespace(\"tracker_important\");\n\n@Component\nexport default class Reports extends Vue {\n @tracker.State hints!: Hints;\n @tracker.State(\"currentLocation\") location!: string;\n\n incorrectReports: number[] = [];\n msg = \"\";\n hintsAtBottom: boolean = this.$store.state.settings.important.hintsAtBottom;\n timer = -1;\n\n checkReport(i: number): void {\n const hint = this.hints[i - 1];\n if (hint.report !== this.location) {\n this.incorrectReports.push(i);\n this.$store.commit(\"tracker_important/incrementIncorrectReport\", i - 1);\n return;\n }\n\n const msg\n = formatItem(hint.location)\n + (hint.checks === 0\n ? \" is a heartless choice\"\n : ` has ${hint.checks} important check${hint.checks !== 1 ? \"s\" : \"\"}`);\n\n console.log(msg);\n\n this.$store.dispatch(\"tracker_important/foundCheck\", {\n check: \"other/secret_reports\",\n location: this.location,\n });\n this.$store.dispatch(\"tracker_important/foundHint\", i - 1);\n\n if (this.hintsAtBottom) {\n this.$store.commit(\"tracker_important/setHintMessage\", msg);\n this.$router.push(\"/\");\n } else {\n this.msg = msg;\n this.timer = window.setTimeout(\n () => this.$router.push(\"/\"),\n this.$store.state.settings.important.autoHideHintsDelay ?? 3000,\n );\n }\n }\n\n destroyed() {\n if (this.timer !== -1) {\n window.clearTimeout(this.timer);\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reports.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Reports.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Reports.vue?vue&type=template&id=79455e28&scoped=true&lang=pug&\"\nimport script from \"./Reports.vue?vue&type=script&lang=ts&\"\nexport * from \"./Reports.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Reports.vue?vue&type=style&index=0&id=79455e28&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79455e28\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"grid\"},_vm._l((_vm.items),function(item){return _c('img',{attrs:{\"src\":(\"/img/\" + (_vm.styledIcon(item)) + \".webp\")},on:{\"click\":function($event){return _vm.select(item)}}})}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { namespace } from \"vuex-class\";\n\nimport { Game } from \"@/store/settings\";\nimport { Item } from \"@/store/tracker/state\";\n\nconst settings = namespace(\"settings\");\n\n@Component\nexport default class ItemPopup extends Vue {\n @settings.State game!: Game;\n\n name: string = this.$route.params.item;\n\n get item(): Item {\n return this.$store.state.tracker.self[this.game][this.name];\n }\n\n get title(): string {\n return this.item.popupTitle as string;\n }\n\n get items(): string[] {\n return this.item.popupItems as string[];\n }\n\n styledIcon(file: string): string {\n const cell = this.$store.getters[\"tracker/cell\"](\"self\", file);\n const style = cell.isMinimal\n ? \"Minimal\"\n : this.$store.state.settings.iconStyles[cell.category]?.value;\n\n if (style === cell.categoryExclude) {\n return `default/${file}`;\n }\n\n switch (style) {\n case \"Minimal\":\n return `minimal/${cell.minimal ?? file}`;\n case \"Classic\":\n return `legacy/${file}`;\n default:\n return `default/${file}`;\n }\n }\n\n select(item: string) {\n this.$store.dispatch(\"tracker/setCorrespondingItem\", {\n client: \"self\",\n game: this.game,\n cell: this.name,\n other: item,\n });\n this.$router.push(\"/\");\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPopup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPopup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ItemPopup.vue?vue&type=template&id=7c7190f2&scoped=true&lang=pug&\"\nimport script from \"./ItemPopup.vue?vue&type=script&lang=ts&\"\nexport * from \"./ItemPopup.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ItemPopup.vue?vue&type=style&index=0&id=7c7190f2&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c7190f2\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport VueRouter, { RouteConfig } from \"vue-router\";\n\nconst Info = () => import(\"@/views/info/Info.vue\");\nconst About = () => import(\"@/views/info/About.vue\");\nconst Help = () => import(\"@/views/info/Help.vue\");\nconst HelpNormal = () => import(\"@/views/info/HelpNormal.vue\");\nconst HelpImportant = () => import(\"@/views/info/HelpImportant.vue\");\nconst Thanks = () => import(\"@/views/info/Thanks.vue\");\nconst Changelog = () => import(\"@/views/info/Changelog.vue\");\n\nconst CoOp = () => import(\"@/views/CoOp.vue\");\n\nconst Settings = () => import(\"@/views/settings/Settings.vue\");\nconst SettingsGeneral = () => import(\"@/views/settings/SettingsGeneral.vue\");\nconst SettingsNormal = () => import(\"@/views/settings/SettingsNormal.vue\");\nconst SettingsImportant = () => import(\"@/views/settings/SettingsImportant.vue\");\nconst SettingsKh1 = () => import(\"@/views/settings/SettingsKh1.vue\");\n\nconst IconStyles = () => import(\"@/views/settings/IconStyles.vue\");\nconst EditItem = () => import(\"@/views/EditItem.vue\");\n\nconst Remote = () => import(\"@/views/Remote.vue\");\n\nimport Reports from \"@/views/Reports.vue\";\nimport ItemPopup from \"@/views/ItemPopup.vue\";\n\nVue.use(VueRouter);\n\nconst routes: Array = [\n {\n path: \"/info\",\n meta: { title: \"Info\" },\n component: Info,\n children: [\n {\n path: \"\",\n redirect: \"about\",\n },\n {\n path: \"about\",\n meta: { title: \"About\" },\n component: About,\n },\n {\n path: \"help\",\n meta: { title: \"Help\" },\n component: Help,\n children: [\n {\n path: \"\",\n redirect: \"normal\",\n },\n {\n path: \"normal\",\n meta: { title: \"Help (Normal)\" },\n component: HelpNormal,\n },\n {\n path: \"important\",\n meta: { title: \"Help (Important Checks Mode)\" },\n component: HelpImportant,\n },\n ],\n },\n {\n path: \"thanks\",\n meta: { title: \"Thanks\" },\n component: Thanks,\n },\n {\n path: \"changelog\",\n meta: { title: \"Changelog\" },\n component: Changelog,\n },\n ],\n },\n {\n path: \"/changelog\",\n meta: { title: \"Changelog\" },\n component: Changelog,\n },\n {\n path: \"/co-op\",\n meta: { title: \"Co-Op\" },\n component: CoOp,\n },\n {\n path: \"/settings\",\n meta: { title: \"Settings\" },\n component: Settings,\n children: [\n {\n path: \"\",\n redirect: \"general\",\n },\n {\n path: \"general\",\n meta: { title: \"General Settings\" },\n component: SettingsGeneral,\n },\n {\n path: \"icons\",\n meta: { title: \"Icon Styles Settings\" },\n component: IconStyles,\n },\n {\n path: \"normal\",\n meta: { title: \"Normal Settings\" },\n component: SettingsNormal,\n },\n {\n path: \"important\",\n meta: { title: \"Important Checks Mode Settings\" },\n component: SettingsImportant,\n },\n {\n path: \"kh1\",\n meta: { title: \"KH1 Settings\" },\n component: SettingsKh1,\n },\n ],\n },\n {\n path: \"/item/:file\",\n meta: { title: \"Edit Item\" },\n component: EditItem,\n },\n {\n path: \"/reports\",\n meta: { title: \"Select Report Found\" },\n component: Reports,\n },\n {\n path: \"/item_popup/:item(.+)\",\n meta: { title: \"Select Item\" },\n component: ItemPopup,\n },\n {\n path: \"/remote/:game/:room\",\n name: \"remote\",\n meta: { title: \"Remote View\", full: true },\n component: Remote,\n },\n {\n path: \"/(.+)\",\n redirect: \"/\",\n },\n];\n\nconst router = new VueRouter({\n mode: \"history\",\n routes,\n});\n\nexport default router;\n","import { ActionTree, MutationTree } from \"vuex\";\nimport { RootState } from \"../types\";\n\nlet socket: WebSocket;\n\nconst state = {\n room: \"\",\n joined: false,\n error: \"\",\n single: false,\n};\n\nexport type State = typeof state;\n\nconst mutations: MutationTree = {\n setRoom(state: State, room: string) {\n state.room = room;\n },\n\n setJoined(state: State, joined: boolean) {\n state.joined = joined;\n },\n\n setError(state: State, error: string) {\n state.error = error;\n },\n\n setSingle(state: State, single: boolean) {\n state.single = single;\n },\n};\n\nconst actions: ActionTree = {\n connect({ commit, dispatch }, payload: { openData: string }) {\n if (socket)\n // Ensure old connections are closed\n socket.close(1000);\n\n commit(\"setJoined\", false);\n commit(\"setError\", \"\");\n\n socket = new WebSocket(process.env.VUE_APP_WS as string);\n socket.addEventListener(\"error\", () => {\n commit(\"setError\", \"Could not connect to server. (Server may be down)\");\n });\n\n socket.addEventListener(\"open\", () => {\n socket.send(payload.openData);\n });\n\n socket.addEventListener(\"message\", e => {\n dispatch(\"handleMessage\", { message: e.data });\n });\n },\n\n sendClick(_, payload) {\n if (!socket || payload.client !== \"self\") return;\n\n socket.send(JSON.stringify(payload));\n },\n\n join({ dispatch }, payload: { room: string }) {\n dispatch(\"connect\", {\n openData: JSON.stringify({ type: \"join_room\", room: payload.room }),\n });\n },\n\n create({ commit, dispatch }, payload: { size: number; single: boolean }) {\n commit(\"setSingle\", payload.single);\n dispatch(\"connect\", {\n openData: JSON.stringify({ type: \"create_room\", size: payload.size, single: payload.single }),\n });\n },\n\n handleMessage({ commit, dispatch, state }, payload: { message: string }) {\n const msg = JSON.parse(payload.message);\n const client = state.single ? \"self\" : msg.id;\n\n switch (msg.type) {\n case \"room_created\":\n commit(\"setRoom\", msg.id);\n commit(\"setJoined\", true);\n break;\n\n case \"room_joined\":\n commit(\"setRoom\", msg.id);\n commit(\"setJoined\", true);\n commit(\"setSingle\", msg.single ?? false);\n break;\n\n case \"user_joined\":\n dispatch(\"tracker/addClient\", msg.id, { root: true });\n break;\n\n case \"user_left\":\n commit(\"tracker/removeClient\", { client: msg.id }, { root: true });\n break;\n\n case \"error\":\n commit(\"setError\", msg.message);\n break;\n\n case \"user_primary\":\n dispatch(\n \"tracker/primary\",\n {\n client,\n cell: msg.item,\n offset: msg.offset,\n shift: msg.shift,\n remote: true,\n },\n { root: true },\n );\n break;\n\n case \"user_secondary\":\n dispatch(\n \"tracker/secondary\",\n {\n client,\n cell: msg.item,\n offset: msg.offset,\n remote: true,\n },\n { root: true },\n );\n break;\n\n case \"user_disable\":\n dispatch(\"tracker/disable\", { client, cell: msg.item, remote: true }, { root: true });\n break;\n\n case \"user_corresponding\":\n dispatch(\n \"tracker/setCorrespondingItem\",\n {\n client,\n cell: msg.item,\n other: msg.other,\n remote: true,\n },\n { root: true },\n );\n break;\n }\n },\n};\n\nexport default {\n namespaced: true,\n state,\n mutations,\n actions,\n};\n","import { GetterTree } from \"vuex\";\n\nimport { Item, State } from \"./state\";\nimport { RootState } from \"../types\";\nimport { Game } from \"../settings\";\n\nconst getters: GetterTree = {\n items: (state, _, rootState) => (client: string) => {\n const game: Game = (rootState as any).settings.game;\n return state[client][game];\n },\n\n cell: (_, getters) => (client: string, item: string) => {\n return getters.items(client)[item];\n },\n\n secondary: (_, getters) => (client: string, item: string) => {\n const cell: Item = getters.cell(client, item);\n if (typeof cell.secondary === \"string\") {\n return cell.secondary;\n }\n\n if (Array.isArray(cell.secondary)) {\n return cell.secondary[cell.secondaryLevel - 1];\n }\n },\n\n secondaryNumber: (_, getters) => (client: string, item: string) => {\n const cell: Item = getters.cell(client, item);\n\n if (typeof cell.secondary === \"string\") {\n if (cell.secondaryMax && cell.secondaryLevel === cell.secondaryTotal + 1) {\n return \"max\";\n }\n\n if (cell.secondaryNumbers !== undefined) {\n return cell.secondaryNumbers[cell.secondaryLevel - 1];\n }\n\n if (cell.secondaryLevel > 1) {\n return cell.secondaryLevel;\n }\n }\n },\n};\n\nexport default getters;\n","import Vue from \"vue\";\nimport { MutationTree } from \"vuex\";\nimport { Items, State } from \"./state\";\nimport { Game } from \"../settings\";\n\nconst mutations: MutationTree = {\n addClient(state, payload: { client: string }): void {\n Vue.set(state, payload.client, {});\n },\n\n removeClient(state, payload: { client: string }): void {\n Vue.delete(state, payload.client);\n },\n\n addGame(state, payload: { client: string; game: Game; items: Items }): void {\n Vue.set(state[payload.client], payload.game, JSON.parse(JSON.stringify(payload.items)));\n },\n\n setOpaque(state, payload: { client: string; game: Game; cell: string; opaque: boolean }): void {\n state[payload.client][payload.game][payload.cell].opaque = payload.opaque;\n },\n\n setLevel(state, payload: { client: string; game: Game; cell: string; level: number }): void {\n state[payload.client][payload.game][payload.cell].level = payload.level;\n },\n\n setSecondaryLevel(\n state,\n payload: { client: string; game: Game; cell: string; level: number },\n ): void {\n state[payload.client][payload.game][payload.cell].secondaryLevel = payload.level;\n },\n\n setCorrespondingItem(\n state,\n payload: { client: string; game: Game; cell: string; other: string },\n ): void {\n state[payload.client][payload.game][payload.cell].correspondingItem = payload.other;\n },\n\n disable(state, payload: { client: string; game: Game; cell: string }): void {\n const item = state[payload.client][payload.game][payload.cell];\n item.disabled = !item.disabled;\n },\n\n resetState(state, payload: { client: string; game: Game; items: Items }): void {\n state[payload.client] = JSON.parse(JSON.stringify(payload.items));\n },\n};\n\nexport default mutations;\n","import { ActionTree } from \"vuex\";\n\nimport { State } from \"./state\";\nimport { RootState } from \"../types\";\nimport { Game } from \"../settings\";\nimport router from \"../../router\";\n\nconst actions: ActionTree = {\n primary(\n { commit, dispatch, state, rootState },\n { client, cell, offset = 1, shift = false, remote = false },\n ) {\n const game: Game = rootState.settings!.game;\n const items = state[client][game];\n const item = items[cell];\n if (item.disabled) return;\n\n if (!remote) {\n dispatch(\n \"co_op/sendClick\",\n { type: \"user_primary\", client, item: cell, offset, shift },\n { root: true },\n );\n }\n\n let level = item.level;\n const total = item.total + (typeof item.data === \"string\" ? 1 : item.data?.length ?? 0);\n const end = total + 1;\n\n // Increment level with wrapping overflow based on total,\n // but not if locked but levelled - assume it is now unlocked for first time\n if (!level || item.opaque || shift) {\n level = (level + end + offset) % end;\n }\n\n // Shift click to indicate levelling without fully unlocking\n // I.e. levelling drive forms through its auto ability\n if (shift) {\n if (offset > 0 && level - offset === 0) {\n level += 1;\n } else if (offset < 0 && level === 1) {\n level = 0;\n }\n }\n\n if (level) {\n if (!shift) {\n commit(\"setOpaque\", { client, game, cell, opaque: true });\n }\n } else {\n commit(\"setOpaque\", { client, game, cell, opaque: false });\n }\n\n const group = item.group;\n\n const groupItems: string[] = [];\n if (group) {\n for (const key in items) if (items[key].group === group) groupItems.push(key);\n } else {\n groupItems.push(cell);\n }\n\n for (const gItem of groupItems) {\n commit(\"setLevel\", { client, game, cell: gItem, level });\n\n if (\n (offset > 0 && item.secondaryAuto?.includes(level))\n || (offset < 0 && item.secondaryAuto?.includes(level - offset))\n || (offset < 0 && level === total && item.secondaryAuto?.includes(level))\n ) {\n let newSecLevel = (items[gItem].secondaryLevel + offset) % items[gItem].secondaryTotal;\n if (newSecLevel < 0) {\n newSecLevel = items[gItem].secondaryTotal + newSecLevel;\n }\n\n commit(\"setSecondaryLevel\", {\n client,\n game,\n cell: gItem,\n level: newSecLevel,\n });\n } else if (level === 0) {\n commit(\"setSecondaryLevel\", {\n client,\n game,\n cell: gItem,\n level: 0,\n });\n }\n }\n\n if (\n !remote\n && client === \"self\"\n && rootState.settings!.kh1.correspondingMagic\n && item.popupTitle !== undefined\n ) {\n if (level === 1 && offset > 0) {\n router.push(`item_popup/${cell}`);\n } else if (level === 0) {\n commit(\"setCorrespondingItem\", { client: \"self\", game, item: cell, other: \"\" });\n }\n }\n },\n\n secondary({ commit, dispatch, state, rootState }, { client, cell, offset = 1, remote = false }) {\n const game: Game = rootState.settings!.game;\n const items = state[client][game];\n const item = items[cell];\n if (item.disabled) return;\n\n const secondary = item.secondary;\n if (!secondary) return;\n\n if (!remote)\n dispatch(\n \"co_op/sendClick\",\n { type: \"user_secondary\", client, item: cell, offset },\n { root: true },\n );\n\n // Increment level with wrapping overflow based on total\n const length = Array.isArray(secondary) ? secondary.length : item.secondaryTotal;\n const end = 1 + length + +item.secondaryMax;\n commit(\"setSecondaryLevel\", {\n client,\n game,\n cell,\n level: (item.secondaryLevel + end + offset) % end,\n });\n },\n\n disable({ commit, dispatch, rootState }, { client, cell, remote }) {\n if (!remote)\n dispatch(\"co_op/sendClick\", { type: \"user_disable\", client, item: cell }, { root: true });\n\n const game = rootState.settings!.game;\n\n commit(\"disable\", { client, game, cell });\n },\n\n setCorrespondingItem({ commit, dispatch, rootState }, { client, cell, other, remote = false }) {\n if (!remote)\n dispatch(\n \"co_op/sendClick\",\n { type: \"user_corresponding\", client, item: cell, other },\n { root: true },\n );\n\n const game = rootState.settings!.game;\n\n commit(\"setCorrespondingItem\", { client, game, cell, other });\n },\n\n async addClient({ commit, rootState, state }, client: string) {\n const game = rootState.settings!.game;\n const { items } = await import(`./items/${game}`);\n\n if (state[client] === undefined) {\n commit(\"addClient\", { client });\n }\n\n commit(\"addGame\", { client, game, items });\n },\n\n async resetState({ commit, rootState, state }) {\n const game = rootState.settings!.game;\n const { items } = await import(`./items/${game}`);\n for (const client in state) {\n if (Object.prototype.hasOwnProperty.call(state, client)) {\n commit(\"addGame\", { client, game, items });\n }\n }\n },\n};\n\nexport default actions;\n","import { state } from \"./state\";\nimport getters from \"./getters\";\nimport mutations from \"./mutations\";\nimport actions from \"./actions\";\n\nexport type { State } from \"./state\";\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import { IconStyle } from \"../settings\";\nimport type { Item } from \"../types\";\n\nexport type Location = Item & {\n checks: number;\n totalChecks: number;\n other?: string | string[];\n otherLevel: number;\n};\n\nexport type Check = Item & { levelsImportant: boolean };\n\nconst item = (options: Partial): Item => ({\n total: 1,\n showFirst: false,\n level: 0,\n opaque: !!options.level,\n secondaryTotal: options.secondary ? 1 : 0,\n secondaryMax: false,\n secondaryLevel: 0,\n disabled: false,\n isMinimal: false,\n ...options,\n});\n\nconst location = (options: Partial & Pick): Location => ({\n checks: 0,\n totalChecks: -1,\n otherLevel: 0,\n ...item(options),\n});\n\nconst check = (options: Partial): Check => ({\n levelsImportant: true,\n ...item(options),\n});\n\nconst CHEST = \"other/chest\";\n\nconst locations = (): Array<{ [key: string]: Location }> => [\n {\n \"other/sora's_heart\": location({ setting: \"Sora's Heart\", category: \"levels\" }),\n \"other/drive_form\": location({ category: \"drive\" }),\n \"worlds/hollow_bastion\": location({\n secondary: [\n CHEST,\n ...[\n \"bailey\",\n \"ansem's_study\",\n \"dancers\",\n \"demyx_story\",\n \"1000_heartless\",\n \"sephiroth\",\n \"demyx\",\n ].map(i => `hollow_bastion/${i}`),\n ],\n other: [\"depths\", \"mining_area\", \"engine_chamber\", \"transport\"].map(\n i => `cavern_of_remembrance/${i}`,\n ),\n category: \"worlds\",\n }),\n \"worlds/twilight_town\": location({\n secondary: [\"mysterious_tower\", \"berserkers\", \"mickey\", \"betwixt_and_between\", \"axel\"].map(\n i => `twilight_town/${i}`,\n ),\n category: \"worlds\",\n }),\n },\n\n {\n \"worlds/land_of_dragons\": location({\n secondary: [\n CHEST,\n ...[\"village_cave\", \"summit\", \"shan_yu\", \"snipers\", \"storm_rider\", \"xigbar\"].map(\n i => `land_of_dragons/${i}`,\n ),\n ],\n category: \"worlds\",\n }),\n \"worlds/beast's_castle\": location({\n secondary: [\n CHEST,\n ...[\"thresholder\", \"beast\", \"dark_thorn\", \"dragoons\", \"xaldin_story\", \"xaldin\"].map(\n i => `beast's_castle/${i}`,\n ),\n ],\n category: \"worlds\",\n }),\n \"worlds/olympus_coliseum\": location({\n secondary: [\n CHEST,\n ...[\"cerberus\", \"the_lock\", \"hydra\", \"hades\", \"zexion\"].map(c => `olympus_coliseum/${c}`),\n ],\n other: [\"pain_panic_cup\", \"cerberus_cup\", \"titan_cup\", \"goddess_cup\", \"hades_cup\"].map(\n c => `olympus_coliseum/${c}`,\n ),\n category: \"worlds\",\n }),\n \"worlds/space_paranoids\": location({\n secondary: [\n CHEST,\n ...[\n \"dataspace\",\n \"hostile_program\",\n \"solar_sailer\",\n \"master_control_program\",\n \"larxene\",\n ].map(i => `space_paranoids/${i}`),\n ],\n category: \"worlds\",\n }),\n },\n\n {\n \"worlds/halloween_town\": location({\n secondary: [\n CHEST,\n ...[\n \"candy_cane_lane\",\n \"prison_keeper\",\n \"oogie_boogie\",\n \"presents\",\n \"experiment\",\n \"vexen\",\n ].map(i => `halloween_town/${i}`),\n ],\n category: \"worlds\",\n }),\n \"worlds/port_royal\": location({\n secondary: [\n CHEST,\n ...[\"town\", \"isla_de_muerta\", \"barbossa\", \"gamblers\", \"grim_reaper\", \"luxord\"].map(\n i => `port_royal/${i}`,\n ),\n ],\n category: \"worlds\",\n }),\n \"worlds/agrabah\": location({\n secondary: [\n CHEST,\n ...[\n \"abu\",\n \"chasm_of_challenges\",\n \"elemental_lords\",\n \"magic_switches\",\n \"jafar\",\n \"lexaeus\",\n ].map(i => `agrabah/${i}`),\n ],\n category: \"worlds\",\n }),\n \"worlds/pride_lands\": location({\n secondary: [CHEST, ...[\"oasis\", \"scar\", \"groundshaker\", \"saix\"].map(i => `pride_lands/${i}`)],\n category: \"worlds\",\n }),\n },\n\n {\n \"worlds/disney_castle\": location({\n secondary: [\n CHEST,\n \"disney_castle/minnie\",\n ...[\"old_pete\", \"windows_of_time\", \"pete\"].map(i => `timeless_river/${i}`),\n \"disney_castle/marluxia\",\n ],\n other: \"disney_castle/lingering_will\",\n category: \"worlds\",\n }),\n \"worlds/100_acre_wood\": location({\n secondary: [\n CHEST,\n ...[\"blustery_rescue\", \"hunny_slider\", \"balloon_bounce\", \"expotition\", \"hunny_pot\"].map(\n i => `100_acre_wood/${i}`,\n ),\n ],\n setting: \"100 Acre Wood\",\n category: \"worlds\",\n }),\n \"worlds/simulated_twilight_town\": location({\n secondary: [\"computer_room\", \"pod_room\", \"roxas\"].map(i => `simulated_twilight_town/${i}`),\n setting: \"Simulated Twilight Town\",\n category: \"worlds\",\n categoryExclude: IconStyle.CLASSIC,\n }),\n \"worlds/the_world_that_never_was\": location({\n secondary: [\n CHEST,\n ...[\"roxas\", \"xigbar\", \"luxord\", \"saix\", \"kingdom_hearts\", \"xemnas\"].map(\n i => `the_world_that_never_was/${i}`,\n ),\n ],\n category: \"worlds\",\n }),\n \"worlds/atlantica\": location({ setting: \"Atlantica\", category: \"worlds\" }),\n },\n];\n\nconst mapChecks = (keys: Array]>, defaults: Check) =>\n Object.fromEntries(\n keys.map(k =>\n // each element is either a string to be used as a key and given the defaults, or an array of\n // the key and options to add to the defaults, e.g. [\"final\", { category: \"Final Form\" }]\n (!Array.isArray(k) ? [k, { ...defaults }] : [k[0], { ...defaults, ...k[1] }])),\n );\n\nconst checks = (): Array<{ [key: string]: Check }> => [\n {\n \"other/secret_reports\": check({\n total: 13,\n setting: \"Secret Ansem Reports\",\n category: \"reports\",\n }),\n \"other/torn_pages\": check({ total: 5, cls: \"pages\", setting: \"Torn Pages\", category: \"pages\" }),\n },\n\n {\n ...mapChecks(\n [\"magic/fire\", \"magic/blizzard\", \"magic/thunder\"],\n check({ total: 3, category: \"magic\", secondary: \"other/duck\", cls: \"magic\" }),\n ),\n ...mapChecks(\n [[\"magic/cure\", { setting: \"Cure\" }], \"magic/reflect\", \"magic/magnet\"],\n check({ total: 3, category: \"magic\" }),\n ),\n },\n\n {\n ...mapChecks(\n [\n [\"drive/valor\", { secondary: \"other/high_jump\" }],\n [\"drive/wisdom\", { secondary: \"other/quick_run\" }],\n [\"drive/limit\", { secondary: \"other/dodge_roll\" }],\n [\"drive/master\", { secondary: \"other/aerial_dodge\" }],\n [\"drive/final\", { secondary: \"other/glide\", setting: \"Final Form\" }],\n ],\n check({\n total: 7,\n secondaryTotal: 3,\n secondaryMax: true,\n cls: \"drive\",\n levelsImportant: false,\n category: \"forms\",\n }),\n ),\n },\n\n {\n ...mapChecks(\n [\"summons/chicken_little\", \"summons/genie\", \"summons/stitch\", \"summons/peter_pan\"],\n check({ total: 7, group: \"summon\", category: \"summons\", levelsImportant: false }),\n ),\n },\n\n {\n ...mapChecks(\n [\"other/second_chance\", \"other/once_more\"],\n check({ setting: \"Second Chance & Once More\", category: \"scom\" }),\n ),\n \"other/promise_charm\": check({ setting: \"Promise Charm\", category: \"charm\" }),\n ...mapChecks(\n [\"other/proof_of_nonexistence\", \"other/proof_of_connection\", \"other/proof_of_tranquility\"],\n check({\n secondary: [\"bronze\", \"silver\", \"gold\"].map(i => `other/${i}`),\n category: \"proofs\",\n cls: \"proof\",\n }),\n ),\n },\n];\n\nexport interface Items {\n locations: string[][];\n checks: string[][];\n all: { [key: string]: Item };\n}\n\nconst items = (): Items => ({\n locations: locations().map(l => Object.keys(l)),\n checks: checks().map(c => Object.keys(c)),\n all: Object.assign({}, ...locations(), ...checks()),\n});\n\nexport type Hint = {\n report: string;\n location: string;\n checks: number;\n found: boolean;\n incorrectCounter: number;\n};\n\nexport type Hints = Array;\n\nexport type HintSetting = {\n items: string[];\n disable: boolean;\n check: boolean;\n value: number;\n enabled: boolean;\n show: boolean;\n};\n\nconst hintSetting = (options: { items: string[] } & Partial): HintSetting => ({\n disable: false,\n enabled: true,\n value: 1,\n check: false,\n show: true,\n ...options,\n});\n\nconst hintSettings = (): { [key: string]: HintSetting } => ({\n \"Promise Charm\": hintSetting({ items: [\"other/promise_charm\"], disable: true, check: true }),\n \"Second Chance & Once More\": hintSetting({\n items: [\"other/second_chance\", \"other/once_more\"],\n check: true,\n value: 2,\n }),\n \"Torn Pages\": hintSetting({ items: [\"other/torn_page\"], check: true, value: 5 }),\n \"Secret Ansem Reports\": hintSetting({\n items: [\"other/secret_reports\"],\n check: true,\n value: 13,\n }),\n Cure: hintSetting({ items: [\"magic/cure\"], check: true, value: 3 }),\n \"Final Form\": hintSetting({ items: [\"drive/final\"], check: true }),\n \"Sora's Heart\": hintSetting({ items: [\"other/sora's_heart\"], disable: true }),\n \"Simulated Twilight Town\": hintSetting({\n items: [\"worlds/simulated_twilight_town\"],\n disable: true,\n }),\n \"100 Acre Wood\": hintSetting({ items: [\"worlds/100_acre_wood\"], disable: true }),\n Atlantica: hintSetting({ items: [\"worlds/atlantica\"], show: false }),\n});\n\nconst mapItems = (key: \"locations\" | \"checks\"): { [key: string]: string[] } =>\n Object.fromEntries(\n // prettier-ignore\n items()[key]\n .flat()\n .map(i => [i, []]),\n );\n\nexport const initialState = () => ({\n items: items(),\n\n foundChecks: { ...mapItems(\"locations\"), Free: [] } as { [key: string]: string[] },\n checkLocations: mapItems(\"checks\"),\n\n checks: 0,\n totalChecks: 51,\n\n currentLocation: \"\",\n selectedLocation: \"Free\",\n\n hints: [] as Hints,\n hintsLoaded: false,\n hintSettings: hintSettings(),\n hintMessage: \"\",\n});\n\nexport const state = initialState();\n\nexport type State = typeof state;\n","import type { GetterTree } from \"vuex\";\n\nimport type { State } from \"./state\";\nimport type { Item, RootState } from \"../types\";\n\nexport const getters: GetterTree = {\n isLocation: state => (item: string): boolean => state.items.locations.flat().includes(item),\n\n cell: state => (item: string): Item => state.items.all[item] ?? {},\n\n secondary: (_, getters) => (item: string): string | undefined => {\n const cell: Item = getters.cell(item);\n\n if (typeof cell.secondary === \"string\") {\n return cell.secondary;\n }\n\n if (Array.isArray(cell.secondary)) {\n return cell.secondary[cell.secondaryLevel - 1];\n }\n },\n\n secondaryNumber: (_, getters) => (item: string): string | number | undefined => {\n const cell = getters.cell(item);\n\n if (typeof cell.secondary === \"string\") {\n if (cell.secondaryMax && cell.secondaryLevel === cell.secondaryTotal + 1) {\n return \"max\";\n }\n\n if (cell.secondaryLevel > 1) {\n return cell.secondaryLevel;\n }\n }\n },\n\n hasProof: state => (location: string): boolean =>\n state.foundChecks[location].some(c => c.startsWith(\"other/proof_\")),\n\n willBeHinted: (state, getters) => (location: string): boolean =>\n // the world has a proof\n getters.hasProof(location)\n // the world has a report that hints a world with a proof\n || state.hints\n .filter(h => h.found && h.report === location)\n .some(h => getters.hasProof(h.location))\n // the world has a form and a proof is on drive levels\n || (getters.hasProof(\"other/drive_form\")\n && state.foundChecks[location].some(c => c.startsWith(\"drive/\")))\n // the world has a page and a proof is in 100AW\n || (getters.hasProof(\"worlds/100_acre_wood\")\n && state.foundChecks[location].includes(\"other/torn_pages\")),\n};\n","import { MutationTree } from \"vuex\";\n\nimport { Hints, Location, State, initialState } from \"./state\";\nimport type { Item } from \"../types\";\n\nexport const mutations: MutationTree = {\n setOpaque(_state, { item, opaque }: { item: Item; opaque: boolean }): void {\n item.opaque = opaque;\n },\n\n setLevel(_state, payload: { item: Item; level: number }): void {\n payload.item.level = payload.level;\n },\n\n setSecondaryLevel(_state, payload: { item: Item; level: number }): void {\n payload.item.secondaryLevel = payload.level;\n },\n\n setOtherLevel(_state, payload: { item: Location; level: number }): void {\n payload.item.otherLevel = payload.level;\n },\n\n disable(_state, item: Item): void {\n item.disabled = !item.disabled;\n },\n\n setHints(state, hints: Hints): void {\n state.hints = hints;\n state.hintsLoaded = true;\n },\n\n setHintSettings(state, settings: { [key: string]: boolean }) {\n for (const key in state.hintSettings) {\n if (Object.prototype.hasOwnProperty.call(state.hintSettings, key)) {\n state.hintSettings[key].enabled = settings[key] ?? false;\n\n if (!settings[key] && state.hintSettings[key].disable) {\n state.hintSettings[key].items.forEach(i => {\n state.items.all[i].disabled = true;\n });\n }\n }\n }\n },\n\n setLocation(state, location: string): void {\n state.currentLocation = location;\n },\n\n selectLocation(state, location: string): void {\n state.selectedLocation = location;\n },\n\n incrementLocationChecks(\n state,\n { location, offset = 1 }: { location: string; offset: number },\n ): void {\n const locationState = state.items.all[location] as Location;\n if (!locationState) return;\n\n locationState.checks += offset;\n },\n\n incrementChecks(state, offset = 1): void {\n state.checks += offset;\n },\n\n setLocationTotal(state, payload: { location: string; checks: number }): void {\n (state.items.all[payload.location] as Location).totalChecks = payload.checks;\n },\n\n setCheckLocation(state, payload: { check: string; location: string }) {\n state.checkLocations[payload.check].push(payload.location);\n state.foundChecks[payload.location].push(payload.check);\n },\n\n removeCheckLocation(state, payload: { check: string; location: string }) {\n const locations = state.checkLocations[payload.check];\n locations.splice(locations.indexOf(payload.location), 1);\n\n const checks = state.foundChecks[payload.location];\n checks.splice(checks.indexOf(payload.check), 1);\n },\n\n foundHint(state, index: number): void {\n state.hints[index].found = true;\n },\n\n incrementIncorrectReport(state, index: number): void {\n state.hints[index].incorrectCounter++;\n },\n\n setHintMessage(state, message: string): void {\n state.hintMessage = message;\n },\n\n resetState(state): void {\n Object.assign(state, initialState());\n },\n};\n","// From https://github.com/Jsmartee/kh2fm-hints-demo/blob/master/js/codes.js\n\nconst Free = [\n \"11CE05E2\",\n \"11CE05EE\",\n \"11CE05FA\",\n \"11D18DDE\",\n \"11D18DDC\",\n \"11D18DE8\",\n \"11D18DE4\",\n \"11D18DE6\",\n \"11D18DE0\",\n \"11D18DE2\",\n];\n\nconst SimulatedTwilightTown = [\n \"11CE016E\",\n \"11CE017A\",\n \"11CE0186\",\n \"11CE0192\",\n \"11CE019E\",\n \"11CE01AA\",\n \"11CE01B6\",\n \"11CE01C2\",\n \"11CE01CE\",\n \"11CE01DA\",\n \"11CE01E6\",\n \"11CE01F2\",\n \"11CE01FE\",\n \"11CE020A\",\n \"11CE0216\",\n \"11CE0222\",\n \"21D10FA8\",\n \"21D10CB8\",\n \"21D11278\",\n \"11CE0636\",\n \"11CE0606\",\n \"11CE0612\", // champion belt\n \"11CE061E\", // medal\n \"11CE062A\",\n \"11CE0642\",\n \"11CE064E\",\n\n \"11CE0B0A\", // data roxas\n];\n\nconst TwilightTown = [\n \"11CE022E\",\n \"11CE023A\",\n \"11CE0246\",\n \"11CE0252\",\n \"11CE025E\",\n \"11CE026A\",\n \"11CE0276\",\n \"11CE0282\",\n \"11CE028E\",\n \"11CE029A\",\n \"11CE02A6\",\n \"11CE02B2\",\n \"11CE02BE\",\n \"11CE02CA\",\n \"11CE02D6\",\n \"11CE02E2\",\n \"11CE02EE\",\n \"11CE02FA\",\n \"11CE0306\",\n \"11CE0312\",\n \"11CE031E\",\n \"11CE032A\",\n \"11CE0336\",\n \"11CE0342\",\n \"11CE034E\",\n \"11CE035A\",\n \"11CE0366\",\n \"11CE0372\",\n \"11CE037E\",\n \"11CE038A\",\n \"11CE0396\",\n \"11CE03A2\",\n \"11CE03AE\",\n \"11CE03BA\",\n \"11CE03C6\",\n \"11CE03D2\",\n \"11CE03DE\",\n \"11CE03EA\",\n \"11CE03F6\",\n \"21D110E8\",\n \"11CE065A\",\n \"11CE0666\",\n \"11CE0672\",\n \"11CE067E\",\n \"11CE07E6\",\n \"11CE07F2\",\n \"11CE07FE\",\n \"11CE0966\",\n \"11CE09AE\",\n \"11CE0A0E\",\n\n \"11CE0ACE\", // data axel\n];\n\nconst HollowBastion = [\n \"11CDFF3A\",\n \"11CDFF46\",\n \"11CDFF52\",\n \"11CDFF5E\",\n \"11CDFF6A\",\n \"11CDFF76\",\n \"11CDFF82\",\n \"11CDFF8E\",\n \"11CDFF9A\",\n \"11CDFFA6\",\n \"11CDFFB2\",\n \"11CDFFBE\",\n \"11CDFFCA\",\n \"11CDFFD6\",\n \"11CDFFE2\",\n \"11CDFFEE\",\n \"11CDFFFA\",\n \"11CE0006\",\n \"11CE0012\",\n \"11CE001E\",\n \"11CE002A\",\n \"11CE0036\",\n \"21D10E98\",\n \"21D10BA8\",\n \"21D11068\",\n \"11CE068A\",\n \"11CE0696\",\n \"11CE06A2\",\n \"11CE0702\",\n \"11CE080A\",\n \"11CE0822\",\n \"11CE082E\",\n \"11CE083A\",\n \"11CE0936\",\n \"11CE0942\",\n \"11CE09A2\",\n \"11CE09EA\",\n \"11CE0B3A\", // shroom\n \"11CE0B2E\", // shroom\n\n \"11CE04E6\", // cor\n \"11CE04F2\",\n \"11CE04FE\",\n \"11CE050A\",\n \"11CE0516\",\n \"11CE0522\",\n \"11CE052E\",\n \"11CE053A\",\n \"11CE0546\",\n \"11CE0552\",\n \"11CE055E\",\n \"11CE056A\",\n \"11CE0576\",\n \"11CE0582\",\n \"11CE058E\",\n \"11CE059A\",\n \"11CE05A6\",\n \"11CE05B2\",\n \"11CE05BE\",\n \"11CE05CA\",\n \"11CE05D6\",\n\n \"11CE0AB6\", // data demyx\n];\n\nconst LandOfDragons = [\n \"11CDF72A\",\n \"11CDF736\",\n \"11CDF742\",\n \"11CDF74E\",\n \"11CDF75A\",\n \"11CDF766\",\n \"11CDF772\",\n \"11CDF77E\",\n \"11CDF78A\",\n \"11CDF796\",\n \"11CDF7A2\",\n \"11CDF7AE\",\n \"11CDF7BA\",\n \"11CDF7C6\",\n \"11CDF7D2\",\n \"11CDF7DE\",\n \"11CDF7EA\",\n \"11CDF7F6\",\n \"11CDF802\",\n \"11CDF80E\",\n \"11CDF81A\",\n \"21D10DF8\",\n \"21D108C8\",\n \"21D10908\",\n \"11CE06D2\",\n \"11CE06C6\",\n \"11CE06DE\",\n \"11CE06EA\",\n\n \"11CE0AE6\", // data xigbar\n];\n\nconst BeastsCastle = [\n \"11CDFBF2\",\n \"11CDFBFE\",\n \"11CDFC0A\",\n \"11CDFC16\",\n \"11CDFC22\",\n \"11CDFC2E\",\n \"11CDFC3A\",\n \"11CDFC46\",\n \"11CDFC52\",\n \"11CDFC5E\",\n \"11CDFC6A\",\n \"11CDFC76\",\n \"11CDFC82\",\n \"11CDFC8E\",\n \"11CDFC9A\",\n \"11CDFCA6\",\n \"11CDFCB2\",\n \"11CDFCBE\",\n \"11CDFCCA\",\n \"11CDFCD6\",\n \"11CDFCE2\",\n \"21D10758\",\n \"21D10788\",\n \"21D107C8\",\n \"11CE06F6\",\n \"11CE0852\",\n \"11CE085E\",\n \"11CE09C6\",\n\n \"11CE0AC2\", // data xaldin\n];\n\nconst OlympusColiseum = [\n \"11CDFB02\",\n \"11CDFB0E\",\n \"11CDFB1A\",\n \"11CDFB26\",\n \"11CDFB32\",\n \"11CDFB3E\",\n \"11CDFB4A\",\n \"11CDFB56\",\n \"11CDFB62\",\n \"11CDFB6E\",\n \"11CDFB7A\",\n \"11CDFB86\",\n \"11CDFB92\",\n \"11CDFB9E\",\n \"11CDFBAA\",\n \"11CDFBB6\",\n \"11CDFBC2\",\n \"11CDFBCE\",\n \"11CDFBDA\",\n \"11CDFBE6\",\n \"21D10808\",\n \"21D10FE8\",\n \"21D10828\",\n \"21D10858\",\n \"21D10888\",\n \"11CE070E\",\n \"11CE071A\",\n \"11CE09D2\",\n \"11CE0726\",\n \"11CE0882\",\n \"11CE088E\",\n\n \"11CE073E\", // cups\n \"11CE074A\",\n \"11CE07CE\",\n \"11CE07DA\",\n \"11CE089A\",\n \"11CE08A6\",\n \"11CE094E\",\n \"11CE095A\",\n \"11CE0996\", // hades cup\n\n \"11CE0A56\", // AS zexion\n \"11CE0A92\", // data zexion\n];\n\nconst DisneyCastle = [\n \"11CDF9B2\",\n \"11CDF9BE\",\n \"11CDF9CA\",\n \"11CDF9D6\",\n \"11CDF9E2\",\n \"11CDF9EE\",\n \"11CDF9FA\",\n \"11CDFA06\",\n \"21D10D28\",\n \"11CE0756\",\n \"11CE0B16\", // terra\n \"11CE0B22\", // terra\n\n \"11CDF95E\", // timeless river\n \"11CDF96A\",\n \"11CDF976\",\n \"11CDF982\",\n \"11CDF98E\",\n \"11CDF99A\",\n \"11CDF9A6\",\n \"21D10988\",\n \"21D109B8\",\n \"11CE076E\",\n \"11CE0732\",\n \"11CE0762\",\n\n \"11CE0A6E\", // AS marluxia\n \"11CE0AAA\", // data marluxia\n];\n\nconst PortRoyal = [\n \"11CDFE3E\",\n \"11CDFE4A\",\n \"11CDFE56\",\n \"11CDFE62\",\n \"11CDFE6E\",\n \"11CDFE7A\",\n \"11CDFE86\",\n \"11CDFE92\",\n \"11CDFE9E\",\n \"11CDFEAA\",\n \"11CDFEB6\",\n \"11CDFEC2\",\n \"11CDFECE\",\n \"11CDFEDA\",\n \"11CDFEE6\",\n \"11CDFEF2\",\n \"11CDFEFE\",\n \"11CDFF0A\",\n \"11CDFF16\",\n \"11CDFF22\",\n \"11CDFF2E\",\n \"21D110B8\",\n \"21D10AA8\",\n \"21D11028\",\n \"21D10AE8\",\n \"11CE077A\",\n \"11CE0786\",\n \"11CE086A\",\n \"11CE0876\",\n \"11CE09DE\",\n\n \"11CE0AFE\", // data luxord\n];\n\nconst Agrabah = [\n \"11CDF826\",\n \"11CDF832\",\n \"11CDF83E\",\n \"11CDF84A\",\n \"11CDF856\",\n \"11CDF862\",\n \"11CDF86E\",\n \"11CDF87A\",\n \"11CDF886\",\n \"11CDF892\",\n \"11CDF89E\",\n \"11CDF8AA\",\n \"11CDF8B6\",\n \"11CDF8C2\",\n \"11CDF8CE\",\n \"11CDF8DA\",\n \"11CDF8E6\",\n \"11CDF8F2\",\n \"11CDF8FE\",\n \"11CDF90A\",\n \"11CDF916\",\n \"11CDF922\",\n \"11CDF92E\",\n \"11CDF93A\",\n \"11CDF946\",\n \"11CDF952\",\n \"21D10DB8\",\n \"21D10CE8\",\n \"21D10978\",\n \"11CE0792\",\n \"11CE079E\",\n \"11CE08B2\",\n\n \"11CE0A4A\", // AS lexaeus\n \"11CE0A86\", // data lexaeus\n];\n\nconst HalloweenTown = [\n \"11CDFD96\",\n \"11CDFDA2\",\n \"11CDFDAE\",\n \"11CDFDBA\",\n \"11CDFDC6\",\n \"11CDFDD2\",\n \"11CDFDDE\",\n \"11CDFDEA\",\n \"11CDFDF6\",\n \"11CDFE02\",\n \"11CDFE0E\",\n \"11CDFE1A\",\n \"11CDFE26\",\n \"11CDFE32\",\n \"21D109E8\",\n \"11CE07AA\",\n \"11CE08BE\",\n \"11CE08CA\",\n \"11CE08D6\",\n\n \"11CE0A3E\", // AS vexen\n \"11CE0A7A\", // data vexen\n];\n\nconst PrideLands = [\n \"11CE0042\",\n \"11CE004E\",\n \"11CE005A\",\n \"11CE0066\",\n \"11CE0072\",\n \"11CE007E\",\n \"11CE008A\",\n \"11CE0096\",\n \"11CE00A2\",\n \"11CE00AE\",\n \"11CE00BA\",\n \"11CE00C6\",\n \"11CE00D2\",\n \"11CE00DE\",\n \"11CE00EA\",\n \"11CE00F6\",\n \"11CE0102\",\n \"11CE010E\",\n \"11CE011A\",\n \"11CE0126\",\n \"11CE0132\",\n \"11CE013E\",\n \"11CE014A\",\n \"11CE0156\",\n \"11CE0162\",\n \"21D10C18\",\n \"11CE07B6\",\n \"11CE07C2\",\n\n \"11CE0AF2\", // data saix\n];\n\nconst Atlantica = [\"11CE0846\", \"11CE08E2\", \"11CE08EE\", \"11CE08FA\"];\n\nconst AcreWood = [\n \"11CDFA12\",\n \"11CDFA1E\",\n \"11CDFA2A\",\n \"11CDFA36\",\n \"11CDFA42\",\n \"11CDFA4E\",\n \"11CDFA5A\",\n \"11CDFA66\",\n \"11CDFA72\",\n \"11CDFA7E\",\n \"11CDFA8A\",\n \"11CDFA96\",\n \"11CDFAA2\",\n \"11CDFAAE\",\n \"11CDFABA\",\n \"11CDFAC6\",\n \"11CDFAD2\",\n \"11CDFADE\",\n \"11CDFAEA\",\n \"11CDFAF6\",\n \"11CE0906\",\n \"11CE0912\",\n \"11CE091E\",\n \"11CE092A\",\n];\n\nconst SpaceParanoids = [\n \"11CDFCEE\",\n \"11CDFCFA\",\n \"11CDFD06\",\n \"11CDFD12\",\n \"11CDFD1E\",\n \"11CDFD2A\",\n \"11CDFD36\",\n \"11CDFD42\",\n \"11CDFD4E\",\n \"11CDFD5A\",\n \"11CDFD66\",\n \"11CDFD72\",\n \"11CDFD7E\",\n \"11CDFD8A\",\n \"21D10C38\",\n \"21D11078\",\n \"21D10C78\",\n \"11CE0816\",\n \"11CE0A62\", // AS larxene\n \"11CE0A9E\", // data larxene\n];\n\nconst TheWorldThatNeverWas = [\n \"11CE0402\",\n \"11CE040E\",\n \"11CE041A\",\n \"11CE0426\",\n \"11CE0432\",\n \"11CE043E\",\n \"11CE044A\",\n \"11CE0456\",\n \"11CE0462\",\n \"11CE046E\",\n \"11CE047A\",\n \"11CE0486\",\n \"11CE0492\",\n \"11CE049E\",\n \"11CE04AA\",\n \"11CE04B6\",\n \"11CE04C2\",\n \"11CE04CE\",\n \"11CE04DA\",\n \"21D111E8\",\n \"21D10B58\",\n \"11CE0972\",\n \"11CE097E\",\n \"11CE098A\",\n \"11CE09BA\",\n \"11CE09F6\",\n \"11CE0A02\",\n \"11CE0A1A\",\n \"11CE0A26\",\n \"11CE0A32\",\n\n \"11CE0ADA\", // data xemnas\n];\n\nconst Forms = [\n \"11D1A22E\", // valor\n \"11D1A236\",\n \"11D1A23E\",\n \"11D1A246\",\n \"11D1A24E\",\n \"11D1A256\",\n \"11D1A266\", // wisdom\n \"11D1A26E\",\n \"11D1A276\",\n \"11D1A27E\",\n \"11D1A286\",\n \"11D1A28E\",\n \"11D1A29E\", // limit\n \"11D1A2A6\",\n \"11D1A2AE\",\n \"11D1A2B6\",\n \"11D1A2BE\",\n \"11D1A2C6\",\n \"11D1A2D6\", // master\n \"11D1A2DE\",\n \"11D1A2E6\",\n \"11D1A2EE\",\n \"11D1A2F6\",\n \"11D1A2FE\",\n \"11D1A30E\", // Final\n \"11D1A316\",\n \"11D1A31E\",\n \"11D1A326\",\n \"11D1A32E\",\n \"11D1A336\",\n];\n\nconst Levels = [\n \"11D0B6C0\", // Lvl 2\n \"11D0B6E0\", // Lvl 4\n \"11D0B710\", // Lvl 7\n \"11D0B730\", // Lvl 9\n \"11D0B740\", // Lvl 10\n \"11D0B760\", // Lvl 12\n \"11D0B780\", // Lvl 14\n \"11D0B790\", // Lvl 15\n \"11D0B7B0\", // Lvl 17\n \"11D0B7E0\", // Lvl 20\n \"11D0B810\", // Lvl 23\n \"11D0B830\", // Lvl 25\n \"11D0B860\", // Lvl 28\n \"11D0B880\", // Lvl 30\n \"11D0B8A0\", // Lvl 32\n \"11D0B8C0\", // Lvl 34\n \"11D0B8E0\", // Lvl 36\n \"11D0B910\", // Lvl 39\n \"11D0B930\", // Lvl 41\n \"11D0B960\", // Lvl 44\n \"11D0B980\", // Lvl 46\n \"11D0B9A0\", // Lvl 48\n \"11D0B9C0\", // Lvl 50\n\n \"11D0B6D0\", // Lvl 3\n \"11D0B6F0\", // Lvl 5\n \"11D0B700\", // Lvl 6\n \"11D0B720\", // Lvl 8\n \"11D0B750\", // Lvl 11\n \"11D0B770\", // Lvl 13\n \"11D0B7A0\", // Lvl 16\n \"11D0B7C0\", // Lvl 18\n \"11D0B7D0\", // Lvl 19\n \"11D0B7F0\", // Lvl 21\n \"11D0B800\", // Lvl 22\n \"11D0B820\", // Lvl 24\n \"11D0B840\", // Lvl 26\n \"11D0B850\", // Lvl 27\n \"11D0B870\", // Lvl 29\n \"11D0B890\", // Lvl 31\n \"11D0B8B0\", // Lvl 33\n \"11D0B8D0\", // Lvl 35\n \"11D0B8F0\", // Lvl 37\n \"11D0B920\", // Lvl 40\n \"11D0B940\", // Lvl 42\n \"11D0B950\", // Lvl 43\n \"11D0B970\", // Lvl 45\n \"11D0B990\", // Lvl 47\n \"11D0B9B0\", // Lvl 49\n\n \"11D0B9D0\", // Lvl 51-99\n \"11D0B9E0\",\n \"11D0B9F0\",\n \"11D0BA00\",\n \"11D0BA10\",\n \"11D0BA20\",\n \"11D0BA30\",\n \"11D0BA40\",\n \"11D0BA50\",\n \"11D0BA60\",\n \"11D0BA70\",\n \"11D0BA80\",\n \"11D0BA90\",\n \"11D0BAA0\",\n \"11D0BAB0\",\n \"11D0BAC0\",\n \"11D0BAD0\",\n \"11D0BAE0\",\n \"11D0BAF0\",\n \"11D0BB00\",\n \"11D0BB10\",\n \"11D0BB20\",\n \"11D0BB30\",\n \"11D0BB40\",\n \"11D0BB50\",\n \"11D0BB60\",\n \"11D0BB70\",\n \"11D0BB80\",\n \"11D0BB90\",\n \"11D0BBA0\",\n \"11D0BBB0\",\n \"11D0BBC0\",\n \"11D0BBD0\",\n \"11D0BBE0\",\n \"11D0BBF0\",\n \"11D0BC00\",\n \"11D0BC10\",\n \"11D0BC20\",\n \"11D0BC30\",\n \"11D0BC40\",\n \"11D0BC50\",\n \"11D0BC60\",\n \"11D0BC70\",\n \"11D0BC80\",\n \"11D0BC90\",\n \"11D0BCA0\",\n \"11D0BCB0\",\n \"11D0BCC0\",\n \"11D0BCD0\",\n];\n\nexport const locations = {\n \"worlds/100_acre_wood\": AcreWood,\n \"worlds/simulated_twilight_town\": SimulatedTwilightTown,\n \"worlds/twilight_town\": TwilightTown,\n \"worlds/hollow_bastion\": HollowBastion,\n \"worlds/beast's_castle\": BeastsCastle,\n \"worlds/olympus_coliseum\": OlympusColiseum,\n \"worlds/agrabah\": Agrabah,\n \"worlds/land_of_dragons\": LandOfDragons,\n \"worlds/pride_lands\": PrideLands,\n \"worlds/disney_castle\": DisneyCastle,\n \"worlds/halloween_town\": HalloweenTown,\n \"worlds/port_royal\": PortRoyal,\n \"worlds/space_paranoids\": SpaceParanoids,\n \"worlds/the_world_that_never_was\": TheWorldThatNeverWas,\n \"other/drive_form\": Forms,\n \"other/sora's_heart\": Levels,\n \"worlds/atlantica\": Atlantica,\n Free: Free,\n};\n\nexport const defaultLocations = [\n \"worlds/hollow_bastion\",\n \"worlds/twilight_town\",\n \"worlds/the_world_that_never_was\",\n \"worlds/beast's_castle\",\n \"worlds/olympus_coliseum\",\n \"worlds/port_royal\",\n \"worlds/hollow_bastion\",\n \"worlds/the_world_that_never_was\",\n \"worlds/the_world_that_never_was\",\n \"worlds/twilight_town\",\n \"worlds/the_world_that_never_was\",\n \"worlds/the_world_that_never_was\",\n \"worlds/the_world_that_never_was\",\n];\n","import type { ActionTree } from \"vuex\";\n\nimport type { Check, Hints, Items, Location, State } from \"./state\";\nimport { defaultLocations, locations } from \"./codes\";\nimport { formatItem } from \"@/util\";\nimport type { Item, RootState } from \"../types\";\n\nconst getWorldByAddress = (address: string): string => {\n const location = Object.entries(locations).find(([_, addresses]) => addresses.includes(address));\n\n if (typeof location === \"undefined\") return \"\";\n\n return location[0];\n};\n\nexport const actions: ActionTree = {\n primary(\n { commit, dispatch, getters, state },\n { cell, offset = 1, shift = false }: { cell: string; offset: number; shift: boolean },\n ) {\n const items: Items = state.items;\n const item: Item = getters.cell(cell);\n if (item.disabled) return;\n\n dispatch(\"co_op/sendClick\", { type: \"user_primary\", cell, offset }, { root: true });\n\n let level = item.level;\n const end = item.total + 1;\n\n // Increment level with wrapping overflow based on total,\n // but not if locked but levelled - assume it is now unlocked for first time\n if (!level || item.opaque || shift) {\n level = (level + end + offset) % end;\n }\n\n // Shift click to indicate levelling without fully unlocking\n // I.e. levelling drive forms through its auto ability\n if (shift) {\n if (offset > 0 && level - offset === 0) {\n level += 1;\n } else if (offset < 0 && level === 1) {\n level = 0;\n }\n }\n\n if (\n !getters.isLocation(cell)\n && ((item as Check).levelsImportant\n || (!shift && ((offset === 1 && !item.opaque) || (offset < 0 && level === 0))))\n ) {\n // Don't increment check count if levels aren't important and we are levelling, but\n // increment if we are going down to 0\n commit(\"incrementChecks\", offset);\n }\n\n if (level) {\n if (!shift && !item.opaque) {\n commit(\"setOpaque\", { item, opaque: true });\n }\n } else {\n commit(\"setOpaque\", { item, opaque: false });\n }\n\n const group = item.group;\n\n const groupItems: string[] = group\n ? Object.keys(items.all).filter(k => items.all[k].group === group)\n : [cell];\n\n for (const i of groupItems) {\n const item: Item = getters.cell(i);\n commit(\"setLevel\", { item, level });\n }\n },\n\n secondary({ commit, dispatch, getters }, { cell, offset = 1 }) {\n const item: Item = getters.cell(cell);\n if (item.disabled) return;\n\n const secondary = item.secondary;\n if (!secondary) return;\n\n dispatch(\"co_op/sendClick\", { type: \"user_secondary\", cell, offset }, { root: true });\n\n // Increment level with wrapping overflow based on total\n const length = Array.isArray(secondary) ? secondary.length : item.secondaryTotal;\n const end = 1 + length + +item.secondaryMax;\n\n commit(\"setSecondaryLevel\", { item, level: (item.secondaryLevel + end + offset) % end });\n },\n\n other({ commit, getters }, { cell, offset = 1 }) {\n const item: Location = getters.cell(cell);\n if (item.disabled) return;\n\n const other = item.other;\n if (!other) return;\n\n const end = Array.isArray(other) ? other.length + 1 : 2;\n\n commit(\"setOtherLevel\", { item, level: (item.otherLevel + end + offset) % end });\n },\n\n disable({ commit, dispatch, getters }, { cell }) {\n dispatch(\"co_op/sendClick\", { type: \"user_disable\", cell }, { root: true });\n\n const item = getters.cell(cell);\n commit(\"disable\", item);\n },\n\n foundCheck({ commit, dispatch, getters, state }, { check, location, shift = false }) {\n const item = state.items.all[check] as Check;\n\n if (item.level === item.total) {\n if (!item.levelsImportant) {\n const groupItems: string[] = item.group\n ? Object.keys(state.items.all).filter(k => state.items.all[k].group === item.group)\n : [check];\n\n for (const i of groupItems) {\n const item: Item = getters.cell(i);\n commit(\"setLevel\", { item, level: 1 });\n }\n }\n\n return;\n }\n\n const opaque = item.opaque;\n\n dispatch(\"primary\", { cell: check, shift });\n\n if ((opaque || shift) && !item.levelsImportant) {\n console.log(formatItem(check), \"levelled up to\", item.level);\n return;\n }\n\n const setting = item.setting;\n if (setting && !state.hintSettings[setting].enabled) {\n // if it is off in the hint settings, then don't increment checks\n return;\n }\n\n commit(\"incrementLocationChecks\", { location });\n commit(\"setCheckLocation\", { check, location });\n dispatch(\"checkTotal\", location);\n\n console.log(formatItem(check), \"found in\", formatItem(location));\n },\n\n checkTotal({ commit, dispatch, getters }, location: string) {\n const cell = getters.cell(location);\n if (cell.checks === cell.totalChecks) {\n if (cell.level === 0) {\n dispatch(\"primary\", { cell: location });\n } else {\n commit(\"setOpaque\", { item: cell, opaque: true });\n }\n }\n },\n\n undoCheck({ commit, dispatch, getters, rootState, state }, { check, location, shift = false }) {\n const cell = getters.cell(check);\n\n if (!cell.levelsImportant) {\n if (cell.level > 1) {\n if (location === \"Free\") {\n dispatch(\"primary\", { cell: check, offset: -1, shift: cell.opaque ? shift : true });\n console.log(formatItem(check), \"unlevelled to\", cell.level);\n return;\n }\n\n if (cell.opaque) {\n commit(\"setOpaque\", { item: cell, opaque: false });\n commit(\"incrementChecks\", -1);\n } else {\n dispatch(\"primary\", { cell: check, offset: -1, shift: true });\n }\n } else if (cell.opaque) {\n dispatch(\"primary\", { cell: check, offset: -1 });\n }\n } else {\n dispatch(\"primary\", { cell: check, offset: -1, shift });\n }\n\n const setting = state.items.all[check].setting;\n if (setting && !state.hintSettings[setting].enabled) {\n // if it is off in the hint settings, then don't decrement checks\n return;\n }\n\n commit(\"incrementLocationChecks\", { location, offset: -1 });\n commit(\"removeCheckLocation\", { check, location });\n\n const locationCell = getters.cell(location);\n if (\n rootState.settings!.important.preselectWorld\n && locationCell.checks < locationCell.totalChecks\n ) {\n commit(\"setOpaque\", { item: locationCell, opaque: false });\n }\n\n console.warn(\"Removed\", formatItem(check), \"from\", formatItem(location));\n },\n\n loadHints({ commit }, file: File) {\n // based on https://github.com/Jsmartee/kh2fm-hints-demo/blob/master/js/main.js\n const reader = new FileReader();\n reader.readAsText(file);\n\n reader.onload = () => {\n const csv = reader.result as string;\n\n const lines = csv.split(/\\r\\n|\\n/);\n const hints: Hints = [];\n\n const [reportValues, reportLocationAddresses] = [0, 1].map(i =>\n lines[i].slice(0, -1).split(\".\"));\n\n reportValues.forEach((value, index) => {\n const [location, checks] = value.split(\",\");\n\n hints.push({\n report: getWorldByAddress(reportLocationAddresses[index]) || defaultLocations[index],\n location: getWorldByAddress(location),\n checks: parseInt(checks) - 32,\n found: false,\n incorrectCounter: 0,\n });\n });\n\n commit(\"setHints\", hints);\n\n const settings = lines[2].split(\" - \").slice(1, -1);\n commit(\"setHintSettings\", Object.fromEntries(settings.map(s => [s, true])));\n };\n },\n\n foundHint({ dispatch, commit, state }, index: number) {\n const hint = state.hints[index];\n commit(\"setLocationTotal\", { location: hint.location, checks: hint.checks });\n dispatch(\"checkTotal\", hint.location);\n commit(\"foundHint\", index);\n },\n};\n","import { state } from \"./state\";\nimport { getters } from \"./getters\";\nimport { mutations } from \"./mutations\";\nimport { actions } from \"./actions\";\n\nexport type { State } from \"./state\";\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport createPersistedState from \"vuex-persistedstate\";\n\nimport tracker from \"./tracker\";\nimport { Game, settings } from \"./settings\";\nimport co_op from \"./co_op\";\nimport tracker_important from \"./tracker_important\";\n\nVue.use(Vuex);\n\nconst store = new Vuex.Store({\n state: {\n drag: false,\n edit: false,\n version: \"\",\n currVersion: process.env.PACKAGE_VER as string,\n footer: true,\n },\n mutations: {\n toggleDrag(state) {\n state.drag = !state.drag;\n },\n\n toggleEdit(state) {\n state.edit = !state.edit;\n },\n\n updateVersion(state) {\n state.version = state.currVersion;\n },\n\n toggleFooter(state) {\n state.footer = !state.footer;\n },\n\n deleteProperty(state, key: string) {\n Vue.delete(state, key);\n },\n },\n actions: {\n reset({ commit, dispatch, rootState }) {\n if (rootState.settings!.game === Game.KH2_IC) {\n commit(\"tracker_important/resetState\");\n } else {\n dispatch(\"tracker/resetState\");\n }\n },\n },\n modules: {\n tracker,\n tracker_important,\n settings,\n co_op,\n },\n strict: process.env.NODE_ENV !== \"production\",\n plugins: [\n createPersistedState({\n paths: [\"settings\", \"tracker.self\", \"version\"],\n }),\n ],\n});\n\nexport default store;\nexport type Store = typeof store;\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\n\nVue.config.productionTip = false;\n\nnew Vue({\n router,\n store,\n render: h => h(App),\n}).$mount(\"#app\");\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"switch\"},[_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.value},on:{\"change\":function($event){return _vm.$emit('input', $event.target.checked)}}}),_c('span',{staticClass:\"slider\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component\nexport default class SwitchSlider extends Vue {\n @Prop(Boolean) value!: boolean;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchSlider.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchSlider.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchSlider.vue?vue&type=template&id=034795a9&scoped=true&lang=pug&\"\nimport script from \"./SwitchSlider.vue?vue&type=script&lang=ts&\"\nexport * from \"./SwitchSlider.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SwitchSlider.vue?vue&type=style&index=0&id=034795a9&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"034795a9\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=2b924267&lang=stylus&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemPopup.vue?vue&type=style&index=0&id=7c7190f2&lang=stylus&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseTooltip.vue?vue&type=style&index=0&id=72739f46&lang=stylus&scoped=true&\"","export const formatItem = (item: string): string => {\n if (item === \"Free\") {\n return \"GoA/Critical Extra\";\n }\n\n return item\n .split(\"/\", 2)[1]\n .split(\"_\")\n .map(p => p[0].toUpperCase() + p.slice(1))\n .join(\" \");\n};\n"],"sourceRoot":""}