您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Integrates MyAnimeList/AniList/Kitsu/Simkl into various sites, with auto episode tracking.
当前为
// ==UserScript== // @name MAL-Sync // @namespace http://greasyfork.icu/users/92233 // @description Integrates MyAnimeList/AniList/Kitsu/Simkl into various sites, with auto episode tracking. // @version 0.8.12 // @author [email protected] // @license GPL-3.0 // @iconURL https://raw.githubusercontent.com/MALSync/MALSync/master/assets/icons/icon128.png // @grant GM_xmlhttpRequest // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_listValues // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_notification // @grant GM.xmlHttpRequest // @grant GM.getValue // @grant GM.setValue // @match *://myanimelist.net/anime/* // @match *://myanimelist.net/manga/* // @match *://myanimelist.net/animelist/* // @match *://myanimelist.net/mangalist/* // @match *://myanimelist.net/anime.php?id=* // @match *://myanimelist.net/manga.php?id=* // @match *://myanimelist.net/character/* // @match *://myanimelist.net/people/* // @match *://myanimelist.net/search/* // @match *://anilist.co/* // @match *://kitsu.io/* // @match *://simkl.com/* // @match *://malsync.moe/mal/oauth* // @match *://malsync.moe/pwa* // @match *://*.9anime.to/watch/* // @match *://*.9anime.ru/watch/* // @match *://*.9anime.live/watch/* // @match *://*.9anime.one/watch/* // @match *://*.9anime.page/watch/* // @match *://*.9anime.video/watch/* // @match *://*.9anime.life/watch/* // @match *://*.9anime.love/watch/* // @match *://*.9anime.tv/watch/* // @match *://*.9anime.app/watch/* // @match *://*.9anime.at/watch/* // @match *://*.9anime.bar/watch/* // @match *://*.9anime.pw/watch/* // @match *://*.9anime.cz/watch/* // @match *://*.crunchyroll.com/* // @match *://mangadex.org/* // @match *://*.gogoanime.tv/* // @match *://*.gogoanime.io/* // @match *://*.gogoanime.in/* // @match *://*.gogoanime.se/* // @match *://*.gogoanime.sh/* // @match *://*.gogoanime.video/* // @match *://*.gogoanime.movie/* // @match *://*.gogoanime.so/* // @match *://*.gogoanime.ai/* // @match *://*.gogoanime.vc/* // @match *://*.gogoanime.pe/* // @match *://*.gogoanimes.co/* // @match *://*.animego.to/* // @match *://*.branitube.net/video/* // @match *://*.branitube.net/lista/* // @match *://*.www.turkanime.tv/video/* // @match *://*.www.turkanime.tv/anime/* // @match *://*.www.turkanime.net/video/* // @match *://*.www.turkanime.net/anime/* // @match *://twist.moe/* // @match *://app.emby.media/* // @match *://app.emby.tv/* // @match *://app.plex.tv/* // @match *://www.netflix.com/* // @match *://animepahe.com/play/* // @match *://animepahe.com/anime/* // @match *://animepahe.ru/play/* // @match *://animepahe.ru/anime/* // @match *://animepahe.org/play/* // @match *://animepahe.org/anime/* // @match *://*.animeflv.net/anime/* // @match *://*.animeflv.net/ver/* // @match *://jkanime.net/* // @match *://vrv.co/* // @match *://proxer.me/* // @match *://proxer.net/* // @match *://4anime.to/* // @match *://*.animeultima.eu/a/* // @match *://*.animeultima.to/a/* // @match *://*.aniflix.tv/* // @match *://www.animefreak.tv/watch/* // @match *://www.animelab.com/* // @match *://*.kickassanime.io/anime/* // @match *://*.kickassanime.ru/anime/* // @match *://*.kickassanime.rs/anime/* // @match *://*.kickassanime.lol/anime/* // @match *://*.kickassanime.ro/anime/* // @match *://animekisa.tv/* // @match *://*.wakanim.tv/* // @match *://animeindo.net/* // @match *://animeindo.moe/* // @match *://shinden.pl/episode/* // @match *://shinden.pl/series/* // @match *://shinden.pl/titles/* // @match *://shinden.pl/epek/* // @match *://voiranime.com/* // @match *://*.dubbedanime.net/* // @match *://www.viz.com/* // @match *://manganato.com/* // @match *://readmanganato.com/* // @match *://*.neko-sama.fr/* // @match *://www.animezone.pl/odcinki/* // @match *://www.animezone.pl/odcinek/* // @match *://www.animezone.pl/anime/* // @match *://anime-odcinki.pl/anime/* // @match *://animeflix.io/* // @match *://serimanga.com/* // @match *://mangadenizi.com/* // @match *://moeclip.com/* // @match *://mangalivre.net/* // @match *://tmofans.com/* // @match *://lectortmo.com/* // @match *://unionleitor.top/* // @match *://unionmangas.top/* // @match *://mangaplus.shueisha.co.jp/* // @match *://*.japscan.ws/* // @match *://goyabu.com/* // @match *://*.animesvision.com.br/* // @match *://*.animesvision.biz/* // @match *://www.hulu.com/* // @match *://www.hidive.com/* // @match *://manga.fascans.com/manga/* // @match *://*.primevideo.com/* // @match *://mangakatana.com/manga/* // @match *://*.manga4life.com/* // @match *://bato.to/* // @match *://dreamsub.cc/* // @match *://mangapark.net/* // @match *://animeshouse.net/episodio/* // @match *://animeshouse.net/filme/* // @match *://animexin.xyz/* // @match *://monoschinos.com/* // @match *://monoschinos2.com/* // @match *://animefire.net/* // @match *://otakufr.co/* // @match *://samehadaku.vip/* // @match *://*.tsukimangas.com/* // @match *://mangatx.com/* // @match *://tranimeizle.net/* // @match *://www.tranimeizle.net/* // @match *://anihub.tv/* // @match *://www.animestreamingfr.fr/anime/* // @match *://scantrad.net/* // @match *://furyosquad.com/* // @match *://www.animeid.tv/* // @match *://animixplay.to/v* // @match *://animixplay.to/anime/* // @match *://myanimelist.net/anime/*/*/episode/* // @match *://*.animesimple.com/* // @match *://animeunity.it/anime/* // @match *://*.mangahere.cc/manga/* // @match *://*.fanfox.net/manga/* // @match *://*.mangafox.la/manga/* // @match *://justanime.app/* // @match *://yayanimes.net/* // @match *://desu-online.pl/* // @match *://simplyaweeb.com/series/* // @match *://simplyaweeb.com/manga/* // @match *://animevibe.wtf/ani/* // @match *://animemate.xyz/ani/* // @match *://wuxiaworld.site/novel/* // @match *://www.anime-on-demand.de/anime/* // @match *://edelgardescans.com/* // @match *://hatigarmscanz.net/* // @match *://leviatanscans.com/* // @match *://methodscans.com/* // @match *://the-nonames.com/* // @match *://reaperscans.com/* // @match *://lynxscans.com/* // @match *://skscans.com/* // @match *://zeroscans.com/* // @match *://reader.deathtollscans.net/* // @match *://reader.kireicake.com/* // @match *://sensescans.com/reader* // @match *://manhuaplus.com/manga* // @match *://readm.org/manga/* // @match *://tioanime.com/anime/* // @match *://tioanime.com/ver/* // @match *://yugenani.me/* // @match *://*.mangasee123.com/manga* // @match *://*.mangasee123.com/read-online* // @match *://animetribes.ru/watch/* // @match *://*.okanime.com/animes/* // @match *://*.okanime.com/movies/* // @match *://*.okanime.tv/animes/* // @match *://*.okanime.tv/movies/* // @match *://bs.to/serie/* // @match *://pantsubase.tv/anime/* // @match *://pantsubase.tv/watch/* // @match *://animeowl.net/* // @match *://chill-game.com/* // @match *://*.asurascans.com/* // @match *://naniscans.com/* // @match *://merakiscans.com/* // @match *://an1me.nl/* // @match *://mangajar.com/manga/* // @match *://animedao.to/* // @match *://*.otakustv.com/anime/* // @match *://demo.komga.org/* // @match *://animewho.com/* // @match *://animesuge.io/anime/* // @match *://toonily.net/manga/* // @match *://fumetsu.pl/anime/* // @match *://www.nonstopscans.com/* // @match *://frixysubs.pl/odcinki.html?id=* // @match *://frixysubs.pl/ogladaj.html?id=* // @match *://guya.moe/* // @match *://cubari.moe/* // @match *://mangahub.io/* // @match *://comick.fun/* // @match *://*.anime-shitai.com/* // @match *://kangaryu-team.fr/* // @match *://www.japanread.cc/* // @match *://catmanga.org/* // @match *://mangasushi.net/manga* // @match *://arangscans.com/manga* // @match *://hunlight-scans.info/* // @match *://tritinia.com/manga* // @match *://readmanhua.net/manga* // @match *://flamescans.org/* // @match *://immortalupdates.com/manga* // @match *://zoro.to/* // @match *://www.funimation.com/shows/* // @match *://www.funimation.com/*/shows/* // @match *://kitsune.tv/* // @match *://beta.kitsune.tv/* // @match *://animesonline.org/* // @match *://lhtranslation.net/* // @match *://*.openload.co/* // @match *://*.openload.pw/* // @match *://*.streamango.com/* // @match *://*.mp4upload.com/* // @match *://*.mcloud.to/* // @match *://*.mcloud2.to/* // @match *://*.prettyfast.to/* // @match *://*.rapidvideo.com/* // @match *://*.rapidvid.to/* // @match *://*.static.crunchyroll.com/* // @match *://*.static.vrv.co/* // @match *://*.vidstreaming.io/* // @match *://*.vidstreaming.me/* // @match *://*.xstreamcdn.com/* // @match *://*.gcloud.live/* // @match *://*.oload.tv/* // @match *://*.mail.ru/* // @match *://*.myvi.ru/* // @match *://*.sibnet.ru/* // @match *://*.tune.pk/* // @match *://*.vimple.ru/* // @match *://*.href.li/* // @match *://*.vk.com/* // @match *://*.cloudvideo.tv/* // @match *://*.fembed.net/* // @match *://*.fembed.com/* // @match *://*.animeproxy.info/* // @match *://*.feurl.com/* // @match *://*.embedsito.com/v/* // @match *://*.fcdn.stream/v/* // @match *://*.fcdn.stream/e/* // @match *://*.vaplayer.xyz/v/* // @match *://*.vaplayer.xyz/e/* // @match *://*.femax20.com/v/* // @match *://*.femax20.com/e/* // @match *://*.youpload.co/* // @match *://*.yourupload.com/* // @match *://*.vidlox.me/* // @match *://*.kwik.cx/* // @match *://*.mega.nz/* // @match *://*.animeflv.net/* // @match *://*.hqq.tv/* // @match *://waaw.tv/* // @match *://*.jkanime.net/* // @match *://*.ok.ru/* // @match *://*.novelplanet.me/* // @match *://*.stream.proxer.me/* // @match *://*.stream.proxer.net/* // @match *://verystream.com/* // @match *://*.animeultima.eu/e/* // @match *://*.animeultima.eu/faststream/* // @match *://*.animeultima.to/e/* // @match *://*.animeultima.to/faststream/* // @match *://*.vidoza.net/* // @match *://crazyload.co/* // @match *://gounlimited.to/* // @match *://www.ani-stream.com/* // @match *://flex.aniflex.org/public/dist/* // @match *://animedaisuki.moe/embed/* // @match *://*.wakanim.tv/*/*/*/embeddedplayer/* // @match *://superitu.com/embed/* // @match *://www.dailymotion.com/embed/* // @match *://vev.io/embed/* // @match *://vev.red/embed/* // @match *://www.funimation.com/player/* // @match *://jwpstream.com/jwps/yplayer.php* // @match *://www.vaplayer.xyz/v/* // @match *://mp4.sh/embed/* // @match *://embed.mystream.to/* // @match *://*.bitchute.com/embed/* // @match *://*.streamcherry.com/embed/* // @match *://*.clipwatching.com/* // @match *://*.flix555.com/* // @match *://*.vshare.io/v/* // @match *://ebd.cda.pl/* // @match *://*.replay.watch/* // @match *://*.playhydrax.com/* // @match *://hydrax.net/* // @match *://*.hydracdn.network/* // @match *://*.streamium.xyz/* // @match *://animo-pace-stream.io/* // @match *://*.pstream.net/e/* // @match *://*.animefever.tv/embed/* // @match *://*.haloani.ru/* // @match *://*.moeclip.com/v/* // @match *://*.moeclip.com/embed/* // @match *://*.mixdrop.co/e/* // @match *://*.mixdrop.to/e/* // @match *://gdriveplayer.me/embed* // @match *://sendvid.net/v/* // @match *://sendvid.com/embed/* // @match *://streamz.cc/* // @match *://*.vidbm.com/embed-* // @match *://*.vidbem.com/embed-* // @match *://*.cloudhost.to/*/mediaplayer/*/_embed.php?* // @match *://*.letsupload.co/*/mediaplayer/*/_embed.php?* // @match *://player.mangakyo.me/stream/embed.php* // @match *://streamtape.com/* // @match *://streamtape.net/* // @match *://streamtape.xyz/* // @match *://streamtape.to/* // @match *://strcloud.in/* // @match *://strcloud.link/* // @match *://streamta.pe/* // @match *://strtape.tech/* // @match *://reproductor.monoschinos.com/* // @match *://uptostream.com/iframe/* // @match *://easyload.io/e/* // @match *://*.googleusercontent.com/gadgets/* // @match *://animedesu.pl/player/desu.php?v=* // @match *://*.animevibe.wtf/players/*.php* // @match *://*.animemate.xyz/players/*.php* // @match *://*.animixplay.to/api/live* // @match *://third-party.animekisa.tv/player-*.php?* // @match *://cloud9.to/e*/* // @match *://*.okanime.com/cdn/*/embed/?* // @match *://*.okgaming.org/I/* // @match *://*.gogo-stream.com/streaming.php?* // @match *://*.gogo-stream.com/load.php?* // @match *://*.gogo-stream.com/loadserver.php?* // @match *://*.gogo-play.net/streaming.php?* // @match *://*.gogo-play.net/load.php?* // @match *://*.gogo-play.net/loadserver.php?* // @match *://*.gogo-play.tv/streaming.php?* // @match *://*.gogo-play.tv/load.php?* // @match *://*.gogo-play.tv/loadserver.php?* // @match *://*.streamani.net/streaming.php?* // @match *://*.streamani.net/load.php?* // @match *://*.streamani.net/loadserver.php?* // @match *://vivo.sx/embed/* // @match *://ani.googledrive.stream/vidstreaming/* // @match *://play.api-web.site/anime/* // @match *://www.animelab.com/* // @match *://vidstream.pro/e/* // @match *://vidstreamz.online/embed/* // @match *://vidstream.pro/embed/* // @match *://streamsb.net/* // @match *://streamsb.com/* // @match *://sbembed.com/* // @match *://sbvideo.net/* // @match *://sbplay.org/* // @match *://dood.to/* // @match *://dood.watch/* // @match *://doodstream.com/* // @match *://vcdn.space/v/* // @match *://youtube.googleapis.com/embed/*drive.google.com* // @match *://hdvid.tv/* // @match *://vidfast.co/* // @match *://supervideo.tv/* // @match *://jetload.net/* // @match *://saruch.co/* // @match *://vidmoly.me/* // @match *://upstream.to/* // @match *://abcvideo.cc/* // @match *://aparat.cam/* // @match *://vudeo.net/* // @match *://voe.sx/* // @match *://vidoo.tv/* // @match *://nxload.com/* // @match *://videobin.co/* // @match *://uqload.com/* // @match *://evoload.io/* // @match *://yugenani.me/e/* // @match *://kaa-play.com/* // @match *://kaa-play.me/* // @match *://betaplayer.life/* // @match *://animeshouse.net/gcloud/* // @match *://animato.me/embed/* // @match *://animesonline.org/*/*id=* // @match *://kimanime.ru/AnimeIframe/* // @match *://akaneshinjou.github.io/* // @match *://akane-shinjou.github.io/* // @match *://andhaetg.github.io/* // @match *://akaneshinjou.netlify.app/* // @match *://vidcloud.spb.ru/* // @match *://vidcloud.one/* // @match *://*.streamhd.cc/* // @exclude *myanimelist.net/anime/season* // @exclude *myanimelist.net/anime/producer* // @exclude *myanimelist.net/manga/magazine* // @exclude *myanimelist.net/anime/genre* // @exclude *myanimelist.net/manga/genre* // @exclude *gogoanime*.*/ // @exclude *gogoanime*.*/*.html* // @exclude *gogoanime*.*/anime-List* // @exclude *gogoanime*.*/user* // @exclude *gogoanime*.*/genre/* // @exclude *gogoanime*.*/sub-category/* // @exclude *animego*.*/ // @exclude *animego*.*/*.html* // @exclude *animego*.*/anime-List* // @exclude *animego*.*/user* // @exclude *animego*.*/genre/* // @exclude *animego*.*/sub-category/* // @exclude *://*.branitube.net/lista/filter/* // @exclude *://*.branitube.net/lista/pagina/* // @exclude *://jkanime.net/ // @exclude *://jkanime.net/letra/* // @exclude *://jkanime.net/buscar/* // @exclude *://jkanime.net/terminos-condiciones/ // @exclude *://www.animezone.pl/anime/lista* // @exclude *://www.animezone.pl/anime/sezony* // @exclude *://www.animezone.pl/anime/ranking* // @exclude *://www.animezone.pl/anime/nadchodzace* // @exclude *://www.animezone.pl/anime/premiery* // @exclude *://www.animezone.pl/anime/filmy* // @require http://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js // @resource material.css https://code.getmdl.io/1.3.0/material.indigo-pink.min.css // @resource materialFont.css https://fonts.googleapis.com/icon?family=Material+Icons // @resource material.js http://greasyfork.icu/scripts/377924-material-design-lite-mal-sync/code/material-design-lite%20MAL-Sync.js?version=671593 // @run-at document_start // @connect myanimelist.net // @connect kissanimelist.firebaseio.com // @connect graphql.anilist.co // @connect media.kitsu.io // @connect api.simkl.com // @connect api.malsync.moe // @connect * // ==/UserScript== var i18n = {"Search":"Site Search","Show":"Show","Help":"Help","Update":"Update","Add":"Add","Reset":"Reset","Remove":"Remove","Loading":"Loading","Select":"Select","Yes":"Yes","Ok":"Ok","No":"No","Cancel":"Cancel","updated":"Updated","removed":"Removed","NothingFound":"Nothing Found","Not_Found":"Not Found!","NoEntries":"No Entries","fullscreen":"fullscreen","close":"close","All":"All","Anime":"Anime","Manga":"Manga","Package_Description":"Integrates MyAnimeList/AniList/Kitsu/Simkl into various sites, with auto episode tracking.","UI_Status":"Status:","UI_Status_watching_anime":"Watching","UI_Status_watching_manga":"Reading","UI_Status_Completed":"Completed","UI_Status_OnHold":"On-Hold","UI_Status_Dropped":"Dropped","UI_Status_planTo_anime":"Plan to Watch","UI_Status_planTo_manga":"Plan to Read","UI_Status_Rewatching_anime":"Rewatching","UI_Status_Rewatching_manga":"Rereading","UI_Episode":"Episode:","UI_Volume":"Volume:","UI_Chapter":"Chapter:","UI_Score":"Your Score:","UI_Score_Not_Rated":"Not rated","UI_Score_Masterpiece":"(10) Masterpiece","UI_Score_Great":"(9) Great","UI_Score_VeryGood":"(8) Very Good","UI_Score_Good":"(7) Good","UI_Score_Fine":"(6) Fine","UI_Score_Average":"(5) Average","UI_Score_Bad":"(4) Bad","UI_Score_VeryBad":"(3) Very Bad","UI_Score_Horrible":"(2) Horrible","UI_Score_Appalling":"(1) Appalling","UI_Rules":"Rules","syncPage_flashm_resumeMsg":"Resume at $1","syncPage_flashm_sync_anime":"Update $1 to episode $2","syncPage_flashm_sync_manga":"Update $1 to chapter $2","syncPage_flashm_sync_undefined_undo":"Undo","syncPage_flashm_sync_undefined_wrong":"Wrong?","syncPage_flashm_failded":"Update failed","syncPage_flashConfirm_complete":"Set as completed?","syncPage_flashConfirm_start_anime":"Start watching?","syncPage_flashConfirm_rewatch_finish_anime":"Finish rewatching?","syncPage_flashConfirm_rewatch_finish_manga":"Finish rereading?","syncPage_flashConfirm_start_manga":"Start reading?","syncPage_flashConfirm_rewatch_start_anime":"Rewatch Anime?","syncPage_flashConfirm_rewatch_start_manga":"Reread Manga?","syncPage_flashConfirm_Anime_Correct":"Is \"$1\" correct?","syncPage_flash_player_error":"Player not detected. Please manually update it here.","syncPage_malObj_addAnime":"Add to $1","syncPage_malObj_nextEp_anime":"Episode $1","syncPage_malObj_nextEp_manga":"Chapter $1","syncPage_flashConfirm_offsetHandler_1":"A possible Episode offset of $1 was detected. Is that correct? ","anilistClass_authentication":"Token saved you can close this page now","kitsuClass_authentication_text":"To login with Kitsu, you need to enter your account's e-mail and password.<br>Your credentials are not stored on your computer or anywhere else.<br>They are directly sent to Kitsu. Only the returned access token is saved.<br>","kitsuClass_authentication_Password":"Password","kitsuClass_authentication_Login":"Login","kitsuClass_authentication_Success":"Token saved you can close this page now","kitsuClass_authentication_Wrong":"Credentials wrong","bookmarksItem_Years":"Years","bookmarksItem_Year":"Year","bookmarksItem_Days":"Days","bookmarksItem_Day":"Day","bookmarksItem_Hours":"Hours","bookmarksItem_Hour":"Hour","bookmarksItem_mins":"mins","bookmarksItem_min":"min","bookmarksItem_secs":"seconds","bookmarksItem_sec":"second","bookmarksItem_now":"Now","bookmarksItem_ago":"$1 ago","prediction_Episode_anime":"Next episode estimated in $1","prediction_Last_anime":"Last episode released $1 ago","prediction_Episode_manga":"Next chapter estimated in $1","prediction_Last_manga":"Last chapter released $1 ago","prediction_next":"Next in $1","prediction_incomplete":"Incomplete","prediction_ongoing":"Ongoing","prediction_complete":"Complete","prediction_Airing":"Airing in $1","correction_Offset":"Episode Offset","correction_Offset_text":"Input the episode offset, if an anime has 12 episodes, but uses the numbers 0-11 rather than 1-12, you simply type \" +1 \" in the episode offset.","correction_WrongUrl":"Only change this URL if it points to the wrong anime page on MAL.","correction_Search":"Correction Search","correction_Search_text":"This field is for finding an anime, when you need to correct the \"MyAnimeList URL\" shown above.<br>To make a search, simply begin typing the name of an anime, and a list with results will automatically appear as you type.","correction_NoMal":"If the Anime/Manga can't be found on MAL","correction_NoEntry":"No entry on MyAnimeList","correction_NewOffset":"New Offset ($1) set.","correction_OffsetReset":"Offset reset","correction_NewUrl":"New URL '$1' set.","correction_NewUrlReset":"MyAnimeList URL reset","correction_DBRequest":"Submit database correction request?","overview_Continue_anime":"Continue watching","overview_Continue_manga":"Continue reading","overview_Next_Episode_anime":"Next Episode","overview_Next_Episode_manga":"Next Chapter","overview_Resume_Episode_anime":"Resume Episode","overview_Resume_Episode_manga":"Resume Chapter","overview_EditDetails":"Edit Details","overview_Characters":"Characters","overview_OpeningTheme":"Opening Theme:","overview_EndingTheme":"Ending Theme:","search_Type":"Type:","search_Score":"Score:","search_Year":"Year:","settings_General":"General","settings_Mode":"Mode","settings_Authenticate":"Authenticate","settings_LocalSync":"Local storage fallback","settings_LocalSync_Import":"Import","settings_LocalSync_Export":"Export","settings_Animesync":"Anime sync","settings_Animesync_Video":"Video","settings_Animesync_Instant":"Instant","settings_Animesync_Manual":"Manual","settings_Mangasync":"Manga sync","settings_AutoTracking_Video":"Update on $1% of video progress","settings_AutoTracking_Instant":"Delay instant autotracking by $1 seconds","settings_StreamingSite":"Streaming Site Links","settings_StreamingSite_text":"If disabled, the streaming site will no longer appear in an anime’s sidebar on MyAnimeList/AniList/Kitsu/Simkl.","settings_Thumbnails":"Thumbnails","settings_Thumbnails_text":"The option is for resizing the thumbnails on MyAnimeList eg. thumbnails for characters, people, recommendations, etc.","settings_Thumbnails_Large":"Large","settings_Thumbnails_Medium":"Medium","settings_Thumbnails_Small":"Small","settings_Thumbnails_Default":"MAL Default","settings_FriendScore":"Friend scores on detail page","settings_epPredictions":"Estimate episode number","settings_malTags":"Use Tags/Notes","settings_malTags_Text":"If enabled: The streaming page that you have used last is permanently (across browsers) saved in the tags/Notes section in your list. The saved string in the tag section is ugly, only really recommended if you dont use the tag/notes section.","settings_malContinue":"Continue watching links","settings_malResume":"Resume watching links","settings_usedPage":"Last used page links","settings_miniMAL_floatButtonStealth":"Stealth UI mode","settings_miniMAL_minimizeBigPopup":"Minimize big pop-ups","settings_miniMAL_floatButtonCorrection":"Remap floating button to the correction UI","settings_miniMAL_floatButtonHide":"Hide miniMAL floating menu button","settings_miniMAL_autoCloseMinimal":"Clicking outside closes miniMAL","settings_miniMAL_Display":"Display to the","settings_miniMAL_popup":"Extension Popup","settings_miniMAL_theme":"Theme","settings_miniMAL_window":"Open in separate window","settings_miniMAL_Display_Left":"Left","settings_miniMAL_Display_Right":"Right","settings_miniMAL_Height":"Height (px / %)","settings_miniMAL_Width":"Width (px / %)","settings_Shortcuts":"Shortcuts","settings_miniMAL_Open":"Open miniMAL","settings_miniMAL_NotSet":"Not Set","settings_loadPTWForProgress":"Load PTW/PTR for Progress evaluation","settings_Video_Player":"Video Player","settings_Video_Fullscreen":"Auto fullscreen","settings_Video_Resume":"Auto resume","settings_autoNextEp":"Autoplay next episode","settings_Shortcuts_Correction":"Open anime relation correction popup","settings_Shortcuts_Sync":"Set episode/chapter as read","settings_Shortcuts_Next_Episode":"Open next episode shortcut","settings_Shortcuts_Skip_Forward":"Skips the opening","settings_Shortcuts_Skip_Backward":"Jump back to opening's beginning","settings_Shortcuts_Click":"Click to enter shortcut","settings_introSkip":"Set opening skip length ($1 seconds)","settings_UpdateCheck":"Update Check","settings_UpdateCheck_Text":"Checks for new episodes in the background.","settings_Interval":"Interval","settings_Interval_Off":"Off","settings_Interval_Default_Anime":"Default Anime","settings_Interval_Default_Manga":"Default Manga","settings_ProgressCheck":"Progress Check","settings_Notifications":"Notifications","settings_Debugging":"Debugging","settings_ETC":"ETC","settings_Userscriptmode":"Userscript mode","settings_Userscriptmode_Text":"Disables the content script. This makes it possible to have the extension and userscript enabled at the same time.","settings_highlightAllEp":"Highlight all Episodes/Chapters","settings_highlightAllEp_Text":"This option will highlight all watched chapters/episodes in the list you can find on some Anime/Manga sites","settings_ClearCache":"Clear Cache","settings_presenceHidePage":"Show MAL-Sync icon instead of page icon","settings_enabled":"Enabled","settings_shortcut_tooltip":"It is not recommended to set the shortcut to a single key","settings_progress_dropdown":"Estimation Source:","settings_progress_disabled":"Disabled","settings_progress_default":"Default","settings_website_button":"Websites","settings_custom_domains_button":"Custom domains","settings_clean_tags_button":"Clean Tags","settings_more_info":"More Info","settings_presenceShowButtons":"Show button to view the anime/manga on MAL or another provider","updateCheck_Refresh":"Refresh","updateCheck_StartCheck":"Start Check","updateCheck_NotificationCheck":"Notification Check","updateCheck_Episode":"Episode","updateCheck_Message":"Message","updateCheck_NotificationHistory":"Notification History","minimalApp_Overview":"Overview","minimalApp_Reviews":"Reviews","minimalApp_Recommendations":"Recommendations","minimalApp_Settings":"Settings","minimalClass_Popup":"Please allow pop-ups for this website","minimalClass_versionMsg":"Updated to version $1 $2CHANGELOG</a>]","minimalClass_versionMsg_Text_1":"Thank you for installing MAL-Sync","minimalClass_versionMsg_Text_2":"Having Questions?","minimalClass_versionMsg_Text_3":"Open Source Code:","minimalClass_versionMsg_Text_4":"uBlock users please subscribe to this filter list! This fixes some problems like broken images","installPage_Mode":"Please select which Anime database you want use:","installPage_Howto":"How to use?","installPage_Howto_Description":"Just open an episode or chapter on any of the <a target=\"_blank\" href=\"https://github.com/MALSync/MALSync#supported-pages-\">supported pages</a>. The sync waits until 85% of the video is watched. For mangas it syncs on page load. This can be changed in the <a class=\"open-settings\" href=\"#\">settings</a>.","installPage_Wrong":"It syncs to the wrong MAL entry?","installPage_Wrong_Description":"You can easily change the relation like shown in the gif below. An episode offset can be set on that page too.","Anilist_Authenticate":"Please Authenticate <a target=\"_blank\" href=\"https://anilist.co/api/v2/oauth/authorize?client_id=1487&response_type=token\">Here</a>","Emby_Authenticate":"MAL-Sync needs an Emby API key to work. More infos <a href=\"https://github.com/MediaBrowser/Emby/wiki/Api-Key-Authentication#creating-an-api-key\" target=\"_blank\">Here</a>","Error_Authenticate":"Please Authenticate <a target=\"_blank\" href=\"$1\">Here</a>","Discord_rpc_browsing":"Browsing $1","discord_rpc_view_anime":"View Anime","discord_rpc_view_manga":"View Manga","nextEpShort_no_support":"This page doesn't support opening the next episode","nextEpShort_no_nextEp":"Couldn't find the next episode","settings_filler":"Check for filler/recap episodes","settings_filler_text":"This will check if the episode is marked as a filler/recap on MyAnimeList","filler_filler_confirm":"This episode has been marked as a filler on MyAnimeList, do you want to skip?","filler_recap_confirm":"This episode has been marked as a recap on MyAnimeList, do you want to skip?"} /*! For license information please see malsync.user.js.LICENSE.txt */ !function(t) { var e = {}; function n(i) { if (e[i]) return e[i].exports; var a = e[i] = { i: i, l: !1, exports: {} }; return t[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports; } n.m = t, n.c = e, n.d = function(t, e, i) { n.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: i }); }, n.r = function(t) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }); }, n.t = function(t, e) { if (1 & e && (t = n(t)), 8 & e) return t; if (4 & e && "object" == typeof t && t && t.__esModule) return t; var i = Object.create(null); if (n.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t) for (var a in t) n.d(i, a, function(e) { return t[e]; }.bind(null, a)); return i; }, n.n = function(t) { var e = t && t.__esModule ? function() { return t.default; } : function() { return t; }; return n.d(e, "a", e), e; }, n.o = function(t, e) { return Object.prototype.hasOwnProperty.call(t, e); }, n.p = "", n(n.s = 287); }([ function(t, e, n) { "use strict"; n.r(e), n.d(e, "storage", (function() { return r; })), n.d(e, "request", (function() { return s; })), n.d(e, "settings", (function() { return l; })), n.d(e, "type", (function() { return c; })); var i = n(97), a = n(98), o = n(100); const r = i.a, s = a.a, l = o.a, c = "userscript"; }, function(t, e, n) { "use strict"; n.r(e), function(t, i, a, o) { n.d(e, "urlPart", (function() { return s; })), n.d(e, "urlStrip", (function() { return l; })), n.d(e, "urlParam", (function() { return c; })), n.d(e, "getBaseText", (function() { return d; })), n.d(e, "generateUniqueID", (function() { return m; })), n.d(e, "favicon", (function() { return u; })), n.d(e, "watching", (function() { return p; })), n.d(e, "planTo", (function() { return h; })), n.d(e, "episode", (function() { return g; })), n.d(e, "syncRegex", (function() { return f; })), n.d(e, "status", (function() { return v; })), n.d(e, "getselect", (function() { return b; })), n.d(e, "absoluteLink", (function() { return y; })), n.d(e, "parseHtml", (function() { return w; })), n.d(e, "urlChangeDetect", (function() { return _; })), n.d(e, "fullUrlChangeDetect", (function() { return x; })), n.d(e, "changeDetect", (function() { return k; })), n.d(e, "waitUntilTrue", (function() { return S; })), n.d(e, "getAsyncWaitUntilTrue", (function() { return E; })), n.d(e, "checkDoubleExecution", (function() { return P; })), n.d(e, "getUrlFromTags", (function() { return C; })), n.d(e, "setUrlInTags", (function() { return A; })), n.d(e, "setResumeWaching", (function() { return I; })), n.d(e, "getResumeWaching", (function() { return O; })), n.d(e, "setContinueWaching", (function() { return U; })), n.d(e, "getContinueWaching", (function() { return M; })), n.d(e, "setEntrySettings", (function() { return L; })), n.d(e, "getEntrySettings", (function() { return N; })), n.d(e, "handleMalImages", (function() { return R; })), n.d(e, "getTooltip", (function() { return j; })), n.d(e, "timeDiffToText", (function() { return V; })), n.d(e, "canHideTabs", (function() { return D; })), n.d(e, "statusTag", (function() { return z; })), n.d(e, "notifications", (function() { return F; })), n.d(e, "timeCache", (function() { return H; })), n.d(e, "flashm", (function() { return B; })), n.d(e, "flashConfirm", (function() { return K; })), n.d(e, "lazyload", (function() { return J; })), n.d(e, "elementInViewport", (function() { return G; })), n.d(e, "wait", (function() { return Y; })), n.d(e, "pageUrl", (function() { return Z; })), n.d(e, "returnYYYYMMDD", (function() { return Q; })); var r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function s(t, e) { if (!t) return ""; const n = t.split("/"); return n[e] ? n[e].replace(/[#?].*/, "") : ""; } function l(t) { return t.replace(/[#?].*/, ""); } function c(t, e) { const n = new RegExp(`[?&]${e}=([^&#]*)`).exec(t); return null === n ? null : decodeURI(n[1]) || 0; } function d(e) { let n = e.text(); return e.children().each((function() { n = n.replace(t.$(this).text(), ""); })), n; } function m(t = 10) { const e = new Uint32Array(t); return window.crypto.getRandomValues(e), Array.from(e, t => t.toString(16)).join(""); } function u(t) { const e = t.match(/^(https?:\/\/)?[^/]+/); return e && (t = e[0]), "https://favicon.malsync.moe/?domain=" + t; } function p(t) { return "manga" === t ? "Reading" : "Watching"; } function h(t) { return "manga" === t ? "Plan to Read" : "Plan to Watch"; } function g(t) { return "manga" === t ? i.storage.lang("UI_Chapter") : i.storage.lang("UI_Episode"); } const f = /(^settings\/.*|^updateCheckTime$|^tempVersion$|^local:\/\/|^list-tagSettings$)/; var v; function b(t, e) { let n = t.split(`name="${e}"`)[1].split("</select>")[0]; if (n.indexOf('selected="selected"') > -1) { n = n.split("<option"); for (let t = 0; t < n.length; ++t) if (n[t].indexOf('selected="selected"') > -1) return n[t].split('value="')[1].split('"')[0]; } return ""; } function y(t, e) { return void 0 === t || t.startsWith("http") || ("/" !== t.charAt(0) && (t = "/" + t), t = e + t), t; } function w(t) { return (new DOMParser).parseFromString("<!doctype html><body>" + t, "text/html").body.textContent; } function _(t) { let e = window.location.href; return setInterval((function() { e !== window.location.href && (e = window.location.href, t()); }), 100); } function x(t, e = !1) { let n = ""; const i = setInterval((function() { const i = e ? l(window.location.href) : window.location.href; n !== i && (n = i, t()); }), 100); return Number(i); } function k(t, e) { let n = e(); const i = setInterval((function() { const i = e(); void 0 !== i && n !== i && (n = e(), t()); }), 500); return Number(i); } function S(t, e, n = 100) { const i = setInterval((function() { t() && (clearInterval(i), e()); }), n); return i; } function E(t, e = 100) { let n, i; const a = () => { clearTimeout(n), i && i("AsyncWait stopped"); }; return { asyncWaitUntilTrue: () => (a(), new Promise((a, o) => { i = o, n = S(t, () => a(), e); })), reset: a }; } !function(t) { t[t.watching = 1] = "watching", t[t.completed = 2] = "completed", t[t.onhold = 3] = "onhold", t[t.dropped = 4] = "dropped", t[t.planToWatch = 6] = "planToWatch"; }(v || (v = {})); const T = Math.random(); function P() { $(".mal-sync-double-detect").length && $(".mal-sync-double-detect").each((function(t) { $(this).text() !== T.toString() && alert("Double execution detected! Please run MAL-Sync once only."); })), $("body").after(t.html(`<div class="mal-sync-double-detect" style="display: none;">${T.toString()}</div>`)); } function C(t) { return /malSync::[\d\D]+::/.test(t) ? e(t.split("malSync::")[1].split("::")[0]) : /last::[\d\D]+::/.test(t) ? e(t.split("last::")[1].split("::")[0]) : void 0; function e(t) { try { return atob(t); } catch (e) { return t; } } } function A(t, e) { if ("" === t) return e = e.replace(/,?(malSync|last)::[^ \n]+?::/, ""); if (!i.settings.get("malTags")) return e; const n = `malSync::${btoa(t)}::`; return e = /(last|malSync)::[\d\D]+::/.test(e) ? e.replace(/(last|malSync)::[^^]*?::/, n) : `${e},${n}`; } function I(t, e, n, a) { return r(this, void 0, void 0, (function*() { return i.storage.set(`resume/${n}/${a}`, { url: t, ep: e }); })); } function O(t, e) { return r(this, void 0, void 0, (function*() { if (i.settings.get("malResume")) return i.storage.get(`resume/${t}/${e}`); })); } function U(t, e, n, a) { return r(this, void 0, void 0, (function*() { return i.storage.set(`continue/${n}/${a}`, { url: t, ep: e }); })); } function M(t, e) { return r(this, void 0, void 0, (function*() { if (i.settings.get("malContinue")) return i.storage.get(`continue/${t}/${e}`); })); } function L(t, e, n, a = "") { return r(this, void 0, void 0, (function*() { const o = {}; if (n) { for (const t in n) switch (t) { case "u": case "p": o[t] = n[t]; } i.settings.get("malTags") ? a = A(JSON.stringify(o), a) : yield i.storage.set(`tagSettings/${t}/${e}`, JSON.stringify(o)); } return Object.values(o).find(t => Boolean(t)) || (a = A("", a), i.settings.get("malTags") || (yield i.storage.remove(`tagSettings/${t}/${e}`))), a; })); } function N(t, e, n = "") { return r(this, void 0, void 0, (function*() { const o = { u: null, c: null, r: null, p: "" }; if (i.settings.get("malTags")) { const t = C(n); if (t) if ("{" === t[0]) try { const e = JSON.parse(t); for (const t in o) e[t] && (o[t] = e[t]); } catch (t) { a.error(t); } else o.u = t; } else { let n = yield i.storage.get(`tagSettings/${t}/${e}`); if (n) { n = JSON.parse(n); for (const t in o) n[t] && (o[t] = n[t]); } } const r = yield M(t, e); r && (o.c = r); const s = yield O(t, e); return s && (o.r = s), i.settings.get("usedPage") || (o.u = null), o; })); } function R(t) { return -1 !== t.indexOf("questionmark") ? i.storage.assetUrl("questionmark.gif") : t; } function j(t, e = "", n = "top") { const i = Math.floor(1e3 * Math.random() + 1); return `<div id="tt${i}" class="icon material-icons" style="font-size:16px; line-height: 0; color: #7f7f7f; padding-bottom: 20px; padding-left: 3px; ${e}">contact_support</div> <div class="mdl-tooltip mdl-tooltip--${n} mdl-tooltip--large" for="tt${i}">${t}</div>`; } function V(t) { let e = ""; t /= 1e3; const n = Math.floor(t / 31536e3); t -= 31536e3 * n, n && (e += n + "y "); const i = Math.floor(t / 86400); t -= 86400 * i, i && (e += i + "d "); const a = Math.floor(t / 3600) % 24; t -= 3600 * a, a && i < 2 && (e += a + "h "); const o = Math.floor(t / 60) % 60; return t -= 60 * o, o && !i && a < 3 && (e += o + "min "), e; } function D() { return "undefined" != typeof browser && void 0 !== browser.tabs.hide; } function z(t, e, n) { const i = { anime: { 1: { class: "watching", text: "CW", title: "Watching" }, 2: { class: "completed", text: "CMPL", title: "Completed" }, 3: { class: "on-hold", text: " HOLD", title: "On-Hold" }, 4: { class: "dropped", text: "DROP", title: "Dropped" }, 6: { class: "plantowatch", text: "PTW", title: "Plan to Watch" } }, manga: { 1: { class: "reading", text: "CR", title: "Reading" }, 2: { class: "completed", text: "CMPL", title: "Completed" }, 3: { class: "on-hold", text: " HOLD", title: "On-Hold" }, 4: { class: "dropped", text: "DROP", title: "Dropped" }, 6: { class: "plantoread", text: "PTR", title: "Plan to Read" } } }; if ($.each([ 1, 2, 3, 4, 6 ], (function(t, e) { i.anime[i.anime[e].title] = i.anime[e], i.manga[i.manga[e].title] = i.manga[e]; })), t) { const a = i[e][t]; return ` <a href="https://myanimelist.net/ownlist/${e}/${n}/edit?hideLayout=1" title="${a.title}" class="Lightbox_AddEdit button_edit ${a.class}">${a.text}</a>`; } return !1; } function F(t, e, n, o = "") { const r = { type: "basic", title: e, message: n, iconUrl: o }; a.log("Notification", t, r), i.storage.get("notificationHistory").then(e => { void 0 === e && (e = []), "object" == typeof e && (e.length >= 10 && e.shift(), e.push({ url: t, title: r.title, message: r.message, iconUrl: r.iconUrl, timestamp: Date.now() }), i.storage.set("notificationHistory", e)); }); try { return chrome.notifications.create(t, r); } catch (t) { a.error(t); } } function H(t, e, n) { return r(this, void 0, void 0, (function*() { const a = yield i.storage.get(t); if ("object" == typeof a && (new Date).getTime() < a.timestamp) return a.data; const o = yield e(); return i.storage.set(t, { data: o, timestamp: (new Date).getTime() + n }).then(() => o); })); } function B(e, n) { t.$("#flash-div-top").length || function() { i.storage.addStyle('.flashinfo{\n transition: max-height 2s, opacity 2s 2s;\n }\n .mini-stealth .flashinfo{\n opacity: 0;\n }\n #flashinfo-div.hover.mini-stealth .flashinfo.type-update{\n opacity: 0.7;\n }\n #flashinfo-div.hover .flashinfo{\n opacity: 1;\n }\n .flashinfo:hover{\n max-height:5000px !important;\n z-index: 2147483647;\n opacity: 1;\n transition: max-height 2s;\n }\n .flashinfo .synopsis{\n transition: max-height 2s, max-width 2s ease 2s;\n }\n .flashinfo:hover .synopsis{\n max-height:9999px !important;\n max-width: 500px !important;\n transition: max-height 2s;\n }\n #flashinfo-div{\n z-index: 2;\n transition: 2s;\n }\n #flashinfo-div:hover, #flashinfo-div.hover{\n z-index: 2147483647;\n }\n #flashinfo-div.player-error {\n z-index: 2147483647;\n }\n #flashinfo-div.player-error .type-update{\n overflow: visible !important;\n opacity: 1 !important;\n }\n #flashinfo-div.player-error .player-error{\n display: block !important\n }\n\n #flash-div-top, #flash-div-bottom, #flashinfo-div{\n font-family: "Helvetica","Arial",sans-serif;\n color: white;\n font-size: 14px;\n font-weight: 400;\n line-height: 17px;\n }\n #flash-div-top h2, #flash-div-bottom h2, #flashinfo-div h2{\n font-family: "Helvetica","Arial",sans-serif;\n color: white;\n font-size: 14px;\n font-weight: 700;\n line-height: 17px;\n padding: 0;\n margin: 0;\n }\n #flash-div-top a, #flash-div-bottom a, #flashinfo-div a{\n color: #DF6300;\n }'); let e = ""; i.settings.get("floatButtonStealth") && (e = "mini-stealth"); t.$("body").after(t.html(`<div id="flash-div-top" style="text-align: center;pointer-events: none;position: fixed;top:-5px;width:100%;z-index: 2147483647;left: 0;"></div> <div id="flash-div-bottom" style="text-align: center;pointer-events: none;position: fixed;bottom:0px;width:100%;z-index: 2147483647;left: 0;"><div id="flash" style="display:none; background-color: red;padding: 20px; margin: 0 auto;max-width: 60%; -webkit-border-radius: 20px;-moz-border-radius: 20px;border-radius: 20px;background:rgba(227,0,0,0.6);"></div></div> <div id="flashinfo-div" class="${e}" style="text-align: center;pointer-events: none;position: fixed;bottom:0px;width:100%;left: 0;">`)); }(), a.log("[Flash] Message:", e); let o = "#323232"; void 0 !== n && void 0 !== n.error && n.error && (o = "#3e0808"); let r = "#flash-div-bottom"; void 0 !== n && void 0 !== n.position && n.position && (r = "#flash-div-" + n.position); let s = "flash"; if (void 0 !== n && void 0 !== n.type && n.type) { const e = "type-" + n.type; t.$(`${r} .${e}, #flashinfo-div .${e}`).removeClass(e).fadeOut({ duration: 1e3, queue: !1, complete() { t.$(this).remove(); } }), s += " " + e; } let l, c = `<div class="${s}" style="display:none;"> <div style="display:table; pointer-events: all; padding: 14px 24px 14px 24px; margin: 0 auto; margin-top: 5px; max-width: 60%; -webkit-border-radius: 20px;-moz-border-radius: 20px;border-radius: 2px;color: white;background:${o}; "> ${e} </div> </div>`; return void 0 !== n && void 0 !== n.hoverInfo && n.hoverInfo ? (s += " flashinfo", c = `<div class="${s}" style="display:none; max-height: 5000px; overflow: hidden;"><div style="display:table; pointer-events: all; margin: 0 auto; margin-top: -2px; max-width: 60%; -webkit-border-radius: 20px;-moz-border-radius: 20px;border-radius: 2px;color: white;background:${o}; position: relative;"><div style="max-height: 60vh; overflow-y: auto; padding: 14px 24px 14px 24px;">${e}</div></div></div>`, t.$("#flashinfo-div").addClass("hover"), l = t.$(t.html(c)).appendTo("#flashinfo-div"), void 0 !== n && void 0 !== n.minimized && n.minimized && l.css("max-height", "8px")) : l = t.$(t.html(c)).appendTo(r), void 0 !== n && void 0 !== n.permanent && n.permanent ? l.slideDown(800) : void 0 !== n && void 0 !== n.hoverInfo && n.hoverInfo ? l.slideDown(800).delay(4e3).queue((function() { t.$("#flashinfo-div").removeClass("hover"), l.css("max-height", "8px"); })) : l.slideDown(800).delay(4e3).slideUp(800, () => { t.$(this).remove(); }), l; } function K(e, n, a = (() => {}), o = (() => {}), s = !1) { return r(this, void 0, void 0, (function*() { return new Promise((function(r, l) { let c = i.storage.lang("Ok"), d = i.storage.lang("Cancel"); s && (c = i.storage.lang("Yes"), d = i.storage.lang("No")); const m = B(e = `<div style="text-align: center;">${e}</div><div style="display: flex; justify-content: space-around;"><button class="Yes" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px; cursor:pointer;">${c}</button><button class="Cancel" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px; cursor:pointer;">${d}</button></div>`, { permanent: !0, position: "top", type: n }); m.find(".Yes").click((function(e) { r(!0), t.$(e.target).parentsUntil(".flash").fadeOut(300, (function() { t.$(this).remove(); })), a(); })), m.find(".Cancel").click((function(e) { r(!1), t.$(e.target).parentsUntil(".flash").fadeOut(300, (function() { t.$(this).remove(); })), o(); })); })); })); } let q = !1, W = []; function J(e, n = ".mdl-layout__content") { function i(e, n) { if (!t.$(e).is(":visible")) return !1; if (t.$(e).hasClass("lazyBack")) t.$(e).css("background-image", `url(${e.getAttribute("data-src")})`).removeClass("lazyBack"); else { const t = new Image, i = e.getAttribute("data-src"); t.onload = function() { e.parent ? e.parent.replaceChild(t, e) : e.src = i, n && n(); }, t.src = i; } } for (let t = 0; t < W.length; t++) $(W[t]).addClass("init"); W = []; const a = e.find("img.lazy.init, .lazyBack.init"), r = function() { for (let t = 0; t < W.length; t++) o.elementInViewport(W[t], 600) && i(W[t], (function() { W.splice(t, t); })), $(W[t]).length || W.splice(t, t); }; for (let t = 0; t < a.length; t++) W.push(a[t]), $(a[t]).removeClass("init"); r(), q || (q = !0, e.find(n).scroll((function() { r(); }))); } function G(t, e = 0) { const n = t.getBoundingClientRect(); return n.top >= 0 && n.left >= 0 && n.top - e <= (window.innerHeight || document.documentElement.clientHeight); } function Y(t) { return new Promise(e => setTimeout(e, t)); } function Z(t, e, n) { switch (t) { case "mal": return `https://myanimelist.net/${e}/${n}`; case "anilist": return `https://anilist.co/${e}/${n}`; case "kitsu": return `https://kitsu.io/${e}/${n}`; case "simkl": return `https://simkl.com/${e}/${n}`; default: throw t + " not a valid page"; } } function Q(t = 0) { const e = new Date; e.setDate(e.getDate() + t); const n = e.getMonth() < 9 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1, i = e.getDate() < 10 ? "0" + e.getDate() : e.getDate(); return `${e.getFullYear()}-${n}-${i}`; } }.call(this, n(2), n(0), n(4), n(1)); }, function(t, e, n) { "use strict"; n.r(e), n.d(e, "$", (function() { return a; })), n.d(e, "html", (function() { return o; })); var i = n(89); const a = jQuery; function o(t) { return i.sanitize(t, { SAFE_FOR_JQUERY: !0, ALLOW_UNKNOWN_PROTOCOLS: !0, ADD_ATTR: [ "target" ] }); } }, function(t, e) { t.exports = function(t) { var e = []; return e.toString = function() { return this.map((function(e) { var n = function(t, e) { var n = t[1] || "", i = t[3]; if (!i) return n; if (e && "function" == typeof btoa) { var a = (r = i, "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(r)))) + " */"), o = i.sources.map((function(t) { return "/*# sourceURL=" + i.sourceRoot + t + " */"; })); return [ n ].concat(o).concat([ a ]).join("\n"); } var r; return [ n ].join("\n"); }(e, t); return e[2] ? "@media " + e[2] + "{" + n + "}" : n; })).join(""); }, e.i = function(t, n) { "string" == typeof t && (t = [ [ null, t, "" ] ]); for (var i = {}, a = 0; a < this.length; a++) { var o = this[a][0]; "number" == typeof o && (i[o] = !0); } for (a = 0; a < t.length; a++) { var r = t[a]; "number" == typeof r[0] && i[r[0]] || (n && !r[2] ? r[2] = n : n && (r[2] = "(" + r[2] + ") and (" + n + ")"), e.push(r)); } }, e; }; }, function(t, e, n) { "use strict"; n.r(e), n.d(e, "log", (function() { return i; })), n.d(e, "error", (function() { return a; })), n.d(e, "info", (function() { return o; })), n.d(e, "debug", (function() { return r; })), n.d(e, "m", (function() { return s; })); const i = Function.prototype.bind.call(console.log, console, "%cMAL-Sync", "background-color: #2e51a2; color: white; padding: 2px 10px; border-radius: 3px;"), a = Function.prototype.bind.call(console.error, console, "%cMAL-Sync", "background-color: #8f0000; color: white; padding: 2px 10px; border-radius: 3px;"), o = Function.prototype.bind.call(console.info, console, "%cMAL-Sync", "background-color: wheat; color: black; padding: 2px 10px; border-radius: 3px;"), r = Function.prototype.bind.call(console.debug, console, "%cMAL-Sync", "background-color: steelblue; color: black; padding: 2px 10px; border-radius: 3px;"), s = (t, e = "", n = []) => { let i = "white"; e || (e = function(t) { if (!t) return "#ffffff"; t = String(t); let e = 0; for (let n = 0; n < t.length; n++) e = t.charCodeAt(n) + ((e << 5) - e); let n = "#"; for (let t = 0; t < 3; t++) { n += ("00" + (e >> 8 * t & 255).toString(16)).substr(-2); } return n; }(t)), "#" === e[0] && (i = parseInt(e.replace("#", ""), 16) > 8388607.5 ? "#000" : "#fff"); const a = `background-color: ${e}; color: ${i}; padding: 2px 10px; border-radius: 3px; margin-left: -5px; border-left: 1px solid white;`; n.push({ name: t, style: a }); const o = { m: (t, e = "") => s(t, e, [ ...n ]) }, r = n.reduce((t, e) => `${t}%c${e.name}`, ""), l = n.map(t => t.style); return o.log = Function.prototype.bind.call(console.log, console, "%cM " + r, "background-color: #2e51a2; color: white; padding: 2px 10px; border-radius: 3px;", ...l), o.error = Function.prototype.bind.call(console.error, console, "%cM " + r, "background-color: #8f0000; color: white; padding: 2px 10px; border-radius: 3px;", ...l), o.info = Function.prototype.bind.call(console.info, console, "%cM " + r, "background-color: wheat; color: black; padding: 2px 10px; border-radius: 3px;", ...l), o.debug = Function.prototype.bind.call(console.debug, console, "%cM " + r, "background-color: steelblue; color: black; padding: 2px 10px; border-radius: 3px;", ...l), o; }; }, function(t, e, n) { "use strict"; var i, a, o; n.d(e, "b", (function() { return i; })), n.d(e, "a", (function() { return o; })), function(t) { t[t.NoState = 0] = "NoState", t[t.Watching = 1] = "Watching", t[t.Completed = 2] = "Completed", t[t.Onhold = 3] = "Onhold", t[t.Dropped = 4] = "Dropped", t[t.PlanToWatch = 6] = "PlanToWatch", t[t.All = 7] = "All", t[t.Rewatching = 23] = "Rewatching"; }(i || (i = {})), function(t) { t[t.NoScore = 0] = "NoScore", t[t.R1 = 1] = "R1", t[t.R2 = 2] = "R2", t[t.R3 = 3] = "R3", t[t.R4 = 4] = "R4", t[t.R5 = 5] = "R5", t[t.R6 = 6] = "R6", t[t.R7 = 7] = "R7", t[t.R8 = 8] = "R8", t[t.R9 = 9] = "R9", t[t.R10 = 10] = "R10"; }(a || (a = {})), function(t) { t[t.UrlNotSuported = 901] = "UrlNotSuported", t[t.NotAutenticated = 902] = "NotAutenticated", t[t.ServerOffline = 903] = "ServerOffline", t[t.EntryNotFound = 904] = "EntryNotFound", t[t.GenericError = 905] = "GenericError"; }(o || (o = {})); }, function(t, e, n) { "use strict"; function i(t, e, n, i, a, o, r, s) { var l, c = "function" == typeof t ? t.options : t; if (e && (c.render = e, c.staticRenderFns = n, c._compiled = !0), i && (c.functional = !0), o && (c._scopeId = "data-v-" + o), r ? (l = function(t) { (t = t || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t = __VUE_SSR_CONTEXT__), a && a.call(this, t), t && t._registeredComponents && t._registeredComponents.add(r); }, c._ssrRegister = l) : a && (l = s ? function() { a.call(this, (c.functional ? this.parent : this).$root.$options.shadowRoot); } : a), l) if (c.functional) { c._injectStyles = l; var d = c.render; c.render = function(t, e) { return l.call(e), d(t, e); }; } else { var m = c.beforeCreate; c.beforeCreate = m ? [].concat(m, l) : [ l ]; } return { exports: t, options: c }; } n.d(e, "a", (function() { return i; })); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "f", (function() { return o; })), n.d(e, "c", (function() { return r; })), n.d(e, "b", (function() { return s; })), n.d(e, "e", (function() { return l; })), n.d(e, "d", (function() { return c; })), n.d(e, "a", (function() { return d; })); var a = n(5); function o(t, e = null) { const n = { current: 1, planned: 6, completed: 2, dropped: 4, on_hold: 3 }; return null !== e ? Object.keys(n).find(t => n[t] === e) : n[t]; } function r(e, n) { let i; switch (t.settings.get("kitsuOptions").titleLanguagePreference) { case "english": i = e.en; break; case "romanized": i = e.en_jp; break; case "canonical": default: i = n; } if (void 0 !== i && i || (i = e.en), void 0 !== i && i || (i = e.en_jp), void 0 !== i && i || (i = e.ja_jp), void 0 === i || !i) { const t = Object.keys(e); if (!t.length) return "No Title"; i = e[t[0]]; } return i; } function s(t, e) { return Number.isNaN(t) || !t ? "kitsu:" + e : t; } function l(t, e) { return this.apiCall("GET", `https://kitsu.io/api/edge/mappings?filter[externalSite]=myanimelist/${e}&filter[externalId]=${t}&include=item&fields[item]=id`, {}, !1); } function c(e, n) { return t.request.xhr("GET", { url: `https://kitsu.io/api/edge/${n}/${e}/mappings?filter[externalSite]=myanimelist/${n}`, headers: { "Content-Type": "application/vnd.api+json", Accept: "application/vnd.api+json" } }).then(t => { const e = JSON.parse(t.responseText); return i.log("[KtoM]", e), void 0 !== e.data && e.data.length ? e.data[0].attributes.externalId : null; }); } function d(e, n, i = {}, o = !0) { const r = { "Content-Type": "application/vnd.api+json", Accept: "application/vnd.api+json" }; return o && (r.Authorization = "Bearer " + t.settings.get("kitsuToken")), t.request.xhr(e, { url: n, headers: r, data: JSON.stringify(i) }).then(t => { if (t.status > 499 && t.status < 600 || 0 === t.status) throw this.errorObj(a.a.ServerOffline, "Server Offline status: " + t.status); if (204 === t.status) return {}; const e = JSON.parse(t.responseText); if (void 0 !== e.errors && e.errors.length) { this.logger.error("[SINGLE]", "Error", e.errors); const t = e.errors[0]; switch (parseInt(t.status)) { case 401: case 403: throw this.errorObj(a.a.NotAutenticated, t.detail); case 404: throw this.errorObj(a.a.EntryNotFound, t.detail); default: throw this.errorObj(t.status, t.detail); } } return e; }); } }).call(this, n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "b", (function() { return r; })), n.d(e, "h", (function() { return s; })), n.d(e, "d", (function() { return l; })), n.d(e, "e", (function() { return c; })), n.d(e, "g", (function() { return m; })), n.d(e, "f", (function() { return u; })), n.d(e, "a", (function() { return p; })), n.d(e, "c", (function() { return h; })); var a = n(5), o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const r = "39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0"; function s(t, e = null) { const n = { watching: 1, plantowatch: 6, completed: 2, notinteresting: 4, hold: 3 }; return null !== e ? Object.keys(n).find(t => n[t] === e) : n[t]; } function l(t, e) { return Number.isNaN(t) || !t ? "simkl:" + e : t; } function c(t) { if ("number" == typeof t) return t; if (t) { const e = t.match(/e\d+/i); if (null !== e) { const t = parseInt(e[0].replace(/\D/, "")); return Number.isNaN(t) ? 0 : t; } } return 0; } let d; function m(e = !1) { return o(this, void 0, void 0, (function*() { const n = t.m("Simkl", "#9b7400").m("list"); if (void 0 === d) d = yield i.storage.get("simklList"); else if (e) return d; const a = yield i.storage.get("simklLastCheck"), o = yield this.call("https://api.simkl.com/sync/activities"); if (n.log("Activity", a, o.anime), a && a.removed_from_list !== o.anime.removed_from_list) { const t = yield this.call("https://api.simkl.com/sync/all-items/anime"), e = {}; if (t) for (let n = 0; n < t.anime.length; n++) { const i = t.anime[n]; void 0 !== d[i.show.ids.simkl] && (e[i.show.ids.simkl] = d[i.show.ids.simkl]); } d = e, n.log("remove", d); } let r = ""; if (a && d && (r = "date_from=" + a.all, a.all === o.anime.all)) return n.log("Up to date"), d; if (d || (d = {}), a && a.rated_at !== o.anime.rated_at) { const t = yield this.call("https://api.simkl.com/sync/ratings/anime?" + r); if (n.log("ratedUpdate", t), t) for (let e = 0; e < t.anime.length; e++) { const n = t.anime[e]; d[n.show.ids.simkl] = n; } } const s = yield this.call("https://api.simkl.com/sync/all-items/anime?" + r); if (n.log("listUpdate", s), s) for (let t = 0; t < s.anime.length; t++) { const e = s.anime[t]; d[e.show.ids.simkl] = e; } return n.log("totalList", d), yield i.storage.set("simklList", d), yield i.storage.set("simklLastCheck", o.anime), d; })); } function u(t, e = !1) { return o(this, void 0, void 0, (function*() { const n = yield this.syncList(e); if (t.simkl) { if (void 0 !== n[t.simkl]) return n[t.simkl]; } else { if (!t.mal) throw "No id passed"; { const e = Object.values(n); for (let n = 0; n < e.length; n++) { const i = e[n]; if (void 0 !== i.show.ids.mal && Number(i.show.ids.mal) === Number(t.mal)) return i; } } } return null; })); } function p(e, n = {}, a = !1, s = "GET", l = !0) { return o(this, void 0, void 0, (function*() { const c = t.m("Simkl", "#9b7400").m("call"); a && (e += "?" + new URLSearchParams(Object.entries(n)), n = void 0), c.log(s, e, n); const d = { "simkl-api-key": r, Accept: "application/vnd.api+json", "Content-Type": "application/json" }; return l ? d.Authorization = "Bearer " + i.settings.get("simklToken") : c.log("No login"), i.request.xhr(s, { url: e, headers: d, data: n }).then(t => o(this, void 0, void 0, (function*() { const e = this.jsonParse(t); return this.errorHandling(e, t.status), e; }))); })); } function h(t, e) { if (e > 499 && e < 600 || 0 === e) throw this.errorObj(a.a.ServerOffline, "Server Offline status: " + e); if (t && void 0 !== t.error) { this.logger.error("[SINGLE]", "Error", t.error); const {error: e} = t; if (e.code) throw e.code, this.errorObj(e.code, e.error); switch (e) { case "user_token_failed": throw this.errorObj(a.a.NotAutenticated, "user_token_failed"); default: throw e; } } } }).call(this, n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "b", (function() { return l; })), n.d(e, "a", (function() { return c; })), n.d(e, "d", (function() { return d; })), n.d(e, "c", (function() { return m; })); var a = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const o = n(90); function r(t, e, n) { return t.replace("{searchterm}", encodeURIComponent(e.trim().toLowerCase())).replace("{searchtermPlus}", encodeURIComponent(e.trim().toLowerCase()).replace(/%20/g, "+")).replace("{searchtermRaw}", e.replace(/\//g, " ")).replace("{cacheId}", n); } function s(e, n, o) { return a(this, void 0, void 0, (function*() { const r = yield function(e, n) { return a(this, void 0, void 0, (function*() { const o = `https://api.malsync.moe/mal/${e}/${n}`; return t.request.xhr("GET", o).then(t => a(this, void 0, void 0, (function*() { if (i.log("malSync response", t), 400 === t.status) return {}; if (200 === t.status) { const e = JSON.parse(t.responseText); return e && e.Sites ? e.Sites : {}; } throw new Error("malsync offline"); }))); })); }(n, o); return e.map(t => (t.database && r[t.database] && (t.databaseLinks = r[t.database]), t)); })); } function l() { const e = t.settings.get("quicklinks"), n = [ ...e.filter(t => "object" == typeof t && t), ...o.filter(t => e.includes(t.name)) ]; return JSON.parse(JSON.stringify(n)); } function c(t, e, n) { return a(this, void 0, void 0, (function*() { let i = l(); return e && (i = yield s(i, t, e)), function(t, e, n, i) { return t.filter(t => t.search && t.search[e]).map(t => { const a = []; return t.databaseLinks ? Object.values(t.databaseLinks).forEach(t => { a.push({ name: t.title, url: t.url }); }) : "home" === t.search[e] ? a.push({ name: "Homepage", url: t.domain }) : a.push({ name: "Quicksearch", url: r(t.search[e], n, i) }), { name: t.name, domain: t.domain, links: a }; }); }(i, t, n, e); })); } function d(t, e) { return e ? t.filter(t => t !== e && ("object" != typeof t || t.name !== e)) : t; } function m(e) { const n = t.settings.get("quicklinks"); t.settings.set("quicklinks", d(n, e)); } }).call(this, n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "f", (function() { return r; })), n.d(e, "e", (function() { return a; })), n.d(e, "a", (function() { return s; })), n.d(e, "d", (function() { return l; })), n.d(e, "c", (function() { return c; })), n.d(e, "b", (function() { return d; })); var a, o = n(5); function r(t, e = null) { const n = { CURRENT: 1, PLANNING: 6, COMPLETED: 2, DROPPED: 4, PAUSED: 3, REPEATING: 1 }; return null !== e ? Object.keys(n).find(t => n[t] === e) : n[t]; } function s(e, n) { const a = { id: e, type: n.toUpperCase() }; return t.request.xhr("POST", { url: "https://graphql.anilist.co", headers: { "Content-Type": "application/json", Accept: "application/json" }, data: JSON.stringify({ query: "\n query ($id: Int, $type: MediaType) {\n Media (id: $id, type: $type) {\n id\n idMal\n }\n }\n ", variables: a }) }).then(t => { const e = JSON.parse(t.responseText); return i.log(e), e.data.Media.idMal; }); } function l(e, n) { const a = { id: e, type: n.toUpperCase() }; return t.request.xhr("POST", { url: "https://graphql.anilist.co", headers: { "Content-Type": "application/json", Accept: "application/json" }, data: JSON.stringify({ query: "\n query ($id: Int, $type: MediaType) {\n Media (idMal: $id, type: $type) {\n id\n idMal\n }\n }\n ", variables: a }) }).then(t => { const e = JSON.parse(t.responseText); return i.log(e), e.data.Media.id; }); } function c(t, e) { return Number.isNaN(t) || !t ? "anilist:" + e : t; } function d(e, n, i = !0) { const a = { "Content-Type": "application/json", Accept: "application/json" }; return i && (a.Authorization = "Bearer " + t.settings.get("anilistToken")), t.request.xhr("POST", { url: "https://graphql.anilist.co", headers: a, data: JSON.stringify({ query: e, variables: n }) }).then(t => { if (t.status > 499 && t.status < 600 || 0 === t.status) throw this.errorObj(o.a.ServerOffline, "Server Offline status: " + t.status); const e = JSON.parse(t.responseText); if (void 0 !== e.errors && e.errors.length) { this.logger.error("[SINGLE]", "Error", e.errors); const t = e.errors[0]; switch (t.status) { case 400: if ("validation" === t.message) throw this.errorObj(t.status, "Wrong request format"); if (t.message.includes("invalid")) throw this.errorObj(t.status, "Wrong request format"); throw this.errorObj(o.a.NotAutenticated, t.message); case 404: throw this.errorObj(o.a.EntryNotFound, t.message); default: throw this.errorObj(t.status, t.message); } } return e; }); } !function(t) { t[t.CURRENT = 1] = "CURRENT", t[t.PLANNING = 6] = "PLANNING", t[t.COMPLETED = 2] = "COMPLETED", t[t.DROPPED = 4] = "DROPPED", t[t.PAUSED = 3] = "PAUSED", t[t.REPEATING = 23] = "REPEATING"; }(a || (a = {})); }).call(this, n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "c", (function() { return r; })), n.d(e, "b", (function() { return s; })), n.d(e, "a", (function() { return l; })), n.d(e, "d", (function() { return c; })); var i = n(5), a = n(80), o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const r = "https://malsync.moe/mal/oauth"; function s(e) { return o(this, void 0, void 0, (function*() { let n = "https://api.myanimelist.net/v2/" + e.path; e.fields && e.fields.length && (n += n.includes("?") ? "&" : "?", n += "fields=" + e.fields.join(",")); const r = { Authorization: "Bearer " + t.settings.get("malToken"), "Content-Type": "application/x-www-form-urlencoded" }; let s = ""; if (e.dataObj) { const t = []; for (const n in e.dataObj) { const i = encodeURIComponent(n), a = encodeURIComponent(e.dataObj[n]); t.push(`${i}=${a}`); } s = t.join("&"); } return t.request.xhr(e.type, { url: n, headers: r, data: s }).then(n => o(this, void 0, void 0, (function*() { var r, s, l; if (n.status > 499 && n.status < 600 || 0 === n.status) throw this.errorObj(i.a.ServerOffline, "Server Offline status: " + n.status); let c; try { c = JSON.parse(n.responseText); } catch (t) { if (n.responseText.includes("Request blocked")) throw this.errorObj(i.a.GenericError, "Your IP has been banned on MAL, change your IP or wait for it to get unbanned"); throw t; } if (c && c.error) switch (c.error) { case "forbidden": case "invalid_token": if (yield function(e) { return o(this, void 0, void 0, (function*() { const n = e.m("Refresh"); n.log("Refresh Access Token"); const i = t.settings.get("malRefresh"); return !!i && t.request.xhr("POST", { url: "https://myanimelist.net/v1/oauth2/token", headers: { "Content-Type": "application/x-www-form-urlencoded" }, data: `client_id=${a.a}&grant_type=refresh_token&refresh_token=${i}` }).then(t => JSON.parse(t.responseText)).then(e => e && e.refresh_token && e.access_token ? (t.settings.set("malToken", e.access_token), t.settings.set("malRefresh", e.refresh_token), !0) : e && e.error ? (n.error(e.error, "|", e.message), t.settings.set("malRefresh", ""), !1) : (n.error("Something went wrong"), !1)); })); }(this.logger)) return this.apiCall(e); throw this.errorObj(i.a.NotAutenticated, null !== (r = c.message) && void 0 !== r ? r : c.error); case "not_found": throw this.errorObj(i.a.EntryNotFound, null !== (s = c.message) && void 0 !== s ? s : c.error); case "invalid_content": throw this.errorObj(i.a.GenericError, `This ${this.type} is currently pending approval. It can´t be saved to mal for now`); default: throw this.errorObj(c.error, null !== (l = c.message) && void 0 !== l ? l : c.error); } switch (n.status) { case 400: throw this.errorObj(i.a.GenericError, "Invalid Parameters"); } return c; }))); })); } var l, c; !function(t) { t[t.watching = 1] = "watching", t[t.completed = 2] = "completed", t[t.on_hold = 3] = "on_hold", t[t.dropped = 4] = "dropped", t[t.plan_to_watch = 6] = "plan_to_watch"; }(l || (l = {})), function(t) { t[t.reading = 1] = "reading", t[t.completed = 2] = "completed", t[t.on_hold = 3] = "on_hold", t[t.dropped = 4] = "dropped", t[t.plan_to_read = 6] = "plan_to_read"; }(c || (c = {})); }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return o; })); var i = n(1), a = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class o { constructor(t = Object(i.generateUniqueID)()) { return this.elementId = t, this.capturedVariables = new Map, this; } addCaptureVariable(t, e) { this.capturedVariables.set(t, [ Object(i.generateUniqueID)(), e ]); } getCaptureVariable(e) { const n = t.$("#" + this.elementId); if (null === n) return; const i = this.capturedVariables.get(e); if (void 0 === i) return; const a = n.attr("data-" + i[0]); return void 0 !== a ? JSON.parse(a) : void 0; } addProxy(e) { const n = t.$("#" + this.elementId); null !== n && n.remove(); const a = Object(i.generateUniqueID)(), o = t => { if (!(t instanceof MessageEvent)) return; t.data.uniqueId === a && (window.removeEventListener("message", o), void 0 !== e && e(this)); }; window.addEventListener("message", o, !1); let r = `\n {\n const element = document.getElementById('${this.elementId}');\n `; this.capturedVariables.forEach((t, e) => { const n = Object(i.generateUniqueID)(); r += `\n const func_${n} = () => {${t[1]}};\n element.setAttribute('data-${t[0]}', JSON.stringify(func_${n}()));\n `; }), r += `\n window.postMessage({"uniqueId": "${a}"}, "*");\n }\n `; const s = document.createElement("script"), l = document.createTextNode(r); s.id = this.elementId, s.appendChild(l), t.$("body").append(s); } getProxyVariable(t) { return a(this, void 0, void 0, (function*() { return new Promise((e, n) => { this.addProxy(n => a(this, void 0, void 0, (function*() { e(this.getCaptureVariable(t)); }))); }); })); } } }).call(this, n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })), n.d(e, "b", (function() { return r; })); const o = r(); function r() { let e; return e = { name: "ZeroScans", domain: "https://zeroscans.com", languages: [ "English" ], type: "manga", isSyncPage: t => "comics" === t.split("/")[3] && t.split("/")[5] >= "1", sync: { getTitle: e => t.$(".d-flex .heading h6.text-highlight").text().trim(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => t.$("div.container.py-5 div#pages-container div.d-flex div.btn-group a.btn").attr("href") || "", getEpisode: t => Number(i.urlPart(t, 6)), getVolume: t => Number(t.split("/")[5]), nextEpUrl: e => t.$("div#content.flex div.container.py-5 div#pages-container div.d-flex a:contains('Next')").attr("href") }, overview: { getTitle: e => t.$(".d-flex .heading h5.text-highlight").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.col-lg-9.col-md-8.col-xs-12.text-muted div.row.py-2").first().before(t.html(`<div id= "MALSyncheading" class="heading"> <h6 class="text-highlight">MAL-Sync</h6></div><div id="malthing">${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.list-item.col-sm-3"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => t.find("a").first().attr("href").split("/")[6] } }, init(e) { a.storage.addStyle(n(457).toString()), t.$(document).ready((function() { "comics" !== e.url.split("/")[3] || 5 !== e.url.split("/").length && 7 !== e.url.split("/").length || e.handlePage(); })); } }, e; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return a; })); var i = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class a { constructor(t, e, n = !0) { return this.key = t, this.ttl = e, this.localStorage = n, this; } hasValue() { return i(this, void 0, void 0, (function*() { const t = yield this.getStorage(); return null != t && (new Date).getTime() < t.timestamp; })); } hasValueAndIsNotEmpty() { return i(this, void 0, void 0, (function*() { const t = yield this.getStorage(); return !!(null != t && void 0 !== t.data && null !== t.data && Object.keys(t.data).length && (new Date).getTime() < t.timestamp); })); } getValue() { return i(this, void 0, void 0, (function*() { return (yield this.getStorage()).data; })); } setValue(e) { return i(this, void 0, void 0, (function*() { const n = { data: e, timestamp: (new Date).getTime() + this.ttl }; return this.localStorage ? localStorage.setItem(this.key, JSON.stringify(n)) : t.storage.set(this.key, n); })); } getStorage() { return i(this, void 0, void 0, (function*() { return this.localStorage ? JSON.parse(localStorage.getItem(this.key)) : t.storage.get(this.key); })); } } }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t) { function i(e = "") { const n = t.settings.get("syncMode"); return "SIMKL" !== n || "manga" !== e && -1 === e.indexOf("/manga/") ? n : t.settings.get("syncModeSimkl"); } n.d(e, "a", (function() { return i; })); }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return m; })), n.d(e, "c", (function() { return u; })), n.d(e, "b", (function() { return p; })); var i = n(15), a = n(32), o = n(79), r = n(33), s = n(34), l = n(29), c = n(103), d = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function m(...e) { return d(this, void 0, void 0, (function*() { let n = []; if (t.settings.get("localSync")) { const [t, i] = e, a = new c.a(t, i); a.modes.initProgress = !0, n = yield a.getCompleteList(); } const i = h(e); return i.setTemplist(n), i; })); } function u(...t) { return h(t); } function p(t, e = []) { return h(e, t); } function h(t, e = "") { e || (e = i.a(t[1] ? t[1] : "anime")); const [n, c, d] = t; if ("MAL" === e) return new a.a(n, c, d); if ("MALAPI" === e) return new o.a(n, c, d); if ("ANILIST" === e) return new r.a(n, c, d); if ("KITSU" === e) return new s.a(n, c, d); if ("SIMKL" === e) return new l.a(n, c, d); throw "Unknown sync mode"; } }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return d; })); var o = n(14), r = n(78), s = n(5), l = n(23), c = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; Object.seal(l.a); class d { constructor(e = 1, n = "anime", a = "default") { return this.status = e, this.listType = n, this.sort = a, this.done = !1, this.loading = !1, this.firstLoaded = !1, this.seperateRewatching = !1, this.modes = { frontend: !1, sortAiring: !1, initProgress: !1, cached: !1 }, this.username = "", this.offset = 0, this.templist = [], this.api = t, this.cacheObj = void 0, this.status = Number(this.status), this.logger = i.m("[S]", "#348fff"), this; } setTemplist(t) { return this.templist = t, this; } getTemplist() { return this.templist; } setSort(t) { if (this.firstLoaded || this.loading) throw "To late to change sort"; this.sort = t; } isDone() { return this.done; } isLoading() { return this.loading; } isFirstLoaded() { return this.firstLoaded; } getCompleteList() { return c(this, void 0, void 0, (function*() { do { yield this.getNext(); } while (!this.done); return this.modes.sortAiring && (yield this.sortAiringList()), this.modes.cached && this.getCache().setValue(this.templist.slice(0, 18)), this.firstLoaded = !0, this.templist; })); } getNextPage() { return c(this, void 0, void 0, (function*() { return this.done ? this.templist : this.modes.frontend && 1 === this.status && "default" === this.sort ? (this.modes.sortAiring = !0, this.getCompleteList()) : (yield this.getNext(), this.modes.cached && this.getCache().setValue(this.templist.slice(0, 18)), this.firstLoaded = !0, this.templist); })); } getNext() { return c(this, void 0, void 0, (function*() { this.loading = !0; const t = yield this.getPart(); this.templist = this.templist.concat(t), this.loading = !1; })); } getCached() { return c(this, void 0, void 0, (function*() { if (this.getCache().hasValue()) { const t = yield this.getCache().getValue(); return t.forEach(t => { (t = this.fn(t)).watchedEp = "", t.score = ""; }), t; } return []; })); } initFrontendMode() { this.modes.frontend = !0, this.updateListener = l.a.on("global.update.*", (t, e) => { if (i.log("update", e), e.cacheKey) { const t = this.templist.find(t => t.cacheKey === e.cacheKey); i.log(t), t && e.state && (t.watchedEp = e.state.episode, t.score = e.state.score, t.status = e.state.status); } }, { objectify: !0 }); } destroy() { this.updateListener && this.updateListener.off(); } getSortingOptions(t = !1) { const e = [ { icon: "filter_list", title: "Default", value: "default" } ]; return this._getSortingOptions().forEach(n => { if (n.asc) { const i = Object.assign({}, n); delete i.asc, i.value += "_asc", i.title += " Ascending", t ? n.child = i : e.push(i); } delete n.asc, e.push(n); }), e; } jsonParse(t) { if ("" === t.responseText) throw { code: 444, message: "No Response" }; try { return JSON.parse(t.responseText); } catch (t) { throw { code: 406, message: "Not Acceptable", error: t }; } } flashmError(t) { a.flashm(this.errorMessage(t), { error: !0, type: "error" }); } errorMessage(e) { if (void 0 === e.code) return e; switch (e.code) { case s.a.NotAutenticated: case 400: case 401: return t.storage.lang("Error_Authenticate", [ this.authenticationUrl ]); default: return e.message; } } errorObj(t, e) { return { code: t, message: e }; } fn(t, e = "") { return c(this, void 0, void 0, (function*() { let n = null; return t.fn = { continueUrl: () => null !== n ? n : a.getContinueWaching(t.type, t.cacheKey).then(e => { const i = parseInt(t.watchedEp.toString()); return void 0 === e || e.ep !== i + 1 ? "" : (n = e.url, n); }), initProgress: () => new r.a(t.cacheKey, t.type).init().then(e => { t.fn.progress = e; }), progress: !1 }, t.options = yield a.getEntrySettings(t.type, t.cacheKey, t.tags), e && (t.options.u = e), (this.modes.sortAiring || this.modes.initProgress) && (yield t.fn.initProgress()), t; })); } initProgress() { return c(this, void 0, void 0, (function*() { const t = []; this.templist.forEach(e => { t.push(e.fn.initProgress()); }), yield Promise.all(t); })); } sortAiringList() { return c(this, void 0, void 0, (function*() { const t = []; let e = [], n = []; function i(t, e) { let n = t.fn.progress.getPredictionTimestamp(), i = e.fn.progress.getPredictionTimestamp(); return n || (n = 999999999999), i || (i = n), n - i; } this.templist.forEach(i => { const a = i.fn.progress; a && a.isAiring() && a.getPredictionTimestamp() ? i.watchedEp < a.getCurrentEpisode() ? e.push(i) : n.push(i) : t.push(i); }), e = e.sort(i).reverse(), n = n.sort(i), this.templist = e.concat(n, t); })); } getCache() { return this.cacheObj || (this.cacheObj = new o.a(`list/${this.name}/${this.listType}/${this.status}/${this.sort}`, 1728e5)), this.cacheObj; } } }).call(this, n(0), n(4), n(1)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return o; })); var i = n(14), a = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class o { constructor(e) { return this.url = e, this.run = !1, this.meta = { title: "", alternativeTitle: [], description: "", image: "", characters: [], statistics: [], info: [], openingSongs: [], endingSongs: [], related: [] }, this.cacheObj = void 0, this.logger = t.m("Meta [O]", "green"), this; } init() { return a(this, void 0, void 0, (function*() { return this.run ? this : (yield this.getCache().hasValueAndIsNotEmpty()) ? (this.logger.log("Cached"), this.meta = yield this.getCache().getValue(), this.run = !0, this) : (yield this._init(), this.run = !0, this.getCache().setValue(this.getMeta()), this); })); } getMeta() { return this.meta; } getCache() { return this.cacheObj || (this.cacheObj = new i.a(this.url, 432e6)), this.cacheObj; } errorObj(t, e) { return { code: t, message: e }; } } }).call(this, n(4)); }, function(t, e, n) { "use strict"; n.d(e, "b", (function() { return u; })), n.d(e, "a", (function() { return p; })); var i = n(15), a = n(14), o = n(25), r = n(77), s = n(35), l = n(36), c = n(37), d = n(81), m = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function u(t) { if (/^local:\/\//i.test(t)) return new d.a(t); const e = i.a(t); if ("MAL" === e) return new o.a(t); if ("MALAPI" === e) return new r.a(t); if ("ANILIST" === e) return new s.a(t); if ("KITSU" === e) return new l.a(t); if ("SIMKL" === e) return new c.a(t); throw "Unknown sync mode"; } function p(t) { return m(this, void 0, void 0, (function*() { if (/^https:\/\/myanimelist.net\/(anime|manga)\/\d+(\/|$)/.test(t)) return { cacheKey: t.split("/")[4] }; const e = new a.a("cacheKey/" + t, 6048e5); if (yield e.hasValue()) return e.getValue().then(t => ({ cacheKey: t })); const n = u(t); return yield n.update(), e.setValue(n.getCacheKey()), { cacheKey: n.getCacheKey(), singleObj: n }; })); } }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "b", (function() { return s; })), n.d(e, "c", (function() { return d; })), n.d(e, "e", (function() { return m; })), n.d(e, "d", (function() { return u; })), n.d(e, "a", (function() { return h; })); var a = n(14), o = n(16), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function s() { return r(this, void 0, void 0, (function*() { setTimeout(() => r(this, void 0, void 0, (function*() { const e = yield t.settings.getAsync("progressInterval"), n = yield t.storage.get("progressSyncLast"); Date.now() - n < 60 * e * 1e3 ? i.log("Progress on time") : (yield l()) && t.storage.set("progressSyncLast", Date.now()); })), 3e4); })); } function l() { return r(this, void 0, void 0, (function*() { try { if (f("⌛"), yield t.settings.init(), !t.settings.get("epPredictions")) throw "epPredictions disabled"; return yield c(1, "anime"), yield c(1, "manga"), t.settings.get("loadPTWForProgress") && (yield c(6, "anime"), yield c(6, "manga")), i.log("Progress done"), f(""), !0; } catch (t) { i.log("Progress Failed", t); } return f(""), !1; })); } function c(e, n) { return r(this, void 0, void 0, (function*() { const a = i.m("release").m(n); a.log("Start", n, e); return (yield Object(o.a)(e, n)).getCompleteList().then(e => r(this, void 0, void 0, (function*() { if (e.length > 0) try { yield function(e, n, a = i.m("release")) { return r(this, void 0, void 0, (function*() { if (e ? e.forEach(t => { let e = t.options.p; e || (e = "default"), a.m(t.apiCacheKey).log(t.title, t.cacheKey, t.apiCacheKey, "Mode: " + e); }) : a.log("No MAL Id List"), !t.settings.get("epPredictions")) return void a.log("epPredictions disabled"); const i = []; let o; yield function(t, e) { return r(this, void 0, void 0, (function*() { for (let n = 0; n < t.length; n++) yield e(t[n], n, t); })); }(e, e => r(this, void 0, void 0, (function*() { if (!e.apiCacheKey) return; const o = yield t.storage.get(`release/${n}/${e.cacheKey}`); o && o.value && (e.fn.progress = o.value); let r = e.options.p; r || (r = "default"), a.m(e.apiCacheKey).m("Load").log(o), o && o.mode && o.mode !== r ? i.push(e) : o && o.timestamp && Date.now() - o.timestamp < 12e4 ? a.m(e.apiCacheKey).log("Up to date") : o && o.finished && o.timestamp && Date.now() - o.timestamp < 6048e5 ? a.m(e.apiCacheKey).log("Fininshed") : o && !o.value && o.timestamp && Date.now() - o.timestamp < 864e5 ? a.m(e.apiCacheKey).log("Nulled") : i.push(e); }))), i.length > 0 && (o = yield function(e, n) { return r(this, void 0, void 0, (function*() { if (null === n) return [ {} ]; if (n.length <= 0) return [ {} ]; const i = n.map(t => t.apiCacheKey), a = t => new Promise(e => setTimeout(e, t)), o = []; for (let n = 0; n <= i.length; ) { const r = i.slice(n, n + 49), s = { url: `https://api.malsync.moe/nc/mal/${e}/POST/pr`, data: JSON.stringify({ malids: r }), headers: { "Content-Type": "application/json" } }; yield a(5e3); const l = yield t.request.xhr("POST", s); o.push(JSON.parse(l.responseText)), n += 50; } return o.reduce((t, e) => t.concat(e), []); })); }(n, i), yield new Promise(t => setTimeout(() => t(), 500))), o.forEach(e => r(this, void 0, void 0, (function*() { const o = i.find(t => e.malid === t.apiCacheKey); if (!o) return; a.m(o.malId).log(e.data); let r = o.options.p; r || (r = "default"); const s = p(e.data, r, n); s || a.m(o.malId).log("No value for the selected mode"); let l = !1; s && s.state && "complete" === s.state && (l = !0), a.m(o.malId).m("Save").log(s), o.cacheKey && (o && o.fn && o.fn.progress && g(o, o.fn.progress, s, n), yield t.storage.set(`release/${n}/${o.cacheKey}`, { timestamp: Date.now(), value: s, mode: r, finished: l })); }))); })); }(e, n, a); } catch (t) { a.error(t); } }))).catch(t => { a.error(t); }); })); } function d(e, n) { return r(this, void 0, void 0, (function*() { if (!n) return {}; const i = yield t.request.xhr("GET", `https://api.malsync.moe/nc/mal/${e}/${n}/pr`); return JSON.parse(i.responseText); })); } function m(e, n, a = "default", o = i.m("release")) { return r(this, void 0, void 0, (function*() { if (a || (a = "default"), (o = o.m(e.uid.toString())).log(e.title, e.cacheKey, e.apiCacheKey, "Mode: " + a), !e.apiCacheKey) return void o.log("No Api Cache Id"); if (!t.settings.get("epPredictions")) return void o.log("epPredictions disabled"); const i = yield t.storage.get(`release/${n}/${e.cacheKey}`); o.m("Load").log(i); let r, s = !1; if (i && i.mode && i.mode !== a && (s = !0), i && i.timestamp && Date.now() - i.timestamp < 12e4 && !s) return void o.log("Up to date"); if (i && i.finished && i.timestamp && Date.now() - i.timestamp < 6048e5 && !s) return void o.log("Fininshed"); if (i && !i.value && i.timestamp && Date.now() - i.timestamp < 864e5 && !s) return void o.log("Nulled"); s && o.log("Update forced"), "off" === a && (o.log("Disabled"), e.xhr = []), void 0 !== e.xhr ? r = e.xhr : (r = yield d(n, e.apiCacheKey), yield new Promise(t => setTimeout(() => t(), 500))), o.log(r); const l = p(r, a, n); l || o.log("No value for the selected mode"); let c = !1; l && l.state && "complete" === l.state && (c = !0), o.m("Save").log(l), i && i.value && g(e, i.value, l, n), yield t.storage.set(`release/${n}/${e.cacheKey}`, { timestamp: Date.now(), value: l, mode: a, finished: c }); })); } function u(t) { if (t && t.timestamp) { const e = (new Date).getTime() - t.timestamp; if (t.finished && e < 6048e5) return !1; if (!t.value && e < 864e5) return !1; if (e < 864e5) return !1; } return !0; } function p(e, n, i) { const a = {}; if (!e.length) return null; let o; if ("default" === n ? (a.mainId = "anime" === i ? t.settings.get("progressIntervalDefaultAnime") : t.settings.get("progressIntervalDefaultManga"), a.fallback = "en/sub") : a.mainId = n, a.fallbackPrediction = "jp/dub", a.mainId) { const t = e.find(t => t.id === a.mainId); t && (o = t); } if (a.fallback && !o) { const t = e.find(t => t.id === a.fallback); t && (o = t); } if (a.fallbackPrediction && o && !o.predicition && o.lastEp.timestamp) { const t = e.find(t => t.id === a.fallbackPrediction), n = o.lastEp.timestamp + 6048e5; n && t && t.predicition && (o.lastEp.total === t.lastEp.total ? Math.abs(n - t.predicition.timestamp) < 108e6 && (o.predicition = { timestamp: n, probability: "medium" }) : t.lastEp.total && o.lastEp.total === t.lastEp.total - 1 && Math.abs(n - (t.predicition.timestamp - 6048e5)) < 108e6 && (o.predicition = { timestamp: n, probability: "medium" })); } if (a.fallbackPrediction && !o) { const t = e.find(t => t.id === a.fallbackPrediction); t && t.lastEp && t.predicition && 0 === t.lastEp.total && (o = t, o.predicition.probability = "medium"); } return o || null; } function h(e) { return r(this, void 0, void 0, (function*() { const n = new a.a("ProgressTypeList" + e, 864e5, !1); if (!(yield n.hasValueAndIsNotEmpty())) { i.log("Getting new ProgressTypeList Cache"); const a = "https://api.malsync.moe/general/progress/" + e, o = yield t.request.xhr("GET", a).then(t => r(this, void 0, void 0, (function*() { return 200 === t.status && t.responseText ? JSON.parse(t.responseText) : []; }))); return yield n.setValue(o), o; } return i.log("PageSearch Cached"), n.getValue(); })); } function g(e, n, a, o) { return r(this, void 0, void 0, (function*() { try { if (!t.settings.get("progressNotifications")) return; if (e && a && a && n.lastEp && void 0 !== n.lastEp.total && a.lastEp && a.lastEp.total && n.lang === a.lang && n.type === a.type && n.lastEp.total < a.lastEp.total && e.watchedEp + 1 === a.lastEp.total) { let n; n = e.single ? { title: e.title, text: t.storage.lang("syncPage_malObj_nextEp_" + o, [ a.lastEp.total ]), sticky: !0, image: yield e.single.getImage(), url: e.single.getStreamingUrl() ? e.single.getStreamingUrl() : e.single.getUrl() } : { title: e.title, text: t.storage.lang("syncPage_malObj_nextEp_" + o, [ a.lastEp.total ]), sticky: !0, image: e.image, url: e.options && e.options.u ? e.options.u : e.url }, t.request.notification(n); } } catch (t) { i.error("Could not check notification Progress", t); } })); } function f(e) { if ("userscript" !== t.type) try { chrome.browserAction.setBadgeText({ text: e }); } catch (t) { i.error(t); } } }).call(this, n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "b", (function() { return h; })), n.d(e, "e", (function() { return g; })), n.d(e, "g", (function() { return y; })), n.d(e, "f", (function() { return k; })), n.d(e, "d", (function() { return S; })), n.d(e, "c", (function() { return $; })), n.d(e, "a", (function() { return E; })); var a = n(25), o = n(35), r = n(36), s = n(37), l = n(32), c = n(33), d = n(34), m = n(29), u = n(15), p = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function h(t, e, n, i, a, o) { f(t, a, !0); for (const t in e) f(e[t], a, !1); for (const t in a) v(a[t], n), b(a[t], o, i, n); } function g(t) { if (-1 !== t.indexOf("anilist.co")) return "ANILIST"; if (-1 !== t.indexOf("kitsu.io")) return "KITSU"; if (-1 !== t.indexOf("myanimelist.net")) return "MAL"; if (-1 !== t.indexOf("simkl.com")) return "SIMKL"; throw "Type not found"; } function f(t, e, n = !1) { for (let i = 0; i < t.length; i++) { const a = t[i]; let o = e[a.malId]; void 0 === o && (o = { diff: !1, master: {}, slaves: [] }), n ? o.master = a : (a.diff = {}, o.slaves.push(a)), !Number.isNaN(a.malId) && a.malId && (e[a.malId] = o); } } function v(t, e) { if (t.master && t.master.uid) for (let e = 0; e < t.slaves.length; e++) { const n = t.slaves[e]; n.watchedEp !== t.master.watchedEp && (2 === t.master.status ? n.watchedEp !== n.totalEp && (t.diff = !0, n.diff.watchedEp = n.totalEp) : (t.diff = !0, n.diff.watchedEp = t.master.watchedEp)), n.status !== t.master.status && (t.diff = !0, n.diff.status = t.master.status), n.score !== t.master.score && (t.diff = !0, n.diff.score = t.master.score); } } function b(t, e, n, i) { if (t.master && t.master.uid) { const i = []; i.push(g(t.master.url)); for (let e = 0; e < t.slaves.length; e++) { const n = t.slaves[e]; i.push(g(n.url)); } for (const a in n) { const o = n[a]; i.includes(o) || e.push({ title: t.master.title, syncType: o, malId: t.master.malId, watchedEp: t.master.watchedEp, score: t.master.score, status: t.master.status, url: `https://myanimelist.net/${t.master.type}/${t.master.malId}`, error: null }); } } } function y(e, n) { return p(this, void 0, void 0, (function*() { for (const n in e) { const i = e[n]; if (i.diff) try { yield w(i), i.diff = !1; } catch (e) { t.error(e); } } const i = n.slice(); for (const e in i) { const a = i[e]; t.log("Sync missing", a), yield _(a).then(() => { n.splice(n.indexOf(a), 1); }).catch(e => { t.error("Error", e), a.error = e; }); } })); } function w(e) { return p(this, void 0, void 0, (function*() { for (let n = 0; n < e.slaves.length; n++) { const i = e.slaves[n]; t.log("sync list item", i), yield x(i, g(i.url)); } })); } function _(t) { return p(this, void 0, void 0, (function*() { return t.diff = { watchedEp: t.watchedEp, status: t.status, score: t.score }, x(t, t.syncType); })); } function x(t, e) { if (0 !== Object.keys(t.diff).length) { let n; if ("MAL" === e) n = new a.a(t.url); else if ("ANILIST" === e) n = new o.a(t.url); else if ("KITSU" === e) n = new r.a(t.url); else { if ("SIMKL" !== e) throw "No sync type"; n = new s.a(t.url); } return n.update().then(() => (void 0 !== t.diff.watchedEp && n.setEpisode(t.diff.watchedEp), void 0 !== t.diff.status && n.setStatus(t.diff.status), void 0 !== t.diff.score && n.setScore(t.diff.score), n.sync())).then(() => new Promise(t => setTimeout(t, 3e3))).catch(t => new Promise((e, n) => setTimeout(() => n(t), 3e3))); } } function k(t, e, n) { return p(this, void 0, void 0, (function*() { const i = [], a = Object(u.a)(e); if ("MALAPI" === a) throw "Sync with the mal api is not yet supported"; const o = []; t.forEach(t => { t.providerSettings.text = "Loading", o.push(n(t.listProvider, e).then(e => { t.providerSettings.list = e, t.providerSettings.text = "Done", a === t.providerType && (t.providerSettings.master = !0), i.push(t.providerType); }).catch(e => { t.providerSettings.text = e; })); }), yield Promise.all(o); let r = !1; const s = []; return t.forEach((function(t) { t.providerSettings.master ? r = t.providerSettings.list : null !== t.providerSettings.list && s.push(t.providerSettings.list); })), { master: r, slaves: s, typeArray: i }; })); } function S(t) { return [ { providerType: "MAL", providerSettings: t.mal, listProvider: l.a }, { providerType: "ANILIST", providerSettings: t.anilist, listProvider: c.a }, { providerType: "KITSU", providerSettings: t.kitsu, listProvider: d.a }, { providerType: "SIMKL", providerSettings: t.simkl, listProvider: m.a } ]; } function $(e, n) { const i = new e(7, n); return i.getCompleteList().then(t => t).catch(e => { throw t.m(i.name).error(e), i.errorMessage(e); }); } const E = { isEnabled() { return p(this, void 0, void 0, (function*() { return i.storage.get("backgroundListSync").then((function(e) { return p(this, void 0, void 0, (function*() { return t.info("background list sync state", e), !(!e || e.mode !== (yield i.settings.getAsync("syncMode"))) || (E.disable(), !1); })); })); })); }, enable() { return p(this, void 0, void 0, (function*() { return i.storage.set("backgroundListSync", { mode: yield i.settings.getAsync("syncMode") }); })); }, disable: () => i.storage.remove("backgroundListSync"), sync() { return p(this, void 0, void 0, (function*() { return (yield E.isEnabled()) ? (t.log("Start Background list Sync"), T("♻"), e("anime").then(() => e("manga")).then(() => { T(""); }).catch(e => { t.error(e), T(""); })) : (t.error("Background list Sync not allowed"), []); function e(e) { return p(this, void 0, void 0, (function*() { const n = {}, i = [], a = S({ mal: { text: "Init", list: null, master: !1 }, anilist: { text: "Init", list: null, master: !1 }, kitsu: { text: "Init", list: null, master: !1 }, simkl: { text: "Init", list: null, master: !1 } }), o = yield k(a, e, $); h(o.master, o.slaves, "mirror", o.typeArray, n, i), t.log("Start syncing", n, i), yield y(n, i); })); } })); } }; function T(e) { if ("userscript" !== i.type) try { chrome.browserAction.setBadgeText({ text: e }); } catch (e) { t.error(e); } } }).call(this, n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return m; })); var r = n(5), s = n(78), l = n(20), c = n(23), d = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class m { constructor(e) { return this.url = e, this.type = null, this.rewatchingSupport = !0, this.ids = { mal: NaN, ani: NaN, kitsu: { id: NaN, slug: "" }, simkl: NaN }, this.options = null, this.progress = !1, this.prList = [], this.updateProgress = !1, this._onList = !1, this._authenticated = !1, this.handleUrl(e), this.logger = t.m("[S]", "#348fff"), this; } getType() { return this.type; } getUrl() { return this.url; } supportsRewatching() { return this.rewatchingSupport; } getApiCacheKey() { return this.ids.mal ? this.ids.mal : this.ids.ani ? "anilist:" + this.ids.ani : ""; } setStatus(t) { return t = Number(t), this._setStatus(t), this; } getStatus() { return this.isOnList() ? this._getStatus() : r.b.NoState; } setScore(t) { return (t = parseInt("" + t)) || (t = 0), this._setScore(t), this; } getScore() { const t = this._getScore(); return t || 0; } setEpisode(t) { return t = parseInt("" + t), this.getTotalEpisodes() && t > this.getTotalEpisodes() && (t = this.getTotalEpisodes()), this._setEpisode(t), this; } getEpisode() { return this._getEpisode(); } setVolume(t) { return this._setVolume(t), this; } getVolume() { return this._getVolume(); } setStreamingUrl(t) { return this.options && (this.options.u = t), this; } getStreamingUrl() { if (this.options && this.options.u) return this.options.u; } cleanTags() { this.options = null; } initProgress() { return d(this, void 0, void 0, (function*() { const t = yield Object(l.c)(this.getType(), this.getApiCacheKey()); return this.prList = yield Object(l.a)(this.getType()), new s.a(this.getCacheKey(), this.getType()).init({ uid: this.getCacheKey(), apiCacheKey: this.getApiCacheKey(), title: this.getTitle(), cacheKey: this.getCacheKey(), progressMode: this.getProgressMode(), watchedEp: this.getEpisode(), single: this, xhr: t }).then(e => { this.progress = e, this.progressXhr = t; }); })); } getProgress() { return !!this.progress && this.progress; } getProgressOptions() { const t = []; return this.progressXhr && Object.keys(this.progressXhr).length && this.progressXhr.forEach(e => { if ("complete" === e.state) return; let n = `${e.lang.toUpperCase()} (${e.type.toUpperCase()})`; if (this.prList && this.prList.length) { const t = this.prList.find(t => t.key === e.id); t && (n = t.label); } e.title && (n = e.title), e.lastEp && e.lastEp.total && (n += " EP" + e.lastEp.total), "dropped" === e.state && (n += " Incomplete"), t.push({ key: e.id, value: n }); }), t; } getProgressMode() { return this.options && this.options.p ? this.options.p : ""; } setProgressMode(t) { this.options && (this.options.p = t, this.updateProgress = !0); } getPageRelations() { const t = this.shortName, e = []; return this.ids.mal && "MAL" !== t && e.push({ name: "MAL", icon: "https://cdn.myanimelist.net/images/favicon.ico", link: `https://myanimelist.net/${this.type}/${this.ids.mal}` }), this.ids.ani && "AniList" !== t && e.push({ name: "AniList", icon: "https://anilist.co/img/icons/favicon-32x32.png", link: `https://anilist.co/${this.type}/${this.ids.ani}` }), this.ids.kitsu.id && "Kitsu" !== t && e.push({ name: "Kitsu", icon: "https://kitsu.io/favicon-32x32-3e0ecb6fc5a6ae681e65dcbc2bdf1f17.png", link: `https://kitsu.io/${this.type}/${this.ids.kitsu.id}` }), this.ids.simkl && "Simkl" !== t && e.push({ name: "Simkl", icon: "https://eu.simkl.in/img_favicon/v2/favicon-32x32.png", link: `https://simkl.com/${this.type}/${this.ids.simkl}` }), e; } fillRelations() { return Promise.resolve(); } update() { return this.logger.log("[SINGLE]", "Update info", this.ids), this.lastError = null, this._update().catch(t => { throw this.lastError = t, t; }).then(() => (this.persistanceState = this.getStateEl(), i.getEntrySettings(this.type, this.getCacheKey(), this._getTags()))).then(t => { this.options = t, this.registerEvent(); }); } sync() { return d(this, void 0, void 0, (function*() { return this.logger.log("[SINGLE]", "Sync", this.ids), this.lastError = null, this._setTags(yield i.setEntrySettings(this.type, this.getCacheKey(), this.options, this._getTags())), this._sync().catch(t => { throw this.lastError = t, t; }).then(() => { this.undoState = this.persistanceState, this.updateProgress && this.initProgress(), this._onList = !0, this.emitUpdate(); }); })); } emitUpdate() { c.a.emit("global.update." + this.getCacheKey(), !1, { cacheKey: this.getCacheKey(), state: this.getStateEl() }); } registerEvent() { this.globalUpdateEvent || (this.globalUpdateEvent = c.a.on("global.update." + this.getCacheKey(), (t, e) => this.updateEvent(t, e))); } updateEvent(t, e) { JSON.stringify(this.persistanceState) === JSON.stringify(this.getStateEl()) ? e && e.state && (this.setStateEl(e.state), this.persistanceState = this.getStateEl(), c.a.emit("syncPage_fillUi")) : this.logger.log("Ignore event"); } undo() { if (this.logger.log("[SINGLE]", "Undo", this.undoState), !this.undoState) throw new Error("No undo state found"); if (!this.undoState.onList) { if (void 0 === this.delete) throw new Error("Deleting an entry is not supported"); return this.delete().then(() => { this.setStateEl(this.undoState), this.undoState = null; }); } return this.setStateEl(this.undoState), this.sync().then(() => { this.undoState = null; }); } getTitle(t = !1) { return this._getTitle(t); } getTotalEpisodes() { let t = this._getTotalEpisodes(); return t || (t = 0), t; } getTotalVolumes() { return this._getTotalVolumes(); } isOnList() { return this._onList; } isAuthenticated() { return this._authenticated; } getDisplayUrl() { return this._getDisplayUrl(); } getMalUrl() { if (!Number.isNaN(this.ids.mal)) { let e; try { e = this.getTitle().replace(/\//, "_"); } catch (e) { t.error("no title found"); } return `https://myanimelist.net/${this.getType()}/${this.ids.mal}/${encodeURIComponent(e)}`; } return null; } getMalId() { return Number.isNaN(this.ids.mal) ? null : this.ids.mal; } getIds() { return this.ids; } getImage() { return this._getImage(); } getRating() { return this._getRating().then(t => t || "N/A"); } setResumeWatching(t, e) { return i.setResumeWaching(t, e, this.type, this.getCacheKey()); } getResumeWatching() { return this.options && this.options.r ? this.options.r : null; } setContinueWatching(t, e) { return i.setContinueWaching(t, e, this.type, this.getCacheKey()); } getContinueWatching() { return this.options && this.options.c ? this.options.c : null; } getStateEl() { return { onList: this.isOnList(), episode: this.getEpisode(), volume: this.getVolume(), status: this.getStatus(), score: this.getScore() }; } setStateEl(t) { this._onList = t.onList, this.setEpisode(t.episode), this.setVolume(t.volume), this.setStatus(t.status), this.setScore(t.score); } getStateDiff() { const t = this.getStateEl(); if (t && this.undoState) { const e = {}; for (const n in t) t[n] !== this.undoState[n] && (e[n] = t[n]); return e; } } checkSync(t, e) { return d(this, void 0, void 0, (function*() { const n = this.getEpisode(), i = this.getStatus(), a = this.getVolume(); return i === r.b.Completed ? 1 === t && this.startRewatchingMessage() : !(n >= t && !(void 0 !== e && (a || e > 1 || !t) && e > a)) && (t && t === this.getTotalEpisodes() ? (i === r.b.Rewatching ? yield this.finishRewatchingMessage() : yield this.finishWatchingMessage(), !0) : i === r.b.Watching || i === r.b.Rewatching || this.startWatchingMessage()); })); } startWatchingMessage() { return d(this, void 0, void 0, (function*() { return i.flashConfirm(a.storage.lang("syncPage_flashConfirm_start_" + this.getType()), "add").then(t => (t && this.setStatus(r.b.Watching), t)); })); } finishWatchingMessage() { return d(this, void 0, void 0, (function*() { const t = this.getScoreCheckboxValue(); let e = '<div><select id="finish_score" style="margin-top:5px; color:white; background-color:#4e4e4e; border: none;">'; return this.getScoreCheckbox().forEach(n => { e += `<option value="${n.value}" ${String(t) === n.value ? "selected" : ""}>${n.label}</option>`; }), e += "</select></div>", i.flashConfirm(a.storage.lang("syncPage_flashConfirm_complete") + e, "complete").then(t => { if (t) { this.setStatus(r.b.Completed); Number(o.$("#finish_score").val()) > 0 && (this.logger.log("finish_score: " + o.$("#finish_score :selected").val()), this.handleScoreCheckbox(o.$("#finish_score :selected").val())); } return t; }); })); } startRewatchingMessage() { return d(this, void 0, void 0, (function*() { return i.flashConfirm(a.storage.lang("syncPage_flashConfirm_rewatch_start_" + this.getType()), "add").then(t => (t && this.setStatus(r.b.Rewatching), t)); })); } finishRewatchingMessage() { return d(this, void 0, void 0, (function*() { return i.flashConfirm(a.storage.lang("syncPage_flashConfirm_rewatch_finish_" + this.getType()), "complete").then(t => (t && this.setStatus(r.b.Completed), t)); })); } getScoreCheckbox() { return [ { value: "0", label: a.storage.lang("UI_Score_Not_Rated") }, { value: "10", label: a.storage.lang("UI_Score_Masterpiece") }, { value: "9", label: a.storage.lang("UI_Score_Great") }, { value: "8", label: a.storage.lang("UI_Score_VeryGood") }, { value: "7", label: a.storage.lang("UI_Score_Good") }, { value: "6", label: a.storage.lang("UI_Score_Fine") }, { value: "5", label: a.storage.lang("UI_Score_Average") }, { value: "4", label: a.storage.lang("UI_Score_Bad") }, { value: "3", label: a.storage.lang("UI_Score_VeryBad") }, { value: "2", label: a.storage.lang("UI_Score_Horrible") }, { value: "1", label: a.storage.lang("UI_Score_Appalling") } ]; } getScoreCheckboxValue() { return this.getScore(); } handleScoreCheckbox(t) { this.setScore(t); } getDisplayScoreCheckbox() { const t = this.getScoreCheckboxValue(), e = this.getScoreCheckbox().filter(e => e.value === String(t)); return e.length ? e[0].label : ""; } getStatusCheckbox() { const t = [ { value: "1", label: a.storage.lang("UI_Status_watching_" + this.getType()) }, { value: "2", label: a.storage.lang("UI_Status_Completed") }, { value: "3", label: a.storage.lang("UI_Status_OnHold") }, { value: "4", label: a.storage.lang("UI_Status_Dropped") }, { value: "6", label: a.storage.lang("UI_Status_planTo_" + this.getType()) } ]; return this.rewatchingSupport && t.push({ value: "23", label: a.storage.lang("UI_Status_Rewatching_" + this.getType()) }), t; } handleStatusCheckbox(t) { this.setStatus(t); } getStatusCheckboxValue() { return this.getStatus(); } getLastError() { return this.lastError; } getLastErrorMessage() { return this.errorMessage(this.getLastError()); } errorObj(t, e) { return { code: t, message: e }; } flashmError(t) { i.flashm(this.errorMessage(t), { error: !0, type: "error" }); } errorMessage(t) { if (void 0 === t.code) return t; switch (t.code) { case r.a.NotAutenticated: return a.storage.lang("Error_Authenticate", [ this.authenticationUrl ]); case r.a.ServerOffline: return `[${this.shortName}] Server Offline`; case r.a.UrlNotSuported: return "Incorrect url provided"; case r.a.EntryNotFound: return `Entry for this ${this.getType()} could not be found on ${this.shortName}`; default: return t.message; } } } }).call(this, n(4), n(1), n(0), n(2)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return r; })); var a = n(102); const o = Math.floor(1e9 * Math.random()), r = new a.EventEmitter2({ wildcard: !0 }); void 0 !== t && t && "webextension" === t.type && (r.on("global.**", (function(t, ...e) { t || (i.m("Global").m("Emit").log(this.event, ...e), chrome.runtime.sendMessage({ name: "emitter", item: { event: this.event, params: e, id: o } })); })), chrome.runtime.onMessage.addListener((t, e, n) => { t.name && "emitter" === t.name && (i.m("Global").m("Event").log(t.item.id, t.item.event, t.item.params), t.item.id !== o && r.emit(t.item.event, !0, ...t.item.params)); })); }).call(this, n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return a; })), n.d(e, "c", (function() { return o; })), n.d(e, "b", (function() { return r; })); var i = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function a(t, e) { return `local:${t}:${e}`; } function o() { return i(this, void 0, void 0, (function*() { let e; if ("userscript" === t.type) { const n = yield t.storage.list("sync"); for (const e in n) n[e] = yield t.storage.get(e); e = n; } else e = t.storage.list("sync"); return e; })); } function r(t) { return new RegExp("^local://[^/]*/" + t, "i"); } }).call(this, n(0)); }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return i; })); const i = n(77).a; }, function(t, e, n) { "use strict"; var i = function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "backbutton-settings bg-cell mdl-grid", on: { click: this.click } }, [ e("span", { staticClass: "material-icons" }, [ this._v("arrow_back") ]), this._v("\n " + this._s(this.lang("minimalApp_Settings")) + "\n") ]); }; i._withStripped = !0; var a = n(70).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/components/backbutton.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; (function(t, n) { var i = Object.freeze({}); function a(t) { return null == t; } function o(t) { return null != t; } function r(t) { return !0 === t; } function s(t) { return "string" == typeof t || "number" == typeof t || "symbol" == typeof t || "boolean" == typeof t; } function l(t) { return null !== t && "object" == typeof t; } var c = Object.prototype.toString; function d(t) { return "[object Object]" === c.call(t); } function m(t) { return "[object RegExp]" === c.call(t); } function u(t) { var e = parseFloat(String(t)); return e >= 0 && Math.floor(e) === e && isFinite(t); } function p(t) { return o(t) && "function" == typeof t.then && "function" == typeof t.catch; } function h(t) { return null == t ? "" : Array.isArray(t) || d(t) && t.toString === c ? JSON.stringify(t, null, 2) : String(t); } function g(t) { var e = parseFloat(t); return isNaN(e) ? t : e; } function f(t, e) { for (var n = Object.create(null), i = t.split(","), a = 0; a < i.length; a++) n[i[a]] = !0; return e ? function(t) { return n[t.toLowerCase()]; } : function(t) { return n[t]; }; } var v = f("slot,component", !0), b = f("key,ref,slot,slot-scope,is"); function y(t, e) { if (t.length) { var n = t.indexOf(e); if (n > -1) return t.splice(n, 1); } } var w = Object.prototype.hasOwnProperty; function _(t, e) { return w.call(t, e); } function x(t) { var e = Object.create(null); return function(n) { return e[n] || (e[n] = t(n)); }; } var k = /-(\w)/g, S = x((function(t) { return t.replace(k, (function(t, e) { return e ? e.toUpperCase() : ""; })); })), $ = x((function(t) { return t.charAt(0).toUpperCase() + t.slice(1); })), E = /\B([A-Z])/g, T = x((function(t) { return t.replace(E, "-$1").toLowerCase(); })); var P = Function.prototype.bind ? function(t, e) { return t.bind(e); } : function(t, e) { function n(n) { var i = arguments.length; return i ? i > 1 ? t.apply(e, arguments) : t.call(e, n) : t.call(e); } return n._length = t.length, n; }; function C(t, e) { e = e || 0; for (var n = t.length - e, i = new Array(n); n--; ) i[n] = t[n + e]; return i; } function A(t, e) { for (var n in e) t[n] = e[n]; return t; } function I(t) { for (var e = {}, n = 0; n < t.length; n++) t[n] && A(e, t[n]); return e; } function O(t, e, n) {} var U = function(t, e, n) { return !1; }, M = function(t) { return t; }; function L(t, e) { if (t === e) return !0; var n = l(t), i = l(e); if (!n || !i) return !n && !i && String(t) === String(e); try { var a = Array.isArray(t), o = Array.isArray(e); if (a && o) return t.length === e.length && t.every((function(t, n) { return L(t, e[n]); })); if (t instanceof Date && e instanceof Date) return t.getTime() === e.getTime(); if (a || o) return !1; var r = Object.keys(t), s = Object.keys(e); return r.length === s.length && r.every((function(n) { return L(t[n], e[n]); })); } catch (t) { return !1; } } function N(t, e) { for (var n = 0; n < t.length; n++) if (L(t[n], e)) return n; return -1; } function R(t) { var e = !1; return function() { e || (e = !0, t.apply(this, arguments)); }; } var j = [ "component", "directive", "filter" ], V = [ "beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "beforeDestroy", "destroyed", "activated", "deactivated", "errorCaptured", "serverPrefetch" ], D = { optionMergeStrategies: Object.create(null), silent: !1, productionTip: !1, devtools: !1, performance: !1, errorHandler: null, warnHandler: null, ignoredElements: [], keyCodes: Object.create(null), isReservedTag: U, isReservedAttr: U, isUnknownElement: U, getTagNamespace: O, parsePlatformTagName: M, mustUseProp: U, async: !0, _lifecycleHooks: V }, z = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; function F(t) { var e = (t + "").charCodeAt(0); return 36 === e || 95 === e; } function H(t, e, n, i) { Object.defineProperty(t, e, { value: n, enumerable: !!i, writable: !0, configurable: !0 }); } var B = new RegExp("[^" + z.source + ".$_\\d]"); var K, q = "__proto__" in {}, W = "undefined" != typeof window, J = "undefined" != typeof WXEnvironment && !!WXEnvironment.platform, G = J && WXEnvironment.platform.toLowerCase(), Y = W && window.navigator.userAgent.toLowerCase(), Z = Y && /msie|trident/.test(Y), Q = Y && Y.indexOf("msie 9.0") > 0, X = Y && Y.indexOf("edge/") > 0, tt = (Y && Y.indexOf("android"), Y && /iphone|ipad|ipod|ios/.test(Y) || "ios" === G), et = (Y && /chrome\/\d+/.test(Y), Y && /phantomjs/.test(Y), Y && Y.match(/firefox\/(\d+)/)), nt = {}.watch, it = !1; if (W) try { var at = {}; Object.defineProperty(at, "passive", { get: function() { it = !0; } }), window.addEventListener("test-passive", null, at); } catch (t) {} var ot = function() { return void 0 === K && (K = !W && !J && void 0 !== t && (t.process && "server" === t.process.env.VUE_ENV)), K; }, rt = W && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; function st(t) { return "function" == typeof t && /native code/.test(t.toString()); } var lt, ct = "undefined" != typeof Symbol && st(Symbol) && "undefined" != typeof Reflect && st(Reflect.ownKeys); lt = "undefined" != typeof Set && st(Set) ? Set : function() { function t() { this.set = Object.create(null); } return t.prototype.has = function(t) { return !0 === this.set[t]; }, t.prototype.add = function(t) { this.set[t] = !0; }, t.prototype.clear = function() { this.set = Object.create(null); }, t; }(); var dt = O, mt = 0, ut = function() { this.id = mt++, this.subs = []; }; ut.prototype.addSub = function(t) { this.subs.push(t); }, ut.prototype.removeSub = function(t) { y(this.subs, t); }, ut.prototype.depend = function() { ut.target && ut.target.addDep(this); }, ut.prototype.notify = function() { var t = this.subs.slice(); for (var e = 0, n = t.length; e < n; e++) t[e].update(); }, ut.target = null; var pt = []; function ht(t) { pt.push(t), ut.target = t; } function gt() { pt.pop(), ut.target = pt[pt.length - 1]; } var ft = function(t, e, n, i, a, o, r, s) { this.tag = t, this.data = e, this.children = n, this.text = i, this.elm = a, this.ns = void 0, this.context = o, this.fnContext = void 0, this.fnOptions = void 0, this.fnScopeId = void 0, this.key = e && e.key, this.componentOptions = r, this.componentInstance = void 0, this.parent = void 0, this.raw = !1, this.isStatic = !1, this.isRootInsert = !0, this.isComment = !1, this.isCloned = !1, this.isOnce = !1, this.asyncFactory = s, this.asyncMeta = void 0, this.isAsyncPlaceholder = !1; }, vt = { child: { configurable: !0 } }; vt.child.get = function() { return this.componentInstance; }, Object.defineProperties(ft.prototype, vt); var bt = function(t) { void 0 === t && (t = ""); var e = new ft; return e.text = t, e.isComment = !0, e; }; function yt(t) { return new ft(void 0, void 0, void 0, String(t)); } function wt(t) { var e = new ft(t.tag, t.data, t.children && t.children.slice(), t.text, t.elm, t.context, t.componentOptions, t.asyncFactory); return e.ns = t.ns, e.isStatic = t.isStatic, e.key = t.key, e.isComment = t.isComment, e.fnContext = t.fnContext, e.fnOptions = t.fnOptions, e.fnScopeId = t.fnScopeId, e.asyncMeta = t.asyncMeta, e.isCloned = !0, e; } var _t = Array.prototype, xt = Object.create(_t); [ "push", "pop", "shift", "unshift", "splice", "sort", "reverse" ].forEach((function(t) { var e = _t[t]; H(xt, t, (function() { for (var n = [], i = arguments.length; i--; ) n[i] = arguments[i]; var a, o = e.apply(this, n), r = this.__ob__; switch (t) { case "push": case "unshift": a = n; break; case "splice": a = n.slice(2); } return a && r.observeArray(a), r.dep.notify(), o; })); })); var kt = Object.getOwnPropertyNames(xt), St = !0; function $t(t) { St = t; } var Et = function(t) { this.value = t, this.dep = new ut, this.vmCount = 0, H(t, "__ob__", this), Array.isArray(t) ? (q ? function(t, e) { t.__proto__ = e; }(t, xt) : function(t, e, n) { for (var i = 0, a = n.length; i < a; i++) { var o = n[i]; H(t, o, e[o]); } }(t, xt, kt), this.observeArray(t)) : this.walk(t); }; function Tt(t, e) { var n; if (l(t) && !(t instanceof ft)) return _(t, "__ob__") && t.__ob__ instanceof Et ? n = t.__ob__ : St && !ot() && (Array.isArray(t) || d(t)) && Object.isExtensible(t) && !t._isVue && (n = new Et(t)), e && n && n.vmCount++, n; } function Pt(t, e, n, i, a) { var o = new ut, r = Object.getOwnPropertyDescriptor(t, e); if (!r || !1 !== r.configurable) { var s = r && r.get, l = r && r.set; s && !l || 2 !== arguments.length || (n = t[e]); var c = !a && Tt(n); Object.defineProperty(t, e, { enumerable: !0, configurable: !0, get: function() { var e = s ? s.call(t) : n; return ut.target && (o.depend(), c && (c.dep.depend(), Array.isArray(e) && It(e))), e; }, set: function(e) { var i = s ? s.call(t) : n; e === i || e != e && i != i || s && !l || (l ? l.call(t, e) : n = e, c = !a && Tt(e), o.notify()); } }); } } function Ct(t, e, n) { if (Array.isArray(t) && u(e)) return t.length = Math.max(t.length, e), t.splice(e, 1, n), n; if (e in t && !(e in Object.prototype)) return t[e] = n, n; var i = t.__ob__; return t._isVue || i && i.vmCount ? n : i ? (Pt(i.value, e, n), i.dep.notify(), n) : (t[e] = n, n); } function At(t, e) { if (Array.isArray(t) && u(e)) t.splice(e, 1); else { var n = t.__ob__; t._isVue || n && n.vmCount || _(t, e) && (delete t[e], n && n.dep.notify()); } } function It(t) { for (var e = void 0, n = 0, i = t.length; n < i; n++) (e = t[n]) && e.__ob__ && e.__ob__.dep.depend(), Array.isArray(e) && It(e); } Et.prototype.walk = function(t) { for (var e = Object.keys(t), n = 0; n < e.length; n++) Pt(t, e[n]); }, Et.prototype.observeArray = function(t) { for (var e = 0, n = t.length; e < n; e++) Tt(t[e]); }; var Ot = D.optionMergeStrategies; function Ut(t, e) { if (!e) return t; for (var n, i, a, o = ct ? Reflect.ownKeys(e) : Object.keys(e), r = 0; r < o.length; r++) "__ob__" !== (n = o[r]) && (i = t[n], a = e[n], _(t, n) ? i !== a && d(i) && d(a) && Ut(i, a) : Ct(t, n, a)); return t; } function Mt(t, e, n) { return n ? function() { var i = "function" == typeof e ? e.call(n, n) : e, a = "function" == typeof t ? t.call(n, n) : t; return i ? Ut(i, a) : a; } : e ? t ? function() { return Ut("function" == typeof e ? e.call(this, this) : e, "function" == typeof t ? t.call(this, this) : t); } : e : t; } function Lt(t, e) { var n = e ? t ? t.concat(e) : Array.isArray(e) ? e : [ e ] : t; return n ? function(t) { for (var e = [], n = 0; n < t.length; n++) -1 === e.indexOf(t[n]) && e.push(t[n]); return e; }(n) : n; } function Nt(t, e, n, i) { var a = Object.create(t || null); return e ? A(a, e) : a; } Ot.data = function(t, e, n) { return n ? Mt(t, e, n) : e && "function" != typeof e ? t : Mt(t, e); }, V.forEach((function(t) { Ot[t] = Lt; })), j.forEach((function(t) { Ot[t + "s"] = Nt; })), Ot.watch = function(t, e, n, i) { if (t === nt && (t = void 0), e === nt && (e = void 0), !e) return Object.create(t || null); if (!t) return e; var a = {}; for (var o in A(a, t), e) { var r = a[o], s = e[o]; r && !Array.isArray(r) && (r = [ r ]), a[o] = r ? r.concat(s) : Array.isArray(s) ? s : [ s ]; } return a; }, Ot.props = Ot.methods = Ot.inject = Ot.computed = function(t, e, n, i) { if (!t) return e; var a = Object.create(null); return A(a, t), e && A(a, e), a; }, Ot.provide = Mt; var Rt = function(t, e) { return void 0 === e ? t : e; }; function jt(t, e, n) { if ("function" == typeof e && (e = e.options), function(t, e) { var n = t.props; if (n) { var i, a, o = {}; if (Array.isArray(n)) for (i = n.length; i--; ) "string" == typeof (a = n[i]) && (o[S(a)] = { type: null }); else if (d(n)) for (var r in n) a = n[r], o[S(r)] = d(a) ? a : { type: a }; else 0; t.props = o; } }(e), function(t, e) { var n = t.inject; if (n) { var i = t.inject = {}; if (Array.isArray(n)) for (var a = 0; a < n.length; a++) i[n[a]] = { from: n[a] }; else if (d(n)) for (var o in n) { var r = n[o]; i[o] = d(r) ? A({ from: o }, r) : { from: r }; } else 0; } }(e), function(t) { var e = t.directives; if (e) for (var n in e) { var i = e[n]; "function" == typeof i && (e[n] = { bind: i, update: i }); } }(e), !e._base && (e.extends && (t = jt(t, e.extends, n)), e.mixins)) for (var i = 0, a = e.mixins.length; i < a; i++) t = jt(t, e.mixins[i], n); var o, r = {}; for (o in t) s(o); for (o in e) _(t, o) || s(o); function s(i) { var a = Ot[i] || Rt; r[i] = a(t[i], e[i], n, i); } return r; } function Vt(t, e, n, i) { if ("string" == typeof n) { var a = t[e]; if (_(a, n)) return a[n]; var o = S(n); if (_(a, o)) return a[o]; var r = $(o); return _(a, r) ? a[r] : a[n] || a[o] || a[r]; } } function Dt(t, e, n, i) { var a = e[t], o = !_(n, t), r = n[t], s = Ht(Boolean, a.type); if (s > -1) if (o && !_(a, "default")) r = !1; else if ("" === r || r === T(t)) { var l = Ht(String, a.type); (l < 0 || s < l) && (r = !0); } if (void 0 === r) { r = function(t, e, n) { if (!_(e, "default")) return; var i = e.default; 0; if (t && t.$options.propsData && void 0 === t.$options.propsData[n] && void 0 !== t._props[n]) return t._props[n]; return "function" == typeof i && "Function" !== zt(e.type) ? i.call(t) : i; }(i, a, t); var c = St; $t(!0), Tt(r), $t(c); } return r; } function zt(t) { var e = t && t.toString().match(/^\s*function (\w+)/); return e ? e[1] : ""; } function Ft(t, e) { return zt(t) === zt(e); } function Ht(t, e) { if (!Array.isArray(e)) return Ft(e, t) ? 0 : -1; for (var n = 0, i = e.length; n < i; n++) if (Ft(e[n], t)) return n; return -1; } function Bt(t, e, n) { ht(); try { if (e) for (var i = e; i = i.$parent; ) { var a = i.$options.errorCaptured; if (a) for (var o = 0; o < a.length; o++) try { if (!1 === a[o].call(i, t, e, n)) return; } catch (t) { qt(t, i, "errorCaptured hook"); } } qt(t, e, n); } finally { gt(); } } function Kt(t, e, n, i, a) { var o; try { (o = n ? t.apply(e, n) : t.call(e)) && !o._isVue && p(o) && !o._handled && (o.catch((function(t) { return Bt(t, i, a + " (Promise/async)"); })), o._handled = !0); } catch (t) { Bt(t, i, a); } return o; } function qt(t, e, n) { if (D.errorHandler) try { return D.errorHandler.call(null, t, e, n); } catch (e) { e !== t && Wt(e, null, "config.errorHandler"); } Wt(t, e, n); } function Wt(t, e, n) { if (!W && !J || "undefined" == typeof console) throw t; console.error(t); } var Jt, Gt = !1, Yt = [], Zt = !1; function Qt() { Zt = !1; var t = Yt.slice(0); Yt.length = 0; for (var e = 0; e < t.length; e++) t[e](); } if ("undefined" != typeof Promise && st(Promise)) { var Xt = Promise.resolve(); Jt = function() { Xt.then(Qt), tt && setTimeout(O); }, Gt = !0; } else if (Z || "undefined" == typeof MutationObserver || !st(MutationObserver) && "[object MutationObserverConstructor]" !== MutationObserver.toString()) Jt = void 0 !== n && st(n) ? function() { n(Qt); } : function() { setTimeout(Qt, 0); }; else { var te = 1, ee = new MutationObserver(Qt), ne = document.createTextNode(String(te)); ee.observe(ne, { characterData: !0 }), Jt = function() { te = (te + 1) % 2, ne.data = String(te); }, Gt = !0; } function ie(t, e) { var n; if (Yt.push((function() { if (t) try { t.call(e); } catch (t) { Bt(t, e, "nextTick"); } else n && n(e); })), Zt || (Zt = !0, Jt()), !t && "undefined" != typeof Promise) return new Promise((function(t) { n = t; })); } var ae = new lt; function oe(t) { !function t(e, n) { var i, a, o = Array.isArray(e); if (!o && !l(e) || Object.isFrozen(e) || e instanceof ft) return; if (e.__ob__) { var r = e.__ob__.dep.id; if (n.has(r)) return; n.add(r); } if (o) for (i = e.length; i--; ) t(e[i], n); else for (a = Object.keys(e), i = a.length; i--; ) t(e[a[i]], n); }(t, ae), ae.clear(); } var re = x((function(t) { var e = "&" === t.charAt(0), n = "~" === (t = e ? t.slice(1) : t).charAt(0), i = "!" === (t = n ? t.slice(1) : t).charAt(0); return { name: t = i ? t.slice(1) : t, once: n, capture: i, passive: e }; })); function se(t, e) { function n() { var t = arguments, i = n.fns; if (!Array.isArray(i)) return Kt(i, null, arguments, e, "v-on handler"); for (var a = i.slice(), o = 0; o < a.length; o++) Kt(a[o], null, t, e, "v-on handler"); } return n.fns = t, n; } function le(t, e, n, i, o, s) { var l, c, d, m; for (l in t) c = t[l], d = e[l], m = re(l), a(c) || (a(d) ? (a(c.fns) && (c = t[l] = se(c, s)), r(m.once) && (c = t[l] = o(m.name, c, m.capture)), n(m.name, c, m.capture, m.passive, m.params)) : c !== d && (d.fns = c, t[l] = d)); for (l in e) a(t[l]) && i((m = re(l)).name, e[l], m.capture); } function ce(t, e, n) { var i; t instanceof ft && (t = t.data.hook || (t.data.hook = {})); var s = t[e]; function l() { n.apply(this, arguments), y(i.fns, l); } a(s) ? i = se([ l ]) : o(s.fns) && r(s.merged) ? (i = s).fns.push(l) : i = se([ s, l ]), i.merged = !0, t[e] = i; } function de(t, e, n, i, a) { if (o(e)) { if (_(e, n)) return t[n] = e[n], a || delete e[n], !0; if (_(e, i)) return t[n] = e[i], a || delete e[i], !0; } return !1; } function me(t) { return s(t) ? [ yt(t) ] : Array.isArray(t) ? function t(e, n) { var i, l, c, d, m = []; for (i = 0; i < e.length; i++) a(l = e[i]) || "boolean" == typeof l || (c = m.length - 1, d = m[c], Array.isArray(l) ? l.length > 0 && (ue((l = t(l, (n || "") + "_" + i))[0]) && ue(d) && (m[c] = yt(d.text + l[0].text), l.shift()), m.push.apply(m, l)) : s(l) ? ue(d) ? m[c] = yt(d.text + l) : "" !== l && m.push(yt(l)) : ue(l) && ue(d) ? m[c] = yt(d.text + l.text) : (r(e._isVList) && o(l.tag) && a(l.key) && o(n) && (l.key = "__vlist" + n + "_" + i + "__"), m.push(l))); return m; }(t) : void 0; } function ue(t) { return o(t) && o(t.text) && !1 === t.isComment; } function pe(t, e) { if (t) { for (var n = Object.create(null), i = ct ? Reflect.ownKeys(t) : Object.keys(t), a = 0; a < i.length; a++) { var o = i[a]; if ("__ob__" !== o) { for (var r = t[o].from, s = e; s; ) { if (s._provided && _(s._provided, r)) { n[o] = s._provided[r]; break; } s = s.$parent; } if (!s) if ("default" in t[o]) { var l = t[o].default; n[o] = "function" == typeof l ? l.call(e) : l; } else 0; } } return n; } } function he(t, e) { if (!t || !t.length) return {}; for (var n = {}, i = 0, a = t.length; i < a; i++) { var o = t[i], r = o.data; if (r && r.attrs && r.attrs.slot && delete r.attrs.slot, o.context !== e && o.fnContext !== e || !r || null == r.slot) (n.default || (n.default = [])).push(o); else { var s = r.slot, l = n[s] || (n[s] = []); "template" === o.tag ? l.push.apply(l, o.children || []) : l.push(o); } } for (var c in n) n[c].every(ge) && delete n[c]; return n; } function ge(t) { return t.isComment && !t.asyncFactory || " " === t.text; } function fe(t, e, n) { var a, o = Object.keys(e).length > 0, r = t ? !!t.$stable : !o, s = t && t.$key; if (t) { if (t._normalized) return t._normalized; if (r && n && n !== i && s === n.$key && !o && !n.$hasNormal) return n; for (var l in a = {}, t) t[l] && "$" !== l[0] && (a[l] = ve(e, l, t[l])); } else a = {}; for (var c in e) c in a || (a[c] = be(e, c)); return t && Object.isExtensible(t) && (t._normalized = a), H(a, "$stable", r), H(a, "$key", s), H(a, "$hasNormal", o), a; } function ve(t, e, n) { var i = function() { var t = arguments.length ? n.apply(null, arguments) : n({}); return (t = t && "object" == typeof t && !Array.isArray(t) ? [ t ] : me(t)) && (0 === t.length || 1 === t.length && t[0].isComment) ? void 0 : t; }; return n.proxy && Object.defineProperty(t, e, { get: i, enumerable: !0, configurable: !0 }), i; } function be(t, e) { return function() { return t[e]; }; } function ye(t, e) { var n, i, a, r, s; if (Array.isArray(t) || "string" == typeof t) for (n = new Array(t.length), i = 0, a = t.length; i < a; i++) n[i] = e(t[i], i); else if ("number" == typeof t) for (n = new Array(t), i = 0; i < t; i++) n[i] = e(i + 1, i); else if (l(t)) if (ct && t[Symbol.iterator]) { n = []; for (var c = t[Symbol.iterator](), d = c.next(); !d.done; ) n.push(e(d.value, n.length)), d = c.next(); } else for (r = Object.keys(t), n = new Array(r.length), i = 0, a = r.length; i < a; i++) s = r[i], n[i] = e(t[s], s, i); return o(n) || (n = []), n._isVList = !0, n; } function we(t, e, n, i) { var a, o = this.$scopedSlots[t]; o ? (n = n || {}, i && (n = A(A({}, i), n)), a = o(n) || e) : a = this.$slots[t] || e; var r = n && n.slot; return r ? this.$createElement("template", { slot: r }, a) : a; } function _e(t) { return Vt(this.$options, "filters", t) || M; } function xe(t, e) { return Array.isArray(t) ? -1 === t.indexOf(e) : t !== e; } function ke(t, e, n, i, a) { var o = D.keyCodes[e] || n; return a && i && !D.keyCodes[e] ? xe(a, i) : o ? xe(o, t) : i ? T(i) !== e : void 0; } function Se(t, e, n, i, a) { if (n) if (l(n)) { var o; Array.isArray(n) && (n = I(n)); var r = function(r) { if ("class" === r || "style" === r || b(r)) o = t; else { var s = t.attrs && t.attrs.type; o = i || D.mustUseProp(e, s, r) ? t.domProps || (t.domProps = {}) : t.attrs || (t.attrs = {}); } var l = S(r), c = T(r); l in o || c in o || (o[r] = n[r], a && ((t.on || (t.on = {}))["update:" + r] = function(t) { n[r] = t; })); }; for (var s in n) r(s); } else ; return t; } function $e(t, e) { var n = this._staticTrees || (this._staticTrees = []), i = n[t]; return i && !e || Te(i = n[t] = this.$options.staticRenderFns[t].call(this._renderProxy, null, this), "__static__" + t, !1), i; } function Ee(t, e, n) { return Te(t, "__once__" + e + (n ? "_" + n : ""), !0), t; } function Te(t, e, n) { if (Array.isArray(t)) for (var i = 0; i < t.length; i++) t[i] && "string" != typeof t[i] && Pe(t[i], e + "_" + i, n); else Pe(t, e, n); } function Pe(t, e, n) { t.isStatic = !0, t.key = e, t.isOnce = n; } function Ce(t, e) { if (e) if (d(e)) { var n = t.on = t.on ? A({}, t.on) : {}; for (var i in e) { var a = n[i], o = e[i]; n[i] = a ? [].concat(a, o) : o; } } else ; return t; } function Ae(t, e, n, i) { e = e || { $stable: !n }; for (var a = 0; a < t.length; a++) { var o = t[a]; Array.isArray(o) ? Ae(o, e, n) : o && (o.proxy && (o.fn.proxy = !0), e[o.key] = o.fn); } return i && (e.$key = i), e; } function Ie(t, e) { for (var n = 0; n < e.length; n += 2) { var i = e[n]; "string" == typeof i && i && (t[e[n]] = e[n + 1]); } return t; } function Oe(t, e) { return "string" == typeof t ? e + t : t; } function Ue(t) { t._o = Ee, t._n = g, t._s = h, t._l = ye, t._t = we, t._q = L, t._i = N, t._m = $e, t._f = _e, t._k = ke, t._b = Se, t._v = yt, t._e = bt, t._u = Ae, t._g = Ce, t._d = Ie, t._p = Oe; } function Me(t, e, n, a, o) { var s, l = this, c = o.options; _(a, "_uid") ? (s = Object.create(a))._original = a : (s = a, a = a._original); var d = r(c._compiled), m = !d; this.data = t, this.props = e, this.children = n, this.parent = a, this.listeners = t.on || i, this.injections = pe(c.inject, a), this.slots = function() { return l.$slots || fe(t.scopedSlots, l.$slots = he(n, a)), l.$slots; }, Object.defineProperty(this, "scopedSlots", { enumerable: !0, get: function() { return fe(t.scopedSlots, this.slots()); } }), d && (this.$options = c, this.$slots = this.slots(), this.$scopedSlots = fe(t.scopedSlots, this.$slots)), c._scopeId ? this._c = function(t, e, n, i) { var o = ze(s, t, e, n, i, m); return o && !Array.isArray(o) && (o.fnScopeId = c._scopeId, o.fnContext = a), o; } : this._c = function(t, e, n, i) { return ze(s, t, e, n, i, m); }; } function Le(t, e, n, i, a) { var o = wt(t); return o.fnContext = n, o.fnOptions = i, e.slot && ((o.data || (o.data = {})).slot = e.slot), o; } function Ne(t, e) { for (var n in e) t[S(n)] = e[n]; } Ue(Me.prototype); var Re = { init: function(t, e) { if (t.componentInstance && !t.componentInstance._isDestroyed && t.data.keepAlive) { var n = t; Re.prepatch(n, n); } else { (t.componentInstance = function(t, e) { var n = { _isComponent: !0, _parentVnode: t, parent: e }, i = t.data.inlineTemplate; o(i) && (n.render = i.render, n.staticRenderFns = i.staticRenderFns); return new t.componentOptions.Ctor(n); }(t, Ze)).$mount(e ? t.elm : void 0, e); } }, prepatch: function(t, e) { var n = e.componentOptions; !function(t, e, n, a, o) { 0; var r = a.data.scopedSlots, s = t.$scopedSlots, l = !!(r && !r.$stable || s !== i && !s.$stable || r && t.$scopedSlots.$key !== r.$key), c = !!(o || t.$options._renderChildren || l); t.$options._parentVnode = a, t.$vnode = a, t._vnode && (t._vnode.parent = a); if (t.$options._renderChildren = o, t.$attrs = a.data.attrs || i, t.$listeners = n || i, e && t.$options.props) { $t(!1); for (var d = t._props, m = t.$options._propKeys || [], u = 0; u < m.length; u++) { var p = m[u], h = t.$options.props; d[p] = Dt(p, h, e, t); } $t(!0), t.$options.propsData = e; } n = n || i; var g = t.$options._parentListeners; t.$options._parentListeners = n, Ye(t, n, g), c && (t.$slots = he(o, a.context), t.$forceUpdate()); 0; }(e.componentInstance = t.componentInstance, n.propsData, n.listeners, e, n.children); }, insert: function(t) { var e, n = t.context, i = t.componentInstance; i._isMounted || (i._isMounted = !0, en(i, "mounted")), t.data.keepAlive && (n._isMounted ? ((e = i)._inactive = !1, an.push(e)) : tn(i, !0)); }, destroy: function(t) { var e = t.componentInstance; e._isDestroyed || (t.data.keepAlive ? function t(e, n) { if (n && (e._directInactive = !0, Xe(e))) return; if (!e._inactive) { e._inactive = !0; for (var i = 0; i < e.$children.length; i++) t(e.$children[i]); en(e, "deactivated"); } }(e, !0) : e.$destroy()); } }, je = Object.keys(Re); function Ve(t, e, n, s, c) { if (!a(t)) { var d = n.$options._base; if (l(t) && (t = d.extend(t)), "function" == typeof t) { var m; if (a(t.cid) && void 0 === (t = function(t, e) { if (r(t.error) && o(t.errorComp)) return t.errorComp; if (o(t.resolved)) return t.resolved; var n = He; n && o(t.owners) && -1 === t.owners.indexOf(n) && t.owners.push(n); if (r(t.loading) && o(t.loadingComp)) return t.loadingComp; if (n && !o(t.owners)) { var i = t.owners = [ n ], s = !0, c = null, d = null; n.$on("hook:destroyed", (function() { return y(i, n); })); var m = function(t) { for (var e = 0, n = i.length; e < n; e++) i[e].$forceUpdate(); t && (i.length = 0, null !== c && (clearTimeout(c), c = null), null !== d && (clearTimeout(d), d = null)); }, u = R((function(n) { t.resolved = Be(n, e), s ? i.length = 0 : m(!0); })), h = R((function(e) { o(t.errorComp) && (t.error = !0, m(!0)); })), g = t(u, h); return l(g) && (p(g) ? a(t.resolved) && g.then(u, h) : p(g.component) && (g.component.then(u, h), o(g.error) && (t.errorComp = Be(g.error, e)), o(g.loading) && (t.loadingComp = Be(g.loading, e), 0 === g.delay ? t.loading = !0 : c = setTimeout((function() { c = null, a(t.resolved) && a(t.error) && (t.loading = !0, m(!1)); }), g.delay || 200)), o(g.timeout) && (d = setTimeout((function() { d = null, a(t.resolved) && h(null); }), g.timeout)))), s = !1, t.loading ? t.loadingComp : t.resolved; } }(m = t, d))) return function(t, e, n, i, a) { var o = bt(); return o.asyncFactory = t, o.asyncMeta = { data: e, context: n, children: i, tag: a }, o; }(m, e, n, s, c); e = e || {}, Sn(t), o(e.model) && function(t, e) { var n = t.model && t.model.prop || "value", i = t.model && t.model.event || "input"; (e.attrs || (e.attrs = {}))[n] = e.model.value; var a = e.on || (e.on = {}), r = a[i], s = e.model.callback; o(r) ? (Array.isArray(r) ? -1 === r.indexOf(s) : r !== s) && (a[i] = [ s ].concat(r)) : a[i] = s; }(t.options, e); var u = function(t, e, n) { var i = e.options.props; if (!a(i)) { var r = {}, s = t.attrs, l = t.props; if (o(s) || o(l)) for (var c in i) { var d = T(c); de(r, l, c, d, !0) || de(r, s, c, d, !1); } return r; } }(e, t); if (r(t.options.functional)) return function(t, e, n, a, r) { var s = t.options, l = {}, c = s.props; if (o(c)) for (var d in c) l[d] = Dt(d, c, e || i); else o(n.attrs) && Ne(l, n.attrs), o(n.props) && Ne(l, n.props); var m = new Me(n, l, r, a, t), u = s.render.call(null, m._c, m); if (u instanceof ft) return Le(u, n, m.parent, s, m); if (Array.isArray(u)) { for (var p = me(u) || [], h = new Array(p.length), g = 0; g < p.length; g++) h[g] = Le(p[g], n, m.parent, s, m); return h; } }(t, u, e, n, s); var h = e.on; if (e.on = e.nativeOn, r(t.options.abstract)) { var g = e.slot; e = {}, g && (e.slot = g); } !function(t) { for (var e = t.hook || (t.hook = {}), n = 0; n < je.length; n++) { var i = je[n], a = e[i], o = Re[i]; a === o || a && a._merged || (e[i] = a ? De(o, a) : o); } }(e); var f = t.options.name || c; return new ft("vue-component-" + t.cid + (f ? "-" + f : ""), e, void 0, void 0, void 0, n, { Ctor: t, propsData: u, listeners: h, tag: c, children: s }, m); } } } function De(t, e) { var n = function(n, i) { t(n, i), e(n, i); }; return n._merged = !0, n; } function ze(t, e, n, i, c, d) { return (Array.isArray(n) || s(n)) && (c = i, i = n, n = void 0), r(d) && (c = 2), function(t, e, n, i, s) { if (o(n) && o(n.__ob__)) return bt(); o(n) && o(n.is) && (e = n.is); if (!e) return bt(); 0; Array.isArray(i) && "function" == typeof i[0] && ((n = n || {}).scopedSlots = { default: i[0] }, i.length = 0); 2 === s ? i = me(i) : 1 === s && (i = function(t) { for (var e = 0; e < t.length; e++) if (Array.isArray(t[e])) return Array.prototype.concat.apply([], t); return t; }(i)); var c, d; if ("string" == typeof e) { var m; d = t.$vnode && t.$vnode.ns || D.getTagNamespace(e), c = D.isReservedTag(e) ? new ft(D.parsePlatformTagName(e), n, i, void 0, void 0, t) : n && n.pre || !o(m = Vt(t.$options, "components", e)) ? new ft(e, n, i, void 0, void 0, t) : Ve(m, n, t, i, e); } else c = Ve(e, n, t, i); return Array.isArray(c) ? c : o(c) ? (o(d) && function t(e, n, i) { e.ns = n, "foreignObject" === e.tag && (n = void 0, i = !0); if (o(e.children)) for (var s = 0, l = e.children.length; s < l; s++) { var c = e.children[s]; o(c.tag) && (a(c.ns) || r(i) && "svg" !== c.tag) && t(c, n, i); } }(c, d), o(n) && function(t) { l(t.style) && oe(t.style); l(t.class) && oe(t.class); }(n), c) : bt(); }(t, e, n, i, c); } var Fe, He = null; function Be(t, e) { return (t.__esModule || ct && "Module" === t[Symbol.toStringTag]) && (t = t.default), l(t) ? e.extend(t) : t; } function Ke(t) { return t.isComment && t.asyncFactory; } function qe(t) { if (Array.isArray(t)) for (var e = 0; e < t.length; e++) { var n = t[e]; if (o(n) && (o(n.componentOptions) || Ke(n))) return n; } } function We(t, e) { Fe.$on(t, e); } function Je(t, e) { Fe.$off(t, e); } function Ge(t, e) { var n = Fe; return function i() { var a = e.apply(null, arguments); null !== a && n.$off(t, i); }; } function Ye(t, e, n) { Fe = t, le(e, n || {}, We, Je, Ge, t), Fe = void 0; } var Ze = null; function Qe(t) { var e = Ze; return Ze = t, function() { Ze = e; }; } function Xe(t) { for (;t && (t = t.$parent); ) if (t._inactive) return !0; return !1; } function tn(t, e) { if (e) { if (t._directInactive = !1, Xe(t)) return; } else if (t._directInactive) return; if (t._inactive || null === t._inactive) { t._inactive = !1; for (var n = 0; n < t.$children.length; n++) tn(t.$children[n]); en(t, "activated"); } } function en(t, e) { ht(); var n = t.$options[e], i = e + " hook"; if (n) for (var a = 0, o = n.length; a < o; a++) Kt(n[a], t, null, t, i); t._hasHookEvent && t.$emit("hook:" + e), gt(); } var nn = [], an = [], on = {}, rn = !1, sn = !1, ln = 0; var cn = 0, dn = Date.now; if (W && !Z) { var mn = window.performance; mn && "function" == typeof mn.now && dn() > document.createEvent("Event").timeStamp && (dn = function() { return mn.now(); }); } function un() { var t, e; for (cn = dn(), sn = !0, nn.sort((function(t, e) { return t.id - e.id; })), ln = 0; ln < nn.length; ln++) (t = nn[ln]).before && t.before(), e = t.id, on[e] = null, t.run(); var n = an.slice(), i = nn.slice(); ln = nn.length = an.length = 0, on = {}, rn = sn = !1, function(t) { for (var e = 0; e < t.length; e++) t[e]._inactive = !0, tn(t[e], !0); }(n), function(t) { var e = t.length; for (;e--; ) { var n = t[e], i = n.vm; i._watcher === n && i._isMounted && !i._isDestroyed && en(i, "updated"); } }(i), rt && D.devtools && rt.emit("flush"); } var pn = 0, hn = function(t, e, n, i, a) { this.vm = t, a && (t._watcher = this), t._watchers.push(this), i ? (this.deep = !!i.deep, this.user = !!i.user, this.lazy = !!i.lazy, this.sync = !!i.sync, this.before = i.before) : this.deep = this.user = this.lazy = this.sync = !1, this.cb = n, this.id = ++pn, this.active = !0, this.dirty = this.lazy, this.deps = [], this.newDeps = [], this.depIds = new lt, this.newDepIds = new lt, this.expression = "", "function" == typeof e ? this.getter = e : (this.getter = function(t) { if (!B.test(t)) { var e = t.split("."); return function(t) { for (var n = 0; n < e.length; n++) { if (!t) return; t = t[e[n]]; } return t; }; } }(e), this.getter || (this.getter = O)), this.value = this.lazy ? void 0 : this.get(); }; hn.prototype.get = function() { var t; ht(this); var e = this.vm; try { t = this.getter.call(e, e); } catch (t) { if (!this.user) throw t; Bt(t, e, 'getter for watcher "' + this.expression + '"'); } finally { this.deep && oe(t), gt(), this.cleanupDeps(); } return t; }, hn.prototype.addDep = function(t) { var e = t.id; this.newDepIds.has(e) || (this.newDepIds.add(e), this.newDeps.push(t), this.depIds.has(e) || t.addSub(this)); }, hn.prototype.cleanupDeps = function() { for (var t = this.deps.length; t--; ) { var e = this.deps[t]; this.newDepIds.has(e.id) || e.removeSub(this); } var n = this.depIds; this.depIds = this.newDepIds, this.newDepIds = n, this.newDepIds.clear(), n = this.deps, this.deps = this.newDeps, this.newDeps = n, this.newDeps.length = 0; }, hn.prototype.update = function() { this.lazy ? this.dirty = !0 : this.sync ? this.run() : function(t) { var e = t.id; if (null == on[e]) { if (on[e] = !0, sn) { for (var n = nn.length - 1; n > ln && nn[n].id > t.id; ) n--; nn.splice(n + 1, 0, t); } else nn.push(t); rn || (rn = !0, ie(un)); } }(this); }, hn.prototype.run = function() { if (this.active) { var t = this.get(); if (t !== this.value || l(t) || this.deep) { var e = this.value; if (this.value = t, this.user) try { this.cb.call(this.vm, t, e); } catch (t) { Bt(t, this.vm, 'callback for watcher "' + this.expression + '"'); } else this.cb.call(this.vm, t, e); } } }, hn.prototype.evaluate = function() { this.value = this.get(), this.dirty = !1; }, hn.prototype.depend = function() { for (var t = this.deps.length; t--; ) this.deps[t].depend(); }, hn.prototype.teardown = function() { if (this.active) { this.vm._isBeingDestroyed || y(this.vm._watchers, this); for (var t = this.deps.length; t--; ) this.deps[t].removeSub(this); this.active = !1; } }; var gn = { enumerable: !0, configurable: !0, get: O, set: O }; function fn(t, e, n) { gn.get = function() { return this[e][n]; }, gn.set = function(t) { this[e][n] = t; }, Object.defineProperty(t, n, gn); } function vn(t) { t._watchers = []; var e = t.$options; e.props && function(t, e) { var n = t.$options.propsData || {}, i = t._props = {}, a = t.$options._propKeys = []; t.$parent && $t(!1); var o = function(o) { a.push(o); var r = Dt(o, e, n, t); Pt(i, o, r), o in t || fn(t, "_props", o); }; for (var r in e) o(r); $t(!0); }(t, e.props), e.methods && function(t, e) { t.$options.props; for (var n in e) t[n] = "function" != typeof e[n] ? O : P(e[n], t); }(t, e.methods), e.data ? function(t) { var e = t.$options.data; d(e = t._data = "function" == typeof e ? function(t, e) { ht(); try { return t.call(e, e); } catch (t) { return Bt(t, e, "data()"), {}; } finally { gt(); } }(e, t) : e || {}) || (e = {}); var n = Object.keys(e), i = t.$options.props, a = (t.$options.methods, n.length); for (;a--; ) { var o = n[a]; 0, i && _(i, o) || F(o) || fn(t, "_data", o); } Tt(e, !0); }(t) : Tt(t._data = {}, !0), e.computed && function(t, e) { var n = t._computedWatchers = Object.create(null), i = ot(); for (var a in e) { var o = e[a], r = "function" == typeof o ? o : o.get; 0, i || (n[a] = new hn(t, r || O, O, bn)), a in t || yn(t, a, o); } }(t, e.computed), e.watch && e.watch !== nt && function(t, e) { for (var n in e) { var i = e[n]; if (Array.isArray(i)) for (var a = 0; a < i.length; a++) xn(t, n, i[a]); else xn(t, n, i); } }(t, e.watch); } var bn = { lazy: !0 }; function yn(t, e, n) { var i = !ot(); "function" == typeof n ? (gn.get = i ? wn(e) : _n(n), gn.set = O) : (gn.get = n.get ? i && !1 !== n.cache ? wn(e) : _n(n.get) : O, gn.set = n.set || O), Object.defineProperty(t, e, gn); } function wn(t) { return function() { var e = this._computedWatchers && this._computedWatchers[t]; if (e) return e.dirty && e.evaluate(), ut.target && e.depend(), e.value; }; } function _n(t) { return function() { return t.call(this, this); }; } function xn(t, e, n, i) { return d(n) && (i = n, n = n.handler), "string" == typeof n && (n = t[n]), t.$watch(e, n, i); } var kn = 0; function Sn(t) { var e = t.options; if (t.super) { var n = Sn(t.super); if (n !== t.superOptions) { t.superOptions = n; var i = function(t) { var e, n = t.options, i = t.sealedOptions; for (var a in n) n[a] !== i[a] && (e || (e = {}), e[a] = n[a]); return e; }(t); i && A(t.extendOptions, i), (e = t.options = jt(n, t.extendOptions)).name && (e.components[e.name] = t); } } return e; } function $n(t) { this._init(t); } function En(t) { t.cid = 0; var e = 1; t.extend = function(t) { t = t || {}; var n = this, i = n.cid, a = t._Ctor || (t._Ctor = {}); if (a[i]) return a[i]; var o = t.name || n.options.name; var r = function(t) { this._init(t); }; return (r.prototype = Object.create(n.prototype)).constructor = r, r.cid = e++, r.options = jt(n.options, t), r.super = n, r.options.props && function(t) { var e = t.options.props; for (var n in e) fn(t.prototype, "_props", n); }(r), r.options.computed && function(t) { var e = t.options.computed; for (var n in e) yn(t.prototype, n, e[n]); }(r), r.extend = n.extend, r.mixin = n.mixin, r.use = n.use, j.forEach((function(t) { r[t] = n[t]; })), o && (r.options.components[o] = r), r.superOptions = n.options, r.extendOptions = t, r.sealedOptions = A({}, r.options), a[i] = r, r; }; } function Tn(t) { return t && (t.Ctor.options.name || t.tag); } function Pn(t, e) { return Array.isArray(t) ? t.indexOf(e) > -1 : "string" == typeof t ? t.split(",").indexOf(e) > -1 : !!m(t) && t.test(e); } function Cn(t, e) { var n = t.cache, i = t.keys, a = t._vnode; for (var o in n) { var r = n[o]; if (r) { var s = Tn(r.componentOptions); s && !e(s) && An(n, o, i, a); } } } function An(t, e, n, i) { var a = t[e]; !a || i && a.tag === i.tag || a.componentInstance.$destroy(), t[e] = null, y(n, e); } !function(t) { t.prototype._init = function(t) { var e = this; e._uid = kn++, e._isVue = !0, t && t._isComponent ? function(t, e) { var n = t.$options = Object.create(t.constructor.options), i = e._parentVnode; n.parent = e.parent, n._parentVnode = i; var a = i.componentOptions; n.propsData = a.propsData, n._parentListeners = a.listeners, n._renderChildren = a.children, n._componentTag = a.tag, e.render && (n.render = e.render, n.staticRenderFns = e.staticRenderFns); }(e, t) : e.$options = jt(Sn(e.constructor), t || {}, e), e._renderProxy = e, e._self = e, function(t) { var e = t.$options, n = e.parent; if (n && !e.abstract) { for (;n.$options.abstract && n.$parent; ) n = n.$parent; n.$children.push(t); } t.$parent = n, t.$root = n ? n.$root : t, t.$children = [], t.$refs = {}, t._watcher = null, t._inactive = null, t._directInactive = !1, t._isMounted = !1, t._isDestroyed = !1, t._isBeingDestroyed = !1; }(e), function(t) { t._events = Object.create(null), t._hasHookEvent = !1; var e = t.$options._parentListeners; e && Ye(t, e); }(e), function(t) { t._vnode = null, t._staticTrees = null; var e = t.$options, n = t.$vnode = e._parentVnode, a = n && n.context; t.$slots = he(e._renderChildren, a), t.$scopedSlots = i, t._c = function(e, n, i, a) { return ze(t, e, n, i, a, !1); }, t.$createElement = function(e, n, i, a) { return ze(t, e, n, i, a, !0); }; var o = n && n.data; Pt(t, "$attrs", o && o.attrs || i, null, !0), Pt(t, "$listeners", e._parentListeners || i, null, !0); }(e), en(e, "beforeCreate"), function(t) { var e = pe(t.$options.inject, t); e && ($t(!1), Object.keys(e).forEach((function(n) { Pt(t, n, e[n]); })), $t(!0)); }(e), vn(e), function(t) { var e = t.$options.provide; e && (t._provided = "function" == typeof e ? e.call(t) : e); }(e), en(e, "created"), e.$options.el && e.$mount(e.$options.el); }; }($n), function(t) { var e = { get: function() { return this._data; } }, n = { get: function() { return this._props; } }; Object.defineProperty(t.prototype, "$data", e), Object.defineProperty(t.prototype, "$props", n), t.prototype.$set = Ct, t.prototype.$delete = At, t.prototype.$watch = function(t, e, n) { if (d(e)) return xn(this, t, e, n); (n = n || {}).user = !0; var i = new hn(this, t, e, n); if (n.immediate) try { e.call(this, i.value); } catch (t) { Bt(t, this, 'callback for immediate watcher "' + i.expression + '"'); } return function() { i.teardown(); }; }; }($n), function(t) { var e = /^hook:/; t.prototype.$on = function(t, n) { var i = this; if (Array.isArray(t)) for (var a = 0, o = t.length; a < o; a++) i.$on(t[a], n); else (i._events[t] || (i._events[t] = [])).push(n), e.test(t) && (i._hasHookEvent = !0); return i; }, t.prototype.$once = function(t, e) { var n = this; function i() { n.$off(t, i), e.apply(n, arguments); } return i.fn = e, n.$on(t, i), n; }, t.prototype.$off = function(t, e) { var n = this; if (!arguments.length) return n._events = Object.create(null), n; if (Array.isArray(t)) { for (var i = 0, a = t.length; i < a; i++) n.$off(t[i], e); return n; } var o, r = n._events[t]; if (!r) return n; if (!e) return n._events[t] = null, n; for (var s = r.length; s--; ) if ((o = r[s]) === e || o.fn === e) { r.splice(s, 1); break; } return n; }, t.prototype.$emit = function(t) { var e = this, n = e._events[t]; if (n) { n = n.length > 1 ? C(n) : n; for (var i = C(arguments, 1), a = 'event handler for "' + t + '"', o = 0, r = n.length; o < r; o++) Kt(n[o], e, i, e, a); } return e; }; }($n), function(t) { t.prototype._update = function(t, e) { var n = this, i = n.$el, a = n._vnode, o = Qe(n); n._vnode = t, n.$el = a ? n.__patch__(a, t) : n.__patch__(n.$el, t, e, !1), o(), i && (i.__vue__ = null), n.$el && (n.$el.__vue__ = n), n.$vnode && n.$parent && n.$vnode === n.$parent._vnode && (n.$parent.$el = n.$el); }, t.prototype.$forceUpdate = function() { this._watcher && this._watcher.update(); }, t.prototype.$destroy = function() { var t = this; if (!t._isBeingDestroyed) { en(t, "beforeDestroy"), t._isBeingDestroyed = !0; var e = t.$parent; !e || e._isBeingDestroyed || t.$options.abstract || y(e.$children, t), t._watcher && t._watcher.teardown(); for (var n = t._watchers.length; n--; ) t._watchers[n].teardown(); t._data.__ob__ && t._data.__ob__.vmCount--, t._isDestroyed = !0, t.__patch__(t._vnode, null), en(t, "destroyed"), t.$off(), t.$el && (t.$el.__vue__ = null), t.$vnode && (t.$vnode.parent = null); } }; }($n), function(t) { Ue(t.prototype), t.prototype.$nextTick = function(t) { return ie(t, this); }, t.prototype._render = function() { var t, e = this, n = e.$options, i = n.render, a = n._parentVnode; a && (e.$scopedSlots = fe(a.data.scopedSlots, e.$slots, e.$scopedSlots)), e.$vnode = a; try { He = e, t = i.call(e._renderProxy, e.$createElement); } catch (n) { Bt(n, e, "render"), t = e._vnode; } finally { He = null; } return Array.isArray(t) && 1 === t.length && (t = t[0]), t instanceof ft || (t = bt()), t.parent = a, t; }; }($n); var In = [ String, RegExp, Array ], On = { KeepAlive: { name: "keep-alive", abstract: !0, props: { include: In, exclude: In, max: [ String, Number ] }, created: function() { this.cache = Object.create(null), this.keys = []; }, destroyed: function() { for (var t in this.cache) An(this.cache, t, this.keys); }, mounted: function() { var t = this; this.$watch("include", (function(e) { Cn(t, (function(t) { return Pn(e, t); })); })), this.$watch("exclude", (function(e) { Cn(t, (function(t) { return !Pn(e, t); })); })); }, render: function() { var t = this.$slots.default, e = qe(t), n = e && e.componentOptions; if (n) { var i = Tn(n), a = this.include, o = this.exclude; if (a && (!i || !Pn(a, i)) || o && i && Pn(o, i)) return e; var r = this.cache, s = this.keys, l = null == e.key ? n.Ctor.cid + (n.tag ? "::" + n.tag : "") : e.key; r[l] ? (e.componentInstance = r[l].componentInstance, y(s, l), s.push(l)) : (r[l] = e, s.push(l), this.max && s.length > parseInt(this.max) && An(r, s[0], s, this._vnode)), e.data.keepAlive = !0; } return e || t && t[0]; } } }; !function(t) { var e = { get: function() { return D; } }; Object.defineProperty(t, "config", e), t.util = { warn: dt, extend: A, mergeOptions: jt, defineReactive: Pt }, t.set = Ct, t.delete = At, t.nextTick = ie, t.observable = function(t) { return Tt(t), t; }, t.options = Object.create(null), j.forEach((function(e) { t.options[e + "s"] = Object.create(null); })), t.options._base = t, A(t.options.components, On), function(t) { t.use = function(t) { var e = this._installedPlugins || (this._installedPlugins = []); if (e.indexOf(t) > -1) return this; var n = C(arguments, 1); return n.unshift(this), "function" == typeof t.install ? t.install.apply(t, n) : "function" == typeof t && t.apply(null, n), e.push(t), this; }; }(t), function(t) { t.mixin = function(t) { return this.options = jt(this.options, t), this; }; }(t), En(t), function(t) { j.forEach((function(e) { t[e] = function(t, n) { return n ? ("component" === e && d(n) && (n.name = n.name || t, n = this.options._base.extend(n)), "directive" === e && "function" == typeof n && (n = { bind: n, update: n }), this.options[e + "s"][t] = n, n) : this.options[e + "s"][t]; }; })); }(t); }($n), Object.defineProperty($n.prototype, "$isServer", { get: ot }), Object.defineProperty($n.prototype, "$ssrContext", { get: function() { return this.$vnode && this.$vnode.ssrContext; } }), Object.defineProperty($n, "FunctionalRenderContext", { value: Me }), $n.version = "2.6.12"; var Un = f("style,class"), Mn = f("input,textarea,option,select,progress"), Ln = function(t, e, n) { return "value" === n && Mn(t) && "button" !== e || "selected" === n && "option" === t || "checked" === n && "input" === t || "muted" === n && "video" === t; }, Nn = f("contenteditable,draggable,spellcheck"), Rn = f("events,caret,typing,plaintext-only"), jn = f("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"), Vn = "http://www.w3.org/1999/xlink", Dn = function(t) { return ":" === t.charAt(5) && "xlink" === t.slice(0, 5); }, zn = function(t) { return Dn(t) ? t.slice(6, t.length) : ""; }, Fn = function(t) { return null == t || !1 === t; }; function Hn(t) { for (var e = t.data, n = t, i = t; o(i.componentInstance); ) (i = i.componentInstance._vnode) && i.data && (e = Bn(i.data, e)); for (;o(n = n.parent); ) n && n.data && (e = Bn(e, n.data)); return function(t, e) { if (o(t) || o(e)) return Kn(t, qn(e)); return ""; }(e.staticClass, e.class); } function Bn(t, e) { return { staticClass: Kn(t.staticClass, e.staticClass), class: o(t.class) ? [ t.class, e.class ] : e.class }; } function Kn(t, e) { return t ? e ? t + " " + e : t : e || ""; } function qn(t) { return Array.isArray(t) ? function(t) { for (var e, n = "", i = 0, a = t.length; i < a; i++) o(e = qn(t[i])) && "" !== e && (n && (n += " "), n += e); return n; }(t) : l(t) ? function(t) { var e = ""; for (var n in t) t[n] && (e && (e += " "), e += n); return e; }(t) : "string" == typeof t ? t : ""; } var Wn = { svg: "http://www.w3.org/2000/svg", math: "http://www.w3.org/1998/Math/MathML" }, Jn = f("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"), Gn = f("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view", !0), Yn = function(t) { return Jn(t) || Gn(t); }; function Zn(t) { return Gn(t) ? "svg" : "math" === t ? "math" : void 0; } var Qn = Object.create(null); var Xn = f("text,number,password,search,email,tel,url"); function ti(t) { if ("string" == typeof t) { var e = document.querySelector(t); return e || document.createElement("div"); } return t; } var ei = Object.freeze({ createElement: function(t, e) { var n = document.createElement(t); return "select" !== t || e.data && e.data.attrs && void 0 !== e.data.attrs.multiple && n.setAttribute("multiple", "multiple"), n; }, createElementNS: function(t, e) { return document.createElementNS(Wn[t], e); }, createTextNode: function(t) { return document.createTextNode(t); }, createComment: function(t) { return document.createComment(t); }, insertBefore: function(t, e, n) { t.insertBefore(e, n); }, removeChild: function(t, e) { t.removeChild(e); }, appendChild: function(t, e) { t.appendChild(e); }, parentNode: function(t) { return t.parentNode; }, nextSibling: function(t) { return t.nextSibling; }, tagName: function(t) { return t.tagName; }, setTextContent: function(t, e) { t.textContent = e; }, setStyleScope: function(t, e) { t.setAttribute(e, ""); } }), ni = { create: function(t, e) { ii(e); }, update: function(t, e) { t.data.ref !== e.data.ref && (ii(t, !0), ii(e)); }, destroy: function(t) { ii(t, !0); } }; function ii(t, e) { var n = t.data.ref; if (o(n)) { var i = t.context, a = t.componentInstance || t.elm, r = i.$refs; e ? Array.isArray(r[n]) ? y(r[n], a) : r[n] === a && (r[n] = void 0) : t.data.refInFor ? Array.isArray(r[n]) ? r[n].indexOf(a) < 0 && r[n].push(a) : r[n] = [ a ] : r[n] = a; } } var ai = new ft("", {}, []), oi = [ "create", "activate", "update", "remove", "destroy" ]; function ri(t, e) { return t.key === e.key && (t.tag === e.tag && t.isComment === e.isComment && o(t.data) === o(e.data) && function(t, e) { if ("input" !== t.tag) return !0; var n, i = o(n = t.data) && o(n = n.attrs) && n.type, a = o(n = e.data) && o(n = n.attrs) && n.type; return i === a || Xn(i) && Xn(a); }(t, e) || r(t.isAsyncPlaceholder) && t.asyncFactory === e.asyncFactory && a(e.asyncFactory.error)); } function si(t, e, n) { var i, a, r = {}; for (i = e; i <= n; ++i) o(a = t[i].key) && (r[a] = i); return r; } var li = { create: ci, update: ci, destroy: function(t) { ci(t, ai); } }; function ci(t, e) { (t.data.directives || e.data.directives) && function(t, e) { var n, i, a, o = t === ai, r = e === ai, s = mi(t.data.directives, t.context), l = mi(e.data.directives, e.context), c = [], d = []; for (n in l) i = s[n], a = l[n], i ? (a.oldValue = i.value, a.oldArg = i.arg, pi(a, "update", e, t), a.def && a.def.componentUpdated && d.push(a)) : (pi(a, "bind", e, t), a.def && a.def.inserted && c.push(a)); if (c.length) { var m = function() { for (var n = 0; n < c.length; n++) pi(c[n], "inserted", e, t); }; o ? ce(e, "insert", m) : m(); } d.length && ce(e, "postpatch", (function() { for (var n = 0; n < d.length; n++) pi(d[n], "componentUpdated", e, t); })); if (!o) for (n in s) l[n] || pi(s[n], "unbind", t, t, r); }(t, e); } var di = Object.create(null); function mi(t, e) { var n, i, a = Object.create(null); if (!t) return a; for (n = 0; n < t.length; n++) (i = t[n]).modifiers || (i.modifiers = di), a[ui(i)] = i, i.def = Vt(e.$options, "directives", i.name); return a; } function ui(t) { return t.rawName || t.name + "." + Object.keys(t.modifiers || {}).join("."); } function pi(t, e, n, i, a) { var o = t.def && t.def[e]; if (o) try { o(n.elm, t, n, i, a); } catch (i) { Bt(i, n.context, "directive " + t.name + " " + e + " hook"); } } var hi = [ ni, li ]; function gi(t, e) { var n = e.componentOptions; if (!(o(n) && !1 === n.Ctor.options.inheritAttrs || a(t.data.attrs) && a(e.data.attrs))) { var i, r, s = e.elm, l = t.data.attrs || {}, c = e.data.attrs || {}; for (i in o(c.__ob__) && (c = e.data.attrs = A({}, c)), c) r = c[i], l[i] !== r && fi(s, i, r); for (i in (Z || X) && c.value !== l.value && fi(s, "value", c.value), l) a(c[i]) && (Dn(i) ? s.removeAttributeNS(Vn, zn(i)) : Nn(i) || s.removeAttribute(i)); } } function fi(t, e, n) { t.tagName.indexOf("-") > -1 ? vi(t, e, n) : jn(e) ? Fn(n) ? t.removeAttribute(e) : (n = "allowfullscreen" === e && "EMBED" === t.tagName ? "true" : e, t.setAttribute(e, n)) : Nn(e) ? t.setAttribute(e, function(t, e) { return Fn(e) || "false" === e ? "false" : "contenteditable" === t && Rn(e) ? e : "true"; }(e, n)) : Dn(e) ? Fn(n) ? t.removeAttributeNS(Vn, zn(e)) : t.setAttributeNS(Vn, e, n) : vi(t, e, n); } function vi(t, e, n) { if (Fn(n)) t.removeAttribute(e); else { if (Z && !Q && "TEXTAREA" === t.tagName && "placeholder" === e && "" !== n && !t.__ieph) { var i = function(e) { e.stopImmediatePropagation(), t.removeEventListener("input", i); }; t.addEventListener("input", i), t.__ieph = !0; } t.setAttribute(e, n); } } var bi = { create: gi, update: gi }; function yi(t, e) { var n = e.elm, i = e.data, r = t.data; if (!(a(i.staticClass) && a(i.class) && (a(r) || a(r.staticClass) && a(r.class)))) { var s = Hn(e), l = n._transitionClasses; o(l) && (s = Kn(s, qn(l))), s !== n._prevClass && (n.setAttribute("class", s), n._prevClass = s); } } var wi, _i, xi, ki, Si, $i, Ei = { create: yi, update: yi }, Ti = /[\w).+\-_$\]]/; function Pi(t) { var e, n, i, a, o, r = !1, s = !1, l = !1, c = !1, d = 0, m = 0, u = 0, p = 0; for (i = 0; i < t.length; i++) if (n = e, e = t.charCodeAt(i), r) 39 === e && 92 !== n && (r = !1); else if (s) 34 === e && 92 !== n && (s = !1); else if (l) 96 === e && 92 !== n && (l = !1); else if (c) 47 === e && 92 !== n && (c = !1); else if (124 !== e || 124 === t.charCodeAt(i + 1) || 124 === t.charCodeAt(i - 1) || d || m || u) { switch (e) { case 34: s = !0; break; case 39: r = !0; break; case 96: l = !0; break; case 40: u++; break; case 41: u--; break; case 91: m++; break; case 93: m--; break; case 123: d++; break; case 125: d--; } if (47 === e) { for (var h = i - 1, g = void 0; h >= 0 && " " === (g = t.charAt(h)); h--) ; g && Ti.test(g) || (c = !0); } } else void 0 === a ? (p = i + 1, a = t.slice(0, i).trim()) : f(); function f() { (o || (o = [])).push(t.slice(p, i).trim()), p = i + 1; } if (void 0 === a ? a = t.slice(0, i).trim() : 0 !== p && f(), o) for (i = 0; i < o.length; i++) a = Ci(a, o[i]); return a; } function Ci(t, e) { var n = e.indexOf("("); if (n < 0) return '_f("' + e + '")(' + t + ")"; var i = e.slice(0, n), a = e.slice(n + 1); return '_f("' + i + '")(' + t + (")" !== a ? "," + a : a); } function Ai(t, e) { console.error("[Vue compiler]: " + t); } function Ii(t, e) { return t ? t.map((function(t) { return t[e]; })).filter((function(t) { return t; })) : []; } function Oi(t, e, n, i, a) { (t.props || (t.props = [])).push(zi({ name: e, value: n, dynamic: a }, i)), t.plain = !1; } function Ui(t, e, n, i, a) { (a ? t.dynamicAttrs || (t.dynamicAttrs = []) : t.attrs || (t.attrs = [])).push(zi({ name: e, value: n, dynamic: a }, i)), t.plain = !1; } function Mi(t, e, n, i) { t.attrsMap[e] = n, t.attrsList.push(zi({ name: e, value: n }, i)); } function Li(t, e, n, i, a, o, r, s) { (t.directives || (t.directives = [])).push(zi({ name: e, rawName: n, value: i, arg: a, isDynamicArg: o, modifiers: r }, s)), t.plain = !1; } function Ni(t, e, n) { return n ? "_p(" + e + ',"' + t + '")' : t + e; } function Ri(t, e, n, a, o, r, s, l) { var c; (a = a || i).right ? l ? e = "(" + e + ")==='click'?'contextmenu':(" + e + ")" : "click" === e && (e = "contextmenu", delete a.right) : a.middle && (l ? e = "(" + e + ")==='click'?'mouseup':(" + e + ")" : "click" === e && (e = "mouseup")), a.capture && (delete a.capture, e = Ni("!", e, l)), a.once && (delete a.once, e = Ni("~", e, l)), a.passive && (delete a.passive, e = Ni("&", e, l)), a.native ? (delete a.native, c = t.nativeEvents || (t.nativeEvents = {})) : c = t.events || (t.events = {}); var d = zi({ value: n.trim(), dynamic: l }, s); a !== i && (d.modifiers = a); var m = c[e]; Array.isArray(m) ? o ? m.unshift(d) : m.push(d) : c[e] = m ? o ? [ d, m ] : [ m, d ] : d, t.plain = !1; } function ji(t, e, n) { var i = Vi(t, ":" + e) || Vi(t, "v-bind:" + e); if (null != i) return Pi(i); if (!1 !== n) { var a = Vi(t, e); if (null != a) return JSON.stringify(a); } } function Vi(t, e, n) { var i; if (null != (i = t.attrsMap[e])) for (var a = t.attrsList, o = 0, r = a.length; o < r; o++) if (a[o].name === e) { a.splice(o, 1); break; } return n && delete t.attrsMap[e], i; } function Di(t, e) { for (var n = t.attrsList, i = 0, a = n.length; i < a; i++) { var o = n[i]; if (e.test(o.name)) return n.splice(i, 1), o; } } function zi(t, e) { return e && (null != e.start && (t.start = e.start), null != e.end && (t.end = e.end)), t; } function Fi(t, e, n) { var i = n || {}, a = i.number, o = "$$v"; i.trim && (o = "(typeof $$v === 'string'? $$v.trim(): $$v)"), a && (o = "_n(" + o + ")"); var r = Hi(e, o); t.model = { value: "(" + e + ")", expression: JSON.stringify(e), callback: "function ($$v) {" + r + "}" }; } function Hi(t, e) { var n = function(t) { if (t = t.trim(), wi = t.length, t.indexOf("[") < 0 || t.lastIndexOf("]") < wi - 1) return (ki = t.lastIndexOf(".")) > -1 ? { exp: t.slice(0, ki), key: '"' + t.slice(ki + 1) + '"' } : { exp: t, key: null }; _i = t, ki = Si = $i = 0; for (;!Ki(); ) qi(xi = Bi()) ? Ji(xi) : 91 === xi && Wi(xi); return { exp: t.slice(0, Si), key: t.slice(Si + 1, $i) }; }(t); return null === n.key ? t + "=" + e : "$set(" + n.exp + ", " + n.key + ", " + e + ")"; } function Bi() { return _i.charCodeAt(++ki); } function Ki() { return ki >= wi; } function qi(t) { return 34 === t || 39 === t; } function Wi(t) { var e = 1; for (Si = ki; !Ki(); ) if (qi(t = Bi())) Ji(t); else if (91 === t && e++, 93 === t && e--, 0 === e) { $i = ki; break; } } function Ji(t) { for (var e = t; !Ki() && (t = Bi()) !== e; ) ; } var Gi; function Yi(t, e, n) { var i = Gi; return function a() { var o = e.apply(null, arguments); null !== o && Xi(t, a, n, i); }; } var Zi = Gt && !(et && Number(et[1]) <= 53); function Qi(t, e, n, i) { if (Zi) { var a = cn, o = e; e = o._wrapper = function(t) { if (t.target === t.currentTarget || t.timeStamp >= a || t.timeStamp <= 0 || t.target.ownerDocument !== document) return o.apply(this, arguments); }; } Gi.addEventListener(t, e, it ? { capture: n, passive: i } : n); } function Xi(t, e, n, i) { (i || Gi).removeEventListener(t, e._wrapper || e, n); } function ta(t, e) { if (!a(t.data.on) || !a(e.data.on)) { var n = e.data.on || {}, i = t.data.on || {}; Gi = e.elm, function(t) { if (o(t.__r)) { var e = Z ? "change" : "input"; t[e] = [].concat(t.__r, t[e] || []), delete t.__r; } o(t.__c) && (t.change = [].concat(t.__c, t.change || []), delete t.__c); }(n), le(n, i, Qi, Xi, Yi, e.context), Gi = void 0; } } var ea, na = { create: ta, update: ta }; function ia(t, e) { if (!a(t.data.domProps) || !a(e.data.domProps)) { var n, i, r = e.elm, s = t.data.domProps || {}, l = e.data.domProps || {}; for (n in o(l.__ob__) && (l = e.data.domProps = A({}, l)), s) n in l || (r[n] = ""); for (n in l) { if (i = l[n], "textContent" === n || "innerHTML" === n) { if (e.children && (e.children.length = 0), i === s[n]) continue; 1 === r.childNodes.length && r.removeChild(r.childNodes[0]); } if ("value" === n && "PROGRESS" !== r.tagName) { r._value = i; var c = a(i) ? "" : String(i); aa(r, c) && (r.value = c); } else if ("innerHTML" === n && Gn(r.tagName) && a(r.innerHTML)) { (ea = ea || document.createElement("div")).innerHTML = "<svg>" + i + "</svg>"; for (var d = ea.firstChild; r.firstChild; ) r.removeChild(r.firstChild); for (;d.firstChild; ) r.appendChild(d.firstChild); } else if (i !== s[n]) try { r[n] = i; } catch (t) {} } } } function aa(t, e) { return !t.composing && ("OPTION" === t.tagName || function(t, e) { var n = !0; try { n = document.activeElement !== t; } catch (t) {} return n && t.value !== e; }(t, e) || function(t, e) { var n = t.value, i = t._vModifiers; if (o(i)) { if (i.number) return g(n) !== g(e); if (i.trim) return n.trim() !== e.trim(); } return n !== e; }(t, e)); } var oa = { create: ia, update: ia }, ra = x((function(t) { var e = {}, n = /:(.+)/; return t.split(/;(?![^(]*\))/g).forEach((function(t) { if (t) { var i = t.split(n); i.length > 1 && (e[i[0].trim()] = i[1].trim()); } })), e; })); function sa(t) { var e = la(t.style); return t.staticStyle ? A(t.staticStyle, e) : e; } function la(t) { return Array.isArray(t) ? I(t) : "string" == typeof t ? ra(t) : t; } var ca, da = /^--/, ma = /\s*!important$/, ua = function(t, e, n) { if (da.test(e)) t.style.setProperty(e, n); else if (ma.test(n)) t.style.setProperty(T(e), n.replace(ma, ""), "important"); else { var i = ha(e); if (Array.isArray(n)) for (var a = 0, o = n.length; a < o; a++) t.style[i] = n[a]; else t.style[i] = n; } }, pa = [ "Webkit", "Moz", "ms" ], ha = x((function(t) { if (ca = ca || document.createElement("div").style, "filter" !== (t = S(t)) && t in ca) return t; for (var e = t.charAt(0).toUpperCase() + t.slice(1), n = 0; n < pa.length; n++) { var i = pa[n] + e; if (i in ca) return i; } })); function ga(t, e) { var n = e.data, i = t.data; if (!(a(n.staticStyle) && a(n.style) && a(i.staticStyle) && a(i.style))) { var r, s, l = e.elm, c = i.staticStyle, d = i.normalizedStyle || i.style || {}, m = c || d, u = la(e.data.style) || {}; e.data.normalizedStyle = o(u.__ob__) ? A({}, u) : u; var p = function(t, e) { var n, i = {}; if (e) for (var a = t; a.componentInstance; ) (a = a.componentInstance._vnode) && a.data && (n = sa(a.data)) && A(i, n); (n = sa(t.data)) && A(i, n); for (var o = t; o = o.parent; ) o.data && (n = sa(o.data)) && A(i, n); return i; }(e, !0); for (s in m) a(p[s]) && ua(l, s, ""); for (s in p) (r = p[s]) !== m[s] && ua(l, s, null == r ? "" : r); } } var fa = { create: ga, update: ga }, va = /\s+/; function ba(t, e) { if (e && (e = e.trim())) if (t.classList) e.indexOf(" ") > -1 ? e.split(va).forEach((function(e) { return t.classList.add(e); })) : t.classList.add(e); else { var n = " " + (t.getAttribute("class") || "") + " "; n.indexOf(" " + e + " ") < 0 && t.setAttribute("class", (n + e).trim()); } } function ya(t, e) { if (e && (e = e.trim())) if (t.classList) e.indexOf(" ") > -1 ? e.split(va).forEach((function(e) { return t.classList.remove(e); })) : t.classList.remove(e), t.classList.length || t.removeAttribute("class"); else { for (var n = " " + (t.getAttribute("class") || "") + " ", i = " " + e + " "; n.indexOf(i) >= 0; ) n = n.replace(i, " "); (n = n.trim()) ? t.setAttribute("class", n) : t.removeAttribute("class"); } } function wa(t) { if (t) { if ("object" == typeof t) { var e = {}; return !1 !== t.css && A(e, _a(t.name || "v")), A(e, t), e; } return "string" == typeof t ? _a(t) : void 0; } } var _a = x((function(t) { return { enterClass: t + "-enter", enterToClass: t + "-enter-to", enterActiveClass: t + "-enter-active", leaveClass: t + "-leave", leaveToClass: t + "-leave-to", leaveActiveClass: t + "-leave-active" }; })), xa = W && !Q, ka = "transition", Sa = "transitionend", $a = "animation", Ea = "animationend"; xa && (void 0 === window.ontransitionend && void 0 !== window.onwebkittransitionend && (ka = "WebkitTransition", Sa = "webkitTransitionEnd"), void 0 === window.onanimationend && void 0 !== window.onwebkitanimationend && ($a = "WebkitAnimation", Ea = "webkitAnimationEnd")); var Ta = W ? window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : setTimeout : function(t) { return t(); }; function Pa(t) { Ta((function() { Ta(t); })); } function Ca(t, e) { var n = t._transitionClasses || (t._transitionClasses = []); n.indexOf(e) < 0 && (n.push(e), ba(t, e)); } function Aa(t, e) { t._transitionClasses && y(t._transitionClasses, e), ya(t, e); } function Ia(t, e, n) { var i = Ua(t, e), a = i.type, o = i.timeout, r = i.propCount; if (!a) return n(); var s = "transition" === a ? Sa : Ea, l = 0, c = function() { t.removeEventListener(s, d), n(); }, d = function(e) { e.target === t && ++l >= r && c(); }; setTimeout((function() { l < r && c(); }), o + 1), t.addEventListener(s, d); } var Oa = /\b(transform|all)(,|$)/; function Ua(t, e) { var n, i = window.getComputedStyle(t), a = (i[ka + "Delay"] || "").split(", "), o = (i[ka + "Duration"] || "").split(", "), r = Ma(a, o), s = (i[$a + "Delay"] || "").split(", "), l = (i[$a + "Duration"] || "").split(", "), c = Ma(s, l), d = 0, m = 0; return "transition" === e ? r > 0 && (n = "transition", d = r, m = o.length) : "animation" === e ? c > 0 && (n = "animation", d = c, m = l.length) : m = (n = (d = Math.max(r, c)) > 0 ? r > c ? "transition" : "animation" : null) ? "transition" === n ? o.length : l.length : 0, { type: n, timeout: d, propCount: m, hasTransform: "transition" === n && Oa.test(i[ka + "Property"]) }; } function Ma(t, e) { for (;t.length < e.length; ) t = t.concat(t); return Math.max.apply(null, e.map((function(e, n) { return La(e) + La(t[n]); }))); } function La(t) { return 1e3 * Number(t.slice(0, -1).replace(",", ".")); } function Na(t, e) { var n = t.elm; o(n._leaveCb) && (n._leaveCb.cancelled = !0, n._leaveCb()); var i = wa(t.data.transition); if (!a(i) && !o(n._enterCb) && 1 === n.nodeType) { for (var r = i.css, s = i.type, c = i.enterClass, d = i.enterToClass, m = i.enterActiveClass, u = i.appearClass, p = i.appearToClass, h = i.appearActiveClass, f = i.beforeEnter, v = i.enter, b = i.afterEnter, y = i.enterCancelled, w = i.beforeAppear, _ = i.appear, x = i.afterAppear, k = i.appearCancelled, S = i.duration, $ = Ze, E = Ze.$vnode; E && E.parent; ) $ = E.context, E = E.parent; var T = !$._isMounted || !t.isRootInsert; if (!T || _ || "" === _) { var P = T && u ? u : c, C = T && h ? h : m, A = T && p ? p : d, I = T && w || f, O = T && "function" == typeof _ ? _ : v, U = T && x || b, M = T && k || y, L = g(l(S) ? S.enter : S); 0; var N = !1 !== r && !Q, j = Va(O), V = n._enterCb = R((function() { N && (Aa(n, A), Aa(n, C)), V.cancelled ? (N && Aa(n, P), M && M(n)) : U && U(n), n._enterCb = null; })); t.data.show || ce(t, "insert", (function() { var e = n.parentNode, i = e && e._pending && e._pending[t.key]; i && i.tag === t.tag && i.elm._leaveCb && i.elm._leaveCb(), O && O(n, V); })), I && I(n), N && (Ca(n, P), Ca(n, C), Pa((function() { Aa(n, P), V.cancelled || (Ca(n, A), j || (ja(L) ? setTimeout(V, L) : Ia(n, s, V))); }))), t.data.show && (e && e(), O && O(n, V)), N || j || V(); } } } function Ra(t, e) { var n = t.elm; o(n._enterCb) && (n._enterCb.cancelled = !0, n._enterCb()); var i = wa(t.data.transition); if (a(i) || 1 !== n.nodeType) return e(); if (!o(n._leaveCb)) { var r = i.css, s = i.type, c = i.leaveClass, d = i.leaveToClass, m = i.leaveActiveClass, u = i.beforeLeave, p = i.leave, h = i.afterLeave, f = i.leaveCancelled, v = i.delayLeave, b = i.duration, y = !1 !== r && !Q, w = Va(p), _ = g(l(b) ? b.leave : b); 0; var x = n._leaveCb = R((function() { n.parentNode && n.parentNode._pending && (n.parentNode._pending[t.key] = null), y && (Aa(n, d), Aa(n, m)), x.cancelled ? (y && Aa(n, c), f && f(n)) : (e(), h && h(n)), n._leaveCb = null; })); v ? v(k) : k(); } function k() { x.cancelled || (!t.data.show && n.parentNode && ((n.parentNode._pending || (n.parentNode._pending = {}))[t.key] = t), u && u(n), y && (Ca(n, c), Ca(n, m), Pa((function() { Aa(n, c), x.cancelled || (Ca(n, d), w || (ja(_) ? setTimeout(x, _) : Ia(n, s, x))); }))), p && p(n, x), y || w || x()); } } function ja(t) { return "number" == typeof t && !isNaN(t); } function Va(t) { if (a(t)) return !1; var e = t.fns; return o(e) ? Va(Array.isArray(e) ? e[0] : e) : (t._length || t.length) > 1; } function Da(t, e) { !0 !== e.data.show && Na(e); } var za = function(t) { var e, n, i = {}, l = t.modules, c = t.nodeOps; for (e = 0; e < oi.length; ++e) for (i[oi[e]] = [], n = 0; n < l.length; ++n) o(l[n][oi[e]]) && i[oi[e]].push(l[n][oi[e]]); function d(t) { var e = c.parentNode(t); o(e) && c.removeChild(e, t); } function m(t, e, n, a, s, l, d) { if (o(t.elm) && o(l) && (t = l[d] = wt(t)), t.isRootInsert = !s, !function(t, e, n, a) { var s = t.data; if (o(s)) { var l = o(t.componentInstance) && s.keepAlive; if (o(s = s.hook) && o(s = s.init) && s(t, !1), o(t.componentInstance)) return u(t, e), p(n, t.elm, a), r(l) && function(t, e, n, a) { var r, s = t; for (;s.componentInstance; ) if (s = s.componentInstance._vnode, o(r = s.data) && o(r = r.transition)) { for (r = 0; r < i.activate.length; ++r) i.activate[r](ai, s); e.push(s); break; } p(n, t.elm, a); }(t, e, n, a), !0; } }(t, e, n, a)) { var m = t.data, g = t.children, f = t.tag; o(f) ? (t.elm = t.ns ? c.createElementNS(t.ns, f) : c.createElement(f, t), b(t), h(t, g, e), o(m) && v(t, e), p(n, t.elm, a)) : r(t.isComment) ? (t.elm = c.createComment(t.text), p(n, t.elm, a)) : (t.elm = c.createTextNode(t.text), p(n, t.elm, a)); } } function u(t, e) { o(t.data.pendingInsert) && (e.push.apply(e, t.data.pendingInsert), t.data.pendingInsert = null), t.elm = t.componentInstance.$el, g(t) ? (v(t, e), b(t)) : (ii(t), e.push(t)); } function p(t, e, n) { o(t) && (o(n) ? c.parentNode(n) === t && c.insertBefore(t, e, n) : c.appendChild(t, e)); } function h(t, e, n) { if (Array.isArray(e)) { 0; for (var i = 0; i < e.length; ++i) m(e[i], n, t.elm, null, !0, e, i); } else s(t.text) && c.appendChild(t.elm, c.createTextNode(String(t.text))); } function g(t) { for (;t.componentInstance; ) t = t.componentInstance._vnode; return o(t.tag); } function v(t, n) { for (var a = 0; a < i.create.length; ++a) i.create[a](ai, t); o(e = t.data.hook) && (o(e.create) && e.create(ai, t), o(e.insert) && n.push(t)); } function b(t) { var e; if (o(e = t.fnScopeId)) c.setStyleScope(t.elm, e); else for (var n = t; n; ) o(e = n.context) && o(e = e.$options._scopeId) && c.setStyleScope(t.elm, e), n = n.parent; o(e = Ze) && e !== t.context && e !== t.fnContext && o(e = e.$options._scopeId) && c.setStyleScope(t.elm, e); } function y(t, e, n, i, a, o) { for (;i <= a; ++i) m(n[i], o, t, e, !1, n, i); } function w(t) { var e, n, a = t.data; if (o(a)) for (o(e = a.hook) && o(e = e.destroy) && e(t), e = 0; e < i.destroy.length; ++e) i.destroy[e](t); if (o(e = t.children)) for (n = 0; n < t.children.length; ++n) w(t.children[n]); } function _(t, e, n) { for (;e <= n; ++e) { var i = t[e]; o(i) && (o(i.tag) ? (x(i), w(i)) : d(i.elm)); } } function x(t, e) { if (o(e) || o(t.data)) { var n, a = i.remove.length + 1; for (o(e) ? e.listeners += a : e = function(t, e) { function n() { 0 == --n.listeners && d(t); } return n.listeners = e, n; }(t.elm, a), o(n = t.componentInstance) && o(n = n._vnode) && o(n.data) && x(n, e), n = 0; n < i.remove.length; ++n) i.remove[n](t, e); o(n = t.data.hook) && o(n = n.remove) ? n(t, e) : e(); } else d(t.elm); } function k(t, e, n, i) { for (var a = n; a < i; a++) { var r = e[a]; if (o(r) && ri(t, r)) return a; } } function S(t, e, n, s, l, d) { if (t !== e) { o(e.elm) && o(s) && (e = s[l] = wt(e)); var u = e.elm = t.elm; if (r(t.isAsyncPlaceholder)) o(e.asyncFactory.resolved) ? T(t.elm, e, n) : e.isAsyncPlaceholder = !0; else if (r(e.isStatic) && r(t.isStatic) && e.key === t.key && (r(e.isCloned) || r(e.isOnce))) e.componentInstance = t.componentInstance; else { var p, h = e.data; o(h) && o(p = h.hook) && o(p = p.prepatch) && p(t, e); var f = t.children, v = e.children; if (o(h) && g(e)) { for (p = 0; p < i.update.length; ++p) i.update[p](t, e); o(p = h.hook) && o(p = p.update) && p(t, e); } a(e.text) ? o(f) && o(v) ? f !== v && function(t, e, n, i, r) { var s, l, d, u = 0, p = 0, h = e.length - 1, g = e[0], f = e[h], v = n.length - 1, b = n[0], w = n[v], x = !r; for (0; u <= h && p <= v; ) a(g) ? g = e[++u] : a(f) ? f = e[--h] : ri(g, b) ? (S(g, b, i, n, p), g = e[++u], b = n[++p]) : ri(f, w) ? (S(f, w, i, n, v), f = e[--h], w = n[--v]) : ri(g, w) ? (S(g, w, i, n, v), x && c.insertBefore(t, g.elm, c.nextSibling(f.elm)), g = e[++u], w = n[--v]) : ri(f, b) ? (S(f, b, i, n, p), x && c.insertBefore(t, f.elm, g.elm), f = e[--h], b = n[++p]) : (a(s) && (s = si(e, u, h)), a(l = o(b.key) ? s[b.key] : k(b, e, u, h)) ? m(b, i, t, g.elm, !1, n, p) : ri(d = e[l], b) ? (S(d, b, i, n, p), e[l] = void 0, x && c.insertBefore(t, d.elm, g.elm)) : m(b, i, t, g.elm, !1, n, p), b = n[++p]); u > h ? y(t, a(n[v + 1]) ? null : n[v + 1].elm, n, p, v, i) : p > v && _(e, u, h); }(u, f, v, n, d) : o(v) ? (o(t.text) && c.setTextContent(u, ""), y(u, null, v, 0, v.length - 1, n)) : o(f) ? _(f, 0, f.length - 1) : o(t.text) && c.setTextContent(u, "") : t.text !== e.text && c.setTextContent(u, e.text), o(h) && o(p = h.hook) && o(p = p.postpatch) && p(t, e); } } } function $(t, e, n) { if (r(n) && o(t.parent)) t.parent.data.pendingInsert = e; else for (var i = 0; i < e.length; ++i) e[i].data.hook.insert(e[i]); } var E = f("attrs,class,staticClass,staticStyle,key"); function T(t, e, n, i) { var a, s = e.tag, l = e.data, c = e.children; if (i = i || l && l.pre, e.elm = t, r(e.isComment) && o(e.asyncFactory)) return e.isAsyncPlaceholder = !0, !0; if (o(l) && (o(a = l.hook) && o(a = a.init) && a(e, !0), o(a = e.componentInstance))) return u(e, n), !0; if (o(s)) { if (o(c)) if (t.hasChildNodes()) if (o(a = l) && o(a = a.domProps) && o(a = a.innerHTML)) { if (a !== t.innerHTML) return !1; } else { for (var d = !0, m = t.firstChild, p = 0; p < c.length; p++) { if (!m || !T(m, c[p], n, i)) { d = !1; break; } m = m.nextSibling; } if (!d || m) return !1; } else h(e, c, n); if (o(l)) { var g = !1; for (var f in l) if (!E(f)) { g = !0, v(e, n); break; } !g && l.class && oe(l.class); } } else t.data !== e.text && (t.data = e.text); return !0; } return function(t, e, n, s) { if (!a(e)) { var l, d = !1, u = []; if (a(t)) d = !0, m(e, u); else { var p = o(t.nodeType); if (!p && ri(t, e)) S(t, e, u, null, null, s); else { if (p) { if (1 === t.nodeType && t.hasAttribute("data-server-rendered") && (t.removeAttribute("data-server-rendered"), n = !0), r(n) && T(t, e, u)) return $(e, u, !0), t; l = t, t = new ft(c.tagName(l).toLowerCase(), {}, [], void 0, l); } var h = t.elm, f = c.parentNode(h); if (m(e, u, h._leaveCb ? null : f, c.nextSibling(h)), o(e.parent)) for (var v = e.parent, b = g(e); v; ) { for (var y = 0; y < i.destroy.length; ++y) i.destroy[y](v); if (v.elm = e.elm, b) { for (var x = 0; x < i.create.length; ++x) i.create[x](ai, v); var k = v.data.hook.insert; if (k.merged) for (var E = 1; E < k.fns.length; E++) k.fns[E](); } else ii(v); v = v.parent; } o(f) ? _([ t ], 0, 0) : o(t.tag) && w(t); } } return $(e, u, d), e.elm; } o(t) && w(t); }; }({ nodeOps: ei, modules: [ bi, Ei, na, oa, fa, W ? { create: Da, activate: Da, remove: function(t, e) { !0 !== t.data.show ? Ra(t, e) : e(); } } : {} ].concat(hi) }); Q && document.addEventListener("selectionchange", (function() { var t = document.activeElement; t && t.vmodel && Ga(t, "input"); })); var Fa = { inserted: function(t, e, n, i) { "select" === n.tag ? (i.elm && !i.elm._vOptions ? ce(n, "postpatch", (function() { Fa.componentUpdated(t, e, n); })) : Ha(t, e, n.context), t._vOptions = [].map.call(t.options, qa)) : ("textarea" === n.tag || Xn(t.type)) && (t._vModifiers = e.modifiers, e.modifiers.lazy || (t.addEventListener("compositionstart", Wa), t.addEventListener("compositionend", Ja), t.addEventListener("change", Ja), Q && (t.vmodel = !0))); }, componentUpdated: function(t, e, n) { if ("select" === n.tag) { Ha(t, e, n.context); var i = t._vOptions, a = t._vOptions = [].map.call(t.options, qa); if (a.some((function(t, e) { return !L(t, i[e]); }))) (t.multiple ? e.value.some((function(t) { return Ka(t, a); })) : e.value !== e.oldValue && Ka(e.value, a)) && Ga(t, "change"); } } }; function Ha(t, e, n) { Ba(t, e, n), (Z || X) && setTimeout((function() { Ba(t, e, n); }), 0); } function Ba(t, e, n) { var i = e.value, a = t.multiple; if (!a || Array.isArray(i)) { for (var o, r, s = 0, l = t.options.length; s < l; s++) if (r = t.options[s], a) o = N(i, qa(r)) > -1, r.selected !== o && (r.selected = o); else if (L(qa(r), i)) return void (t.selectedIndex !== s && (t.selectedIndex = s)); a || (t.selectedIndex = -1); } } function Ka(t, e) { return e.every((function(e) { return !L(e, t); })); } function qa(t) { return "_value" in t ? t._value : t.value; } function Wa(t) { t.target.composing = !0; } function Ja(t) { t.target.composing && (t.target.composing = !1, Ga(t.target, "input")); } function Ga(t, e) { var n = document.createEvent("HTMLEvents"); n.initEvent(e, !0, !0), t.dispatchEvent(n); } function Ya(t) { return !t.componentInstance || t.data && t.data.transition ? t : Ya(t.componentInstance._vnode); } var Za = { model: Fa, show: { bind: function(t, e, n) { var i = e.value, a = (n = Ya(n)).data && n.data.transition, o = t.__vOriginalDisplay = "none" === t.style.display ? "" : t.style.display; i && a ? (n.data.show = !0, Na(n, (function() { t.style.display = o; }))) : t.style.display = i ? o : "none"; }, update: function(t, e, n) { var i = e.value; !i != !e.oldValue && ((n = Ya(n)).data && n.data.transition ? (n.data.show = !0, i ? Na(n, (function() { t.style.display = t.__vOriginalDisplay; })) : Ra(n, (function() { t.style.display = "none"; }))) : t.style.display = i ? t.__vOriginalDisplay : "none"); }, unbind: function(t, e, n, i, a) { a || (t.style.display = t.__vOriginalDisplay); } } }, Qa = { name: String, appear: Boolean, css: Boolean, mode: String, type: String, enterClass: String, leaveClass: String, enterToClass: String, leaveToClass: String, enterActiveClass: String, leaveActiveClass: String, appearClass: String, appearActiveClass: String, appearToClass: String, duration: [ Number, String, Object ] }; function Xa(t) { var e = t && t.componentOptions; return e && e.Ctor.options.abstract ? Xa(qe(e.children)) : t; } function to(t) { var e = {}, n = t.$options; for (var i in n.propsData) e[i] = t[i]; var a = n._parentListeners; for (var o in a) e[S(o)] = a[o]; return e; } function eo(t, e) { if (/\d-keep-alive$/.test(e.tag)) return t("keep-alive", { props: e.componentOptions.propsData }); } var no = function(t) { return t.tag || Ke(t); }, io = function(t) { return "show" === t.name; }, ao = { name: "transition", props: Qa, abstract: !0, render: function(t) { var e = this, n = this.$slots.default; if (n && (n = n.filter(no)).length) { 0; var i = this.mode; 0; var a = n[0]; if (function(t) { for (;t = t.parent; ) if (t.data.transition) return !0; }(this.$vnode)) return a; var o = Xa(a); if (!o) return a; if (this._leaving) return eo(t, a); var r = "__transition-" + this._uid + "-"; o.key = null == o.key ? o.isComment ? r + "comment" : r + o.tag : s(o.key) ? 0 === String(o.key).indexOf(r) ? o.key : r + o.key : o.key; var l = (o.data || (o.data = {})).transition = to(this), c = this._vnode, d = Xa(c); if (o.data.directives && o.data.directives.some(io) && (o.data.show = !0), d && d.data && !function(t, e) { return e.key === t.key && e.tag === t.tag; }(o, d) && !Ke(d) && (!d.componentInstance || !d.componentInstance._vnode.isComment)) { var m = d.data.transition = A({}, l); if ("out-in" === i) return this._leaving = !0, ce(m, "afterLeave", (function() { e._leaving = !1, e.$forceUpdate(); })), eo(t, a); if ("in-out" === i) { if (Ke(o)) return c; var u, p = function() { u(); }; ce(l, "afterEnter", p), ce(l, "enterCancelled", p), ce(m, "delayLeave", (function(t) { u = t; })); } } return a; } } }, oo = A({ tag: String, moveClass: String }, Qa); function ro(t) { t.elm._moveCb && t.elm._moveCb(), t.elm._enterCb && t.elm._enterCb(); } function so(t) { t.data.newPos = t.elm.getBoundingClientRect(); } function lo(t) { var e = t.data.pos, n = t.data.newPos, i = e.left - n.left, a = e.top - n.top; if (i || a) { t.data.moved = !0; var o = t.elm.style; o.transform = o.WebkitTransform = "translate(" + i + "px," + a + "px)", o.transitionDuration = "0s"; } } delete oo.mode; var co = { Transition: ao, TransitionGroup: { props: oo, beforeMount: function() { var t = this, e = this._update; this._update = function(n, i) { var a = Qe(t); t.__patch__(t._vnode, t.kept, !1, !0), t._vnode = t.kept, a(), e.call(t, n, i); }; }, render: function(t) { for (var e = this.tag || this.$vnode.data.tag || "span", n = Object.create(null), i = this.prevChildren = this.children, a = this.$slots.default || [], o = this.children = [], r = to(this), s = 0; s < a.length; s++) { var l = a[s]; if (l.tag) if (null != l.key && 0 !== String(l.key).indexOf("__vlist")) o.push(l), n[l.key] = l, (l.data || (l.data = {})).transition = r; else ; } if (i) { for (var c = [], d = [], m = 0; m < i.length; m++) { var u = i[m]; u.data.transition = r, u.data.pos = u.elm.getBoundingClientRect(), n[u.key] ? c.push(u) : d.push(u); } this.kept = t(e, null, c), this.removed = d; } return t(e, null, o); }, updated: function() { var t = this.prevChildren, e = this.moveClass || (this.name || "v") + "-move"; t.length && this.hasMove(t[0].elm, e) && (t.forEach(ro), t.forEach(so), t.forEach(lo), this._reflow = document.body.offsetHeight, t.forEach((function(t) { if (t.data.moved) { var n = t.elm, i = n.style; Ca(n, e), i.transform = i.WebkitTransform = i.transitionDuration = "", n.addEventListener(Sa, n._moveCb = function t(i) { i && i.target !== n || i && !/transform$/.test(i.propertyName) || (n.removeEventListener(Sa, t), n._moveCb = null, Aa(n, e)); }); } }))); }, methods: { hasMove: function(t, e) { if (!xa) return !1; if (this._hasMove) return this._hasMove; var n = t.cloneNode(); t._transitionClasses && t._transitionClasses.forEach((function(t) { ya(n, t); })), ba(n, e), n.style.display = "none", this.$el.appendChild(n); var i = Ua(n); return this.$el.removeChild(n), this._hasMove = i.hasTransform; } } } }; $n.config.mustUseProp = Ln, $n.config.isReservedTag = Yn, $n.config.isReservedAttr = Un, $n.config.getTagNamespace = Zn, $n.config.isUnknownElement = function(t) { if (!W) return !0; if (Yn(t)) return !1; if (t = t.toLowerCase(), null != Qn[t]) return Qn[t]; var e = document.createElement(t); return t.indexOf("-") > -1 ? Qn[t] = e.constructor === window.HTMLUnknownElement || e.constructor === window.HTMLElement : Qn[t] = /HTMLUnknownElement/.test(e.toString()); }, A($n.options.directives, Za), A($n.options.components, co), $n.prototype.__patch__ = W ? za : O, $n.prototype.$mount = function(t, e) { return function(t, e, n) { var i; return t.$el = e, t.$options.render || (t.$options.render = bt), en(t, "beforeMount"), i = function() { t._update(t._render(), n); }, new hn(t, i, O, { before: function() { t._isMounted && !t._isDestroyed && en(t, "beforeUpdate"); } }, !0), n = !1, null == t.$vnode && (t._isMounted = !0, en(t, "mounted")), t; }(this, t = t && W ? ti(t) : void 0, e); }, W && setTimeout((function() { D.devtools && rt && rt.emit("init", $n); }), 0); var mo = /\{\{((?:.|\r?\n)+?)\}\}/g, uo = /[-.*+?^${}()|[\]\/\\]/g, po = x((function(t) { var e = t[0].replace(uo, "\\$&"), n = t[1].replace(uo, "\\$&"); return new RegExp(e + "((?:.|\\n)+?)" + n, "g"); })); var ho = { staticKeys: [ "staticClass" ], transformNode: function(t, e) { e.warn; var n = Vi(t, "class"); n && (t.staticClass = JSON.stringify(n)); var i = ji(t, "class", !1); i && (t.classBinding = i); }, genData: function(t) { var e = ""; return t.staticClass && (e += "staticClass:" + t.staticClass + ","), t.classBinding && (e += "class:" + t.classBinding + ","), e; } }; var go, fo = { staticKeys: [ "staticStyle" ], transformNode: function(t, e) { e.warn; var n = Vi(t, "style"); n && (t.staticStyle = JSON.stringify(ra(n))); var i = ji(t, "style", !1); i && (t.styleBinding = i); }, genData: function(t) { var e = ""; return t.staticStyle && (e += "staticStyle:" + t.staticStyle + ","), t.styleBinding && (e += "style:(" + t.styleBinding + "),"), e; } }, vo = function(t) { return (go = go || document.createElement("div")).innerHTML = t, go.textContent; }, bo = f("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"), yo = f("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"), wo = f("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"), _o = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/, xo = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/, ko = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + z.source + "]*", So = "((?:" + ko + "\\:)?" + ko + ")", $o = new RegExp("^<" + So), Eo = /^\s*(\/?)>/, To = new RegExp("^<\\/" + So + "[^>]*>"), Po = /^<!DOCTYPE [^>]+>/i, Co = /^<!\--/, Ao = /^<!\[/, Io = f("script,style,textarea", !0), Oo = {}, Uo = { "<": "<", ">": ">", """: '"', "&": "&", " ": "\n", "	": "\t", "'": "'" }, Mo = /&(?:lt|gt|quot|amp|#39);/g, Lo = /&(?:lt|gt|quot|amp|#39|#10|#9);/g, No = f("pre,textarea", !0), Ro = function(t, e) { return t && No(t) && "\n" === e[0]; }; function jo(t, e) { var n = e ? Lo : Mo; return t.replace(n, (function(t) { return Uo[t]; })); } var Vo, Do, zo, Fo, Ho, Bo, Ko, qo, Wo = /^@|^v-on:/, Jo = /^v-|^@|^:|^#/, Go = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/, Yo = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/, Zo = /^\(|\)$/g, Qo = /^\[.*\]$/, Xo = /:(.*)$/, tr = /^:|^\.|^v-bind:/, er = /\.[^.\]]+(?=[^\]]*$)/g, nr = /^v-slot(:|$)|^#/, ir = /[\r\n]/, ar = /\s+/g, or = x(vo); function rr(t, e, n) { return { type: 1, tag: t, attrsList: e, attrsMap: pr(e), rawAttrsMap: {}, parent: n, children: [] }; } function sr(t, e) { Vo = e.warn || Ai, Bo = e.isPreTag || U, Ko = e.mustUseProp || U, qo = e.getTagNamespace || U; var n = e.isReservedTag || U; (function(t) { return !!t.component || !n(t.tag); }), zo = Ii(e.modules, "transformNode"), Fo = Ii(e.modules, "preTransformNode"), Ho = Ii(e.modules, "postTransformNode"), Do = e.delimiters; var i, a, o = [], r = !1 !== e.preserveWhitespace, s = e.whitespace, l = !1, c = !1; function d(t) { if (m(t), l || t.processed || (t = lr(t, e)), o.length || t === i || i.if && (t.elseif || t.else) && dr(i, { exp: t.elseif, block: t }), a && !t.forbidden) if (t.elseif || t.else) r = t, (s = function(t) { for (var e = t.length; e--; ) { if (1 === t[e].type) return t[e]; t.pop(); } }(a.children)) && s.if && dr(s, { exp: r.elseif, block: r }); else { if (t.slotScope) { var n = t.slotTarget || '"default"'; (a.scopedSlots || (a.scopedSlots = {}))[n] = t; } a.children.push(t), t.parent = a; } var r, s; t.children = t.children.filter((function(t) { return !t.slotScope; })), m(t), t.pre && (l = !1), Bo(t.tag) && (c = !1); for (var d = 0; d < Ho.length; d++) Ho[d](t, e); } function m(t) { if (!c) for (var e; (e = t.children[t.children.length - 1]) && 3 === e.type && " " === e.text; ) t.children.pop(); } return function(t, e) { for (var n, i, a = [], o = e.expectHTML, r = e.isUnaryTag || U, s = e.canBeLeftOpenTag || U, l = 0; t; ) { if (n = t, i && Io(i)) { var c = 0, d = i.toLowerCase(), m = Oo[d] || (Oo[d] = new RegExp("([\\s\\S]*?)(</" + d + "[^>]*>)", "i")), u = t.replace(m, (function(t, n, i) { return c = i.length, Io(d) || "noscript" === d || (n = n.replace(/<!\--([\s\S]*?)-->/g, "$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g, "$1")), Ro(d, n) && (n = n.slice(1)), e.chars && e.chars(n), ""; })); l += t.length - u.length, t = u, E(d, l - c, l); } else { var p = t.indexOf("<"); if (0 === p) { if (Co.test(t)) { var h = t.indexOf("--\x3e"); if (h >= 0) { e.shouldKeepComment && e.comment(t.substring(4, h), l, l + h + 3), k(h + 3); continue; } } if (Ao.test(t)) { var g = t.indexOf("]>"); if (g >= 0) { k(g + 2); continue; } } var f = t.match(Po); if (f) { k(f[0].length); continue; } var v = t.match(To); if (v) { var b = l; k(v[0].length), E(v[1], b, l); continue; } var y = S(); if (y) { $(y), Ro(y.tagName, t) && k(1); continue; } } var w = void 0, _ = void 0, x = void 0; if (p >= 0) { for (_ = t.slice(p); !(To.test(_) || $o.test(_) || Co.test(_) || Ao.test(_) || (x = _.indexOf("<", 1)) < 0); ) p += x, _ = t.slice(p); w = t.substring(0, p); } p < 0 && (w = t), w && k(w.length), e.chars && w && e.chars(w, l - w.length, l); } if (t === n) { e.chars && e.chars(t); break; } } function k(e) { l += e, t = t.substring(e); } function S() { var e = t.match($o); if (e) { var n, i, a = { tagName: e[1], attrs: [], start: l }; for (k(e[0].length); !(n = t.match(Eo)) && (i = t.match(xo) || t.match(_o)); ) i.start = l, k(i[0].length), i.end = l, a.attrs.push(i); if (n) return a.unarySlash = n[1], k(n[0].length), a.end = l, a; } } function $(t) { var n = t.tagName, l = t.unarySlash; o && ("p" === i && wo(n) && E(i), s(n) && i === n && E(n)); for (var c = r(n) || !!l, d = t.attrs.length, m = new Array(d), u = 0; u < d; u++) { var p = t.attrs[u], h = p[3] || p[4] || p[5] || "", g = "a" === n && "href" === p[1] ? e.shouldDecodeNewlinesForHref : e.shouldDecodeNewlines; m[u] = { name: p[1], value: jo(h, g) }; } c || (a.push({ tag: n, lowerCasedTag: n.toLowerCase(), attrs: m, start: t.start, end: t.end }), i = n), e.start && e.start(n, m, c, t.start, t.end); } function E(t, n, o) { var r, s; if (null == n && (n = l), null == o && (o = l), t) for (s = t.toLowerCase(), r = a.length - 1; r >= 0 && a[r].lowerCasedTag !== s; r--) ; else r = 0; if (r >= 0) { for (var c = a.length - 1; c >= r; c--) e.end && e.end(a[c].tag, n, o); a.length = r, i = r && a[r - 1].tag; } else "br" === s ? e.start && e.start(t, [], !0, n, o) : "p" === s && (e.start && e.start(t, [], !1, n, o), e.end && e.end(t, n, o)); } E(); }(t, { warn: Vo, expectHTML: e.expectHTML, isUnaryTag: e.isUnaryTag, canBeLeftOpenTag: e.canBeLeftOpenTag, shouldDecodeNewlines: e.shouldDecodeNewlines, shouldDecodeNewlinesForHref: e.shouldDecodeNewlinesForHref, shouldKeepComment: e.comments, outputSourceRange: e.outputSourceRange, start: function(t, n, r, s, m) { var u = a && a.ns || qo(t); Z && "svg" === u && (n = function(t) { for (var e = [], n = 0; n < t.length; n++) { var i = t[n]; hr.test(i.name) || (i.name = i.name.replace(gr, ""), e.push(i)); } return e; }(n)); var p, h = rr(t, n, a); u && (h.ns = u), "style" !== (p = h).tag && ("script" !== p.tag || p.attrsMap.type && "text/javascript" !== p.attrsMap.type) || ot() || (h.forbidden = !0); for (var g = 0; g < Fo.length; g++) h = Fo[g](h, e) || h; l || (!function(t) { null != Vi(t, "v-pre") && (t.pre = !0); }(h), h.pre && (l = !0)), Bo(h.tag) && (c = !0), l ? function(t) { var e = t.attrsList, n = e.length; if (n) for (var i = t.attrs = new Array(n), a = 0; a < n; a++) i[a] = { name: e[a].name, value: JSON.stringify(e[a].value) }, null != e[a].start && (i[a].start = e[a].start, i[a].end = e[a].end); else t.pre || (t.plain = !0); }(h) : h.processed || (cr(h), function(t) { var e = Vi(t, "v-if"); if (e) t.if = e, dr(t, { exp: e, block: t }); else { null != Vi(t, "v-else") && (t.else = !0); var n = Vi(t, "v-else-if"); n && (t.elseif = n); } }(h), function(t) { null != Vi(t, "v-once") && (t.once = !0); }(h)), i || (i = h), r ? d(h) : (a = h, o.push(h)); }, end: function(t, e, n) { var i = o[o.length - 1]; o.length -= 1, a = o[o.length - 1], d(i); }, chars: function(t, e, n) { if (a && (!Z || "textarea" !== a.tag || a.attrsMap.placeholder !== t)) { var i, o, d, m = a.children; if (t = c || t.trim() ? "script" === (i = a).tag || "style" === i.tag ? t : or(t) : m.length ? s ? "condense" === s && ir.test(t) ? "" : " " : r ? " " : "" : "") c || "condense" !== s || (t = t.replace(ar, " ")), !l && " " !== t && (o = function(t, e) { var n = e ? po(e) : mo; if (n.test(t)) { for (var i, a, o, r = [], s = [], l = n.lastIndex = 0; i = n.exec(t); ) { (a = i.index) > l && (s.push(o = t.slice(l, a)), r.push(JSON.stringify(o))); var c = Pi(i[1].trim()); r.push("_s(" + c + ")"), s.push({ "@binding": c }), l = a + i[0].length; } return l < t.length && (s.push(o = t.slice(l)), r.push(JSON.stringify(o))), { expression: r.join("+"), tokens: s }; } }(t, Do)) ? d = { type: 2, expression: o.expression, tokens: o.tokens, text: t } : " " === t && m.length && " " === m[m.length - 1].text || (d = { type: 3, text: t }), d && m.push(d); } }, comment: function(t, e, n) { if (a) { var i = { type: 3, text: t, isComment: !0 }; 0, a.children.push(i); } } }), i; } function lr(t, e) { var n; !function(t) { var e = ji(t, "key"); if (e) { t.key = e; } }(t), t.plain = !t.key && !t.scopedSlots && !t.attrsList.length, function(t) { var e = ji(t, "ref"); e && (t.ref = e, t.refInFor = function(t) { var e = t; for (;e; ) { if (void 0 !== e.for) return !0; e = e.parent; } return !1; }(t)); }(t), function(t) { var e; "template" === t.tag ? (e = Vi(t, "scope"), t.slotScope = e || Vi(t, "slot-scope")) : (e = Vi(t, "slot-scope")) && (t.slotScope = e); var n = ji(t, "slot"); n && (t.slotTarget = '""' === n ? '"default"' : n, t.slotTargetDynamic = !(!t.attrsMap[":slot"] && !t.attrsMap["v-bind:slot"]), "template" === t.tag || t.slotScope || Ui(t, "slot", n, function(t, e) { return t.rawAttrsMap[":" + e] || t.rawAttrsMap["v-bind:" + e] || t.rawAttrsMap[e]; }(t, "slot"))); if ("template" === t.tag) { var i = Di(t, nr); if (i) { 0; var a = mr(i), o = a.name, r = a.dynamic; t.slotTarget = o, t.slotTargetDynamic = r, t.slotScope = i.value || "_empty_"; } } else { var s = Di(t, nr); if (s) { 0; var l = t.scopedSlots || (t.scopedSlots = {}), c = mr(s), d = c.name, m = c.dynamic, u = l[d] = rr("template", [], t); u.slotTarget = d, u.slotTargetDynamic = m, u.children = t.children.filter((function(t) { if (!t.slotScope) return t.parent = u, !0; })), u.slotScope = s.value || "_empty_", t.children = [], t.plain = !1; } } }(t), "slot" === (n = t).tag && (n.slotName = ji(n, "name")), function(t) { var e; (e = ji(t, "is")) && (t.component = e); null != Vi(t, "inline-template") && (t.inlineTemplate = !0); }(t); for (var i = 0; i < zo.length; i++) t = zo[i](t, e) || t; return function(t) { var e, n, i, a, o, r, s, l, c = t.attrsList; for (e = 0, n = c.length; e < n; e++) { if (i = a = c[e].name, o = c[e].value, Jo.test(i)) if (t.hasBindings = !0, (r = ur(i.replace(Jo, ""))) && (i = i.replace(er, "")), tr.test(i)) i = i.replace(tr, ""), o = Pi(o), (l = Qo.test(i)) && (i = i.slice(1, -1)), r && (r.prop && !l && "innerHtml" === (i = S(i)) && (i = "innerHTML"), r.camel && !l && (i = S(i)), r.sync && (s = Hi(o, "$event"), l ? Ri(t, '"update:"+(' + i + ")", s, null, !1, 0, c[e], !0) : (Ri(t, "update:" + S(i), s, null, !1, 0, c[e]), T(i) !== S(i) && Ri(t, "update:" + T(i), s, null, !1, 0, c[e])))), r && r.prop || !t.component && Ko(t.tag, t.attrsMap.type, i) ? Oi(t, i, o, c[e], l) : Ui(t, i, o, c[e], l); else if (Wo.test(i)) i = i.replace(Wo, ""), (l = Qo.test(i)) && (i = i.slice(1, -1)), Ri(t, i, o, r, !1, 0, c[e], l); else { var d = (i = i.replace(Jo, "")).match(Xo), m = d && d[1]; l = !1, m && (i = i.slice(0, -(m.length + 1)), Qo.test(m) && (m = m.slice(1, -1), l = !0)), Li(t, i, a, o, m, l, r, c[e]); } else Ui(t, i, JSON.stringify(o), c[e]), !t.component && "muted" === i && Ko(t.tag, t.attrsMap.type, i) && Oi(t, i, "true", c[e]); } }(t), t; } function cr(t) { var e; if (e = Vi(t, "v-for")) { var n = function(t) { var e = t.match(Go); if (!e) return; var n = {}; n.for = e[2].trim(); var i = e[1].trim().replace(Zo, ""), a = i.match(Yo); a ? (n.alias = i.replace(Yo, "").trim(), n.iterator1 = a[1].trim(), a[2] && (n.iterator2 = a[2].trim())) : n.alias = i; return n; }(e); n && A(t, n); } } function dr(t, e) { t.ifConditions || (t.ifConditions = []), t.ifConditions.push(e); } function mr(t) { var e = t.name.replace(nr, ""); return e || "#" !== t.name[0] && (e = "default"), Qo.test(e) ? { name: e.slice(1, -1), dynamic: !0 } : { name: '"' + e + '"', dynamic: !1 }; } function ur(t) { var e = t.match(er); if (e) { var n = {}; return e.forEach((function(t) { n[t.slice(1)] = !0; })), n; } } function pr(t) { for (var e = {}, n = 0, i = t.length; n < i; n++) e[t[n].name] = t[n].value; return e; } var hr = /^xmlns:NS\d+/, gr = /^NS\d+:/; function fr(t) { return rr(t.tag, t.attrsList.slice(), t.parent); } var vr = [ ho, fo, { preTransformNode: function(t, e) { if ("input" === t.tag) { var n, i = t.attrsMap; if (!i["v-model"]) return; if ((i[":type"] || i["v-bind:type"]) && (n = ji(t, "type")), i.type || n || !i["v-bind"] || (n = "(" + i["v-bind"] + ").type"), n) { var a = Vi(t, "v-if", !0), o = a ? "&&(" + a + ")" : "", r = null != Vi(t, "v-else", !0), s = Vi(t, "v-else-if", !0), l = fr(t); cr(l), Mi(l, "type", "checkbox"), lr(l, e), l.processed = !0, l.if = "(" + n + ")==='checkbox'" + o, dr(l, { exp: l.if, block: l }); var c = fr(t); Vi(c, "v-for", !0), Mi(c, "type", "radio"), lr(c, e), dr(l, { exp: "(" + n + ")==='radio'" + o, block: c }); var d = fr(t); return Vi(d, "v-for", !0), Mi(d, ":type", n), lr(d, e), dr(l, { exp: a, block: d }), r ? l.else = !0 : s && (l.elseif = s), l; } } } } ]; var br, yr, wr = { expectHTML: !0, modules: vr, directives: { model: function(t, e, n) { n; var i = e.value, a = e.modifiers, o = t.tag, r = t.attrsMap.type; if (t.component) return Fi(t, i, a), !1; if ("select" === o) !function(t, e, n) { var i = '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 ' + (n && n.number ? "_n(val)" : "val") + "});"; i = i + " " + Hi(e, "$event.target.multiple ? $$selectedVal : $$selectedVal[0]"), Ri(t, "change", i, null, !0); }(t, i, a); else if ("input" === o && "checkbox" === r) !function(t, e, n) { var i = n && n.number, a = ji(t, "value") || "null", o = ji(t, "true-value") || "true", r = ji(t, "false-value") || "false"; Oi(t, "checked", "Array.isArray(" + e + ")?_i(" + e + "," + a + ")>-1" + ("true" === o ? ":(" + e + ")" : ":_q(" + e + "," + o + ")")), Ri(t, "change", "var $$a=" + e + ",$$el=$event.target,$$c=$$el.checked?(" + o + "):(" + r + ");if(Array.isArray($$a)){var $$v=" + (i ? "_n(" + a + ")" : a) + ",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&(" + Hi(e, "$$a.concat([$$v])") + ")}else{$$i>-1&&(" + Hi(e, "$$a.slice(0,$$i).concat($$a.slice($$i+1))") + ")}}else{" + Hi(e, "$$c") + "}", null, !0); }(t, i, a); else if ("input" === o && "radio" === r) !function(t, e, n) { var i = n && n.number, a = ji(t, "value") || "null"; Oi(t, "checked", "_q(" + e + "," + (a = i ? "_n(" + a + ")" : a) + ")"), Ri(t, "change", Hi(e, a), null, !0); }(t, i, a); else if ("input" === o || "textarea" === o) !function(t, e, n) { var i = t.attrsMap.type; 0; var a = n || {}, o = a.lazy, r = a.number, s = a.trim, l = !o && "range" !== i, c = o ? "change" : "range" === i ? "__r" : "input", d = "$event.target.value"; s && (d = "$event.target.value.trim()"); r && (d = "_n(" + d + ")"); var m = Hi(e, d); l && (m = "if($event.target.composing)return;" + m); Oi(t, "value", "(" + e + ")"), Ri(t, c, m, null, !0), (s || r) && Ri(t, "blur", "$forceUpdate()"); }(t, i, a); else { if (!D.isReservedTag(o)) return Fi(t, i, a), !1; } return !0; }, text: function(t, e) { e.value && Oi(t, "textContent", "_s(" + e.value + ")", e); }, html: function(t, e) { e.value && Oi(t, "innerHTML", "_s(" + e.value + ")", e); } }, isPreTag: function(t) { return "pre" === t; }, isUnaryTag: bo, mustUseProp: Ln, canBeLeftOpenTag: yo, isReservedTag: Yn, getTagNamespace: Zn, staticKeys: function(t) { return t.reduce((function(t, e) { return t.concat(e.staticKeys || []); }), []).join(","); }(vr) }, _r = x((function(t) { return f("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap" + (t ? "," + t : "")); })); function xr(t, e) { t && (br = _r(e.staticKeys || ""), yr = e.isReservedTag || U, function t(e) { if (e.static = function(t) { if (2 === t.type) return !1; if (3 === t.type) return !0; return !(!t.pre && (t.hasBindings || t.if || t.for || v(t.tag) || !yr(t.tag) || function(t) { for (;t.parent; ) { if ("template" !== (t = t.parent).tag) return !1; if (t.for) return !0; } return !1; }(t) || !Object.keys(t).every(br))); }(e), 1 === e.type) { if (!yr(e.tag) && "slot" !== e.tag && null == e.attrsMap["inline-template"]) return; for (var n = 0, i = e.children.length; n < i; n++) { var a = e.children[n]; t(a), a.static || (e.static = !1); } if (e.ifConditions) for (var o = 1, r = e.ifConditions.length; o < r; o++) { var s = e.ifConditions[o].block; t(s), s.static || (e.static = !1); } } }(t), function t(e, n) { if (1 === e.type) { if ((e.static || e.once) && (e.staticInFor = n), e.static && e.children.length && (1 !== e.children.length || 3 !== e.children[0].type)) return void (e.staticRoot = !0); if (e.staticRoot = !1, e.children) for (var i = 0, a = e.children.length; i < a; i++) t(e.children[i], n || !!e.for); if (e.ifConditions) for (var o = 1, r = e.ifConditions.length; o < r; o++) t(e.ifConditions[o].block, n); } }(t, !1)); } var kr = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/, Sr = /\([^)]*?\);*$/, $r = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/, Er = { esc: 27, tab: 9, enter: 13, space: 32, up: 38, left: 37, right: 39, down: 40, delete: [ 8, 46 ] }, Tr = { esc: [ "Esc", "Escape" ], tab: "Tab", enter: "Enter", space: [ " ", "Spacebar" ], up: [ "Up", "ArrowUp" ], left: [ "Left", "ArrowLeft" ], right: [ "Right", "ArrowRight" ], down: [ "Down", "ArrowDown" ], delete: [ "Backspace", "Delete", "Del" ] }, Pr = function(t) { return "if(" + t + ")return null;"; }, Cr = { stop: "$event.stopPropagation();", prevent: "$event.preventDefault();", self: Pr("$event.target !== $event.currentTarget"), ctrl: Pr("!$event.ctrlKey"), shift: Pr("!$event.shiftKey"), alt: Pr("!$event.altKey"), meta: Pr("!$event.metaKey"), left: Pr("'button' in $event && $event.button !== 0"), middle: Pr("'button' in $event && $event.button !== 1"), right: Pr("'button' in $event && $event.button !== 2") }; function Ar(t, e) { var n = e ? "nativeOn:" : "on:", i = "", a = ""; for (var o in t) { var r = Ir(t[o]); t[o] && t[o].dynamic ? a += o + "," + r + "," : i += '"' + o + '":' + r + ","; } return i = "{" + i.slice(0, -1) + "}", a ? n + "_d(" + i + ",[" + a.slice(0, -1) + "])" : n + i; } function Ir(t) { if (!t) return "function(){}"; if (Array.isArray(t)) return "[" + t.map((function(t) { return Ir(t); })).join(",") + "]"; var e = $r.test(t.value), n = kr.test(t.value), i = $r.test(t.value.replace(Sr, "")); if (t.modifiers) { var a = "", o = "", r = []; for (var s in t.modifiers) if (Cr[s]) o += Cr[s], Er[s] && r.push(s); else if ("exact" === s) { var l = t.modifiers; o += Pr([ "ctrl", "shift", "alt", "meta" ].filter((function(t) { return !l[t]; })).map((function(t) { return "$event." + t + "Key"; })).join("||")); } else r.push(s); return r.length && (a += function(t) { return "if(!$event.type.indexOf('key')&&" + t.map(Or).join("&&") + ")return null;"; }(r)), o && (a += o), "function($event){" + a + (e ? "return " + t.value + "($event)" : n ? "return (" + t.value + ")($event)" : i ? "return " + t.value : t.value) + "}"; } return e || n ? t.value : "function($event){" + (i ? "return " + t.value : t.value) + "}"; } function Or(t) { var e = parseInt(t, 10); if (e) return "$event.keyCode!==" + e; var n = Er[t], i = Tr[t]; return "_k($event.keyCode," + JSON.stringify(t) + "," + JSON.stringify(n) + ",$event.key," + JSON.stringify(i) + ")"; } var Ur = { on: function(t, e) { t.wrapListeners = function(t) { return "_g(" + t + "," + e.value + ")"; }; }, bind: function(t, e) { t.wrapData = function(n) { return "_b(" + n + ",'" + t.tag + "'," + e.value + "," + (e.modifiers && e.modifiers.prop ? "true" : "false") + (e.modifiers && e.modifiers.sync ? ",true" : "") + ")"; }; }, cloak: O }, Mr = function(t) { this.options = t, this.warn = t.warn || Ai, this.transforms = Ii(t.modules, "transformCode"), this.dataGenFns = Ii(t.modules, "genData"), this.directives = A(A({}, Ur), t.directives); var e = t.isReservedTag || U; this.maybeComponent = function(t) { return !!t.component || !e(t.tag); }, this.onceId = 0, this.staticRenderFns = [], this.pre = !1; }; function Lr(t, e) { var n = new Mr(e); return { render: "with(this){return " + (t ? Nr(t, n) : '_c("div")') + "}", staticRenderFns: n.staticRenderFns }; } function Nr(t, e) { if (t.parent && (t.pre = t.pre || t.parent.pre), t.staticRoot && !t.staticProcessed) return Rr(t, e); if (t.once && !t.onceProcessed) return jr(t, e); if (t.for && !t.forProcessed) return Dr(t, e); if (t.if && !t.ifProcessed) return Vr(t, e); if ("template" !== t.tag || t.slotTarget || e.pre) { if ("slot" === t.tag) return function(t, e) { var n = t.slotName || '"default"', i = Br(t, e), a = "_t(" + n + (i ? "," + i : ""), o = t.attrs || t.dynamicAttrs ? Wr((t.attrs || []).concat(t.dynamicAttrs || []).map((function(t) { return { name: S(t.name), value: t.value, dynamic: t.dynamic }; }))) : null, r = t.attrsMap["v-bind"]; !o && !r || i || (a += ",null"); o && (a += "," + o); r && (a += (o ? "" : ",null") + "," + r); return a + ")"; }(t, e); var n; if (t.component) n = function(t, e, n) { var i = e.inlineTemplate ? null : Br(e, n, !0); return "_c(" + t + "," + zr(e, n) + (i ? "," + i : "") + ")"; }(t.component, t, e); else { var i; (!t.plain || t.pre && e.maybeComponent(t)) && (i = zr(t, e)); var a = t.inlineTemplate ? null : Br(t, e, !0); n = "_c('" + t.tag + "'" + (i ? "," + i : "") + (a ? "," + a : "") + ")"; } for (var o = 0; o < e.transforms.length; o++) n = e.transforms[o](t, n); return n; } return Br(t, e) || "void 0"; } function Rr(t, e) { t.staticProcessed = !0; var n = e.pre; return t.pre && (e.pre = t.pre), e.staticRenderFns.push("with(this){return " + Nr(t, e) + "}"), e.pre = n, "_m(" + (e.staticRenderFns.length - 1) + (t.staticInFor ? ",true" : "") + ")"; } function jr(t, e) { if (t.onceProcessed = !0, t.if && !t.ifProcessed) return Vr(t, e); if (t.staticInFor) { for (var n = "", i = t.parent; i; ) { if (i.for) { n = i.key; break; } i = i.parent; } return n ? "_o(" + Nr(t, e) + "," + e.onceId++ + "," + n + ")" : Nr(t, e); } return Rr(t, e); } function Vr(t, e, n, i) { return t.ifProcessed = !0, function t(e, n, i, a) { if (!e.length) return a || "_e()"; var o = e.shift(); return o.exp ? "(" + o.exp + ")?" + r(o.block) + ":" + t(e, n, i, a) : "" + r(o.block); function r(t) { return i ? i(t, n) : t.once ? jr(t, n) : Nr(t, n); } }(t.ifConditions.slice(), e, n, i); } function Dr(t, e, n, i) { var a = t.for, o = t.alias, r = t.iterator1 ? "," + t.iterator1 : "", s = t.iterator2 ? "," + t.iterator2 : ""; return t.forProcessed = !0, (i || "_l") + "((" + a + "),function(" + o + r + s + "){return " + (n || Nr)(t, e) + "})"; } function zr(t, e) { var n = "{", i = function(t, e) { var n = t.directives; if (!n) return; var i, a, o, r, s = "directives:[", l = !1; for (i = 0, a = n.length; i < a; i++) { o = n[i], r = !0; var c = e.directives[o.name]; c && (r = !!c(t, o, e.warn)), r && (l = !0, s += '{name:"' + o.name + '",rawName:"' + o.rawName + '"' + (o.value ? ",value:(" + o.value + "),expression:" + JSON.stringify(o.value) : "") + (o.arg ? ",arg:" + (o.isDynamicArg ? o.arg : '"' + o.arg + '"') : "") + (o.modifiers ? ",modifiers:" + JSON.stringify(o.modifiers) : "") + "},"); } if (l) return s.slice(0, -1) + "]"; }(t, e); i && (n += i + ","), t.key && (n += "key:" + t.key + ","), t.ref && (n += "ref:" + t.ref + ","), t.refInFor && (n += "refInFor:true,"), t.pre && (n += "pre:true,"), t.component && (n += 'tag:"' + t.tag + '",'); for (var a = 0; a < e.dataGenFns.length; a++) n += e.dataGenFns[a](t); if (t.attrs && (n += "attrs:" + Wr(t.attrs) + ","), t.props && (n += "domProps:" + Wr(t.props) + ","), t.events && (n += Ar(t.events, !1) + ","), t.nativeEvents && (n += Ar(t.nativeEvents, !0) + ","), t.slotTarget && !t.slotScope && (n += "slot:" + t.slotTarget + ","), t.scopedSlots && (n += function(t, e, n) { var i = t.for || Object.keys(e).some((function(t) { var n = e[t]; return n.slotTargetDynamic || n.if || n.for || Fr(n); })), a = !!t.if; if (!i) for (var o = t.parent; o; ) { if (o.slotScope && "_empty_" !== o.slotScope || o.for) { i = !0; break; } o.if && (a = !0), o = o.parent; } var r = Object.keys(e).map((function(t) { return Hr(e[t], n); })).join(","); return "scopedSlots:_u([" + r + "]" + (i ? ",null,true" : "") + (!i && a ? ",null,false," + function(t) { var e = 5381, n = t.length; for (;n; ) e = 33 * e ^ t.charCodeAt(--n); return e >>> 0; }(r) : "") + ")"; }(t, t.scopedSlots, e) + ","), t.model && (n += "model:{value:" + t.model.value + ",callback:" + t.model.callback + ",expression:" + t.model.expression + "},"), t.inlineTemplate) { var o = function(t, e) { var n = t.children[0]; 0; if (n && 1 === n.type) { var i = Lr(n, e.options); return "inlineTemplate:{render:function(){" + i.render + "},staticRenderFns:[" + i.staticRenderFns.map((function(t) { return "function(){" + t + "}"; })).join(",") + "]}"; } }(t, e); o && (n += o + ","); } return n = n.replace(/,$/, "") + "}", t.dynamicAttrs && (n = "_b(" + n + ',"' + t.tag + '",' + Wr(t.dynamicAttrs) + ")"), t.wrapData && (n = t.wrapData(n)), t.wrapListeners && (n = t.wrapListeners(n)), n; } function Fr(t) { return 1 === t.type && ("slot" === t.tag || t.children.some(Fr)); } function Hr(t, e) { var n = t.attrsMap["slot-scope"]; if (t.if && !t.ifProcessed && !n) return Vr(t, e, Hr, "null"); if (t.for && !t.forProcessed) return Dr(t, e, Hr); var i = "_empty_" === t.slotScope ? "" : String(t.slotScope), a = "function(" + i + "){return " + ("template" === t.tag ? t.if && n ? "(" + t.if + ")?" + (Br(t, e) || "undefined") + ":undefined" : Br(t, e) || "undefined" : Nr(t, e)) + "}", o = i ? "" : ",proxy:true"; return "{key:" + (t.slotTarget || '"default"') + ",fn:" + a + o + "}"; } function Br(t, e, n, i, a) { var o = t.children; if (o.length) { var r = o[0]; if (1 === o.length && r.for && "template" !== r.tag && "slot" !== r.tag) { var s = n ? e.maybeComponent(r) ? ",1" : ",0" : ""; return "" + (i || Nr)(r, e) + s; } var l = n ? function(t, e) { for (var n = 0, i = 0; i < t.length; i++) { var a = t[i]; if (1 === a.type) { if (Kr(a) || a.ifConditions && a.ifConditions.some((function(t) { return Kr(t.block); }))) { n = 2; break; } (e(a) || a.ifConditions && a.ifConditions.some((function(t) { return e(t.block); }))) && (n = 1); } } return n; }(o, e.maybeComponent) : 0, c = a || qr; return "[" + o.map((function(t) { return c(t, e); })).join(",") + "]" + (l ? "," + l : ""); } } function Kr(t) { return void 0 !== t.for || "template" === t.tag || "slot" === t.tag; } function qr(t, e) { return 1 === t.type ? Nr(t, e) : 3 === t.type && t.isComment ? function(t) { return "_e(" + JSON.stringify(t.text) + ")"; }(t) : function(t) { return "_v(" + (2 === t.type ? t.expression : Jr(JSON.stringify(t.text))) + ")"; }(t); } function Wr(t) { for (var e = "", n = "", i = 0; i < t.length; i++) { var a = t[i], o = Jr(a.value); a.dynamic ? n += a.name + "," + o + "," : e += '"' + a.name + '":' + o + ","; } return e = "{" + e.slice(0, -1) + "}", n ? "_d(" + e + ",[" + n.slice(0, -1) + "])" : e; } function Jr(t) { return t.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"); } new RegExp("\\b" + "do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b") + "\\b"), new RegExp("\\b" + "delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b") + "\\s*\\([^\\)]*\\)"); function Gr(t, e) { try { return new Function(t); } catch (n) { return e.push({ err: n, code: t }), O; } } function Yr(t) { var e = Object.create(null); return function(n, i, a) { (i = A({}, i)).warn; delete i.warn; var o = i.delimiters ? String(i.delimiters) + n : n; if (e[o]) return e[o]; var r = t(n, i); var s = {}, l = []; return s.render = Gr(r.render, l), s.staticRenderFns = r.staticRenderFns.map((function(t) { return Gr(t, l); })), e[o] = s; }; } var Zr, Qr, Xr = (Zr = function(t, e) { var n = sr(t.trim(), e); !1 !== e.optimize && xr(n, e); var i = Lr(n, e); return { ast: n, render: i.render, staticRenderFns: i.staticRenderFns }; }, function(t) { function e(e, n) { var i = Object.create(t), a = [], o = []; if (n) for (var r in n.modules && (i.modules = (t.modules || []).concat(n.modules)), n.directives && (i.directives = A(Object.create(t.directives || null), n.directives)), n) "modules" !== r && "directives" !== r && (i[r] = n[r]); i.warn = function(t, e, n) { (n ? o : a).push(t); }; var s = Zr(e.trim(), i); return s.errors = a, s.tips = o, s; } return { compile: e, compileToFunctions: Yr(e) }; })(wr), ts = (Xr.compile, Xr.compileToFunctions); function es(t) { return (Qr = Qr || document.createElement("div")).innerHTML = t ? '<a href="\n"/>' : '<div a="\n"/>', Qr.innerHTML.indexOf(" ") > 0; } var ns = !!W && es(!1), is = !!W && es(!0), as = x((function(t) { var e = ti(t); return e && e.innerHTML; })), os = $n.prototype.$mount; $n.prototype.$mount = function(t, e) { if ((t = t && ti(t)) === document.body || t === document.documentElement) return this; var n = this.$options; if (!n.render) { var i = n.template; if (i) if ("string" == typeof i) "#" === i.charAt(0) && (i = as(i)); else { if (!i.nodeType) return this; i = i.innerHTML; } else t && (i = function(t) { if (t.outerHTML) return t.outerHTML; var e = document.createElement("div"); return e.appendChild(t.cloneNode(!0)), e.innerHTML; }(t)); if (i) { 0; var a = ts(i, { outputSourceRange: !1, shouldDecodeNewlines: ns, shouldDecodeNewlinesForHref: is, delimiters: n.delimiters, comments: n.comments }, this), o = a.render, r = a.staticRenderFns; n.render = o, n.staticRenderFns = r; } } return os.call(this, t, e); }, $n.compile = ts, e.a = $n; }).call(this, n(88), n(96).setImmediate); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return m; })); var r = n(12), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const l = new r.a; l.addCaptureVariable("auth", '\n if (window.hasOwnProperty("__APP_CONFIG__")) {\n return __APP_CONFIG__.cxApiParams\n } else {\n return undefined;\n }\n '); const c = { episode: null }; let d = !1; const m = { name: "BetaCrunchyroll", domain: "https://beta.crunchyroll.com", languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ], type: "anime", isSyncPage: e => Boolean(t.$(".erc-watch-episode-layout").length), isOverviewPage: e => Boolean(t.$(".erc-series-hero").length), sync: { getTitle: t => m.overview.getTitle(t), getIdentifier: t => m.overview.getIdentifier(t), getOverviewUrl(t) { const e = c.episode.episode_metadata; return i.absoluteLink(`/series/${e.series_id}/#season=${e.season_id}`, m.domain); }, getEpisode: t => Number(c.episode.episode_metadata.episode_number) || 1, nextEpUrl: t => $(".up-next-title").length && $(".up-next-title").first().attr("href") ? i.absoluteLink($(".up-next-title").first().attr("href"), m.domain) : "" }, overview: { getTitle: t => c.episode.episode_metadata.season_title.replace(/\(.+[ds]ub\)/i, "").replace(/\(\d+-\d+\)/, "").trim(), getIdentifier: t => c.episode.episode_metadata.season_id, uiSelector(e) { t.$(".top-controls").first().before(t.html(e)); }, list: { offsetHandler: !0, elementsSelector: () => t.$(".episode-list .c-playable-card"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), m.domain), elementEp(t) { const e = t.find(".c-playable-card__title").first().text().match(/E(\d+)/); return e ? Number(e[1]) : NaN; } } }, init(e) { a.storage.addStyle(n(301).toString()); let r, v = !0; function b() { return s(this, void 0, void 0, (function*() { e.reset(), c.episode = null, yield function() { return s(this, void 0, void 0, (function*() { d || (yield function() { return s(this, void 0, void 0, (function*() { const t = u.m("Data"); t.log("start"); const e = yield l.getProxyVariable("auth"); if (!e) throw "No auth Data found"; p.domain = e.apiDomain, p.clientId = e.accountAuthClientId, t.log(p); })); }(), yield function() { return s(this, void 0, void 0, (function*() { const t = u.m("Token"); t.log("start"); const e = yield g("/auth/v1/token", "POST", { basic: !0 }); if (200 !== e.status) throw "Could not get Token"; const n = JSON.parse(e.responseText); p.token = n.access_token, t.log(p); })); }(), yield function() { return s(this, void 0, void 0, (function*() { const t = u.m("Policy"); t.log("start"); const e = yield g("/index/v2", "GET", { bearer: !0 }); if (200 !== e.status) throw "Could not get Policy"; const n = JSON.parse(e.responseText); p.bucket.path = n.cms.bucket, p.bucket.keyPairId = n.cms.key_pair_id, p.bucket.policy = n.cms.policy, p.bucket.signature = n.cms.signature, t.log(p); })); }(), d = !0); })); }(), clearInterval(r), r = i.waitUntilTrue(() => m.isSyncPage(e.url) || m.isOverviewPage(e.url), () => s(this, void 0, void 0, (function*() { if (m.isOverviewPage(e.url)) return console.log("Waiting for page to load"), clearInterval(r), void (r = i.waitUntilTrue(() => Boolean($(".episode-list .c-playable-card a").length), () => s(this, void 0, void 0, (function*() { const t = $(".episode-list .c-playable-card a").first().attr("href"); if (!t) throw "No Episode found on the page"; c.episode = yield h(f(t)), e.handlePage(), v && function(t) { s(this, void 0, void 0, (function*() { const e = o.m("Season Selecter"); if (!window.location.href.includes("season")) return void e.log("Nothing to do"); const n = window.location.href.replace("#", "?"), a = i.urlParam(n, "season"); if (e.log(a, t), a === t) return void e.log("Correct Season"); const r = (yield function(t) { return s(this, void 0, void 0, (function*() { const e = o.m("Seasons").m(String(t)); e.log("start"); const n = yield g("/seasons?series_id=" + t, "GET", { cms: !0 }); e.log(n.finalUrl); const i = JSON.parse(n.responseText); if (!i || !i.items.length) throw "No Season Data found"; if ("season" !== i.items[0].__class__) throw "Are not seasons"; return e.log(i.items), i.items; })); }(f(n))).findIndex(t => t.id === a); -1 !== r ? ($(".seasons-select .c-dropdown-content").length || $('.seasons-select [role="button"].trigger').click(), $('.seasons-select .c-dropdown-content [role="button"]').eq(r).click()) : e.log("Not available here"); })); }(m.overview.getIdentifier(e.url)), v = !1; })))); c.episode = yield h(f(e.url)), e.handlePage(), v = !1; }))); })); } i.changeDetect(() => { m.overview.list.elementsSelector().length && e.handleList(); }, () => m.overview.list.elementsSelector().length), t.$(document).ready((function() { b(); })), i.changeDetect(() => b(), () => { const t = $(".season-info .c-text").first().text(); return t || window.location.href; }); } }, u = o.m("auth"), p = { domain: "", clientId: "", token: "", bucket: { path: "", keyPairId: "", policy: "", signature: "" } }; function h(t) { return s(this, void 0, void 0, (function*() { const e = o.m("Episode").m(String(t)); e.log("start"); const n = yield g("/objects/" + t, "GET", { cms: !0 }); e.log(n.finalUrl); const i = JSON.parse(n.responseText); if (!i || !i.items.length) throw "No Episode data found"; const a = i.items[0]; if ("episode" !== a.type) throw "Not an Episode"; return e.log(a), a; })); } function g(t, e = "GET", n = {}) { return s(this, void 0, void 0, (function*() { const i = { url: p.domain + t, headers: { Accept: "application/json" } }; if (n.basic && (i.headers.authorization = "Basic " + btoa(p.clientId + ":"), i.headers["Content-Type"] = "application/x-www-form-urlencoded", i.data = "grant_type=etp_rt_cookie"), n.bearer && (i.headers.authorization = "Bearer " + p.token), n.cms) { const e = p.bucket; let n = "?"; -1 !== t.indexOf("?") && (n = "&"), i.url = `${p.domain}/cms/v2${e.path}${t}${n}Signature=${e.signature}&Policy=${e.policy}&Key-Pair-Id=${e.keyPairId}`; } return a.request.xhr(e, i); })); } function f(t) { const e = t.match(/(series|watch)\/([^/]+)/i); if (!e[2]) throw "Could not find id in " + t; return e[2]; } }).call(this, n(2), n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return s; })); var a = n(17), o = n(8), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class s extends a.a { constructor() { super(...arguments), this.name = "Simkl", this.authenticationUrl = "https://simkl.com/oauth/authorize?response_type=code&client_id=39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0&redirect_uri=https://simkl.com/apps/chrome/mal-sync/connected/", this.syncList = o.g, this.translateList = o.h, this.getCacheKey = o.d, this.getEpisode = o.e, this.call = o.a; } getUsername() { return r(this, void 0, void 0, (function*() { return this.call("https://api.simkl.com/users/settings").then(e => { if (t.log(e), e && e.user && void 0 !== e.user.name) return e.user.name; throw { code: 400, message: "Not Authenticated" }; }); })); } deauth() { return i.settings.set("simklToken", ""); } errorHandling(e, n) { if (void 0 !== e.error) throw t.error(e.error), { code: n, message: e.error }; switch (n) { case 200: case 201: case 204: case 302: break; default: throw { code: n, message: "Code: " + n }; } } _getSortingOptions() { return []; } getPart() { return r(this, void 0, void 0, (function*() { if (t.log("[UserList][Simkl]", "status: " + this.status), "manga" === this.listType) throw { code: 415, message: "Does not support manga" }; return this.syncList().then(e => r(this, void 0, void 0, (function*() { this.done = !0; const n = yield this.prepareData(Object.values(e), this.listType, this.status); return t.log(n), n; }))); })); } prepareData(t, e, n) { return r(this, void 0, void 0, (function*() { const i = []; for (let a = 0; a < t.length; a++) { const o = t[a], r = this.translateList(o.status); if (7 !== n && parseInt(r) !== n) continue; let s = this.getEpisode(o.last_watched); if (2 === r && (s = o.total_episodes_count), "anime" === e) { const t = yield this.fn({ malId: o.show.ids.mal, apiCacheKey: o.show.ids.mal, uid: o.show.ids.simkl, cacheKey: this.getCacheKey(o.show.ids.mal, o.show.ids.simkl), type: e, title: o.show.title, url: `https://simkl.com/${e}/${o.show.ids.simkl}`, watchedEp: s, totalEp: o.total_episodes_count, status: r, score: o.user_rating ? o.user_rating : 0, image: `https://simkl.in/posters/${o.show.poster}_ca.jpg`, tags: o.private_memo, airingState: o.anime_airing_status }); i.push(t); } } return i; })); } } }).call(this, n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t) { function i(e) { return function(e) { let n = ""; return 1 === e.y ? n += ` ${e.y} ${t.storage.lang("bookmarksItem_Year")}` : e.y > 1 && (n += ` ${e.y} ${t.storage.lang("bookmarksItem_Years")}`), 1 === e.d ? n += ` ${e.d} ${t.storage.lang("bookmarksItem_Day")}` : e.d > 1 && (n += ` ${e.d} ${t.storage.lang("bookmarksItem_Days")}`), 1 === e.h ? n += ` ${e.h} ${t.storage.lang("bookmarksItem_Hour")}` : e.h > 1 && (n += ` ${e.h} ${t.storage.lang("bookmarksItem_Hours")}`), 1 === e.m ? n += ` ${e.m} ${t.storage.lang("bookmarksItem_min")}` : e.m > 1 && (n += ` ${e.m} ${t.storage.lang("bookmarksItem_mins")}`), 1 === e.s ? n += ` ${e.s} ${t.storage.lang("bookmarksItem_sec")}` : e.s > 1 && (n += ` ${e.s} ${t.storage.lang("bookmarksItem_secs")}`), n.trim(); }((n = function(t) { let e, n, i, a; a = Math.floor(t / 1e3), i = Math.floor(a / 60), a %= 60, n = Math.floor(i / 60), i %= 60, e = Math.floor(n / 24), n %= 24; const o = Math.floor(e / 365); return e %= 365, { y: o, d: e, h: n, m: i, s: a }; }(e)).y > 1 ? n.d > 182 ? { y: n.y + 1, d: 0, h: 0, m: 0, s: 0 } : { y: n.y, d: 0, h: 0, m: 0, s: 0 } : n.y ? { y: n.y, d: n.d, h: 0, m: 0, s: 0 } : n.d > 3 ? n.h > 11 ? { y: 0, d: n.d + 1, h: 0, m: 0, s: 0 } : { y: 0, d: n.d, h: 0, m: 0, s: 0 } : n.d ? { y: 0, d: n.d, h: n.h, m: 0, s: 0 } : n.h > 5 ? n.m > 29 ? { y: 0, d: 0, h: n.h + 1, m: 0, s: 0 } : { y: 0, d: 0, h: n.h, m: 0, s: 0 } : n.h ? { y: 0, d: 0, h: n.h, m: n.m, s: 0 } : n.m > 14 ? { y: 0, d: 0, h: 0, m: n.m, s: 0 } : { y: 0, d: 0, h: 0, m: n.m, s: n.s }); var n; } function a(e, n = !0) { if (!e) return ""; const a = Date.now(); let o, r; if (a > e ? (r = !1, o = a - e) : (r = !0, o = e - a), o < 3e4) return t.storage.lang("bookmarksItem_now"); let s = i(o); return !r && n && (s = t.storage.lang("bookmarksItem_ago", [ s ])), s; } n.d(e, "a", (function() { return i; })), n.d(e, "b", (function() { return a; })); }).call(this, n(0)); }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return i; })); const i = [ "", "", "", "CANCEL", "", "", "HELP", "", "BACK_SPACE", "TAB", "", "", "CLEAR", "ENTER", "ENTER_SPECIAL", "", "SHIFT", "CONTROL", "ALT", "PAUSE", "CAPS_LOCK", "KANA", "EISU", "JUNJA", "FINAL", "HANJA", "", "ESCAPE", "CONVERT", "NONCONVERT", "ACCEPT", "MODECHANGE", "SPACE", "PAGE_UP", "PAGE_DOWN", "END", "HOME", "LEFT", "UP", "RIGHT", "DOWN", "SELECT", "PRINT", "EXECUTE", "PRINTSCREEN", "INSERT", "DELETE", "", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "COLON", "SEMICOLON", "LESS_THAN", "EQUALS", "GREATER_THAN", "QUESTION_MARK", "AT", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "OS_KEY", "", "CONTEXT_MENU", "", "SLEEP", "NUMPAD0", "NUMPAD1", "NUMPAD2", "NUMPAD3", "NUMPAD4", "NUMPAD5", "NUMPAD6", "NUMPAD7", "NUMPAD8", "NUMPAD9", "MULTIPLY", "ADD", "SEPARATOR", "SUBTRACT", "DECIMAL", "DIVIDE", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "", "", "", "", "", "", "", "", "NUM_LOCK", "SCROLL_LOCK", "WIN_OEM_FJ_JISHO", "WIN_OEM_FJ_MASSHOU", "WIN_OEM_FJ_TOUROKU", "WIN_OEM_FJ_LOYA", "WIN_OEM_FJ_ROYA", "", "", "", "", "", "", "", "", "", "CIRCUMFLEX", "EXCLAMATION", "DOUBLE_QUOTE", "HASH", "DOLLAR", "PERCENT", "AMPERSAND", "UNDERSCORE", "OPEN_PAREN", "CLOSE_PAREN", "ASTERISK", "PLUS", "PIPE", "HYPHEN_MINUS", "OPEN_CURLY_BRACKET", "CLOSE_CURLY_BRACKET", "TILDE", "", "", "", "", "VOLUME_MUTE", "VOLUME_DOWN", "VOLUME_UP", "", "", "SEMICOLON", "EQUALS", "COMMA", "MINUS", "PERIOD", "SLASH", "BACK_QUOTE", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "OPEN_BRACKET", "BACK_SLASH", "CLOSE_BRACKET", "QUOTE", "", "META", "ALTGR", "", "WIN_ICO_HELP", "WIN_ICO_00", "", "WIN_ICO_CLEAR", "", "", "WIN_OEM_RESET", "WIN_OEM_JUMP", "WIN_OEM_PA1", "WIN_OEM_PA2", "WIN_OEM_PA3", "WIN_OEM_WSCTRL", "WIN_OEM_CUSEL", "WIN_OEM_ATTN", "WIN_OEM_FINISH", "WIN_OEM_COPY", "WIN_OEM_AUTO", "WIN_OEM_ENLW", "WIN_OEM_BACKTAB", "ATTN", "CRSEL", "EXSEL", "EREOF", "PLAY", "ZOOM", "", "PA1", "WIN_OEM_CLEAR", "" ]; }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return i; })); const i = n(79).a; }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return s; })); var a = n(17), o = n(10), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class s extends a.a { constructor() { super(...arguments), this.name = "AniList", this.compact = !1, this.seperateRewatching = !0, this.authenticationUrl = "https://anilist.co/api/v2/oauth/authorize?client_id=1487&response_type=token"; } getUsername() { return this.api.request.xhr("POST", { url: "https://graphql.anilist.co", headers: { Authorization: "Bearer " + this.accessToken(), "Content-Type": "application/json", Accept: "application/json" }, data: JSON.stringify({ query: "\n query {\n Viewer {\n name\n id\n options {\n displayAdultContent\n }\n mediaListOptions {\n scoreFormat\n }\n }\n }\n ", variables: [] }) }).then(e => { const n = this.jsonParse(e); if (t.log(n), this.errorHandling(n), n.data.Viewer.options && n.data.Viewer.mediaListOptions) { const t = i.settings.get("anilistOptions"); t.displayAdultContent = n.data.Viewer.options.displayAdultContent, t.scoreFormat = n.data.Viewer.mediaListOptions.scoreFormat, i.settings.set("anilistOptions", t); } return n.data.Viewer.name; }); } deauth() { return i.settings.set("anilistToken", ""); } errorHandling(e) { if (void 0 !== e.errors) throw t.error(e.errors), { code: e.errors[0].status, message: e.errors[0].message }; } accessToken() { return this.api.settings.get("anilistToken"); } _getSortingOptions() { return [ { icon: "sort_by_alpha", title: "Alphabetic", value: "alpha" }, { icon: "history", title: "Last Updated", value: "updated", asc: !0 }, { icon: "score", title: "Score", value: "score", asc: !0 } ]; } getOrder(t) { switch (t) { case "alpha": return "MEDIA_TITLE_ENGLISH"; case "updated": return "UPDATED_TIME_DESC"; case "updated_asc": return "UPDATED_TIME"; case "score": return "SCORE_DESC"; case "score_asc": return "SCORE"; default: return 1 === this.status || this.status, this.getOrder("updated"); } } getPart() { return r(this, void 0, void 0, (function*() { this.offset < 1 && (this.offset = 1), t.log("[UserList][AniList]", "username: " + this.username, "status: " + this.status, "offset: " + this.offset), this.username || (this.username = yield this.getUsername()); let e = "\n query ($page: Int, $userName: String, $type: MediaType, $status: MediaListStatus, $sort: [MediaListSort] ) {\n Page (page: $page, perPage: 100) {\n pageInfo {\n hasNextPage\n }\n mediaList (status: $status, type: $type, userName: $userName, sort: $sort) {\n status\n score(format: POINT_100)\n progress\n progressVolumes\n notes\n media {\n siteUrl\n id\n idMal\n episodes\n chapters\n volumes\n status\n averageScore\n coverImage{\n large\n }\n title {\n userPreferred\n }\n }\n }\n }\n }\n "; this.compact && (e = "\n query ($page: Int, $userName: String, $type: MediaType, $status: MediaListStatus, $sort: [MediaListSort]) {\n Page (page: $page, perPage: 100) {\n pageInfo {\n hasNextPage\n }\n mediaList (status: $status, type: $type, userName: $userName, sort: $sort) {\n progress\n media {\n id\n idMal\n }\n }\n }\n }\n "); const n = { page: this.offset, userName: this.username, type: this.listType.toUpperCase(), status: o.e[parseInt(this.status.toString())], sort: null }, i = this.getOrder(this.sort); return i && (n.sort = i), this.api.request.xhr("POST", { url: "https://graphql.anilist.co", headers: { Authorization: "Bearer " + this.accessToken(), "Content-Type": "application/json", Accept: "application/json" }, data: JSON.stringify({ query: e, variables: n }) }).then(e => { const n = this.jsonParse(e); t.log("res", n), this.errorHandling(n); const i = n.data.Page.mediaList; return this.offset += 1, n.data.Page.pageInfo.hasNextPage || (this.done = !0), this.prepareData(i, this.listType); }); })); } prepareData(t, e) { var n, i; return r(this, void 0, void 0, (function*() { const a = []; for (let r = 0; r < t.length; r++) { const s = t[r]; let l; l = "anime" === e ? yield this.fn({ uid: s.media.id, malId: s.media.idMal, apiCacheKey: null !== (n = s.media.idMal) && void 0 !== n ? n : "anilist:" + s.media.id, cacheKey: o.c(s.media.idMal, s.media.id), type: e, title: s.media.title.userPreferred, url: s.media.siteUrl, watchedEp: s.progress, totalEp: s.media.episodes, status: o.f(s.status), score: Math.round(s.score / 10), image: s.media.coverImage.large, tags: s.notes, airingState: s.anime_airing_status }) : yield this.fn({ uid: s.media.id, malId: s.media.idMal, apiCacheKey: null !== (i = s.media.idMal) && void 0 !== i ? i : "anilist:" + s.media.id, cacheKey: o.c(s.media.idMal, s.media.id), type: e, title: s.media.title.userPreferred, url: s.media.siteUrl, watchedEp: s.progress, totalEp: s.media.chapters, status: o.f(s.status), score: Math.round(s.score / 10), image: s.media.coverImage.large, tags: s.notes, airingState: s.anime_airing_status }), null === l.totalEp && (l.totalEp = 0), a.push(l); } return a; })); } prepareCompact(t, e) { const n = []; for (let e = 0; e < t.length; e++) { const i = t[e]; n.push({ malid: i.media.idMal, id: i.media.id, watchedEp: i.progress, cacheKey: o.c(i.media.idMal, i.media.id) }); } return n; } } }).call(this, n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return s; })); var a = n(17), o = n(7), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class s extends a.a { constructor() { super(...arguments), this.name = "Kitsu", this.authenticationUrl = "https://kitsu.io/404?mal-sync=authentication"; } getUsername() { return r(this, void 0, void 0, (function*() { const e = yield this.userRequest(), n = t.settings.get("kitsuOptions"); return n.titleLanguagePreference = e.attributes.titleLanguagePreference, n.sfwFilter = e.attributes.sfwFilter, n.ratingSystem = e.attributes.ratingSystem, t.settings.set("kitsuOptions", n), e.attributes.name; })); } getUserId() { return r(this, void 0, void 0, (function*() { const e = yield t.storage.get("kitsuUserId"); if (void 0 !== e) return e; const n = yield this.userRequest(); return t.storage.set("kitsuUserId", n.id), n.id; })); } userRequest() { return t.request.xhr("GET", { url: "https://kitsu.io/api/edge/users?filter[self]=true", headers: { Authorization: "Bearer " + this.accessToken(), "Content-Type": "application/vnd.api+json", Accept: "application/vnd.api+json" } }).then(t => { const e = this.jsonParse(t); if (i.log(e), this.errorHandling(e), void 0 === e.data[0]) throw { code: 400, message: "Not Authenticated" }; return e.data[0]; }); } deauth() { return t.settings.set("kitsuToken", "").then(() => t.storage.set("kitsuUserId", "")); } errorHandling(t) { if (void 0 !== t.errors) throw i.error(t.errors), { code: parseInt(t.errors[0].status), message: t.errors[0].title }; } accessToken() { return t.settings.get("kitsuToken"); } _getSortingOptions() { return [ { icon: "sort_by_alpha", title: "Alphabetic", value: "alpha", asc: !0 }, { icon: "history", title: "Last Updated", value: "updated", asc: !0 }, { icon: "score", title: "Score", value: "score", asc: !0 } ]; } getOrder(t) { let e = ""; t.endsWith("_asc") || (e = "-"); switch (t.replace("_asc", "")) { case "alpha": return e = e ? "" : "-", `${e}${this.listType}.titles.en`; case "updated": return e + "progressed_at"; case "score": return e + "rating"; default: return 1 === this.status || 6 === this.status ? this.getOrder("updated") : this.getOrder("alpha"); } } getPart() { return r(this, void 0, void 0, (function*() { const e = yield this.getUserId(); let n = "", a = ""; const r = this.getOrder(this.sort); if (r && (a = "&sort=" + r), 7 !== this.status) { n = "&filter[status]=" + o.f(this.status, this.status); } return i.log("[UserList][Kitsu]", "user: " + e, "status: " + this.status, "offset: " + this.offset), t.request.xhr("GET", { url: `https://kitsu.io/api/edge/library-entries?filter[user_id]=${e}${n}&filter[kind]=${this.listType}&page[offset]=${this.offset}&page[limit]=50${a}&include=${this.listType},${this.listType}.mappings,${this.listType}.mappings.item&fields[${this.listType}]=slug,titles,canonicalTitle,averageRating,posterImage,${"anime" === this.listType ? "episodeCount" : "chapterCount,volumeCount"}`, headers: { Authorization: "Bearer " + this.accessToken(), "Content-Type": "application/vnd.api+json", Accept: "application/vnd.api+json" }, data: {} }).then(t => { const e = this.jsonParse(t); return i.log(e), this.errorHandling(e), this.offset += 50, e.meta.count > this.offset || (this.done = !0), this.prepareData(e, this.listType); }); })); } prepareData(t, e) { return r(this, void 0, void 0, (function*() { const n = []; for (let i = 0; i < t.data.length; i++) { const a = t.data[i], r = t.included[i], s = o.c(r.attributes.titles, r.attributes.canonicalTitle); let l, c = NaN; for (let n = 0; n < t.included.length; n++) { const i = t.included[n]; if ("mappings" === i.type && i.attributes.externalSite === "myanimelist/" + e && i.relationships.item.data.id === r.id) { c = i.attributes.externalId, t.included.splice(n, 1); break; } } l = "anime" === e ? yield this.fn({ malId: c, apiCacheKey: c, uid: r.id, cacheKey: o.b(c, r.id), kitsuSlug: r.attributes.slug, type: e, title: s, url: `https://kitsu.io/${e}/${r.attributes.slug}`, watchedEp: a.attributes.progress, totalEp: r.attributes.episodeCount, status: o.f(a.attributes.status), score: Math.round(a.attributes.ratingTwenty / 2), image: r.attributes.posterImage && r.attributes.posterImage.large ? r.attributes.posterImage.large : "", tags: a.attributes.notes, airingState: r.anime_airing_status }) : yield this.fn({ malId: c, apiCacheKey: c, uid: r.id, cacheKey: o.b(c, r.id), kitsuSlug: r.attributes.slug, type: e, title: s, url: `https://kitsu.io/${e}/${r.attributes.slug}`, watchedEp: a.attributes.progress, totalEp: r.attributes.chapterCount, status: o.f(a.attributes.status), score: Math.round(a.attributes.ratingTwenty / 2), image: r.attributes.posterImage && r.attributes.posterImage.large ? r.attributes.posterImage.large : "", tags: a.attributes.notes, airingState: r.anime_airing_status }), null === l.totalEp && (l.totalEp = 0), n.push(l); } return n; })); } } }).call(this, n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return c; })); var o = n(22), r = n(10), s = n(5), l = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class c extends o.a { constructor(e) { return super(e), this.url = e, this.displayUrl = "", this.shortName = "AniList", this.authenticationUrl = "https://anilist.co/api/v2/oauth/authorize?client_id=1487&response_type=token", this.apiCall = r.b, this.logger = t.m(this.shortName, "#3db4f2"), this; } handleUrl(t) { if (t.match(/anilist\.co\/(anime|manga)\/\d*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", void (this.ids.ani = Number(i.urlPart(t, 4))); if (t.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", void (this.ids.mal = Number(i.urlPart(t, 4))); throw this.errorObj(s.a.UrlNotSuported, "Url not supported"); } getCacheKey() { return r.c(this.ids.mal, this.ids.ani); } _getStatus() { return parseInt(r.e[this.animeInfo.mediaListEntry.status]); } _setStatus(t) { this.animeInfo.mediaListEntry.status = r.e[t]; } _getScore() { if (0 === this.animeInfo.mediaListEntry.score) return 0; const t = Math.round(this.animeInfo.mediaListEntry.score / 10); return 0 === t ? 1 : t; } _setScore(t) { this.animeInfo.mediaListEntry.score = 10 * t; } _getEpisode() { return this.animeInfo.mediaListEntry.progress; } _setEpisode(t) { this.animeInfo.mediaListEntry.progress = parseInt("" + t); } _getVolume() { return this.animeInfo.mediaListEntry.progressVolumes; } _setVolume(t) { this.animeInfo.mediaListEntry.progressVolumes = t; } _getTags() { let t = this.animeInfo.mediaListEntry.notes; return null !== t && "null" !== t || (t = ""), t; } _setTags(t) { this.animeInfo.mediaListEntry.notes = t; } _getTitle() { return this.animeInfo.title.userPreferred; } _getTotalEpisodes() { const t = this.animeInfo.episodes ? this.animeInfo.episodes : this.animeInfo.chapters; return null === t ? 0 : t; } _getTotalVolumes() { const t = this.animeInfo.volumes; return t || 0; } _getDisplayUrl() { return "" !== this.displayUrl && null !== this.displayUrl ? this.displayUrl : this.url; } _getImage() { return Promise.resolve(this.animeInfo.coverImage.large); } _getRating() { return Promise.resolve(this.animeInfo.averageScore); } _update() { return l(this, void 0, void 0, (function*() { let t = this.ids.mal, e = "idMal"; Number.isNaN(this.ids.mal) && (t = this.ids.ani, e = "id"); const n = `\n query ($id: Int, $type: MediaType) {\n Media (${e}: $id, type: $type) {\n id\n idMal\n siteUrl\n episodes\n chapters\n volumes\n averageScore\n coverImage{\n large\n }\n title {\n userPreferred\n }\n mediaListEntry {\n id\n status\n progress\n progressVolumes\n score(format: POINT_100)\n repeat\n notes\n }\n }\n }\n `, i = { id: t, type: this.type.toUpperCase() }; return this._authenticated = !0, this.apiCall(n, i).catch(t => { if (t.code === s.a.NotAutenticated) return this._authenticated = !1, this.apiCall(n, i, !1); throw t; }).then(t => { if (this.logger.log("[SINGLE]", "Data", t), this.animeInfo = t.data.Media, this.ids.ani = this.animeInfo.id, Number.isNaN(this.ids.mal) && this.animeInfo.idMal && (this.ids.mal = this.animeInfo.idMal), this.displayUrl = this.animeInfo.siteUrl, this._onList = !0, null === this.animeInfo.mediaListEntry && (this._onList = !1, this.animeInfo.mediaListEntry = { notes: "", progress: 0, progressVolumes: 0, repeat: 0, score: 0, status: "PLANNING" }), !this._authenticated) throw this.errorObj(s.a.NotAutenticated, "Not Authenticated"); }); })); } _sync() { return l(this, void 0, void 0, (function*() { let t = "\n mutation ($mediaId: Int, $status: MediaListStatus, $progress: Int, $scoreRaw: Int, $notes: String) {\n SaveMediaListEntry (mediaId: $mediaId, status: $status, progress: $progress, scoreRaw: $scoreRaw, notes: $notes) {\n id\n status\n progress\n }\n }\n "; const e = { mediaId: this.ids.ani, status: this.animeInfo.mediaListEntry.status, progress: this.animeInfo.mediaListEntry.progress, scoreRaw: this.animeInfo.mediaListEntry.score, notes: this.animeInfo.mediaListEntry.notes, volumes: null }; return "manga" === this.type && (t = "\n mutation ($mediaId: Int, $status: MediaListStatus, $progress: Int, $scoreRaw: Int, $notes: String, $volumes: Int) {\n SaveMediaListEntry (mediaId: $mediaId, status: $status, progress: $progress, scoreRaw: $scoreRaw, notes: $notes, progressVolumes: $volumes) {\n id\n status\n progress\n progressVolumes\n }\n }\n ", e.volumes = this.animeInfo.mediaListEntry.progressVolumes), this.apiCall(t, e).then(t => (t && t.data && t.data.SaveMediaListEntry && t.data.SaveMediaListEntry.id && (this.animeInfo.mediaListEntry.id = t.data.SaveMediaListEntry.id), t)); })); } getScoreMode() { return a.settings.get("anilistOptions").scoreFormat; } getScoreCheckbox() { switch (this.getScoreMode()) { case "POINT_3": return [ { value: "0", label: a.storage.lang("UI_Score_Not_Rated") }, { value: "85", label: "🙂" }, { value: "60", label: "😐" }, { value: "35", label: "🙁" } ]; case "POINT_5": return [ { value: "0", label: a.storage.lang("UI_Score_Not_Rated") }, { value: "90", label: "★★★★★" }, { value: "70", label: "★★★★" }, { value: "50", label: "★★★" }, { value: "30", label: "★★" }, { value: "10", label: "★" } ]; case "POINT_10_DECIMAL": { const t = [ { value: "0", label: a.storage.lang("UI_Score_Not_Rated") } ]; for (let e = 1; e < 101; e++) t.push({ value: e.toString(), label: (e / 10).toFixed(1) }); return t; } case "POINT_100": { const t = [ { value: "0", label: a.storage.lang("UI_Score_Not_Rated") } ]; for (let e = 1; e < 101; e++) t.push({ value: e.toString(), label: String(e) }); return t; } default: return super.getScoreCheckbox(); } } getScoreCheckboxValue() { const t = this.animeInfo.mediaListEntry.score; switch (this.getScoreMode()) { case "POINT_3": return t ? t >= 73 ? 85 : t <= 47 ? 35 : 60 : 0; case "POINT_5": return t ? t < 20 ? 10 : t < 40 ? 30 : t < 60 ? 50 : t < 80 ? 70 : 90 : 0; case "POINT_10_DECIMAL": case "POINT_100": return t; default: return super.getScoreCheckboxValue(); } } handleScoreCheckbox(t) { switch (this.getScoreMode()) { case "POINT_3": case "POINT_5": case "POINT_10_DECIMAL": case "POINT_100": this.animeInfo.mediaListEntry.score = t; break; default: super.handleScoreCheckbox(t); } } delete() { const t = { mediaId: this.animeInfo.mediaListEntry.id }; return this.apiCall("\n mutation ($mediaId: Int) {\n DeleteMediaListEntry(id: $mediaId) {\n deleted\n }\n }\n ", t); } } }).call(this, n(4), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return c; })); var o = n(22), r = n(7), s = n(5), l = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class c extends o.a { constructor(e) { return super(e), this.url = e, this.shortName = "Kitsu", this.authenticationUrl = "https://kitsu.io/404?mal-sync=authentication", this.apiCall = r.a, this.logger = t.m(this.shortName, "#d65e43"), this; } listI() { return this.animeInfo.data[0]; } animeI() { return this.animeInfo.included[0]; } handleUrl(t) { if (t.match(/kitsu\.io\/(anime|manga)\/.*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", void (this.ids.kitsu.slug = i.urlPart(t, 4)); if (t.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", void (this.ids.mal = Number(i.urlPart(t, 4))); throw this.errorObj(s.a.UrlNotSuported, "Url not supported"); } getCacheKey() { return r.b(this.ids.mal, this.ids.kitsu.id); } _getStatus() { return this.listI().attributes.reconsuming && "current" === this.listI().attributes.status ? 23 : parseInt(r.f(this.listI().attributes.status)); } _setStatus(t) { 23 === t ? (t = 1, this.listI().attributes.reconsuming = !0) : this.listI().attributes.reconsuming = !1, this.listI().attributes.status = r.f(t, parseInt(t.toString())); } _getScore() { if (!this.listI().attributes.ratingTwenty) return 0; return Math.round(this.listI().attributes.ratingTwenty / 2); } _setScore(t) { this.listI().attributes.ratingTwenty = 0 !== t ? 2 * t : null; } _getEpisode() { return this.listI().attributes.progress; } _setEpisode(t) { this.listI().attributes.progress = parseInt("" + t); } _getVolume() { return this.listI().attributes.volumesOwned; } _setVolume(t) { this.listI().attributes.volumesOwned = t; } _getTags() { let t = this.listI().attributes.notes; return null !== t && "null" !== t || (t = ""), t; } _setTags(t) { this.listI().attributes.notes = t; } _getTitle() { try { return r.c(this.animeI().attributes.titles, this.animeI().attributes.canonicalTitle); } catch (t) { return console.error("title", t), "Failed"; } } _getTotalEpisodes() { const t = this.animeI().attributes.episodeCount ? this.animeI().attributes.episodeCount : this.animeI().attributes.chapterCount; return null === t ? 0 : t; } _getTotalVolumes() { const t = this.animeI().attributes.volumeCount; return t || 0; } _getDisplayUrl() { return `https://kitsu.io/${this.getType()}/${this.animeI().attributes.slug}`; } _getImage() { return Promise.resolve(this.animeI().attributes.posterImage.large); } _getRating() { return null === this.animeI().attributes.averageRating ? Promise.resolve("") : Promise.resolve(this.animeI().attributes.averageRating + "%"); } _update() { return l(this, void 0, void 0, (function*() { if (Number.isNaN(this.ids.mal)) { var t = yield this.kitsuSlugtoKitsu(this.ids.kitsu.slug, this.getType()); try { this.ids.kitsu.id = t.res.data[0].id, this.ids.mal = t.malId; } catch (t) { throw this._authenticated = !0, this.errorObj(s.a.EntryNotFound, "Not found"); } } if (Number.isNaN(this.ids.kitsu.id)) { var e = yield this.malToKitsu(this.ids.mal, this.getType()); try { this.ids.kitsu.id = e.data[0].relationships.item.data.id; } catch (t) { throw this._authenticated = !0, this.errorObj(s.a.EntryNotFound, "Not found"); } } return this._authenticated = !0, this.userId().then(t => this.apiCall("GET", `https://kitsu.io/api/edge/library-entries?filter[user_id]=${t}&filter[kind]=${this.getType()}&filter[${this.getType()}_id]=${this.ids.kitsu.id}&page[limit]=1&page[limit]=1&include=${this.getType()}&fields[${this.getType()}]=slug,titles,canonicalTitle,averageRating,posterImage,${"anime" === this.getType() ? "episodeCount" : "chapterCount,volumeCount"}`)).catch(t => { if (t.code === s.a.NotAutenticated) return this._authenticated = !1, { data: [], included: [] }; throw t; }).then(n => l(this, void 0, void 0, (function*() { const i = n; this._onList = !0, n.data.length || (this._onList = !1, i.data[0] = { attributes: { notes: "", progress: 0, volumesOwned: 0, reconsuming: !1, reconsumeCount: !1, ratingTwenty: null, status: "planned" } }, void 0 !== e ? i.included = e.included : t ? i.included = t.res.data : (e = yield this.malToKitsu(this.ids.mal, this.getType()), i.included = e.included)), this.animeInfo = i; try { this.animeI(); } catch (t) { throw this.logger.error(t), this.errorObj(s.a.EntryNotFound, "Not found"); } if (!this._authenticated) throw this.errorObj(s.a.NotAutenticated, "Not Authenticated"); }))); })); } _sync() { return l(this, void 0, void 0, (function*() { this.listI().attributes.ratingTwenty < 2 && (this.listI().attributes.ratingTwenty = null); const t = { data: { attributes: { notes: this.listI().attributes.notes, progress: this.listI().attributes.progress, volumesOwned: this.listI().attributes.volumesOwned, reconsuming: this.listI().attributes.reconsuming, reconsumeCount: this.listI().attributes.reconsumeCount, ratingTwenty: this.listI().attributes.ratingTwenty ? this.listI().attributes.ratingTwenty : null, status: this.listI().attributes.status }, type: "library-entries" } }, e = this.getType(); if (!e) return Promise.resolve(); let n, i; return this.isOnList() ? (n = "https://kitsu.io/api/edge/library-entries/" + this.listI().id, t.data.id = this.listI().id, i = "PATCH") : (n = "https://kitsu.io/api/edge/library-entries/", t.data.relationships = { [e]: { data: { type: e, id: this.ids.kitsu.id } }, user: { data: { type: "users", id: yield this.userId() } } }, i = "POST"), this.logger.log(i, t), this.apiCall(i, n, t).then(t => (t && t.data && t.data.id && (this.listI().id = t.data.id), t)); })); } kitsuSlugtoKitsu(t, e) { return this.apiCall("Get", `https://kitsu.io/api/edge/${e}?filter[slug]=${t}&page[limit]=1&include=mappings`, {}).catch(n => { if (n.code === s.a.NotAutenticated) return this._authenticated = !1, this.apiCall("Get", `https://kitsu.io/api/edge/${e}?filter[slug]=${t}&page[limit]=1&include=mappings`, {}, !1); throw n; }).then(t => { let n = NaN; if (void 0 !== t && void 0 !== t.included) for (let i = 0; i < t.included.length; i++) { const a = t.included[i]; if ("mappings" === a.type) { if (a.attributes.externalSite === "myanimelist/" + e) { n = a.attributes.externalId, t.included.splice(i, 1); break; } a.attributes.externalSite === "anilist/" + e && (this.ids.ani = a.attributes.externalId); } } return { res: t, malId: n }; }); } malToKitsu(t, e) { return this.apiCall("Get", `https://kitsu.io/api/edge/mappings?filter[externalSite]=myanimelist/${e}&filter[externalId]=${t}&include=item&fields[item]=id`, {}).catch(n => { if (n.code === s.a.NotAutenticated) return this._authenticated = !1, this.apiCall("Get", `https://kitsu.io/api/edge/mappings?filter[externalSite]=myanimelist/${e}&filter[externalId]=${t}&include=item&fields[item]=id`, {}, !1); throw n; }).then(t => t); } userId() { return l(this, void 0, void 0, (function*() { const t = yield a.storage.get("kitsuUserId"); return void 0 !== t ? t : this.apiCall("Get", "https://kitsu.io/api/edge/users?filter[self]=true").then(t => { if (void 0 === t.data || !t.data.length || void 0 === t.data[0]) throw this.errorObj(s.a.NotAutenticated, "Not Authenticated"); return a.storage.set("kitsuUserId", t.data[0].id), t.data[0].id; }); })); } getScoreMode() { return a.settings.get("kitsuOptions").ratingSystem; } getScoreCheckbox() { switch (this.getScoreMode()) { case "simple": return [ { value: "0", label: a.storage.lang("UI_Score_Not_Rated") }, { value: "20", label: "😀" }, { value: "14", label: "🙂" }, { value: "8", label: "😐" }, { value: "2", label: "🙁" } ]; case "regular": { const t = [ { value: "0", label: a.storage.lang("UI_Score_Not_Rated") } ]; for (let e = 1; e < 11; e++) t.push({ value: (2 * e).toString(), label: (e / 2).toFixed(1).toString() }); return t; } case "advanced": { const t = [ { value: "0", label: a.storage.lang("UI_Score_Not_Rated") } ]; for (let e = 1; e < 21; e++) t.push({ value: e.toString(), label: (e / 2).toFixed(1).toString() }); return t; } default: return super.getScoreCheckbox(); } } getScoreCheckboxValue() { let t = this.listI().attributes.ratingTwenty; switch (t || (t = 0), this.getScoreMode()) { case "simple": return t ? t < 6 ? 2 : t < 12 ? 8 : t < 18 ? 14 : 20 : 0; case "regular": return 2 * Math.round(t / 2); case "advanced": return t; default: return super.getScoreCheckboxValue(); } } handleScoreCheckbox(t) { switch (this.getScoreMode()) { case "simple": case "regular": case "advanced": if (0 === t) return void (this.listI().attributes.ratingTwenty = null); this.listI().attributes.ratingTwenty = t; break; default: super.handleScoreCheckbox(t); } } delete() { return this.apiCall("DELETE", "https://kitsu.io/api/edge/library-entries/" + this.listI().id); } } }).call(this, n(4), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return l; })); var a = n(22), o = n(8), r = n(5), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class l extends a.a { constructor(e) { return super(e), this.url = e, this.episodeUpdate = !1, this.statusUpdate = !1, this.ratingUpdate = !1, this.minWatchedEp = 1, this.curWatchedEp = 0, this.shortName = "Simkl", this.authenticationUrl = "https://simkl.com/oauth/authorize?response_type=code&client_id=39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0&redirect_uri=https://simkl.com/apps/chrome/mal-sync/connected/", this.rewatchingSupport = !1, this.syncList = o.g, this.getSingle = o.f, this.call = o.a, this.errorHandling = o.c, this.logger = t.m(this.shortName, "#9b7400"), this; } handleUrl(t) { if (t.match(/simkl\.com\/(anime|manga)\/\d*/i)) { if (this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", this.ids.simkl = parseInt(i.urlPart(t, 4)), "manga" === this.type) throw "Simkl has no manga support"; } else { if (!t.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) throw this.errorObj(r.a.UrlNotSuported, "Url not supported"); if (this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", this.ids.mal = Number(i.urlPart(t, 4)), "manga" === this.type) throw "Simkl has no manga support"; } } getCacheKey() { return o.d(this.ids.mal, this.ids.simkl); } _getStatus() { return parseInt(o.h(this.animeInfo.status)); } _setStatus(t) { 23 === t && (t = 1), (t = o.h(t, parseInt(t.toString()))) !== this.animeInfo.status && (this.statusUpdate = !0), this.animeInfo.status = t; } _getScore() { const t = this.animeInfo.user_rating; return null === t ? 0 : t; } _setScore(t) { 0 === t && (t = null), t !== this.animeInfo.user_rating && (this.ratingUpdate = !0), this.animeInfo.user_rating = t; } _getEpisode() { return 2 === this._getStatus() ? this._getTotalEpisodes() : this.curWatchedEp; } _setEpisode(t) { t !== this.curWatchedEp && (this.episodeUpdate = !0), this.curWatchedEp = t; } _getVolume() { return 0; } _setVolume(t) { this.logger.error("You cant set Volumes for animes"); } _getTags() { let t = this.animeInfo.private_memo; return null !== t && "null" !== t || (t = ""), t; } _setTags(t) { this.animeInfo.private_memo = t; } _getTitle() { return this.animeInfo.show.title; } _getTotalEpisodes() { const t = this.animeInfo.total_episodes_count; return null === t ? 0 : t; } _getTotalVolumes() { return 0; } _getDisplayUrl() { return `https://simkl.com/${this.getType()}/${this.ids.simkl}`; } _getImage() { return Promise.resolve(`https://simkl.in/posters/${this.animeInfo.show.poster}_ca.jpg`); } _getRating() { return s(this, void 0, void 0, (function*() { try { return (yield this.call("https://api.simkl.com/ratings", { simkl: this.ids.simkl }, !0)).simkl.rating; } catch (t) { return this.logger.error(t), "N/A"; } })); } _update() { return s(this, void 0, void 0, (function*() { let t; return t = Number.isNaN(this.ids.mal) ? { simkl: this.ids.simkl } : { mal: this.ids.mal }, this._authenticated = !0, this.getSingle(t).catch(t => { if (t.code === r.a.NotAutenticated) return this._authenticated = !1, ""; throw t; }).then(e => s(this, void 0, void 0, (function*() { if (this.logger.log(e), this.episodeUpdate = !1, this.statusUpdate = !1, this.ratingUpdate = !1, this.animeInfo = e, this._onList = !0, !this.animeInfo) { let e; if (this._onList = !1, t.simkl) { if (e = yield this.call("https://api.simkl.com/anime/" + t.simkl, { extended: "full" }, !0), !e) throw this.errorObj(r.a.EntryNotFound, "Anime not found"); } else { if (e = yield this.call("https://api.simkl.com/search/id", t, !0), !e) throw this.errorObj(r.a.EntryNotFound, "Anime not found"); if (e[0].mal && e[0].mal.type && "Special" === e[0].mal.type) throw { code: 415, message: "Is a special" }; e = e[0]; } this.animeInfo = { last_watched: "", last_watched_at: "", next_to_watch: "", not_aired_episodes_count: 0, private_memo: "", status: "plantowatch", total_episodes_count: 0, user_rating: null, watched_episodes_count: 0, show: e }, this.logger.log("Add anime", this.animeInfo); } if (Number.isNaN(this.ids.simkl) && (this.ids.simkl = parseInt(this.animeInfo.show.ids.simkl)), Number.isNaN(this.ids.mal) && void 0 !== this.animeInfo.show.ids.mal && (this.ids.mal = this.animeInfo.show.ids.mal), this.curWatchedEp = o.e(this.animeInfo.last_watched), !this.curWatchedEp && this.animeInfo.next_to_watch) { const t = o.e(this.animeInfo.next_to_watch); t && (this.curWatchedEp = t - 1); } if (this.minWatchedEp = this.curWatchedEp + 1, !this._authenticated) throw this.errorObj(r.a.NotAutenticated, "Not Authenticated"); }))); })); } _sync() { return s(this, void 0, void 0, (function*() { if (this.logger.log("[SET] Object:", this.animeInfo, "status", this.statusUpdate, "episode", this.episodeUpdate, "rating", this.ratingUpdate, "minWatchedEp", this.minWatchedEp, "curWatchedEp", this.curWatchedEp), this.statusUpdate || !this.isOnList()) { const t = yield this.call("https://api.simkl.com/sync/add-to-list", JSON.stringify({ shows: [ { to: this.animeInfo.status, ids: { simkl: this.ids.simkl } } ] }), !1, "POST"); this.logger.log("Status response", t); } if (this.episodeUpdate || !this.isOnList()) { const t = this.curWatchedEp, e = []; if (this.minWatchedEp <= t) { if (t) { for (let n = this.minWatchedEp; n <= t; n++) e.push({ number: n }); const n = yield this.call("https://api.simkl.com/sync/history", JSON.stringify({ shows: [ { ids: { simkl: this.ids.simkl }, private_memo: this.animeInfo.private_memo, seasons: [ { number: 1, episodes: e } ] } ] }), !1, "POST"); this.logger.log("Episode response", n); } } else { for (let n = this.minWatchedEp - 1; n > t; n -= 1) e.push({ number: n }); const n = yield this.call("https://api.simkl.com/sync/history/remove", JSON.stringify({ shows: [ { ids: { simkl: this.ids.simkl }, seasons: [ { number: 1, episodes: e } ] } ] }), !1, "POST"); this.logger.log("Episode remove response", n); } this.minWatchedEp = t + 1; } if (this.ratingUpdate) if (this.animeInfo.user_rating) { const t = yield this.call("https://api.simkl.com/sync/ratings", JSON.stringify({ shows: [ { rating: this.animeInfo.user_rating, ids: { simkl: this.ids.simkl } } ] }), !1, "POST"); this.logger.log("Rating response", t); } else { const t = yield this.call("https://api.simkl.com/sync/ratings/remove", JSON.stringify({ shows: [ { ids: { simkl: this.ids.simkl } } ] }), !1, "POST"); this.logger.log("Rating remove response", t); } this.episodeUpdate = !1, this.statusUpdate = !1, this.ratingUpdate = !1; })); } jsonParse(t) { if ("" === t.responseText) throw { code: 444, message: "No Response" }; try { return JSON.parse(t.responseText); } catch (t) { throw { code: 406, message: "Not Acceptable", error: t }; } } delete() { return this.call("https://api.simkl.com/sync/history/remove", JSON.stringify({ shows: [ { ids: { simkl: this.ids.simkl } } ] }), !1, "POST"); } } }).call(this, n(4), n(1)); }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return je; })); var i = n(121), a = n(122), o = n(123), r = n(124), s = n(125), l = n(126), c = n(127), d = n(128), m = n(129), u = n(130), p = n(131), h = n(132), g = n(133), f = n(134), v = n(135), b = n(136), y = n(137), w = n(138), _ = n(139), x = n(140), k = n(141), S = n(142), $ = n(143), E = n(144), T = n(145), P = n(146), C = n(147), A = n(148), I = n(149), O = n(150), U = n(151), M = n(152), L = n(153), N = n(154), R = n(155), j = n(156), V = n(157), D = n(158), z = n(159), F = n(160), H = n(161), B = n(162), K = n(163), q = n(164), W = n(165), J = n(166), G = n(167), Y = n(168), Z = n(169), Q = n(170), X = n(171), tt = n(172), et = n(173), nt = n(174), it = n(175), at = n(176), ot = n(177), rt = n(178), st = n(179), lt = n(180), ct = n(181), dt = n(182), mt = n(183), ut = n(184), pt = n(185), ht = n(186), gt = n(187), ft = n(188), vt = n(189), bt = n(190), yt = n(84); const wt = Object(yt.b)(); wt.name = "MangaFox", wt.domain = [ "http://fanfox.net", "http://mangafox.la" ]; const _t = wt; var xt = n(191), kt = n(192), St = n(193), $t = n(194), Et = n(195), Tt = n(196), Pt = n(197), Ct = n(13); const At = Object(Ct.b)(); At.name = "EdelgardeScans", At.domain = "https://edelgardescans.com"; const It = At, Ot = Object(Ct.b)(); Ot.name = "HatigarmScanz", Ot.domain = "https://hatigarmscanz.net"; const Ut = Ot; var Mt = n(198); const Lt = Object(Ct.b)(); Lt.name = "MethodScans", Lt.domain = "https://methodscans.com"; const Nt = Lt, Rt = Object(Ct.b)(); Rt.name = "NonamesScans", Rt.domain = "https://the-nonames.com"; const jt = Rt, Vt = Object(Ct.b)(); Vt.name = "ReaperScans", Vt.domain = "https://reaperscans.com"; const Dt = Vt, zt = Object(Ct.b)(); zt.name = "LynxScans", zt.domain = "https://lynxscans.com"; const Ft = zt; var Ht = n(199), Bt = n(200), Kt = n(201), qt = n(202), Wt = n(203), Jt = n(204), Gt = n(205), Yt = n(206), Zt = n(207), Qt = n(208), Xt = n(209), te = n(210), ee = n(211), ne = n(212), ie = n(213), ae = n(214), oe = n(215), re = n(216), se = n(217), le = n(218), ce = n(219), de = n(220), me = n(221), ue = n(222), pe = n(223), he = n(224), ge = n(225), fe = n(226), ve = n(227), be = n(228), ye = n(229), we = n(230), _e = n(231), xe = n(232), ke = n(233), Se = n(234), $e = n(235), Ee = n(236); const Te = Object(Ct.b)(); Te.name = "HunlightScans", Te.domain = "https://hunlight-scans.info/"; const Pe = Te; var Ce = n(237), Ae = n(238), Ie = n(239), Oe = n(240), Ue = n(241), Me = n(242), Le = n(243), Ne = n(244), Re = n(245); const je = { nineAnime: i.a, Crunchyroll: a.a, Vrv: f.a, Mangadex: o.a, Gogoanime: r.a, Twistmoe: c.a, Branitube: s.a, TurkAnime: l.a, animepahe: p.a, Netflix: u.a, Animeflv: h.a, Jkanime: g.a, Proxer: v.a, Wakanim: $.a, Emby: d.a, Plex: m.a, fourAnime: b.a, animeultima: y.a, Aniflix: w.a, Animefreak: _.a, AnimeLab: x.a, KickAssAnime: k.a, AnimeKisa: S.a, AnimeIndo: E.a, Shinden: T.a, Voiranime: P.a, DubbedAnime: C.a, MangaNato: I.a, VIZ: A.a, NekoSama: O.a, AnimeOdcinki: M.a, AnimeZone: U.a, Animeflix: L.a, serimanga: N.a, mangadenizi: R.a, moeclip: j.a, mangalivre: V.a, tmofans: D.a, unionmangas: z.a, MangaPlus: F.a, JapScan: H.a, Goyabu: B.a, AnimesVision: K.a, Hulu: q.a, Hidive: W.a, FallenAngels: J.a, PrimeVideo: G.a, MangaKatana: Y.a, manga4life: Z.a, bato: Q.a, DreamSub: X.a, MangaPark: tt.a, AnimesHouse: et.a, AnimeXin: nt.a, MonosChinos: it.a, AnimeFire: at.a, OtakuFR: ot.a, Samehadaku: rt.a, TsukiMangas: st.a, mangatx: lt.a, TRanimeizle: ct.a, Anihub: dt.a, AnimeStreamingFR: mt.a, Scantrad: ut.a, Furyosquad: pt.a, AnimeId: ht.a, AniMixPlay: gt.a, MyAnimeListVideo: ft.a, AnimeSimple: vt.a, AnimeUnity: bt.a, MangaHere: yt.a, MangaFox: _t, JustAnime: xt.a, YayAnimes: kt.a, DesuOnline: St.a, Simplyaweeb: $t.a, Animevibe: Et.a, WuxiaWorld: Tt.a, AnimeOnDemand: Pt.a, EdelgardeScans: It, HatigarmScanz: Ut, LeviatanScans: Mt.a, MethodScans: Nt, NonamesScans: jt, ReaperScans: Dt, LynxScans: Ft, SKScans: Ht.a, ZeroScans: Ct.a, DeathTollScans: Bt.a, KireiCake: Kt.a, SenseScans: qt.a, ManhuaPlus: Wt.a, Readm: Jt.a, tioanime: Gt.a, YugenAnime: Yt.a, MangaSee: Zt.a, AnimeTribes: Qt.a, Okanime: Xt.a, BSTO: te.a, Pantsubase: ee.a, AnimeOwl: ne.a, AsuraScans: ie.a, NaniScans: ae.a, MerakiScans: oe.a, Jellyfin: re.a, An1me: se.a, MangaJar: le.a, AnimeDao: ce.a, Otakustv: de.a, Komga: me.a, AnimeWho: ue.a, AnimeSuge: pe.a, Toonily: he.a, Fumetsu: ge.a, NonstopScans: fe.a, FrixySubs: ve.a, Guya: be.a, MangaHub: ye.a, ComicK: we.a, AnimeShitai: _e.a, KangaryuTeam: xe.a, Japanread: ke.a, CatManga: Se.a, MangaSushi: $e.a, ArangScans: Ee.a, HunlightScans: Pe, TritiniaScans: Ce.a, ReadManhua: Ae.a, FlameScans: Ie.a, ImmortalUpdates: Oe.a, Zoro: Ue.a, Funimation: Me.a, Kitsune: Le.a, AnimesOnline: Ne.a, LHTranslation: Re.a }; }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return c; })); var i = n(15), a = n(83); const o = a.a; var r = n(111), s = n(112), l = n(113); function c(t, e, n = {}, c = !1, d = "") { return d || (d = i.a(e)), "KITSU" === d ? Object(s.a)(t, e, n, c) : "ANILIST" === d ? Object(r.a)(t, e, n, c) : "SIMKL" === d ? Object(l.a)(t, e, n, c) : "MALAPI" === d ? Object(a.a)(t, e, n, c) : o(t, e, n, c); } }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "b", (function() { return l; })), n.d(e, "a", (function() { return m; })), n.d(e, "c", (function() { return g; })); var o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let r; const s = t.m("Player"); function l(t) { clearInterval(r), r = setInterval((function() { const e = document.getElementsByTagName("video"); for (let n = 0; n < e.length; n++) { const i = e[n], {duration: a} = i, o = i.currentTime, {paused: r} = i; if (a && a > 60) { const e = { current: o, duration: a, paused: r }; s.debug(window.location.href, e), t(e, i), d(e, i); break; } } }), 1e3); } let c = ""; function d(e, n) { const a = n.currentSrc; e.current > 1 && c !== a && (c = a, s.log("New player detected", n.currentSrc), function(e) { o(this, void 0, void 0, (function*() { if (yield i.settings.getAsync("autofull")) if (window.fullScreen || window.innerWidth === window.screen.width && window.innerHeight === window.screen.height) t.info("Browser already in fullscreen"); else { let t = e; const i = [ "player", "vstr", "vplayer", "mgvideo", "myVideo", "b-video-wrapper", "vilos" ], a = [ "AT-player", "plyr", "AkiraPlayer", "video-js" ]; let o = !1; for (const e in i) { const n = document.getElementById(i[e]); if (null !== n) { o = !0, t = n; break; } } for (const e in a) { const n = document.getElementsByClassName(a[e]).item(0); if (null !== n) { o = !0, t = n; break; } } if (!o) { const e = t.offsetHeight, n = t.offsetWidth; for (;t.parentElement && e === t.parentElement.offsetHeight && n === t.parentElement.offsetWidth; ) t = t.parentElement, o = !0; } if (!o && !e.getAttribute("controls")) { function n() { (document.webkitIsFullScreen || document.mozFullScreen || null !== document.msFullscreenElement) && e.removeAttribute("controls", "controls"); } document.addEventListener && (document.addEventListener("fullscreenchange", n, !1), document.addEventListener("mozfullscreenchange", n, !1), document.addEventListener("MSFullscreenChange", n, !1), document.addEventListener("webkitfullscreenchange", n, !1)), e.setAttribute("controls", "controls"); } t.requestFullscreen ? t.requestFullscreen() : t.msRequestFullscreen ? t.msRequestFullscreen() : t.mozRequestFullScreen ? t.mozRequestFullScreen() : t.webkitRequestFullscreen && t.webkitRequestFullscreen(); } })); }(n)); } function m(t) { if (i.settings.get("floatButtonStealth")) return; const e = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; if (e) { const n = a.$(a.html(`\n <div style="\n all: initial;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n color: white;\n display: none;\n z-index: 20000;\n ">\n <div style="\n background: rgba(50, 50, 50, 0.6);\n color: white;\n padding: 10px 15px 10px;\n margin-left: auto;\n margin-right: auto;\n max-width: 60%;\n display: table;\n font-family: Helvetica,Arial,sans-serif;\n text-align: center;\n ">${t}</div>\n </div>\n `)).appendTo(a.$(e)); n.slideDown(400).delay(2e3).slideUp(400, () => { n.remove(); }); } } let u, p = !1; const h = [ "introSkipFwd", "introSkipBwd", "nextEpShort", "correctionShort", "syncShort" ]; function g(e) { u = e, p || function() { p = !0; let n = {}; function a(i) { const a = (i = i || event).which || i.keyCode; n[a] = "keydown" === i.type; for (let e = 0; e < h.length; e++) { const n = h[e]; o(n) && (i.target instanceof Node && (/textarea|input|select/i.test(i.target.nodeName) || i.target instanceof Element && i.target.shadowRoot) ? t.info("Input field. Shortcut suppressed.") : r(n)); } function r(t) { return n = {}, e({ shortcut: t }), !1; } } function o(t) { const e = i.settings.get(t); if (!e.length) return !1; let a = !0; return e.forEach((function(t) { n[t] || (a = !1); })), a && Object.values(n).filter(t => t).length !== e.length && (a = !1), a; } document.addEventListener("keydown", a), document.addEventListener("keyup", a), window.addEventListener("focus", (function() { n = {}; }), !1); }(); } }).call(this, n(4), n(0), n(2)); }, function(t, e, n) { "use strict"; (function(t, i) { var a = n(259), o = n(260), r = n(261), s = n(262); e.a = { components: { entry: r.a, inputButton: o.a, search: a.a, rules: s.a }, data: () => ({ inputOffset: 0, minimized: !1 }), computed: { searchClass() { return this.$parent.searchClass; }, syncPage() { return this.$parent.searchClass.getSyncPage(); }, rulesClass() { return this.searchClass.rules; }, currentStateEp() { if (this.syncPage && this.syncPage.curState && this.syncPage.curState.episode) return this.syncPage.curState.episode; }, syncMode() { return this.$parent.syncMode; }, offset() { return this.searchClass.getOffset(); } }, created() { this.minimized = t.settings.get("minimizeBigPopup"); }, methods: { lang: t.storage.lang, setPage(e, n = 0) { this.searchClass.setUrl(e, n), i.flashm(t.storage.lang("correction_NewUrl", [ e ]), !1), this.close(); }, setOffset(t) { this.searchClass.setOffset(t); }, close() { this.$root.$destroy(); }, calcEpOffset(t) { return parseInt(t) - parseInt(this.inputOffset); } } }; }).call(this, n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t) { var i = n(39); let a; e.a = { components: {}, props: { type: { type: String, default: "anime" }, keyword: { type: String, default: "" }, syncMode: { type: Boolean, default: !1 }, currentId: { type: Number, default: 0 } }, data: () => ({ items: [], loading: !1, searchKeyword: "" }), watch: { keyword() { this.searchKeyword = this.keyword, this.load(); }, searchKeyword() { clearTimeout(a), a = setTimeout(() => { this.load(); }, 200); }, type() { this.load(); } }, mounted() { this.syncMode && (this.searchKeyword = this.keyword, this.load()); }, methods: { lang: t.storage.lang, load() { this.searchKeyword && (this.loading = !0, Object(i.a)(this.searchKeyword, this.type).then(t => { this.loading = !1, this.items = t, this.$nextTick(() => { this.$el.scrollIntoView({ behavior: "smooth" }); }); })); }, inputFocus() { this.searchKeyword || (this.searchKeyword = this.keyword); }, async clickItem(t, e) { if (t.preventDefault(), !e) return void this.$emit("clicked", { url: "", id: 0 }); const n = await e.malUrl(); n ? this.$emit("clicked", { url: n, id: e.id }) : this.$emit("clicked", { url: e.url, id: e.id }); } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t) { e.a = { props: { state: { type: [ String, Number ], default: "" }, type: { type: String, default: "" }, label: { type: String, default: "" } }, data: () => ({ inputString: "" }), watch: { state() { this.inputString = this.state; }, inputString() { this.$emit("change", this.inputString); } }, mounted() { this.inputString = this.state; }, methods: { lang: t.storage.lang, click() { this.$emit("clicked", this.inputString); } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t, n) { e.a = { props: { obj: { type: Object, default: void 0 } }, data: () => ({ image: "" }), computed: { status: { get() { return this.obj && this.obj.isAuthenticated() ? this.obj.getStatus() : null; }, set(t) { this.obj && this.obj.isAuthenticated() && this.obj.setStatus(t); } }, episode: { get() { return this.obj && this.obj.isAuthenticated() && this.obj.isOnList() ? this.obj.getEpisode() : null; }, set(t) { this.obj && this.obj.isAuthenticated() && this.obj.setEpisode(t); } }, volume: { get() { return this.obj && this.obj.isAuthenticated() && this.obj.isOnList() ? this.obj.getVolume() : null; }, set(t) { this.obj && this.obj.isAuthenticated() && this.obj.setVolume(t); } }, score: { get() { return this.obj && this.obj.isAuthenticated() ? this.obj.getDisplayScoreCheckbox() : null; }, set(t) { this.obj && this.obj.isAuthenticated() && this.obj.setScore(t); } } }, watch: { obj: { deep: !0, immediate: !0, handler(t, e) { if (t && (!e || e.getUrl() !== t.getUrl())) { const e = t.getUrl(); t.getImage().then(t => { this.obj && this.obj.getUrl() === e && (this.image = t); }); } } } }, methods: { lang: t.storage.lang, utilsepisode: n.episode, statusText(e) { switch (e) { case 1: return t.storage.lang("UI_Status_watching_" + this.obj.getType()); case 2: return t.storage.lang("UI_Status_Completed"); case 3: return t.storage.lang("UI_Status_OnHold"); case 4: return t.storage.lang("UI_Status_Dropped"); case 6: return t.storage.lang("UI_Status_planTo_" + this.obj.getType()); case 23: return t.storage.lang("UI_Status_Rewatching_" + this.obj.getType()); default: return ""; } } } }; }).call(this, n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t) { e.a = { props: { obj: { type: Object, default: void 0 } }, data: () => ({}), computed: { rules() { return this.obj && this.obj.getRules() ? this.obj.getRules().sort((t, e) => t.from.start - e.from.start) : []; } }, methods: { lang: t.storage.lang, activeRule(t) { return { active: !!this.obj && t === this.obj.activeRule }; } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(9); e.a = { data: () => ({ streamUrl: void 0, continueUrl: null, resumeUrl: null, links: null, pageSearch: null, pageRelation: null, classes: { minimized: !0, search: !1 } }), watch: { streamUrl(t) { t && (this.classes.minimized = !0, this.classes.search = !1); } }, created() { const t = JSON.parse(localStorage.getItem("SIMKL-MAL-SYNC")); t && (this.classes = t); }, methods: { lang: t.storage.lang, favicon: i.favicon, assetUrl: t.storage.assetUrl, getMal2KissFavicon(t) { try { return i.favicon(t); } catch (t) { return a.error(t), ""; } }, toggleSearch() { this.classes.search = !this.classes.search, this.saveClasses(); }, pressMinimized() { null === this.links || Object.keys(this.links).length ? this.toggleMinimized() : this.toggleSearch(), this.saveClasses(); }, toggleMinimized() { this.classes.minimized = !this.classes.minimized, this.classes.search && this.classes.minimized && this.toggleSearch(), this.saveClasses(); }, removeSource(t) { Object(o.c)(String(t.name)), window.location.reload(); }, saveClasses() { localStorage.setItem("SIMKL-MAL-SYNC", JSON.stringify(this.classes)); } } }; }).call(this, n(0), n(1), n(4)); }, function(t, e, n) { var i = n(296); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { var r = n(263), s = n(264), l = n(265), c = n(266), d = n(267), m = n(268), u = n(269), p = n(270), h = n(271), g = n(272), f = n(273), v = n(274), b = n(19), y = n(16); let w, _ = !0, x = !1; const k = {}; let S = []; const $ = { anime: [], manga: [] }, E = { fetch: () => JSON.parse(localStorage.getItem("VUE-MAL-SYNC") || "[]"), save(t) { localStorage.setItem("VUE-MAL-SYNC", JSON.stringify(t)); } }; e.a = { components: { overviewVue: s.a, recommendationsVue: l.a, reviewsVue: g.a, bookmarksVue: c.a, searchVue: d.a, updateCheckVue: m.a, listSyncVue: u.a, cleanTagsVue: p.a, allSitesVue: h.a, customDomainsVue: f.a, quicklinksEdit: v.a, settingsVue: r.a }, data: () => ({ tabs: { overview: { title: "overview", scroll: 0 }, reviews: { title: "reviews", scroll: 0 }, recommendations: { title: "recommendations", scroll: 0 }, settings: { title: "settings", scroll: 0 }, bookmarks: { title: "bookmarks", scroll: 0, state: 1, type: "anime", sort: null, supportsRewatch: !1 }, search: { title: "search", scroll: 0, type: "anime", keyword: "" }, updateCheck: { title: "updateCheck", scroll: 0 }, listSync: { title: "listSync", scroll: 0, type: "anime" }, cleanTags: { title: "cleanTags", scroll: 0 }, allSites: { title: "allSites", scroll: 0 }, customDomains: { title: "customDomains", scroll: 0 }, quicklinks: { title: "quicklinks", scroll: 0 } }, keyword: "", currentTab: "settings", renderUrl: "", renderObj: null, history: [], baseFallback: "", page: null, options: t.settings.options }), computed: { base() { return this.page ? this.page.singleObj ? this.page.singleObj.getUrl() : (this.renderUrl = "", "") : this.baseFallback; }, renderMalUrl() { return null !== this.renderObj ? this.renderObj.getMalUrl() : null; }, showReviewAndRecom() { return null !== this.renderMalUrl || null === this.renderObj; }, utils: () => i, backbutton() { return this.history.length > 0; }, backbuttonSearchStyle() { return this.backbutton ? { "margin-left": "-17px" } : { "margin-left": "-57px" }; }, backbuttonBookStyle() { return this.backbutton ? { left: "40px" } : { left: "0px" }; }, popOver() { return this.currentTab === this.tabs.bookmarks.title || (this.currentTab === this.tabs.search.title || (this.currentTab === this.tabs.updateCheck.title || (this.currentTab === this.tabs.listSync.title || (this.currentTab === this.tabs.cleanTags.title || (this.currentTab === this.tabs.allSites.title || (this.currentTab === this.tabs.customDomains.title || this.currentTab === this.tabs.quicklinks.title)))))); }, navigation() { return !this.popOver && !this.onlySettings; }, onlySettings() { return "" === this.renderUrl; }, listView: { get: () => t.settings.get("bookMarksList"), set(e) { t.settings.set("bookMarksList", e); } }, bookIcon() { a.$(this.$el); return "bookmarks" === this.currentTab ? this.onlySettings ? "settings" : "collections_bookmark" : "book"; } }, watch: { renderUrl(t) { this.renderObj = null; const e = Object(b.b)(t); e.update().then(() => { this.renderObj = e, this.tabs.search.type = this.renderObj.getType(), this.renderObj.initProgress(); }).catch(t => { throw this.renderObj = e, this.renderObj.flashmError(t), t; }); }, currentTab(t, e) { this.tabs[e].scroll = this.getScroll(), this.$nextTick(() => { this.setScroll(this.tabs[t].scroll); }), _ ? _ = !1 : (this.currentTab === this.tabs.bookmarks.title && this.history.push(this.getCurrent(e)), this.currentTab === this.tabs.search.title && this.history.push(this.getCurrent(e)), this.currentTab === this.tabs.updateCheck.title && this.history.push(this.getCurrent(e)), this.currentTab === this.tabs.listSync.title && this.history.push(this.getCurrent(e)), this.currentTab === this.tabs.cleanTags.title && this.history.push(this.getCurrent(e)), this.currentTab === this.tabs.allSites.title && this.history.push(this.getCurrent(e)), this.currentTab === this.tabs.customDomains.title && this.history.push(this.getCurrent(e)), this.currentTab === this.tabs.quicklinks.title && this.history.push(this.getCurrent(e))); }, keyword(t) { "" !== t ? this.selectTab("search") : this.selectTab("overview"); }, base(t, e) { if (t !== e) { for (;this.history.length > 0; ) this.history.pop(); this.fill(t, !0); } } }, mounted() { if (this.isPopup()) { const t = E.fetch(); void 0 !== t && void 0 !== t.currentTab && (x = !0, this.setCurrent(t)); } a.$(this.$el).find(".mdl-layout__content").first().scroll(() => { if (S.length) { const t = { pos: this.getScroll(), elHeight: a.$(this.$el).find(".mdl-layout__content").first().height(), height: a.$(this.$el).find(".mdl-layout__content > .is-active").first().height() }; for (const e in S) S[e](t); } }); }, updated() { this.isPopup() && E.save(this.getCurrent(this.currentTab)); }, methods: { lang: t.storage.lang, getTheme: t => "auto" === t.theme ? !window.matchMedia || window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : t.theme, selectTab(t) { let e = t; !this.onlySettings || "overview" !== e && "reviews" !== e && "recommendations" !== e || (e = "settings"), o.log("Tab Changed", e), this.currentTab = e; }, registerScroll(t, e) { k[t] = e, S = Object.values(k); }, unregisterScroll(t) { delete k[t], S = Object.values(k); }, getScroll() { return a.$(this.$el).find(".mdl-layout__content").first().scrollTop(); }, setScroll(t) { return a.$(this.$el).find(".mdl-layout__content").first().scrollTop(t); }, isPopup: () => !!a.$("#Mal-Sync-Popup").length, fill(t, e = !1) { o.log("fill", t); a.$(this.$el); return null === t ? (this.isPopup() && this.selectTab("bookmarks"), !1) : /^https:\/\/myanimelist.net\/(anime|manga)\/\d+/i.test(t) || /^https:\/\/kitsu.io\/(anime|manga)\/.+/i.test(t) || /^https:\/\/anilist.co\/(anime|manga)\/\d+/i.test(t) || /^https:\/\/simkl.com\/(anime|manga)\/\d+/i.test(t) || /^local:\/\//i.test(t) ? (e || (this.tabs[this.currentTab].scroll = this.getScroll(), this.history.push(this.getCurrent(this.currentTab))), this.renderUrl = t, this.currentTab = "overview", !0) : (this.isPopup() && this.selectTab("bookmarks"), !1); }, urlClick(e) { let n = e; if (/^local:\/\//i.test(n) || (n = i.absoluteLink(n, "https://myanimelist.net")), !this.fill(n)) { const e = window.open(n, "_blank"); e ? e.focus() : alert(t.storage.lang("minimalClass_Popup")); } }, fillBase(t) { o.log("Fill Base", t, this.history), x && null === t || (this.baseFallback = t), "" === t && (this.renderUrl = t); }, setPage(t) { this.page = t, void 0 === this.page.singleObj && this.$set(this.page, "singleObj", void 0); }, backbuttonClick() { o.log("History", this.history), this.history.length > 0 && this.setCurrent(this.history.pop()); }, bookClick() { a.$(this.$el); "book" !== this.bookIcon ? this.selectTab("overview") : (this.renderObj && (this.tabs.bookmarks.type = this.renderObj.getType()), this.selectTab("bookmarks")); }, keywordSet() { clearTimeout(w), w = setTimeout(() => { this.tabs.search.keyword = this.keyword; }, 300); }, getCurrent(t, e = this.renderUrl) { return { renderUrl: e, currentTab: t, tabData: a.$.extend(!0, {}, this.tabs[t]) }; }, setCurrent(t) { o.log("Set Current", t), void 0 !== t.tabData.keyword && (this.keyword = t.tabData.keyword), this.tabs[t.currentTab] = t.tabData, this.renderUrl = t.renderUrl, this.currentTab !== t.currentTab && (_ = !0), this.currentTab = t.currentTab; }, rebuildListSync() { this.currentTab = "", this.$nextTick(() => { this.currentTab = "listSync"; }); }, searchClick(t) { this.urlClick(t.url); }, openLink(t) { const e = document.createElement("a"); e.href = t, document.getElementById("malList").appendChild(e), e.click(); }, async openRandom(t, e) { if (!$[e].length) { i.flashm("Loading"); const n = await Object(y.a)(t, e); await n.getCompleteList().then(async t => { $[e] = t; }).catch(t => { o.error(t); }); } $[e].length > 1 ? this.openLink($[e][Math.floor(Math.random() * $[e].length)].url) : i.flashm("List is too small!"); } } }; }).call(this, n(0), n(1), n(2), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { var r = n(275), s = n(276), l = n(277), c = n(278), d = n(279), m = n(280), u = n(86), p = n(281), h = n(282), g = n(94), f = n(20); e.a = { components: { correction: p.a, tooltip: u.a, checkbox: r.a, numberInput: s.a, dropdown: l.a, fileUpload: c.a, shortcut: d.a, login: m.a, quicklinksOverview: h.a }, props: { page: { type: Object, default: null } }, data: () => ({ contributer: [], isOpen: !1, options: t.settings.options, commands: null, progressAnimeDropdown: [], progressMangaDropdown: [], version: { link: "https://malsync.moe/changelog#" + t.storage.version(), img: `https://img.shields.io/badge/Changelog-${t.storage.version()}-green.svg?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAtxQTFRFAAAARj1Hw158LyQzRDRBVF54Ew0ZXqvnIx4labLsQEFTdsD7ZpPC////VE1SNCg3Nik7PS1CSzBKWjRXczBXjjBUsTZd0WuILSUyMiU2MiI2Nyc9dypNoClRbC5INTQ+YXKMMCQ7PyQ/WitFKx4vFxchT16CRStIPSY6TSQ6jjhScb33TViCpCROni9VYKzqTlN+qDBZXK3sYi5JXbHyQzNGXLLzTTZOW6/wQC5EX67sNSw7Y67qWa3vLCUzMCo1uc3fXq3rWa/yLCgxSEdKZa7nV6rrWrDyKCEsMzA1aLDpYbLyYbj6SUJgPj5VLy87e8D6csP+c8r/d9L/fNT+esnydLbgcKfOa5vDdJ/MQi5GSjFLTTFOYi9PWS1NUS9OTTFPRzFLSDJMTTBMXjBPaS5NZzBVgTdjczVfbjVhXjVaTjRTQzJMSzRNTzVOTzNLai1ShzJcjjNdiDNeejRhbDVhWzZbSzRRQzFKQjJKUDNMiyxPYy9UlzBfyDBlpjJgcjJbajNfXDVaTDNRPzBHPTBHVDJNrDBZxSpaV1aBajBZkDNipzNjnTNjdDJdYzJcXDRZTzRQPzFHRzJHZTJNcS9MZ2WUcS9VcDNdezRgcjJeezNgZTNaTjNRRDFLQzJJQjNHQjJGWDJLUjJKYoK4cS5NWTFTWzRaWDJVbjRbWDNVSzNQRjJMUTRLSTVHSzRJjjZbfDdZYqXlhEZwVS5MSzRUVTNUczVbTjJRSTNOUDRMSTNLQTJISTNGczZUXjVRWrH0W3+1Ri9OSDJSSzNSTDNTRzJRRzNRSTNNQzJLPzFKPjJGPjFCOSw/W67vTWOORi5NSjJRSzNVTDRURTJRQTBNQTFKQzJKPjFINSw9XKrpSVyIQCxLRS9QRjJSQjJPRzRQUTROQjBFLyc1W6rrS22ePTRVQSxLSjNVSzZYTzZWUTJPOSw+Z778YqPWWnGcV1F/UkZxT0Nm////ch6M6QAAAFp0Uk5TAAAAAAAAAAAAAAAAAAABKH2/3+bIjTgFCm7a/f7nhRILifn9nRJx+v6JBC3b6UV//aPB3OTz5/bL3Y6oNuLuTAGA/ZsIEp79shwRhervmxwFQqDd+frjqksImWc25wAAAAFiS0dEDfa0YfUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEbSURBVBjTARAB7/4AAAABDg8QERITFBUWFwIAAAAAAxgZGhtaW1xdHB0eHwQAAAUgISJeX2BhYmNkZSMkJQYAACYnZmdoaWprbG1ubygpKgArLHBxcnN0dXZ3eHl6ey0uAC8wfH1+f4CBgoOEhYaHiDEAMomKi4yNjo+QkZKSk5SVMwA0lpeYmZqbnJ2en6ChoqM1ADakpaanqKmqq6ytrq+wsTcAOLKztLW2t7i5uru8vb6/OQA6wMHCw8TFxsfIycrLzM07ADw9zs/Q0dLT1NXW19jZPj8AQEFC2tvc3d7U3+Dh4uNDRAAHRUZH5OXm5+jp6uvsSEkIAAAJSktM7e7v8PHyTU5PCgAAAAALUFFSU1RVVldYWQwNAEGXdELuOiRkAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTA1LTE2VDEzOjM2OjI0KzAwOjAwK9TuQgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wNS0xNlQxMzozNjoyNCswMDowMFqJVv4AAABGdEVYdHNvZnR3YXJlAEltYWdlTWFnaWNrIDYuNy44LTkgMjAxNC0wNS0xMiBRMTYgaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmfchu0AAAAAGHRFWHRUaHVtYjo6RG9jdW1lbnQ6OlBhZ2VzADGn/7svAAAAGHRFWHRUaHVtYjo6SW1hZ2U6OmhlaWdodAAxOTIPAHKFAAAAF3RFWHRUaHVtYjo6SW1hZ2U6OldpZHRoADE5MtOsIQgAAAAZdEVYdFRodW1iOjpNaW1ldHlwZQBpbWFnZS9wbmc/slZOAAAAF3RFWHRUaHVtYjo6TVRpbWUAMTUyNjQ3Nzc4NGTqj8oAAAAPdEVYdFRodW1iOjpTaXplADBCQpSiPuwAAABWdEVYdFRodW1iOjpVUkkAZmlsZTovLy9tbnRsb2cvZmF2aWNvbnMvMjAxOC0wNS0xNi82ODRlZmQxYzBmMTdmMzAxMjIzMWFmNzQ4YzhmYjJjYy5pY28ucG5nP6GaiQAAAABJRU5ErkJggg==` }, legacy: !1 }), mounted() { Object(f.a)("anime").then(t => this.progressAnimeDropdown = t), Object(f.a)("manga").then(t => this.progressMangaDropdown = t), t.request.xhr("GET", "https://api.malsync.moe/static/contributor").then(t => { try { this.contributer = JSON.parse(t.responseText); } catch (t) { return void i.error("Contributer Could not be retieved", t); } i.log("Contributer", this.contributer); }), "webextension" === t.type && a.$("#Mal-Sync-Popup").length && chrome.commands.getAll(t => { i.info("Commands", t); const e = t.reduce((function(t, e) { return t[e.name] = e, t; }), {}); this.commands = e; }); }, methods: { lang: t.storage.lang, myOpen() { this.isOpen = !this.isOpen; }, isExtension: () => "webextension" === t.type, importFallbackSync(t) { i.log("Import FallbackSync", t); try { const e = JSON.parse(t); i.log("data", e); const n = e[Object.keys(e)[0]]; if (!n.hasOwnProperty("name")) throw "No name"; if (!n.hasOwnProperty("progress")) throw "No progress"; if (!n.hasOwnProperty("score")) throw "No score"; if (!n.hasOwnProperty("status")) throw "No status"; if (!n.hasOwnProperty("tags")) throw "No tags"; Object(g.b)(e).then(() => { o.flashm("File imported"), alert("File imported"); }).catch(t => { throw t.message && alert(t.message), t; }); } catch (t) { alert("File has wrong formating"), i.error("File has wrong formating:", t); } }, async exportFallbackSync() { const t = await Object(g.a)(); i.log("Export", t); const e = "data:text/csv;charset=utf-8," + encodeURIComponent(JSON.stringify(t)); try { const t = document.createElement("a"); t.setAttribute("href", e), t.setAttribute("download", `malsync_${(new Date).toJSON().slice(0, 10).replace(/-/g, "/")}.txt`), document.body.appendChild(t), t.click(); } catch (t) { window.open(e); } o.flashm("File exported"); }, startProgressSync() { if (this.isExtension()) { const e = parseInt(t.settings.get("progressInterval")); if (!e) return; i.log("Trigger Progress update"), chrome.alarms.create("progressSync", { periodInMinutes: e, when: Date.now() + 1e3 }); } } } }; }).call(this, n(0), n(4), n(2), n(1)); }, function(t, e, n) { "use strict"; (function(t) { e.a = { props: { option: { type: String } }, computed: { value: { get() { return t.settings.get(this.option); }, set(e) { t.settings.set(this.option, e); } } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t) { e.a = { props: { option: { type: String }, min: { type: Number, default: 0 }, max: { type: Number, default: 999 }, step: { type: Number, default: 1 } }, computed: { value: { get() { return t.settings.get(this.option); }, set(e) { "" !== e && null !== e && e >= this.min && e <= this.max && (t.settings.set(this.option, e), this.$emit("changed", e)); } } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t) { e.a = { props: { option: { type: String }, text: { type: String } }, computed: { value: { get() { return t.settings.get(this.option); }, set(e) { t.settings.set(this.option, e), this.$emit("changed", e); } } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t, n) { e.a = { data: () => ({ button: !0 }), methods: { type: () => t.type, buttonClick() { this.button = !1; }, handleFileUpload(t) { if (n.log("File Found", t), !window.FileReader) return void alert("Browser is not compatible"); const e = new FileReader; e.onload = t => { if (2 !== t.target.readyState) return; if (t.target.error) return void alert("Error while reading file"); const e = t.target.result; this.$emit("upload", e); }, e.readAsText(t.target.files[0]); }, openWindow(e) { e.preventDefault(), e.stopPropagation(); const n = window.open(chrome.extension.getURL("window.html"), "_blank"); n ? n.focus() : alert(t.storage.lang("minimalClass_Popup")); } } }; }).call(this, n(0), n(4)); }, function(t, e, n) { var i = n(555); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { "use strict"; (function(t, i) { var a = n(86), o = n(31); let r; e.a = { components: { tooltip: a.a }, props: { option: { type: String } }, data: () => ({ keys: {}, tempKeys: {} }), computed: { display() { return this.tempRec ? Object.keys(this.tempKeys).map(t => o.a[t]).join(" + ") : this.rec ? Object.keys(this.keys).map(t => o.a[t]).join(" + ") : this.value && Object.keys(this.value).length ? Object.keys(this.value).map(t => o.a[t]).join(" + ") : this.lang("settings_Shortcuts_Click"); }, rec() { return Object.keys(this.keys).length; }, tempRec() { return Object.keys(this.tempKeys).length; }, value: { get() { const e = t.settings.get(this.option); if (!e || !e.length) return {}; const n = {}; for (let t = 0; t < e.length; ++t) n[e[t]] = e[t]; return n; }, set(e) { t.settings.set(this.option, Object.keys(e)); } } }, methods: { lang: t.storage.lang, keyDown(t) { this.keys[t.keyCode] || i.log("down" + t.keyCode), this.$set(this.keys, t.keyCode, o.a[t.keyCode]), this.tempKeys = {}; }, keyUp(t) { i.log("up" + t.keyCode), this.setTempState(this.keys), this.$delete(this.keys, t.keyCode); }, focusLost() { this.keys = {}; }, setTempState(t) { if (!Object.keys(this.tempKeys).length) { const e = { ...t }; this.tempKeys = e, clearTimeout(r), r = setTimeout(() => { Object.keys(this.keys).length || (this.value = e), this.tempKeys = {}; }, 500); } } } }; }).call(this, n(0), n(4)); }, function(t, e, n) { var i = n(557); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { "use strict"; (function(t) { var i = n(16); e.a = { props: { option: { type: String } }, data: () => ({ username: "", listObj: null }), computed: { mode: { get() { return t.settings.get(this.option); }, set() {} }, pageName() { return this.listObj ? this.listObj.name : "Loading"; }, pageAuth() { return this.listObj ? this.listObj.authenticationUrl : ""; } }, watch: { mode() { this.init(); } }, mounted() { this.init(); }, methods: { lang: t.storage.lang, init() { return this.username = "", this.listObj = Object(i.b)(this.mode), this.listObj.getUsername().then(t => { this.username = t; }); }, deauth() { this.listObj.deauth().then(() => { this.init(); }).catch(() => { alert("Failed"); }); } } }; }).call(this, n(0)); }, function(t, e, n) { var i = n(559); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { "use strict"; (function(t) { var i = n(31); e.a = { props: { page: { type: Object, default: null } }, data: () => ({}), computed: { keys: () => t.settings.get("correctionShort").map(t => i.a[t]).join(" + ") }, watch: {}, methods: { lang: t.storage.lang, openPopup() { return this.page.openCorrectionUi(), !1; } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(9); e.a = { computed: { links: () => Object(o.b)() }, methods: { lang: t.storage.lang, favicon(t) { try { return i.favicon(t); } catch (t) { return a.error(t), ""; } } } }; }).call(this, n(0), n(1), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(19), r = n(286), s = n(9), l = n(283); let c; e.a = { components: { progressP: l.a }, props: { renderObj: { type: Object, default: null } }, data: () => ({ metaObj: null, error: null, imageTemp: null, mal: { resumeUrl: null, continueUrl: null }, kiss2mal: [], related: [], utils: t }), computed: { objError() { return this.renderObj && this.renderObj.getLastError() ? this.renderObj.getLastErrorMessage() : null; }, editUrl() { return void 0 !== this.renderObj.getDetailUrl ? this.renderObj.getDetailUrl() : null; }, malStatus: { get() { return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.getStatusCheckboxValue() : null; }, set(t) { this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.handleStatusCheckbox(t); } }, malEpisode: { get() { return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.addAnime ? null : this.renderObj.getEpisode() : null; }, set(t) { this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.setEpisode(t); } }, malVolume: { get() { return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.addAnime ? null : this.renderObj.getVolume() : null; }, set(t) { this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.setVolume(t); } }, malScore: { get() { return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.getScoreCheckboxValue() : null; }, set(t) { this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.handleScoreCheckbox(t); } }, malProgressMode: { get() { return this.renderObj && this.renderObj.isAuthenticated() ? this.renderObj.getProgressMode() : null; }, set(t) { this.renderObj && this.renderObj.isAuthenticated() && this.renderObj.setProgressMode(t); } }, statistics() { let t = {}; try { t = this.metaObj.statistics; } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, displayUrl() { return null !== this.renderObj ? this.renderObj.getDisplayUrl() : this.renderObj.url; }, image() { let t = ""; try { t = this.metaObj.image; } catch (t) { console.log("[iframeOverview] Error:", t); } try { null !== this.imageTemp && "" !== this.imageTemp && (t = this.imageTemp); } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, title() { let t = ""; try { t = this.metaObj.title; } catch (t) { console.log("[iframeOverview] Error:", t); } try { t = this.renderObj.getTitle(); } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, description() { let t = ""; try { t = this.metaObj.description; } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, altTitle() { let t = {}; try { t = this.metaObj.alternativeTitle; } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, characters() { let t = {}; try { t = this.metaObj.characters; } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, info() { let t = {}; try { t = this.metaObj.info; } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, openingSongs() { let t = {}; try { t = this.metaObj.openingSongs; } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, endingSongs() { let t = {}; try { t = this.metaObj.endingSongs; } catch (t) { console.log("[iframeOverview] Error:", t); } return t; } }, watch: { async renderObj(t) { this.render(t); } }, methods: { lang: i.storage.lang, assetUrl: i.storage.assetUrl, async render(t) { if (this.metaObj = null, this.error = null, this.mal.resumeUrl = null, this.mal.continueUrl = null, this.kiss2mal = [], this.related = [], this.imageTemp = null, null === t) return; const e = t.url; let n = i.settings.get("syncMode"); "SIMKL" === n && "manga" === t.type && (n = i.settings.get("syncModeSimkl")); try { const n = await Object(r.a)(t.url, t.getType()).init(); if (!this.renderObj || e !== this.renderObj.url) return; this.metaObj = n.getMeta(); } catch (t) { return a.error("Could not retrive metadata", t), void (this.error = t); } if (null !== this.metaObj && (this.related = this.getRelated()), null !== t.getMalUrl() && t.isAuthenticated() && this.updateStatusTags(), Object(s.a)(t.getType(), t.getApiCacheKey(), t.getTitle()).then(t => { this.renderObj && e === this.renderObj.url && (this.kiss2mal = t); }), "MAL" !== this.renderObj.shortName) { const t = await this.renderObj.getImage(); if (!this.renderObj || e !== this.renderObj.url) return; this.imageTemp = t; } this.mal.resumeUrl = t.getResumeWatching(), this.mal.continueUrl = t.getContinueWatching(); }, clickRender() { this.render(this.renderObj); }, malSync() { this.renderObj.sync().then(() => { t.flashm(i.storage.lang("updated")), this.renderObj.isOnList() || this.renderObj.update(); }, t => { throw this.renderObj.flashmError(t), t; }); }, remove() { this.renderObj.delete().then(() => { t.flashm(i.storage.lang("removed")), this.renderObj.update(); }, t => { throw this.renderObj.flashmError(t), this.renderObj.update(), t; }); }, reload() { t.flashm(i.storage.lang("Loading")), this.renderObj.update(); }, increaseEP(t) { let e = 1; "episode" === t ? (this.renderObj.getEpisode() && (e = this.renderObj.getEpisode() + 1), this.renderObj.getTotalEpisodes() && e > this.renderObj.getTotalEpisodes() && (e = this.renderObj.getTotalEpisodes()), this.renderObj.setEpisode(e)) : (this.renderObj.getVolume() && (e = this.renderObj.getVolume() + 1), this.renderObj.getTotalVolumes() && e > this.renderObj.getTotalVolumes() && (e = this.renderObj.getTotalVolumes()), this.renderObj.setVolume(e)), clearTimeout(c), c = setTimeout(() => { this.malSync(); }, 1e3); }, getMal2KissFavicon(e) { try { return t.favicon(e); } catch (t) { return a.error(t), ""; } }, getRelated() { let t = {}; try { t = this.metaObj.related; } catch (t) { console.log("[iframeOverview] Error:", t); } return t; }, async updateStatusTags() { for (const e in this.related) { const n = this.related[e]; for (const i in n.links) { const a = n.links[i], r = t.absoluteLink(a.url, "https://myanimelist.net"); if (void 0 !== r) { const n = await t.timeCache("MALTAG/" + r, (async function() { const e = Object(o.b)(r); return await e.update(), await t.wait(2e3), t.statusTag(e.getStatus(), e.type, e.id); }), 1728e5); n && (this.related[e].links[i].statusTag = n); } } } }, setQuestionmark(t) { t.target.src = i.storage.assetUrl("questionmark.gif"); } } }; }).call(this, n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(285), r = n(30); e.a = { components: { CountryFlag: o.a }, props: { apiCacheKey: { type: Number }, type: { type: String }, totalEps: { type: Number } }, data: () => ({ xhr: "", utils: t }), computed: { elements() { const t = []; if (this.xhr) for (const e in this.xhr) for (const n in this.xhr[e]) t.push({ language: e, index: n, item: this.xhr[e][n] }); return t; }, completed() { return this.elements.filter(t => t.item && t.item.top && t.item.top.state && "complete" === t.item.top.state); }, ongoing() { return this.elements.filter(t => t.item && t.item.top && t.item.top.state && "complete" !== t.item.top.state); } }, watch: { apiCacheKey: { immediate: !0, handler(t) { this.xhr = ""; const e = t + "s"; return i.request.xhr("GET", `https://api.malsync.moe/nc/mal/${this.type}/${t}/progress`).then(t => { if (e === this.apiCacheKey + "s") try { this.xhr = JSON.parse(t.responseText); } catch (t) { a.error("No progress informations found"); } }); } } }, methods: { lang: i.storage.lang, releaseTime: t => Object(r.b)(t), correctFlag(t) { switch (t.toLowerCase()) { case "pt-br": return "br"; case "aa": return "dj"; case "af": return "za"; case "ak": return "gh"; case "sq": return "al"; case "am": return "et"; case "hy": return "am"; case "az": return "az"; case "bm": return "ml"; case "be": return "by"; case "bn": return "bd"; case "bi": return "vu"; case "bs": return "ba"; case "bg": return "bg"; case "my": return "mm"; case "ca": return "ad"; case "zh": case "zh-hans": case "zh-hant": case "zh-x-yue": return "cn"; case "hr": return "hr"; case "cs": return "cz"; case "da": return "dk"; case "dv": return "mv"; case "nl": return "nl"; case "dz": return "bt"; case "en": return "gb"; case "et": return "ee"; case "fj": return "fj"; case "fil": return "ph"; case "fi": return "fi"; case "fr": return "fr"; case "gaa": return "gh"; case "ka": return "ge"; case "de": return "de"; case "el": return "gr"; case "gu": return "in"; case "ht": return "ht"; case "he": return "il"; case "hi": return "in"; case "ho": return "pg"; case "hu": return "hu"; case "is": return "is"; case "ig": return "ng"; case "id": return "id"; case "ga": return "ie"; case "it": return "it"; case "ja": return "jp"; case "kr": return "ne"; case "kk": return "kz"; case "km": return "kh"; case "kmb": return "ao"; case "rw": return "rw"; case "kg": return "cg"; case "ko": return "kr"; case "kj": return "ao"; case "ku": return "iq"; case "ky": return "kg"; case "lo": return "la"; case "la": return "va"; case "lv": return "lv"; case "ln": return "cg"; case "lt": return "lt"; case "lu": return "cd"; case "lb": return "lu"; case "mk": return "mk"; case "mg": return "mg"; case "ms": return "my"; case "mt": return "mt"; case "mi": return "nz"; case "mh": return "mh"; case "mn": return "mn"; case "mos": return "bf"; case "ne": return "np"; case "nd": return "zw"; case "nso": return "za"; case "no": case "nb": case "nn": return "no"; case "ny": return "mw"; case "pap": return "aw"; case "ps": return "af"; case "fa": return "ir"; case "pl": return "pl"; case "pt": return "pt"; case "pa": return "in"; case "qu": return "wh"; case "ro": return "ro"; case "rm": return "ch"; case "rn": return "bi"; case "ru": return "ru"; case "sg": return "cf"; case "sr": return "rs"; case "srr": return "sn"; case "sn": return "zw"; case "si": return "lk"; case "sk": return "sk"; case "sl": return "si"; case "so": return "so"; case "snk": return "sn"; case "nr": return "za"; case "st": return "ls"; case "es": case "es-la": return "es"; case "ss": return "sz"; case "sv": return "se"; case "tl": return "ph"; case "tg": return "tj"; case "ta": return "lk"; case "te": return "in"; case "tet": return "tl"; case "th": return "th"; case "ti": return "er"; case "tpi": return "pg"; case "ts": return "za"; case "tn": return "bw"; case "tr": return "tr"; case "tk": return "tm"; case "uk": return "ua"; case "umb": return "ao"; case "ur": return "pk"; case "uz": return "uz"; case "ve": return "za"; case "vi": return "vn"; case "cy": return "gb"; case "wo": return "sn"; case "xh": case "zu": return "za"; default: return t; } } } }; }).call(this, n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t) { var i = n(14); e.a = { props: { country: { type: String, required: !0 }, text: { type: String, default: "" } }, data: () => ({ flagHtml: "" }), watch: { country: { immediate: !0, async handler(e) { const n = new i.a("flag/" + e, 1728e5); await n.hasValue() ? n.getValue().then(t => this.flagHtml = t) : t.request.xhr("GET", `https://raw.githubusercontent.com/lipis/flag-icon-css/master/flags/4x3/${e}.svg`).then(t => { t.responseText && 200 === t.status ? (this.flagHtml = t.responseText, n.setValue(t.responseText)) : n.setValue(null); }); } } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t, n) { function i(e) { const n = function(e) { let n = e.text(); return e.children().each((function() { n = n.replace(t.$(this).text(), ""); })), n; }(t.$(e).find(".detail-user-recs-text").first()).trim(), i = t.$(e).find(".detail-user-recs-text").next().find("a").last().text(), a = "https://myanimelist.net" + t.$(e).find(".detail-user-recs-text").next().find("a").last().attr("href"); let o = ""; return t.$(e).find(".detail-user-recs-text > span[id^=recommend]").length && (o = t.$(e).find(".detail-user-recs-text > span[id^=recommend]").text().trim()), { text: n, username: i, userHref: a, readmore: o }; } e.a = { props: { url: { type: String, default: "" }, state: { type: Boolean, default: !1 } }, data: () => ({ xhr: "", activeItems: [], activeReadMores: [] }), computed: { recommendations() { const e = []; try { const n = this.xhr.split("Make a recommendation</a>")[1].split("</h2>")[1].split('<div class="mauto')[0], a = t.$.parseHTML(n); t.$.each(t.$(a).filter(".borderClass"), (n, a) => { const o = t.$(a).find(".picSurround"), r = o.find("a").attr("href"), s = o.find("a > img").first().attr("alt"), l = o.find("a > img").first().attr("data-src"), c = i(a), d = []; t.$(a).find("td:eq(1) > div").last().find("div.borderClass").each((t, e) => { d.push(i(e)); }), e.push({ titleHref: r, titleName: s, imageUrl: l, user: c, children: d }); }), console.log(e); } catch (t) { console.log("[iframeRecommendations] Error:", t); } return e; } }, watch: { async url() { this.xhr = "", this.state && n.request.xhr("GET", this.url + "/userrecs").then(t => { this.xhr = t.responseText; }); }, async state(t) { t && "" === this.xhr && n.request.xhr("GET", this.url + "/userrecs").then(t => { this.xhr = t.responseText; }); } }, methods: { lang: n.storage.lang } }; }).call(this, n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(16), r = n(284); e.a = { components: { bookmarksItem: r.a }, props: { listType: { type: String, default: "anime" }, state: { type: Number, default: 1 }, sort: { type: Object, default: null } }, data: () => ({ listProvider: void 0, errorText: null, cache: [], destroyTimer: void 0, reload: !1 }), computed: { listView: { get: () => t.settings.get("bookMarksList"), set(e) { t.settings.set("bookMarksList", e); } }, loading() { return !this.listProvider || this.listProvider.isLoading(); }, items() { return this.listProvider && this.listProvider.isFirstLoaded() ? this.listProvider.getTemplist() : this.cache; } }, watch: { listType() { this.load(); }, state() { this.load(); }, sort(t, e) { e && t.value === e.value || (localStorage.setItem(`sort/${this.listType}/${this.state}`, t.value), this.load()); } }, mounted() { this.load(), this.$parent.registerScroll("books", this.handleScroll), clearTimeout(this.destroyTimer); }, activated() { this.$nextTick(() => { i.$(this.$el).closest("html").find("head").click(); }), clearTimeout(this.destroyTimer), this.$parent.registerScroll("books", this.handleScroll), this.reload && (this.reload = !1, this.load()); }, deactivated() { this.$parent.unregisterScroll("books"), clearTimeout(this.destroyTimer), this.destroyTimer = setTimeout(() => { this.listProvider.destroy(), this.reload = !0; }, 6e5); }, methods: { lang: t.storage.lang, async load() { this.cache = [], this.errorText = null, this.listProvider && this.listProvider.destroy(), this.listProvider = await Object(o.a)(this.state, this.listType), this.$emit("rewatch", this.listProvider.seperateRewatching); const t = this.listProvider.getSortingOptions(); this.initSort(t) || (this.listProvider.setSort(this.sort.value), this.listProvider.modes.cached = !0, this.listProvider.getCached().then(t => { this.cache = t; }), this.listProvider.modes.initProgress = !0, this.listProvider.initFrontendMode(), this.loadNext()); }, initSort(t) { const e = localStorage.getItem(`sort/${this.listType}/${this.state}`); let n = t.find(t => t.value === e); return n ? (!this.sort || n.value !== this.sort.value) && (this.$emit("sort", n), !0) : (n = t.find(t => "default" === t.value), this.$emit("sort", n), !1); }, listError(t) { a.error(t), this.errorText = this.listProvider.errorMessage(t); }, loadNext() { return this.listProvider && !this.listProvider.isLoading() ? this.listProvider.getNextPage().catch(this.listError) : Promise.resolve(); }, handleScroll(t) { t.pos + t.elHeight + 1e3 > t.height && this.loadNext(); } } }; }).call(this, n(0), n(2), n(4)); }, function(t, e, n) { "use strict"; (function(t, n) { e.a = { props: { item: { type: Object }, listView: { type: Boolean, default: !1 } }, data: () => ({ resumeUrl: null, continueUrl: null }), computed: { curEP() { return parseInt(this.item.watchedEp.toString()); }, imageHi() { let t = this.item.image; const e = /\/r\/\d*x\d*/g; return e.test(t) && (t = t.replace(/v.jpg$/g, ".jpg").replace(e, "")), t; }, hasTotalEp() { return this.barData.totalWidth; }, barData() { return this.item.fn.progress ? this.item.fn.progress.getBars(this.item.watchedEp, this.item.totalEp) : {}; }, progress() { return `width: ${this.barData.epWidth}%; max-width: 100%;`; }, predictionBar() { const t = this.item.fn.progress.getColor(); return `width: ${this.barData.predWidth}%; background-color: ${t}; color: ${t};`; }, streamUrl() { return this.item.options.u; } }, watch: { curEP: { immediate: !0, async handler(t) { if (void 0 === this.item.resume) { this.resumeUrl = "", this.continueUrl = ""; let e = null, n = null; const i = this.item.options.r, a = this.item.options.c; a && a.ep === t + 1 ? n = a.url : i && i.ep === t && (e = i.url), this.resumeUrl = e, this.continueUrl = n; } } } }, methods: { lang: t.storage.lang, favicon: t => n.favicon(t), assetUrl: e => t.storage.assetUrl(e), openLink(t) { const e = document.createElement("a"); e.href = t, document.getElementById("malList").appendChild(e), e.click(); }, setQuestionmark(e) { e.target.src = t.storage.assetUrl("questionmark.gif"); } } }; }).call(this, n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i) { var a = n(39); e.a = { components: {}, props: { type: { type: String, default: "anime" }, keyword: { type: String, default: "" } }, data: () => ({ items: [], loading: !0 }), watch: { keyword() { this.load(); }, type() { this.load(); } }, mounted() { this.load(); }, activated() { this.$nextTick(() => { t.$(this.$el).closest("html").find("head").click(); }); }, methods: { lang: i.storage.lang, load() { this.loading = !0, Object(a.a)(this.keyword, this.type).then(t => { this.loading = !1, this.items = t; }); }, clickItem(t, e) { t.preventDefault(), this.$emit("clicked", e); } } }; }).call(this, n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(16); let r; e.a = { data: () => ({ listType: "anime", items: [], history: [] }), watch: { listType() { this.load(); } }, mounted() { this.load(), r = setInterval(() => { this.load(); }, 5e3); }, destroyed() { clearInterval(r); }, methods: { lang: t.storage.lang, async load() { const e = await Object(o.a)(1, this.listType); e.getCompleteList().then(async e => { for (let n = 0; n < e.length; n++) { const a = e[n]; let o = "", r = "", s = ""; i.log("el", a); const l = await t.storage.get(`updateCheck/${this.listType}/${a.cacheKey}`); i.log("elCache", l), void 0 !== l && (o = `${l.newestEp}/${a.totalEp}`, s = "orange", l.finished && (r = "finished", s = "green"), void 0 !== l.error && (r = l.error, s = "red")), a.episode = o, a.trColor = s, a.error = r; } this.items = e; }).catch(t => { i.error(t), e.flashmError(t); }), t.storage.get("notificationHistory").then(t => { t.forEach(t => { let e = Date.now() - t.timestamp; e = a.timeDiffToText(e), e += "ago", t.timeDiff = e; }), this.history = t.reverse(); }); }, deleteItem(e) { const n = `updateCheck/${this.listType}/${e.cacheKey}`; i.log("delete", n, e), t.storage.remove(n), e.trColor = "black"; }, notificationTest() { a.notifications("https://malsync.lolamtisch.de/", "MyAnimeList-Sync", "by lolamtisch", "https://cdn.myanimelist.net/images/anime/5/65187.jpg"); }, startCheck() { chrome.alarms.create("updateCheckNow", { when: Date.now() + 1e3 }), a.flashm("Check started"); } } }; }).call(this, n(0), n(4), n(1)); }, function(t, e, n) { "use strict"; (function(t) { var i = n(21), a = n(26); e.a = { components: { backbutton: a.a }, props: { listType: { type: String, default: "anime" } }, data: () => ({ listProvider: { mal: { text: "Init", list: null, master: !1 }, anilist: { text: "Init", list: null, master: !1 }, kitsu: { text: "Init", list: null, master: !1 }, simkl: { text: "Init", list: null, master: !1 } }, listReady: !1, listLength: 0, list: {}, missing: [], isBackgroundEnabled: !1 }), computed: { listSyncLength() { return Object.values(this.list).filter(t => t.diff).length; }, listDiff() { const t = {}; for (const e in this.list) Object.prototype.hasOwnProperty.call(this.list, e) && this.list[e].diff && (t[e] = this.list[e]); return t; } }, watch: {}, async mounted() { i.a.isEnabled().then(t => { this.isBackgroundEnabled = t; }); const t = this.listType, e = i.d({ mal: this.listProvider.mal, anilist: this.listProvider.anilist, kitsu: this.listProvider.kitsu, simkl: this.listProvider.simkl }), n = await i.f(e, t, i.c); i.b(n.master, n.slaves, "mirror", n.typeArray, this.list, this.missing), this.list = { ...this.list }, this.listReady = !0; }, methods: { lang: t.storage.lang, getType: i.e, apiType: () => t.type, getTypeColor: t => "ANILIST" === t ? "border-left: 5px solid #02a9ff" : "KITSU" === t ? "border-left: 5px solid #f75239" : "SIMKL" === t ? "border-left: 5px solid #ffbf00" : "border-left: 5px solid #2e51a2", async syncList() { this.listReady = !1, this.listLength = this.listSyncLength, i.g(this.list, this.missing); }, async backgroundClick() { await i.a.isEnabled() ? (i.a.disable(), this.isBackgroundEnabled = !1) : (i.a.enable(), this.isBackgroundEnabled = !0); } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t) { e.a = { methods: { lang: t.storage.lang, click() { this.$root.$children[0].selectTab("settings"); } } }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(19), r = n(16); async function s(e) { const n = Object(o.b)(e); return n.update().then(() => (n.cleanTags(), n.sync())).catch(e => { t.error(e); }); } function l(e) { const n = Object(r.c)(7, e); return n.getCompleteList().then(t => t).catch(e => { throw t.error(e), n.errorMessage(e); }); } e.a = { props: {}, data: () => ({ animeLoading: !1, animelist: null, animelistLength: null, mangaLoading: !1, mangalist: null, mangalistLength: null }), computed: {}, watch: {}, methods: { lang: i.storage.lang, cleanTags() { this.animeLoading = !0, l("anime").then(async t => { for (this.animelist = t, this.animelistLength = this.animelist.length; this.animelist.length; ) { const t = this.animelist.pop(), e = a.getUrlFromTags(t.tags); void 0 !== e && (console.log(e), await s(t.url)); } }).then(() => l("manga")).then(async t => { for (this.mangalist = t, this.mangalistLength = this.mangalist.length; this.mangalist.length; ) { const t = this.mangalist.pop(); void 0 !== a.getUrlFromTags(t.tags) && await s(t.url); } }); } } }; }).call(this, n(4), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i) { var a = n(38), o = n(26); e.a = { components: { backbutton: o.a }, props: {}, data: () => ({ pages: a.a }), computed: { enablePages: () => t.settings.get("enablePages") }, watch: {}, async mounted() { this.$root.updateDom(); }, methods: { favicon: i.favicon, lang: t.storage.lang, getDomain(t) { let e; return e = "object" == typeof t.domain ? t.domain[0] : t.domain, e; }, getPageState(t) { return !(void 0 !== this.enablePages[t.name] && !this.enablePages[t.name]); }, setPageState(e, n) { const i = JSON.parse(JSON.stringify(this.enablePages)); i[e.name] = n, t.settings.set("enablePages", i); } } }; }).call(this, n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, n) { e.a = { props: { url: { type: String, default: "" }, state: { type: Boolean, default: !1 } }, data: () => ({ xhr: "", activeReadMores: [] }), computed: { reviews() { const e = []; try { const n = this.xhr.split("Reviews</h2>")[1].split("<h2>")[0], i = t.$.parseHTML(n); t.$.each(t.$(i).filter(".borderDark"), (n, i) => { const a = t.$(i).find(".picSurround"), o = a.find("a").attr("href"), r = a.find("a > img").first().attr("data-src"), s = t.$(i).find(".spaceit > .mb8").next().find("td > a").text().trim(), l = Number(t.$(i).find(".spaceit > .mb8").next().find("td > div > strong > span").text()), c = t.$(i).find(".spaceit > .mb8 > div").first().text().trim(), d = t.$(i).find(".spaceit > .mb8 > div.lightLink").text().trim(), m = Number(t.$(i).find(".spaceit > .mb8 > div").last().text().replace(/\D+/, "")), u = t.$(i).find(".textReadability").contents().filter((function() { return 3 === this.nodeType && t.$.trim(this.nodeValue).length; })).text().trim().split("\n"), p = t.$(i).find(".textReadability > span").contents().filter((function() { return 3 === this.nodeType && t.$.trim(this.nodeValue).length; })).text().trim().split("\n"); e.push({ userHref: o, userImage: r, username: s, rPeople: l, rDate: c, rEpisodes: d, rRating: m, rText: u, rReadmore: p }); }), console.log(e); } catch (t) { console.log("[iframeReview] Error:", t); } return e; } }, watch: { async url() { this.xhr = "", this.state && n.request.xhr("GET", this.url + "/reviews").then(t => { this.xhr = t.responseText; }); }, async state(t) { t && "" === this.xhr && n.request.xhr("GET", this.url + "/reviews").then(t => { this.xhr = t.responseText; }); } }, methods: { lang: n.storage.lang } }; }).call(this, n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(38), r = n(26); e.a = { components: { backbutton: r.a }, data: () => ({ pages: o.a, permissions: [], hasPermissions: null }), computed: { option: { get: () => t.settings.get("customDomains"), set(e) { t.settings.set("customDomains", e); } }, browserPermissions() { return { permissions: [ "webNavigation" ], origins: this.permissions.map(t => new URL(t.domain).origin + "/") }; } }, watch: { option(t) { this.permissions = JSON.parse(JSON.stringify(t)); }, browserPermissions() { this.checkPermissions(); } }, activated() { this.permissions = JSON.parse(JSON.stringify(this.option)); }, mounted() { this.permissions = JSON.parse(JSON.stringify(this.option)), this.$root.updateDom(); }, methods: { lang: t.storage.lang, addPermission() { this.permissions.push({ domain: "", page: "" }), this.$root.updateDom(); }, removePermission(t) { this.permissions.splice(t, 1); }, savePermissions() { this.permissions.every(t => this.domainCheck(t.domain) && this.pageCheck(t.page)) ? (this.option = JSON.parse(JSON.stringify(this.permissions)), this.requestPermissions()) : alert("Configuration could not be saved. Check if everything is configured correctly."); }, pageCheck: t => !!t, domainCheck: t => /^https?:\/\/(localhost|(?:www?\d?\.)?((?:(?!www\.|\.).)+\.[a-zA-Z0-9.]+))/.test(t) && new URL(t).origin, checkPermissions() { chrome.permissions.contains(this.browserPermissions, t => { this.hasPermissions = t; }); }, requestPermissions() { i.m("Request Permissions").log(this.browserPermissions), chrome.permissions.request(this.browserPermissions, t => { t || a.flashm("Requesting the permissions failed", { error: !0 }), this.checkPermissions(); }); } } }; }).call(this, n(0), n(4), n(1)); }, function(t, e, n) { var i = n(561); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { "use strict"; (function(t, i, a) { var o = n(90), r = n(26), s = n(9); e.a = { components: { backbutton: r.a }, data: () => ({ quicklinks: o, search: "", custom_name: "", custom_anime: "", custom_manga: "" }), computed: { linksWithState() { return [ ...this.quicklinks, ...this.value.filter(t => "object" == typeof t && t) ].filter(t => !this.search || t.name.toLowerCase().includes(this.search.toLowerCase())).map(t => (t.active = this.value.includes(t.name) || t.custom, t)).sort((t, e) => t.name.localeCompare(e.name)).sort((t, e) => this.stateNumber(t) - this.stateNumber(e)); }, value: { get: () => t.settings.get("quicklinks"), set(e) { t.settings.set("quicklinks", e), this.$emit("changed", e); } } }, methods: { lang: t.storage.lang, favicon(t) { try { return i.favicon(t); } catch (t) { return a.error(t), ""; } }, toggleLink(t) { t.active ? (t.custom && (this.custom_name = t.name, this.custom_anime = t.search.anime, this.custom_manga = t.search.manga), this.value = Object(s.d)(this.value, t.name)) : this.value.push(t.name), this.value = [ ...this.value ]; }, stateNumber: t => t.custom ? 0 : t.database ? 1 : t.search && "home" !== t.search.anime && "home" !== t.search.manga ? 2 : 10, addCustom() { let t = ""; if (this.custom_anime || this.custom_manga) { let e; e = this.custom_anime ? this.custom_anime.split("/") : this.custom_manga.split("/"), e.length > 2 && (t = `${e[0]}//${e[2]}/`); } if (!t) return void i.flashm("Something is wrong", { error: !0 }); const e = { name: this.custom_name, custom: !0, domain: t, search: { anime: this.custom_anime ? this.custom_anime : null, manga: this.custom_manga ? this.custom_manga : null } }; this.value = [ ...this.value, e ], this.custom_name = "", this.custom_anime = "", this.custom_manga = ""; } } }; }).call(this, n(0), n(1), n(4)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return m; })); var a = n(22), o = n(5), r = n(11), s = n(10), l = n(14), c = n(1), d = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class m extends a.a { constructor(e) { return super(e), this.url = e, this.displayUrl = "", this.pending = !1, this.shortName = "MAL", this.authenticationUrl = r.c, this.apiCall = r.b, this.logger = t.m(this.shortName, "#2e51a2"), this; } handleUrl(t) { if (t.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", void (this.ids.mal = Number(i.urlPart(t, 4))); throw this.errorObj(o.a.UrlNotSuported, "Url not supported"); } getCacheKey() { return this.ids.mal; } _getStatus() { let t; return t = "manga" === this.type ? parseInt(r.d[this.animeInfo.my_list_status.status]) : parseInt(r.a[this.animeInfo.my_list_status.status]), this.getRewatching() && 2 === t ? 23 : t; } _setStatus(t) { 23 === t ? (t = 2, this.setRewatching(!0)) : this.setRewatching(!1), "manga" !== this.type ? this.animeInfo.my_list_status.status = r.a[t] : this.animeInfo.my_list_status.status = r.d[t]; } _getScore() { return this.animeInfo.my_list_status.score; } _setScore(t) { this.animeInfo.my_list_status.score = t; } _getEpisode() { return "manga" === this.type ? this.animeInfo.my_list_status.num_chapters_read : this.animeInfo.my_list_status.num_watched_episodes; } _setEpisode(t) { t || (t = 0), "manga" !== this.type ? this.animeInfo.my_list_status.num_watched_episodes = t : this.animeInfo.my_list_status.num_chapters_read = t; } _getVolume() { return "manga" === this.type ? this.animeInfo.my_list_status.num_volumes_read : 0; } _setVolume(t) { "manga" === this.type && (this.animeInfo.my_list_status.num_volumes_read = t); } _getTags() { return this.animeInfo.my_list_status.tags.length ? this.animeInfo.my_list_status.tags.join(",") : ""; } _setTags(t) { t && "," !== t.trim() ? this.animeInfo.my_list_status.tags = t.split(",") : this.animeInfo.my_list_status.tags = []; } getRewatching() { return "manga" === this.type ? this.animeInfo.my_list_status.is_rereading : this.animeInfo.my_list_status.is_rewatching; } setRewatching(t) { "manga" !== this.type ? this.animeInfo.my_list_status.is_rewatching = t : this.animeInfo.my_list_status.is_rereading = t; } _getTitle() { return this.animeInfo.title; } _getTotalEpisodes() { return "manga" === this.type ? this.animeInfo.num_chapters : this.animeInfo.num_episodes; } _getTotalVolumes() { return "manga" === this.type ? this.animeInfo.num_volumes : 0; } _getDisplayUrl() { return this.url; } _getImage() { var t, e; return Promise.resolve(null !== (e = null === (t = this.animeInfo.main_picture) || void 0 === t ? void 0 : t.medium) && void 0 !== e ? e : ""); } _getRating() { return Promise.resolve(this.animeInfo.mean); } _update() { return d(this, void 0, void 0, (function*() { return this.apiCall({ type: "GET", path: `${this.type}/${this.ids.mal}`, fields: [ "my_list_status{tags,is_rewatching,is_rereading,start_date,finish_date}", "num_episodes", "mean", "num_chapters", "num_volumes" ] }).catch(t => { throw t.code === o.a.NotAutenticated && (this._authenticated = !1), t; }).then(t => { this.logger.m("Api").log(t), this._authenticated = !0, this.animeInfo = t, this._onList = !0, this.animeInfo.my_list_status || (this._onList = !1, "manga" === this.type ? this.animeInfo.my_list_status = { is_rereading: !1, num_chapters_read: 0, num_volumes_read: 0, score: 0, status: "plan_to_read", tags: [] } : this.animeInfo.my_list_status = { is_rewatching: !1, num_watched_episodes: 0, score: 0, status: "plan_to_watch", tags: [] }), this.animeInfo.my_list_status && void 0 !== this.animeInfo.my_list_status.num_episodes_watched && (this.animeInfo.my_list_status.num_watched_episodes = this.animeInfo.my_list_status.num_episodes_watched, delete this.animeInfo.my_list_status.num_episodes_watched); }); })); } _sync() { return d(this, void 0, void 0, (function*() { void 0 === this.animeInfo.my_list_status.start_date && 1 === this._getStatus() && this._getEpisode() > 0 && (this.animeInfo.my_list_status.start_date = Object(c.returnYYYYMMDD)()), void 0 === this.animeInfo.my_list_status.finish_date && 2 === this._getStatus() && (this.animeInfo.my_list_status.finish_date = Object(c.returnYYYYMMDD)(), void 0 === this.animeInfo.my_list_status.start_date && (this.animeInfo.my_list_status.start_date = Object(c.returnYYYYMMDD)())); const t = {}; for (const e in this.animeInfo.my_list_status) switch (e) { case "priority": case "num_watched_episodes": case "num_volumes_read": case "num_chapters_read": case "score": case "is_rewatching": case "is_rereading": case "num_times_rewatched": case "num_times_reread": case "rewatch_value": case "reread_value": case "tags": case "comments": case "status": case "start_date": case "finish_date": t[e] = this.animeInfo.my_list_status[e]; } return this.logger.m("Sync").log(this.ids.mal, t), this.apiCall({ type: "PUT", path: `${this.type}/${this.ids.mal}/my_list_status`, dataObj: t }).then(t => { this.logger.m("Sync").log("res", t); }); })); } delete() { return this.apiCall({ type: "DELETE", path: `${this.type}/${this.ids.mal}/my_list_status` }); } fillRelations() { return d(this, void 0, void 0, (function*() { const t = new l.a(`fillRelations/${this.ids.mal}/${this.getType()}`, 6048e5); return t.hasValueAndIsNotEmpty().then(e => e ? t.getValue().then(t => { t && t.da && parseInt(t.da) && (this.ids.ani = parseInt(t.da)); }) : Object(s.d)(this.ids.mal, this.getType()).then(e => (e && parseInt(e) && (this.ids.ani = parseInt(e)), t.setValue({ da: e })))); })); } } }).call(this, n(4), n(1)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return s; })); var a = n(20), o = n(30), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class s { constructor(e, n) { return this.cacheKey = e, this.type = n, this.releaseItem = void 0, this.updateItem = void 0, this.logger = t.m("progress").m(e.toString()), this; } initReleaseProgress(t) { return r(this, void 0, void 0, (function*() { t && (yield Object(a.e)(t, this.type, t.progressMode)); const e = yield i.storage.get(`release/${this.type}/${this.cacheKey}`); this.logger.m("Init Release").log(e), e && (Object(a.d)(e) ? this.logger.log("Too old") : this.releaseItem = e); })); } getProgressCurrentEpisode() { const t = this.releaseItem; return t && t.value && t.value.lastEp && t.value.lastEp.total ? t.value.lastEp.total : null; } isProgressFinished() { const t = this.releaseItem; return !(!t || !t.finished); } getProgressPrediction() { const t = this.releaseItem; return t && t.value && t.value.predicition && t.value.predicition.timestamp ? t.value.predicition.timestamp : null; } getProgressLastTimestamp() { const t = this.releaseItem; return t && t.value && t.value.lastEp && t.value.lastEp.timestamp ? t.value.lastEp.timestamp : null; } initUpdateCheck() { return r(this, void 0, void 0, (function*() { if ("webextension" !== i.type) return; const e = yield i.storage.get(`updateCheck/${this.type}/${this.cacheKey}`); e && (e.error || e.timestamp && ((new Date).getTime() - e.timestamp > 864e5 ? t.log("too old") : (t.m("update check").log(e), this.updateItem = e))); })); } getUpdateCurrentEpisode() { const t = this.updateItem; return t && t.newestEp ? t.newestEp : null; } init(t = !1) { return r(this, void 0, void 0, (function*() { return yield Promise.all([ this.initReleaseProgress(t), this.initUpdateCheck() ]), this; })); } getCurrentEpisode() { return i.settings.get("epPredictions") ? this.updateItem && this.getUpdateCurrentEpisode() ? this.getUpdateCurrentEpisode() : this.getProgressCurrentEpisode() : null; } isFinished() { return this.isProgressFinished(); } isAiring() { return !this.isFinished(); } getPredictionTimestamp() { return this.updateItem && this.getUpdateCurrentEpisode() && this.getUpdateCurrentEpisode() !== this.getProgressCurrentEpisode() || !this.getProgressPrediction() || (new Date).getTime() > this.getProgressPrediction() ? NaN : this.getProgressPrediction(); } getPrediction() { return Object(o.b)(this.getPredictionTimestamp()); } getPredictionText() { const t = this.getPrediction(); return t ? i.storage.lang("prediction_Episode_" + this.type, [ t ]) : ""; } getLastTimestamp() { return this.updateItem && this.getUpdateCurrentEpisode() && this.getUpdateCurrentEpisode() !== this.getProgressCurrentEpisode() ? NaN : this.getProgressLastTimestamp(); } getLast(t = !0) { return Object(o.b)(this.getLastTimestamp(), t); } getLastText() { const t = this.getLast(!1); return t ? i.storage.lang("prediction_Last_" + this.type, [ t ]) : ""; } getAuto() { const t = this.getPrediction(); if (t) return t; const e = this.getLast(); return e || ""; } getAutoText() { const t = this.getPredictionText(); if (t) return t; const e = this.getLastText(); return e || ""; } getColor() { return this.updateItem && this.getUpdateCurrentEpisode() ? "#e91e63" : "#f57c00"; } getBars(t, e) { const n = this.getCurrentEpisode(), i = { totalWidth: 100, epWidth: 0, predWidth: 0 }; if (!e) if (i.totalWidth = 0, t && (!n || t >= n)) e = Math.ceil(1.2 * t); else { if (!n || t && !(t < n)) return i; e = Math.ceil(1.2 * n); } return t && (i.epWidth = t / e * 100, i.epWidth > 100 && (i.epWidth = 100)), n && (i.predWidth = n / e * 100, i.predWidth > 100 && (i.predWidth = 100)), i; } } }).call(this, n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return s; })); var a = n(17), o = n(11), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class s extends a.a { constructor() { super(...arguments), this.name = "MyAnimeList", this.authenticationUrl = o.c, this.limit = 100, this.apiCall = o.b; } getUsername() { return r(this, void 0, void 0, (function*() { return this.apiCall({ type: "GET", path: "users/@me" }).then(t => t.name); })); } errorHandling(e) { if (void 0 !== e.errors) throw t.error(e.errors), { code: parseInt(e.errors[0].status), message: e.errors[0].title }; } deauth() { return i.settings.set("malToken", "").then(() => i.settings.set("malRefresh", "")); } _getSortingOptions() { return [ { icon: "sort_by_alpha", title: "Alphabetic", value: "alpha" }, { icon: "history", title: "Last Updated", value: "updated" }, { icon: "score", title: "Score", value: "score" } ]; } getOrder(t) { switch (t) { case "alpha": return this.listType + "_title"; case "updated": return "list_updated_at"; case "score": return "list_score"; default: return 1 === this.status || 6 === this.status ? this.getOrder("updated") : this.getOrder("alpha"); } } getPart() { return r(this, void 0, void 0, (function*() { this.limit = 100, this.modes.frontend && (this.limit = 24); const e = this.getOrder(this.sort); let n = ""; e && (n = "&sort=" + e), t.log("[UserList][MAL]", "username: " + this.username, "status: " + this.status, "offset: " + this.offset, "sorting: " + n); let i = ""; return 7 !== this.status && (i = "manga" === this.listType ? "&status=" + o.d[this.status] : "&status=" + o.a[this.status]), this.apiCall({ type: "GET", path: `users/@me/${this.listType}list?nsfw=true&limit=${this.limit}&offset=${this.offset}${i}${n}`, fields: [ "list_status{tags,is_rewatching,is_rereading,start_date,finish_date}", "num_episodes", "num_chapters", "num_volumes" ] }).then(t => (t.paging && t.paging.next ? this.offset += this.limit : this.done = !0, this.prepareData(t.data))); })); } prepareData(t) { var e, n, i, a; return r(this, void 0, void 0, (function*() { const r = []; for (let s = 0; s < t.length; s++) { const l = t[s]; "anime" === this.listType ? r.push(yield this.fn({ uid: l.node.id, malId: l.node.id, apiCacheKey: l.node.id, cacheKey: l.node.id, type: this.listType, title: l.node.title, url: `https://myanimelist.net/${this.listType}/${l.node.id}`, watchedEp: l.list_status.num_episodes_watched, totalEp: l.node.num_episodes, status: parseInt(o.a[l.list_status.status]), score: l.list_status.score, image: null !== (n = null === (e = l.node.main_picture) || void 0 === e ? void 0 : e.medium) && void 0 !== n ? n : "", tags: l.list_status.tags.length ? l.list_status.tags.join(",") : "", airingState: l.anime_airing_status })) : r.push(yield this.fn({ uid: l.node.id, malId: l.node.id, apiCacheKey: l.node.id, cacheKey: l.node.id, type: this.listType, title: l.node.title, url: `https://myanimelist.net/${this.listType}/${l.node.id}`, watchedEp: l.list_status.num_chapters_read, totalEp: l.node.num_chapters, status: parseInt(o.d[l.list_status.status]), score: l.list_status.score, image: null !== (a = null === (i = l.node.main_picture) || void 0 === i ? void 0 : i.medium) && void 0 !== a ? a : "", tags: l.list_status.tags.length ? l.list_status.tags.join(",") : "", airingState: l.anime_airing_status })); } return console.log(r), r; })); } } }).call(this, n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return r; })), n.d(e, "b", (function() { return s; })); var o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const r = "10093a3f9f0174b6b5577c40e9accdae"; function s() { $(document).ready((function() { return o(this, void 0, void 0, (function*() { if (window.location.href.includes("code=")) try { yield function() { return o(this, void 0, void 0, (function*() { const e = i.urlParam(window.location.href, "code"), n = i.urlParam(window.location.href, "state"); if (window.history.replaceState("", "", "/mal/oauth"), !n || !e) throw "Url wrong"; const o = sessionStorage.getItem(n); if (!o) throw "No challenge found"; return a.request.xhr("POST", { url: "https://myanimelist.net/v1/oauth2/token", headers: { "Content-Type": "application/x-www-form-urlencoded" }, data: `&client_id=${r}&grant_type=authorization_code&code=${e}&code_verifier=${o}` }).then(t => JSON.parse(t.responseText)).then(e => { if (e && e.refresh_token && e.access_token) return a.settings.set("malToken", e.access_token), a.settings.set("malRefresh", e.refresh_token), $(".card-text.succ").prepend(t.html(a.storage.lang("anilistClass_authentication"))), $("body").removeClass(), void $("body").addClass("success"); if (e && e.error) throw e.error; throw "Something went wrong"; }); })); }(); } catch (t) { console.error(t), $(".card-text").first().text("Error: " + t), $("body").removeClass(), $("body").addClass("noExtension"); } else !function() { const e = l(50), n = l(10); sessionStorage.setItem(n, e); const i = `https://myanimelist.net/v1/oauth2/authorize?response_type=code&client_id=${r}&state=${n}&code_challenge=${e}&code_challenge_method=plain`; $(".card-text.succ").prepend(t.html(`<a class="btn btn-outline-light" href="${i}">Start Authentication</a>`)), $("body").removeClass(), $("body").addClass("success"); }(); })); })); } function l(t) { let e = ""; const n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~"; for (let i = 0; i < t; i++) e += n.charAt(Math.floor(Math.random() * n.length)); return e; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return l; })); var o = n(22), r = n(5), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class l extends o.a { constructor(e) { return super(e), this.url = e, this.shortName = "Local", this.authenticationUrl = "", this.logger = t.m(this.shortName, "black"), this; } handleUrl(t) { if (t.match(/local:\/\/.*/i)) return this.id = i.urlPart(t, 4), this.type = "anime" === i.urlPart(t, 3) ? "anime" : "manga", this.page = i.urlPart(t, 2), this.key = `local://${this.page}/${this.type}/${this.id}`, void (i.urlPart(t, 5) ? this.title = decodeURIComponent(i.urlPart(t, 5)) : this.title = "Unknown"); throw this.errorObj(r.a.UrlNotSuported, "Url not supported"); } getCacheKey() { return `local:${this.id}:${this.page}`; } _getStatus() { return this.animeInfo.status; } _setStatus(t) { this.animeInfo.status = t; } _getScore() { return this.animeInfo.score; } _setScore(t) { this.animeInfo.score = t; } _getEpisode() { return this.animeInfo.progress; } _setEpisode(t) { this.animeInfo.progress = parseInt("" + t); } _getVolume() { return this.animeInfo.volumeprogress; } _setVolume(t) { this.animeInfo.volumeprogress = t; } _getTags() { let {tags: t} = this.animeInfo; return t || (t = ""), t; } _setTags(t) { this.animeInfo.tags = t; } _getTitle(t = !1) { return t ? this.animeInfo.name : "[L] " + this.animeInfo.name; } _getTotalEpisodes() { return 0; } _getTotalVolumes() { return 0; } _getDisplayUrl() { return "https://github.com/MALSync/MALSync/wiki/Local-Sync"; } _getImage() { return this.animeInfo && this.animeInfo.image ? Promise.resolve(this.animeInfo.image) : Promise.resolve(a.storage.assetUrl("questionmark.gif")); } setImage(t) { this.animeInfo.image = t, this._onList && this.sync(); } _getRating() { return Promise.resolve("Local"); } _update() { return s(this, void 0, void 0, (function*() { this._authenticated = !0, this.animeInfo = yield a.storage.get(this.key), this._onList = !0, this.animeInfo || (this._onList = !1, this.animeInfo = { name: this.title, tags: "", sUrl: "", image: "", progress: 0, volumeprogress: 0, score: 0, status: 6 }); })); } _sync() { return s(this, void 0, void 0, (function*() { return a.storage.set(this.key, this.animeInfo); })); } delete() { return a.storage.remove(this.key); } setStreamingUrl(t) { return this.animeInfo && t && (this.animeInfo.sUrl = t), super.setStreamingUrl(t); } getStreamingUrl() { return this.animeInfo && this.animeInfo.sUrl ? this.animeInfo.sUrl : super.getStreamingUrl(); } } }).call(this, n(4), n(1), n(0)); }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return i; })); const i = { shortName: "Simkl", score: "Simkl Score:", noLogin: 'Please Authenticate <a target="_blank" href="https://simkl.com/oauth/authorize?response_type=code&client_id=39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0&redirect_uri=https://simkl.com/apps/chrome/mal-sync/connected/">Here</a>' }; }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return r; })); var i = n(11), a = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const o = { apiCall: i.b, logger: t.m("MAL Search"), errorObj: (t, e) => ({ code: t, message: e }), type: "anime" }; function r(t, e, n = {}, i = !1) { return a(this, void 0, void 0, (function*() { return o.type = e, (t = t.trim()).length > 64 && (t = t.substr(0, 64)), o.apiCall({ type: "GET", path: `${e}?q=${t}&limit=15&nsfw=true`, fields: [ "start_date", "mean", "alternative_titles", "media_type" ] }).then(t => { const n = []; return t.data.forEach((function(t) { var i, a; let o = [ t.node.title ]; t.node.alternative_titles && (t.node.alternative_titles.en && o.push(t.node.alternative_titles.en), t.node.alternative_titles.ja && o.push(t.node.alternative_titles.ja), t.node.alternative_titles.synonyms && (o = o.concat(t.node.alternative_titles.synonyms))), n.push({ id: t.node.id, name: t.node.title, altNames: o, url: `https://myanimelist.net/${e}/${t.node.id}`, malUrl: () => `https://myanimelist.net/${e}/${t.node.id}`, image: null !== (a = null === (i = t.node.main_picture) || void 0 === i ? void 0 : i.medium) && void 0 !== a ? a : "", media_type: t.node.media_type ? (t.node.media_type.charAt(0) + t.node.media_type.slice(1).toLowerCase()).replace("_", " ") : "", isNovel: t.node.media_type.toLowerCase().includes("novel"), score: t.node.mean, year: t.node.start_date }); })), o.logger.log(n), n; }); })); } }).call(this, n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })), n.d(e, "b", (function() { return r; })); const o = r(); function r() { let e; return e = { name: "MangaHere", domain: "http://www.mangahere.cc", languages: [ "English" ], database: "MangaFox", type: "manga", isSyncPage: t => !(void 0 === t.split("/")[5] || !t.split("/")[5].length), isOverviewPage: t => !(void 0 === t.split("/")[4] || !t.split("/")[4].length || e.isSyncPage(t)), sync: { getTitle: e => t.$("p.reader-header-title-1 > a:nth-child(1)").text(), getIdentifier: t => t.split("/")[4], getOverviewUrl: n => i.absoluteLink(t.$("p.reader-header-title-1 > a:nth-child(1)").attr("href"), e.domain), getEpisode: e => s(t.$("p.reader-header-title-2").text()), getVolume(e) { let n = t.$("p.reader-header-title-2").text().match(/(vol\.|volume)\D?\d+/i); return null !== n && (n = n[0].match(/\d+/), null !== n) ? parseInt(n[0]) : NaN; }, nextEpUrl(n) { const a = t.$('div.pager-list-left > a:contains("Next Chapter")').attr("href"); return a ? i.absoluteLink(a, e.domain) : ""; } }, overview: { getTitle: e => t.$("span.detail-info-right-title-font").first().text(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.detail-main").first().before(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul.detail-main-list > li"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href") || "", e.domain), elementEp: t => s(t.find("a > div > p.title3").text()) } }, init(e) { a.storage.addStyle(n(441).toString()), t.$(document).ready((function() { e.handlePage(); })); } }, e; } function s(t) { let e = t.match(/(ch\.|chapter)\D?\d+/i); return null !== e && (e = e[0].match(/\d+/), null !== e) ? parseInt(e[0]) : 1; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return u; })); var r = n(27), s = n(247), l = n.n(s), c = n(248), d = n(258), m = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; r.a.use(c), r.a.use(l.a, { default: { ADD_ATTR: [ "target" ] } }); class u { constructor(e) { function n(t) { "offline" === t.type && (i.log("Offline"), a.flashm("You're offline check your connection", { error: !0, type: "offline", permanent: !0 })), "online" === t.type && (i.log("You are now back online."), $(".type-offline").remove()); } this.minimal = e, this.history = [], this.minimal.find("body").append(t.html('<div id="minimalApp"></div>')), this.minimalVue = new r.a({ el: this.minimal.find("#minimalApp").get(0), methods: { updateDom: () => { this.updateDom(); } }, render: t => t(d.a) }), this.minimal.find("head").append(t.html('<base href="https://myanimelist.net/">')), this.uiListener(), this.injectCss(), this.loadSettings(), this.updateDom(), window.addEventListener("online", n), window.addEventListener("offline", n); } uiListener() { const e = document.getElementById("info-popup"), n = this; this.minimal.on("click", ".mdl-layout__content a", (function(e) { if ("_blank" === t.$(this).attr("target") || t.$(this).hasClass("nojs")) return; e.preventDefault(); let i = t.$(this).attr("href") || ""; if (/^local:\/\//i.test(i) || (i = a.absoluteLink(i, "https://myanimelist.net")), !n.fill(i)) { const t = window.open(i, "_blank"); t ? t.focus() : alert(o.storage.lang("minimalClass_Popup")); } })), this.minimal.find("#close-info-popup").click((function() { n.isPopup() ? window.close() : (e.style.display = "none", t.$(".floatbutton").fadeIn()); })), this.minimal.find("#material-fullscreen").click((function() { t.$(".modal-content-kal.fullscreen").length ? (t.$(".modal-content-kal").removeClass("fullscreen"), t.$(this).find("i").text("fullscreen")) : (t.$(".modal-content-kal").addClass("fullscreen"), t.$(this).find("i").text("fullscreen_exit")); })); } isPopup() { return !!t.$("#Mal-Sync-Popup").length; } updateDom() { this.minimal.find("head").click(); } injectCss() { this.minimal.find("head").append(t.$("<style>").html(n(562).toString())); } fill(t) { return this.minimalVue.$children[0].fill(t); } fillBase(t) { return this.minimalVue.$children[0].fillBase(t); } setPageSync(t) { this.minimalVue.$children[0].setPage(t); } loadSettings() { const e = this; this.minimal.find("#posLeft").val(o.settings.get("posLeft")), this.minimal.find("#posLeft").change((function() { o.settings.set("posLeft", t.$(this).val()), t.$("#modal-content").css("right", "auto").css("left", "auto").css(String(t.$(this).val()), "0"); })), this.minimal.find("#autoTrackingModeanime").val(o.settings.get("autoTrackingModeanime")), this.minimal.find("#autoTrackingModeanime").change((function() { o.settings.set("autoTrackingModeanime", t.$(this).val()); })), this.minimal.find("#theme").val(o.settings.get("theme")), this.minimal.find("#theme").change((function() { o.settings.set("theme", t.$(this).val()), e.minimal.attr("id", "cr"); })), this.minimal.find("#autoTrackingModemanga").val(o.settings.get("autoTrackingModemanga")), this.minimal.find("#autoTrackingModemanga").change((function() { o.settings.set("autoTrackingModemanga", t.$(this).val()); })), this.minimal.find("#miniMalWidth").on("input", (function() { let n = e.minimal.find("#miniMalWidth").val(); null !== n && ("" === n && (n = "30%", a.flashm("Width reset")), o.settings.set("miniMalWidth", n)), t.$("#modal-content").css("width", n); })), this.minimal.find("#syncMode").change((function() { const n = t.$(this).val(); o.settings.set("syncMode", n), e.minimal.find("#clearCache").click(); })), this.minimal.find("#syncMode").val(o.settings.get("syncMode")), this.minimal.find("#miniMalHeight").on("input", (function() { let n = e.minimal.find("#miniMalHeight").val(); null !== n && ("" === n && (n = "90%", a.flashm("Height reset")), o.settings.set("miniMalHeight", n)), t.$("#modal-content").css("height", n); })), this.minimal.find("#malThumbnail").val(o.settings.get("malThumbnail")), this.minimal.find("#malThumbnail").change((function() { o.settings.set("malThumbnail", e.minimal.find("#malThumbnail").val()); })), this.minimal.find("#clearCache").click((function() { return m(this, void 0, void 0, (function*() { const e = yield o.storage.list(); let n = 0; t.$.each(e, (function(t, e) { a.syncRegex.test(String(t)) || /(^tagSettings\/.*)/.test(String(t)) || (o.storage.remove(String(t)), n++); })), a.flashm(`Cache Cleared [${n}]`); })); })), "webextension" === o.type && this.minimal.find(".option-extension").show(), "webextension" === o.type && this.isPopup() && this.minimal.find(".option-extension-popup").show(), "webextension" === o.type && this.isPopup() && (chrome.alarms.get("updateCheck", t => { i.log(t); let e = 0; if (void 0 !== t && (e = t.periodInMinutes, this.minimal.find(".updateCheckEnable").show()), this.minimal.find("#updateCheckTime").val(e), e) { function n() { o.storage.get("updateCheckLast").then(t => { if (Number.isNaN(t)) return; const e = Math.abs(t - Date.now()); let n = a.timeDiffToText(e); "" !== n && (n += "ago", $("#updateCheckAgo").text(n)); }); } n(), setInterval((function() { n(); }), 6e4); } }), this.minimal.find("#updateCheckTime").change(() => { const t = this.minimal.find("#updateCheckTime").val(); o.storage.set("updateCheckTime", t), 0 !== t && "0" !== t ? (this.minimal.find(".updateCheckEnable").show(), chrome.alarms.create("updateCheck", { periodInMinutes: parseInt(t) }), a.canHideTabs() || chrome.permissions.request({ permissions: [ "webRequest", "webRequestBlocking" ], origins: chrome.runtime.getManifest().optional_permissions.filter(t => "webRequest" !== t && "webRequestBlocking" !== t) }, (function(t) { i.log("optional_permissions", t); })), chrome.alarms.create("updateCheckNow", { when: Date.now() + 1e3 })) : (this.minimal.find(".updateCheckEnable").hide(), chrome.alarms.clear("updateCheck")); }), this.minimal.find("#updateCheck").show()), this.minimal.find("#updateCheckUi").click(() => { this.minimalVue.$children[0].selectTab("updateCheck"); }), this.minimal.find("#listSyncUi").click(() => { this.minimalVue.$children[0].selectTab("listSync"); }), this.minimal.find("#cleanTagsUi").click(() => { this.minimalVue.$children[0].selectTab("cleanTags"); }), this.minimal.find("#allSitesUi").click(() => { this.minimalVue.$children[0].selectTab("allSites"); }), this.minimal.find("#customDomainsUi").click(() => { this.minimalVue.$children[0].selectTab("customDomains"); }), this.minimal.find("#quicklinkoverview").click(() => { this.minimalVue.$children[0].selectTab("quicklinks"); }), o.storage.get("tempVersion").then(t => { let e = ""; t !== o.storage.version() && (e = o.storage.lang("minimalClass_versionMsg", [ o.storage.version(), `[<a class="close" target="_blank" href="https://malsync.lolamtisch.de/changelog#${o.storage.version()}">` ])), i.log(t), void 0 === t && "webextension" !== o.type && (e = `\n <div style="\n text-align: left;\n margin-left: auto;\n margin-right: auto;\n display: inline-block;\n padding: 10px 15px;\n background-color: #3d4e9a;\n margin-top: -5px;\n ">\n <span style="text-decoration: underline; font-size: 15px;">${o.storage.lang("minimalClass_versionMsg_Text_1")}</span><br>\n <br>\n ${o.storage.lang("minimalClass_versionMsg_Text_4")}<br>\n <a target="_blank" href="https://github.com/Karmesinrot/Anifiltrs#anifiltrs">\n <img alt="Filter List" src="https://img.shields.io/badge/ublock-Anifiltrs-800900.svg?style=flat-square">\n </a><br>\n <br>\n\n\n ${o.storage.lang("minimalClass_versionMsg_Text_2")}<br>\n <a target="_blank" href="https://discord.com/invite/cTH4yaw">\n <img alt="Discord" src="https://img.shields.io/discord/358599430502481920.svg?style=flat-square&logo=discord&label=Discord&colorB=7289DA">\n </a><br>\n <a target="_blank" href="https://github.com/MALSync/MALSync/issues">\n <img alt="Github Issues" src="https://img.shields.io/github/issues/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white">\n </a><br>\n <br>\n ${o.storage.lang("minimalClass_versionMsg_Text_3")}<br>\n <a target="_blank" href="https://github.com/MALSync/MALSync">\n <img alt="Github" src="https://img.shields.io/github/last-commit/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white&label=Github">\n </a>\n </div>\n `), "" !== e && this.flashm(e, (function() { o.storage.set("tempVersion", o.storage.version()); })); }); } searchMal(e, n = "all", i, a) { const r = this; this.minimal.find(i).html(t.html("")), o.request.xhr("GET", `https://myanimelist.net/search/prefix.json?type=${n}&keyword=${e}&v=1`).then(s => { const l = t.$.parseJSON(s.responseText); this.minimal.find(i).append(t.html('<div class="mdl-grid">\n <select name="myinfo_score" id="searchListType" class="inputtext mdl-textfield__input mdl-cell mdl-cell--12-col" style="outline: none; background-color: white; border: none;">\n <option value="anime">Anime</option>\n <option value="manga">Manga</option>\n </select>\n </div>')), this.minimal.find("#searchListType").val(n), this.minimal.find("#searchListType").change((function(t) { r.searchMal(e, r.minimal.find("#searchListType").val(), i, a); })), t.$.each(l, (e, n) => { t.$.each(n, (e, n) => { t.$.each(n, (e, n) => { "object" == typeof n && t.$.each(n, (e, n) => { void 0 !== n.name && r.minimal.find(i + " > div").append(t.html(`<a class="mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--2dp mdl-grid searchItem" href="${n.url}" style="cursor: pointer;"> <img src="${n.image_url}" style="margin: -8px 0px -8px -8px; height: 100px; width: 64px; background-color: grey;"></img> <div style="flex-grow: 100; cursor: pointer; margin-top: 0; margin-bottom: 0;" class="mdl-cell"> <span style="font-size: 20px; font-weight: 400; line-height: 1;">${n.name}</span> <p style="margin-bottom: 0; line-height: 20px; padding-top: 3px;">${o.storage.lang("search_Type")} ${n.payload.media_type}</p> <p style="margin-bottom: 0; line-height: 20px;">${o.storage.lang("search_Score")} ${n.payload.score}</p> <p style="margin-bottom: 0; line-height: 20px;">${o.storage.lang("search_Year")} ${n.payload.start_year}</p> </div> </a>`)); }); }); }); }), a(); }); } flashm(e, n) { const i = `\n <div style="\n background-color: #3f51b5;\n text-align: center;\n padding: 5px 24px;\n color: white;\n border-top: 1px solid #fefefe;\n ">\n ${e}\n <i class="material-icons close" style="\n float: right;\n font-size: 24px;\n margin-top: -2px;\n margin-right: -24px;\n margin-bottom: -5px;\n ">${o.storage.lang("close")}</i>\n </div>\n `, a = t.$(t.html(i)).appendTo(this.minimal.find(".mdl-layout")); return a.find(".close").click((function() { a.slideUp(100, (function() { a.remove(), n(); })); })), a; } } }).call(this, n(2), n(4), n(1), n(0)); }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", [ n("div", { staticClass: "icon material-icons", staticStyle: { "font-size": "16px", "line-height": "0", color: "#7f7f7f", "padding-bottom": "20px", "padding-left": "3px" }, style: t.tagStyle, attrs: { id: t.id } }, [ t._v("\n " + t._s(t.iconText) + "\n ") ]), t._v(" "), n("div", { staticClass: "mdl-tooltip mdl-tooltip--large", class: t.directionClass, attrs: { for: t.id } }, [ t._t("default") ], 2) ]); }; i._withStripped = !0; var a = { props: { direction: { type: String, default: "top" }, tagStyle: { type: String, default: "" }, iconText: { type: String, default: "contact_support" } }, data: () => ({ number: Math.floor(1e3 * Math.random() + 1) }), computed: { id() { return "tt-" + this.number; }, directionClass() { return "mdl-tooltip--" + this.direction; } } }, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/components/tooltip.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "b", (function() { return l; })), n.d(e, "c", (function() { return c; })), n.d(e, "a", (function() { return d; })); var r = n(82), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const l = "39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0"; function c(t) { return d("https://api.simkl.com/anime/" + t, { extended: "full" }, !0).then(t => void 0 === t.ids.mal ? null : t.ids.mal); } function d(e, n = {}, c = !1, m = "GET", u = !0) { return s(this, void 0, void 0, (function*() { c && (e += "?" + t.$.param(n)), i.log("call", m, e, n); const p = { Authorization: u ? "Bearer " + a.settings.get("simklToken") : void 0, "simkl-api-key": l, Accept: "application/vnd.api+json", "Content-Type": "application/json" }; return u || i.log("No login"), a.request.xhr(m, { url: e, headers: p, data: n }).then(t => s(this, void 0, void 0, (function*() { switch (t.status) { case 200: case 201: case 204: case 302: break; case 401: if (u) return d(e, n, c, m, !1); throw o.flashm(r.a.noLogin, { error: !0, type: "error" }), s(); default: throw o.flashm("Simkl: " + a(), { error: !0, type: "error" }), s(); } try { return JSON.parse(t.responseText); } catch (e) { throw i.error(t), e; } function a() { return JSON.parse(t.responseText).error; } function s() { return { status: t.status, message: a() }; } }))); })); } }).call(this, n(2), n(4), n(0), n(1)); }, function(t, e) { var n; n = function() { return this; }(); try { n = n || new Function("return this")(); } catch (t) { "object" == typeof window && (n = window); } t.exports = n; }, function(t, e, n) { t.exports = function() { "use strict"; var t = Object.hasOwnProperty, e = Object.setPrototypeOf, n = Object.isFrozen, i = Object.freeze, a = Object.seal, o = Object.create, r = "undefined" != typeof Reflect && Reflect, s = r.apply, l = r.construct; s || (s = function(t, e, n) { return t.apply(e, n); }), i || (i = function(t) { return t; }), a || (a = function(t) { return t; }), l || (l = function(t, e) { return new (Function.prototype.bind.apply(t, [ null ].concat(function(t) { if (Array.isArray(t)) { for (var e = 0, n = Array(t.length); e < t.length; e++) n[e] = t[e]; return n; } return Array.from(t); }(e)))); }); var c, d = w(Array.prototype.forEach), m = w(Array.prototype.pop), u = w(Array.prototype.push), p = w(String.prototype.toLowerCase), h = w(String.prototype.match), g = w(String.prototype.replace), f = w(String.prototype.indexOf), v = w(String.prototype.trim), b = w(RegExp.prototype.test), y = (c = TypeError, function() { for (var t = arguments.length, e = Array(t), n = 0; n < t; n++) e[n] = arguments[n]; return l(c, e); }); function w(t) { return function(e) { for (var n = arguments.length, i = Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++) i[a - 1] = arguments[a]; return s(t, e, i); }; } function _(t, i) { e && e(t, null); for (var a = i.length; a--; ) { var o = i[a]; if ("string" == typeof o) { var r = p(o); r !== o && (n(i) || (i[a] = r), o = r); } t[o] = !0; } return t; } function x(e) { var n = o(null), i = void 0; for (i in e) s(t, e, [ i ]) && (n[i] = e[i]); return n; } var k = i([ "a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr" ]), S = i([ "svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "audio", "canvas", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "video", "view", "vkern" ]), $ = i([ "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence" ]), E = i([ "math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover" ]), T = i([ "#text" ]), P = i([ "accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "xmlns" ]), C = i([ "accent-height", "accumulate", "additive", "alignment-baseline", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "targetx", "targety", "transform", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan" ]), A = i([ "accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns" ]), I = i([ "xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink" ]), O = a(/\{\{[\s\S]*|[\s\S]*\}\}/gm), U = a(/<%[\s\S]*|[\s\S]*%>/gm), M = a(/^data-[\-\w.\u00B7-\uFFFF]/), L = a(/^aria-[\-\w]+$/), N = a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), R = a(/^(?:\w+script|data):/i), j = a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), V = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { return typeof t; } : function(t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }; function D(t) { if (Array.isArray(t)) { for (var e = 0, n = Array(t.length); e < t.length; e++) n[e] = t[e]; return n; } return Array.from(t); } var z = function() { return "undefined" == typeof window ? null : window; }, F = function(t, e) { if ("object" !== (void 0 === t ? "undefined" : V(t)) || "function" != typeof t.createPolicy) return null; var n = null; e.currentScript && e.currentScript.hasAttribute("data-tt-policy-suffix") && (n = e.currentScript.getAttribute("data-tt-policy-suffix")); var i = "dompurify" + (n ? "#" + n : ""); try { return t.createPolicy(i, { createHTML: function(t) { return t; } }); } catch (t) { return console.warn("TrustedTypes policy " + i + " could not be created."), null; } }; return function t() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : z(), n = function(e) { return t(e); }; if (n.version = "2.1.1", n.removed = [], !e || !e.document || 9 !== e.document.nodeType) return n.isSupported = !1, n; var a = e.document, o = e.document, r = e.DocumentFragment, s = e.HTMLTemplateElement, l = e.Node, c = e.NodeFilter, w = e.NamedNodeMap, H = void 0 === w ? e.NamedNodeMap || e.MozNamedAttrMap : w, B = e.Text, K = e.Comment, q = e.DOMParser, W = e.trustedTypes; if ("function" == typeof s) { var J = o.createElement("template"); J.content && J.content.ownerDocument && (o = J.content.ownerDocument); } var G = F(W, a), Y = G && Pt ? G.createHTML("") : "", Z = o, Q = Z.implementation, X = Z.createNodeIterator, tt = Z.getElementsByTagName, et = Z.createDocumentFragment, nt = a.importNode, it = {}; try { it = x(o).documentMode ? o.documentMode : {}; } catch (t) {} var at = {}; n.isSupported = Q && void 0 !== Q.createHTMLDocument && 9 !== it; var ot = O, rt = U, st = M, lt = L, ct = R, dt = j, mt = N, ut = null, pt = _({}, [].concat(D(k), D(S), D($), D(E), D(T))), ht = null, gt = _({}, [].concat(D(P), D(C), D(A), D(I))), ft = null, vt = null, bt = !0, yt = !0, wt = !1, _t = !1, xt = !1, kt = !1, St = !1, $t = !1, Et = !1, Tt = !1, Pt = !1, Ct = !0, At = !0, It = !1, Ot = {}, Ut = _({}, [ "annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp" ]), Mt = null, Lt = _({}, [ "audio", "video", "img", "source", "image", "track" ]), Nt = null, Rt = _({}, [ "alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "summary", "title", "value", "style", "xmlns" ]), jt = null, Vt = o.createElement("form"), Dt = function(t) { jt && jt === t || (t && "object" === (void 0 === t ? "undefined" : V(t)) || (t = {}), t = x(t), ut = "ALLOWED_TAGS" in t ? _({}, t.ALLOWED_TAGS) : pt, ht = "ALLOWED_ATTR" in t ? _({}, t.ALLOWED_ATTR) : gt, Nt = "ADD_URI_SAFE_ATTR" in t ? _(x(Rt), t.ADD_URI_SAFE_ATTR) : Rt, Mt = "ADD_DATA_URI_TAGS" in t ? _(x(Lt), t.ADD_DATA_URI_TAGS) : Lt, ft = "FORBID_TAGS" in t ? _({}, t.FORBID_TAGS) : {}, vt = "FORBID_ATTR" in t ? _({}, t.FORBID_ATTR) : {}, Ot = "USE_PROFILES" in t && t.USE_PROFILES, bt = !1 !== t.ALLOW_ARIA_ATTR, yt = !1 !== t.ALLOW_DATA_ATTR, wt = t.ALLOW_UNKNOWN_PROTOCOLS || !1, _t = t.SAFE_FOR_TEMPLATES || !1, xt = t.WHOLE_DOCUMENT || !1, $t = t.RETURN_DOM || !1, Et = t.RETURN_DOM_FRAGMENT || !1, Tt = t.RETURN_DOM_IMPORT || !1, Pt = t.RETURN_TRUSTED_TYPE || !1, St = t.FORCE_BODY || !1, Ct = !1 !== t.SANITIZE_DOM, At = !1 !== t.KEEP_CONTENT, It = t.IN_PLACE || !1, mt = t.ALLOWED_URI_REGEXP || mt, _t && (yt = !1), Et && ($t = !0), Ot && (ut = _({}, [].concat(D(T))), ht = [], !0 === Ot.html && (_(ut, k), _(ht, P)), !0 === Ot.svg && (_(ut, S), _(ht, C), _(ht, I)), !0 === Ot.svgFilters && (_(ut, $), _(ht, C), _(ht, I)), !0 === Ot.mathMl && (_(ut, E), _(ht, A), _(ht, I))), t.ADD_TAGS && (ut === pt && (ut = x(ut)), _(ut, t.ADD_TAGS)), t.ADD_ATTR && (ht === gt && (ht = x(ht)), _(ht, t.ADD_ATTR)), t.ADD_URI_SAFE_ATTR && _(Nt, t.ADD_URI_SAFE_ATTR), At && (ut["#text"] = !0), xt && _(ut, [ "html", "head", "body" ]), ut.table && (_(ut, [ "tbody" ]), delete ft.tbody), i && i(t), jt = t); }, zt = function(t) { u(n.removed, { element: t }); try { t.parentNode.removeChild(t); } catch (e) { t.outerHTML = Y; } }, Ft = function(t, e) { try { u(n.removed, { attribute: e.getAttributeNode(t), from: e }); } catch (t) { u(n.removed, { attribute: null, from: e }); } e.removeAttribute(t); }, Ht = function(t) { var e = void 0, n = void 0; if (St) t = "<remove></remove>" + t; else { var i = h(t, /^[\r\n\t ]+/); n = i && i[0]; } var a = G ? G.createHTML(t) : t; try { e = (new q).parseFromString(a, "text/html"); } catch (t) {} if (!e || !e.documentElement) { var r = (e = Q.createHTMLDocument("")).body; r.parentNode.removeChild(r.parentNode.firstElementChild), r.outerHTML = a; } return t && n && e.body.insertBefore(o.createTextNode(n), e.body.childNodes[0] || null), tt.call(e, xt ? "html" : "body")[0]; }, Bt = function(t) { return X.call(t.ownerDocument || t, t, c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT, (function() { return c.FILTER_ACCEPT; }), !1); }, Kt = function(t) { return !(t instanceof B || t instanceof K || "string" == typeof t.nodeName && "string" == typeof t.textContent && "function" == typeof t.removeChild && t.attributes instanceof H && "function" == typeof t.removeAttribute && "function" == typeof t.setAttribute && "string" == typeof t.namespaceURI); }, qt = function(t) { return "object" === (void 0 === l ? "undefined" : V(l)) ? t instanceof l : t && "object" === (void 0 === t ? "undefined" : V(t)) && "number" == typeof t.nodeType && "string" == typeof t.nodeName; }, Wt = function(t, e, i) { at[t] && d(at[t], (function(t) { t.call(n, e, i, jt); })); }, Jt = function(t) { var e = void 0; if (Wt("beforeSanitizeElements", t, null), Kt(t)) return zt(t), !0; if (h(t.nodeName, /[\u0080-\uFFFF]/)) return zt(t), !0; var i = p(t.nodeName); if (Wt("uponSanitizeElement", t, { tagName: i, allowedTags: ut }), ("svg" === i || "math" === i) && 0 !== t.querySelectorAll("p, br").length) return zt(t), !0; if (!qt(t.firstElementChild) && (!qt(t.content) || !qt(t.content.firstElementChild)) && b(/<[!/\w]/g, t.innerHTML) && b(/<[!/\w]/g, t.textContent)) return zt(t), !0; if (!ut[i] || ft[i]) { if (At && !Ut[i] && "function" == typeof t.insertAdjacentHTML) try { var a = t.innerHTML; t.insertAdjacentHTML("AfterEnd", G ? G.createHTML(a) : a); } catch (t) {} return zt(t), !0; } return "noscript" !== i && "noembed" !== i || !b(/<\/no(script|embed)/i, t.innerHTML) ? (_t && 3 === t.nodeType && (e = t.textContent, e = g(e, ot, " "), e = g(e, rt, " "), t.textContent !== e && (u(n.removed, { element: t.cloneNode() }), t.textContent = e)), Wt("afterSanitizeElements", t, null), !1) : (zt(t), !0); }, Gt = function(t, e, n) { if (Ct && ("id" === e || "name" === e) && (n in o || n in Vt)) return !1; if (yt && b(st, e)) ; else if (bt && b(lt, e)) ; else { if (!ht[e] || vt[e]) return !1; if (Nt[e]) ; else if (b(mt, g(n, dt, ""))) ; else if ("src" !== e && "xlink:href" !== e && "href" !== e || "script" === t || 0 !== f(n, "data:") || !Mt[t]) if (wt && !b(ct, g(n, dt, ""))) ; else if (n) return !1; } return !0; }, Yt = function(t) { var e = void 0, i = void 0, a = void 0, o = void 0; Wt("beforeSanitizeAttributes", t, null); var r = t.attributes; if (r) { var s = { attrName: "", attrValue: "", keepAttr: !0, allowedAttributes: ht }; for (o = r.length; o--; ) { var l = e = r[o], c = l.name, d = l.namespaceURI; if (i = v(e.value), a = p(c), s.attrName = a, s.attrValue = i, s.keepAttr = !0, s.forceKeepAttr = void 0, Wt("uponSanitizeAttribute", t, s), i = s.attrValue, !s.forceKeepAttr && (Ft(c, t), s.keepAttr)) if (b(/\/>/i, i)) Ft(c, t); else { _t && (i = g(i, ot, " "), i = g(i, rt, " ")); var u = t.nodeName.toLowerCase(); if (Gt(u, a, i)) try { d ? t.setAttributeNS(d, c, i) : t.setAttribute(c, i), m(n.removed); } catch (t) {} } } Wt("afterSanitizeAttributes", t, null); } }, Zt = function t(e) { var n = void 0, i = Bt(e); for (Wt("beforeSanitizeShadowDOM", e, null); n = i.nextNode(); ) Wt("uponSanitizeShadowNode", n, null), Jt(n) || (n.content instanceof r && t(n.content), Yt(n)); Wt("afterSanitizeShadowDOM", e, null); }; return n.sanitize = function(t, i) { var o = void 0, s = void 0, c = void 0, d = void 0, m = void 0; if (t || (t = "\x3c!--\x3e"), "string" != typeof t && !qt(t)) { if ("function" != typeof t.toString) throw y("toString is not a function"); if ("string" != typeof (t = t.toString())) throw y("dirty is not a string, aborting"); } if (!n.isSupported) { if ("object" === V(e.toStaticHTML) || "function" == typeof e.toStaticHTML) { if ("string" == typeof t) return e.toStaticHTML(t); if (qt(t)) return e.toStaticHTML(t.outerHTML); } return t; } if (kt || Dt(i), n.removed = [], "string" == typeof t && (It = !1), It) ; else if (t instanceof l) 1 === (s = (o = Ht("\x3c!----\x3e")).ownerDocument.importNode(t, !0)).nodeType && "BODY" === s.nodeName || "HTML" === s.nodeName ? o = s : o.appendChild(s); else { if (!$t && !_t && !xt && -1 === t.indexOf("<")) return G && Pt ? G.createHTML(t) : t; if (!(o = Ht(t))) return $t ? null : Y; } o && St && zt(o.firstChild); for (var u = Bt(It ? t : o); c = u.nextNode(); ) 3 === c.nodeType && c === d || Jt(c) || (c.content instanceof r && Zt(c.content), Yt(c), d = c); if (d = null, It) return t; if ($t) { if (Et) for (m = et.call(o.ownerDocument); o.firstChild; ) m.appendChild(o.firstChild); else m = o; return Tt && (m = nt.call(a, m, !0)), m; } var p = xt ? o.outerHTML : o.innerHTML; return _t && (p = g(p, ot, " "), p = g(p, rt, " ")), G && Pt ? G.createHTML(p) : p; }, n.setConfig = function(t) { Dt(t), kt = !0; }, n.clearConfig = function() { jt = null, kt = !1; }, n.isValidAttribute = function(t, e, n) { jt || Dt({}); var i = p(t), a = p(e); return Gt(i, a, n); }, n.addHook = function(t, e) { "function" == typeof e && (at[t] = at[t] || [], u(at[t], e)); }, n.removeHook = function(t) { at[t] && m(at[t]); }, n.removeHooks = function(t) { at[t] && (at[t] = []); }, n.removeAllHooks = function() { at = {}; }, n; }(); }(); }, function(t) { t.exports = JSON.parse('[{"name":"9anime","domain":"https://9anime.to","database":"9anime","search":{"anime":"https://9anime.to/search?keyword={searchtermPlus}","manga":null}},{"name":"Crunchyroll","domain":"https://www.crunchyroll.com","database":"Crunchyroll","search":{"anime":"https://www.crunchyroll.com/search?q={searchtermPlus}","manga":null}},{"name":"Vrv","domain":"https://vrv.co","database":"Vrv","search":{"anime":"https://vrv.co/?q={searchterm}","manga":null}},{"name":"Mangadex","domain":"https://www.mangadex.org","database":"Mangadex","search":{"anime":null,"manga":"https://mangadex.org/titles#{searchterm}"}},{"name":"Gogoanime","domain":"https://gogoanime.tv","database":"Gogoanime","search":{"anime":"https://www1.gogoanime.ai/search.html?keyword={searchterm}","manga":null}},{"name":"Twistmoe","domain":"https://twist.moe","database":"Twistmoe","search":{"anime":"home","manga":null}},{"name":"Branitube","domain":"https://www.branitube.net","database":null,"search":{"anime":"https://www.branitube.net/buscar/{searchterm}","manga":null}},{"name":"TurkAnime","domain":"https://www.turkanime.net","database":null,"search":{"anime":"home","manga":null}},{"name":"animepahe","domain":"https://animepahe.com","database":"animepahe","search":{"anime":"home","manga":null}},{"name":"Netflix","domain":"https://www.netflix.com","database":"Netflix","search":{"anime":"https://www.netflix.com/search?q={searchterm}","manga":null}},{"name":"Animeflv","domain":"https://animeflv.net","database":null,"search":{"anime":"https://www3.animeflv.net/browse?q={searchtermPlus}","manga":null}},{"name":"Jkanime","domain":"https://jkanime.net","database":null,"search":{"anime":"https://jkanime.net/buscar/{searchterm}","manga":null}},{"name":"Proxer","domain":"https://proxer.me","database":null,"search":{"anime":"https://proxer.me/search?s=search&name={searchterm}&typ=all-anime&tags=¬ags=#top","manga":"https://proxer.me/search?s=search&name={searchterm}&typ=all-manga&tags=¬ags=#top"}},{"name":"Wakanim","domain":"https://www.wakanim.tv","database":null,"search":{"anime":"https://www.wakanim.tv/de/v2/catalogue/search?search={searchterm}","manga":null}},{"name":"Emby","domain":"http://app.emby.media","database":null,"search":{"anime":"home","manga":null}},{"name":"Plex","domain":"http://app.plex.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"4Anime","domain":"https://4anime.to","database":null,"search":{"anime":"https://4anime.to/?s={searchtermPlus}","manga":null}},{"name":"animeultima","domain":"https://animeultima.to","database":null,"search":{"anime":"home","manga":null}},{"name":"Aniflix","domain":"https://www1.aniflix.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"Animefreak","domain":"https://www.animefreak.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeLab","domain":"https://www.animelab.com","database":"AnimeLab","search":{"anime":"https://www.animelab.com/shows/search?searchTerms={searchtermPlus}","manga":null}},{"name":"KickAssAnime","domain":"https://www.kickassanime.ro","database":null,"search":{"anime":"https://www2.kickassanime.ro/search?q={searchterm}","manga":null}},{"name":"AnimeKisa","domain":"https://animekisa.tv","database":null,"search":{"anime":"https://animekisa.tv/search?q={searchtermPlus}","manga":null}},{"name":"AnimeIndo","domain":"https://animeindo.net","database":null,"search":{"anime":"https://animeindo.net/?s={searchterm}&post_type=anime","manga":null}},{"name":"Shinden","domain":"https://shinden.pl","database":null,"search":{"anime":"home","manga":null}},{"name":"Voiranime","domain":"https://voiranime.com","database":null,"search":{"anime":"home","manga":null}},{"name":"DubbedAnime","domain":"https://ww5.dubbedanime.net","database":null,"search":{"anime":"home","manga":null}},{"name":"MangaNato","domain":"https://manganato.com","database":"MangaNato","search":{"anime":null,"manga":"https://manganato.com/search/story/{searchterm}"}},{"name":"VIZ","domain":"https://www.viz.com","database":"VIZ","search":{"anime":null,"manga":"https://www.viz.com/search?search={searchtermPlus}"}},{"name":"NekoSama","domain":"https://www.neko-sama.fr","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeOdcinki","domain":"https://anime-odcinki.pl","database":null,"search":{"anime":"https://anime-odcinki.pl/szukaj/{searchtermPlus}","manga":null}},{"name":"AnimeZone","domain":"https://www.animezone.pl","database":null,"search":{"anime":"home","manga":null}},{"name":"Animeflix","domain":"https://animeflix.io","database":null,"search":{"anime":"home","manga":null}},{"name":"serimanga","domain":"https://serimanga.com","database":null,"search":{"anime":null,"manga":"https://serimanga.com/mangalar?search={searchtermPlus}"}},{"name":"mangadenizi","domain":"https://mangadenizi.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"moeclip","domain":"https://moeclip.com","database":null,"search":{"anime":"https://moeclip.com/search/{searchtermPlus}","manga":null}},{"name":"mangalivre","domain":"https://mangalivre.net","database":null,"search":{"anime":null,"manga":"home"}},{"name":"tmofans","domain":"https://lectortmo.com","database":null,"search":{"anime":null,"manga":"https://lectortmo.com/library?_pg=1&title={searchtermPlus}"}},{"name":"unionmangas","domain":"https://unionleitor.top","database":null,"search":{"anime":null,"manga":"home"}},{"name":"MangaPlus","domain":"https://mangaplus.shueisha.co.jp","database":"MangaPlus","search":{"anime":null,"manga":"https://mangaplus.shueisha.co.jp/search_result?keyword={searchterm}"}},{"name":"JapScan","domain":"https://www.japscan.ws","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Goyabu","domain":"https://goyabu.com","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimesVision","domain":"https://animesvision.biz","database":null,"search":{"anime":"home","manga":null}},{"name":"Hulu","domain":"https://www.hulu.com","database":"Hulu","search":{"anime":"home","manga":null}},{"name":"Hidive","domain":"https://www.hidive.com","database":"Hidive","search":{"anime":"https://www.hidive.com/search?q={searchtermPlus}","manga":null}},{"name":"FallenAngels","domain":"https://manga.fascans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Amazon Prime Video","domain":"https://www.primevideo.com","database":null,"search":{"anime":"home","manga":null}},{"name":"MangaKatana","domain":"http://mangakatana.com","database":null,"search":{"anime":null,"manga":"http://mangakatana.com/?search={searchtermPlus}&search_by=book_name"}},{"name":"manga4life","domain":"https://manga4life.com","database":null,"search":{"anime":null,"manga":"https://manga4life.com/search/?name={searchterm}"}},{"name":"bato","domain":"https://bato.to","database":null,"search":{"anime":null,"manga":"https://bato.to/search?word={searchtermPlus}"}},{"name":"DreamSub","domain":"https://dreamsub.cc","database":null,"search":{"anime":"https://dreamsub.cc/search/?q={searchtermPlus}","manga":null}},{"name":"MangaPark","domain":"https://mangapark.net","database":null,"search":{"anime":null,"manga":"https://mangapark.net/search?word={searchterm}"}},{"name":"AnimesHouse","domain":"https://animeshouse.net","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeXin","domain":"https://animexin.xyz","database":null,"search":{"anime":"https://animexin.xyz/?s={searchtermPlus}","manga":null}},{"name":"MonosChinos","domain":"https://monoschinos2.com","database":null,"search":{"anime":"https://monoschinos2.com/search?q={searchtermPlus}","manga":null}},{"name":"AnimeFire","domain":"https://animefire.net","database":null,"search":{"anime":"home","manga":null}},{"name":"OtakuFR","domain":"https://otakufr.co","database":null,"search":{"anime":"https://otakufr.co/toute-la-liste-affiches/?q={searchtermPlus}","manga":null}},{"name":"Samehadaku","domain":"https://samehadaku.vip","database":null,"search":{"anime":"https://samehadaku.vip/?s={searchtermPlus}","manga":null}},{"name":"Tsuki Mangás","domain":"https://www.tsukimangas.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"mangatx","domain":"https://mangatx.com","database":null,"search":{"anime":null,"manga":"https://mangatx.com/?s={searchtermPlus}&post_type=wp-manga&post_type=wp-manga"}},{"name":"TRanimeizle","domain":"https://www.tranimeizle.net/","database":null,"search":{"anime":"home","manga":null}},{"name":"Anihub","domain":"https://anihub.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeStreamingFR","domain":"https://www.animestreamingfr.fr","database":null,"search":{"anime":"https://www.animestreamingfr.fr/anime?page=1&query={searchtermPlus}","manga":null}},{"name":"Scantrad","domain":"https://scantrad.net","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Furyosquad","domain":"https://furyosquad.com/","database":null,"search":{"anime":null,"manga":"home"}},{"name":"AnimeId","domain":"https://www.animeid.tv","database":null,"search":{"anime":"home","manga":null}},{"name":"AniMixPlay","domain":"https://animixplay.to","database":"AniMixPlay","search":{"anime":"home","manga":null}},{"name":"MyAnimeList","domain":"https://myanimelist.net","database":null,"search":{"anime":"https://myanimelist.net/anime.php?q={searchterm}","manga":"https://myanimelist.net/manga.php?q={searchterm}"}},{"name":"AnimeSimple","domain":"https://ww1.animesimple.com","database":"AnimeSimple","search":{"anime":"home","manga":null}},{"name":"AnimeUnity","domain":"https://animeunity.it","database":null,"search":{"anime":"home","manga":null}},{"name":"MangaHere","domain":"http://www.mangahere.cc","database":null,"search":{"anime":null,"manga":"http://www.mangahere.cc/search?title={searchtermPlus}"}},{"name":"MangaFox","domain":"http://fanfox.net","database":"MangaFox","search":{"anime":null,"manga":"http://fanfox.net/search?title={searchtermPlus}"}},{"name":"JustAnime","domain":"https://justanime.app","database":null,"search":{"anime":"home","manga":null}},{"name":"YayAnimes","domain":"https://yayanimes.net","database":null,"search":{"anime":"https://yayanimes.net/?s={searchtermPlus}","manga":null}},{"name":"DesuOnline","domain":"https://desu-online.pl","database":null,"search":{"anime":"https://desu-online.pl/?s={searchtermPlus}","manga":null}},{"name":"Simplyaweeb","domain":"https://simplyaweeb.com","database":null,"search":{"anime":"home","manga":null}},{"name":"Animevibe","domain":"https://animevibe.wtf","database":null,"search":{"anime":"https://animevibe.wtf/search?q={searchtermPlus}","manga":null}},{"name":"WuxiaWorld","domain":"https://wuxiaworld.site","database":null,"search":{"anime":null,"manga":"https://wuxiaworld.site/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"AnimeOnDemand","domain":"https://www.anime-on-demand.de","database":null,"search":{"anime":"https://www.anime-on-demand.de/animes/?term={searchtermPlus}","manga":null}},{"name":"EdelgardeScans","domain":"https://edelgardescans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"HatigarmScanz","domain":"https://hatigarmscanz.net","database":null,"search":{"anime":null,"manga":"home"}},{"name":"LeviatanScans","domain":"https://leviatanscans.com","database":null,"search":{"anime":null,"manga":"https://leviatanscans.com/el/?s={searchtermPlus}"}},{"name":"MethodScans","domain":"https://methodscans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"NonamesScans","domain":"https://the-nonames.com","database":null,"search":{"anime":null,"manga":"https://the-nonames.com/comics?query={searchtermPlus}"}},{"name":"ReaperScans","domain":"https://reaperscans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"LynxScans","domain":"https://lynxscans.com","database":null,"search":{"anime":null,"manga":"https://lynxscans.com/comics?query={searchtermPlus}"}},{"name":"SKScans","domain":"https://skscans.com","database":null,"search":{"anime":null,"manga":"https://skscans.com/?s={searchtermPlus}"}},{"name":"ZeroScans","domain":"https://zeroscans.com","database":null,"search":{"anime":null,"manga":"https://zeroscans.com/comics?query={searchtermPlus}"}},{"name":"DeathTollScans","domain":"https://reader.deathtollscans.net","database":null,"search":{"anime":null,"manga":"home"}},{"name":"KireiCake","domain":"https://reader.kireicake.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"SenseScans","domain":"https://sensescans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"ManhuaPlus","domain":"https://manhuaplus.com","database":null,"search":{"anime":null,"manga":"https://manhuaplus.com/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"Readm","domain":"https://readm.org","database":null,"search":{"anime":null,"manga":"home"}},{"name":"tioanime","domain":"https://tioanime.com","database":null,"search":{"anime":"https://tioanime.com/directorio?q={searchtermPlus}","manga":null}},{"name":"YugenAnime","domain":"https://yugenani.me","database":"YugenAnime","search":{"anime":"https://yugenani.me/search/?q={searchtermPlus}","manga":null}},{"name":"MangaSee","domain":"https://mangasee123.com","database":"MangaSee","search":{"anime":null,"manga":"https://mangasee123.com/search/?name={searchterm}"}},{"name":"AnimeTribes","domain":"https://animetribes.ru","database":null,"search":{"anime":"home","manga":null}},{"name":"Okanime","domain":"https://okanime.tv","database":null,"search":{"anime":"https://okanime.tv/search?search={searchtermPlus}","manga":null}},{"name":"bs.to","domain":"https://bs.to","database":null,"search":{"anime":"home","manga":null}},{"name":"Pantsubase","domain":"https://pantsubase.tv","database":null,"search":{"anime":"https://pantsubase.tv/search?name={searchtermPlus}","manga":null}},{"name":"AnimeOwl","domain":"https://animeowl.net","database":null,"search":{"anime":"https://animeowl.net/?s={searchtermPlus}","manga":null}},{"name":"AsuraScans","domain":"https://asurascans.com","database":null,"search":{"anime":null,"manga":"https://www.asurascans.com/?s={searchtermPlus}"}},{"name":"NaniScans","domain":"https://naniscans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"MerakiScans","domain":"https://merakiscans.com","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Jellyfin","domain":"https://jellyfin.org/","database":null,"search":{"anime":"home","manga":null}},{"name":"An1me","domain":"https://an1me.nl","database":null,"search":{"anime":"https://an1me.nl/?s={searchtermPlus}&post_type=wp-manga","manga":null}},{"name":"MangaJar","domain":"https://mangajar.com","database":null,"search":{"anime":null,"manga":"https://mangajar.com/search?q={searchtermPlus}"}},{"name":"AnimeDao","domain":"https://animedao.to","database":null,"search":{"anime":"https://animedao.to/search/?search={searchtermPlus}","manga":null}},{"name":"Otakustv","domain":"https://www.otakustv.com","database":null,"search":{"anime":"https://www.otakustv.com/buscador.php?buscador={searchterm}","manga":null}},{"name":"Komga","domain":"https://komga.org","database":null,"search":{"anime":null,"manga":"home"}},{"name":"AnimeWho","domain":"https://animewho.com","database":null,"search":{"anime":"home","manga":null}},{"name":"AnimeSuge","domain":"https://animesuge.io","database":null,"search":{"anime":"https://animesuge.io/search?keyword={searchtermPlus}","manga":null}},{"name":"Toonily","domain":"https://toonily.net","database":null,"search":{"anime":null,"manga":"https://toonily.net/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"Fumetsu","domain":"https://fumetsu.pl","database":null,"search":{"anime":"home","manga":null}},{"name":"NonstopScans","domain":"https://www.nonstopscans.com","database":null,"search":{"anime":null,"manga":"https://www.nonstopscans.com/?s={searchtermPlus}"}},{"name":"FrixySubs","domain":"https://frixysubs.pl","database":null,"search":{"anime":"home","manga":null}},{"name":"Guya & Cubari","domain":"https://guya.moe","database":null,"search":{"anime":null,"manga":"home"}},{"name":"MangaHub","domain":"https://mangahub.io","database":null,"search":{"anime":null,"manga":"https://mangahub.io/search?q={searchterm}"}},{"name":"ComicK","domain":"https://comick.fun","database":null,"search":{"anime":null,"manga":"https://comick.fun/search?q={searchterm}"}},{"name":"AnimeShitai","domain":"https://www.anime-shitai.com","database":null,"search":{"anime":"home","manga":null}},{"name":"KangaryuTeam","domain":"https://kangaryu-team.fr","database":null,"search":{"anime":null,"manga":"home"}},{"name":"Japanread","domain":"https://www.japanread.cc/","database":null,"search":{"anime":null,"manga":"https://www.japanread.cc/manga-list?q={searchterm}"}},{"name":"CatManga","domain":"https://catmanga.org","database":null,"search":{"anime":null,"manga":"home"}},{"name":"MangaSushi","domain":"https://mangasushi.net","database":null,"search":{"anime":null,"manga":"https://mangasushi.net/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"ArangScans","domain":"https://arangscans.com","database":null,"search":{"anime":null,"manga":"https://arangscans.com/?s={searchtermPlus}"}},{"name":"HunlightScans","domain":"https://hunlight-scans.info/","database":null,"search":{"anime":null,"manga":"https://hunlight-scans.info/comics?query={searchtermPlus}"}},{"name":"TritiniaScans","domain":"https://tritinia.com","database":null,"search":{"anime":null,"manga":"https://tritinia.com/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"ReadManhua","domain":"https://readmanhua.net","database":null,"search":{"anime":null,"manga":"https://readmanhua.net/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"FlameScans","domain":"https://flamescans.org","database":null,"search":{"anime":null,"manga":"https://flamescans.org/?s={searchtermPlus}"}},{"name":"ImmortalUpdates","domain":"https://immortalupdates.com","database":null,"search":{"anime":null,"manga":"https://immortalupdates.com/?s={searchtermPlus}&post_type=wp-manga"}},{"name":"Zoro","domain":"https://zoro.to","database":"Zoro","search":{"anime":"https://zoro.to/search?keyword={searchtermPlus}","manga":null}},{"name":"Funimation","domain":"https://www.funimation.com","database":"Funimation","search":{"anime":"https://www.funimation.com/search/?q={searchterm}","manga":null}},{"name":"Kitsune","domain":"https://beta.kitsune.tv","database":null,"search":{"anime":"https://kitsune.tv/shows?q={searchterm}","manga":null}},{"name":"AnimesOnline","domain":"https://animesonline.org","database":null,"search":{"anime":"https://animesonline.org/?s={searchtermPlus}","manga":null}},{"name":"LHTranslation","domain":"https://lhtranslation.net","database":null,"search":{"anime":null,"manga":"home"}}]'); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return l; })); var o = n(27), r = n(110), s = n(257); class l extends r.a { constructor() { super(...arguments), this.reloadSync = !1; } openCorrectionCheck() { return this.state && this.state.similarity && this.state.similarity.same ? (t.log("similarity", this.state.similarity.value), !1) : this.openCorrection(!0).then(() => this.changed); } openCorrection(t = !1) { return new Promise((e, r) => { if (this.vueInstance && (this.vueInstance.$destroy(), !t)) return void e(!1); const l = i.flashm('<div class="shadow"></div>', { permanent: !0, position: "top", type: "correction" }); l.find(".shadow").get(0).attachShadow({ mode: "open" }).innerHTML = `\n <style>\n ${a.html(n(289).toString())}\n </style>\n <div id="correctionApp"></div>\n `; const c = l.find(".shadow").get(0).shadowRoot.querySelector("#correctionApp"); this.vueInstance = new o.a({ el: c, data: () => ({ searchClass: this, syncMode: t }), destroyed: () => { e(this.changed), l.remove(), this.vueInstance = void 0; }, render: t => t(s.a) }); }); } } }).call(this, n(4), n(1), n(2)); }, function(t, e) { function n(t, e) { if (t = t.replace(/\s+/g, ""), e = e.replace(/\s+/g, ""), !t.length && !e.length) return 1; if (!t.length || !e.length) return 0; if (t === e) return 1; if (1 === t.length && 1 === e.length) return 0; if (t.length < 2 || e.length < 2) return 0; let n = new Map; for (let e = 0; e < t.length - 1; e++) { const i = t.substring(e, e + 2), a = n.has(i) ? n.get(i) + 1 : 1; n.set(i, a); } let i = 0; for (let t = 0; t < e.length - 1; t++) { const a = e.substring(t, t + 2), o = n.has(a) ? n.get(a) : 0; o > 0 && (n.set(a, o - 1), i++); } return 2 * i / (t.length + e.length - 2); } t.exports = { compareTwoStrings: n, findBestMatch: function(t, e) { if (!function(t, e) { return "string" == typeof t && (!!Array.isArray(e) && (!!e.length && !e.find(t => "string" != typeof t))); }(t, e)) throw new Error("Bad arguments: First argument should be a string, second should be an array of strings"); const i = []; let a = 0; for (let o = 0; o < e.length; o++) { const r = e[o], s = n(t, r); i.push({ target: r, rating: s }), s > i[a].rating && (a = o); } const o = i[a]; return { ratings: i, bestMatch: o, bestMatchIndex: a }; } }; }, function(t, e, n) { "use strict"; (function(t, i, a) { function o(e, n) { const o = { id: e, type: n.toUpperCase() }; return i.request.xhr("POST", { url: "https://graphql.anilist.co", headers: { "Content-Type": "application/json", Accept: "application/json" }, data: JSON.stringify({ query: "\n query ($id: Int, $type: MediaType) {\n Media (id: $id, type: $type) {\n id\n idMal\n }\n }\n ", variables: o }) }).then(e => { const n = JSON.parse(e.responseText); return a.log(n), function(e, n = !1) { if (void 0 !== e.errors) for (let a = 0, o = e.errors.length; a < o; a++) { const o = e.errors[a]; switch (o.status) { case 400: if (!n) return t.flashm(i.storage.lang("Anilist_Authenticate"), { error: !0, type: "error" }), "noLogin"; case 404: if (!n) { t.flashm("anilist: " + o.message, { error: !0, type: "error" }); break; } default: throw n || t.flashm("anilist: " + o.message, { error: !0, type: "error" }), o.message; } } }(n), n.data.Media.idMal; }); } n.d(e, "a", (function() { return o; })); }).call(this, n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return s; })), n.d(e, "b", (function() { return l; })); var o = n(24), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function s() { return r(this, void 0, void 0, (function*() { const t = yield o.c(), e = {}; for (const n in t) o.b("(anime|manga)").test(n) && (e[n] = t[n]); return e; })); } function l(e) { return r(this, void 0, void 0, (function*() { const n = yield o.c(); for (const e in n) o.b("(anime|manga)").test(e) && (t.log("Remove", e), yield i.storage.remove(e).catch(t => { if (t.message && t.message.includes("MAX_WRITE_OPERATIONS_PER_MINUTE")) return a.flashm("Max write operations per minute hit. Import stopped for 1 minute. Just keep this window open."), new Promise(t => { setTimeout(() => { t(i.storage.remove(e)); }, 6e4); }); throw t; })); for (const n in e) t.log("Set", n, e[n]), yield i.storage.set(n, e[n]).catch(t => { if (t.message && t.message.includes("MAX_WRITE_OPERATIONS_PER_MINUTE")) return a.flashm("Max write operations per minute hit. Import stopped for 1 minute. Just keep this window open."), new Promise(t => { setTimeout(() => { t(i.storage.set(n, e[n])); }, 6e4); }); throw t; }); return 1; })); } }).call(this, n(4), n(0), n(1)); }, function(t, e) { var n, i, a = t.exports = {}; function o() { throw new Error("setTimeout has not been defined"); } function r() { throw new Error("clearTimeout has not been defined"); } function s(t) { if (n === setTimeout) return setTimeout(t, 0); if ((n === o || !n) && setTimeout) return n = setTimeout, setTimeout(t, 0); try { return n(t, 0); } catch (e) { try { return n.call(null, t, 0); } catch (e) { return n.call(this, t, 0); } } } !function() { try { n = "function" == typeof setTimeout ? setTimeout : o; } catch (t) { n = o; } try { i = "function" == typeof clearTimeout ? clearTimeout : r; } catch (t) { i = r; } }(); var l, c = [], d = !1, m = -1; function u() { d && l && (d = !1, l.length ? c = l.concat(c) : m = -1, c.length && p()); } function p() { if (!d) { var t = s(u); d = !0; for (var e = c.length; e; ) { for (l = c, c = []; ++m < e; ) l && l[m].run(); m = -1, e = c.length; } l = null, d = !1, function(t) { if (i === clearTimeout) return clearTimeout(t); if ((i === r || !i) && clearTimeout) return i = clearTimeout, clearTimeout(t); try { i(t); } catch (e) { try { return i.call(null, t); } catch (e) { return i.call(this, t); } } }(t); } } function h(t, e) { this.fun = t, this.array = e; } function g() {} a.nextTick = function(t) { var e = new Array(arguments.length - 1); if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; c.push(new h(t, e)), 1 !== c.length || d || s(p); }, h.prototype.run = function() { this.fun.apply(null, this.array); }, a.title = "browser", a.browser = !0, a.env = {}, a.argv = [], a.version = "", a.versions = {}, a.on = g, a.addListener = g, a.once = g, a.off = g, a.removeListener = g, a.removeAllListeners = g, a.emit = g, a.prependListener = g, a.prependOnceListener = g, a.listeners = function(t) { return []; }, a.binding = function(t) { throw new Error("process.binding is not supported"); }, a.cwd = function() { return "/"; }, a.chdir = function(t) { throw new Error("process.chdir is not supported"); }, a.umask = function() { return 0; }; }, function(t, e, n) { (function(t) { var i = void 0 !== t && t || "undefined" != typeof self && self || window, a = Function.prototype.apply; function o(t, e) { this._id = t, this._clearFn = e; } e.setTimeout = function() { return new o(a.call(setTimeout, i, arguments), clearTimeout); }, e.setInterval = function() { return new o(a.call(setInterval, i, arguments), clearInterval); }, e.clearTimeout = e.clearInterval = function(t) { t && t.close(); }, o.prototype.unref = o.prototype.ref = function() {}, o.prototype.close = function() { this._clearFn.call(i, this._id); }, e.enroll = function(t, e) { clearTimeout(t._idleTimeoutId), t._idleTimeout = e; }, e.unenroll = function(t) { clearTimeout(t._idleTimeoutId), t._idleTimeout = -1; }, e._unrefActive = e.active = function(t) { clearTimeout(t._idleTimeoutId); var e = t._idleTimeout; e >= 0 && (t._idleTimeoutId = setTimeout((function() { t._onTimeout && t._onTimeout(); }), e)); }, n(288), e.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== t && t.setImmediate || this && this.setImmediate, e.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== t && t.clearImmediate || this && this.clearImmediate; }).call(this, n(88)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return a; })); var i = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const a = { set(t, e) { return i(this, void 0, void 0, (function*() { GM_setValue(t, e); })); }, get(t) { return i(this, void 0, void 0, (function*() { return GM_getValue(t); })); }, remove(t) { return i(this, void 0, void 0, (function*() { GM_deleteValue(t); })); }, list() { return i(this, void 0, void 0, (function*() { const e = {}; return t.$.each(GM_listValues(), (function(t, n) { e[n] = t; })), e; })); }, addStyle(t) { return i(this, void 0, void 0, (function*() { GM_addStyle(t); })); }, version: () => GM_info.script.version, lang(t, e) { let n = i18n[t]; if (void 0 !== e) for (let t = 0; t < e.length; t++) n = n.replace("$" + (t + 1), e[t]); return n; }, assetUrl: t => "https://raw.githubusercontent.com/MALSync/MALSync/master/assets/assets/" + t, injectCssResource(e, n) { n.append(t.$("<style>").attr("rel", "stylesheet").attr("type", "text/css").html(GM_getResourceText(e))); }, injectjsResource(t, e) { const n = document.createElement("script"); n.text = GM_getResourceText(t), n.onload = function() { this.remove(); }, e.get(0).appendChild(n); }, updateDom(t) { const e = document.createElement("script"); e.text = "\n document.getElementsByTagName('head')[0].onclick = function(e){\n try{\n componentHandler.upgradeDom();\n }catch(e){\n console.log(e);\n setTimeout(function(){\n componentHandler.upgradeDom();\n },500);\n }\n }", e.onload = function() { this.remove(); }, t.get(0).appendChild(e); }, storageOnChanged(t) {} }; }).call(this, n(2)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return r; })); var a = n(99), o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const r = { xhr(e, n) { return o(this, void 0, void 0, (function*() { return new Promise((a, o) => { const s = { method: e, url: n, synchronous: !1, headers: {}, data: null, onload(o) { if (console.log(o), 429 === o.status) return t.error("RATE LIMIT"), i.storage.set("rateLimit", !0), void setTimeout(() => { i.storage.set("rateLimit", !1), a(r.xhr(e, n)); }, 1e4); const s = { finalUrl: o.finalUrl, responseText: o.responseText, status: o.status }; a(s); } }; "object" == typeof n && (s.url = n.url, s.headers = n.headers, s.data = n.data), s.url.includes("malsync.moe") && (s.headers.version = i.storage.version(), s.headers.type = "userscript"), GM_xmlhttpRequest(s); }); })); }, notification(t) { var e; GM_notification({ title: t.title, text: t.text, image: null !== (e = t.image) && void 0 !== e ? e : a.a, timeout: t.sticky ? 0 : 10, onclick: () => { window.open(t.url, "_blank"); } }); } }; }).call(this, n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return i; })); const i = "https://raw.githubusercontent.com/MALSync/MALSync/master/assets/icons/icon128.png"; }).call(this, n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return r; })); var o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const r = { options: { autoTrackingModeanime: "video", autoTrackingModemanga: "instant", enablePages: {}, forceEn: !1, rpc: !0, presenceHidePage: !1, presenceShowButtons: !0, userscriptModeButton: !1, syncMode: "MAL", syncModeSimkl: "MAL", localSync: !0, delay: 0, videoDuration: 85, malTags: !1, malContinue: !0, malResume: !0, usedPage: !0, epPredictions: !0, theme: "auto", minimalWindow: !1, posLeft: "left", miniMALonMal: !1, floatButtonStealth: !1, minimizeBigPopup: !1, floatButtonCorrection: !1, floatButtonHide: !1, autoCloseMinimal: !1, outWay: !0, miniMalWidth: "500px", miniMalHeight: "90%", malThumbnail: 100, friendScore: !0, loadPTWForProgress: !1, quicklinks: [ "9anime", "Crunchyroll", "Gogoanime", "Twistmoe", "Mangadex", "MangaNato", "AnimeSimple", "animepahe", "MangaFox", "MangaSee", "YugenAnime", "AniMixPlay", "Zoro", "Funimation", "Hulu", "Netflix", "AnimeLab", "Hidive", "Vrv", "VIZ", "MangaPlus" ], autofull: !1, autoresume: !1, autoNextEp: !1, highlightAllEp: !1, checkForFiller: !0, introSkip: 85, introSkipFwd: [ 17, 39 ], introSkipBwd: [ 17, 37 ], nextEpShort: [], correctionShort: [ 67 ], syncShort: [], progressInterval: 120, progressIntervalDefaultAnime: "en/sub", progressIntervalDefaultManga: "en/sub", progressNotifications: !0, updateCheckNotifications: !0, bookMarksList: !1, customDomains: [], anilistToken: "", anilistOptions: { displayAdultContent: !0, scoreFormat: "POINT_10" }, kitsuToken: "", kitsuOptions: { titleLanguagePreference: "canonical", sfwFilter: !1, ratingSystem: "regular" }, simklToken: "", malToken: "", malRefresh: "" }, init() { return o(this, void 0, void 0, (function*() { for (const e in this.options) { const n = yield t.storage.get("settings/" + e); void 0 !== n && (this.options[e] = n); } return i.log("Settings", this.options), t.storage.storageOnChanged((t, e) => { if ("sync" === e) for (const e in t) { const n = t[e]; /^settings\//i.test(e) && (this.options[e.replace("settings/", "")] = n.newValue, i.info(`Update ${e} option to ${n.newValue}`)); } if ("local" === e && t.rateLimit) try { t.rateLimit.newValue ? (i.log("Rate limited"), a.flashm("Rate limited. Retrying in a moment", { error: !0, type: "rate", permanent: !0 })) : (i.log("No Rate limited"), $(".type-rate").remove()); } catch (t) { i.error(t); } }), this; })); }, get(t) { return this.options[t]; }, set(e, n) { if (!Object.prototype.hasOwnProperty.call(this.options, e)) { const t = Error(e + " is not a defined option"); throw i.error(t), t; } return this.options[e] = n, t.storage.set("settings/" + e, n); }, getAsync(e) { return o(this, void 0, void 0, (function*() { const n = yield t.storage.get("settings/" + e); return void 0 === n && void 0 !== this.options[e] ? this.options[e] : n; })); } }; }).call(this, n(0), n(4), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return b; })); var r = n(19), s = n(104), l = n(105), c = n(40), d = n(91), m = n(23), u = n(14), p = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let h = "agnaejlkbiiggajjmnpmeheigkflbnoo"; "undefined" != typeof browser && "undefined" != typeof chrome && (h = "{57081fef-67b4-482f-bcb0-69296e63ec4f}"); const g = t.m("Sync", "#348fff"); let f, v; class b { constructor(t, e, n = (() => { throw "No click handling found"; })) { if (this.url = t, this.pages = e, this.floatClick = n, this.novel = !1, this.strongVolumes = !1, this.autoNextEpRun = !1, this.curState = void 0, this.tempPlayer = void 0, this.UILoaded = !1, this.browsingtime = Date.now(), this.page = this.getPage(t), null === this.page) throw new Error("Page could not be recognized"); if (this.domainSet(), g.log("Page", this.page.name), void 0 !== i.settings.get("enablePages")[this.page.name] && !i.settings.get("enablePages")[this.page.name]) throw g.info("Sync is disabled for this page", this.page.name), "Stop Script"; m.a.on("syncPage_fillUi", () => this.fillUI()); } init() { const t = this; if (a.$(document).ready((function() { Object(s.a)(t, t.floatClick); })), this.testForCloudflare()) return g.log("loading"), void this.cdn(); if (this.page.init(this), "webextension" === i.type) try { chrome.runtime.onMessage.addListener((t, e, n) => { this.presence(t, e, n); }); } catch (t) { g.error(t); } } getPage(t) { if (this.pages.type) return this.pages; for (const n in this.pages) { const i = this.pages[n]; if (a.$.isArray(i.domain)) { let t; if (i.domain.forEach(n => { e(n) && (i.domain = n, t = i); }), t) return t; } else if (e(i.domain)) return i; function e(e) { return t.indexOf(o.urlPart(e, 2).replace(".com.br", ".br").split(".").slice(-2, -1)[0] + ".") > -1; } } return null; } domainSet() { this.page.domain = new URL(window.location.href).origin; } openNextEp() { if (void 0 === this.page.sync.nextEpUrl) o.flashm(i.storage.lang("nextEpShort_no_support"), { error: !0, type: "EpError" }); else { if (this.page.isSyncPage(this.url)) { const t = this.page.sync.nextEpUrl(this.url); if (t) return void (window.location.href = t); } o.flashm(i.storage.lang("nextEpShort_no_nextEp"), { error: !0, type: "EpError" }); } } setVideoTime(t, e) { this.resetPlayerError(); const n = i.settings.get("videoDuration"), o = t.current / (t.duration * (n / 100)) * 100; a.$("#malSyncProgress").length && (o < 100 ? (a.$(".ms-progress").css("width", o + "%"), a.$("#malSyncProgress").removeClass("ms-loading").removeClass("ms-done")) : (a.$("#malSyncProgress").addClass("ms-done"), a.$(".flash.type-update .sync").click())), this.handleVideoResume(t, e), this.autoNextEp(t); } autoNextEp(t) { i.settings.get("autoNextEp") && !this.autoNextEpRun && t.current === t.duration && (this.autoNextEpRun = !0, this.openNextEp()); } handleVideoResume(t, e) { if (void 0 === this.curState || void 0 === this.curState.identifier || void 0 === this.curState.episode) return; const n = this, r = `${this.curState.identifier}/${this.curState.episode}`; if (this.curState.lastVideoTime = t, void 0 !== this.curState.videoChecked && this.curState.videoChecked) this.curState.videoChecked > 1 && t.current > 10 && (g.debug("Set Resume", t.current), localStorage.setItem(r, t.current), this.curState.videoChecked = !0, setTimeout(() => { this.curState.videoChecked = 2; }, 1e4)); else { const s = localStorage.getItem(r); if (g.info("Resume", s), null !== s && parseInt(s) - 30 > t.current && parseInt(s) > 30) { a.$("#MALSyncResume").length || a.$("#MALSyncResume").parent().parent().remove(); const r = Math.round(parseInt(s)); let l = ""; if (i.settings.get("autoresume") && t.duration - r > .1 * t.duration) return e(r), void (n.curState.videoChecked = 2); let c = r; const d = Math.floor(c / 60); c -= 60 * d; let m = "" + c; for (;m.length < 2; ) m = "0" + m; l = `${d}:${m}`; const u = o.flashm(`<button id="MALSyncResume" class="sync" style="margin-bottom: 2px; background-color: transparent; border: none; color: rgb(255,64,129);cursor: pointer;">${i.storage.lang("syncPage_flashm_resumeMsg", [ l ])}</button><br><button class="resumeClose" style="background-color: transparent; border: none; color: white;margin-top: 10px;cursor: pointer;">Close</button>`, { permanent: !0, error: !1, type: "resume", minimized: !1, position: "top" }); u.find(".sync").on("click", (function() { e(r), n.curState.videoChecked = 2, a.$(this).parent().parent().remove(); })), u.find(".resumeClose").on("click", (function() { n.curState.videoChecked = 2, a.$(this).parent().parent().remove(); })); } else setTimeout(() => { this.curState.videoChecked = 2; }, 15e3); this.curState.videoChecked = !0; } } reset() { this.url = window.location.href, this.UILoaded = !1, this.curState = void 0, $("#flashinfo-div, #flash-div-bottom, #flash-div-top, #malp").remove(); } handlePage(t = window.location.href) { return p(this, void 0, void 0, (function*() { let e; this.resetPlayerError(), this.curState = void 0, this.searchObj = void 0; const n = this; let s; if (this.url = t, this.browsingtime = Date.now(), this.page.isSyncPage(this.url)) this.loadUI(), e = { on: "SYNC", title: this.page.sync.getTitle(this.url), identifier: this.page.sync.getIdentifier(this.url), detectedEpisode: parseInt("" + this.page.sync.getEpisode(this.url)) }, this.searchObj = new d.a(e.title, this.novel ? "novel" : this.page.type, e.identifier), this.searchObj.setPage(this.page), this.searchObj.setSyncPage(this), this.searchObj.setLocalUrl(this.generateLocalUrl(this.page, e)), this.curState = e, yield this.searchObj.search(), s = yield this.searchObj.initRules(), e.detectedEpisode || 0 === e.detectedEpisode ? e.episode = e.detectedEpisode + parseInt(this.searchObj.getRuledOffset(e.detectedEpisode)) : "anime" === this.page.type ? e.episode = 1 : e.episode = 0, void 0 !== this.page.sync.getVolume && (e.volume = this.page.sync.getVolume(this.url)), "anime" === this.page.type && Object(c.b)((t, e) => { this.tempPlayer = e, this.setVideoTime(t, t => { void 0 !== e ? void 0 !== t && (e.play(), e.currentTime = t) : g.error("No player Found"); }); }), g.m("Sync", "green").log(e); else { if (void 0 === this.page.overview) return void g.log("No overview definition"); if (void 0 !== this.page.isOverviewPage && !this.page.isOverviewPage(this.url)) return void g.info("Not an overview/sync page"); this.loadUI(), e = { on: "OVERVIEW", title: this.page.overview.getTitle(this.url), identifier: this.page.overview.getIdentifier(this.url) }, this.searchObj = new d.a(e.title, this.novel ? "novel" : this.page.type, e.identifier), this.searchObj.setPage(this.page), this.searchObj.setSyncPage(this), this.searchObj.setLocalUrl(this.generateLocalUrl(this.page, e)), this.curState = e, yield this.searchObj.search(), s = yield this.searchObj.initRules(), g.m("Overview", "green").log(e); } this.curState = e; let m = this.searchObj.getRuledUrl(e.detectedEpisode); const u = this.generateLocalUrl(this.page, e); if (null !== m && m || !i.settings.get("localSync") || (g.log("Local Fallback"), m = u), null === m) a.$("#MalInfo").text(i.storage.lang("Not_Found")), a.$("#MalData").css("display", "none"), g.log("Not on mal"); else if (m) { g.log("MyAnimeList", m); try { s ? this.singleObj = s : (this.singleObj = Object(r.b)(m), yield this.singleObj.update()); } catch (t) { if (901 === t.code) throw o.flashm("Incorrect url provided", { error: !0, type: "error" }), t; if (904 !== t.code || !i.settings.get("localSync")) throw this.singleObj.flashmError(t), this.fillUI(), t; g.log("Local Fallback"), this.singleObj = Object(r.b)(u), yield this.singleObj.update(); } if ("webextension" === i.type && i.settings.get("rpc")) try { chrome.runtime.sendMessage(h, { mode: "active" }, (function(t) { g.log("Presence registred", t); })); } catch (t) { g.error(t); } if (this.fillUI(), this.page.isSyncPage(this.url)) { if (yield this.searchObj.openCorrectionCheck()) return void this.handlePage(t); if (yield this.singleObj.checkSync(e.episode, e.volume)) { if (this.strongVolumes && !e.episode || this.singleObj.setEpisode(e.episode), this.singleObj.setStreamingUrl(this.page.sync.getOverviewUrl(this.url)), void 0 !== e.volume && e.volume > this.singleObj.getVolume() && this.singleObj.setVolume(e.volume), g.log(`Start Sync (${i.settings.get("delay")} Seconds)`), this.singleObj.getMalId() && "anime" === this.singleObj.getType() && i.settings.get("checkForFiller") && this.checkForFiller(this.singleObj.getMalId(), this.singleObj.getEpisode()), "instant" === i.settings.get("autoTrackingMode" + this.page.type)) setTimeout(() => { p(); }, 1e3 * i.settings.get("delay")); else { let t = `<button class="sync" style="margin-bottom: 8px; background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px;cursor: pointer;">${i.storage.lang("syncPage_flashm_sync_" + n.page.type, [ Object(l.a)(m).shortName, String(e.episode) ])}</button>`, r = { hoverInfo: !0, error: !0, type: "update", minimized: !1 }; "video" === i.settings.get("autoTrackingMode" + this.page.type) && "anime" === this.page.type && (t = `\n <div id="malSyncProgress" class="ms-loading" style="background-color: transparent; position: absolute; top: 0; left: 0; right: 0; height: 4px;">\n <div class="ms-progress" style="background-color: #2980b9; width: 0%; height: 100%; transition: width 1s;"></div>\n </div>\n <div class="player-error" style="display: none; position: absolute; left: 0; right: 0; padding: 5px; bottom: 100%; color: rgb(255,64,129); background-color: #323232;">\n ${i.storage.lang("syncPage_flash_player_error")}\n <a href="https://discord.com/invite/cTH4yaw" style="display: block; padding: 10px">Help</a>\n </div>\n ${t}`, r = { hoverInfo: !0, error: !1, type: "update", minimized: !0 }), o.flashm(t, r).find(".sync").on("click", () => { a.$(".flashinfo").remove(), p(), this.resetPlayerError(); }), v = setTimeout(() => { a.$("#flashinfo-div").addClass("player-error"); }, 3e5), g.log("overviewUrl", n.page.sync.getOverviewUrl(n.url)), void 0 !== n.page.sync.nextEpUrl && g.log("nextEp", n.page.sync.nextEpUrl(n.url)); } function p() { if (n.singleObj.setResumeWatching(n.url, e.episode), void 0 !== n.page.sync.nextEpUrl) { const t = n.page.sync.nextEpUrl(n.url); t && -1 === t.indexOf("undefined") && n.singleObj.setContinueWatching(t, e.episode + 1); } n.syncHandling(!0); } } else g.log("Nothing to Sync"); } yield this.imageFallback(); } else a.$("#MalInfo").text(i.storage.lang("NothingFound")), a.$("#MalData").css("display", "none"), g.log("Nothing found"); })); } resetPlayerError() { v && (clearTimeout(v), v = void 0, a.$("#flashinfo-div").removeClass("player-error")); } generateLocalUrl(t, e) { return `local://${t.name}/${t.type}/${e.identifier}/${encodeURIComponent(e.title)}`; } openCorrectionUi() { if (this.searchObj) return this.searchObj.openCorrection().then(t => { t && this.handlePage(); }); } syncHandling(t = !1, e = !1) { let n; return n = e ? this.singleObj.undo() : this.singleObj.sync(), n.then(() => { let e = this.singleObj.getTitle(), n = "<br>", a = this.singleObj.getTotalVolumes(); 0 === a && (a = "?"); let r = this.singleObj.getTotalEpisodes(); 0 === r && (r = "?"); let s = this.singleObj.getStateDiff(); if (s || (s = { onList: this.singleObj.isOnList(), episode: this.singleObj.getEpisode(), volume: this.singleObj.getVolume(), status: this.singleObj.getStatus(), score: this.singleObj.getScore() }), void 0 === s.onList && (s.onList = !0), s.onList && s.status) { let t = ""; switch (parseInt(s.status)) { case 1: t = i.storage.lang("UI_Status_watching_" + this.page.type); break; case 2: t = i.storage.lang("UI_Status_Completed"); break; case 3: t = i.storage.lang("UI_Status_OnHold"); break; case 4: t = i.storage.lang("UI_Status_Dropped"); break; case 6: t = i.storage.lang("UI_Status_planTo_" + this.page.type); break; case 23: t = i.storage.lang("UI_Status_Rewatching_" + this.page.type); } e += n + t, n = " | "; } if (s.onList || (e += n + i.storage.lang("removed"), n = " | "), s.onList && "manga" === this.page.type && s.volume && (e += `${n + i.storage.lang("UI_Volume")} ${s.volume}/${a}`, n = " | "), s.onList && s.episode && (e += `${n + o.episode(this.page.type)} ${s.episode}/${r}`, n = " | "), s.onList && s.score && (e += `${n + i.storage.lang("UI_Score")} ${s.score}`, n = " | "), t) { this.fullNotification(e), e += `\n <br>\n <button class="undoButton" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px;cursor: pointer;">\n ${i.storage.lang("syncPage_flashm_sync_undefined_undo")}\n </button>\n <button class="wrongButton" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px;cursor: pointer;">\n ${i.storage.lang("syncPage_flashm_sync_undefined_wrong")}\n </button>`; const t = o.flashm(e, { hoverInfo: !0, type: "update" }); t.find(".undoButton").on("click", t => { const e = t.target.closest(".flash"); e && e.remove(), this.syncHandling(!1, !0); }), t.find(".wrongButton").on("click", t => { this.openCorrectionUi(); const e = t.target.closest(".flash"); e && e.remove(), this.syncHandling(!1, !0); }); } else o.flashm(e); this.fillUI(); }).catch(t => { throw this.singleObj.flashmError(t), t; }); } fullNotification(t) { try { Object(c.a)(t), "webextension" === i.type && chrome.runtime.sendMessage({ name: "content", item: { action: "fullscreenNotification", text: t } }); } catch (t) { g.error(t); } } fillUI() { if (a.$(".MalLogin").css("display", "initial"), a.$("#AddMalDiv, #LoginMalDiv").remove(), a.$("#malRating").attr("href", this.singleObj.getDisplayUrl()), this.singleObj.getLastError()) return a.$(".MalLogin").css("display", "none"), a.$("#MalData").css("display", "flex"), a.$("#MalInfo").text(""), void a.$("#malRating").after(a.html(` <span id='LoginMalDiv'>${this.singleObj.getLastErrorMessage()}</span>`)); let t = ""; this.singleObj.getScoreCheckbox().forEach(e => { t += `<option value="${e.value}" >${e.label}</option>`; }), a.$("#malUserRating").html(a.html(t)); let e = ""; if (this.singleObj.getStatusCheckbox().forEach(t => { e += `<option value="${t.value}" >${t.label}</option>`; }), a.$("#malStatus").html(a.html(e)), this.singleObj.getRating().then(t => { a.$("#malRating").text(t); }), this.singleObj.isOnList()) a.$("#malTotal, #malTotalCha").text(this.singleObj.getTotalEpisodes()), 0 === this.singleObj.getTotalEpisodes() && a.$("#malTotal, #malTotalCha").text("?"), a.$("#malTotalVol").text(this.singleObj.getTotalVolumes()), 0 === this.singleObj.getTotalVolumes() && a.$("#malTotalVol").text("?"), a.$("#malEpisodes").val(this.singleObj.getEpisode()), a.$("#malVolumes").val(this.singleObj.getVolume()), a.$("#malStatus").val(this.singleObj.getStatusCheckboxValue()), a.$("#malUserRating").val(this.singleObj.getScoreCheckboxValue()); else { a.$(".MalLogin").css("display", "none"), a.$("#malRating").after(a.html(`<span id='AddMalDiv'> <a href='#' id='AddMal' onclick='return false;'>${i.storage.lang("syncPage_malObj_addAnime", [ this.singleObj.shortName ])}</a></span>`)); const t = this; a.$("#AddMal").click((function(e) { return p(this, void 0, void 0, (function*() { e.preventDefault(), t.page.isSyncPage(t.url) || t.singleObj.setStreamingUrl(t.url); (yield t.searchObj.openCorrectionCheck()) ? t.handlePage() : t.syncHandling().then(() => t.singleObj.update()).then(() => { t.fillUI(); }); })); })); } a.$("#MalData").css("display", "flex"), a.$("#MalInfo").text(""), this.calcSelectWidth(a.$("#malEpisodes, #malVolumes, #malUserRating, #malStatus")), a.$("#malEpisodes, #malVolumes").trigger("input"); try { this.handleList(!0); } catch (t) { g.error(t); } } handleList(t = !1, e = 0) { if (a.$(".mal-sync-active").removeClass("mal-sync-active"), void 0 !== this.page.overview && void 0 !== this.page.overview.list) { const n = this.getEpList(); if (void 0 !== n && n.length > 0) { this.offsetHandler(n); const {elementUrl: r} = this.page.overview.list; g.log("Episode List", a.$.map(n, (function(t, e) { return void 0 !== t ? r(t) : "-"; }))), void 0 !== this.page.overview.list.handleListHook && this.page.overview.list.handleListHook(this.singleObj.getEpisode(), n); const s = n[parseInt(this.singleObj.getEpisode() || 1)]; if (void 0 === s && !s && t && e < 10 && void 0 !== this.page.overview.list.paginationNext) { g.log("Pagination next"); const t = this; this.page.overview.list.paginationNext(!1) && setTimeout((function() { e++, t.handleList(!0, e); }), 500); } const l = n[this.singleObj.getEpisode() + 1]; if (void 0 !== l && l && !this.page.isSyncPage(this.url)) { const t = `<a href="${r(l)}">${i.storage.lang("syncPage_malObj_nextEp_" + this.page.type, [ this.singleObj.getEpisode() + 1 ])}</a>`; o.flashm(t, { hoverInfo: !0, type: "nextEp", minimized: !0 }); } } } } getEpList() { const t = this, e = []; if (void 0 !== this.page.overview && void 0 !== this.page.overview.list) { const {elementEp: n} = this.page.overview.list; let o = 0; this.singleObj && (o = parseInt(this.singleObj.getEpisode())), this.page.overview.list.elementsSelector().each((function(r, s) { try { const r = parseInt("" + n(a.$(s))) + parseInt(t.getOffset()); e[r] = a.$(s), (i.settings.get("highlightAllEp") && r <= o || r === o) && a.$(s).addClass("mal-sync-active"); } catch (t) { g.info(t); } })); } return e; } offsetHandler(t) { if (this.page.overview.list.offsetHandler && !this.getOffset() && this.searchObj && "user" !== this.searchObj.provider) for (let e = 0; e < t.length; ++e) if (void 0 !== t[e]) { if (g.log("Offset", e), e > 1) { const t = 1 - e; o.flashConfirm(i.storage.lang("syncPage_flashConfirm_offsetHandler_1", [ String(t) ]), "offset", () => { this.setOffset(t); }, () => { this.setOffset(0); }, !0); } return; } } imageFallback() { return p(this, void 0, void 0, (function*() { if (this.singleObj && void 0 !== this.singleObj.setImage && this.page.getImage) { const t = yield this.page.getImage(); t && this.singleObj.setImage(t); } })); } testForCloudflare() { return "Just a moment..." === document.title || -1 !== document.title.indexOf("Cloudflare"); } cdn(t = "default") { i.storage.addStyle("\n .bubbles {\n display: none !important;\n }\n div#cf-content:before {\n content: '';\n background-image: url(https://raw.githubusercontent.com/MALSync/MALSync/master/assets/icons/icon128.png);\n height: 64px;\n width: 64px;\n display: block;\n background-size: cover;\n animation: rotate 3s linear infinite;\n background-color: #251e2b;\n border-radius: 50%;\n }\n @keyframes rotate{ to{ transform: rotate(360deg); } }\n "); } getOffset() { return this.searchObj && this.searchObj.getOffset() ? this.searchObj.getOffset() : 0; } setOffset(t) { return p(this, void 0, void 0, (function*() { this.searchObj && this.searchObj.setOffset(t), void 0 !== this.singleObj && i.storage.remove(`updateCheck/${this.singleObj.getType()}/${this.singleObj.getCacheKey()}`); })); } loadUI() { const t = this; if (this.UILoaded) return; this.UILoaded = !0; let e = '<span style="display: inline-block;">'; let n = '<p id="malp">'; n += `<span id="MalInfo">${i.storage.lang("Loading")}</span>`, n += '<span id="MalData" style="display: none; justify-content: space-between; flex-wrap: wrap;">', n += e, n += `<span class="info">${i.storage.lang("search_Score")} </span>`, n += '<a id="malRating" style="min-width: 30px;display: inline-block;" target="_blank" href="">____</a>', n += "</span>", e = '<span style="display: inline-block; display: none;" class="MalLogin">', n += e, n += `<span class="info">${i.storage.lang("UI_Status")} </span>`, n += '<select id="malStatus">', n += "</select>", n += "</span>"; let o = ""; "anime" === this.page.type ? (o += e, o += `<span class="info">${i.storage.lang("UI_Episode")} </span>`, o += '<span style=" text-decoration: none; outline: medium none;">', o += '<input id="malEpisodes" value="0" type="text" size="1" maxlength="4">', o += '/<span id="malTotal">0</span>', o += "</span>", o += "</span>") : (o += e, o += `<span class="info">${i.storage.lang("UI_Volume")} </span>`, o += '<span style=" text-decoration: none; outline: medium none;">', o += '<input id="malVolumes" value="0" type="text" size="1" maxlength="4">', o += '/<span id="malTotalVol">0</span>', o += "</span>", o += "</span>", o += e, o += `<span class="info">${i.storage.lang("UI_Chapter")} </span>`, o += '<span style=" text-decoration: none; outline: medium none;">', o += '<input id="malEpisodes" value="0" type="text" size="1" maxlength="4">', o += '/<span id="malTotalCha">0</span>', o += "</span>", o += "</span>"), n += o, n += e, n += `<span class="info">${i.storage.lang("UI_Score")}</span>`, n += '<select id="malUserRating">', n += "</select>", n += "</span>", n += "</span>", n += "</p>", this.page.isSyncPage(this.url) ? void 0 !== this.page.sync.uiSelector && this.page.sync.uiSelector(n) : void 0 !== this.page.overview && this.page.overview.uiSelector(n), a.$("#malEpisodes, #malVolumes, #malUserRating, #malStatus").change((function() { t.buttonclick(); const e = a.$(this); t.calcSelectWidth(e); })), a.$("#malEpisodes, #malVolumes").on("input", (function() { const t = a.$(this); let e = t.val().toString().length; e < 1 && (e = 1); const n = 7.7 * e + 3; t.css("width", n + "px"); })).trigger("input"); } calcSelectWidth(t) { t.each((function(t, e) { const n = a.$(e).find("option:selected").text(), i = a.$('<select style="width: auto;"/>').append(a.html(`<option>${n}</option>`)), o = i.width() || 0; o && (a.$("#malp").append(a.html(i)), a.$(e).width(o + 5), i.remove()); })); } buttonclick() { return p(this, void 0, void 0, (function*() { this.singleObj.setEpisode(a.$("#malEpisodes").val()), a.$("#malVolumes").length && this.singleObj.setVolume(a.$("#malVolumes").val()), this.singleObj.handleScoreCheckbox(a.$("#malUserRating").val()), this.singleObj.handleStatusCheckbox(a.$("#malStatus").val()), this.page.isSyncPage(this.url) || this.singleObj.setStreamingUrl(this.url); (yield this.searchObj.openCorrectionCheck()) ? this.handlePage() : this.syncHandling().then(() => this.singleObj.update()).then(() => { this.fillUI(); }); })); } presence(t, e, n) { try { if ("presence" === t.action) { console.log("Presence requested", t, this.curState), clearTimeout(f), f = setTimeout(() => { this.browsingtime = void 0; }, 3e5), this.browsingtime || (this.browsingtime = Date.now()); let e, a, r = "823563096747802695"; if ("anime" !== this.page.type && (r = "823563138669608980"), i.settings.get("presenceHidePage") ? (e = "malsync", a = "MAL-Sync") : (e = this.page.name.toLowerCase(), a = this.page.name + " • MAL-Sync"), this.curState) { const t = { clientId: r, presence: { details: this.singleObj.getTitle(!0) || this.curState.title, largeImageKey: e, largeImageText: a, instance: !0 } }; if (i.settings.get("presenceShowButtons")) { let e = this.singleObj.getMalUrl(); e || "Local" === this.singleObj.shortName || (e = this.singleObj.getDisplayUrl()), e || i.settings.get("presenceHidePage") || (e = this.singleObj.getStreamingUrl()), e && (t.presence.buttons = [ { label: i.storage.lang("discord_rpc_view_" + this.singleObj.getType()), url: e } ]); } if (void 0 !== this.curState.episode) { const e = this.curState.episode; let n = this.singleObj.getTotalEpisodes(); if (n || (n = "?"), t.presence.state = `${o.episode(this.page.type)} ${e} of ${n}`, void 0 !== this.curState.lastVideoTime) if (this.curState.lastVideoTime.paused) t.presence.smallImageKey = "pause", t.presence.smallImageText = "Paused"; else { const e = this.curState.lastVideoTime.duration - this.curState.lastVideoTime.current; t.presence.endTimestamp = Date.now() + 1e3 * e, t.presence.smallImageKey = "play", t.presence.smallImageText = "Playing"; } else t.presence.startTimestamp = this.browsingtime, "anime" !== this.page.type && (t.presence.smallImageKey = "reading", t.presence.smallImageText = "Reading"); } else { let e; e = i.settings.get("presenceHidePage") ? this.page.type.toString() : this.page.name, t.presence.startTimestamp = this.browsingtime, t.presence.state = i.storage.lang("Discord_rpc_browsing", [ e ]); } return void n(t); } } } catch (t) { g.error(t); } n({}); } checkForFiller(t, e) { return p(this, void 0, void 0, (function*() { const n = Math.ceil(e / 100), a = new u.a(`fillers/${t}/${n}`, 6048e5); if (!(yield a.hasValueAndIsNotEmpty())) { const e = `https://api.jikan.moe/v3/anime/${t}/episodes/${n}`, o = yield i.request.xhr("GET", e).then(t => p(this, void 0, void 0, (function*() { if (200 === t.status && t.responseText) { const e = JSON.parse(t.responseText); if (e.episodes && e.episodes.length) try { return e.episodes.map(t => ({ filler: t.filler, recap: t.recap, episode_id: t.episode_id })); } catch (t) {} } return []; }))); yield a.setValue(o); } const r = yield a.getValue(); if (r && r.length) { const t = r.find(t => t.episode_id === e); if (t && (t.filler || t.recap)) { const e = t.filler ? "filler" : "recap"; o.flashConfirm(i.storage.lang(`filler_${e}_confirm`), "filler", () => { this.openNextEp(); }, () => {}, !0); } } })); } } }).call(this, n(4), n(0), n(2), n(1)); }, function(t, e, n) { (function(i, a) { var o; !function(r) { var s = Object.hasOwnProperty, l = Array.isArray ? Array.isArray : function(t) { return "[object Array]" === Object.prototype.toString.call(t); }, c = "object" == typeof i && "function" == typeof i.nextTick, d = "function" == typeof Symbol, m = "object" == typeof Reflect, u = "function" == typeof a ? a : setTimeout, p = d ? m && "function" == typeof Reflect.ownKeys ? Reflect.ownKeys : function(t) { var e = Object.getOwnPropertyNames(t); return e.push.apply(e, Object.getOwnPropertySymbols(t)), e; } : Object.keys; function h() { this._events = {}, this._conf && g.call(this, this._conf); } function g(t) { t && (this._conf = t, t.delimiter && (this.delimiter = t.delimiter), void 0 !== t.maxListeners && (this._maxListeners = t.maxListeners), t.wildcard && (this.wildcard = t.wildcard), t.newListener && (this._newListener = t.newListener), t.removeListener && (this._removeListener = t.removeListener), t.verboseMemoryLeak && (this.verboseMemoryLeak = t.verboseMemoryLeak), t.ignoreErrors && (this.ignoreErrors = t.ignoreErrors), this.wildcard && (this.listenerTree = {})); } function f(t, e) { var n = "(node) warning: possible EventEmitter memory leak detected. " + t + " listeners added. Use emitter.setMaxListeners() to increase limit."; if (this.verboseMemoryLeak && (n += " Event name: " + e + "."), void 0 !== i && i.emitWarning) { var a = new Error(n); a.name = "MaxListenersExceededWarning", a.emitter = this, a.count = t, i.emitWarning(a); } else console.error(n), console.trace && console.trace(); } var v = function(t, e, n) { var i = arguments.length; switch (i) { case 0: return []; case 1: return [ t ]; case 2: return [ t, e ]; case 3: return [ t, e, n ]; default: for (var a = new Array(i); i--; ) a[i] = arguments[i]; return a; } }; function b(t, e) { for (var n = {}, i = t.length, a = e ? value.length : 0, o = 0; o < i; o++) n[t[o]] = o < a ? e[o] : void 0; return n; } function y(t, e, n) { var i, a; if (this._emitter = t, this._target = e, this._listeners = {}, this._listenersCount = 0, (n.on || n.off) && (i = n.on, a = n.off), e.addEventListener ? (i = e.addEventListener, a = e.removeEventListener) : e.addListener ? (i = e.addListener, a = e.removeListener) : e.on && (i = e.on, a = e.off), !i && !a) throw Error("target does not implement any known event API"); if ("function" != typeof i) throw TypeError("on method must be a function"); if ("function" != typeof a) throw TypeError("off method must be a function"); this._on = i, this._off = a; var o = t._observers; o ? o.push(this) : t._observers = [ this ]; } function w(t, e, n, i) { var a = Object.assign({}, e); if (!t) return a; if ("object" != typeof t) throw TypeError("options must be an object"); var o, r, l, c = Object.keys(t), d = c.length; function m(t) { throw Error('Invalid "' + o + '" option value' + (t ? ". Reason: " + t : "")); } for (var u = 0; u < d; u++) { if (o = c[u], !i && !s.call(e, o)) throw Error('Unknown "' + o + '" option'); void 0 !== (r = t[o]) && (l = n[o], a[o] = l ? l(r, m) : r); } return a; } function _(t, e) { return "function" == typeof t && t.hasOwnProperty("prototype") || e("value must be a constructor"), t; } function x(t) { var e = "value must be type of " + t.join("|"), n = t.length, i = t[0], a = t[1]; return 1 === n ? function(t, n) { if (typeof t === i) return t; n(e); } : 2 === n ? function(t, n) { var o = typeof t; if (o === i || o === a) return t; n(e); } : function(i, a) { for (var o = typeof i, r = n; r-- > 0; ) if (o === t[r]) return i; a(e); }; } Object.assign(y.prototype, { subscribe: function(t, e, n) { var i = this, a = this._target, o = this._emitter, r = this._listeners, s = function() { var i = v.apply(null, arguments), r = { data: i, name: e, original: t }; if (n) { var s = n.call(a, r); !1 !== s && o.emit.apply(o, [ r.name ].concat(i)); } else o.emit.apply(o, [ e ].concat(i)); }; if (r[t]) throw Error("Event '" + t + "' is already listening"); this._listenersCount++, o._newListener && o._removeListener && !i._onNewListener ? (this._onNewListener = function(n) { n === e && null === r[t] && (r[t] = s, i._on.call(a, t, s)); }, o.on("newListener", this._onNewListener), this._onRemoveListener = function(n) { n === e && !o.hasListeners(n) && r[t] && (r[t] = null, i._off.call(a, t, s)); }, r[t] = null, o.on("removeListener", this._onRemoveListener)) : (r[t] = s, i._on.call(a, t, s)); }, unsubscribe: function(t) { var e, n, i, a = this, o = this._listeners, r = this._emitter, s = this._off, l = this._target; if (t && "string" != typeof t) throw TypeError("event must be a string"); function c() { a._onNewListener && (r.off("newListener", a._onNewListener), r.off("removeListener", a._onRemoveListener), a._onNewListener = null, a._onRemoveListener = null); var t = E.call(r, a); r._observers.splice(t, 1); } if (t) { if (!(e = o[t])) return; s.call(l, t, e), delete o[t], --this._listenersCount || c(); } else { for (i = (n = p(o)).length; i-- > 0; ) t = n[i], s.call(l, t, o[t]); this._listeners = {}, this._listenersCount = 0, c(); } } }); var k = x([ "function" ]), S = x([ "object", "function" ]); function $(t, e, n) { var i, a, o, r = 0, s = new t((function(l, c, d) { function m() { a && (a = null), r && (clearTimeout(r), r = 0); } n = w(n, { timeout: 0, overload: !1 }, { timeout: function(t, e) { return ("number" != typeof (t *= 1) || t < 0 || !Number.isFinite(t)) && e("timeout must be a positive number"), t; } }), i = !n.overload && "function" == typeof t.prototype.cancel && "function" == typeof d; var u = function(t) { m(), l(t); }, p = function(t) { m(), c(t); }; i ? e(u, p, d) : (a = [ function(t) { p(t || Error("canceled")); } ], e(u, p, (function(t) { if (o) throw Error("Unable to subscribe on cancel event asynchronously"); if ("function" != typeof t) throw TypeError("onCancel callback must be a function"); a.push(t); })), o = !0), n.timeout > 0 && (r = setTimeout((function() { var t = Error("timeout"); r = 0, s.cancel(t), c(t); }), n.timeout)); })); return i || (s.cancel = function(t) { if (a) { for (var e = a.length, n = 1; n < e; n++) a[n](t); a[0](t), a = null; } }), s; } function E(t) { var e = this._observers; if (!e) return -1; for (var n = e.length, i = 0; i < n; i++) if (e[i]._target === t) return i; return -1; } function T(t, e, n, i, a) { if (!n) return null; if (0 === i) { var o = typeof e; if ("string" === o) { var r, s, l = 0, c = 0, d = this.delimiter, m = d.length; if (-1 !== (s = e.indexOf(d))) { r = new Array(5); do { r[l++] = e.slice(c, s), c = s + m; } while (-1 !== (s = e.indexOf(d, c))); r[l++] = e.slice(c), e = r, a = l; } else e = [ e ], a = 1; } else "object" === o ? a = e.length : (e = [ e ], a = 1); } var u, h, g, f, v, b, y, w = null, _ = e[i], x = e[i + 1]; if (i === a && n._listeners) return "function" == typeof n._listeners ? (t && t.push(n._listeners), [ n ]) : (t && t.push.apply(t, n._listeners), [ n ]); if ("*" === _) { for (s = (b = p(n)).length; s-- > 0; ) "_listeners" !== (u = b[s]) && (y = T(t, e, n[u], i + 1, a)) && (w ? w.push.apply(w, y) : w = y); return w; } if ("**" === _) { for ((v = i + 1 === a || i + 2 === a && "*" === x) && n._listeners && (w = T(t, e, n, a, a)), s = (b = p(n)).length; s-- > 0; ) "_listeners" !== (u = b[s]) && ("*" === u || "**" === u ? (n[u]._listeners && !v && (y = T(t, e, n[u], a, a)) && (w ? w.push.apply(w, y) : w = y), y = T(t, e, n[u], i, a)) : y = T(t, e, n[u], u === x ? i + 2 : i, a), y && (w ? w.push.apply(w, y) : w = y)); return w; } if (n[_] && (w = T(t, e, n[_], i + 1, a)), (h = n["*"]) && T(t, e, h, i + 1, a), g = n["**"]) if (i < a) for (g._listeners && T(t, e, g, a, a), s = (b = p(g)).length; s-- > 0; ) "_listeners" !== (u = b[s]) && (u === x ? T(t, e, g[u], i + 2, a) : u === _ ? T(t, e, g[u], i + 1, a) : ((f = {})[u] = g[u], T(t, e, { "**": f }, i + 1, a))); else g._listeners ? T(t, e, g, a, a) : g["*"] && g["*"]._listeners && T(t, e, g["*"], a, a); return w; } function P(t, e) { var n, i, a = 0, o = 0, r = this.delimiter, s = r.length; if ("string" == typeof t) if (-1 !== (n = t.indexOf(r))) { i = new Array(5); do { i[a++] = t.slice(o, n), o = n + s; } while (-1 !== (n = t.indexOf(r, o))); i[a++] = t.slice(o); } else i = [ t ], a = 1; else i = t, a = t.length; if (a > 1) for (n = 0; n + 1 < a; n++) if ("**" === i[n] && "**" === i[n + 1]) return; var l, c = this.listenerTree; for (n = 0; n < a; n++) if (c = c[l = i[n]] || (c[l] = {}), n === a - 1) return c._listeners ? ("function" == typeof c._listeners && (c._listeners = [ c._listeners ]), c._listeners.push(e), !c._listeners.warned && this._maxListeners > 0 && c._listeners.length > this._maxListeners && (c._listeners.warned = !0, f.call(this, c._listeners.length, l))) : c._listeners = e, !0; return !0; } function C(t, e, n, i) { for (var a, o, r, s, l = p(t), c = l.length, d = t._listeners; c-- > 0; ) a = t[o = l[c]], r = "_listeners" === o ? n : n ? n.concat(o) : [ o ], s = i || "symbol" == typeof o, d && e.push(s ? r : r.join(this.delimiter)), "object" == typeof a && C.call(this, a, e, r, s); return e; } function A(t) { for (var e, n, i, a = p(t), o = a.length; o-- > 0; ) (e = t[n = a[o]]) && (i = !0, "_listeners" === n || A(e) || delete t[n]); return i; } function I(t, e, n) { this.emitter = t, this.event = e, this.listener = n; } function O(t, e, n) { if (!0 === n) o = !0; else if (!1 === n) a = !0; else { if (!n || "object" != typeof n) throw TypeError("options should be an object or true"); var a = n.async, o = n.promisify, r = n.nextTick, s = n.objectify; } if (a || r || o) { var l = e, d = e._origin || e; if (r && !c) throw Error("process.nextTick is not supported"); void 0 === o && (o = "AsyncFunction" === e.constructor.name), (e = function() { var t = arguments, e = this, n = this.event; return o ? r ? Promise.resolve() : new Promise((function(t) { u(t); })).then((function() { return e.event = n, l.apply(e, t); })) : (r ? i.nextTick : u)((function() { e.event = n, l.apply(e, t); })); })._async = !0, e._origin = d; } return [ e, s ? new I(this, t, e) : this ]; } function U(t) { this._events = {}, this._newListener = !1, this._removeListener = !1, this.verboseMemoryLeak = !1, g.call(this, t); } I.prototype.off = function() { return this.emitter.off(this.event, this.listener), this; }, U.EventEmitter2 = U, U.prototype.listenTo = function(t, e, n) { if ("object" != typeof t) throw TypeError("target musts be an object"); var i = this; function a(e) { if ("object" != typeof e) throw TypeError("events must be an object"); var a, o = n.reducers, r = E.call(i, t); a = -1 === r ? new y(i, t, n) : i._observers[r]; for (var s, l = p(e), c = l.length, d = "function" == typeof o, m = 0; m < c; m++) s = l[m], a.subscribe(s, e[s] || s, d ? o : o && o[s]); } return n = w(n, { on: void 0, off: void 0, reducers: void 0 }, { on: k, off: k, reducers: S }), l(e) ? a(b(e)) : a("string" == typeof e ? b(e.split(/\s+/)) : e), this; }, U.prototype.stopListeningTo = function(t, e) { var n = this._observers; if (!n) return !1; var i, a = n.length, o = !1; if (t && "object" != typeof t) throw TypeError("target should be an object"); for (;a-- > 0; ) i = n[a], t && i._target !== t || (i.unsubscribe(e), o = !0); return o; }, U.prototype.delimiter = ".", U.prototype.setMaxListeners = function(t) { void 0 !== t && (this._maxListeners = t, this._conf || (this._conf = {}), this._conf.maxListeners = t); }, U.prototype.getMaxListeners = function() { return this._maxListeners; }, U.prototype.event = "", U.prototype.once = function(t, e, n) { return this._once(t, e, !1, n); }, U.prototype.prependOnceListener = function(t, e, n) { return this._once(t, e, !0, n); }, U.prototype._once = function(t, e, n, i) { return this._many(t, 1, e, n, i); }, U.prototype.many = function(t, e, n, i) { return this._many(t, e, n, !1, i); }, U.prototype.prependMany = function(t, e, n, i) { return this._many(t, e, n, !0, i); }, U.prototype._many = function(t, e, n, i, a) { var o = this; if ("function" != typeof n) throw new Error("many only accepts instances of Function"); function r() { return 0 == --e && o.off(t, r), n.apply(this, arguments); } return r._origin = n, this._on(t, r, i, a); }, U.prototype.emit = function() { if (!this._events && !this._all) return !1; this._events || h.call(this); var t, e, n, i, a, o, r = arguments[0], s = this.wildcard; if ("newListener" === r && !this._newListener && !this._events.newListener) return !1; if (s && (t = r, "newListener" !== r && "removeListener" !== r && "object" == typeof r)) { if (n = r.length, d) for (i = 0; i < n; i++) if ("symbol" == typeof r[i]) { o = !0; break; } o || (r = r.join(this.delimiter)); } var l, c = arguments.length; if (this._all && this._all.length) for (i = 0, n = (l = this._all.slice()).length; i < n; i++) switch (this.event = r, c) { case 1: l[i].call(this, r); break; case 2: l[i].call(this, r, arguments[1]); break; case 3: l[i].call(this, r, arguments[1], arguments[2]); break; default: l[i].apply(this, arguments); } if (s) l = [], T.call(this, l, t, this.listenerTree, 0, n); else { if ("function" == typeof (l = this._events[r])) { switch (this.event = r, c) { case 1: l.call(this); break; case 2: l.call(this, arguments[1]); break; case 3: l.call(this, arguments[1], arguments[2]); break; default: for (e = new Array(c - 1), a = 1; a < c; a++) e[a - 1] = arguments[a]; l.apply(this, e); } return !0; } l && (l = l.slice()); } if (l && l.length) { if (c > 3) for (e = new Array(c - 1), a = 1; a < c; a++) e[a - 1] = arguments[a]; for (i = 0, n = l.length; i < n; i++) switch (this.event = r, c) { case 1: l[i].call(this); break; case 2: l[i].call(this, arguments[1]); break; case 3: l[i].call(this, arguments[1], arguments[2]); break; default: l[i].apply(this, e); } return !0; } if (!this.ignoreErrors && !this._all && "error" === r) throw arguments[1] instanceof Error ? arguments[1] : new Error("Uncaught, unspecified 'error' event."); return !!this._all; }, U.prototype.emitAsync = function() { if (!this._events && !this._all) return !1; this._events || h.call(this); var t, e, n, i, a, o, r = arguments[0], s = this.wildcard; if ("newListener" === r && !this._newListener && !this._events.newListener) return Promise.resolve([ !1 ]); if (s && (t = r, "newListener" !== r && "removeListener" !== r && "object" == typeof r)) { if (i = r.length, d) for (a = 0; a < i; a++) if ("symbol" == typeof r[a]) { e = !0; break; } e || (r = r.join(this.delimiter)); } var l, c = [], m = arguments.length; if (this._all) for (a = 0, i = this._all.length; a < i; a++) switch (this.event = r, m) { case 1: c.push(this._all[a].call(this, r)); break; case 2: c.push(this._all[a].call(this, r, arguments[1])); break; case 3: c.push(this._all[a].call(this, r, arguments[1], arguments[2])); break; default: c.push(this._all[a].apply(this, arguments)); } if (s ? (l = [], T.call(this, l, t, this.listenerTree, 0)) : l = this._events[r], "function" == typeof l) switch (this.event = r, m) { case 1: c.push(l.call(this)); break; case 2: c.push(l.call(this, arguments[1])); break; case 3: c.push(l.call(this, arguments[1], arguments[2])); break; default: for (n = new Array(m - 1), o = 1; o < m; o++) n[o - 1] = arguments[o]; c.push(l.apply(this, n)); } else if (l && l.length) { if (l = l.slice(), m > 3) for (n = new Array(m - 1), o = 1; o < m; o++) n[o - 1] = arguments[o]; for (a = 0, i = l.length; a < i; a++) switch (this.event = r, m) { case 1: c.push(l[a].call(this)); break; case 2: c.push(l[a].call(this, arguments[1])); break; case 3: c.push(l[a].call(this, arguments[1], arguments[2])); break; default: c.push(l[a].apply(this, n)); } } else if (!this.ignoreErrors && !this._all && "error" === r) return arguments[1] instanceof Error ? Promise.reject(arguments[1]) : Promise.reject("Uncaught, unspecified 'error' event."); return Promise.all(c); }, U.prototype.on = function(t, e, n) { return this._on(t, e, !1, n); }, U.prototype.prependListener = function(t, e, n) { return this._on(t, e, !0, n); }, U.prototype.onAny = function(t) { return this._onAny(t, !1); }, U.prototype.prependAny = function(t) { return this._onAny(t, !0); }, U.prototype.addListener = U.prototype.on, U.prototype._onAny = function(t, e) { if ("function" != typeof t) throw new Error("onAny only accepts instances of Function"); return this._all || (this._all = []), e ? this._all.unshift(t) : this._all.push(t), this; }, U.prototype._on = function(t, e, n, i) { if ("function" == typeof t) return this._onAny(t, e), this; if ("function" != typeof e) throw new Error("on only accepts instances of Function"); this._events || h.call(this); var a, o = this; return void 0 !== i && (e = (a = O.call(this, t, e, i))[0], o = a[1]), this._newListener && this.emit("newListener", t, e), this.wildcard ? (P.call(this, t, e), o) : (this._events[t] ? ("function" == typeof this._events[t] && (this._events[t] = [ this._events[t] ]), n ? this._events[t].unshift(e) : this._events[t].push(e), !this._events[t].warned && this._maxListeners > 0 && this._events[t].length > this._maxListeners && (this._events[t].warned = !0, f.call(this, this._events[t].length, t))) : this._events[t] = e, o); }, U.prototype.off = function(t, e) { if ("function" != typeof e) throw new Error("removeListener only takes instances of Function"); var n, i = []; if (this.wildcard) { var a = "string" == typeof t ? t.split(this.delimiter) : t.slice(); if (!(i = T.call(this, null, a, this.listenerTree, 0))) return this; } else { if (!this._events[t]) return this; n = this._events[t], i.push({ _listeners: n }); } for (var o = 0; o < i.length; o++) { var r = i[o]; if (n = r._listeners, l(n)) { for (var s = -1, c = 0, d = n.length; c < d; c++) if (n[c] === e || n[c].listener && n[c].listener === e || n[c]._origin && n[c]._origin === e) { s = c; break; } if (s < 0) continue; return this.wildcard ? r._listeners.splice(s, 1) : this._events[t].splice(s, 1), 0 === n.length && (this.wildcard ? delete r._listeners : delete this._events[t]), this._removeListener && this.emit("removeListener", t, e), this; } (n === e || n.listener && n.listener === e || n._origin && n._origin === e) && (this.wildcard ? delete r._listeners : delete this._events[t], this._removeListener && this.emit("removeListener", t, e)); } return this.listenerTree && A(this.listenerTree), this; }, U.prototype.offAny = function(t) { var e, n = 0, i = 0; if (t && this._all && this._all.length > 0) { for (n = 0, i = (e = this._all).length; n < i; n++) if (t === e[n]) return e.splice(n, 1), this._removeListener && this.emit("removeListenerAny", t), this; } else { if (e = this._all, this._removeListener) for (n = 0, i = e.length; n < i; n++) this.emit("removeListenerAny", e[n]); this._all = []; } return this; }, U.prototype.removeListener = U.prototype.off, U.prototype.removeAllListeners = function(t) { if (void 0 === t) return !this._events || h.call(this), this; if (this.wildcard) { var e, n = T.call(this, null, t, this.listenerTree, 0); if (!n) return this; for (e = 0; e < n.length; e++) n[e]._listeners = null; this.listenerTree && A(this.listenerTree); } else this._events && (this._events[t] = null); return this; }, U.prototype.listeners = function(t) { var e, n, i, a, o, r = this._events; if (void 0 === t) { if (this.wildcard) throw Error("event name required for wildcard emitter"); if (!r) return []; for (a = (e = p(r)).length, i = []; a-- > 0; ) "function" == typeof (n = r[e[a]]) ? i.push(n) : i.push.apply(i, n); return i; } if (this.wildcard) { if (!(o = this.listenerTree)) return []; var s = [], l = "string" == typeof t ? t.split(this.delimiter) : t.slice(); return T.call(this, s, l, o, 0), s; } return r && (n = r[t]) ? "function" == typeof n ? [ n ] : n : []; }, U.prototype.eventNames = function(t) { var e = this._events; return this.wildcard ? C.call(this, this.listenerTree, [], null, t) : e ? p(e) : []; }, U.prototype.listenerCount = function(t) { return this.listeners(t).length; }, U.prototype.hasListeners = function(t) { if (this.wildcard) { var e = [], n = "string" == typeof t ? t.split(this.delimiter) : t.slice(); return T.call(this, e, n, this.listenerTree, 0), e.length > 0; } var i = this._events, a = this._all; return !!(a && a.length || i && (void 0 === t ? p(i).length : i[t])); }, U.prototype.listenersAny = function() { return this._all ? this._all : []; }, U.prototype.waitFor = function(t, e) { var n = this, i = typeof e; return "number" === i ? e = { timeout: e } : "function" === i && (e = { filter: e }), $((e = w(e, { timeout: 0, filter: void 0, handleError: !1, Promise: Promise, overload: !1 }, { filter: k, Promise: _ })).Promise, (function(i, a, o) { function r() { var o = e.filter; if (!o || o.apply(n, arguments)) if (n.off(t, r), e.handleError) { var s = arguments[0]; s ? a(s) : i(v.apply(null, arguments).slice(1)); } else i(v.apply(null, arguments)); } o((function() { n.off(t, r); })), n._on(t, r, !1); }), { timeout: e.timeout, overload: e.overload }); }; var M = U.prototype; Object.defineProperties(U, { defaultMaxListeners: { get: function() { return M._maxListeners; }, set: function(t) { if ("number" != typeof t || t < 0 || Number.isNaN(t)) throw TypeError("n must be a non-negative number"); M._maxListeners = t; }, enumerable: !0 }, once: { value: function(t, e, n) { return $((n = w(n, { Promise: Promise, timeout: 0, overload: !1 }, { Promise: _ })).Promise, (function(n, i, a) { var o; if ("function" == typeof t.addEventListener) return o = function() { n(v.apply(null, arguments)); }, a((function() { t.removeEventListener(e, o); })), void t.addEventListener(e, o, { once: !0 }); var r, s = function() { r && t.removeListener("error", r), n(v.apply(null, arguments)); }; "error" !== e && (r = function(n) { t.removeListener(e, s), i(n); }, t.once("error", r)), a((function() { r && t.removeListener("error", r), t.removeListener(e, s); })), t.once(e, s); }), { timeout: n.timeout, overload: n.overload }); }, writable: !0, configurable: !0 } }), Object.defineProperties(M, { _maxListeners: { value: 10, writable: !0, configurable: !0 }, _observers: { value: null, writable: !0, configurable: !0 } }), void 0 === (o = function() { return U; }.call(e, n, e, t)) || (t.exports = o); }(); }).call(this, n(95), n(96).setImmediate); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return l; })); var o = n(17), r = n(24), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class l extends o.a { constructor() { super(...arguments), this.name = "local", this.authenticationUrl = "", this.getRegex = r.b, this.getSyncList = r.c, this.getCacheKey = r.a; } getUsername() { return s(this, void 0, void 0, (function*() { return "local"; })); } _getSortingOptions() { return []; } getPart() { return s(this, void 0, void 0, (function*() { t.log("[UserList][Local]", "status: " + this.status), this.done = !0; return yield this.prepareData(yield this.getSyncList(), this.listType, this.status); })); } prepareData(e, n, o) { var r, l; return s(this, void 0, void 0, (function*() { const s = []; for (const c in e) if (this.getRegex(n).test(c)) { const d = e[c]; if (t.log(c, d), 7 !== o && parseInt(d.status) !== o) continue; "anime" === n ? s.push(yield this.fn({ airingState: 2, image: null !== (r = d.image) && void 0 !== r ? r : i.storage.assetUrl("questionmark.gif"), malId: 0, apiCacheKey: 0, tags: d.tags, title: "[L] " + d.name, totalEp: 0, status: d.status, score: d.score, type: "anime", uid: c, url: c, cacheKey: this.getCacheKey(a.urlPart(c, 4), a.urlPart(c, 2)), watchedEp: d.progress }, d.sUrl)) : s.push(yield this.fn({ airingState: 2, image: null !== (l = d.image) && void 0 !== l ? l : i.storage.assetUrl("questionmark.gif"), malId: 0, apiCacheKey: 0, tags: d.tags, title: "[L] " + d.name, totalEp: 0, status: d.status, score: d.score, type: "manga", uid: c, url: c, cacheKey: this.getCacheKey(a.urlPart(c, 4), a.urlPart(c, 2)), watchedEp: d.progress }, d.sUrl)); } return t.log("data", s), s; })); } } }).call(this, n(4), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i) { function a(e, n) { const a = t.settings.get("posLeft"), o = t.settings.get("miniMalWidth"), r = t.settings.get("miniMalHeight"); if (!i.$("#info-popup").length) { t.storage.addStyle(`.modal-content-kal.fullscreen{width: 100% !important;height: 100% !important; bottom: 0 !important;${a}: 0 !important;} .modal-content-kal{-webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease;} .floatbutton:hover {background-color:rgb(63,81,181) !important;} .floatbutton:hover div {background-color:white;} .floatbutton div {background-color:black;-webkit-transition: all 0.5s ease;-moz-transition: all 0.5s ease;-o-transition: all 0.5s ease;transition: all 0.5s ease;} .floatbutton { z-index: 9999;display: none; position:fixed; bottom:40px; right:40px; border-radius: 50%; font-size: 24px; height: 56px; margin: auto; min-width: 56px; width: 56px; padding: 0; overflow: hidden; background: rgba(158,158,158,.2); box-shadow: 0 1px 1.5px 0 rgba(0,0,0,.12), 0 1px 1px 0 rgba(0,0,0,.24); line-height: normal; border: none; font-weight: 500; text-transform: uppercase; letter-spacing: 0; will-change: box-shadow; transition: box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1); outline: none; cursor: pointer; text-decoration: none; text-align: center; vertical-align: middle; padding: 16px; } .floatbutton.stealth { background: rgba(158,158,158,.03); } .floatbutton.stealth .open-info-popup{ visibility: hidden; } .floatbutton.floatHide{ visibility: hidden !important; }`); let s = `max-width: 100%; max-height: 100%; min-width: 500px; min-height: 300px; width: ${o}; height: ${r}; position: absolute; bottom: 0%; ${a}: 0%`; i.$(window).width() < 500 && (s = `width: 100vw; height: 100%; position: absolute; top: 0%; ${a}: 0%`); let l = '<div class="modal-kal" id="info-popup" style="pointer-events: none;display: none; position: fixed;z-index: 9999;left: 0;top: 0;bottom: 0;width: 100%; height: 100%; background-color: transparent; padding: 0; margin: 0; border: 0;">'; l += `<div id="modal-content" class="modal-content-kal" Style="pointer-events: all; background-color: #f9f9f9; margin: 0; ${s}">`, l += "</div>", l += "</div>", i.$("body").after(i.html(l)); let c = ""; t.settings.get("floatButtonStealth") && (c += "stealth "), t.settings.get("floatButtonHide") && (c += "floatHide "); let d = `<button class="open-info-popup floatbutton ${c}" style="">`; d += '<i class="my-float open-info-popup" style="margin-top:22px;"><div class="open-info-popup" style="width: 100%; height: 4px; margin-bottom: 15%;"></div><div class="open-info-popup" style="width: 100%; height: 4px; margin-bottom: 15%;"></div><div class="open-info-popup" style="width: 100%; height: 4px"></div></i></button>', i.$("#info-popup").after(i.html(d)), i.$(".open-info-popup").show(), t.settings.get("autoCloseMinimal") && i.$(".modal-kal").css("pointer-events", "initial"), document.addEventListener("click", (function(t) { t && t.target && (i.$(t.target).hasClass("open-info-popup") && n(e), i.$(t.target).hasClass("modal-kal") && (document.getElementById("info-popup").style.display = "none", i.$(".floatbutton").fadeIn())); })); } } n.d(e, "a", (function() { return a; })); }).call(this, n(0), n(2)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return l; })); var i = n(106), a = n(107), o = n(108), r = n(82), s = n(109); function l(e) { if (/^local:\/\//i.test(e)) return s.a; const n = t.settings.get("syncMode"); return "MAL" === n || "MALAPI" === n ? i.a : "ANILIST" === n ? a.a : "KITSU" === n ? o.a : r.a; } }).call(this, n(0)); }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return i; })); const i = { shortName: "MAL", score: "MAL Score:", noLogin: "Please log in on <a target='_blank' href='https://myanimelist.net/login.php'>MyAnimeList!<a>" }; }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return i; })); const i = { shortName: "AniList", score: "AniList Score:", noLogin: t.storage.lang("Anilist_Authenticate") }; }).call(this, n(0)); }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return i; })); const i = { shortName: "Kitsu", score: "Kitsu Score:", noLogin: 'Please Authenticate <a target="_blank" href="https://kitsu.io/404?mal-sync=authentication">Here</a>' }; }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return i; })); const i = { shortName: "local storage", score: "Local storage Score:", noLogin: "" }; }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return u; })); var o = n(92), r = n(39), s = n(81), l = n(19), c = n(114), d = n(15), m = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class u { constructor(e, n, i) { this.title = e, this.type = n, this.identifier = i, this.localUrl = "", this.state = !1, this.changed = !1, this.identifier += "", this.sanitizedTitel = this.sanitizeTitel(this.title), this.logger = t.m("search", "red"); } setPage(t) { this.page = t; } setLocalUrl(t) { this.localUrl = t; } setSyncPage(t) { this.syncPage = t; } getSyncPage() { return this.syncPage; } getUrl() { return this.state ? this.state.url : null; } setUrl(t, e = 0) { this.state ? (this.state.url !== t && (this.changed = !0), this.state.provider = "user", this.state.url = t, this.state.id = e, this.state.cache = !1, this.state.similarity = { same: !0, value: 1 }) : (this.changed = !0, this.state = { id: e, url: t, offset: 0, provider: "user", similarity: { same: !0, value: 1 } }), this.setCache(this.state); } getOffset() { return this.state ? this.state.offset : 0; } setOffset(t) { this.state && (this.state.offset !== t && (this.changed = !0), this.state.offset = t), this.setCache(this.state); } getCachedOffset() { return m(this, void 0, void 0, (function*() { return this.state = yield this.getCache(), this.state ? this.state.offset : 0; })); } getId() { return this.state && this.state.id ? this.state.id : 0; } getSanitizedTitel() { return this.sanitizedTitel; } getNormalizedType() { return "anime" === this.type ? "anime" : "manga"; } sanitizeTitel(t) { let e = t.replace(/ *(\(dub\)|\(sub\)|\(uncensored\)|\(uncut\)|\(subbed\)|\(dubbed\))/i, ""); return e = e.replace(/ *\([^)]+audio\)/i, ""), e = e.replace(/ BD( |$)/i, ""), e = e.trim(), e = e.substring(0, 99), e; } search() { return m(this, void 0, void 0, (function*() { if (this.state = yield this.getCache(), this.state || (this.state = yield this.searchLocal()), this.state || (this.state = yield this.searchForIt()), !this.state || this.state && ![ "user", "firebase", "sync", "local" ].includes(this.state.provider)) { const t = yield this.onsiteSearch(); t && (this.state = t); } return this.state && (yield this.setCache(this.state)), this.logger.log("Result", this.state), this.state; })); } getCache() { return m(this, void 0, void 0, (function*() { return i.storage.get(`${this.page.name}/${this.identifier}/Search`).then(t => (t && (t.cache = !0), t)); })); } setCache(t) { return t = JSON.parse(JSON.stringify(t)), setTimeout(() => { this.databaseRequest(); }, 200), i.storage.set(`${this.page.name}/${this.identifier}/Search`, t); } static similarity(t, e, n = []) { let i = Object(o.compareTwoStrings)(e.toLowerCase(), t.toLowerCase()); n.forEach(t => { if (t) { const n = Object(o.compareTwoStrings)(e.toLowerCase(), t.toLowerCase()); n > i && (i = n); } }); let a = !1; return i > .6 && (a = !0), { same: a, value: i }; } searchLocal() { return m(this, void 0, void 0, (function*() { if (!this.localUrl) return !1; const t = new s.a(this.localUrl); return yield t.update(), !!t.isOnList() && (this.logger.m("Local").log("On List"), { url: "", offset: 0, provider: "local", similarity: { same: !0, value: 1 } }); })); } searchForIt() { return m(this, void 0, void 0, (function*() { let t = !1; try { t = e(t, yield this.malSync()); } catch (t) { this.page && this.page.database && this.logger.error("MALSync api error or not supported", t); } if (t && "firebase" !== t.provider || !t) try { t = e(t, yield this.malSearch()); } catch (t) { this.logger.m(t); } if (t && "firebase" !== t.provider || !t) try { t = e(t, yield this.pageSearch(), .5); } catch (t) { this.logger.m(t); } if (t && "firebase" === t.provider && "MAL" !== i.settings.get("syncMode") && !t.url) try { const e = yield this.pageSearch(); e && -1 === e.url.indexOf("myanimelist.net") && e.similarity.same && (this.logger.log("Ignore Firebase", t), t = e); } catch (t) { this.logger.m(t); } return t; function e(t, e, n = 0) { return !1 !== t && !1 !== e && e.similarity.value > n ? t.similarity.value >= e.similarity.value ? t : e : !1 !== t ? t : e; } })); } firebase() { return m(this, void 0, void 0, (function*() { if (!this.page || !this.page.database) return !1; const t = this.logger.m("Firebase"), e = `https://kissanimelist.firebaseio.com/Data2/${this.page.database}/${encodeURIComponent(this.identifierToDbKey(this.identifier)).toLowerCase()}/Mal.json`; t.log(e); const n = yield i.request.xhr("GET", e); if (t.log("response", n.responseText), !n.responseText || "null" === n.responseText || n.responseText.includes("error")) return !1; let a; try { a = JSON.parse(n.responseText); } catch (e) { return t.info("Parse failed"), !1; } if (!a || 0 === Object.keys(a).length) return !1; const o = Object.keys(a)[0], r = a[o]; let s = ""; return "Not-Found" !== o && (s = `https://myanimelist.net/${this.page.type}/${o}/${r}`), { url: s, offset: 0, provider: "firebase", similarity: { same: !0, value: 1 } }; })); } malSync() { var t; return m(this, void 0, void 0, (function*() { const e = this.logger.m("API"); if (!this.page) return !1; const n = this.page.database ? this.page.database : this.page.name; if (!n) return !1; const a = `https://api.malsync.moe/page/${n}/${encodeURIComponent(this.identifierToDbKey(this.identifier)).toLowerCase()}`; e.log(a); const o = yield i.request.xhr("GET", a); if (e.log("Response", o), 400 !== o.status && 200 !== o.status) throw new Error("malsync offline"); if (400 === o.status && (null === (t = o.responseText) || void 0 === t ? void 0 : t.includes("error"))) return !1; const r = JSON.parse(o.responseText); let s = r.malUrl; return !s && r.aniUrl && "ANILIST" === Object(d.a)(this.getNormalizedType()) && (s = r.aniUrl), { url: s, offset: 0, provider: "firebase", similarity: { same: !0, value: 1 } }; })); } malSearch() { var t, e; return m(this, void 0, void 0, (function*() { const n = this.logger.m("MAL"); let a = `https://myanimelist.net/${this.getNormalizedType()}.php?q=${encodeURI(this.sanitizedTitel)}`; "novel" === this.type && (a = `https://myanimelist.net/${this.getNormalizedType()}.php?type=2&q=${encodeURI(this.sanitizedTitel)}`), n.log(a); const o = yield i.request.xhr("GET", a); return !(!o || (null === (t = o.responseText) || void 0 === t ? void 0 : t.includes(" error "))) && (!(!o || (null === (e = o.responseText) || void 0 === e ? void 0 : e.includes("No titles that matched"))) && function t(e, i = 1, a) { const o = function(t, e) { try { return t.responseText.split('<a class="hoverinfo_trigger" href="')[e].split('"')[0]; } catch (i) { n.error(i); try { return t.responseText.split('class="picSurround')[e].split("<a")[1].split('href="')[1].split('"')[0]; } catch (t) { return n.error(t), !1; } } }(e, i); let r = 0, s = { same: !1, value: 0 }; if (!1 !== o) try { if ("manga" === a.type) { if (-1 !== e.responseText.split(`href="${o}" id="si`)[1].split("</tr>")[0].indexOf("Novel")) return n.log("Novel Found check next entry"), t(e, i + 1, a); } const l = function(t, e) { try { const n = e.split("/")[4]; return t.responseText.split(`rel="#sinfo${n}"><strong>`)[1].split("<")[0]; } catch (t) { return n.error(t), ""; } }(e, o); s = u.similarity(l, a.sanitizedTitel), r = parseInt(o.split("/")[4]); } catch (t) { n.error(t); } return { id: r, url: o, offset: 0, provider: "mal", similarity: s }; }(o, 1, this)); })); } pageSearch() { return m(this, void 0, void 0, (function*() { const t = yield Object(r.a)(this.sanitizedTitel, this.getNormalizedType()); let e = null; for (let n = 0; n < t.length && n < 5; n++) { const i = t[n], a = u.similarity(i.name, this.sanitizedTitel, i.altNames), o = { index: n, similarity: a }; ("manga" === this.type && !i.isNovel || "novel" === this.type && i.isNovel || "anime" === this.type) && (!e || a.value > e.similarity.value) && (e = o); } if (e) { const n = t[e.index], i = yield n.malUrl(); return { id: n.id, url: i || n.url, offset: 0, provider: "page", similarity: e.similarity }; } return !1; })); } databaseRequest() { return m(this, void 0, void 0, (function*() { const t = this.logger.m("DB Request"); if (this.page && this.page.database && this.syncPage && this.state) { if (this.state.cache) return; if ("user" === this.state.provider && !this.changed) return; if ("firebase" === this.state.provider) return; if ("local" === this.state.provider) return; let e; if (!e) if (this.page.isSyncPage(this.syncPage.url)) e = this.page.sync.getOverviewUrl(this.syncPage.url), "Crunchyroll" === this.page.database && (e = "" + this.syncPage.url); else { if ("Crunchyroll" === this.page.database) return void t.log("CR block"); e = this.syncPage.url; } const n = { pageUrl: e, malUrl: this.state.url, correction: !1, page: this.page.database }; if ("user" === this.state.provider) { if (!(yield a.flashConfirm(i.storage.lang("correction_DBRequest"), "dbrequest", () => {}, () => {}, !0))) return; n.correction = !0; } const o = "https://api.malsync.moe/corrections"; i.request.xhr("POST", { url: o, data: JSON.stringify(n), headers: { "Content-Type": "application/json" } }).then(e => { try { const n = JSON.parse(e.responseText); if (n.error) throw n; t.log("Send to database:", n); } catch (e) { t.error("Send to database:", e); } }); } })); } onsiteSearch() { return m(this, void 0, void 0, (function*() { if (this.page && this.syncPage && this.syncPage.curState && this.syncPage.curState.on) { let t = !1; if ("OVERVIEW" === this.syncPage.curState.on ? this.page.overview && this.page.overview.getMalUrl && (t = yield this.page.overview.getMalUrl(i.settings.get("syncMode"))) : this.page.sync && this.page.sync.getMalUrl && (t = yield this.page.sync.getMalUrl(i.settings.get("syncMode"))), t) return this.logger.m("Onsite").log("[SEARCH]", "Overwrite by onsite url", t), { url: t, offset: 0, provider: "sync", similarity: { same: !0, value: 1 } }; } return !1; })); } openCorrection() {} identifierToDbKey(t) { return "Crunchyroll" === this.page.database ? encodeURIComponent(t.toLowerCase().split("#")[0]).replace(/\./g, "%2E") : t.toLowerCase().split("#")[0].replace(/\./g, "%2E"); } initRules() { return m(this, void 0, void 0, (function*() { const e = t.m("Rules"), n = this.getUrl(); if (e.log("Url", n), n) { const t = yield Object(l.a)(n); return e.log("Cachekey", t), this.rules = yield new c.a(t.cacheKey, this.getNormalizedType()).init(), t.singleObj; } })); } applyRules(t) { if (this.rules) { const e = this.getOffset() || 0, n = this.rules.applyRules(Number(t) + Number(e)); return n && (n.offset = Number(n.offset) + Number(e)), n; } } getRuledOffset(t) { const e = this.applyRules(t); return e ? e.offset : this.getOffset(); } getRuledUrl(t) { const e = this.applyRules(t); return e ? e.url : this.getUrl(); } } }).call(this, n(4), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return r; })); var o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function r(e, n, r = {}, s = !1) { return o(this, void 0, void 0, (function*() { const o = `\n query ($search: String) {\n ${n}: Page (perPage: 10) {\n pageInfo {\n total\n }\n results: media (type: ${n.toUpperCase()}, search: $search) {\n id\n siteUrl\n idMal\n title {\n userPreferred\n romaji\n english\n native\n }\n coverImage {\n medium\n }\n type\n format\n averageScore\n startDate {\n year\n }\n synonyms\n }\n }\n }\n `, r = { search: e }, s = yield t.request.xhr("POST", { url: "https://graphql.anilist.co", headers: { "Content-Type": "application/json", Accept: "application/json" }, data: JSON.stringify({ query: o, variables: r }) }), l = JSON.parse(s.responseText); i.log(l); const c = []; return a.$.each(l.data[n].results, (function(t, e) { c.push({ id: e.id, name: e.title.userPreferred, altNames: Object.values(e.title).concat(e.synonyms), url: e.siteUrl, malUrl: () => e.idMal ? `https://myanimelist.net/${n}/${e.idMal}` : null, image: e.coverImage.medium, media_type: e.format ? (e.format.charAt(0) + e.format.slice(1).toLowerCase()).replace("_", " ") : "", isNovel: "NOVEL" === e.format, score: e.averageScore, year: e.startDate.year }); })), c; })); } }).call(this, n(0), n(4), n(2)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return s; })); var a = n(5), o = n(7), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const s = function(e, n, s = {}, l = !1) { return r(this, void 0, void 0, (function*() { return function(e, n, o = {}, r = !0) { const s = { "Content-Type": "application/vnd.api+json", Accept: "application/vnd.api+json" }; r && (s.Authorization = "Bearer " + i.settings.get("kitsuToken")); return i.request.xhr(e, { url: n, headers: s, data: JSON.stringify(o) }).then(e => { if (e.status > 499 && e.status < 600 || 0 === e.status) throw { code: a.a.ServerOffline, message: "Server Offline status: " + e.status }; const n = JSON.parse(e.responseText); if (void 0 !== n.errors && n.errors.length) { t.error("[META]", "Error", n.errors); const e = n.errors[0]; switch (parseInt(e.status)) { case 401: case 403: throw { code: a.a.NotAutenticated, message: e.detail }; case 404: throw { code: a.a.EntryNotFound, message: e.detail }; default: throw { code: e.status, message: e.detail }; } } return n; }); }("GET", `https://kitsu.io/api/edge/${n}?filter[text]=${e}&page[limit]=10&page[offset]=0&fields[${n}]=id,slug,titles,averageRating,startDate,posterImage,subtype`, {}).then(e => { t.log("search", e); const i = []; return e.data.forEach((function(t) { i.push({ id: t.id, name: o.c(t.attributes.titles, t.attributes.canonicalTitle), altNames: Object.values(t.attributes.titles), url: `https://kitsu.io/${n}/${t.attributes.slug}`, malUrl: () => r(this, void 0, void 0, (function*() { const e = yield o.d(t.id, n); return e ? `https://myanimelist.net/${n}/${e}` : null; })), image: t.attributes.posterImage && void 0 !== t.attributes.posterImage.tiny ? t.attributes.posterImage.tiny : "", media_type: t.attributes.subtype, isNovel: "novel" === t.attributes.subtype, score: t.attributes.averageRating, year: t.attributes.startDate }); })), i; }); })); }; }).call(this, n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return l; })); var r = n(8), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function l(e, n, a = {}, o = !1) { return c("https://api.simkl.com/search/" + n, { q: e }, !0).then(e => { const a = []; return t.log("search", e), i.$.each(e, (function(t, e) { a.push({ id: e.ids.simkl_id, name: e.title, altNames: [], url: `https://simkl.com/${n}/${e.ids.simkl_id}/${e.ids.slug}`, malUrl: () => s(this, void 0, void 0, (function*() { const t = yield (i = e.ids.simkl_id, c("https://api.simkl.com/anime/" + i, { extended: "full" }, !0).then(t => void 0 === t.ids.mal ? null : t.ids.mal)); var i; return t ? `https://myanimelist.net/${n}/${t}` : null; })), image: `https://simkl.in/posters/${e.poster}_cm.jpg`, media_type: e.type, isNovel: !1, score: null, year: e.year }); })), a; }); } function c(e, n = {}, l = !1, d = "GET", m = !0) { return s(this, void 0, void 0, (function*() { l && (e += "?" + i.$.param(n)), t.log("call", d, e, n); const u = { Authorization: m ? "Bearer " + a.settings.get("simklToken") : void 0, "simkl-api-key": r.b, Accept: "application/vnd.api+json", "Content-Type": "application/json" }; return m || t.log("No login"), a.request.xhr(d, { url: e, headers: u, data: n }).then(i => s(this, void 0, void 0, (function*() { switch (i.status) { case 200: case 201: case 204: case 302: break; case 401: if (m) return c(e, n, l, d, !1); throw o.flashm('Please Authenticate <a target="_blank" href="https://simkl.com/oauth/authorize?response_type=code&client_id=39e8640b6f1a60aaf60f3f3313475e830517badab8048a4e52ff2d10deb2b9b0&redirect_uri=https://simkl.com/apps/chrome/mal-sync/connected/">Here</a>', { error: !0, type: "error" }), r(); default: throw o.flashm("Simkl: " + a(), { error: !0, type: "error" }), r(); } try { return JSON.parse(i.responseText); } catch (e) { throw t.error(i), e; } function a() { return JSON.parse(i.responseText).error; } function r() { return { status: i.status, message: a() }; } }))); })); } }).call(this, n(4), n(2), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return r; })); var o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class r { constructor(e, n) { return this.cacheKey = e, this.type = n, this.logger = t.m("Rules"), this; } init() { return o(this, void 0, void 0, (function*() { if (this.state = yield this.getCache(), !this.state || "firebase" === this.state.provider && this.state.updated && this.state.updated + 6048e5 < (new Date).getTime()) { const t = yield this.api(); t && (this.state = t); } return this.logger.m("Result").log(this.state), this.state && (yield this.setCache(this.state)), this; })); } getRules() { return this.state && this.state.rules && this.state.rules.length ? this.state.rules : []; } api() { return o(this, void 0, void 0, (function*() { const t = this.logger.m("API"); try { if ("anime" !== this.type) return void t.info("Only supports anime"); if (String(this.cacheKey).startsWith("simkl:")) return void t.info("Simkl is not supported"); const e = "https://api.malsync.moe/rules/" + this.cacheKey; t.log(e); const n = yield i.request.xhr("GET", e); t.log("Response", n); const o = JSON.parse(n.responseText); return { provider: "firebase", updated: (new Date).getTime(), last_modified: o.last_modified, rules: o.rules.map(t => ({ from: { title: t.from.title, url: a.pageUrl(o.page, this.type, t.from.id), start: t.from.start, end: t.from.end }, to: { title: t.to.title, url: a.pageUrl(o.page, this.type, t.to.id), start: t.to.start, end: t.to.end } })) }; } catch (e) { return void t.error(e); } })); } getCache() { return o(this, void 0, void 0, (function*() { return i.storage.get(`${this.type}/${this.cacheKey}/Rules`).then(t => (t && (t.cache = !0), t)); })); } setCache(t) { return t = JSON.parse(JSON.stringify(t)), i.storage.set(`${this.type}/${this.cacheKey}/Rules`, t); } applyRules(t, e) { const n = this.logger.m("apply"); this.activeRule = void 0, e || (e = this.getRules()), n.log(t, e); const i = e.find(e => e.from.start <= t && e.from.end >= t); if (i) return n.log("Rule found", i), this.activeRule = i, { url: i.to.url, offset: i.to.start - i.from.start }; if (e.length > 1) { const i = e.find(e => e.from.url === e.to.url && t > e.from.end); if (i) { const a = i.to.start - i.from.start, o = t + a; n.log("Self Rule", i, o, a); const r = this.applyRules(o, e.filter(t => t.from.url !== t.to.url)); if (r) return r.offset += a, r; } } } } }).call(this, n(4), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return m; })); var r = n(25), s = n(116), l = n(32), c = n(9), d = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class m { constructor(e) { let n; this.url = e, this.page = null, this.id = null, this.type = null, this.username = null, e.indexOf("myanimelist.net/anime.php") > -1 && (n = "/anime/" + t.urlParam(this.url, "id"), window.history.replaceState(null, null, n), this.url = t.absoluteLink(n, "https://myanimelist.net")), e.indexOf("myanimelist.net/manga.php") > -1 && (n = "/manga/" + t.urlParam(this.url, "id"), window.history.replaceState(null, null, n), this.url = t.absoluteLink(n, "https://myanimelist.net")); const i = t.urlPart(this.url, 3); "anime" !== i && "manga" !== i || (this.page = "detail", this.id = Number(t.urlPart(this.url, 4)), this.type = i), "animelist" !== i && "mangalist" !== i || (this.page = "bookmarks", this.username = t.urlPart(this.url, 4), this.type = "animelist" === i ? "anime" : "manga"), "character" === i && (this.page = "character"), "people" === i && (this.page = "people"), "search" === i && (this.page = "search"); } init() { switch (i.log(this), this.page) { case "detail": this.thumbnails(), this.streamingUI(), this.malToKiss(), this.related(), this.friendScore(), this.relatedTag(); break; case "bookmarks": $(document).ready(() => { $("#mal_cs_powered").length ? this.page = "classic" : this.page = "modern", this.init(); }); break; case "modern": case "classic": this.bookmarks(); break; case "character": case "people": this.relatedTag(); case "search": this.thumbnails(); break; default: i.log("This page has no scipt"); } } thumbnails() { if (i.log("Lazyloaded Images"), this.url.indexOf("/pics") > -1) return; if (this.url.indexOf("/pictures") > -1) return; if ("0" === a.settings.get("malThumbnail")) return; const e = parseInt(a.settings.get("malThumbnail")), n = Math.floor(e / 144 * 100), o = e + 4, r = n + 4; a.storage.addStyle(`.picSurround img:not(.noKal){height: ${e}px !important; width: ${n}px !important;}`), a.storage.addStyle(".picSurround img.lazyloaded.kal{width: auto !important;}"), a.storage.addStyle(`.picSurround:not(.noKal) a{height: ${o}px; width: ${r}px; overflow: hidden; display: flex; justify-content: center;}`), a.storage.addStyle(`.picSurround img[src*="userimages"]{max-width: ${n}px !important}`); let s = 0; try { $(window).load((function() { l(); })); } catch (t) { i.info(t); } try { window.onload = function() { l(); }; } catch (t) { i.info(t); } try { document.onload = function() { l(); }; } catch (t) { i.info(t); } try { $(document).ready((function() { l(); })); } catch (t) { i.info(t); } function l() { if (s) return; s = 1; const e = document.querySelectorAll(".picSurround img:not(.kal)"); let n = ""; for (let i = 0; i < e.length; i++) { const a = /\/r\/\d*x\d*/g; n = e[i].hasAttribute("data-src") ? e[i].getAttribute("data-src") : e[i].getAttribute("src"), a.test(n) || /voiceactors.*v.jpg$/g.test(n) || -1 !== n.indexOf("questionmark") ? (n = t.handleMalImages(n), n.indexOf("100x140") > -1 || (e[i].setAttribute("data-src", n), n = n.replace(/v.jpg$/g, ".jpg"), e[i].setAttribute("data-srcset", n.replace(a, "")), e[i].classList.add("lazyload")), e[i].classList.add("kal")) : (e[i].closest(".picSurround").classList.add("noKal"), e[i].classList.add("kal"), e[i].classList.add("noKal")); } } } bookmarksHDimages() { const t = document.querySelectorAll('img[src*="/96x136/"]'); for (let e = 0; e < t.length; e++) { const n = /\/r\/\d*x\d*/g, i = t[e].getAttribute("src"); t[e].setAttribute("src", i.replace(n, "")); } } setEpPrediction(t) { t && t.isAiring() && t.getCurrentEpisode() && ($(".mal-sync-pre-remove, .mal-sync-ep-pre").remove(), $("#addtolist").prev().before(o.html(`<div class="mal-sync-pre-remove">${t.getAutoText()}</div>`)), $('[id="curEps"], [id="totalChaps"]').before(o.html(`<span class="mal-sync-ep-pre" title="${t.getAutoText()}">[<span style="border-bottom: 1px dotted ${t.getColor()};">${t.getCurrentEpisode()}</span>]</span> `))); } malToKiss() { return d(this, void 0, void 0, (function*() { $(document).ready(() => { i.log("malToKiss"); const e = $('meta[property="og:title"]').first().attr("content").trim(); Object(c.a)(this.type, this.id, e).then(e => { let n = ""; e.forEach(e => { let i = ""; e.links.forEach(t => { i += `<div class="mal_links"><a target="_blank" href="${t.url}">${t.name}</a></div>`; }), n += `<h2 id="${e.name}Links" class="mal_links"><img src="${t.favicon(e.domain)}"> ${e.name}<span title="${e.name}" class="remove-mal-sync" style="float: right; font-weight: 100; line-height: 2; cursor: pointer; color: grey;">x</span></h2>`, n += i, n += '<br class="mal_links" />'; }), $('h2:contains("Information")').before(o.html(n)), $(".remove-mal-sync").click((function() { const t = $(this).attr("title"); Object(c.c)(String(t)), window.location.reload(); })); }); }); })); } streamingUI() { return d(this, void 0, void 0, (function*() { i.log("Streaming UI"); const e = new r.a(this.url); yield e.update(), this.pageRelation(e); const n = e.getStreamingUrl(); n && $(document).ready((function() { return d(this, void 0, void 0, (function*() { $(".breadcrumb").first().append(o.html(`\n <div class="data title progress" id="mal-sync-stream-div" style="padding-left: 5px; display: inline-block; position: relative; top: -12px; height: 0px;">\n <a class="mal-sync-stream" title="${n ? n.split("/")[2] : ""}" target="_blank" style="margin: 0 0; display: inline-block; height: 0;" href="${n}">\n <img style="display: block;" src="${t.favicon(n ? n.split("/")[2] : "")}">\n </a>\n </div>`)); const r = e.getResumeWatching(), s = e.getContinueWatching(); i.log("Resume", r, "Continue", s), s && s.ep === e.getEpisode() + 1 ? $("#mal-sync-stream-div").append(o.html(`<a class="nextStream" title="${a.storage.lang("overview_Continue_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA; display: inline-block; height: 0;" href="${s.url}">\n <img style="display: block;" src="${a.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : r && r.ep === e.getEpisode() && $("#mal-sync-stream-div").append(o.html(`<a class="resumeStream" title="${a.storage.lang("overview_Resume_Episode_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA; display: inline-block; height: 0;" href="${r.url}">\n <img style="display: block;" src="${a.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`)); })); })), yield e.initProgress(), this.setEpPrediction(e.getProgress()), setInterval(() => { this.setEpPrediction(e.getProgress()); }, 6e4); })); } pageRelation(t) { return d(this, void 0, void 0, (function*() { yield t.fillRelations(), t.getPageRelations().forEach(t => { $("#horiznav_nav > ul").append(o.html(`\n <li style="position: relative; width: 24px; display: inline-block;">\n <a href="${t.link}" target="_blank" title="${t.name}" class="link" style="position: absolute; bottom: -3px; width: 16px; text-align: center;">\n <img src="${t.icon}" width="16" width="16">\n </a>\n </li>\n `)); }); })); } bookmarks() { i.log(`Bookmarks [${this.username}][${this.page}]`); const e = this, n = new l.a(7, this.type), r = new s.a(7, this.type); let c; if ("modern" === this.page) c = { bookReady(n) { t.waitUntilTrue((function() { return "none" === $("#loading-spinner").css("display"); }), (function() { return d(this, void 0, void 0, (function*() { n(yield r.prepareData($.parseJSON($(".list-table").attr("data-items")))), t.changeDetect(() => { $(".tags span a").each((function(n) { if (void 0 !== t.getUrlFromTags($(this).text())) { const t = $(this).parent().parent().parent().parent(); $(this).parent().remove(), m(e.type, t.find(".title .link").first().attr("href"), $(this).text(), parseInt(t.find(".progress .link").first().text()), t.find(".title .link").first().attr("href").split("/")[1]); } })); }, () => $(".list-table > *").length); })); })); }, getElement: t => $(`.list-item a[href^="${t}"]`).parent().parent(".list-table-data"), streamingSelector: ".data.title .link", cleanTags() { $(".tags span a").each((function(e) { void 0 !== t.getUrlFromTags($(this).text()) && $(this).parent().remove(); })); }, predictionPos(t, e) { t.find(".data.progress span, .data.chapter span").first().after(o.html(e)); } }; else { if ("classic" !== this.page) return void i.error("Bookmark type unknown"); c = { bookReady(t) { n.getCompleteList().then(e => { t(e); }).catch(t => { i.error(t), n.flashmError(t); }); }, getElement: t => $(`a[href^="${t}"]`), streamingSelector: "span", cleanTags() { $('span[id^="tagLinks"] a').each((function(e) { void 0 !== t.getUrlFromTags($(this).text()) && $(this).remove(); })); }, predictionPos(t, e) { t.parent().parent().find('span[id^="epText"] a span, span[id^="chap"]').first().after(o.html(e)); } }; } function m(e, n, r, s, l) { return d(this, void 0, void 0, (function*() { const d = yield t.getEntrySettings(e, l, r); if (d && d.u) { const e = c.getElement(n); e.find(c.streamingSelector).after(o.html(`\n <a class="mal-sync-stream" title="${d.u.split("/")[2]}" target="_blank" style="margin: 0 0;" href="${d.u}">\n <img src="${t.favicon(d.u.split("/")[2])}">\n </a>`)); const r = d.r, l = d.c; i.log("Resume", r, "Continue", l), l && l.ep === s + 1 ? e.find(".mal-sync-stream").after(o.html(`<a class="nextStream" title="Continue watching" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${l.url}">\n <img src="${a.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : r && r.ep === s && e.find(".mal-sync-stream").after(o.html(`<a class="resumeStream" title="Resume watching" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${r.url}">\n <img src="${a.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`)); } })); } c.bookReady((function(t) { e.bookmarksHDimages(), $.each(t, (function(t, e) { return d(this, void 0, void 0, (function*() { const t = e.url.replace("https://myanimelist.net", ""), {type: n} = e; if (m(n, t, e.tags, parseInt(e.watchedEp), e.cacheKey), yield e.fn.initProgress(), e.fn.progress && e.fn.progress.isAiring() && e.fn.progress.getCurrentEpisode()) { const n = c.getElement(t); c.predictionPos(n, `<span class="mal-sync-ep-pre" title="${e.fn.progress.getAutoText()}">[<span style="border-bottom: 1px dotted ${e.fn.progress.getColor()};">${e.fn.progress.getCurrentEpisode()}</span>]</span>`); } })); })), c.cleanTags(); })); } related() { $(document).ready((function() { $(".anime_detail_related_anime a").each((function() { const e = $(this), n = t.absoluteLink(e.attr("href"), "https://myanimelist.net"); void 0 !== n && t.timeCache("MALTAG/" + n, (function() { return d(this, void 0, void 0, (function*() { const e = new r.a(n); return yield e.update(), t.statusTag(e.getStatus(), e.getType(), e.getMalId()); })); }), 1728e5).then((function(t) { t && e.append(o.html(t)); })); })); })); } relatedTag() { const e = this; $(document).ready((function() { $("a.button_edit").each((function() { const n = $(this), i = $(this).attr("href") || "", a = t.urlPart(i, 4), r = t.urlPart(i, 5), s = n.attr("title"); if (void 0 !== s && s) { const i = String(t.statusTag(s, a, r)); "detail" === e.page ? n.parent().find("> a").first().after(o.html(i)) : n.parent().parent().find("> a").after(o.html(i)), n.remove(); } })); })); } friendScore() { a.settings.get("friendScore") && $(document).ready((function() { const e = $("h2:contains(Reviews)"); if (!e.length) return; const n = $("#horiznav_nav li a").first(); if (!n.is("#horiznav_nav li a.horiznav_active")) return; let i = n.attr("href"); void 0 !== i && i && (i = t.absoluteLink(i, "https://myanimelist.net"), a.request.xhr("GET", i + "/stats").then(t => { const n = $("a[name=members]", $(t.responseText).children()); if (!n) return; const i = n.nextAll(); let r = ""; i.each((t, e) => { r += e.outerHTML; }), i.length > 1 && i.find('a:contains("All Members")').length && (e.before(o.html(n.html())).before(o.html(r)).before(o.html("<br>")), $('a:contains("All Members")').after(o.html(' | <span id="mal-sync-removeFriends" title="remove" style="cursor: pointer; color: #1d439b;">X</span>')), $("#mal-sync-removeFriends").click((function() { a.settings.set("friendScore", !1), window.location.reload(); }))); })); })); } } }).call(this, n(1), n(4), n(0), n(2)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return o; })); var i = n(17), a = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class o extends i.a { constructor() { super(...arguments), this.name = "MyAnimeList", this.authenticationUrl = "https://myanimelist.net/login.php"; } getUsername() { return a(this, void 0, void 0, (function*() { throw "no"; })); } errorHandling(e) { if (void 0 !== e.errors) throw t.error(e.errors), { code: parseInt(e.errors[0].status), message: e.errors[0].title }; } _getSortingOptions() { return [ { icon: "sort_by_alpha", title: "Alphabetic", value: "alpha", asc: !0 }, { icon: "history", title: "Last Updated", value: "updated", asc: !0 }, { icon: "score", title: "Score", value: "score", asc: !0 } ]; } getOrder(t) { let e = ""; t.endsWith("_asc") && (e = "-"); switch (t.replace("_asc", "")) { case "alpha": return e + 1; case "updated": return e + 5; case "score": return e + 4; default: return 1 === this.status || 6 === this.status ? this.getOrder("updated") : this.getOrder("alpha"); } } getPart() { return a(this, void 0, void 0, (function*() { throw "no"; })); } prepareData(t) { return a(this, void 0, void 0, (function*() { const e = []; for (let n = 0; n < t.length; n++) { const i = t[n]; "anime" === this.listType ? e.push(yield this.fn({ uid: i.anime_id, malId: i.anime_id, apiCacheKey: i.anime_id, cacheKey: i.anime_id, type: this.listType, title: i.anime_title, url: "https://myanimelist.net" + i.anime_url, watchedEp: i.num_watched_episodes, totalEp: i.anime_num_episodes, status: i.status, score: i.score, image: i.anime_image_path, tags: i.tags, airingState: i.anime_airing_status })) : e.push(yield this.fn({ uid: i.manga_id, malId: i.manga_id, apiCacheKey: i.manga_id, cacheKey: i.manga_id, type: this.listType, title: i.manga_title, url: "https://myanimelist.net" + i.manga_url, watchedEp: i.num_read_chapters, totalEp: i.manga_num_chapters, status: i.status, score: i.score, image: i.manga_image_path, tags: i.tags, airingState: i.anime_airing_status })); } return e; })); } } }).call(this, n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return m; })); var r = n(93), s = n(35), l = n(33), c = n(9), d = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class m { constructor(e) { this.url = e, this.page = null, this.tempAnimelist = null, this.tempMangalist = null; let a = !0; t.changeDetect(() => { this.url = window.location.href, this.init(); }, () => { if (a) return void (a = !1); if (null !== this.page && "bookmarks" === this.page.page && $(".lists").length) return $(".lists").first().height(); let t = $('meta[property="og:url"]').attr("content"); return void 0 !== t && t.split("/").length > 4 ? t.split("/").slice(0, 6).join("/") : (t = window.location.href, t); }), this.url.indexOf("access_token=") > -1 && this.init(), i.storage.addStyle(n(291).toString()); } init() { this.url.indexOf("access_token=") > -1 && this.authentication(); const e = t.urlPart(this.url, 3); "anime" !== e && "manga" !== e || (this.page = { page: "detail", id: t.urlPart(this.url, 4), apiCacheKey: NaN, type: e }, this.streamingUI(), r.a(this.page.id, this.page.type).then(t => { this.page.apiCacheKey = t || "anilist:" + this.page.id, a.log("page", this.page), this.malToKiss(); })); const n = t.urlPart(this.url, 5); "animelist" !== n && "mangalist" !== n || (this.page = { page: "bookmarks", type: n.substring(0, 5) }, this.bookmarks()); } authentication() { return d(this, void 0, void 0, (function*() { try { t.checkDoubleExecution(); } catch (t) { a.error(t); } const e = /access_token=[^&]+/gi.exec(this.url); if (null !== e && void 0 !== e[0] && e[0]) { const t = e[0].toString().replace(/access_token=/gi, ""); a.log("Token Found", t), yield i.settings.set("anilistToken", t), $(document).ready((function() { $(".page-content .container").html(o.html(`\n <div style="text-align: center; margin-top: 50px; background-color: white; border: 1px solid lightgrey; padding: 10px;">\n <h1>MAL-Sync</h1>\n <br>\n ${i.storage.lang("anilistClass_authentication")}\n </div>\n `)); })); } })); } getMalUrl() { return d(this, void 0, void 0, (function*() { const e = t.urlPart(this.url, 3); if ("anime" === e || "manga" === e) { const n = t.urlPart(this.url, 4); return r.a(Number(n), e).then(n => n ? `https://myanimelist.net/${e}/${n}/${t.urlPart(this.url, 5)}` : ""); } return ""; })); } malToKiss() { $(document).ready(() => { a.log("malToKiss"), $(".mal_links").remove(); const e = $("h1").first().clone().children().remove().end().text().trim(); Object(c.a)(this.page.type, this.page.apiCacheKey, e).then(e => { let n = ""; e.forEach(e => { let i = ""; e.links.forEach(t => { i += `\n <div class="mal_links" style="margin-top: 5px;">\n <a target="_blank" href="${t.url}">\n ${t.name}\n </a>\n </div>`; }), n += `\n <div id="${e.name}Links" class="mal_links" style="\n background: rgb(var(--color-foreground));\n border-radius: 3px;\n display: block;\n padding: 8px 12px;\n width: 100%;\n margin-bottom: 16px;\n font-size: 1.2rem;\n\n ">\n <img src="${t.favicon(e.domain)}">\n <span style="font-weight: 500; line-height: 16px; vertical-align: middle;">${e.name}</span>\n <span title="${e.name}" class="remove-mal-sync" style="float: right; cursor: pointer;">x</span>\n ${i}\n </div>`; }), $(".mal_links").remove(), $(".sidebar .data").before(o.html(n)), $(".remove-mal-sync").click((function() { const t = $(this).attr("title"); Object(c.c)(String(t)), window.location.reload(); })); }); }); } streamingUI() { return d(this, void 0, void 0, (function*() { a.log("Streaming UI"), $("#mal-sync-stream-div").remove(), $(".malsync-rel-link").remove(); const e = new s.a(this.url); yield e.update(), this.pageRelation(e); const n = e.getStreamingUrl(); n && $(document).ready((function() { return d(this, void 0, void 0, (function*() { $("#mal-sync-stream-div").remove(), $("h1").first().append(o.html(`\n <div class="data title progress" id="mal-sync-stream-div" style="margin-top: -2px; display: inline-block; position: relative; top: 2px;">\n <a class="mal-sync-stream" title="${n ? n.split("/")[2] : ""}" target="_blank" style="margin: 0 0;" href="${n}">\n <img src="${t.favicon(n ? n.split("/")[2] : "")}">\n </a>\n </div>`)); const r = e.getResumeWatching(), s = e.getContinueWatching(); a.log("Resume", r, "Continue", s), s && s.ep === e.getEpisode() + 1 ? $("#mal-sync-stream-div").append(o.html(`<a class="nextStream" title="${i.storage.lang("overview_Continue_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${s.url}">\n <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : r && r.ep === e.getEpisode() && $("#mal-sync-stream-div").append(o.html(`<a class="resumeStream" title="${i.storage.lang("overview_Resume_Episode_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${r.url}">\n <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`)); })); })); })); } pageRelation(t) { return d(this, void 0, void 0, (function*() { yield t.fillRelations(), $(".malsync-rel-link").remove(), $("h1").first().append(o.html('<div class="malsync-rel-link" style="float: right;"></div>')), t.getPageRelations().forEach(t => { $(".malsync-rel-link").append(o.html(`\n <a href="${t.link}" target="_blank" title="${t.name}" class="link">\n <img src="${t.icon}" width="16" width="16">\n </a>\n\n `)); }); })); } bookmarks() { const e = this; $(document).ready(() => { if ($(".list-entries .entry, .list-entries .entry-card").not(".malSyncDone").each((t, e) => { $(e).addClass("malSyncDone"); let n = $(e).find(".notes").first().attr("label"); void 0 !== n && (n = n.replace(/(malSync|last)::[\d\D]+::/, "").replace(/#,/, ""), "" === n.trim() || "," === n.trim() ? $(e).find(".notes").first().css("visibility", "hidden") : $(e).find(".notes").first().attr("label", n)); }), "anime" === this.page.type) { if (null !== this.tempAnimelist) return void r(this.tempAnimelist); } else if (null !== this.tempMangalist) return void r(this.tempMangalist); const n = new l.a(1, this.page.type); function r(n) { a.log(n), $.each(n, (n, r) => d(this, void 0, void 0, (function*() { const n = $(`.entry:not(.malSyncDone2) a[href^="/${e.page.type}/${r.uid}/"], .entry-card:not(.malSyncDone2) a[href^="/${e.page.type}/${r.uid}/"]`); if (n.length) { const e = n.first().parent(); e.parent().addClass("malSyncDone2"), r.options && r.options.u && (a.log(r.options.u), e.find("a").first().after(o.html(`\n <a class="mal-sync-stream mal-rem" title="${r.options.u.split("/")[2]}" target="_blank" style="margin: 0 0; max-height: 14px;" href="${r.options.u}">\n <img src="${t.favicon(r.options.u.split("/")[2])}">\n </a>`))); const s = r.options.r, l = r.options.c, c = r.watchedEp; a.log("Resume", s, "Continue", l), l && l.ep === c + 1 ? e.prepend(o.html(`<a class="nextStream mal-rem" title="Continue watching" target="_blank" style="margin: -2px 5px 0 0; color: #BABABA;" href="${l.url}">\n <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : s && s.ep === c && e.prepend(o.html(`<a class="resumeStream mal-rem" title="Resume watching" target="_blank" style="margin: -2px 5px 0 0; color: #BABABA;" href="${s.url}">\n <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`)), yield r.fn.initProgress(), r.fn.progress && r.fn.progress.isAiring() && r.fn.progress.getCurrentEpisode() && e.parent().find(".progress").first().append(o.html(` <span class="mal-sync-ep-pre" title="${r.fn.progress.getAutoText()}">[<span style="border-bottom: 1px dotted ${r.fn.progress.getColor()};">${r.fn.progress.getCurrentEpisode()}</span>]</span>`)); } }))); } n.getCompleteList().then(t => { "anime" === this.page.type ? this.tempAnimelist = t : this.tempMangalist = t, r(t); }).catch(t => { a.error(t), n.flashmError(t); }); }); } } }).call(this, n(1), n(0), n(4), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return d; })); var r = n(36), s = n(34), l = n(9), c = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class d { constructor(e) { this.url = e, this.page = null, this.same = !1, this.tempAnimelist = null, this.tempMangalist = null; let a = window.location.href.split("/").slice(0, 5).join("/"); t.changeDetect(() => { if (this.same = !1, null !== this.page && "detail" === this.page.page) { const t = window.location.href.split("/").slice(0, 5).join("/"); t === a && (this.same = !0), a = t; } this.url = window.location.href, this.init(); }, () => null !== this.page && "bookmarks" === this.page.page && $(".library-content").length ? $(".library-content").first().height() : window.location.href), $(document).ready(() => { t.waitUntilTrue((function() { return $(".global-container").length; }), () => { this.init(); }); }), i.storage.addStyle(n(293).toString()); } init() { return c(this, void 0, void 0, (function*() { this.url.indexOf("?mal-sync=authentication") > -1 && this.authentication(); const e = t.urlPart(this.url, 3); if ("anime" === e || "manga" === e) { if (this.same && void 0 !== this.page && "undefined" !== this.page.malObj) return this.streamingUI(), this.malToKiss(), void this.pageRelation(); const t = new r.a(this.url); yield t.update(), this.page = { page: "detail", id: t.getIds().kitsu.id, malid: t.getIds().mal, apiCacheKey: t.getApiCacheKey(), type: e, malObj: t }, a.log("page", this.page), this.streamingUI(), this.malToKiss(), this.pageRelation(); } if ("library" === t.urlPart(this.url, 5)) { let e = "anime"; "manga" === t.urlParam(this.url, "media") && (e = "manga"), this.page = { page: "bookmarks", type: e }, a.log("page", this.page), this.bookmarks(); } })); } authentication() { try { t.checkDoubleExecution(); } catch (t) { a.error(t); } $(document).ready((function() { $("body").after(o.html(`\n <div id="mal-sync-login" style="text-align: center; margin-top: 50px; background-color: white; border: 1px solid lightgrey; padding: 10px; max-width: 600px; margin-left: auto; margin-right: auto;">\n <h1>MAL-Sync</h1>\n <br>\n <p style="text-align: left;">\n ${i.storage.lang("kitsuClass_authentication_text")}\n </p>\n <div class="modal-content">\n <input type="email" id="email" placeholder="Email" required>\n <input type="password" id="pass" name="password" placeholder="${i.storage.lang("kitsuClass_authentication_Password")}" required>\n </div>\n <div class="form-cta" style="margin-top: 30px;">\n <button class="btn button--primary" type="submit" id="mal-sync-button">\n ${i.storage.lang("kitsuClass_authentication_Login")}\n </button>\n </div>\n </div>\n `)), $("#mal-sync-login #mal-sync-button").click((function() { $("#mal-sync-login #mal-sync-button").attr("disabled", "disabled"), $.ajax({ type: "POST", url: "https://kitsu.io/api/oauth/token", data: `grant_type=password&username=${encodeURIComponent(String($("#mal-sync-login #email").val()))}&password=${encodeURIComponent(String($("#mal-sync-login #pass").val()))}`, success(t) { return c(this, void 0, void 0, (function*() { const e = t.access_token; e && (a.info("token", e), yield i.settings.set("kitsuToken", e), $("#mal-sync-login").html(o.html("<h1>MAL-Sync</h1><br>" + i.storage.lang("kitsuClass_authentication_Success")))); })); }, error(e) { try { if (a.error(e), $("#mal-sync-login #mal-sync-button").prop("disabled", !1), "invalid_grant" === e.responseJSON.error) return void t.flashm(i.storage.lang("kitsuClass_authentication_Wrong")); t.flashm(e.responseJSON.error_description); } catch (n) { a.error(n), t.flashm(e.responseText); } } }); })), t.waitUntilTrue((function() { return $("body h1").length; }), () => { $("body h1").remove(); }); })); } getMalUrl() { return c(this, void 0, void 0, (function*() { return null !== this.page && "detail" === this.page.page && this.page.malid ? `https://myanimelist.net/${this.page.type}/${this.page.malid}/${t.urlPart(this.url, 5)}` : ""; })); } streamingUI() { return c(this, void 0, void 0, (function*() { a.log("Streaming UI"), $("#mal-sync-stream-div").remove(); const {malObj: e} = this.page, n = e.getStreamingUrl(); n && $(document).ready((function() { return c(this, void 0, void 0, (function*() { $(".media--title h3").first().after(o.html(`\n <div class="data title progress" id="mal-sync-stream-div" style="display: inline-block; position: relative; top: -4px; display: inline;">\n <a class="mal-sync-stream" title="${n.split("/")[2]}" target="_blank" style="margin: 0 0;" href="${n}">\n <img src="${t.favicon(n.split("/")[2])}">\n </a>\n </div>`)); const r = e.getResumeWatching(), s = e.getContinueWatching(); a.log("Resume", r, "Continue", s), s && s.ep === e.getEpisode() + 1 ? $("#mal-sync-stream-div").append(o.html(`<a class="nextStream" title="${i.storage.lang("overview_Continue_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${s.url}">\n <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : r && r.ep === e.getEpisode() && $("#mal-sync-stream-div").append(o.html(`<a class="resumeStream" title="${i.storage.lang("overview_Resume_Episode_" + e.getType())}" target="_blank" style="margin: 0 5px 0 0; color: #BABABA;" href="${r.url}">\n <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`)); })); })); })); } malToKiss() { $(document).ready(() => { a.log("malToKiss"), $(".mal_links").remove(); const e = $('meta[property="og:title"]').attr("content"); Object(l.a)(this.page.type, this.page.apiCacheKey, e).then(e => { let n = ""; e.forEach(e => { let i = ""; e.links.forEach(t => { i += `\n <div class="mal_links" style="margin-top: 5px;">\n <a target="_blank" href="${t.url}">\n ${t.name}\n </a>\n </div>`; }), n += `\n <div id="${e.name}Links" class="mal_links library-state with-header" style="\n background: white;\n margin-bottom: 15px;\n border-radius: 3px;\n display: block;\n padding: 8px 12px;\n width: 100%;\n font-size: 12px;\n\n ">\n <img src="${t.favicon(e.domain)}">\n <span style="font-weight: 500; line-height: 16px; vertical-align: middle;">${e.name}</span>\n <span title="${e.name}" class="remove-mal-sync" style="float: right; cursor: pointer;">x</span>\n ${i}\n </div>`; }), $("#mal-sync-search-links").length ? $("#mal-sync-search-links").first().after(o.html(n)) : $(".media-summary").first().after(o.html(n)), $(".remove-mal-sync").click((function() { const t = $(this).attr("title"); Object(l.c)(String(t)), window.location.reload(); })); }); }); } pageRelation() { return c(this, void 0, void 0, (function*() { $(".malsync-rel-link").remove(), yield this.page.malObj.fillRelations(), $(".media-summary h5").first().append(o.html('<div class="malsync-rel-link" style="display: inline-block; margin: 0 5px; vertical-align: bottom;"></div>')), this.page.malObj.getPageRelations().forEach(t => { $(".malsync-rel-link").append(o.html(`\n <a href="${t.link}" target="_blank" title="${t.name}" class="link">\n <img src="${t.icon}" width="16" height="16">\n </a>\n\n `)); }); })); } bookmarks() { const e = this; $(document).ready(() => { if ("anime" === this.page.type) { if (null !== this.tempAnimelist) return void r(this.tempAnimelist); } else if (null !== this.tempMangalist) return void r(this.tempMangalist); const n = new s.a(1, this.page.type); function r(n) { let r = !0; $(".library-list tbody tr").length && (r = !1), a.log(n), $.each(n, (n, s) => c(this, void 0, void 0, (function*() { if (a.log("en", s), void 0 !== s.malId && null !== s.malId && s.malId) { const n = $(`.library-grid-popover:not(.malSyncDone2) a[href^="/${e.page.type}/${s.kitsuSlug}"], .library-list tbody tr:not(.malSyncDone2) a[href^="/${e.page.type}/${s.kitsuSlug}"]`).first().parent().parent().parent(); a.log(n), n.addClass("malSyncDone2"), s.options && s.options.u && (a.log(s.options.u), r ? n.prepend(o.html(`\n <a class="mal-sync-stream mal-rem" title="${s.options.u.split("/")[2]}" target="_blank" style="margin: 0 0; z-index: 22; position:absolute; left: 0px; top: 0px; background-color: #ffffff5c; padding: 0 5px 3px 5px;" href="${s.options.u}">\n <img src="${t.favicon(s.options.u.split("/")[2])}">\n </a>`)) : n.find(".title-wrapper").append(o.html(`\n <a class="mal-sync-stream mal-rem" title="${s.options.u.split("/")[2]}" target="_blank" style="padding: 0 5px;" href="${s.options.u}">\n <img src="${t.favicon(s.options.u.split("/")[2])}">\n </a>`))); const l = s.options.r, c = s.options.c, d = s.watchedEp; a.log("Resume", l, "Continue", c), c && c.ep === d + 1 ? r ? n.prepend(o.html(`<a class="nextStream mal-rem" title="Continue watching" target="_blank" style="color: #BABABA; z-index: 22; position:absolute; top: 0px; left: 26px; background-color: #ffffff5c; padding: 0 5px 3px 5px;" href="${c.url}">\n <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : n.find(".title-wrapper").append(o.html(`<a class="nextStream mal-rem" title="Continue watching" target="_blank" style="padding: 0;" href="${c.url}">\n <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : l && l.ep === d && (r ? n.prepend(o.html(`<a class="resumeStream mal-rem" title="Resume watching" target="_blank" style="color: #BABABA; z-index: 22; position:absolute; top: 0px; left: 26px; background-color: #ffffff5c; padding: 0 5px 3px 5px;" href="${l.url}">\n <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`)) : n.find(".title-wrapper").append(o.html(`<a class="resumeStream mal-rem" title="Resume watching" target="_blank" style="padding: 0;" href="${l.url}">\n <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`))), yield s.fn.initProgress(), s.fn.progress && s.fn.progress.isAiring() && s.fn.progress.getCurrentEpisode() && n.parent().find(".entry-unit, .progress-cell > span:last-of-type").first().append(o.html(` <span class="mal-sync-ep-pre" title="${s.fn.progress.getAutoText()}">[<span style="border-bottom: 1px dotted ${s.fn.progress.getColor()};">${s.fn.progress.getCurrentEpisode()}</span>]</span>`)); } }))); } n.getCompleteList().then(t => { "anime" === this.page.type ? this.tempAnimelist = t : this.tempMangalist = t, r(t); }).catch(t => { a.error(t), n.flashmError(t); }); }); } } }).call(this, n(1), n(0), n(4), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return p; })); var r = n(27), s = n(37), l = n(29), c = n(87), d = n(256), m = n(9), u = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class p { constructor(e) { this.url = e, this.page = null, t.urlChangeDetect(() => { clearInterval(this.interval), this.interval = t.waitUntilTrue((function() { return !($("#global_div").length && 1 !== parseInt($("#global_div").css("opacity")) || $("#tvMainTable").length && 1 !== parseInt($("#tvMainTable").css("opacity"))); }), () => { this.url = window.location.href, this.init(); }, 1e3); }), i.storage.addStyle(n(297).toString()), $(document).ready(() => { this.init(); }); } init() { return u(this, void 0, void 0, (function*() { a.log(this.url), clearInterval(this.interval2), this.url.indexOf("apps/chrome/mal-sync") > -1 && this.authentication(); const e = t.urlPart(this.url, 3), n = t.urlPart(this.url, 4); if (("anime" === e || "manga" === e) && !Number.isNaN(Number(n))) { const t = new s.a(this.url); return yield t.update(), this.page = { page: "detail", id: t.getIds().simkl, malid: t.getIds().mal, type: e, malObj: t }, a.log("page", this.page), $("#malkiss").length || $(".SimklTVAboutBlockTitle, .simkltvdetailmobilesummaryinfo").after(o.html('<div id="malkiss"></div>')), this.malkiss && this.malkiss.$destroy(), this.malkiss = new r.a({ el: "#malkiss", render: t => t(d.a) }).$children[0], this.streamingUI(), this.malToKiss(), void this.pageRelation(); } if ("anime" !== e && "manga" !== e || "all" !== n || (this.page = { page: "bookmarks", type: e }, this.bookmarksAnime()), "anime" === n || "manga" === n) { "watching" === t.urlPart(this.url, 5) && (this.page = { page: "bookmarks", type: n }, this.bookmarksProfile()); } })); } getMalUrl() { return u(this, void 0, void 0, (function*() { const e = t.urlPart(this.url, 3); if ("anime" === e || "manga" === e) { const n = t.urlPart(this.url, 4); return c.c(n).then(n => n ? `https://myanimelist.net/${e}/${n}/${t.urlPart(this.url, 5)}` : ""); } return ""; })); } authentication() { try { t.checkDoubleExecution(); } catch (t) { a.error(t); } try { const n = t.urlParam(this.url, "code"); if (!n) throw "No code found!"; c.a("https://api.simkl.com/oauth/token", JSON.stringify({ code: n, client_id: c.b, client_secret: "3f883e8e6cdd60d2d5e765aaf0612953f743dc77f44c422af98b38e083cf038b", redirect_uri: "https://simkl.com/apps/chrome/mal-sync/connected/", grant_type: "authorization_code" }), !1, "POST").then(t => { if (void 0 !== t.error || void 0 === t.access_token) throw t; return i.settings.set("simklToken", t.access_token); }).then(t => { $(".firstStage").addClass("HideImportant"), $(".secondStage").removeClass("HideImportant"), $(".secondStage .SimklTVKodiheaddesc").css("text-align", "center"); }).catch(t => { e(t); }); } catch (t) { e(t); } function e(t) { a.error(t), $(".firstStage .SimklTVKodititletext, .secondStage .SimklTVKodititletext").text("Something went wrong"); } } streamingUI() { return u(this, void 0, void 0, (function*() { a.log("Streaming UI"); const {malObj: t} = this.page, e = t.getStreamingUrl(); if (void 0 !== e) { this.malkiss.streamUrl = e; const n = t.getResumeWatching(), i = t.getContinueWatching(); a.log("Resume", n, "Continue", i), i && i.ep === t.getEpisode() + 1 ? this.malkiss.continueUrl = i.url : n && n.ep === t.getEpisode() && (this.malkiss.resumeUrl = n.url); } else this.malkiss.streamUrl = null; })); } malToKiss() { a.log("malToKiss"); const t = $("h1").first().text().trim(); Object(m.a)(this.page.type, this.page.malid, t).then(t => { this.malkiss.links = t; }); } pageRelation() { return u(this, void 0, void 0, (function*() { yield this.page.malObj.fillRelations(), this.malkiss.pageRelation = this.page.malObj.getPageRelations(); })); } bookmarksProfile() { const e = new l.a(1, this.page.type); e.getCompleteList().then(e => { $.each(e, (e, n) => u(this, void 0, void 0, (function*() { a.log("en", n); const e = $(`a[href^="/${this.page.type}/${n.uid}"]`); if (e && !e.hasClass("malSyncDone2") && (e.addClass("malSyncDone2"), n.options && n.options.u)) { a.log(n.options.u), e.after(o.html(`\n <a class="mal-sync-stream mal-rem" onclick="event.stopPropagation();" title="${n.options.u.split("/")[2]}" target="_blank" style="display: inline-block; height: 0; position: relative; top: -11px; margin-left: 5px;" href="${n.options.u}">\n <img src="${t.favicon(n.options.u.split("/")[2])}">\n </a>`)); const r = n.options.r, s = n.options.c, l = n.watchedEp; a.log("Resume", r, "Continue", s), s && s.ep === l + 1 ? e.parent().append(o.html(`<a class="nextStream mal-rem" onclick="event.stopPropagation();" title="Continue watching" target="_blank" style="display: inline-block; height: 0; position: relative; top: -11px; margin-left: 5px; color: #BABABA;" href="${s.url}">\n <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : r && r.ep === l && e.parent().append(o.html(`<a class="resumeStream mal-rem" onclick="event.stopPropagation();" title="Resume watching" target="_blank" style="display: inline-block; height: 0; position: relative; top: -11px; margin-left: 5px; color: #BABABA;" href="${r.url}">\n <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`)); } }))); }).catch(t => { a.error(t), e.flashmError(t); }); } bookmarksAnime() { const e = new l.a(1, this.page.type); e.getCompleteList().then(e => { function n() { a.info("list"), $.each(e, (e, n) => u(this, void 0, void 0, (function*() { const e = $("#c" + n.uid); if (e && e.length && !e.hasClass("malSyncDone2") && (e.addClass("malSyncDone2").css("position", "relative"), n.options && n.options.u)) { a.log(n.options.u), e.append(o.html(`\n <a class="mal-sync-stream mal-rem" onclick="event.stopPropagation();" title="${n.options.u.split("/")[2]}" target="_blank" style="position: absolute; z-index: 10; right: 0; top: 0; background-color: #00000057; padding: 5px;" href="${n.options.u}">\n <img src="${t.favicon(n.options.u.split("/")[2])}">\n </a>`)); const r = n.options.r, s = n.options.c, l = n.watchedEp; a.log("Resume", r, "Continue", s), s && s.ep === l + 1 ? e.append(o.html(`<a class="nextStream mal-rem" onclick="event.stopPropagation();" title="Continue watching" target="_blank" style="position: absolute; z-index: 10; right: 0; top: 26px; background-color: #00000057; padding: 5px;" href="${s.url}">\n <img src="${i.storage.assetUrl("double-arrow-16px.png")}" width="16" height="16">\n </a>`)) : r && r.ep === l && e.append(o.html(`<a class="resumeStream mal-rem" onclick="event.stopPropagation();" title="Resume watching" target="_blank" style="position: absolute; z-index: 10; right: 0; top: 26px; background-color: #00000057; padding: 5px;" href="${r.url}">\n <img src="${i.storage.assetUrl("arrow-16px.png")}" width="16" height="16">\n </a>`)); } }))); } n(), this.interval2 = t.changeDetect(() => { n(); }, () => $("#tv_best_left_addContainer li").length + $("#tv_best_left_addContainer > div").height()); }).catch(t => { a.error(t), e.flashmError(t); }); } } }).call(this, n(1), n(0), n(4), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return s; })); var r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function s() { return r(this, void 0, void 0, (function*() { const e = yield t.storage.get("timestampUpdate/firebaseNotification"); (void 0 === e || i.$.now() - e > 6e5) && (yield function e() { return r(this, void 0, void 0, (function*() { a.log("checkNotifications"); const n = yield t.request.xhr("GET", "https://kissanimelist.firebaseio.com/Data2/Notification/Current.json"), r = parseInt(JSON.parse(n.responseText)); Number.isNaN(r) && a.error("Could not read current Notification number"), a.log("Current Notification", r); const s = parseInt(yield t.storage.get("firebaseNotification")), l = s + 1; if (void 0 === s || Number.isNaN(s)) return void t.storage.set("firebaseNotification", r); if (r < l) return void a.log("No new notifications"); const c = `https://kissanimelist.firebaseio.com/Data2/Notification/list/N${l}.json`, d = yield t.request.xhr("GET", c); if (!d) return; const m = JSON.parse(d.responseText); if (!m) return a.info("Notification empty", d.responseText), void t.storage.set("firebaseNotification", l).then((function() { e(); })); i.$(document).ready((function() { const n = o.flashm(`<div style="text-align: left;">${m}</div><button class="okChangelog" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px;cursor: pointer;">Close</button>`, { permanent: !0, position: "top" }); n.find(".okChangelog").click((function() { n.remove(), t.storage.set("firebaseNotification", l).then((function() { e(); })); })); })); })); }(), t.storage.set("timestampUpdate/firebaseNotification", i.$.now())); })); } }).call(this, n(0), n(2), n(4), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "9anime", domain: "https://9anime.to", database: "9anime", languages: [ "English" ], type: "anime", isSyncPage: t => !0, sync: { getTitle: e => t.$("h1.title").text(), getIdentifier: t => ((t = i.urlPart(t, 4)).indexOf(".") > -1 && (t = t.split(".")[1]), t), getOverviewUrl: e => i.absoluteLink(t.$("ul.episodes > li > a").first().attr("href"), r.domain), getEpisode: e => parseInt(t.$("ul.episodes > li > a.active").attr("data-base")), nextEpUrl(e) { const n = t.$("ul.episodes > li > a.active").parent("li").next().find("a").attr("href"); return n ? i.absoluteLink(n, r.domain) : n; }, uiSelector(e) { t.$("#episodes").after(t.html(`<section>${e}</section>`)); } }, overview: { getTitle: t => "", getIdentifier: t => "", uiSelector(t) {}, list: { offsetHandler: !1, elementsSelector: () => t.$("ul.episodes > li > a"), elementUrl: t => i.absoluteLink(t.attr("href"), r.domain), elementEp: t => Number(t.attr("data-base")) } }, init(e) { a.storage.addStyle(n(299).toString()), i.waitUntilTrue((function() { return t.$("ul.episodes > li").length; }), (function() { o.info("Start check"), e.handlePage(), i.urlChangeDetect((function() { o.info("Check"), e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return r; })); var o = n(28); const r = { name: "Crunchyroll", domain: "https://www.crunchyroll.com", languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ], type: "anime", isSyncPage: e => !(void 0 === e.split("/")[4] || !t.$("#showmedia_video").length), sync: { getTitle(e) { var n; return null !== (n = t.$('link[rel="index"]').first().attr("title")) && void 0 !== n ? n : ""; }, getIdentifier: t => r.sync.getTitle(t), getOverviewUrl(e) { var n; return i.absoluteLink(null !== (n = t.$('link[rel="index"]').first().attr("href")) && void 0 !== n ? n : "", r.domain); }, getEpisode: e => function(e, n) { let a = ""; if (/\d+\.\d+/.test(n)) { const t = n.match(/\d+\.\d+/); t && 0 !== t.length && (a = "episode" + t[0]); } else a = i.urlPart(function(e) { const n = t.$("#home_link, #logo_beta a").first().attr("href"); if ("/" === n) return e; return e.replace(n, ""); }(e), 4) || ""; if (!a) return NaN; const o = a.match(/([e,E][p,P][i,I]?[s,S]?[o,O]?[d,D]?[e,E]?|[f,F][o,O][l,L][g,G]?[e,E])\D?\d+/); if (!o || 0 === o.length) return NaN; const r = o[0].match(/\d+/); return r && 0 !== r.length ? Number(r[0]) : NaN; }(e, t.$("h1.ellipsis").text().replace(t.$("h1.ellipsis > a").text(), "").trim()), nextEpUrl(e) { const n = t.$(".collection-carousel-media-link-current").parent().next().find(".link").attr("href"); return n ? i.absoluteLink(n, r.domain) : n; } }, init(e) { t.$(document).ready((function() { if ($("#content").length) return r.database = o.a.database, r.isSyncPage = o.a.isSyncPage, r.isOverviewPage = o.a.isOverviewPage, r.sync = o.a.sync, r.overview = o.a.overview, r.name = o.a.name, void o.a.init(e); a.storage.addStyle(n(303).toString()), e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return d; })); var o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const {asyncWaitUntilTrue: r, reset: s} = t.getAsyncWaitUntilTrue(() => i.$(".title__desktop").length), l = { id: "", title: "", coverFilename: "", links: { mal: "", kt: "", al: "" } }, c = { id: "", chapter: "", volume: "", translatedLanguage: "" }, d = { name: "Mangadex", domain: "https://www.mangadex.org", database: "Mangadex", languages: [ "Many" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[3] && "chapter" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0, isOverviewPage: t => void 0 !== t.split("/")[3] && "title" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0, getImage() { return o(this, void 0, void 0, (function*() { if (l.coverFilename) return `https://uploads.mangadex.org/covers/${l.id}/${l.coverFilename}`; })); }, sync: { getTitle: t => l.title, getIdentifier: t => l.id, getOverviewUrl: e => t.absoluteLink("/title/" + l.id, d.domain), getEpisode: t => parseInt(c.chapter) || 1, getVolume: t => parseInt(c.volume), getMalUrl(t) { var e, n, i; return (null === (e = l.links) || void 0 === e ? void 0 : e.mal) ? "https://myanimelist.net/manga/" + l.links.mal : "ANILIST" === t && (null === (n = l.links) || void 0 === n ? void 0 : n.al) ? "https://anilist.co/manga/" + l.links.al : !("KITSU" !== t || !(null === (i = l.links) || void 0 === i ? void 0 : i.kt)) && "https://kitsu.io/manga/" + l.links.kt; } }, overview: { getTitle: t => l.title, getIdentifier: t => l.id, uiSelector(t) { i.$("div.title__desktop").first().after(i.html(t)); }, getMalUrl: t => d.sync.getMalUrl(t) }, init(e) { function i() { var n, i, a, u, p; return o(this, void 0, void 0, (function*() { if (s(), !d.isSyncPage(window.location.href) && !d.isOverviewPage(window.location.href)) return; let o = {}; if (d.isSyncPage(window.location.href)) { const e = yield m(`chapter/${t.urlPart(window.location.href, 4)}?includes[]=manga`), n = JSON.parse(e.responseText); c.chapter = n.data.attributes.chapter, c.volume = n.data.attributes.volume, c.translatedLanguage = n.data.attributes.translatedLanguage, o.data = n.relationships.find(t => "manga" === t.type); } if (d.isOverviewPage(window.location.href)) { const e = t.urlPart(window.location.href, 4); if ("random" === e.toLowerCase()) throw "The random page is not supported"; const n = yield m(`manga/${e}?includes[]=cover_art`); o = JSON.parse(n.responseText), yield r(); } l.id = o.data.id; const h = o.data.attributes.title; l.title = null !== (i = null !== (n = h.en) && void 0 !== n ? n : h[o.data.attributes.originalLanguage]) && void 0 !== i ? i : h[Object.keys(h)[0]], l.links = o.data.attributes.links, l.coverFilename = null === (p = null === (u = null === (a = o.relationships) || void 0 === a ? void 0 : a.find(t => "cover_art" === t.type)) || void 0 === u ? void 0 : u.attributes) || void 0 === p ? void 0 : p.fileName, e.handlePage(); })); } a.storage.addStyle(n(305).toString()), t.changeDetect(() => { e.reset(), i(); }, () => "chapter" === t.urlPart(window.location.href, 3).toLowerCase() ? `${t.urlPart(window.location.href, 3)}/${t.urlPart(window.location.href, 4)}` : t.urlStrip(window.location.href)), i(); } }; function m(t) { return a.request.xhr("GET", "https://api.mangadex.org/" + t); } }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "Gogoanime", domain: [ "https://gogoanime.tv", "https://gogoanimes.co", "https://animego.to" ], database: "Gogoanime", languages: [ "English" ], type: "anime", isSyncPage: e => "category" !== t.urlPart(e, 3), sync: { getTitle: t => i.$(".anime-info a").first().text().trim(), getIdentifier: e => t.urlPart(e, 3).split("-episode")[0], getOverviewUrl: t => `${t.split("/").slice(0, 3).join("/")}/category/${r.sync.getIdentifier(t)}`, getEpisode: e => Number(t.urlPart(e, 3).split("episode-")[1]), nextEpUrl(t) { const e = i.$(".anime_video_body_episodes_r a").last().attr("href"); return void 0 !== e ? r.domain + e : ""; } }, overview: { getTitle: t => i.$(".anime_info_body_bg > h1").first().text().trim(), getIdentifier: e => t.urlPart(e, 4), uiSelector(t) { i.$(".anime_info_body").first().prepend(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => i.$("#episode_related a"), elementUrl(e) { const n = e.attr("href"); return n ? t.absoluteLink(n.replace(/^ /, ""), r.domain) : ""; }, elementEp(t) { const e = r.overview.list.elementUrl(t); return r.sync.getEpisode(e); }, paginationNext() { let t = !1, e = !1; return i.$(i.$("#episode_page a").get().reverse()).each((function(n, a) { if (t && !e) return a.click(), void (e = !0); i.$(a).hasClass("active") && (t = !0); })), e; } } }, init(e) { function s() { r.domain = `${window.location.protocol}//${window.location.hostname}`, e.handlePage(), i.$("#episode_page").click((function() { setTimeout((function() { e.handleList(); }), 500); })); } a.storage.addStyle(n(307).toString()), r.isSyncPage(e.url) ? i.$(document).ready((function() { s(); })) : (o.log("noSync"), t.waitUntilTrue((function() { return i.$("#episode_related").length; }), (function() { s(); }))); } }; }).call(this, n(1), n(2), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Branitube", domain: "https://www.branitube.net", languages: [ "Portuguese" ], type: "anime", isSyncPage: t => "video" === t.split("/")[3], sync: { getTitle: e => "anime" !== r() ? `${t.$(".nomeAnime").text()} ${r()}` : t.$(".nomeAnime").text(), getIdentifier: e => `${t.$(".nomeAnime").data("anid")}?${r().replace(/\s/gm, "")}`, getOverviewUrl(e) { const n = o.domain + (t.$("div.buttonEpisodes > a").attr("href") || ""); return "anime" === r() ? n : "ova" === r() ? n + "/ovas" : "special" === r() ? n + "/especiais" : n + "/filmes"; }, getEpisode: e => -1 === r().indexOf("movie") ? Number(t.$(".epInfo").text().replace(/\D+/g, "")) : 1, nextEpUrl: e => -1 === r().indexOf("movie") && t.$(".cplPl").attr("data-npl") && t.$(".cplPl").attr("data-cpl") && t.$(".cplPl").attr("data-npltype") && t.$(".cplPl").attr("data-cpl") === t.$(".cplPl").attr("data-npltype") ? `${o.domain}/video/${t.$(".cplPl").attr("data-npl")}/${e.split("/")[5]}` : "", getMalUrl(e) { let n; return "anime" === r() ? (n = t.$(".nomeAnime").attr("data-anmalid"), n && "0" !== n || (n = t.$(".epInfo").attr("data-epmalid"))) : n = t.$(".epInfo").attr("data-epmalid"), !(!n || "0" === n) && "https://myanimelist.net/anime/" + n; } }, overview: { getTitle: e => "anime" !== r() ? `${t.$("div.animeInfos > ul > li.largeSize").text()} ${r()}` : t.$("div.animeInfos > ul > li.largeSize").text(), getIdentifier: t => `${t.split("/")[4]}?${r()}`, uiSelector(e) { t.$("div.areaEpsList").first().prepend(t.html(`<div class="animeResult" style="margin:8px;"> ${e}</div>`)); }, getMalUrl(e) { let n; return "anime" === r() && (n = t.$("div.animeInfos > ul > li.largeSize").attr("data-malid")), !(!n || "0" === n) && "https://myanimelist.net/anime/" + n; }, list: { offsetHandler: !1, elementsSelector: () => t.$(".areaEpsList > .getTotalShowingEp > .item-ep > div.area-ep"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain), elementEp: t => i.getBaseText(t.find("div.infos-bottom > div.ep-info > div.anime-content").first()).replace(/\D+/g, "") } }, init(e) { a.storage.addStyle(n(309).toString()), t.$(document).ready((function() { void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && "filmes" !== e.url.split("/")[6] && "0" !== t.$("div.areaTypesList.no-padding > ul > li > a.active > span.totalEps").text().replace(/\D+/g, "") && e.handlePage(); })); } }; function r() { let e; return e = "video" === window.location.href.split("/")[3] ? t.$(".epInfo").text().toLowerCase() : t.$("div.areaTypesList.no-padding > ul > li > a.active").text().toLowerCase(), -1 !== e.indexOf("ova") ? "ova" : -1 !== e.indexOf("especial") || -1 !== e.indexOf("especiais") ? "special" : -1 !== e.indexOf("filme") ? "movie " + e.replace(/\D+/g, "").replace(/^0+/gm, "") : "anime"; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "TurkAnime", domain: "https://www.turkanime.net", languages: [ "Turkish" ], type: "anime", isSyncPage: t => "video" === t.split("/")[3], sync: { getTitle: () => t.$(".breadcrumb a").first().text().trim(), getIdentifier: t => o.overview.getIdentifier(o.sync.getOverviewUrl(t)), getOverviewUrl: () => i.absoluteLink(t.$(".breadcrumb a").first().attr("href"), o.domain), getEpisode(t) { const e = o.overview.getIdentifier(o.isSyncPage(window.location.href) ? o.sync.getOverviewUrl("") : window.location.href), n = o.overview.getIdentifier(t).replace(e + "-", "").match(/^(?<episodeNumber>\d+)-bolum(?:-final)?$/i); return (null == n ? void 0 : n.groups) ? Number(n.groups.episodeNumber) : NaN; }, nextEpUrl() { const e = t.$("div.panel-footer a[href^='video']:nth-child(2)").attr("href"); return e ? i.absoluteLink(e, o.domain) : ""; } }, overview: { getTitle: () => t.$("#detayPaylas .panel-title").first().text().trim(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$("#detayPaylas .panel-body").first().prepend(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".list.menum > li"), elementUrl(t) { const e = t.find("a").last().attr("href"); return e ? i.absoluteLink(e.replace(/^\/\//, "https://"), o.domain) : ""; }, elementEp(t) { const e = o.overview.list.elementUrl(t); return o.sync.getEpisode(e); } } }, init(e) { a.storage.addStyle(n(311).toString()), t.$(() => { i.waitUntilTrue(() => document.querySelector(".list.menum"), () => e.handlePage()); }); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "Twistmoe", domain: "https://twist.moe", database: "Twistmoe", languages: [ "English" ], type: "anime", isSyncPage: t => !0, sync: { getTitle: e => t.$(".series-title").text().trim(), getIdentifier: t => i.urlPart(t, 4) || "", getOverviewUrl: t => `${r.domain}/a/${r.sync.getIdentifier(t)}/1`, getEpisode(t) { const e = i.urlPart(t, 5); return e ? parseInt(e) : NaN; }, nextEpUrl: e => i.absoluteLink(t.$(".episode-list .current").first().parent().next().find("a").attr("href"), r.domain), uiSelector(e) { t.$(".information").first().after(t.html(e)); } }, overview: { getTitle: t => "", getIdentifier: t => "", uiSelector: t => "", list: { offsetHandler: !1, elementsSelector: () => t.$(".episode-list li"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), r.domain), elementEp: t => r.sync.getEpisode(r.overview.list.elementUrl(t)) } }, init(e) { const r = () => { if (!$(".information .series-title").text().trim()) return; i.urlPart(e.url, 3) ? e.handlePage() : a.log("Not an anime page!"); }; o.storage.addStyle(n(313).toString()), t.$(document).ready((function() { r(), i.changeDetect(() => { e.reset(), r(); }, () => $(".information").text()); })); } }; }).call(this, n(2), n(1), n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return b; })); var r = n(12), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const l = new r.a; let c; function d() { return s(this, void 0, void 0, (function*() { return t.storage.get("emby_Api_Key"); })); } function m(e) { return s(this, void 0, void 0, (function*() { return t.storage.set("emby_Api_Key", e); })); } function u() { return s(this, void 0, void 0, (function*() { return t.storage.get("emby_Base"); })); } function p(e) { return s(this, void 0, void 0, (function*() { return t.storage.set("emby_Base", e); })); } function h(e) { return s(this, void 0, void 0, (function*() { const n = $("video"); if (n.length) { $("html").addClass("miniMAL-hide"); const o = n.attr("src"); i.log(o); let r = "", l = "", m = ""; o && (/blob:/i.test(o) ? (m = yield u(), r = yield function() { return s(this, void 0, void 0, (function*() { return new Promise((t, e) => { setTimeout(() => { t(); }, 1e4); }).then(() => v("/Sessions").then(t => { i.error(t); const e = JSON.parse(t.responseText); i.log(e); for (let t = 0; t < e.length; t++) { const n = e[t]; if (void 0 !== n.NowPlayingItem) return i.log(n.NowPlayingItem), n.NowPlayingItem.Id; } return ""; })); })); }(), l = yield d()) : (m = o.split("/").splice(0, 4).join("/"), r = a.urlPart(o, 5), l = yield d(), p(m))); let h = `${m}/Items?ids=${r}&api_key=${l}`; i.log("reqUrl", h, "base", m, "apiKey", l), t.request.xhr("GET", h).then(e => { const n = JSON.parse(e.responseText); return c = n.Items[0], h = `${m}/Genres?Ids=${c.SeriesId}&api_key=${l}`, i.log(n), t.request.xhr("GET", h); }).then(t => { const n = JSON.parse(t.responseText); i.log("genres", n); for (let t = 0; t < n.Items.length; t++) { if ("Anime" === n.Items[t].Name) { i.info("Anime detected"), e.url = `${window.location.origin}/#!/itemdetails.html?id=${r}`, e.handlePage(e.url), $("html").removeClass("miniMAL-hide"); break; } } }); } })); } function g(t) { return s(this, void 0, void 0, (function*() { if ($("html").addClass("miniMAL-hide"), -1 !== window.location.href.indexOf("id=")) { let e = "/Items?ids=" + a.urlParam(window.location.href, "id"); v(e).then(n => { const a = JSON.parse(n.responseText); switch (a.Items[0].Type) { case "Season": i.log("Season", a), c = a.Items[0], e = "/Genres?Ids=" + c.SeriesId, v(e).then(e => { const n = JSON.parse(e.responseText); i.log("genres", n); for (let e = 0; e < n.Items.length; e++) { if ("Anime" === n.Items[e].Name) { i.info("Anime detected"), t.handlePage(), $("html").removeClass("miniMAL-hide"); break; } } }); break; case "Series": i.log("Series", a); break; default: i.log("Not recognized", a); } }); } })); } function f(t = 0) { return s(this, void 0, void 0, (function*() { let e = yield u(); return void 0 !== e && "" !== e || (i.info("No base"), e = yield function() { return s(this, void 0, void 0, (function*() { return new Promise((t, e) => { a.waitUntilTrue((function() { return o.$("*[data-url]").length || o.$(".view:not(.hide) .cardImageContainer").first().css("background-image") && "none" !== o.$(".view:not(.hide) .cardImageContainer").first().css("background-image"); }), (function() { let e = o.$("*[data-url]").first().attr("data-url") || ""; e || (e = o.$(".view:not(.hide) .cardImageContainer").first().css("background-image").replace('url("', "").replace('")', "")); const n = e.split("/").splice(0, 4).join("/"); i.log("Base Found", n), t(n); })); }); })); }()), p(e), v("/System/Info", null, e).then(e => s(this, void 0, void 0, (function*() { if (200 !== e.status) { if (i.error("Not Authenticated"), p(""), t < 1) try { const e = yield function() { return s(this, void 0, void 0, (function*() { return new Promise((t, e) => { l.addProxy(n => s(this, void 0, void 0, (function*() { const n = l.getCaptureVariable("ApiClient"); if (i.m("apiClient").log(n), n && n._serverInfo && n._serverInfo.RemoteAddress && n._serverInfo.AccessToken) { const e = yield u(); return void 0 !== e && "" !== e || p(n._serverInfo.RemoteAddress + "/emby"), m(n._serverInfo.AccessToken), void t(!0); } e(); }))); }); })); }(); if (t++, e) return f(t); } catch (t) { i.error("Could not get ApiClient", t); } throw "Not Authenticated [Emby]"; } return !0; }))); })); } function v(e, n = null, a = null) { return s(this, void 0, void 0, (function*() { let o; return null === n && (n = yield d()), null === a && (a = yield u()), o = -1 !== e.indexOf("?") ? "&" : "?", e = `${a + e + o}api_key=${n}`, i.log("Api Call", e), t.request.xhr("GET", e); })); } l.addCaptureVariable("ApiClient", '\n if (window.hasOwnProperty("ApiClient")) {\n return ApiClient;\n } else {\n return undefined;\n }\n '); const b = { name: "Emby", domain: "http://app.emby.media", languages: [ "Many" ], type: "anime", isSyncPage: t => "Episode" === c.Type, sync: { getTitle: t => c.SeriesName + (c.ParentIndexNumber > 1 ? " Season " + c.ParentIndexNumber : ""), getIdentifier: t => void 0 !== c.SeasonId ? c.SeasonId : void 0 !== c.SeriesId ? c.SeriesId : c.Id, getOverviewUrl: t => `${b.domain}/#!/itemdetails.html?id=${b.sync.getIdentifier(t)}`, getEpisode: t => c.IndexNumber }, overview: { getTitle: t => c.SeriesName + (c.IndexNumber > 1 ? " Season " + c.IndexNumber : ""), getIdentifier: t => c.Id, uiSelector(t) { o.$(".page:not(.hide) .nameContainer").first().append(o.html(t)); } }, init(e) { t.storage.addStyle(n(315).toString()), f().catch(() => (i.info("Not Authenticated"), function e() { return s(this, void 0, void 0, (function*() { return new Promise((n, r) => { const l = a.flashm(`<p>${t.storage.lang("Emby_Authenticate")}</p>\n <p><input id="MS-ApiKey" type="text" placeholder="Please enter the Api Key here" style="width: 100%;"></p>\n <div style="display: flex; justify-content: space-around;">\n <button class="Yes" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px; cursor:pointer;">OK</button>\n <button class="Cancel" style="background-color: transparent; border: none; color: rgb(255,64,129);margin-top: 10px; cursor:pointer;">CANCEL</button>\n </div>\n `, { position: "bottom", permanent: !0, type: "getApi" }); l.find(".Yes").click((function(t) { const r = o.$("#MS-ApiKey").val(); i.info("api", r), m(r), o.$(t.target).parentsUntil(".flash").remove(), f().then(() => { n(!0); }).catch(() => s(this, void 0, void 0, (function*() { a.flashm("Could not Authenticate"), yield e(), n(!0); }))); })), l.find(".Cancel").click((function(t) { o.$(t.target).parentsUntil(".flash").remove(), r(); })); }); })); }())).then(() => { i.info("Authenticated"), a.changeDetect(() => { e.reset(), h(e); }, () => { const t = $("video").first().attr("src"); return void 0 === t ? "NaN" : t; }), a.urlChangeDetect((function() { -1 === window.location.href.indexOf("video") && -1 === window.location.href.indexOf("#dlg") && (e.reset(), g(e)); })), o.$(document).ready((function() { a.waitUntilTrue((function() { return o.$(".page").length; }), (function() { g(e); })); })), document.addEventListener("fullscreenchange", (function() { window.fullScreen || window.innerWidth === window.screen.width && window.innerHeight === window.screen.height ? $("html").addClass("miniMAL-Fullscreen") : $("html").removeClass("miniMAL-Fullscreen"); })); }); } }; }).call(this, n(0), n(4), n(1), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return p; })); var r = n(12), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let l; const c = new r.a; c.addCaptureVariable("auth", '\n if (window.hasOwnProperty("localStorage")) {\n return {\n apiKey: window.localStorage.myPlexAccessToken,\n users: window.localStorage.users\n }\n } else {\n return undefined;\n }\n '); const d = { apiKey: null, serverApiKey: null, base: null }; let m; function u(e) { return s(this, void 0, void 0, (function*() { window.clearInterval(m), e.reset(), $("html").addClass("miniMAL-hide"); let n = window.location.href; $('[class*="MetadataPosterTitle-isSecondary"] [data-qa-id="metadataTitleLink"]').attr("href") && (n = $('[class*="MetadataPosterTitle-isSecondary"] [data-qa-id="metadataTitleLink"]').attr("href")); const r = String(t.urlParam(n, "key")); r && -1 !== r.indexOf("metadata") && function t(e) { return s(this, void 0, void 0, (function*() { let n; d.apiKey && d.base || (yield function() { return s(this, void 0, void 0, (function*() { const t = i.m("auth"); return t.log("Start"), new Promise((e, n) => { c.addProxy(i => s(this, void 0, void 0, (function*() { try { const n = c.getCaptureVariable("auth"); if (!n) throw "authInfo not found"; if (!n.users) throw "users not found"; const i = JSON.parse(n.users); if (!n.apiKey) { if (i && i.users && i.users.length && (!i.users[0].servers.length || void 0 === i.users[0].servers[0].accessToken)) return t.log("Switching to no account mode"), d.apiKey = null, d.serverApiKey = null, d.base = window.location.origin, void e(""); throw "apiKey not found"; } d.apiKey = n.apiKey; const a = i.users.find(t => t.authToken === d.apiKey); if (!a) throw "User not found"; t.log("User found", a.id); const r = a.lastPrimaryServerID; t.log("Server", r); const s = a.servers.find(t => t.machineIdentifier === r); if (!s) throw "Server not found"; if (d.serverApiKey = s.accessToken, t.log("Connections", s.connections), !s.connections.length) throw "No connection found"; let l = s.connections[0]; if (s.connections.length > 1) for (let e = 0; e < s.connections.length; e += 1) { const n = s.connections[e].uri; t.log("Trying " + n); try { if (200 !== (yield o.request.xhr("GET", { url: `${n}/library/sections?X-Plex-Token=${d.apiKey}`, headers: { Accept: "application/json" } })).status) throw "Not reached"; t.log("Reached " + n), l = s.connections[e]; break; } catch (e) { t.log("Ignoring unreachable server url " + n); } } d.base = l.uri, t.log("Done", d), e(""); } catch (e) { t.error(e), n(e); } }))); }); })); }()), n = -1 !== e.indexOf("?") ? "&" : "?"; const a = `${d.base + e + n}X-Plex-Token=${d.apiKey}`; return i.log("Api Call", a), o.request.xhr("GET", { url: a, headers: { Accept: "application/json" } }).then(n => { if (200 !== n.status) { if (!d.serverApiKey) throw "Could not authenticate"; return d.apiKey = d.serverApiKey, d.serverApiKey = null, i.log("Use server apikey"), t(e); } return n; }); })); }(decodeURIComponent(r)).then(o => { let r; try { r = JSON.parse(o.responseText); } catch (t) { return void i.error(t); } if (/(anime|asian)/i.test(r.MediaContainer.librarySectionTitle)) switch (l = r.MediaContainer.Metadata[0], l.type) { case "show": if (i.log("Show", r), !l.skipChildren) return i.log("Series overview. Dont do anything"), void (l = void 0); m = t.waitUntilTrue((function() { return a.$('[data-qa-id="preplay-mainTitle"]').length; }), (function() { e.UILoaded = !1, e.handlePage(n), $("html").removeClass("miniMAL-hide"); })); break; case "season": i.log("Season", r), m = t.waitUntilTrue((function() { return a.$('[data-qa-id="preplay-mainTitle"]').length; }), (function() { e.UILoaded = !1, e.handlePage(n), $("html").removeClass("miniMAL-hide"); })); break; case "episode": i.log("Episode", r), e.handlePage(n), $("html").removeClass("miniMAL-hide"); break; default: i.log("Not recognized", r); } else i.info("!Not an Anime!"); }); })); } const p = { name: "Plex", domain: "http://app.plex.tv", languages: [ "Many" ], type: "anime", isSyncPage: t => !(!l || "episode" !== l.type), sync: { getTitle: t => l.grandparentTitle + (l.parentIndex > 1 ? " Season " + l.parentIndex : ""), getIdentifier: t => void 0 !== l.parentKey ? l.parentKey.split("/")[3] : void 0 !== l.grandparentKey ? l.grandparentKey.split("/")[3] : l.key.split("/")[3], getOverviewUrl(t) { let e = window.location.href.split("?")[0]; if (!e.includes("server/")) { e = (window.location.href.split("#")[0] + a.$('[href^="#!/server"]').first().attr("href")).split("?")[0]; } return `${e}?key=/library/metadata/${p.sync.getIdentifier(t)}`; }, getEpisode: t => l.index }, overview: { getTitle: t => l.parentTitle ? l.parentTitle : l.title, getIdentifier: t => l.key.split("/")[3], uiSelector(t) { a.$('[data-qa-id="preplay-mainTitle"]').first().after(a.html(t)); } }, init(e) { o.storage.addStyle(n(317).toString()), a.$(document).ready((function() { u(e); })), t.changeDetect(() => u(e), () => { const e = $('[class*="MetadataPosterTitle-isSecondary"] [data-qa-id="metadataTitleLink"]').attr("href"); return e || String(t.urlParam(window.location.href, "key")); }), document.addEventListener("fullscreenchange", (function() { window.fullScreen || window.innerWidth === window.screen.width && window.innerHeight === window.screen.height ? $("html").addClass("miniMAL-Fullscreen") : $("html").removeClass("miniMAL-Fullscreen"); })), setInterval(() => { if (p.isSyncPage(e.url) && !$("video").length) { const t = $('[class*="SeekBar-seekBar-"] [aria-valuemax]').first(); if (!t) return void i.m("Player").log("no seekbar"); const n = t.attr("aria-valuemax"), a = t.attr("aria-valuenow"), o = Boolean($('[data-qa-id="pauseButton"]').length); i.m("Player").debug(a, n, !o), n && a && e.setVideoTime({ current: a, duration: n, paused: !o }, () => { i.log("Not supported during chromecast"); }); } }, 1e3); } }; }).call(this, n(1), n(4), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return f; })); var r = n(12), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let l, c, d, m, u; const p = [ 2797624, 7424, 67614, 2653, 587, 625, 79307, 9302, 79488, 452, 79448, 11146, 79440, 3063, 79543, 79427, 10695, 2729, 79329, 79572, 64256, 2951909, 6721, 2867325, 1522234, 1623841, 81216565, 3073, 3095 ], h = new r.a; function g(e) { const n = function() { const t = h.getCaptureVariable("netflix"); if (!(t instanceof Object)) throw new Error("Invalid metadata"); return t; }(), o = t.urlPart(window.location.href, 4); i.request.xhr("GET", `${n.models.playerModel.data.config.ui.initParams.apiUrl}/metadata?movieid=${o}`).then(t => { const n = JSON.parse(t.responseText); u = n.video.id, m = n.video.title; const o = `${f.domain}/title/${u}`; i.request.xhr("GET", o).then(t => { a.log(t); let i = !1; const o = t.responseText.match(/"genres":\s*\[.*?\]/i); if (o && o.length) { const t = JSON.parse(`{${o[0].replace(/\\/gm, "\\\\")}}`); for (const e of t.genres) if (p.includes(e.id)) { i = !0; break; } } if (i) { if ("movie" !== n.video.type) { l = n.video.seasons.find(t => (c = t.episodes.find(t => t.id === n.video.currentEpisode), c)); try { d = l.episodes[l.episodes.findIndex(t => t.id === c.id) + 1]; } catch (t) { d = void 0; } } else l = { longName: m, title: m, seq: 1 }, c = { seq: 1 }, d = void 0; e.handlePage(), $("html").removeClass("miniMAL-hide"); } else a.info("No Anime"); }); }); } h.addCaptureVariable("netflix", '\n if (window.hasOwnProperty("netflix")) {\n return netflix.reactContext;\n } else {\n return undefined;\n }\n '); const f = { name: "Netflix", domain: "https://www.netflix.com", languages: [ "Many" ], type: "anime", isSyncPage: t => !0, sync: { getTitle: t => l.longName !== l.title ? l.title : l.seq > 1 ? `${m} season ${l.seq}` : m, getIdentifier: t => `${u}?s=${l.seq}`, getOverviewUrl: t => `${f.domain}/title/${u}`, getEpisode: t => c.seq, nextEpUrl: t => d ? `${f.domain}/watch/${d.id}` : "" }, init(e) { function a() { e.reset(), $("html").addClass("miniMAL-hide"), "watch" === t.urlPart(window.location.href, 3) && t.waitUntilTrue((function() { return o.$(".ellipsize-text").length; }), (function() { h.addProxy(t => s(this, void 0, void 0, (function*() { g(e); }))); })); } i.storage.addStyle(n(319).toString()), o.$(document).ready((function() { a(); })), t.urlChangeDetect((function() { a(); })); } }; }).call(this, n(1), n(0), n(4), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "animepahe", domain: "https://animepahe.com", languages: [ "English" ], database: "animepahe", type: "anime", isSyncPage: t => "play" === window.location.href.split("/")[3], sync: { getTitle: e => t.$(".theatre-info h1 a").first().text().trim(), getIdentifier: t => s(), getOverviewUrl: t => l(s(), !0), getEpisode: e => Number((t.$(".theatre-info h1")[0].childNodes[2].textContent || "").replace(/[^0-9.]+/g, "")), nextEpUrl: e => t.$(".sequel a").first().attr("href") ? l(s(), !1, 1) : "", uiSelector(e) { t.$(".anime-season").after(t.html(e)); } }, overview: { getTitle: e => i.getBaseText(t.$(".title-wrapper h1").first()).trim(), getIdentifier: t => s(), uiSelector(e) { t.$(".anime-detail").after(t.html(e)); }, getMalUrl(e) { let n = t.$('a[href^="//myanimelist.net/anime/"]').not("#malRating").first().attr("href"); return (n || "ANILIST" === e && (n = t.$('a[href^="//anilist.co/anime/"]').not("#malRating").first().attr("href"), n) || !("KITSU" !== e || (n = t.$('a[href^="//kitsu.io/anime/"]').not("#malRating").first().attr("href"), !n))) && n.replace(/^\/\//, "https://"); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".episode-list .episode"), elementUrl(t) { const e = t.find("a").first(); if (!e) return ""; const n = e.attr("href"); return n ? o.domain + n : ""; }, elementEp: t => Number(t.find(".episode-number").first().text().replace(t.find(".episode-number > *").text(), "")) } }, init(t) { a.storage.addStyle(n(321).toString()), i.waitUntilTrue((function() { return (o.isSyncPage(window.location.href) || o.overview.list.elementsSelector()) && void 0 !== s(); }), (function() { t.handlePage(l(s(), !1)); })); } }; let r; function s() { if (r) return r; const e = t.$('a[href^="//pahe.win/a/"]').attr("href"); if (e) return r = e.split("/")[4], r; const n = $("script").filter((function(t) { return this.innerHTML.includes("getUrls("); })); if (n && n.length) { const t = n[0].innerHTML.match(/getUrls\(\d+/); if (t && t.length) return r = t[0].replace(/\D+/g, ""), r; } } function l(t, e, n = 0) { return "play" !== window.location.href.split("/")[3] || e ? "https://pahe.win/a/" + t : `https://pahe.win/a/${t}/${o.sync.getEpisode(window.location.href) + n}`; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "Animeflv", domain: "https://animeflv.net", languages: [ "Spanish" ], type: "anime", isSyncPage: e => "ver" === t.urlPart(e, 3), isOverviewPage: e => "anime" === t.urlPart(e, 3), sync: { getTitle: t => i.$("h1.Title").text().split(" Episodio")[0].trim(), getIdentifier: e => t.urlPart(`${r.domain}${i.$(".fa-th-list").attr("href")}`, 4), getOverviewUrl: t => r.domain + (i.$(".fa-th-list").attr("href") || ""), getEpisode: t => parseInt(i.$("h2.SubTitle").text().replace("Episodio ", "").trim()), nextEpUrl(t) { const e = i.$(".fa-chevron-right").attr("href"); return e ? r.domain + e : e; }, uiSelector(t) { i.$(".CapOptns").after(i.html(t)); } }, overview: { getTitle: t => i.$("h1.Title").text(), getIdentifier: e => t.urlPart(e, 4), uiSelector(t) { i.$(".Description").after(i.html(t)); }, list: { offsetHandler: !1, elementsSelector() { const e = window.location.href; document.body.insertAdjacentHTML("afterbegin", '<div id="MALSync" class="MALSync" style="display: none;"><ul id="MALSyncUl" class="MALSyncUl"></ul></div>'); const n = document.getElementById("MALSyncUl"), a = document.body.innerHTML; let o = /<script>\s\s {3}var([^]*?)<\/script>/g.exec(a); if (null !== o && (o = o[1] || null, null !== o)) { const a = /\[([^[\]]{0,10},{0,10})\]/g, s = o.toString().match(a); null !== s && s.forEach(a => { if (null !== n) { const o = `${r.domain}/ver/${t.urlPart(e, 4)}-${a.split(",")[0].replace("[", "")}`, s = a.split(",")[0].replace("[", ""); n.innerHTML += i.html(`<li><a href="${o}" epi="${s}"></a> </li>`); } }); } return i.$(".MALSync a"); }, elementUrl: e => t.absoluteLink(e.attr("href"), r.domain), elementEp: t => Number(t.attr("epi")), handleListHook(t, e) { if (t++, e.length - 1 >= t) { const n = i.$(".AnimeCover img").attr("src"), a = i.$(".Container h2").text(), o = `<li class="fa-play-circle Next"><a href="${e[t][0].toString()}"><figure><img src="${n}" alt=""></figure><h3 class="Title">${a}</h3><p>Episodio ${t}</p><span style="position: absolute; top: 0; bottom: 0; margin: auto; right: 20px; line-height: 30px; font-size: 16px; font-weight: 700; height: 30px;">Siguiente Episodio</span></a></li>`; i.$(".Main .ListCaps").prepend(i.html(o)); } } } }, init(t) { if (a.storage.addStyle(n(323).toString()), "Verifica que no eres un bot | AnimeFLV" === document.title) return o.log("loading"), void t.cdn(); i.$(document).ready((function() { t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "Jkanime", domain: "https://jkanime.net", languages: [ "Spanish" ], type: "anime", isSyncPage: e => !(Number.isNaN(parseInt(t.urlPart(e, 4))) && ("pelicula" !== t.urlPart(e, 4) || !r.sync.getTitle(e).length)), isOverviewPage: t => r.overview.getTitle(t).length > 0, sync: { getTitle: t => i.$("div.breadcrumb-option > div > div > div> div.breadcrumb__links > h1").first().text().split(" - ")[0], getIdentifier: e => t.urlPart(e, 3), getOverviewUrl: t => `${r.domain}/${r.sync.getIdentifier(t)}`, getEpisode: e => parseInt(t.urlPart(e, 4)) || 1, nextEpUrl: t => i.$('div:contains("Proximo Episodio")').parent("a").attr("href") }, overview: { getTitle: t => i.$("div.anime__details__title > h3").text(), getIdentifier: e => t.urlPart(e, 3), uiSelector(t) { i.$("section.contenido.spad > div > div.row").before(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => i.$("div.epcontent > div.anime__item a"), elementUrl: e => t.absoluteLink(e.attr("href"), r.domain), elementEp(t) { var e, n; return r.sync.getEpisode((null === (n = null === (e = r.overview) || void 0 === e ? void 0 : e.list) || void 0 === n ? void 0 : n.elementUrl(t)) || ""); }, paginationNext(t) { let e; return a.log("updatecheck", t), t ? (e = i.$("div.anime__pagination > a").last(), void 0 !== e[0] && !e.hasClass("pagination-active") && (e[0].click(), !0)) : (e = i.$("div.anime__pagination > a.pagination-active").next("a"), void 0 !== e[0] && (e[0].click(), !0)); } } }, init(e) { o.storage.addStyle(n(325).toString()), i.$(document).ready((function() { $("div.anime__pagination > a").first().addClass("pagination-active"), e.handlePage(); })), t.changeDetect(() => { e.handleList(); }, () => i.$("div.epcontent > div.anime__item a").first().attr("href")), $("div.anime__pagination > a").click((function() { $("div.anime__pagination > a").removeClass("pagination-active"), $(this).addClass("pagination-active"); })); } }; }).call(this, n(1), n(2), n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { let r, s, l; function c(e, n = "") { r = void 0, s = void 0, t.request.xhr("GET", e.url).then(t => { i.log(t), r = JSON.parse(`{${t.responseText.split("__INITIAL_STATE__ = {")[1].split("};")[0]}}`), i.log(r), n.length ? r.seriesPage.seasons.forEach((function(t) { -1 !== n.indexOf(t.json.title) && (i.log("Season Found", t), s = t); })) : r.seriesPage.seasons.length && (i.log("Season", r.seriesPage.seasons[0]), s = r.seriesPage.seasons[0]), e.handlePage(); }); } n.d(e, "a", (function() { return d; })); const d = { name: "Vrv", domain: "https://vrv.co", languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ], type: "anime", isSyncPage: t => "series" !== a.urlPart(window.location.href, 3), sync: { getTitle: t => `${r.watch.mediaResource.json.series_title} - ${r.watch.mediaResource.json.season_title.replace(r.watch.mediaResource.json.series_title, "")}`, getIdentifier: t => r.watch.mediaResource.json.season_id, getOverviewUrl: t => `${d.domain}/series/${r.watch.mediaResource.json.series_id}?season=${d.sync.getIdentifier(t)}`, getEpisode: t => r.watch.mediaResource.json.episode_number, nextEpUrl: t => void 0 === r.watch.mediaResource.json.next_episode_id ? "" : `${d.domain}/watch/${r.watch.mediaResource.json.next_episode_id}` }, overview: { getTitle: t => `${r.seriesPage.series.json.title} - ${s.json.title.replace(r.seriesPage.series.json.title, "")}`, getIdentifier: t => s.json.id, uiSelector(t) { $(".erc-series-info .series-title").first().after(o.html(t)); }, list: { offsetHandler: !0, elementsSelector: () => o.$(".erc-series-media-list-element"), elementUrl: t => a.absoluteLink(t.find("a").first().attr("href"), d.domain), elementEp(t) { const e = t.find(".episode-title").text().trim().match(/^E\d+/i); return e ? Number(e[0].replace("E", "")) : NaN; }, getTotal() { throw "Not supported"; } } }, init(e) { function i() { clearInterval(l), e.reset(), "watch" === a.urlPart(window.location.href, 3) && c(e), "series" === a.urlPart(window.location.href, 3) && a.waitUntilTrue((function() { return o.$(".erc-series-info .series-title").first().length; }), (function() { o.$(".erc-series-media-list-element").length && void 0 === o.$(".erc-series-media-list-element a").first().attr("href") || c(e, $(".controls-select-trigger .season-info").text().trim()), l = a.changeDetect((function() { e.reset(), c(e, $(".controls-select-trigger .season-info").text().trim()); }), (function() { return o.$(".erc-series-media-list-element a").first().attr("href"); })); })); } t.storage.addStyle(n(327).toString()), o.$(document).ready((function() { i(); })), a.urlChangeDetect((function() { e.url = window.location.href, i(); })); } }; }).call(this, n(0), n(4), n(1), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "Proxer", domain: "https://proxer.me", languages: [ "German", "English" ], type: "anime", isSyncPage: t => "watch" === t.split("/")[3] || "read" === t.split("/")[3], sync: { getTitle: e => -1 !== e.indexOf("watch") ? t.$(".wName").text().trim() : -1 !== e.indexOf("read") ? t.$("div#breadcrumb a:first").text() : "", getIdentifier: t => i.urlPart(t, 4) || "", getOverviewUrl: t => `${r.domain}/info/${r.sync.getIdentifier(t)}/list`, getEpisode: t => -1 !== t.indexOf("watch") ? c("episode " + $(".wEp").last().text().trim(), t.split("/")[5]) : c($("#breadcrumb > a").last().text().trim(), t.split("/")[5]), nextEpUrl: t => r.domain + $(".no_details a").last().attr("href") }, overview: { getTitle: e => t.$("#pageMetaAjax").text().split(" - ")[0].replace(/\(Anime\)|\(Manga\)$/gim, "").trim(), getIdentifier: t => r.sync.getIdentifier(t), uiSelector(e) { t.$(".hreview-aggregate > span").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$('span[id^="listTitle"]').parent().parent(), elementUrl: t => i.absoluteLink(t.find('a[href^="/watch"],a[href^="/read"],a[href^="/chapter"]').first().attr("href"), r.domain), elementEp: t => c(t.find('span[id^="listTitle"]').first().text().trim(), r.overview.list.elementUrl(t).split("/")[5]), paginationNext(e) { let n; return a.error("sadsad", e), e ? (n = t.$(".menu").last(), void 0 !== n[0] && !n.hasClass("active") && (n[0].click(), !0)) : (n = t.$(".menu.active").first().next(), void 0 !== n[0] && (n[0].click(), !0)); }, getTotal() { const t = $('img[src="/images/misc/manga.png"], img[src="/images/misc/play.png"]').last().parent().parent().parent().parent(); if (t.length) return r.overview.list.elementEp(t); } } }, init(e) { if (o.storage.addStyle(n(329).toString()), t.$(".g-recaptcha").length) return a.log("loading"), void e.cdn("captcha"); "watch" !== e.url.split("/")[3] && "read" !== e.url.split("/")[3] || ("watch" === e.url.split("/")[3] ? r.type = "anime" : "read" === e.url.split("/")[3] && (r.type = "manga"), t.$(document).ready((function() { e.handlePage(); }))), l(e), i.urlChangeDetect((function() { e.reset(), l(e); })); } }; let s = 0; function l(e) { if ("info" !== i.urlPart(e.url, 3)) return; const n = i.urlPart(e.url, 5); a.info("page", n), "list" === n && i.waitUntilTrue((function() { return t.$("#contentList").length; }), (function() { t.$('#simple-navi a[href*="manga"]').length ? r.type = "manga" : r.type = "anime"; const n = parseInt(r.overview.getIdentifier(e.url)); if (n !== s) s = n, e.handlePage(); else try { e.handleList(); } catch (t) { a.error(t), e.handlePage(); } })), "details" !== n && n || i.waitUntilTrue((function() { return t.$(".hreview-aggregate").length; }), (function() { s = parseInt(r.overview.getIdentifier(e.url)), t.$('#simple-navi a[href*="manga"]').length ? r.type = "manga" : r.type = "anime", e.handlePage(); })); } function c(t, e) { if (null !== t.match(/(special|extra)/gi)) return ""; const n = t.match(/(kapitel |ep. |chapter |episode )\d+/gi); return null !== n ? n[0].match(/\d+/)[0] : e; } }).call(this, n(2), n(1), n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "4Anime", domain: "https://4anime.to", languages: [ "English" ], type: "anime", isSyncPage: e => !(!t.$(".singletitletop").length || !t.$(".episodes").length), sync: { getTitle: e => t.$("span.singletitletop a").text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => t.$("span.singletitletop a").attr("href") || "", getEpisode: e => Number(t.$("ul.episodes a.active").text().replace(/\D+/g, "")), nextEpUrl(e) { const n = t.$(".anipager-next a").first().attr("href"); return void 0 !== n ? i.absoluteLink(n, o.domain) : ""; } }, overview: { getTitle: e => t.$("p.single-anime-desktop").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("p.description-mobile").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".episodes.range a"), elementUrl: t => i.absoluteLink(t.attr("href"), o.domain), elementEp: t => Number(t.text()) } }, init(e) { a.storage.addStyle(n(331).toString()), t.$(document).ready((function() { (t.$(".singletitletop").length && t.$(".episodes").length || "anime" === e.url.split("/")[3]) && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "animeultima", domain: "https://animeultima.to", languages: [ "English" ], type: "anime", isSyncPage: e => !("a" !== e.split("/")[3] || !t.$("h1.title.is-marginless span.is-size-4.is-size-5-touch.is-size-6-mobile")[0]), sync: { getTitle: e => t.$("h1.title.is-marginless span.is-size-4.is-size-5-touch.is-size-6-mobile").text().replace(/\n.*/g, "").trim(), getIdentifier: t => i.urlPart(t, 4).replace(/_\d+$/, ""), getOverviewUrl: t => `${o.domain}/a/${o.sync.getIdentifier(t)}`, getEpisode: e => Number(t.$("h1.title.is-marginless span.is-size-4.is-size-5-touch.is-size-6-mobile").text().replace(/.*\n/g, "").replace(/\D+/g, "")), nextEpUrl(e) { const n = t.$(".level-right a").first().attr("href"); return void 0 !== n ? i.absoluteLink(n, o.domain) : ""; } }, overview: { getTitle: t => i.getBaseText($("h1.title.is-marginless.is-paddingless").first()).replace(/[^ \w]+/g, "").trim(), getIdentifier: t => o.sync.getIdentifier(t), uiSelector(e) { t.$("div.tags.is-marginless").first().after(t.html(e)); }, getMalUrl(e) { const n = t.$('a[href^="https://myanimelist.net/anime/"]').not("#malRating").first().attr("href"); return n || !1; } }, init(e) { a.storage.addStyle(n(333).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Aniflix", domain: "https://www1.aniflix.tv", languages: [ "German" ], type: "anime", isSyncPage: t => "season" === t.split("/")[6], sync: { getTitle(e) { const n = e.split("/"); return "1" === n[7] || "0" === n[7] ? t.$("a.episode-showname").text() : `${t.$("a.episode-showname").text()} season ${e.split("/")[7]}`; }, getIdentifier: t => `${t.split("/")[4]}?s=${t.split("/")[7]}`, getOverviewUrl: e => o.domain + (t.$("a.episode-showname").attr("href") || ""), getEpisode: t => Number(t.split("/")[9]) }, overview: { getTitle: e => 1 === Number(t.$("div.seasons-wrapper > div.season.season-active > div").first().text().replace(/\D+/g, "")) || "Specials" === t.$("div.seasons-wrapper > div.season.season-active > div").first().text() ? t.$("h1.show-name").text() : `${t.$("h1.show-name").text()} season ${t.$("div.seasons-wrapper > div.season.season-active > div").first().text().replace(/\D+/g, "")}`, getIdentifier: e => "Specials" === t.$("div.seasons-wrapper > div.season.season-active > div").first().text() ? e.split("/")[4] + "?s=0" : `${e.split("/")[4]}?s=${t.$("div.seasons-wrapper > div.season.season-active > div").first().text().replace(/\D+/g, "")}`, uiSelector(e) { t.$("div.episodes").first().before(t.html(e)); } }, init(e) { function r() { e.reset(), "show" === e.url.split("/")[3] && (o.isSyncPage(e.url) ? a.waitUntilTrue((function() { return !!t.$("a.episode-showname").length; }), (function() { e.handlePage(); })) : (e.reset(), a.waitUntilTrue((function() { return !(!t.$("h1.show-name").length || !t.$("h1.show-name").first().text()); }), (function() { e.handlePage(), $("div.seasons-wrapper").unbind("click").click((function() { e.reset(), e.handlePage(); })); })))); } i.storage.addStyle(n(335).toString()), e.url = window.location.href, r(), a.urlChangeDetect((function() { r(); })); } }; }).call(this, n(2), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Animefreak", domain: "https://www.animefreak.tv", languages: [ "English" ], type: "anime", isSyncPage: t => "episode" === t.split("/")[5], sync: { getTitle: e => t.$("div.top-breadcrumb li:nth-child(2) a").text(), getIdentifier: t => t.split("/")[4], getOverviewUrl: t => `${o.domain}/watch/${o.sync.getIdentifier(t)}`, getEpisode: t => Number(t.split("/")[6].replace(/\D+/g, "")), nextEpUrl(e) { const n = t.$(".fa-step-forward").first().parent().attr("href"); return void 0 !== n ? i.absoluteLink(n, o.domain) : ""; } }, overview: { getTitle: e => t.$("div.top-breadcrumb li:nth-child(2) a").text(), getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$("div.anime-title").first().before(t.html(e)); } }, init(e) { a.storage.addStyle(n(337).toString()), t.$(document).ready((function() { "watch" === e.url.split("/")[3] && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return r; })); const a = new (n(12).a); function o() { const t = a.getCaptureVariable("videos"); if (!(t instanceof Array)) throw new Error("Invalid metadata"); const e = document.URL.split("/").pop(); let n = -1; for (let i = 0; i < t.length; i++) if ("videoEntry" in t[i] && t[i].videoEntry.slug === e) { n = i; break; } if (-1 === n) throw new Error("Failed to identify playlist position"); return { videos: t, playlistPosition: n }; } a.addCaptureVariable("videos", '\n if (window.hasOwnProperty("videos")) {\n return videos;\n } else {\n return undefined;\n }\n '); const r = { name: "AnimeLab", domain: "https://www.animelab.com", languages: [ "English" ], type: "anime", isSyncPage: t => t.startsWith("https://www.animelab.com/player/"), sync: { getTitle(t) { const e = o(), n = e.videos[e.playlistPosition].videoEntry.season; return n.seasonNumber > 1 ? n.name.length > n.showTitle.length && !n.name.startsWith("Season") ? n.name : `${n.showTitle} ${n.name}` : n.showTitle; }, getIdentifier: t => r.sync.getTitle(t), getOverviewUrl(t) { const e = o(); return "https://www.animelab.com/shows/" + e.videos[e.playlistPosition].videoEntry.showSlug; }, getEpisode(t) { const e = o(); return parseInt(e.videos[e.playlistPosition].videoEntry.episodeNumber); }, nextEpUrl(t) { const e = o(); if (e.videos.length > e.playlistPosition + 1) return "https://www.animelab.com/player/" + e.videos[e.playlistPosition + 1].videoEntry.slug; } }, init(e) { t.storage.addStyle(n(339).toString()); const o = t => { e.handlePage(); }; r.isSyncPage(e.url) && i.$(document).ready(() => { a.addProxy(o), i.$("#video-component").on("loadstart", () => { a.addProxy(o); }); }); } }; }).call(this, n(0), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "KickAssAnime", domain: "https://www.kickassanime.ro", languages: [ "English" ], type: "anime", isSyncPage: t => void 0 !== t.split("/")[5], sync: { getTitle: e => t.getBaseText($("#animeInfoTab > a")), getIdentifier: t => t.split("/")[4], getOverviewUrl: t => `${r.domain}/anime/${r.sync.getIdentifier(t)}`, getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[5]; if (0 === n.length) return NaN; const i = n.match(/episode-\d*/gi); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl(e) { const n = i.$("#sidebar-anime-info > div > div > a:contains('Next Episode')").attr("href"); return n ? t.absoluteLink(n, r.domain) : ""; } }, overview: { getTitle: t => i.$("h1.title").text(), getIdentifier: e => t.urlPart(e, 4), uiSelector(t) { i.$("div.anime-info").first().after(i.html(`<div class="border rounded mb-2 p-3"><div class="font-weight-bold">MAL-Sync</div>${t}</div`)); }, list: { offsetHandler: !1, elementsSelector: () => i.$("div.anime-list tbody > tr"), elementUrl: e => t.absoluteLink(e.find("a").attr("href"), r.domain), elementEp(t) { const e = t.find("a").text(); return e.toLowerCase().includes("episode") ? Number(e.replace(/\D+/g, "")) : NaN; }, paginationNext(t) { a.log("updatecheck", t); const e = i.$(" div.main-episode-list > div > div > div > button:nth-child(2):enabled"); return void 0 !== e[0] && (e[0].click(), !0); } } }, init(e) { o.storage.addStyle(n(341).toString()), i.$(document).ready((function() { "anime" === e.url.split("/")[3] && t.waitUntilTrue((function() { return r.sync.getTitle(e.url) || r.overview.getTitle(e.url); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(1), n(2), n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeKisa", domain: "https://animekisa.tv", languages: [ "English" ], type: "anime", isSyncPage: e => !(null === e.split("/")[3] || !t.$("div.c a.infoan2")[0] || !t.$("#playerselector option:selected")[0]), isOverviewPage(e) { const n = t.$("div.notmain > div > div.infobox > div.infoboxc > div.infodesbox > h1"), i = t.$("div.notmain > div > div.infobox > div.infoepboxmain"); return !(!e.split("/")[3] || 0 === n.length || 0 === i.length); }, sync: { getTitle: e => t.$("div.c a.infoan2").text().trim(), getIdentifier: e => t.$("div.c a.infoan2").attr("href") || "", getOverviewUrl: e => `${o.domain}/${t.$("div.c a.infoan2").attr("href")}`, getEpisode: e => Number(t.$("#playerselector option:selected").text().replace(/\D+/g, "")), nextEpUrl(t) { const e = $("#playerselector").find("option:selected").next().attr("value"); if (!e) return ""; const n = t.replace(/\d+$/, e); return void 0 !== e && n !== t ? i.absoluteLink(n, o.domain) : ""; }, getMalUrl: t => o.overview.getMalUrl(t) }, overview: { getTitle: e => t.$("div.notmain > div > div.infobox > div.infoboxc > div.infodesbox > h1").text().trim(), getIdentifier: t => t.split("/")[3], uiSelector(e) { t.$(".infoepboxmain").first().before(t.html(e)); }, getMalUrl(e) { let n = t.$('a[href^="https://myanimelist.net/anime/"]').not("#malRating").first().attr("href"); return n || ("ANILIST" === e && (n = t.$('a[href^="https://anilist.co/anime/"]').not("#malRating").first().attr("href"), n) || !("KITSU" !== e || (n = t.$('a[href^="https://kitsu.io/anime/"]').not("#malRating").first().attr("href"), !n))) && n; }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.infoepbox > a"), elementUrl: t => `${o.domain}/${t.find(".infoepmain").first().parent().attr("href")}`, elementEp: t => Number(t.find("div.infoept2r > div, div.infoept2 > div").first().text()) } }, init(e) { a.storage.addStyle(n(343).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Wakanim", domain: "https://www.wakanim.tv", languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ], type: "anime", isSyncPage: e => !!t.$("body > section.episode > div > div > div.episode_main > div.episode_video > div").length, sync: { getTitle: t => o.sync.getIdentifier(t), getIdentifier(e) { const n = r(t.$("span.episode_subtitle > span:nth-child(2)").text()); return `${t.$('[itemprop="partOfSeries"] meta[itemprop="name"]').attr("content")} ${n}`; }, getOverviewUrl: e => o.domain + (t.$("body > section.episode > div > div > div.episode_info > div.episode_buttons > a:nth-child(2)").attr("href") || ""), getEpisode: e => Number(t.$("body > section.episode > div > div > div.episode_info > h1 > span.episode_subtitle > span > span").text()), nextEpUrl: e => t.$("body > section.episode > div > div > div.episode_main > div.episode_video > div > div.episode-bottom > div.episodeNPEp-wrapperBlock > a.episodeNPEp.episodeNextEp.active").attr("href") }, overview: { getTitle: t => o.overview.getIdentifier(t), getIdentifier(e) { const n = r(t.$("#list-season-container > div > select > option:selected").text()); return `${t.$('[itemtype="http://schema.org/TVSeries"] > meta[itemprop="name"]').attr("content")} ${n}`; }, uiSelector(e) { t.$("#nav-show").first().before(t.html(e)); }, list: { offsetHandler: !0, elementsSelector: () => t.$("li.-big"), elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain), elementEp(t) { const e = o.overview.list.elementUrl(t), n = t.find("a").attr("title"); return n ? function(t, e) { let n = ""; if (/\d+\.\d+/.test(e)) { const t = e.match(/\d+\.\d+/); t && 0 !== t.length && (n = "episode" + t[0]); } else n = i.urlPart(t, 8) || ""; if (!n) return NaN; const a = n.match(/([e,E][p,P][i,I]?[s,S]?[o,O]?[d,D]?[e,E]?|[f,F][o,O][l,L][g,G]?[e,E])\D?\d+/); if (!a || 0 === a.length) return NaN; const o = a[0].match(/\d+/); return o && 0 !== o.length ? Number(o[0]) : NaN; }(e, n.trim()) : NaN; } } }, init(e) { a.storage.addStyle(n(345).toString()), ("show" === e.url.split("/")[6] && "season" === e.url.split("/")[9] || "episode" === e.url.split("/")[6]) && i.waitUntilTrue((function() { return !(!t.$("body > div.SerieV2 > section > div.container > div > div.SerieV2-content").length && !t.$("#jwplayer-container").length); }), (function() { e.reset(), e.handlePage(); })), i.urlChangeDetect((function() { e.reset(), "show" === e.url.split("/")[6] && "season" === e.url.split("/")[9] && i.waitUntilTrue((function() { return !!t.$("#list-season-container").length; }), (function() { e.handlePage(); })); })); } }; function r(t) { if (t.includes("Cour")) { const e = t.match(/Cour (\d+)/); return 2 === e[1] ? t.replace(e[0], "Part 2 ").trim().replace("-", "") : t.replace(/Cour \d+/, "").trim().replace("-", ""); } return t; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeIndo", domain: "https://animeindo.net", languages: [ "Indonesian" ], type: "anime", isSyncPage: e => !(null === e.split("/")[1] || !t.$("#sct_content > div > div.preview")[0]), sync: { getTitle: e => t.$("#sct_content > div > div.infobox > h3").text(), getIdentifier(e) { const n = t.$("#sct_content > div > div.ep_nav.fr > span.nav.all > a").attr("href"); return n ? i.urlPart(n, 4) : ""; }, getOverviewUrl: e => t.$("#sct_content > div > div.ep_nav.fr > span.nav.all > a").attr("href") || "", getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[3]; if (0 === n.length) return NaN; const i = n.match(/-episode-\d*/g); return i ? Number(i[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl(e) { const n = t.$(".nav.next a").first().attr("href"); return void 0 !== n ? i.absoluteLink(n, o.domain) : ""; } }, overview: { getTitle: e => t.$("#sct_content > div.nodeinfo > h2").first().text().replace(/sinopsis/gi, "").trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("#sct_content > h1").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul.eps_lst,ul#epl").find("li:not(.hdr)"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain), elementEp: t => Number(t.find("a").first().text().replace(/\D+/g, "")) } }, init(e) { a.storage.addStyle(n(347).toString()), t.$(document).ready((function() { ("anime" === e.url.split("/")[3] || null !== e.url.split("/")[3] && t.$("#sct_content > div > div.preview")[0]) && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Shinden", domain: "https://shinden.pl", languages: [ "Polish" ], type: "anime", isSyncPage(t) { const e = t.split("/")[3]; return "episode" === e || "epek" === e; }, sync: { getTitle: e => t.$(".page-title > a").text().trim(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => i.absoluteLink(t.$(".player-navigator > li:nth-child(2) > a").attr("href"), o.domain), getEpisode(e) { const n = t.$("dl.info-aside-list:nth-child(1) > dd:nth-child(2)").text(); return n ? Number(n.replace(/\D+/g, "")) : NaN; }, nextEpUrl: e => i.absoluteLink(t.$(".player-navigator > li:nth-child(3) > a").attr("href"), o.domain) }, overview: { getTitle: e => t.$("h1.page-title").text().replace(/anime:/gim, "").trim(), getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$(".title-other").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".list-episode-checkboxes > tr:has(.fa-check)"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain), elementEp: t => Number(t.find("td").first().text()) } }, init(e) { a.storage.addStyle(n(349).toString()), t.$(document).ready((function() { const t = e.url.split("/")[3]; "series" !== t && "episode" !== t && "titles" !== t && "epek" !== t || e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Voiranime", domain: "https://voiranime.com", languages: [ "French" ], type: "anime", isSyncPage: t => !!$(".chapter-video-frame").length, sync: { getTitle: e => t.$(".breadcrumb > li:nth-child(2) > a:nth-child(1)").text().trim(), getIdentifier: t => i.urlPart(t, 4) || "", getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`, getEpisode: e => Number(t.$("div.select-view:nth-child(2) > div:nth-child(2) > label:nth-child(1) > select >option:selected").text()), nextEpUrl: e => i.absoluteLink(t.$("div.select-pagination:nth-child(3) > div:nth-child(1) > div:nth-child(2) > a:nth-child(1)").attr("href"), o.domain) }, overview: { getTitle: t => $(".post-title > h1:nth-child(1)").first().text().trim(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$(".post-title > h1:nth-child(1)").first().after(t.html(e)); }, list: { offsetHandler: !0, elementsSelector: () => t.$("li.wp-manga-chapter"), elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain), elementEp: t => Number(t.find("a").first().text().split("-").pop()) } }, init(e) { a.storage.addStyle(n(351).toString()), t.$(document).ready((function() { ($(".chapter-video-frame").length || $("body > div.wrap > div > div.site-content > div > div.profile-manga > div > div > div > div.tab-summary").length) && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "DubbedAnime", domain: "https://ww5.dubbedanime.net", languages: [ "English" ], type: "anime", isSyncPage: t => "episode" === t.split("/")[3], sync: { getTitle: e => t.$("h1.dosis.ep-title").text().replace(/(episode|ova).*\d+/gim, "").trim(), getIdentifier: t => o.overview.getIdentifier(o.sync.getOverviewUrl(t)), getOverviewUrl: e => i.absoluteLink(t.$('div.video-info a[href*="/anime/"]').attr("href"), o.domain), getEpisode(t) { const e = i.urlPart(t, 4).match(/-(episode|ova)-\d+-/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl: e => i.absoluteLink(t.$("div.video-info i.fa-forward").closest("a").attr("href"), o.domain) }, overview: { getTitle: e => t.$("h1.h3.dosis.mt-0.text-white.pt-2.d-none.d-sm-block").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("#episodes > div > div.row.mb-3.pr-2").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.da-page-episodes > ul.list-unstyled > li.da-tbl:not(.ongoing-ep-new,:hidden)"), elementUrl: t => i.absoluteLink(t.find("div.da-video-tbl > a").first().attr("href"), o.domain), elementEp: t => Number(t.find("div.da-video-tbl > span.ep-num").first().text().replace(/\D+/, "")) } }, init(e) { a.storage.addStyle(n(353).toString()), t.$(document).ready((function() { "episode" === e.url.split("/")[3] ? e.handlePage() : "anime" === e.url.split("/")[3] && (e.handlePage(), $("div.col-4.px-0 > button.subdub").unbind("click").click((function() { e.handleList(); }))); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return a; })); const a = { name: "VIZ", domain: "https://www.viz.com", languages: [ "English" ], type: "manga", isSyncPage: t => "shonenjump" === t.split("/")[3] && "chapter" === t.split("/")[5], sync: { getTitle: e => t.$("#product_row > div.bg-lighter-gray.mar-b-md.mar-b-lg--md.chapter_ribbon > div > h3 > a").text(), getIdentifier(e) { const n = t.$("#product_row > div.bg-lighter-gray.mar-b-md.mar-b-lg--md.chapter_ribbon > div > h3 > a").attr("href"); return n ? n.split("/")[3] : ""; }, getOverviewUrl: e => a.domain + (t.$("#product_row > div.bg-lighter-gray.mar-b-md.mar-b-lg--md.chapter_ribbon > div > h3 > a").attr("href") || ""), getEpisode(e) { const n = t.$("#product_row > div.bg-lighter-gray.mar-b-md.mar-b-lg--md.chapter_ribbon > div > h3 > span").text(); if (!n) return NaN; const i = n.match(/\d+/gim); return i && 0 !== i.length ? Number(i[0]) : NaN; } }, overview: { getTitle: e => t.$("#series-intro > div.clearfix.mar-t-md.mar-b-lg > h2").text().trim(), getIdentifier: t => t.split("/")[5], uiSelector(e) { t.$("#series-intro").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".o_sortable-b,.o_sortable"), elementUrl(t) { const e = t.find("a").first().attr("href"); return e ? a.domain + e.replace(/javascript:tryReadChapter\(\d+,'/gi, "").replace(/'\);/g, "") : ""; }, elementEp(t) { const e = t.find("a").first().attr("href"); if (!e || e.match(/javascript:void\('join to read'\);/)) return NaN; let n = t.find("td > div.disp-id.mar-r-sm").text(); if (0 === n.length && (n = t.find("a").first().text().trim()), !n || 0 === n.length) throw "Join to read"; const i = n.match(/\d+/gim); return i ? Number(i[0]) : NaN; } } }, init(e) { i.storage.addStyle(n(355).toString()), t.$(document).ready((function() { "shonenjump" !== e.url.split("/")[3] || "chapter" !== e.url.split("/")[5] && "chapters" !== e.url.split("/")[4] || e.handlePage(); })); } }; }).call(this, n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MangaNato", domain: [ "https://manganato.com", "https://readmanganato.com" ], database: "MangaNato", languages: [ "English" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[3] && t.split("/")[3].startsWith("manga-") && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0, isOverviewPage: t => void 0 !== t.split("/")[3] && t.split("/")[3].startsWith("manga-") && void 0 === t.split("/")[4], getImage: () => $("div.story-info-left > span.info-image > img").attr("src"), sync: { getTitle: e => t.$("div.body-site > div > div.panel-breadcrumb > a:nth-child(3)").text(), getIdentifier: t => i.urlPart(t, 3), getOverviewUrl: e => t.$("div.body-site > div > div.panel-breadcrumb > a:nth-child(3)").attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 4).match(/chapter[_-]\d+/gi); return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0; }, nextEpUrl: e => t.$("div.panel-navigation > div > a.navi-change-chapter-btn-next.a-h").first().attr("href") }, overview: { getTitle: e => t.$("div.panel-story-info > div.story-info-right > h1").text(), getIdentifier: t => i.urlPart(t, 3), uiSelector(e) { t.$("div.panel-story-chapter-list").first().before(t.html(`<div id="malthing" class="panel-story-chapter-list"> <p class="row-title-chapter" style="width: 100%;"><span class="row-title-chapter-name">MAL-Sync</span></p> <div class="panel-story-info-description" style="border-top: 0;margin-top: 0;background: inherit;">${e}</div></div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.panel-story-chapter-list > ul.row-content-chapter > li.a-h"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(String(t.find("a").first().attr("href"))) } }, init(e) { a.storage.addStyle(n(357).toString()), t.$(() => { e.handlePage(); }); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "NekoSama", domain: "https://www.neko-sama.fr", languages: [ "French" ], type: "anime", isSyncPage: e => !!t.$("#watch").length, sync: { getTitle: e => t.$(".details > div > h1 > a").text(), getIdentifier(t) { const e = i.urlPart(t, 5); if (!e) return ""; const n = e.match(/^\d*/); return n && 0 !== n.length ? n[0] : ""; }, getOverviewUrl: e => o.domain + (t.$(".details > div > h1 > a").attr("href") || ""), getEpisode(e) { const n = t.$("#watch > div > div.row.no-gutters.anime-info > div.info > div > div > h2").text(); return n ? Number(n.split(" Episode ").pop()) : NaN; }, nextEpUrl: e => i.absoluteLink(t.$("#watch > div > div:nth-child(2) > div > div.item.right > a.ui.button.small.with-svg-right").attr("href"), o.domain) }, overview: { getTitle: t => i.getBaseText($("#head > div.content > div > div > div > h1")), getIdentifier: t => o.sync.getIdentifier(t), uiSelector(e) { t.$("#head > div.content > div > div > div > div").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("#stats > div > div.episodes > div.row.no-gutters.js-list-episode-container > div > div > div.text"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain), elementEp: t => Number(t.find("a").first().text().replace(/\D+/, "")) } }, init(e) { a.storage.addStyle(n(359).toString()), i.waitUntilTrue((function() { return t.$("#stats,#watch").length; }), (function() { e.handlePage(), t.$(".ui.toggle.checkbox, #stats > div > div.episodes > div > div").click((function() { setTimeout((function() { e.handleList(); }), 500); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeZone", domain: "https://www.animezone.pl", languages: [ "Polish" ], type: "anime", isSyncPage: t => void 0 !== t.split("/")[5], sync: { getTitle: e => t.$(".category-description .panel-title").attr("title") || "", getIdentifier: t => t.split("/")[4], getOverviewUrl: e => i.absoluteLink(t.$(".all-episodes > a").attr("href"), o.domain), getEpisode: t => Number(t.split("/")[5]), nextEpUrl(e) { const n = t.$(".next a").attr("href"); return n ? i.absoluteLink(n, o.domain) : ""; } }, overview: { getTitle: e => t.$(".category-description .panel-title").attr("title") || "", getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$(".ratings .panel-body .description").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("table.episodes > tbody > tr"), elementUrl(t) { const e = t.find("td:nth-child(6) > a").first().attr("href"); return e ? i.absoluteLink(e.replace(/^../gm, ""), o.domain) : ""; }, elementEp(t) { var e, n, i; return Number(null === (i = null === (n = null === (e = t.find("td:nth-child(6) > a").first().attr("href")) || void 0 === e ? void 0 : e.split("/")) || void 0 === n ? void 0 : n[3]) || void 0 === i ? void 0 : i.replace(/\D+/, "")); } } }, init(e) { a.storage.addStyle(n(361).toString()), t.$(document).ready((function() { e.handlePage(); const n = t.$("#episode")[0], i = { attributes: !1, childList: !0, subtree: !0 }, a = new MutationObserver((function(t, e) { for (const n of t) { if ("childList" !== n.type) return; const t = document.querySelector("#episode a, #episode iframe"); if (!t) return; const i = (t instanceof HTMLAnchorElement ? t.href : t.src).replace(/^http:\/\//i, "https://"), a = document.querySelector("#episode .embed-container"); if (!a) return; a.innerHTML = ""; const o = document.createElement("iframe"); o.src = i, o.width = "100%", o.height = "100%", o.setAttribute("allowfullscreen", "true"), a.append(o), e.disconnect(); } })); t.$(".btn.btn-xs.btn-success").each((function(e, o) { t.$(o).click((function() { a.observe(n, i); })); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeOdcinki", domain: "https://anime-odcinki.pl", languages: [ "Polish" ], type: "anime", isSyncPage: t => void 0 !== t.split("/")[5], sync: { getTitle: e => t.$(".field-name-field-tytul-anime a").text(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => i.absoluteLink(t.$(".field-name-field-tytul-anime a").attr("href"), o.domain), getEpisode: t => parseInt(t.split("/")[5]), nextEpUrl: e => t.$("#video-next").attr("href") }, overview: { getTitle: e => t.$(".page-header").text(), getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$("#user-anime-top").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.view-content > ul > li.lista_odc_tytul_pozycja"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp(t) { var e, n, i; return Number(null === (i = null === (n = null === (e = t.find("a").first().attr("href")) || void 0 === e ? void 0 : e.split("/")) || void 0 === n ? void 0 : n[5]) || void 0 === i ? void 0 : i.match(/\d+/gim)); } } }, init(e) { a.storage.addStyle(n(363).toString()), t.$(document).ready((function() { void 0 !== e.url.split("/")[5] ? e.handlePage() : i.waitUntilTrue((function() { return t.$("div.view-content").length; }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Animeflix", domain: "https://animeflix.io", languages: [ "English" ], type: "anime", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: e => t.getBaseText($("h4.title.text-truncate, h4.headline.text-truncate").first()).replace("()", "").trim(), getIdentifier: e => t.urlPart(e, 4), getOverviewUrl: t => `${o.domain}/shows/${o.sync.getIdentifier(t)}`, getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[5]; if (0 === n.length) return NaN; const i = n.match(/episode-\d*-/gi); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN; } }, overview: { getTitle: t => i.$("div.flex.xs12.lg8 > h1").text().trim(), getIdentifier: e => t.urlPart(e, 4), uiSelector(t) { i.$("div.my-3").first().after(i.html(`<div class="container"> ${t}</div>`)); } }, init(e) { function o() { "shows" === e.url.split("/")[3] && t.waitUntilTrue((function() { return !!(i.$("h4.title.text-truncate").text() || i.$("h4.headline.text-truncate").text() || i.$("div.flex.xs12.lg8 > h1").text()); }), (function() { e.handlePage(); })); } a.storage.addStyle(n(365).toString()), o(), t.urlChangeDetect((function() { e.reset(), o(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "serimanga", domain: "https://serimanga.com", languages: [ "Turkish" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: e => t.getBaseText($("#reader > div.read-top-menu > div.rtm-logo > a.back.text-white")).trim(), getIdentifier: e => t.urlPart(e, 4) || "", getOverviewUrl: t => i.$("#reader > div.read-top-menu > div.rtm-logo > a.back.text-white").attr("href") || "", getEpisode: e => parseInt(t.urlPart(e, 5)), nextEpUrl: t => i.$("#chapterButtons2 > div > div:nth-child(2) > a").first().attr("href") }, overview: { getTitle: t => i.$("div.seri-img > div > div > div.name").first().text().trim(), getIdentifier: e => t.urlPart(e, 4) || "", uiSelector(t) { i.$("div.sub-top-text").first().after(i.html(t)); } }, init(t) { a.storage.addStyle(n(367).toString()), i.$(document).ready((function() { "manga" === t.url.split("/")[3] && t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "mangadenizi", domain: "https://mangadenizi.com", languages: [ "Turkish" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: e => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").text(), getIdentifier: t => i.urlPart(t, 4) || "", getOverviewUrl: e => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").attr("href") || "", getEpisode: t => Number(t.split("/")[5]), nextEpUrl(e) { let n = t.$("body > div.container-fluid > script")[0].innerHTML.match(/next_chapter\s*=\s*".*"/gim); return n && 0 !== n.length ? (n = n[0].match(/"(.*?)"/gm), n && 0 !== n.length ? n[0].replace(/(^"|"$)/gm, "") : "") : ""; } }, overview: { getTitle: e => t.$("h2.widget-title").first().text(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$("h2.widget-title").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul.chapters > li"), elementUrl: t => i.absoluteLink(t.find("h5 > a").first().attr("href"), o.domain), elementEp: t => i.absoluteLink(t.find("h5 > a").first().attr("href"), o.domain).split("/")[5] } }, init(e) { a.storage.addStyle(n(369).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "moeclip", domain: "https://moeclip.com", languages: [ "Indonesian" ], type: "anime", isSyncPage: e => !(!t.$("div.video-content")[0] || !t.$("h1.entry-title.title-font")[0]), sync: { getTitle: e => t.$("header h1.entry-title.title-font").text().replace(/\d+\ssub\s*indo/gim, "").trim(), getIdentifier: t => t.split("/")[3].replace(/-\d*-sub-indo.*/gim, "").trim(), getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`, getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[3]; if (0 === n.length) return NaN; const i = n.match(/-\d*-sub-indo.*/gim); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl: e => t.$("div.episode-nav > div.select-episode > div:nth-child(3) > a").first().attr("href") }, overview: { getTitle: t => i.getBaseText($("#data2 > div:nth-child(2)")).trim().replace(/:[ ]*/g, ""), getIdentifier: t => t.split("/")[4].replace(/-sub-indo.*/gim, "").trim(), uiSelector(e) { t.$("div.entry-meta").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("li.episode-list"), elementUrl: t => i.absoluteLink(t.find("div > a").first().attr("href"), o.domain), elementEp: t => Number(t.find("div > a").first().text().replace(/\D+/, "")) } }, init(e) { a.storage.addStyle(n(371).toString()), t.$(document).ready((function() { ("anime" === e.url.split("/")[3] || t.$("div.video-content")[0] && t.$("h1.entry-title.title-font")[0] && t.$("#plv > div.contentsembed > div.episode-nav > div > div.eps-nav.pilih")[0]) && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "mangalivre", domain: "https://mangalivre.net", languages: [ "Portuguese" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[6] && t.split("/")[6].length > 0, sync: { getTitle: e => t.$("div.series-title > span.title").text(), getIdentifier: t => i.urlPart(t, 4) || "", getOverviewUrl: e => o.domain + (t.$("div.series-info-popup-container > div > div > div.series-cover > a").attr("href") || ""), getEpisode: e => parseInt(t.$("span.current-chapter > em[reader-current-chapter]").text()), nextEpUrl(e) { const n = i.absoluteLink(t.$("ul.chapter-list > li.selected").prev("li").find("a").attr("href"), o.domain); if (n) return n; } }, overview: { getTitle: e => t.$("#series-data > div.series-info.touchcarousel > span.series-title > h1").first().text().trim(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$("#series-data > div.series-info.touchcarousel > span.series-desc").first().after(t.html(e)); } }, init(e) { a.storage.addStyle(n(373).toString()), t.$(document).ready((function() { ("manga" === e.url.split("/")[3] || "ler" === e.url.split("/")[3]) && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "tmofans", domain: [ "https://lectortmo.com", "https://tmofans.com" ], languages: [ "Spanish" ], type: "manga", isSyncPage: t => "viewer" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0, sync: { getTitle: e => t.$("#app > section:nth-child(2) > div > div > h1").text().trim(), getIdentifier(e) { const n = t.$("nav.navbar > div > div:nth-child(2) > a").last().attr("href"); return n ? n.split("/")[6] : ""; }, getOverviewUrl: e => t.$("nav.navbar > div > div:nth-child(2) > a").last().attr("href") || "", getEpisode(t) { const e = i.getBaseText($("#app > section:nth-child(2) > div > div > h2").first()).trim(); if (e.length) { const t = e.match(/Capítulo *\d*/gim); if (null !== t) return t[0].replace(/\D+/g, ""); } return ""; } }, overview: { getTitle: t => i.getBaseText($("h1.element-title.my-2").first()).trim(), getIdentifier: t => i.urlPart(t, 6) || "", uiSelector(e) { t.$("header.container-fluid").first().after(t.html(e)); } }, init(e) { a.storage.addStyle(n(375).toString()), t.$(document).ready((function() { ("library" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 || "viewer" === e.url.split("/")[3]) && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "unionmangas", domain: [ "https://unionleitor.top", "https://unionmangas.top" ], languages: [ "Portuguese" ], type: "manga", isSyncPage: t => "leitor" === t.split("/")[3] && void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: e => t.getBaseText($("body > div.breadcrumbs > div > div > a:nth-child(3)")).trim(), getIdentifier(t) { const e = i.$("body > div.breadcrumbs > div > div > a:nth-child(3)").attr("href"); return e ? e.split("/")[4].toLowerCase() : ""; }, getOverviewUrl: t => i.$("body > div.breadcrumbs > div > div > a:nth-child(3)").attr("href") || "", getEpisode: e => parseInt(t.urlPart(e, 5)), nextEpUrl(e) { const n = e.split(/[?#]/)[0], i = $("#capitulo_trocar").find("option:selected").next().attr("value"); if (!i) return ""; const a = n.replace(/\d+$/, i); return void 0 !== i && a !== n ? t.absoluteLink(a, o.domain) : ""; } }, overview: { getTitle: t => i.$("div.row > div.col-md-12 > h2").first().text().trim(), getIdentifier(e) { const n = t.urlPart(e, 4); return n ? n.toLowerCase() : ""; }, uiSelector(t) { i.$("div.row > div.col-md-12 > h2").first().after(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => i.$("div.row.lancamento-linha"), elementUrl: e => t.absoluteLink(e.find("div > a").first().attr("href"), o.domain), elementEp: e => t.absoluteLink(e.find("div > a").first().attr("href"), o.domain).split("/")[5] } }, init(t) { a.storage.addStyle(n(377).toString()), i.$(document).ready((function() { "leitor" !== t.url.split("/")[3] && "perfil-manga" !== t.url.split("/")[3] && "manga" !== t.url.split("/")[3] || t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MangaPlus", domain: "https://mangaplus.shueisha.co.jp", languages: [ "English" ], type: "manga", isSyncPage: t => "viewer" === t.split("/")[3], sync: { getTitle: e => t.$("h1.Navigation-module_title_180OT").first().text(), getIdentifier(e) { const n = t.$("h1.Navigation-module_title_180OT").first().parent().attr("href"); return !n || n.length < 3 ? "" : n.split("/")[2]; }, getOverviewUrl: e => o.domain + (t.$("h1.Navigation-module_title_180OT").first().parent().attr("href") || ""), getEpisode(e) { const n = t.$("p.Navigation-module_chapterTitle_20juD").first().text(); return n ? Number(n.replace(/\D+/g, "")) : NaN; } }, overview: { getTitle: e => t.$("h1.TitleDetailHeader-module_title_Iy33M").first().text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.TitleDetail-module_flexContainer_1oGb4").first().before(t.html(e)); } }, init(e) { a.storage.addStyle(n(379).toString()), "viewer" !== e.url.split("/")[3] && "titles" !== e.url.split("/")[3] || i.waitUntilTrue((function() { return !(!t.$("h1.Navigation-module_title_180OT").text() && !t.$("h1.TitleDetailHeader-module_title_Iy33M").text()); }), (function() { e.handlePage(); })), i.urlChangeDetect((function() { e.reset(), "viewer" !== e.url.split("/")[3] && "titles" !== e.url.split("/")[3] || i.waitUntilTrue((function() { return !(!t.$("h1.Navigation-module_title_180OT").text() && !t.$("h1.TitleDetailHeader-module_title_Iy33M").text()); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "JapScan", domain: "https://www.japscan.ws", languages: [ "French" ], type: "manga", isSyncPage: t => "lecture-en-ligne" === t.split("/")[3], sync: { getTitle: e => t.getBaseText($("ol.breadcrumb > li:nth-child(3) > a").first()).trim(), getIdentifier: t => t.split("/")[4], getOverviewUrl: t => o.domain + (i.$("ol.breadcrumb > li:nth-child(3) > a").first().attr("href") || ""), getEpisode: t => Number(t.split("/")[5]), nextEpUrl(t) { const e = i.$("div.clearfix > p > a").last().attr("href") || ""; return "Chapitre Suivant" === i.$("div.clearfix > p > span").last().text() && e.length ? o.domain + (i.$("div.clearfix > p > a").last().attr("href") || "") : ""; } }, overview: { getTitle: t => i.$("div#main > div.card > div.card-body > h1").first().text().replace(/^[a-z]+/gim, "").trim(), getIdentifier: e => t.urlPart(e, 4), uiSelector(t) { i.$("div#main > div.card > div.card-body > h1").first().after(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => i.$("div#chapters_list > div > div.chapters_list.text-truncate"), elementUrl: e => t.absoluteLink(e.find("a").first().attr("href"), o.domain), elementEp(t) { var e, n, i; return Number(null === (i = null === (n = null === (e = t.find("a").first().attr("href")) || void 0 === e ? void 0 : e.split("/")) || void 0 === n ? void 0 : n[3]) || void 0 === i ? void 0 : i.match(/\d+/gim)); } } }, init(t) { a.storage.addStyle(n(381).toString()), i.$(document).ready((function() { ("manga" === t.url.split("/")[3] || "lecture-en-ligne" === t.url.split("/")[3] && i.$("div#image").length) && t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Goyabu", domain: "https://goyabu.com", languages: [ "Portuguese" ], type: "anime", isSyncPage: t => "videos" === t.split("/")[3], isOverviewPage: t => "assistir" === t.split("/")[3], sync: { getTitle: e => t.$("div.sidebar-holder.kanra-info > span:nth-child(2)").text(), getIdentifier: t => o.sync.getOverviewUrl(t).split("/")[4], getOverviewUrl: e => t.$('div.kanra-controls > a[href*="/assistir/"]').attr("href") || "", getEpisode: e => r(t.$("#main > div > div.left-single > h1").text()), nextEpUrl: e => t.$('div.kanra-controls > a[rel="next"]').first().attr("href") }, overview: { getTitle: e => t.$("div.anime-title > h1").first().text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.anime-single-index.episodes-container").first().before(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.anime-single-index.episodes-container div.anime-episode"), elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain), elementEp: t => r(t.find("h3").text()) } }, init(e) { a.storage.addStyle(n(383).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; function r(t) { if (0 === t.length) return NaN; const e = t.match(/(episódio|episodio)\s*\d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimesVision", domain: "https://animesvision.biz", languages: [ "Portuguese" ], type: "anime", isSyncPage: t => void 0 !== t.split("/")[5], sync: { getTitle: e => t.getBaseText($("div.goblock.play-anime > div.gobread > ol > li.active > h1")).replace(/Dublado/gim, "").replace(/[\s-\s]*$/, "").trim(), getIdentifier: t => t.split("/")[4], getOverviewUrl: t => i.$("#episodes-sv-1 > li > div.sli-name > a").attr("href") || "", getEpisode(e) { const n = t.urlPart(e, 5).replace(/\D+/, ""); return n ? Number(n) : 1; }, nextEpUrl: e => t.absoluteLink(i.$("#nextEp").attr("href"), o.domain) }, overview: { getTitle: e => t.getBaseText($("div.goblock.detail-anime > div.gobread > ol > li.active > span")).replace(/Dublado/gim, "").replace(/[\s-\s]*$/, "").trim(), getIdentifier: e => t.urlPart(e, 4), uiSelector(t) { i.$("div.goblock.detail-anime > div.goblock-content.go-full > div.detail-content").after(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => i.$("#episodes-sv-1 > li.ep-item"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp(t) { var e, n, i; return Number(null === (i = null === (n = null === (e = t.find("a").first().attr("href")) || void 0 === e ? void 0 : e.split("/")) || void 0 === n ? void 0 : n[5]) || void 0 === i ? void 0 : i.replace(/\D+/, "")); } } }, init(t) { a.storage.addStyle(n(385).toString()), i.$(document).ready((function() { "animes" !== t.url.split("/")[3] && "filmes" !== t.url.split("/")[3] || t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return p; })); var r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let s, l, c, d = 0, m = 0, u = !1; const p = { name: "Hulu", domain: "https://www.hulu.com", languages: [ "English" ], type: "anime", isSyncPage: t => "watch" === t.split("/")[3], sync: { getTitle: t => l, getIdentifier: t => `${s}?s=${m}`, getOverviewUrl: t => u ? `${p.domain}/movie/${s}` : `${p.domain}/series/${s}`, getEpisode: t => d, nextEpUrl: t => c }, overview: { getTitle(e) { const n = t.$("div.DetailsDropdown > div > div > button.Select__control > div.Select__single-value, div.DetailsDropdown > div > div > div.Select__control > div.Select__single-value").text().replace(/\D+/g, ""); return void 0 !== n && Number(n) > 1 ? `${l} season ${n}` : l; }, getIdentifier: e => u ? (i.log("movie"), s + "?s=1") : (i.log("not a movie"), `${s}?s=${t.$("div.DetailsDropdown > div > div > button.Select__control > div.Select__single-value, div.DetailsDropdown > div > div > div.Select__control > div.Select__single-value").first().text().replace(/\D+/g, "")}`), uiSelector(e) { t.$("#LevelTwo__scroll-area > div > div > div.Details__subnav").first().before(t.html(e)); } }, init(e) { function h() { $("html").addClass("miniMAL-hide"), "watch" !== e.url.split("/")[3] && "series" !== e.url.split("/")[3] && "movie" !== e.url.split("/")[3] || a.waitUntilTrue((function() { return "series" !== e.url.split("/")[3] || t.$("div.DetailsDropdown > div > div > button.Select__control > div.Select__single-value, div.DetailsDropdown > div > div > .Select__control > div.Select__single-value").first().text(); }), (function() { return r(this, void 0, void 0, (function*() { (yield function() { return r(this, void 0, void 0, (function*() { const t = a.urlPart(window.location.href, 4), e = "https://discover.hulu.com/content/v3/entity?language=en&eab_ids=" + t.substring(t.length - 36, t.length), n = yield o.request.xhr("GET", e), r = JSON.parse(n.responseText); if (!r.items[0].genre_names.includes("Anime") && !r.items[0].genre_names.includes("Animation")) return !1; if (d = parseInt(r.items[0].number), r.items[0].season ? (s = r.items[0].series_id, m = parseInt(r.items[0].season), l = r.items[0].series_name, u = !1) : (s = r.items[0].id, m = 1, l = r.items[0].name, "series" !== window.location.href.split("/")[3] && (u = !0)), m >= 1 && !u && "watch" === window.location.href.split("/")[3]) { const t = `https://discover.hulu.com/content/v4/hubs/series/${s}/season/${m}?offset=0&limit=999&schema=9&referralHost=production`; return o.request.xhr("GET", t).then(t => { const e = JSON.parse(t.responseText); return m > 1 && (d = d - e.items[0].number + 1, l = `${l} season ${m}`), c = void 0 !== e.items[d + 1] ? `${p.domain}/watch/${e.items[d + 1].id}` : void 0, i.log(s), i.log(l), i.log(`episode: ${d} season: ${m}`), void 0 !== s; }); } return i.log(s), i.log(l), i.log(`episode: ${d} season: ${m}`), void 0 !== s; })); }()) && (e.handlePage(), $("html").removeClass("miniMAL-hide"), "series" === e.url.split("/")[3] && $("body").on("DOMSubtreeModified", "div.DetailsDropdown > div > div > button.Select__control > div.Select__single-value", (function() { e.reset(), e.handlePage(), $("html").removeClass("miniMAL-hide"); }))); })); })); } o.storage.addStyle(n(387).toString()), h(), a.urlChangeDetect((function() { e.reset(), i.log("url change"), h(); })); } }; }).call(this, n(2), n(4), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "Hidive", domain: "https://www.hidive.com", languages: [ "English", "Spanish", "Portuguese", "French", "German", "Arabic", "Italian", "Russian" ], type: "anime", isSyncPage: t => "stream" === t.split("/")[3], sync: { getTitle: e => t.$("#TitleDetails").text(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => r.domain + (t.$("#TitleDetails").attr("href") || ""), getEpisode(t) { const e = t.split("/")[5]; return /^\d/.test(e) ? Number(e.slice(8)) : Number(e.slice(4)); }, nextEpUrl(e) { const n = t.$("#StreamNextEpisode .episode-play").attr("data-key"); return n ? n !== e.split("/")[5] ? `${r.domain}/stream/${t.$("#StreamNextEpisode .episode-play").attr("data-videotitle")}/${n}` : void 0 : n; } }, overview: { getTitle: e => t.$("div.text-container a").text().replace("Score It", "").trim(), getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$("div.details").first().after(t.html(`<div class="container"> ${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.episode-slider > div > div > div.cell > div:nth-child(1) > div.hitbox").filter((function() { if (t.$(this).find("div.na").length) return !1; const e = t.$(this).find(".player > a").attr("data-playurl") || ""; return !(!t.$(this).find(".player > a").attr("data-playurl") || window.location.href.split("/")[4] !== e.split("/")[4]); })), elementUrl: t => t.find("div.player > a").attr("data-playurl") || "", elementEp(t) { const e = t.find("div.player > a").attr("data-key"); return e && /^\d/.test(e) ? Number(e.slice(8)) : e ? Number(e.slice(4)) : 0; } } }, init(e) { i.storage.addStyle(n(389).toString()), t.$(document).ready((function() { "stream" !== e.url.split("/")[3] && "tv" !== e.url.split("/")[3] && "movies" !== e.url.split("/")[3] || void 0 === e.url.split("/")[4] || (e.handlePage(), a.urlChangeDetect((function() { o.info("Check"), e.handlePage(); }))); })); } }; }).call(this, n(2), n(0), n(1), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "FallenAngels", domain: "https://manga.fascans.com", languages: [ "English" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: e => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").text().replace(/manga$/gi, "").trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").attr("href") || "", getEpisode: t => Number(t.split("/")[5]), nextEpUrl(e) { const n = t.$("body > div.container-fluid > script").html().match(/next_chapter\s*=\s*".*"/gim); if (!n || 0 === n.length) return ""; const i = n[0].match(/"(.*?)"/gm); return i && 0 !== i.length ? i[0].replace(/(^"|"$)/gm, "") : ""; } }, overview: { getTitle: e => t.$("h2.widget-title").first().text(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("h2.widget-title").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul.chapters > li"), elementUrl: t => i.absoluteLink(t.find("h5 > a").first().attr("href"), o.domain), elementEp: t => i.absoluteLink(t.find("h5 > a").first().attr("href"), o.domain).split("/")[5] } }, init(e) { a.storage.addStyle(n(391).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return l; })); var r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let s = null; const l = { name: "Amazon Prime Video", domain: "https://www.primevideo.com", languages: [ "Many" ], type: "anime", isSyncPage: t => !(!s || !s.ep), sync: { getTitle: e => s && s.title ? $("<div/>").html(t.html(s.title)).text() : "", getIdentifier(t) { if (s && s.id) return s.id; throw "No Id Found"; }, getOverviewUrl(t) { if (s && s.id) return "https://www.primevideo.com/detail/" + s.id; throw "No Id Found"; }, getEpisode: t => s && s.ep ? s.ep : 1 }, overview: { getTitle: t => l.sync.getTitle(t), getIdentifier: t => l.sync.getIdentifier(t), uiSelector(e) { t.$("div.av-detail-section > div > h1").first().before(t.html(e)); } }, init(e) { let d; function m() { return r(this, void 0, void 0, (function*() { if (s = null, d = void 0, e.reset(), $("html").addClass("miniMAL-hide"), "detail" === a.urlPart(window.location.href, 3)) { const t = yield c(window.location.href); if (!t.genres.includes("av_genre_anime")) return void o.error("Not an Anime"); s = t, $("html").removeClass("miniMAL-hide"), e.handlePage(); } })); } i.storage.addStyle(n(393).toString()), t.$(document).ready((function() { m(); })), a.urlChangeDetect((function() { m(); })), a.changeDetect(() => { t.$(".dv-player-fullscreen").length || m(); }, () => t.$(".dv-player-fullscreen").length), a.changeDetect(() => r(this, void 0, void 0, (function*() { if (!d) return void o.error("No Episode Id found"); s = null, e.reset(), $("html").addClass("miniMAL-hide"); const n = yield c(a.absoluteLink(d.vidUrl, l.domain), d.internalId); if (!n.genres.includes("av_genre_anime")) return void o.error("Not an Anime"); n.ep = null; const i = t.$(".dv-player-fullscreen .webPlayer .subtitle").text(); if (i.length) { const t = i.match(/ep..\d*/gim); null !== t && (n.ep = parseInt(t[0].replace(/\D+/g, ""))); } s = n, $("html").removeClass("miniMAL-hide"), e.handlePage(); })), () => { const e = t.$(".dv-player-fullscreen .webPlayer .subtitle").text(); if (e) return e; }), $("html").on("click", "a[data-video-type]", (function(e) { return r(this, void 0, void 0, (function*() { const e = t.$(this).attr("href"), n = t.$(this).attr("data-title-id"); d = { vidUrl: e, internalId: n }; })); })); } }; function c(t, e = 0) { o.log("Request Info", t, e); const n = { id: void 0, title: void 0, genres: [], ep: null, gti: void 0 }, a = [ function(t) { if (t && t.props && t.props.state && t.props.state.self && Object.keys(t.props.state.self).length) { const e = Object.values(t.props.state.self)[0]; e && ("season" === e.titleType || "movie" === e.titleType) && e.compactGTI && e.gti && (n.id = e.compactGTI, n.gti = e.gti); } }, function(t) { if (t && t.props && t.props.state && t.props.state.detail && t.props.state.detail.detail && Object.keys(t.props.state.detail.detail).length) { let i; if (i = n.gti && Object.prototype.hasOwnProperty.call(t.props.state.detail.detail, n.gti) ? t.props.state.detail.detail[n.gti] : Object.values(t.props.state.detail.detail)[0], !i || "season" !== i.titleType && "movie" !== i.titleType || i.title && (n.title = i.title), i && !n.genres.length && i.genres && i.genres.length && (n.genres = i.genres.map(t => t.id)), e && Object.prototype.hasOwnProperty.call(t.props.state.detail.detail, e)) { const i = t.props.state.detail.detail[e]; i.episodeNumber && (n.ep = i.episodeNumber), "Movie" === i.entityType && (n.ep = 1), !n.genres.length && i.genres && i.genres.length && (n.genres = i.genres.map(t => t.id)); } } } ]; return i.request.xhr("GET", t).then(t => { const e = t.responseText.match(/<script type="text\/template">.*(?=<\/script>)/g); if (e && e.length > 0) { const t = e.map(t => JSON.parse(t.replace('<script type="text/template">', ""))); a.forEach(e => { t.forEach(e); }); } return o.log("result", n), n; }); } }).call(this, n(2), n(0), n(1), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return r; })); let o = !1; const r = { name: "MangaKatana", domain: "http://mangakatana.com", languages: [ "English" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: e => t.getBaseText($("#breadcrumb_wrap > ol > li:nth-child(2) > a > span")).trim(), getIdentifier: e => t.urlPart(e, 4), getOverviewUrl: t => i.$("#breadcrumb_wrap > ol > li:nth-child(2) > a").attr("href") || "", getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[5]; if (0 === n.length) return NaN; const i = n.match(/c\d*/gi); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl() { const t = document.querySelector("a.nav_button.next"); return (null == t ? void 0 : t.href.startsWith("javascript")) ? "" : t.href; } }, overview: { getTitle: t => i.$("div.info > h1.heading").first().text().trim(), getIdentifier: e => t.urlPart(e, 4), uiSelector(t) { i.$("#single_book").first().before(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => void 0 !== i.$("div.chapters:not('.uk-hidden') > table > tbody > tr") && i.$("div.chapters:not('.uk-hidden') > table > tbody > tr").length ? i.$("div.chapters:not('.uk-hidden') > table > tbody > tr") : void 0 === window.location.href.split("/")[5] && void 0 !== i.$("#single_book > script").prev().children().children() && i.$("#single_book > script").prev().children().children().length ? (o = !0, i.$("#single_book > script").prev().children().children()) : i.$(".nowaythisexists"), elementUrl: e => o ? t.absoluteLink(e.find("div > div > a").first().attr("href"), r.domain) : t.absoluteLink(e.find("td > div.chapter > a").first().attr("href"), r.domain), elementEp: t => o ? r.sync.getEpisode(String(t.find("div > div > a").first().attr("href"))) : r.sync.getEpisode(String(t.find("td > div.chapter > a").first().attr("href"))) } }, init(t) { a.storage.addStyle(n(395).toString()), i.$(document).ready((function() { "manga" === t.url.split("/")[3] && void 0 !== t.url.split("/")[4] && t.url.split("/")[4].length > 0 && t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "manga4life", domain: "https://manga4life.com", languages: [ "English" ], type: "manga", database: "MangaSee", isSyncPage: t => "read-online" === t.split("/")[3], isOverviewPage: t => "manga" === t.split("/")[3], sync: { getTitle: e => t.getBaseText($("div.MainContainer > div.container > div.row > div.Column > a").first()).trim(), getIdentifier: e => t.urlPart(o.sync.getOverviewUrl(e), 4) || "", getOverviewUrl: e => t.absoluteLink(i.$("div.MainContainer > div.container > div.row > div.Column > a").first().attr("href"), o.domain), getEpisode: e => t.getBaseText($("div.MainContainer > div.container > div.row > div.Column:nth-child(2) > button").first()).match(/\d+/gim) }, overview: { getTitle: t => i.$("div.BoxBody > div.row > div.top-5 > ul > li:nth-child(1) > h1").first().text(), getIdentifier: e => t.urlPart(e, 4) || "", uiSelector(t) { i.$("div.BoxBody > div.row > div.top-5 > ul > li:nth-child(1) > h1").first().after(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => (i.$("div.BoxBody > div.list-group > div.list-group-item.ShowAllChapters").click(), i.$("div.BoxBody > div.list-group > a.list-group-item.ChapterLink")), elementUrl: e => t.absoluteLink(e.attr("href"), o.domain), elementEp: t => Number(t.find("span").first().text().match(/\d+/gim)) } }, init(e) { a.storage.addStyle(n(397).toString()), i.$(document).ready((function() { t.waitUntilTrue((function() { return o.isSyncPage(e.url) ? o.sync.getTitle(e.url) && o.sync.getEpisode(e.url) : !!o.isOverviewPage(e.url) && (o.overview.getTitle(e.url) && !i.$('a[href$="{{vm.ChapterURLEncode(vm.Chapters[vm.Chapters.length-1].Chapter)}}"]').length); }), (function() { o.isOverviewPage(e.url) && e.handlePage(), o.isSyncPage(e.url) && function(t, e) { let n = ""; const i = setInterval((function() { const i = e(); void 0 !== i && n !== i && (n = e(), t()); }), 500); Number(i); }(() => { e.handlePage(); }, () => i.$("div.Column.col-lg-2.col-6 button.btn.btn-sm.btn-outline-secondary.ng-binding").first().text().trim()); })); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "bato", domain: "https://bato.to", languages: [ "Many" ], type: "manga", isSyncPage: t => "chapter" === t.split("/")[3], sync: { getTitle: e => t.$("h3.nav-title > a").text(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4) || "", getOverviewUrl: e => i.absoluteLink(t.$("h3.nav-title > a").attr("href"), o.domain), getEpisode(e) { const n = t.$("div.nav-epis > select > optgroup > option:selected").text(); if (!n) return NaN; const i = n.match(/(ch\.|chapter)\D?\d+/i); return i && 0 !== i.length ? Number(i[0].match(/\d+/)) : NaN; }, nextEpUrl(e) { const n = i.absoluteLink(t.$("div.nav-next > a").first().attr("href"), o.domain); return "chapter" === n.split("/")[3] ? n : ""; } }, overview: { getTitle: e => t.$("h3.item-title > a").first().text(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$("h3.item-title").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.episode-list > div.main > div.item"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain), elementEp(t) { const e = t.find("a > b").text(); if (!e) return NaN; const n = e.match(/(ch\.|chapter)\D?\d+/i); return n && 0 !== n.length ? Number(n[0].match(/\d+/)) : NaN; } } }, init(e) { a.storage.addStyle(n(399).toString()), t.$(document).ready((function() { "chapter" !== e.url.split("/")[3] && "series" !== e.url.split("/")[3] || e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { let r; n.d(e, "a", (function() { return s; })); const s = { name: "DreamSub", domain: "https://dreamsub.cc", languages: [ "Italian" ], type: "anime", isSyncPage: t => r.isStreaming, sync: { getTitle: t => r.animeName, getIdentifier: t => r.clean, getOverviewUrl: t => r.overview_url, getEpisode: t => r.nEpisode, nextEpUrl: t => r.nextEpisode ? r.nextEpisode : "", getMalUrl: t => !!r.mal_id && "https://myanimelist.net/anime/" + r.mal_id }, overview: { getTitle: t => s.sync.getTitle(t), getIdentifier: t => s.sync.getIdentifier(t), uiSelector(e) { t.$("div.detail-content").first().after(t.html(e)); }, getMalUrl: t => !!r.mal_id && "https://myanimelist.net/anime/" + r.mal_id, list: { offsetHandler: !1, elementsSelector: () => t.$("ul#episodes-sv ul.innerSeas > li.ep-item").filter((function(t) { return !$(this).find("div.sli-name > a.disabled").length; })), elementUrl: t => i.absoluteLink(t.find("div.sli-name > a").first().attr("href"), s.domain), elementEp: t => parseInt(s.overview.list.elementUrl(t).split("/")[5]) } }, init(e) { if (a.storage.addStyle(n(401).toString()), "Verifica che non sei un bot | DreamSub" === document.title) return o.log("loading"), void e.cdn(); t.$(document).ready((function() { i.waitUntilTrue((function() { return t.$("#syncData").length; }), (function() { r = JSON.parse(t.$("#syncData").text()), e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MangaPark", domain: "https://mangapark.net", languages: [ "English" ], type: "manga", isSyncPage: t => !!("comic" === t.split("/")[3] && void 0 !== t.split("/")[6] && "chapter" === t.split("/")[6] || "chapter" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4]), isOverviewPage: t => "comic" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0, sync: { getTitle: e => t.getBaseText($("h3.nav-title > a")).trim(), getIdentifier: e => t.urlPart(o.sync.getOverviewUrl(e), 4), getOverviewUrl: e => t.absoluteLink(i.$("h3.nav-title > a").attr("href"), o.domain), getEpisode(t) { let e = i.$("#select-chapters option:selected").text(), n = e.match(/(ch\.|chapter)\D?\d+/i); return null !== n && (e = n[0], n = e.match(/\d+/), null !== n) ? n[0] : NaN; }, getVolume(t) { let e = i.$("#select-chapters option:selected").text(), n = e.match(/(vol\.|volume)\D?\d+/i); return null !== n && (e = n[0], n = e.match(/\d+/), null !== n) ? n[0] : NaN; }, nextEpUrl(e) { const n = t.absoluteLink(i.$("div.nav-next a").attr("href"), o.domain); return o.isSyncPage(n) ? n : ""; } }, overview: { getTitle: t => i.$("h3.item-title > a").first().text().trim(), getIdentifier: e => t.urlPart(e, 4), uiSelector(t) { i.$("div.episode-list").first().before(i.html(t)); } }, init(t) { a.storage.addStyle(n(403).toString()), i.$(document).ready((function() { t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return o; })); let a = !1; const o = { name: "AnimesHouse", domain: "https://animeshouse.net", languages: [ "Portuguese" ], type: "anime", isSyncPage: t => !0, sync: { getTitle: e => a ? t.$("div.sheader > div.data > h1").text() : t.$("#info > h1.epih1").text(), getIdentifier: t => a ? t.split("/")[4] : o.sync.getTitle(t).toLowerCase().replace(/\s+/g, "_"), getOverviewUrl: e => a ? e : t.$("div.pag_episodes > div:nth-child(2) > a").attr("href") || "", getEpisode: e => a ? 1 : Number(t.$("#info > div > h3.epih3").text().replace(/\D+/g, "")) }, init(e) { i.storage.addStyle(n(405).toString()), t.$(document).ready((function() { if (void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0) { if ("episodio" === e.url.split("/")[3]) { const n = t.$("#info > div > h3.epih3").text().toLowerCase(); !n.length || -1 === n.indexOf("episódio") && -1 === n.indexOf("episodio") || -1 !== n.indexOf("ona") || -1 !== n.indexOf("ova") || -1 !== n.indexOf("special") || -1 !== n.indexOf("oad") || -1 !== n.indexOf("oav") || e.handlePage(); } "filme" === e.url.split("/")[3] && (a = !0, e.handlePage()); } })); } }; }).call(this, n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return a; })); const a = { name: "AnimeXin", domain: "https://animexin.xyz", languages: [ "English", "Spanish", "Indonesian", "Portuguese", "Turkish", "Italian" ], type: "anime", isSyncPage: t => "anime" !== t.split("/")[3], sync: { getTitle: e => t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a > span").text(), getIdentifier: t => a.sync.getOverviewUrl(t).split("/")[4], getOverviewUrl: e => t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a").attr("href") || "", getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[3]; if (0 === n.length) return NaN; const i = n.match(/-episode-\d*/gi); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : 1; }, nextEpUrl(e) { const n = t.$("div.naveps.bignav > div:nth-child(3) > a").first().attr("href"); return n && a.sync.getEpisode(e) < a.sync.getEpisode(n) ? n : ""; } }, overview: { getTitle: e => t.$("div.infox > h1.entry-title").text(), getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$("div.infox > h1.entry-title").first().before(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.bixbox.bxcl.epcheck > div.eplister > ul > li"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => a.sync.getEpisode(String(t.find("a").first().attr("href"))) } }, init(e) { i.storage.addStyle(n(407).toString()), t.$(document).ready((function() { ("anime" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length && t.$("div.infox > h1.entry-title").length && t.$("div.bixbox.bxcl.epcheck").length || t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a").length && t.$("div.video-content").length) && e.handlePage(); })); } }; }).call(this, n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MonosChinos", domain: "https://monoschinos2.com", languages: [ "Spanish" ], type: "anime", isSyncPage: t => "ver" === t.split("/")[3], sync: { getTitle: e => t.$("h1.Title-epi").text().replace(/(\d+\s+)(Sub|Dub)(\s+Español)$/gi, "").trim(), getIdentifier: t => o.sync.getOverviewUrl(t).split("/")[4], getOverviewUrl: e => t.$("a.btnWeb.green.Current").attr("href") || "", getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[4]; if (0 === n.length) return NaN; const i = n.match(/episodio-\d+/gi); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl(e) { const n = t.$("a.btnWeb:nth-child(3)").first().attr("href"); return n && o.sync.getEpisode(e) < o.sync.getEpisode(n) ? n : ""; } }, overview: { getTitle: e => t.$("h1.Title").text().replace(/(Sub|Dub)(\s+Español)$/gi, "").trim(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$("h1.Title").first().before(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.SerieCaps > a.item"), elementUrl: t => t.attr("href") || "", elementEp: t => o.sync.getEpisode(String(t.attr("href"))) } }, init(e) { a.storage.addStyle(n(409).toString()), t.$(document).ready((function() { "ver" !== e.url.split("/")[3] && "anime" !== e.url.split("/")[3] || e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeFire", domain: "https://animefire.net", languages: [ "Portuguese" ], type: "anime", isSyncPage: t => "animes" === t.split("/")[3], sync: { getTitle: t => o.sync.getIdentifier(t).replace(/-/g, " "), getIdentifier: t => t.split("/")[4], getOverviewUrl(e) { const n = t.$("li.page-item:nth-child(3) > a.page-link").attr("href"); return n && -1 !== n.indexOf("animes") ? n : t.$("li.page-item:nth-child(4) > a.page-link").attr("href") || ""; }, getEpisode: t => Number(i.urlPart(t, 5)), nextEpUrl: e => t.$("li.page-item:nth-child(5) > a.page-link > span.prox").length ? r(e, t.$("li.page-item:nth-child(5) > a.page-link").attr("href")) : t.$("li.page-item:nth-child(4) > a.page-link > span.prox").length ? r(e, t.$("li.page-item:nth-child(4) > a.page-link").attr("href")) : "" }, init(e) { a.storage.addStyle(n(411).toString()), t.$(document).ready((function() { "animes" === e.url.split("/")[3] && void 0 !== e.url.split("/")[5] && e.handlePage(); })); } }; function r(t, e) { return `${o.domain}/animes/${t.split("/")[4]}/${e}`; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "OtakuFR", domain: "https://otakufr.co", languages: [ "French" ], type: "anime", isSyncPage: t => "episode" === t.split("/")[3] && t.split("/")[4].length > 0, isOverviewPage: t => "anime" === t.split("/")[3] && t.split("/")[4].length > 0, sync: { getTitle: e => t.$('.single-episode > nav li > a[href*="/anime/"]').text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4) || "", getOverviewUrl: e => t.$('.single-episode > nav li > a[href*="/anime/"]').attr("href") || "", getEpisode: t => r(i.urlPart(t, 4)), nextEpUrl(e) { const n = t.$(".players > div > div:nth-child(3) > a").attr("href"); return !n || n.includes("javascript") ? "" : i.absoluteLink(n, o.domain); } }, overview: { getTitle: e => t.$(".list > div").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$(".card").first().before(t.html(e)); }, list: { offsetHandler: !0, elementsSelector: () => t.$("div.list-episodes.list-group > a"), elementUrl: t => i.absoluteLink(t.attr("href"), o.domain), elementEp: t => r(i.urlPart(o.overview.list.elementUrl(t), 4)) } }, init(e) { a.storage.addStyle(n(413).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; function r(t) { const e = t.match(/(\d+-(vostfr|vf))|((vostfr|vf)-\d+)/i); return e && e.length ? Number(e[0].match(/\d+/)[0]) : 1; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Samehadaku", domain: "https://samehadaku.vip", languages: [ "Indonesian" ], type: "anime", isSyncPage: t => "anime" !== t.split("/")[3], sync: { getTitle: e => t.$("div.infoeps > div.episodeinf > div.infoanime > div > div.infox > h2").text(), getIdentifier: t => o.sync.getOverviewUrl(t).split("/")[4], getOverviewUrl: e => i.absoluteLink(t.$("div.naveps > div.nvs.nvsc > a").attr("href"), o.domain), getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[3]; if (0 === n.length) return NaN; const i = n.match(/episode-\d+/gi); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl(e) { const n = t.$("div.naveps > div.nvs.rght > a:not('.nonex')").attr("href"); return n ? i.absoluteLink(n, o.domain) : ""; } }, overview: { getTitle: e => t.$("#infoarea > div > div.infoanime > div.infox > h1.entry-title").text().replace(/subtitle indonesia/i, "").trim(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$("#infoarea > div > div.infoanime > div.infox > h1.entry-title").before(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.lstepsiode.listeps > ul > div > div > li"), elementUrl: t => t.find("div.epsright > span.eps > a").attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(415).toString()), t.$(document).ready((function() { ("anime" === e.url.split("/")[3] || t.$("div.player-area.widget_senction > div.plarea").length && t.$("div.infoeps > div.episodeinf > div.infoanime > div > div.infox > h2").length && t.$("div.naveps > div.nvs.nvsc > a").length) && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { let o; n.d(e, "a", (function() { return r; })); const r = { name: "Tsuki Mangás", domain: "https://www.tsukimangas.com", languages: [ "Portuguese" ], type: "manga", isSyncPage: t => o.isReaderPage, sync: { getTitle: t => o.mangaName, getIdentifier: t => o.identifier, getOverviewUrl: t => o.overview_url, getEpisode: t => o.currentChapter, nextEpUrl: t => o.nextChapter ? o.nextChapter : "", getMalUrl: t => o.myanimelistID && "0" !== o.myanimelistID ? "https://myanimelist.net/manga/" + o.myanimelistID : !("ANILIST" !== t || !o.anilistID || "0" === o.anilistID) && "https://anilist.co/manga/" + o.anilistID }, overview: { getTitle: t => r.sync.getTitle(t), getIdentifier: t => r.sync.getIdentifier(t), uiSelector(e) { t.$("h2").after(t.html(e)); }, getMalUrl: t => r.sync.getMalUrl(t), list: { offsetHandler: !1, elementsSelector: () => t.$("div.over23 > div.allbox > div.allcap"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), r.domain), elementEp: t => i.absoluteLink(t.find("a").first().attr("href"), r.domain).split("/")[7] } }, init(e) { let r; a.storage.addStyle(n(417).toString()); let s = "", l = { currentChapter: null, mangaName: null }; i.fullUrlChangeDetect((function() { e.reset(), clearInterval(r), r = i.waitUntilTrue((function() { if (t.$("#syncData").length) { o = JSON.parse(t.$("#syncData").text()); const e = JSON.stringify(o); if (o.mangaName && e !== s && (l.mangaName !== o.mangaName || l.currentChapter !== o.currentChapter)) return l = o, s = e, !0; } return !1; }), (function() { Object.prototype.hasOwnProperty.call(o, "isReaderPage") && Object.prototype.hasOwnProperty.call(o, "identifier") && Object.prototype.hasOwnProperty.call(o, "overview_url") && e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "mangatx", domain: "https://mangatx.com", languages: [ "English" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: e => t.$("div.entry-header.header > div > div.entry-header_wrap > div > div.c-breadcrumb > ol > li:nth-child(2) > a").text().trim(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => t.$("div.entry-header.header > div > div.entry-header_wrap > div > div.c-breadcrumb > ol > li:nth-child(2) > a").attr("href") || "", getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[5]; if (0 === n.length) return NaN; const i = n.match(/chapter-\d+/gim); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href") }, overview: { getTitle: e => i.getBaseText(t.$("div.profile-manga > div > div > div > div.post-title > h1")).trim(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.page-content-listing.single-page > div > ul > li.wp-manga-chapter"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(419).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { function o() { const t = document.querySelector('a[href^="/anime"]'); if (!t) throw Error("Can't find overview anchor element"); return t; } function r(t) { return t.replace(/(?: |-)[İi]zle.*/i, ""); } n.d(e, "a", (function() { return s; })); const s = { name: "TRanimeizle", domain: "https://www.tranimeizle.net/", languages: [ "Turkish" ], type: "anime", isSyncPage(t) { const e = new URL(t), [, n] = e.pathname.split("/"); return null == n ? void 0 : n.toLowerCase().includes("-bolum-"); }, sync: { getTitle: () => r(o().innerText), getOverviewUrl: () => o().href, getIdentifier: () => { var t; const e = s.sync.getOverviewUrl(""), n = null === (t = s.overview) || void 0 === t ? void 0 : t.getIdentifier(e); if (!n) throw Error("Can't find identifier"); return n; }, getEpisode: t => t ? Number(t.replace(/.*-(\d{1,})-.*/, "$1") || void 0) : NaN, nextEpUrl: () => { const t = document.querySelector(".youtube-wrapper .my-15 a:first-child"); if (!t) throw Error("Can't find next episode anchor element"); if (t.href.includes("izle") && t.href.includes("bolum")) return t.href; } }, overview: { getTitle: () => { const t = document.querySelector(".playlist-title > h1"); if (!t) throw Error("Can't find title element"); return r(t.innerText); }, uiSelector: e => { const n = document.querySelector("div.animeDetail"); if (!n) throw Error("Can't find the element where the status bar will be placed"); const i = document.createElement("div"); n.prepend(i), i.insertAdjacentHTML("beforebegin", t.html(e)); }, getIdentifier: t => { const e = i.urlPart(t, 4); return e || ""; }, list: { offsetHandler: !1, elementsSelector: () => t.$(".animeDetail-items li.episodeBtn"), elementUrl: t => { const e = t.data("slug"); return s.domain + e; }, elementEp: t => { const e = $('meta[itemprop="episodeNumber"]', t); return Number(e.attr("content")); } } }, init(e) { a.storage.addStyle(n(421).toString()), t.$(() => { var t; (s.isSyncPage(e.url) || (t = e.url, /\/anime\//.test(t))) && e.handlePage(); }); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { let o; n.d(e, "a", (function() { return r; })); const r = { name: "Anihub", domain: "https://anihub.tv", languages: [ "Portuguese" ], type: "anime", isSyncPage: t => o.isStreaming, sync: { getTitle: t => o.animeName, getIdentifier: t => o.id, getOverviewUrl: t => o.overview_url, getEpisode: t => o.episode, nextEpUrl: t => o.nextEpisode ? o.nextEpisode : "", getMalUrl: t => !(!o.mal_id || "0" === o.mal_id) && "https://myanimelist.net/anime/" + o.mal_id }, overview: { getTitle: t => r.sync.getTitle(t), getIdentifier: t => r.sync.getIdentifier(t), uiSelector(e) { t.$("div.aniinfos > p > b").after(t.html(e)); }, getMalUrl: t => r.sync.getMalUrl(t) }, init(e) { let r; i.storage.addStyle(n(423).toString()); let s = ""; a.fullUrlChangeDetect((function() { e.reset(), clearInterval(r), r = a.waitUntilTrue((function() { return !(!t.$("#syncData").length || (o = JSON.parse(t.$("#syncData").text()), !o.animeName || o.animeName.toLowerCase().includes("carregando") || JSON.stringify(o) === s) || (s = JSON.stringify(o), 0)); }), (function() { Object.prototype.hasOwnProperty.call(o, "isStreaming") && Object.prototype.hasOwnProperty.call(o, "id") && Object.prototype.hasOwnProperty.call(o, "overview_url") && e.handlePage(); })); })); } }; }).call(this, n(2), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { let r; n.d(e, "a", (function() { return s; })); const s = { name: "AnimeStreamingFR", domain: "https://www.animestreamingfr.fr", languages: [ "French" ], type: "anime", isSyncPage: t => r.isStreaming, sync: { getTitle: t => r.name, getIdentifier: t => r.id, getOverviewUrl: t => r.main_url, getEpisode: t => r.episode, nextEpUrl: t => r.nextEpisode ? r.nextEpisode : "", getMalUrl: t => r.mal_id ? "https://myanimelist.net/anime/" + r.mal_id : !("ANILIST" !== t || !r.anilist_id) && "https://anilist.co/anime/" + r.anilist_id, uiSelector(e) { t.$(r.selector_position).first().append(t.html(e)); } }, init(e) { function s() { e.reset(), e.url.split("/").length > 3 && "anime" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() { return t.$("#syncData").length; }), (function() { const n = t.$("#syncData").text().replace(/"/g, '"'); a.m("json").log(n), r = JSON.parse(n), e.handlePage(); })); } o.storage.addStyle(n(425).toString()), s(), i.urlChangeDetect((function() { s(); })); } }; }).call(this, n(2), n(1), n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Scantrad", domain: "https://scantrad.net", languages: [ "French" ], type: "manga", isSyncPage: t => "mangas" === t.split("/")[3], sync: { getTitle: e => t.urlPart(e, 4).replace(/-/g, " ").replace(/(^\w{1})|(\s+\w{1})/g, t => t.toUpperCase()), getIdentifier: e => t.urlPart(e, 4), getOverviewUrl: () => t.absoluteLink(i.$(".logo_box").first().attr("href"), o.domain), getEpisode: e => parseInt(t.urlPart(e, 5)), nextEpUrl() { const e = i.$("a.next_chapitre").attr("href"); return e && "forum" === e.split("/")[3] ? "" : t.absoluteLink(e, o.domain); } }, overview: { getTitle: () => i.$("div.titre").clone().children().remove().end().text(), getIdentifier: e => t.urlPart(e, 3), uiSelector(t) { i.$(".ct-top").after(i.html(`<h3 class="home-titre" style="margin-top: 31px;">MAL-Sync</h3><div class="new-main">${t}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => i.$("#chapitres > div.chapitre "), elementUrl: e => t.absoluteLink(e.find('a[href*="/mangas/"]').attr("href") || "", o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(t) { a.storage.addStyle(n(427).toString()), i.$(document).ready((function() { ("mangas" === t.url.split("/")[3] && void 0 !== t.url.split("/")[4] || i.$("body > div.main-fiche > div.mf-chapitre > div.ct-top > div.info > div.titre").length && i.$("#chap-top").length) && t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Furyosquad", domain: "https://furyosquad.com/", languages: [ "French" ], type: "manga", isSyncPage: t => "read" === t.split("/")[3], sync: { getTitle: () => t.$(".fs-read-comic-link").text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: () => i.absoluteLink(t.$(".fs-read-comic-link a").attr("href"), o.domain), getVolume: t => parseInt(i.urlPart(t, 6)), getEpisode: t => parseInt(i.urlPart(t, 7)), nextEpUrl() { const e = t.$(".vertical-next-chapter a").attr("href"); return e && 6 === e.split("/").length ? "" : i.absoluteLink(e, o.domain); } }, overview: { getTitle: () => t.$(".fs-comic-title").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$(".comic-info").after(t.html(`<div class="list fs-chapter-list"><div class="group"><div class="title">MAL-Sync</div>${e}</div></div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".group > div.element"), elementUrl: t => i.absoluteLink(t.find('a[href*="/read/"]').attr("href") || "", o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(429).toString()), t.$(document).ready((function() { ("read" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] || t.$(".fs-comic-title").length && t.$("div.main-container-top.comic").length) && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "AnimeId", domain: "https://www.animeid.tv", languages: [ "Spanish" ], type: "anime", isSyncPage: e => "v" === t.urlPart(e, 3), isOverviewPage: t => !!i.$("section#capitulos")[0], sync: { getTitle: t => i.$("#infoanime h1 a")[0].innerText, getIdentifier(t) { var e; return (null === (e = i.$("#infoanime h1 a")[0].getAttribute("href")) || void 0 === e ? void 0 : e.split("/").pop()) || ""; }, getOverviewUrl: t => `${r.domain}${$("#infoanime h1 a")[0].getAttribute("href")}`, getEpisode: t => Number.parseInt(i.$("#infoanime strong")[0].innerText.replace("Capítulo ", "").trim()), nextEpUrl: t => `${r.domain}${i.$(".buttons li a")[2].getAttribute("href")}` }, overview: { getTitle: t => i.$("article hgroup h1").text(), getIdentifier: e => t.urlPart(e, 3), uiSelector(t) { i.$("article").after(i.html(t)); }, list: { offsetHandler: !1, elementsSelector() { const e = window.location.href; document.body.insertAdjacentHTML("afterbegin", '<div id="MALSync" class="MALSync" style="display: none;"><ul id="MALSyncUl" class="MALSyncUl"></ul></div>'); const n = document.getElementById("MALSyncUl"); let a = i.$("section#capitulos li a")[0]; if (a) { a = a.getAttribute("href"); const o = a.split("-").pop(); if (void 0 !== o) for (let a = 1; a < Number.parseInt(o) + 1; a++) null !== n && (n.innerHTML += i.html(`<li><a href="${r.domain}/v/${t.urlPart(e, 3)}-${a}" epi="${a}"></a> </li>`)); } return i.$(".MALSync a"); }, elementUrl: e => t.absoluteLink(e.attr("href"), r.domain), elementEp: t => Number(t.attr("epi")), handleListHook(t, e) { if (t++, e.length - 1 >= t) { const n = `<li><a href="${e[t][0].toString()}"><strong>Capítulo ${t}</strong><small class="right">Siguiente Episodio</small></li><li></li>`; i.$("#listado").prepend(i.html(n)); } } } }, init(t) { a.storage.addStyle(n(431).toString()), o.log("loading"), i.$(document).ready((function() { t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AniMixPlay", domain: "https://animixplay.to", database: "AniMixPlay", languages: [ "English" ], type: "anime", isSyncPage: t => !!t.split("/")[3].startsWith("v"), isOverviewPage: t => "anime" === t.split("/")[3], sync: { getTitle: e => t.$("span.animetitle").text(), getIdentifier: e => r() ? t.$("#animebtn").attr("href").split("/")[2] : "nomal_" + i.urlPart(e, 4), getOverviewUrl: t => r() ? `${o.domain}/anime/${o.sync.getIdentifier(t)}` : t.replace(/ep\d+$/i, "").replace(/\/$/, ""), getEpisode: e => Number(t.$("#epslistplace > button:disabled").last().text().replace(/\D+/g, "")), uiSelector(e) { r() || t.$("button#followbtn").first().after(t.html(e)); }, nextEpUrl(e) { const n = t.$("#epslistplace > button:disabled").last().next(); return n && n.length ? o.overview.list.elementUrl(n) : ""; } }, overview: { getTitle: e => t.$("#animepagetitle").text(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("#animepagetitle").after(t.html("" + e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("#epslistplace > button"), elementUrl(t) { const e = /\/ep\d+$/, n = t.text().replace(/\D+/g, ""), i = window.location.href; return e.test(i) ? i.replace(e, "/ep" + n) : `${i}/ep${n}`; }, elementEp: t => Number(t.text().replace(/\D+/g, "")) } }, init(t) { let e; a.storage.addStyle(n(433).toString()), i.fullUrlChangeDetect((function() { t.reset(), clearInterval(e), e = i.waitUntilTrue((function() { return o.sync.getEpisode(t.url) || o.isOverviewPage(window.location.href); }), (function() { t.handlePage(); })); }), !0); } }; function r() { return t.$("#animebtn[href]").length > 0; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MyAnimeList", domain: "https://myanimelist.net", languages: [ "English" ], type: "anime", isSyncPage: t => !0, sync: { getTitle: e => t.getBaseText(i.$("div.h1-title > div > h1")).trim(), getIdentifier: t => t.split("/")[4], getOverviewUrl: t => t.replace(/\/\d+$/, ""), getEpisode: e => parseInt(t.urlPart(e, 7)), getMalUrl: t => "https://myanimelist.net/anime/" + window.location.href.split("/")[4] }, init(t) { a.storage.addStyle(n(435).toString()), i.$(document).ready((function() { void 0 !== t.url.split("/")[7] && t.url.split("/")[7].length > 0 && i.$("div.video-embed.clearfix").length && t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { let r; n.d(e, "a", (function() { return s; })); const s = { name: "AnimeSimple", domain: "https://ww1.animesimple.com", database: "AnimeSimple", languages: [ "English" ], type: "anime", isSyncPage: t => r.page && "episode" === r.page, isOverviewPage: t => r.page && "anime" === r.page, sync: { getTitle: t => r.name, getIdentifier: t => r.anime_id, getOverviewUrl: t => r.series_url, getEpisode: t => r.episode, nextEpUrl: t => r.next_episode_url ? r.next_episode_url : "", getMalUrl: t => !!r.mal_id && "https://myanimelist.net/anime/" + r.mal_id }, overview: { getTitle: t => s.sync.getTitle(t), getIdentifier: t => s.sync.getIdentifier(t), uiSelector(e) { t.$(r.selector_position).first().after(t.html(e)); }, getMalUrl: t => s.sync.getMalUrl(t), list: { offsetHandler: !1, elementsSelector: () => t.$("#episode-list > a"), elementUrl: t => t.attr("href") || "", elementEp(t) { const e = i.getBaseText($(t)); return e.toLowerCase().includes("episode") ? Number(e.replace(/\D+/g, "")) : NaN; }, paginationNext(e) { let n; return a.log("updatecheck", e), e ? (n = t.$("ul.pagination > li.page-item > a").last(), void 0 !== n[0] && !n.hasClass("active") && (n[0].click(), !0)) : (n = t.$("ul.pagination > li.active.page-item").next("li").find("a"), void 0 !== n[0] && (n[0].click(), !0)); } } }, init(e) { o.storage.addStyle(n(437).toString()), t.$(document).ready((function() { i.waitUntilTrue((function() { return t.$("#syncData").length; }), (function() { r = JSON.parse(t.$("#syncData").text()), e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeUnity", domain: "https://animeunity.it", languages: [ "Italian" ], type: "anime", isSyncPage: t => !(void 0 === t.split("/")[4] || !t.split("/")[4].length), sync: { getTitle: e => t.$("div.general > h1.title").text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`, getEpisode(e) { const n = Number(t.$("div.episode-wrapper > div.episode.episode-item.active").text().trim()); return n || 1; }, uiSelector(e) { t.$("div.general > h1.title").after(t.html(e)); } }, init(t) { a.storage.addStyle(n(439).toString()), i.fullUrlChangeDetect((function() { t.reset(), t.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { let o; n.d(e, "a", (function() { return r; })); const r = { name: "JustAnime", domain: "https://justanime.app", languages: [ "English" ], type: "anime", isSyncPage: t => o.page && "episode" === o.page, isOverviewPage: t => o.page && "anime" === o.page, sync: { getTitle: t => o.name, getIdentifier: t => o.mal_id, getOverviewUrl: t => o.series_url, getEpisode: t => o.episode, nextEpUrl: t => o.next_episode_url ? o.next_episode_url : "", getMalUrl: t => "https://myanimelist.net/anime/" + r.sync.getIdentifier(window.location.href) }, overview: { getTitle: t => r.sync.getTitle(t), getIdentifier: t => r.sync.getIdentifier(t), uiSelector(e) { t.$(o.selector_position).first().after(t.html(e)); }, getMalUrl: t => r.sync.getMalUrl(t), list: { offsetHandler: !1, elementsSelector: () => t.$("#episodeswrapper > #episodes > button"), elementUrl: t => t.attr("episodeurl") || "", elementEp(t) { const e = i.getBaseText($(t).find("span")); return e.toLowerCase().includes("next") ? NaN : e.toLowerCase().includes("movie") ? 1 : Number(e.replace(/\D+/g, "")); } } }, init(e) { let r, s; a.storage.addStyle(n(443).toString()), i.fullUrlChangeDetect((function() { e.reset(), clearInterval(r), r = i.waitUntilTrue((function() { return !(!t.$("#syncData").length || (o = JSON.parse(t.$("#syncData").text()), JSON.stringify(o) === s) || (s = JSON.stringify(o), 0)); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "YayAnimes", domain: "https://yayanimes.net", languages: [ "Portuguese" ], type: "anime", isSyncPage: t => !(!o.sync.getEpisode(t) || o.isOverviewPage(t)), isOverviewPage: e => !!(o.overview.getTitle(e) && o.overview.getIdentifier(e) && t.$("div.boxAnimeSobre").length), sync: { getTitle(e) { const n = t.$("#content > div:nth-child(1) > div > h1 > div > b > p > span").text(); if (!n) return ""; return n.replace(/–.*$/, "").trim(); }, getIdentifier(t) { const e = o.sync.getOverviewUrl(t); return e ? e.split("/")[3] : ""; }, getOverviewUrl(e) { const n = t.$("div.pag_episodes > div:nth-child(2) > a").attr("href"); return n || ""; }, getEpisode(t) { const e = t.split("/")[3], n = e.match(/episodio-\d+/gi); return n ? Number(n[0].replace(/\D+/g, "")) : e.includes("filme") ? 1 : NaN; }, nextEpUrl(e) { const n = t.$("div.pag_episodes > div:nth-child(3) > a").attr("href"); return n || ""; } }, overview: { getTitle: t => o.sync.getTitle(t), getIdentifier: t => i.urlPart(t, 3), uiSelector(e) { t.$("#content > div.contentBox > div > div > div.boxAnimeSobre").after(t.html(e)); } }, init(e) { a.storage.addStyle(n(445).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return a; })); const a = { name: "DesuOnline", domain: "https://desu-online.pl", languages: [ "Polish" ], type: "anime", isSyncPage: t => "anime" !== t.split("/")[3], sync: { getTitle: e => t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a > span").text(), getIdentifier: t => a.sync.getOverviewUrl(t).split("/")[4], getOverviewUrl: e => t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a").attr("href") || "", getEpisode(t) { const e = t.split("/")[3].match(/-odcinek-\d*/gi); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl(e) { const n = t.$("div.naveps.bignav > div:nth-child(3) > a").first().attr("href"); return n && a.sync.getEpisode(e) < a.sync.getEpisode(n) ? n : ""; } }, overview: { getTitle: e => t.$("div.infox > h1.entry-title").text(), getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$("div.infox > h1.entry-title").first().before(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.bixbox.bxcl.epcheck > div.eplister > ul > li"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => a.sync.getEpisode(String(t.find("a").first().attr("href"))) } }, init(e) { i.storage.addStyle(n(447).toString()), t.$(document).ready((function() { ("anime" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length && t.$("div.infox > h1.entry-title").length && t.$("div.bixbox.bxcl.epcheck").length || t.$("div.ts-breadcrumb.bixbox > ol > li:nth-child(2) > a").length && t.$("div.video-content").length) && e.handlePage(); })); } }; }).call(this, n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { let o, r; n.d(e, "a", (function() { return s; })); const s = { name: "Simplyaweeb", domain: "https://simplyaweeb.com", languages: [ "English" ], type: "anime", isSyncPage: t => !0, sync: { getTitle: t => o.name, getIdentifier: t => o.id, getOverviewUrl: t => o.series_url, getEpisode: t => o.episode, nextEpUrl: t => o.next_episode_url ? o.next_episode_url : "" }, init(e) { t.storage.addStyle(n(449).toString()), i.changeDetect((function() { const t = a.$("#syncData").text(); t && (clearTimeout(r), r = i.waitUntilTrue(() => !$(".preloader-load.changed-indicate").length, () => { const n = JSON.parse(t); n && n.length && (o = n[0], "anime" === o.type ? (s.type = "anime", s.database = "Gogoanime") : s.type = "manga", e.handlePage()); })); }), () => { const t = a.$("#syncData").text(); return t || e.reset(), t; }); } }; }).call(this, n(0), n(1), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Animevibe", domain: [ "https://animevibe.wtf", "https://animemate.xyz" ], languages: [ "English" ], type: "anime", isSyncPage: t => "ani" === t.split("/")[3], sync: { getTitle: e => t.getBaseText(i.$("div.episode-title-episode > h3")).trim(), getIdentifier: e => t.urlPart(e, 4), getOverviewUrl: t => `${o.domain}/ani/${o.sync.getIdentifier(t)}/1/`, getEpisode: e => t.urlPart(e, 5) ? parseInt(t.urlPart(e, 5)) : 1, nextEpUrl: t => i.$('div.player-section.container-fluid > a:contains("Next Episode")').attr("href"), uiSelector(t) { i.$("div.episode-title-episode > h3").after(i.html(t)); } }, overview: { getTitle: t => "", getIdentifier: t => "", uiSelector(t) {}, list: { offsetHandler: !1, elementsSelector: () => i.$("#collapse-episode > div.wrap-episode-list > a, #collapse-episode > div.wrap-episode-list > button"), elementUrl: t => `${o.domain}/ani/${o.sync.getIdentifier(window.location.href)}/${t.text().trim()}/`, elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(t) { a.storage.addStyle(n(451).toString()), i.$(document).ready((function() { t.handlePage(); })); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "WuxiaWorld", domain: "https://wuxiaworld.site", languages: [ "English" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, isOverviewPage: t => void 0 !== t.split("/")[4] && t.split("/")[4].length > 0, sync: { getTitle: e => t.$("div.entry-header > div > div.entry-header_wrap > div > div.c-breadcrumb > ol > li:nth-child(2) > a").text().replace(/(comics|comic)\s*$/i, "").trim(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => t.$("div.entry-header> div > div.entry-header_wrap > div > div.c-breadcrumb > ol > li:nth-child(2) > a").attr("href") || "", getEpisode(t) { const e = t.split("/")[5].match(/(chapter|ch)-\d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl: e => t.$("div.entry-header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href") }, overview: { getTitle: e => i.getBaseText(t.$("div.profile-manga > div > div > div > div.post-title > h1")).replace(/(comics|comic)\s*$/i, "").trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.profile-manga > div > div > div > div.post-title > h1").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.page-content-listing.single-page > div > ul > li.wp-manga-chapter"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), r.domain), elementEp: t => r.sync.getEpisode(r.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(453).toString()), t.$(document).ready((function() { if (r.isSyncPage(e.url)) t.$(".entry-content .reading-content img").length ? e.novel = !1 : e.novel = !0, e.handlePage(); else if (r.isOverviewPage(e.url)) { const n = t.$('div.post-content > div.post-content_item > div.summary-heading > h5:contains("Type")').parent().parent().find("div.summary-content").text().toLowerCase(); n.includes("manga") || n.includes("comic") ? (e.novel = !1, e.handlePage()) : n.includes("novel") ? (e.novel = !0, e.handlePage()) : o.error("could not detect type"); } else o.error("could not detect page"); })); } }; }).call(this, n(2), n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeOnDemand", domain: "https://www.anime-on-demand.de", languages: [ "German" ], type: "anime", isSyncPage: t => "anime" === t.split("/")[3] && void 0 !== t.split("/")[4] && t.split("/")[4].length > 0, sync: { getTitle: e => t.$("div.l-mainsection > div.l-maincontent > div> h1[itemprop=name]").text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`, getEpisode(e) { const n = t.$("#player_container div.jw-title > div.jw-title-primary").text(); return n.length ? void 0 !== r(n) ? Number(r(n)) : 1 : NaN; }, uiSelector(e) { t.$("div.l-mainsection > div.l-maincontent > div> h1[itemprop=name]").after(t.html(e)); } }, init(t) { a.storage.addStyle(n(455).toString()), i.changeDetect((function() { t.reset(), t.handlePage(); }), () => "" + o.sync.getEpisode(t.url)); } }; function r(t) { if (!t) return; let e = []; return e = t.match(/(ep\.|episode)\D?\d+/i), null !== e && (e = (t = e[0]).match(/\d+/), null !== e) ? e[0] : void 0; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "LeviatanScans", domain: "https://leviatanscans.com", languages: [ "English" ], type: "manga", isSyncPage: t => $("div.wp-manga-nav").length > 0, isOverviewPage: e => t.$("ul > li.wp-manga-chapter").length > 0, sync: { getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(), getIdentifier: t => i.urlPart(t, 5), getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 6); return e.match(/season-\d+/gim) ? Number(i.urlPart(t, 7)) : Number(e); }, nextEpUrl: e => t.$(".nav-links .next_page").attr("href") }, overview: { getTitle: e => t.$(t.$("ol.breadcrumb li a")[2]).text().trim(), getIdentifier: t => i.urlPart(t, 5), uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul > li.wp-manga-chapter"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(459).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[4] && void 0 !== e.url.split("/")[5] && e.url.split("/")[5].length > 0 && i.waitUntilTrue((function() { return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "SKScans", domain: "https://skscans.com", languages: [ "English" ], type: "manga", isSyncPage: e => t.$("div.wp-manga-nav").length > 0, isOverviewPage: e => t.$("ul > li.wp-manga-chapter").length > 0, sync: { getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 5); return e.match(/season-\d+/gim) ? Number(i.urlPart(t, 6)) : Number(e); }, nextEpUrl: e => t.$(".nav-links .next_page").first().attr("href") }, overview: { getTitle: e => t.$(t.$("ol.breadcrumb li a")[2]).text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul > li.wp-manga-chapter"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(461).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() { return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "DeathTollScans", domain: "https://reader.deathtollscans.net", languages: [ "English" ], type: "manga", isSyncPage: t => "read" === t.split("/")[3], isOverviewPage: e => !!t.$("div.comic.info").length, sync: { getTitle: e => t.$("div.tbtitle div.text a").first().text(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => t.$("div.tbtitle div.text a").first().attr("href") || "", getEpisode: t => Number(t.split("/")[7]), getVolume: t => Number(t.split("/")[6]), nextEpUrl: e => t.$(`div.tbtitle ul.dropdown li a[href='${t.$("div.tbtitle div.text a").eq(1).attr("href")}']`).parent().prev().find("a").attr("href") }, overview: { getTitle: e => t.$("h1.title").first().text().trim(), getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$("h1.title").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.group div.element"), elementUrl: t => i.absoluteLink(t.find("div.title a").first().attr("href"), o.domain), elementEp: t => parseInt(o.overview.list.elementUrl(t).split("/")[7]) } }, init(e) { a.storage.addStyle(n(463).toString()), t.$(document).ready((function() { "series" !== e.url.split("/")[3] && "read" !== e.url.split("/")[3] || e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "KireiCake", domain: "https://reader.kireicake.com", languages: [ "English" ], type: "manga", isSyncPage: t => "read" === t.split("/")[3], isOverviewPage: e => !!t.$("div.list").length, sync: { getTitle: e => t.$("div.topbar_left h1 a").first().text(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => t.$("div.topbar_left h1 a").first().attr("href") || "", getEpisode: t => Number(t.split("/")[7]), getVolume: t => Number(t.split("/")[6]), nextEpUrl(e) { const n = t.$(`select option[value='${t.$("div.topbar_left form").last().find("select option").first().attr("value")}']`).last().prev().attr("value"); if (t.$("div.topbar_left form").last().find("select option").first().attr("value") !== n) return n; } }, overview: { getTitle: e => t.$("h1.title").first().text().trim(), getIdentifier: t => t.split("/")[4], uiSelector(e) { t.$("h1.title").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.list div.element"), elementUrl: t => i.absoluteLink(t.find("div.title a").first().attr("href"), o.domain), elementEp: t => parseInt(o.overview.list.elementUrl(t).split("/")[7]) } }, init(e) { a.storage.addStyle(n(465).toString()), t.$(document).ready((function() { "series" !== e.url.split("/")[3] && "read" !== e.url.split("/")[3] || e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "SenseScans", domain: "https://sensescans.com", languages: [ "English" ], type: "manga", isSyncPage: t => "read" === t.split("/")[4], isOverviewPage: e => !!t.$("div.comic.info").length, sync: { getTitle: e => t.$("div.tbtitle div.text a").first().text(), getIdentifier: t => t.split("/")[5], getOverviewUrl: e => t.$("div.tbtitle div.text a").first().attr("href") || "", getEpisode: t => Number(t.split("/")[8]), getVolume: t => Number(t.split("/")[7]), nextEpUrl: e => t.$(`div.tbtitle ul.dropdown li a[href='${t.$("div.tbtitle div.text a").eq(1).attr("href")}']`).parent().prev().find("a").attr("href") }, overview: { getTitle: e => t.$("h1.title").first().text().trim(), getIdentifier: t => t.split("/")[5], uiSelector(e) { t.$("h1.title").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.group div.element"), elementUrl: t => i.absoluteLink(t.find("div.title a").first().attr("href"), o.domain), elementEp: t => parseInt(o.overview.list.elementUrl(t).split("/")[8]) } }, init(e) { a.storage.addStyle(n(467).toString()), t.$(document).ready((function() { "reader" !== e.url.split("/")[3] || "series" !== e.url.split("/")[4] && "read" !== e.url.split("/")[4] || e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "ManhuaPlus", domain: "https://manhuaplus.com", languages: [ "English" ], type: "manga", isSyncPage: t => t.split("/")[5].indexOf("chapter") >= 0, sync: { getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 5).match(/chapter-\d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href") }, overview: { getTitle: e => t.$(t.$("ol.breadcrumb li a")[2]).text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul > li.wp-manga-chapter"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(469).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() { return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Readm", domain: "https://readm.org", languages: [ "English" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, isOverviewPage: t => void 0 !== t.split("/")[4] && t.split("/")[4].length > 0, sync: { getTitle: e => t.$("h1.page-title > a").text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => i.absoluteLink(t.$("h1.page-title > a").attr("href"), o.domain), getEpisode: t => parseInt(i.urlPart(t, 5)) || 1, nextEpUrl: e => i.absoluteLink(t.$("#series-tabs > a.item.navigate.ch-next-page.navigate-next").attr("href"), o.domain) }, overview: { getTitle: e => t.$("h1.page-title").text().trim(), getIdentifier: t => o.sync.getIdentifier(t), uiSelector(e) { t.$("#router-view > div > div.ui.grid").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.season-list-column > div.ui.tab div.item tr"), elementUrl: t => i.absoluteLink(t.find("h6 > a").attr("href"), o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(471).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "tioanime", domain: "https://tioanime.com", languages: [ "Spanish" ], type: "anime", isSyncPage: t => "ver" === t.split("/")[3], sync: { getTitle: e => t.$("div.container div.episode-single h1.anime-title").text().replace(/ \d+$/, ""), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => i.absoluteLink(t.$('div.episode-single div.options > div.episodes-nav > span > a[href^="/anime/"]').first().attr("href"), o.domain), getEpisode: t => parseInt(t.match(/-(\d+$)/)[1]), nextEpUrl: e => i.absoluteLink(t.$('div.episode-single div.options > div.episodes-nav > span > a[href^="/ver/"]').eq(1).attr("href"), o.domain) }, overview: { getTitle: e => t.$("article h1.title").text(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$(".principal").first().prepend(t.html(`<div class="info">${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("section > ul.episodes-list > li > a"), elementUrl: t => i.absoluteLink(t.attr("href"), o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) }, getMalUrl(t) { const e = $("body").html().match(/api\.jikan\.moe\/v\d+\/anime\/(\d+)/im); return !(!e || !e.length) && "https://myanimelist.net/anime/" + e[1]; } }, init(e) { a.storage.addStyle(n(473).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { let o; n.d(e, "a", (function() { return r; })); const r = { name: "YugenAnime", domain: "https://yugenani.me", languages: [ "English" ], type: "anime", database: "YugenAnime", isSyncPage: t => o.page && "episode" === o.page, isOverviewPage: t => o.page && "anime" === o.page, sync: { getTitle: t => o.name, getIdentifier: t => o.anime_id, getOverviewUrl: t => o.series_url, getEpisode: t => o.episode, nextEpUrl: t => o.next_episode_url ? o.next_episode_url : "", getMalUrl: t => !!o.mal_id && "https://myanimelist.net/anime/" + o.mal_id }, overview: { getTitle: t => r.sync.getTitle(t), getIdentifier: t => r.sync.getIdentifier(t), uiSelector(e) { t.$(o.selector_position).first().after(t.html(e)); }, getMalUrl: t => r.sync.getMalUrl(t) }, init(e) { i.storage.addStyle(n(475).toString()), t.$(document).ready((function() { a.waitUntilTrue((function() { return t.$("#syncData").length; }), (function() { o = JSON.parse(t.$("#syncData").text()), e.handlePage(); })); })); } }; }).call(this, n(2), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MangaSee", domain: "https://mangasee123.com", languages: [ "English" ], type: "manga", database: "MangaSee", isSyncPage: t => "read-online" === t.split("/")[3], isOverviewPage: t => "manga" === t.split("/")[3], getImage: () => $("div.container.MainContainer div.row > div > img.img-fluid").attr("src"), sync: { getTitle: e => t.$("div.Column.col-lg-4.col-12").first().text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => i.absoluteLink(t.$("div.Column.col-lg-4.col-12 a").first().attr("href"), o.domain), getEpisode(t) { const e = i.urlPart(t, 4).match(/chapter-\d+/gim); return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0; }, getVolume(t) { const e = i.urlPart(t, 4).match(/index-\d+/gim); return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0; } }, overview: { getTitle: e => t.$("li.list-group-item").first().text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$(t.$("li.list-group-item")[1]).after(t.html(`<li class="list-group-item d-none d-sm-block"><span class="mlabel">MAL-Sync:</span>${e}</li>`)); }, list: { offsetHandler: !1, elementsSelector: () => (t.$("div.list-group-item.ShowAllChapters").click(), t.$("a.list-group-item.ChapterLink")), elementUrl: t => i.absoluteLink(t.attr("href"), o.domain) || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(477).toString()), t.$(document).ready((function() { i.waitUntilTrue((function() { return o.isSyncPage(e.url) ? o.sync.getTitle(e.url) && o.sync.getEpisode(e.url) : !!o.isOverviewPage(e.url) && (o.overview.getTitle(e.url) && !t.$('a[href$="{{vm.ChapterURLEncode(vm.Chapters[vm.Chapters.length-1].Chapter)}}"]').length); }), (function() { o.isOverviewPage(e.url) && e.handlePage(), o.isSyncPage(e.url) && function(t, e) { let n = ""; const i = setInterval((function() { const i = e(); void 0 !== i && n !== i && (n = e(), t()); }), 500); Number(i); }(() => { e.handlePage(); }, () => t.$("div.Column.col-lg-2.col-6 button.btn.btn-sm.btn-outline-secondary.ng-binding").first().text().trim()); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeTribes", domain: "https://animetribes.ru", languages: [ "English" ], type: "anime", isSyncPage: t => "watch" === t.split("/")[3] && void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: e => t.$("div.video-info-title > h1").text(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => i.absoluteLink(t.$("#dropdown-menu > div.dropdown-content > a").last().attr("href"), o.domain), getEpisode: t => i.urlPart(t, 5) ? parseInt(i.urlPart(t, 5)) : 1, nextEpUrl: e => i.absoluteLink(t.$("nav.pagination span.typcn.typcn-media-fast-forward").parent("a").attr("href"), o.domain), uiSelector(e) { t.$("div.video-info-title > h1").after(t.html(e)); } }, overview: { getTitle: t => "", getIdentifier: t => "", uiSelector(t) {}, list: { offsetHandler: !1, elementsSelector: () => t.$("#dropdown-menu > div.dropdown-content > a"), elementUrl: t => i.absoluteLink(t.attr("href"), o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(479).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Okanime", domain: "https://okanime.tv", type: "anime", languages: [ "Arabic" ], isOverviewPage: e => "animes" === t.urlPart(e, 3) || "movies" === t.urlPart(e, 3), isSyncPage: e => "episodes" === t.urlPart(e, 5) || "movies" === t.urlPart(e, 3) && "watch" === t.urlPart(e, 5), overview: { getTitle: t => r(t) ? i.$(".author-info-title > span").first().text() : o.sync.getTitle(t), getIdentifier: e => r(e) ? t.urlPart(e, 4) : o.sync.getIdentifier(e), uiSelector: t => { i.$("div.whitebox .whitebox-wrap .review-author-info .author-info-title").first().append(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => r(window.location.href) ? i.$("#episodes .enable-photos-box a:not(.btn)") : i.$(".result-item.episode"), elementUrl: e => t.absoluteLink(e.attr("href"), o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)), getTotal: () => r(window.location.href) ? Number(i.$("div.review-author-wrap .content-block .full-list-info:last-child small:last-child").first().text().split("/")[1]) : void 0 } }, sync: { getTitle: t => i.$(".summary-block p a").first().text(), getIdentifier: e => t.urlPart(e, 4), getOverviewUrl: t => "" + t.split("/").slice(0, 5).join("/"), getEpisode: e => Number(t.urlPart(e, 6).split("-").slice(-2)[0]), nextEpUrl: e => t.absoluteLink(i.$("div.action-tiem.backward a").first().attr("href"), o.domain), uiSelector: t => { i.$("div.user-block .translated-box").first().prepend(i.html(t)); } }, init(e) { a.storage.addStyle(n(481).toString()), i.$(() => { t.waitUntilTrue(() => o.overview.list.elementsSelector().length, () => { e.handlePage(); }); }); } }, r = t => { const e = t.split("/"); return ("animes" === e[3] || "movies" === e[3]) && 5 === e.length; }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { domain: "https://bs.to", languages: [ "German" ], name: "bs.to", type: "anime", isSyncPage: t => "serie" === t.split("/")[3] && t.split("/").length > 7, isOverviewPage: t => "serie" === t.split("/")[3] && t.split("/").length >= 4, sync: { getTitle: t => o.overview.getTitle(t), getIdentifier: t => o.overview.getIdentifier(t), getOverviewUrl: t => t.split("/").slice(0, 5).join("/"), getEpisode: e => Number(t.$(".episode .active > a").text()), nextEpUrl(e) { const n = o.sync.getEpisode(e) + 1, a = t.$(`.e${n} > a`); return a.length ? i.absoluteLink(a.attr("href"), o.domain) : ""; }, uiSelector(e) { t.$(".selectors").first().before(t.html(`<div class="MALContainer"> ${e}</div>`)); } }, overview: { getTitle(e) { let n = i.getBaseText(t.$("h2").first()).trim(); n = n.split("|")[0]; let a = 1; return i.urlPart(e, 5) && (a = Number(i.urlPart(e, 5))), `${n} ${a}`; }, getIdentifier(t) { const e = t.split("/")[4]; let n = 1; return i.urlPart(t, 5) && (n = Number(i.urlPart(t, 5))), `${e}?s=${n}`; }, uiSelector(e) { t.$(".selectors").first().before(t.html(`<div class="MALContainer"> ${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$('table.episodes tr, div.episode li[class^="e"]'), elementUrl(t) { const e = t.find("a").first().attr("href"); return e || ""; }, elementEp(t) { const e = t.find("a").first().text(); return e ? Number(e) : NaN; } } }, init(e) { a.storage.addStyle(n(483).toString()), t.$(document).ready((function() { t.$("body").append('<script>var openWindow = window.open; window.open = function (url, windowName, windowFeatures) {if(!url.startsWith("https://vivo")) openWindow(url, windowName, windowFeatures)}<\/script>'), $("html").addClass("miniMAL-hide"), t.$('.infos span:contains("Genres")').next("p").text().indexOf("Anime") >= 0 && 0 !== parseInt(i.urlPart(e.url, 5)) && ($("html").removeClass("miniMAL-hide"), e.handlePage()); })), i.waitUntilTrue((function() { return t.$('div.hoster-player > a[href^="https://vivo"]').length; }), (function() { const e = t.$('div.hoster-player > a[href^="https://vivo"]').attr("href").split("/"), n = e.pop(); e.push("embed"), e.push(n); const i = e.join("/"); t.$("div.hoster-player").html(""), t.$("div.hoster-player").append(`<iframe src="${i}" width="560" height="315" scrolling="no" frameborder="0" allowfullscreen></iframe>`); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Pantsubase", domain: "https://pantsubase.tv", languages: [ "English" ], type: "anime", isSyncPage: t => "watch" === t.split("/")[3], isOverviewPage: t => "anime" === t.split("/")[3], sync: { getTitle: e => t.$('div.breadcrumb a[href*="/anime/"] > span').text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => i.absoluteLink(t.$('div.breadcrumb a[href*="/anime/"]').attr("href"), o.domain), getEpisode(t) { const e = i.urlPart(t, 4).match(/-episode-\d*/gi); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl: e => i.absoluteLink(t.$('div.theatre-settings > div.row a:contains("Next")').attr("href"), o.domain) }, overview: { getTitle: e => t.$("div.info > h1 > div").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.info > h1").after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul.episode > li.epi-me"), elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(485).toString()), t.$(document).ready((function() { i.waitUntilTrue((function() { return o.sync.getTitle(e.url) || o.overview.getTitle(e.url) && o.overview.list.elementsSelector().length; }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeOwl", domain: "https://animeowl.net", languages: [ "English" ], type: "anime", isSyncPage(e) { if (!e) throw "No url passed"; return !!(o.sync.getTitle(e) && t.$("div.player-wrapper").length && void 0 !== e.split("/")[3] && e.split("/")[3].length > 0); }, isOverviewPage: t => "watch" === t.split("/")[3] && void 0 !== t.split("/")[3] && t.split("/")[3].length > 0, sync: { getTitle: e => t.$("a.back-tv-show").text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => t.$("a.back-tv-show").attr("href") || "", getEpisode: e => parseInt(t.$(".episodes-list button.active").closest("a").text()), nextEpUrl: e => t.$(".episodes-list button.active").parents("div").next().find("a").attr("href"), getMalUrl(e) { const n = t.$("[data-mal-id]").attr("data-mal-id"); return !!n && "https://myanimelist.net/anime/" + n; } }, overview: { getTitle: e => t.$("div.post-inner > .anime-title").html().split("<br>")[0].replace(/-\s*$/, "").trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.post-info").first().before(t.html(`<div class="row"><div class="col-12">${e}</div></div>`)); }, getMalUrl: t => o.sync.getMalUrl(t), list: { offsetHandler: !1, elementsSelector: () => t.$("#episodes > div.episode-number"), elementUrl: t => t.find("a").attr("href") || "", elementEp: t => parseInt(t.find("a").text()) } }, init(e) { a.storage.addStyle(n(487).toString()), t.$(document).ready((function() { o.isSyncPage(e.url) ? e.handlePage(t.$(".episodes-list button.active").closest("a").attr("href") || "") : e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AsuraScans", domain: "https://asurascans.com", languages: [ "English" ], type: "manga", isSyncPage: t => !!/cha?p?t?e?r?-\d+/i.test(t.split("/")[3]), isOverviewPage: t => "comics" === t.split("/")[3] && "" !== t.split("/")[4], sync: { getTitle: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox span")[1]).text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox a")[1]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 3).match(/cha?p?t?e?r?-\d+/i); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl(e) { const n = t.$("a.ch-next-btn").attr("href"); if ("#/next/" !== n) return n; } }, overview: { getTitle: e => t.$("h1.entry-title").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.bixbox.animefull").first().after(t.html(`<div id= "malthing" class="bixbox animefull">${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div#chapterlist li div.chbox"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(489).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "NaniScans", domain: "https://naniscans.com", languages: [ "English" ], type: "manga", isSyncPage: t => "chapters" === t.split("/")[3], sync: { getTitle: e => t.$("a.section").text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => i.absoluteLink(t.$("a.section").attr("href"), o.domain), getEpisode: e => Number(t.$("div#chapter-selector div.text").text().trim().replace("Chapter ", "")), nextEpUrl: e => i.absoluteLink(t.$("i.chevron.right.icon").parent().attr("href"), o.domain) }, overview: { getTitle: e => t.$("h1.ui.centered.header").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.content div.description").first().after(t.html(`<div class="ui hidden divider"></div><div id= "malthing"><h5>MALSync</h5>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div#chapters div.item"), elementUrl: t => i.absoluteLink(t.find("a").last().attr("href"), o.domain) || "", elementEp(t) { let e = t.find("a").last().text().trim().match(/(ch\.|chapter)\D?\d+/i); return e && (e = e[0].match(/\d+/), e) ? Number(e[0]) : NaN; } } }, init(e) { a.storage.addStyle(n(491).toString()), t.$(document).ready((function() { ("chapters" === e.url.split("/")[3] || "titles" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4]) && e.handlePage(), "titles" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && i.changeDetect(() => { e.handleList(); }, () => t.$("div#chapters div.item").length); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "MerakiScans", domain: "https://merakiscans.com", languages: [ "English" ], type: "manga", isSyncPage: t => "manga" === t.split("/")[3] && void 0 !== t.split("/")[6], sync: { getTitle: e => t.$("h1#reader_text a").first().text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => i.absoluteLink(t.$("h1#reader_text a").first().attr("href"), r.domain), getEpisode: t => Number(t.split("/")[5]), nextEpUrl(e) { const n = t.$("#chapter_select option:selected").next().val(); if (void 0 === n) return; const i = e.split("/"); return i.splice(5, 1, n), i.join("/"); } }, overview: { getTitle: e => t.$("b#manga_name").text(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.tab").first().before(t.html(`<div id="malthing"><b id="MALSync">MALSync</b>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("tr#chapter-head"), elementUrl: t => i.absoluteLink(t.attr("data-href"), r.domain), elementEp: t => Number(r.overview.list.elementUrl(t).split("/")[5]), paginationNext(e) { if (a.log("updatecheck", e), e) return !1; const n = t.$("#chapter_table_paginate > span > a.paginate_button.current").next("a"); return void 0 !== n[0] && (n[0].click(), !0); } } }, init(e) { o.storage.addStyle(n(493).toString()), t.$(document).ready((function() { "manga" !== e.url.split("/")[3] || 6 !== e.url.split("/").length && 7 !== e.url.split("/").length || e.handlePage(); })); } }; }).call(this, n(2), n(1), n(4), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return k; })); var r = n(1), s = n(12), l = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; const c = new s.a; let d; function m() { return l(this, void 0, void 0, (function*() { return t.storage.get("Jellyfin_Api_Key"); })); } function u(e) { return l(this, void 0, void 0, (function*() { return t.storage.set("Jellyfin_Api_Key", e); })); } function p() { return l(this, void 0, void 0, (function*() { return t.storage.get("Jellyfin_Base"); })); } function h(e) { return l(this, void 0, void 0, (function*() { return t.storage.set("Jellyfin_Base", e); })); } function g() { return l(this, void 0, void 0, (function*() { return t.storage.get("Jellyfin_User"); })); } function f(e) { return l(this, void 0, void 0, (function*() { return t.storage.set("Jellyfin_User", e); })); } function v(t) { return l(this, void 0, void 0, (function*() { const e = $("video"); if (e.length) { $("html").addClass("miniMAL-hide"); const n = e.attr("src"); if (i.log("Video", n), n) { const e = yield function() { return l(this, void 0, void 0, (function*() { const t = yield function() { return l(this, void 0, void 0, (function*() { return new Promise((t, e) => { c.addProxy(n => l(this, void 0, void 0, (function*() { const n = c.getCaptureVariable("ApiClient"); if (i.m("apiClient").log(n), n && n._deviceId) return i.m("apiClient").log("clientId", n._deviceId), void t(n._deviceId); e(); }))); }); })); }(), e = yield g(); return new Promise((t, e) => { setTimeout(() => { t(); }, 1e4); }).then(() => l(this, void 0, void 0, (function*() { return w(t, e).then(t => (i.log("Now Playing", t.NowPlayingItem), t.NowPlayingItem.Id)); }))); })); }(); e || i.log("No video id"); const n = `${window.location.origin}/#!/details?id=${e}`; y(t, e, n, !0); } } })); } function b(t) { return l(this, void 0, void 0, (function*() { if ($("html").addClass("miniMAL-hide"), -1 !== window.location.href.indexOf("id=")) { const e = a.urlParam(window.location.href, "id"); y(t, e); } })); } function y(t, e, n = "", a = !1) { return l(this, void 0, void 0, (function*() { let o = "/Items?ids=" + e; x(o, !0).then(e => { const r = JSON.parse(e.responseText); if (!r.Items.length) return function() { c.addProxy(t => l(this, void 0, void 0, (function*() { const t = c.getCaptureVariable("ApiClient"); i.m("apiClient").log(t); const e = m(); t && t._serverInfo && t._serverInfo.AccessToken && e === t._serverInfo.AccessToken || (i.error("Reset Authentication"), yield h(""), yield u(""), yield f(""), yield _()); }))); }(); switch (r.Items[0].Type) { case "Episode": case "Season": if ("Episode" === r.Items[0].Type && !a) return void i.log("Execute Episode only on video"); i.log("Season", r), d = r.Items[0], o = "/Items/" + d.SeriesId, x(o, !0).then(e => { const a = JSON.parse(e.responseText); i.log("genres", a), a.Path.includes("Anime") || a.GenreItems.find(t => "anime" === t.Name.toLowerCase()) ? (i.info("Anime detected"), n ? (t.url = n, t.handlePage(t.url)) : t.handlePage(), $("html").removeClass("miniMAL-hide")) : i.error("Not an Anime"); }); break; case "Series": i.log("Series", r); break; default: i.log("Not recognized", r); } }); })); } function w(t, e, n = !0) { return l(this, void 0, void 0, (function*() { return x("/Sessions", !1, n).then(a => { const o = JSON.parse(a.responseText); return i.m("Session").log("Session", o, t, e, n), function t(e, n, a, o) { return l(this, void 0, void 0, (function*() { if (n ? e = e.filter(t => t.DeviceId === n) : a && (e = e.filter(t => t.UserId === a)), !(e = e.filter(t => void 0 !== t.NowPlayingItem)).length) { if (n) return i.m("Session").m(o).log("Fallback to userId"), t(e, null, a, o); if (o) return i.m("Session").m(o).log("Fallback to request without ControllableByUserId"), w(n, a, !1); throw "Could not get session"; } return i.m("Session").log("found", e), e[0]; })); }(o, t, e, n); }); })); } function _() { return l(this, void 0, void 0, (function*() { return new Promise((t, e) => { c.addProxy(n => l(this, void 0, void 0, (function*() { const n = c.getCaptureVariable("ApiClient"); if (i.m("apiClient").log(n), n) return n._serverInfo && n._serverInfo.AccessToken && u(n._serverInfo.AccessToken), n._serverAddress && h(n._serverAddress), n._currentUser && n._currentUser.Id ? f(n._currentUser.Id) : n._serverInfo && n._serverInfo.UserId && f(n._serverInfo.UserId), void t(!0); e(); }))); }); })); } function x(e, n = !1, a = !1) { return l(this, void 0, void 0, (function*() { const o = yield m(), r = yield p(); let s; if (s = -1 !== e.indexOf("?") ? "&" : "?", n) { const t = yield g(); e = `/Users/${t}${e}`; } if (e = `${r + e + s}api_key=${o}`, a) { const t = yield g(); e = `${e}&ControllableByUserId=${t}`; } return i.log("Api Call", e), t.request.xhr("GET", e).then(t => { if (500 === t.status) throw i.error("Something went wrong", e, t), "Something went wrong"; return t; }); })); } c.addCaptureVariable("ApiClient", '\n if (window.hasOwnProperty("ApiClient")) {\n return ApiClient;\n } else {\n return undefined;\n }\n '); const k = { name: "Jellyfin", domain: "https://jellyfin.org/", languages: [ "Many" ], type: "anime", isSyncPage: t => "Episode" === d.Type, sync: { getTitle: t => d.SeriesName + (d.ParentIndexNumber > 1 ? " Season " + d.ParentIndexNumber : ""), getIdentifier: t => void 0 !== d.SeasonId ? d.SeasonId : void 0 !== d.SeriesId ? d.SeriesId : d.Id, getOverviewUrl: t => `${k.domain}/#!/details?id=${k.sync.getIdentifier(t)}`, getEpisode: t => d.IndexNumber }, overview: { getTitle: t => d.SeriesName + (d.IndexNumber > 1 ? " Season " + d.IndexNumber : ""), getIdentifier: t => d.Id, uiSelector(t) { o.$(".page:not(.hide) .detailPageContent").first().prepend(o.html(t)); } }, init(e) { t.storage.addStyle(n(495).toString()), function t(e = 0) { return l(this, void 0, void 0, (function*() { if (e > 19) throw Object(r.flashm)("MALSync could not Authenticate", { error: !0 }), "Not Authenticated [Jellyfin]"; const n = yield m(), a = yield p(), o = yield g(); return n && a && o ? x("/System/Info").then(n => 200 !== n.status ? (i.error("Not Authenticated"), h(""), u(""), f(""), t(++e)) : x("", !0).catch(n => (i.error("User wrong", n), f(""), t(++e))).then(n => 200 === n.status || (i.error("User wrong"), f(""), t(++e)))) : (i.m("Authentication").error("base, user or Key are not set", a, o, n), yield _(), t(++e)); })); }().then(() => { i.info("Authenticated"), a.changeDetect(() => { e.reset(), v(e); }, () => { const t = $("video").first().attr("src"); return void 0 === t ? "NaN" : t; }), a.urlChangeDetect((function() { -1 === window.location.href.indexOf("video") && (e.reset(), b(e)); })), o.$(document).ready((function() { a.waitUntilTrue((function() { return o.$(".page").length; }), (function() { b(e); })); })), document.addEventListener("fullscreenchange", (function() { window.fullScreen || window.innerWidth === window.screen.width && window.innerHeight === window.screen.height ? $("html").addClass("miniMAL-Fullscreen") : $("html").removeClass("miniMAL-Fullscreen"); })); }); } }; }).call(this, n(0), n(4), n(1), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "An1me", domain: "https://an1me.nl", languages: [ "Greek" ], type: "anime", isSyncPage(e) { const n = t.$("#manga-reading-nav-head > div > div.entry-header_wrap > div > div.c-breadcrumb"); return void 0 !== e.split("/")[5] && e.split("/")[5].length > 0 && 0 !== n.length; }, isOverviewPage(e) { const n = t.$("div.site-content > div > div.profile-manga > div > div > div > div.post-title > h1"); return !(!e.split("/")[4] || 0 === n.length); }, sync: { getTitle: e => t.$("ol.breadcrumb > li:nth-child(2) > a").text().trim(), getIdentifier: t => i.urlPart(t, 4).toString(), getOverviewUrl: e => t.$("ol.breadcrumb > li:nth-child(2) > a").attr("href") || "", getEpisode(t) { const e = t.split("/"); if (!e || 0 === e.length) return NaN; const n = e[5]; if (0 === n.length) return NaN; const i = n.match(/episode-\d+/gim); return i && 0 !== i.length ? Number(i[0].replace(/\D+/g, "")) : 1; }, nextEpUrl(e) { const n = t.$("div.select-pagination > div > div.nav-next > a").attr("href"); return n && o.sync.getEpisode(e) < o.sync.getEpisode(n) ? n : ""; } }, overview: { getTitle: e => i.getBaseText(t.$("div.profile-manga > div > div > div > div.post-title > h1")).trim(), getIdentifier: t => i.urlPart(t, 4) || "", uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing">\n <div id= "MALSyncheading" class="c-blog__heading style-2 font-heading">\n <h2 class="h4">\n <i class="icon ion-ios-star"></i>\n MAL-Sync\n </h2>\n </div>\n ${e}\n </div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.page-content-listing.single-page > div > ul > li.wp-manga-chapter"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href"), o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(497).toString()), t.$(document).ready((function() { void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MangaJar", domain: "https://mangajar.com", languages: [ "English" ], type: "manga", isSyncPage: t => "chapter" === t.split("/")[5], isOverviewPage: t => !(void 0 === t.split("/")[4] || !t.split("/")[4].length), sync: { getTitle: e => t.$("div.container-fluid.chapter-container > div > h1 > a").text(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => i.absoluteLink(t.$("div.container-fluid.chapter-container > div > h1 > a").attr("href"), o.domain), getEpisode: t => parseInt(i.urlPart(t, 6)), getVolume(e) { let n = i.getBaseText(t.$("div.container-fluid.chapter-container > div > h1")).match(/(vol\.|volume)\D?\d+/i); return n && (n = n[0].match(/\d+/), n) ? parseInt(n[0]) : 0; }, nextEpUrl: e => i.absoluteLink(t.$("body > div.container-fluid.chapter-container > div.row.text-center > div > a.btn-primary").first().attr("href"), o.domain) }, overview: { getTitle: e => t.$("h1.entry-title > span.post-name").text(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("h1.entry-title").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul.chaptersList > li.chapter-item"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href") || "", o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(499).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeDao", domain: "https://animedao.to", languages: [ "English" ], type: "anime", isSyncPage: t => !("view" !== t.split("/")[3] || void 0 === t.split("/")[4] || !t.split("/")[4].length), isOverviewPage: t => !("anime" !== t.split("/")[3] || void 0 === t.split("/")[4] || !t.split("/")[4].length), sync: { getTitle: e => t.$("h2.page_title").text().replace(/episode.*/i, "").trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => i.absoluteLink(t.$('#videocontent a[href*="/anime/"]').attr("href") || "", o.domain), getEpisode(e) { const n = t.$("h2.page_title").text().toLowerCase(); if (n.includes("special") || n.includes("ova") || n.includes("movie")) throw new Error("specials are not supported"); if (!n.includes("episode")) throw new Error("episode is missing"); return r(n); }, nextEpUrl(e) { const n = t.$("div.btn-group > a > button > span.glyphicon-arrow-right").closest("a").attr("href"); return n || ""; } }, overview: { getTitle: e => t.$("div.animeinfo-div > div > h2 > b").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.animeinfo-div > div > h2").first().after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("#eps > div:nth-child(1) > a"), elementUrl: t => i.absoluteLink(t.attr("href"), o.domain), elementEp(t) { try { return r(t.text()); } catch (t) { return NaN; } } } }, init(e) { a.storage.addStyle(n(501).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; function r(t) { let e = []; return e = t.match(/(episode)\D?\d+/i), null !== e && (e = (t = e[0]).match(/\d+/), null !== e) ? e[0] : 1; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Otakustv", domain: "https://www.otakustv.com", languages: [ "Spanish" ], type: "anime", isSyncPage: e => !!t.urlPart(e, 5), isOverviewPage: e => !(!t.urlPart(e, 4) || t.urlPart(e, 5)), sync: { getTitle(t) { const e = i.$("title").text().trim(), n = i.$(".epsd h1").text().trim(); let a = ""; for (let t = 0; t < e.length; t++) e[t] && n[t] && e[t] === n[t] && (a += e[t]); return a.trim(); }, getIdentifier: t => o.overview.getIdentifier(t), getOverviewUrl: t => `${o.domain}/anime/${o.sync.getIdentifier(t)}`, getEpisode: t => r(t), nextEpUrl(e) { const n = i.$(".vid_next a").first().attr("href"); return void 0 === n || n.includes(":void(0)") ? "" : t.absoluteLink(n, o.domain); } }, overview: { getTitle: t => i.$(".inn-text h1").first().text().trim(), getIdentifier(e) { const n = t.urlPart(e, 4); return n || ""; }, uiSelector(t) { i.$(".inn-text h1").first().after(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => i.$(".episodios-bottom .row > div"), elementUrl: e => t.absoluteLink(e.find("a").first().attr("href"), o.domain), elementEp: t => r(o.overview.list.elementUrl(t)) } }, init(t) { a.storage.addStyle(n(503).toString()), i.$(document).ready((function() { t.handlePage(); })); } }; function r(e) { const n = t.urlPart(e, 5).toLowerCase(); if ("pelicula" === n) return 1; const i = n.match(/\d+$/gim); return i && 0 !== i.length ? Number(i) : 1; } }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return c; })); var r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function s(e) { return r(this, void 0, void 0, (function*() { return e = window.location.origin + e, t.log("Api Call", e), i.request.xhr("GET", e); })); } const l = { pid: "", name: "", chapter: "", mode: "chapter" }, c = { name: "Komga", domain: "https://komga.org", languages: [ "Many" ], type: "manga", isSyncPage: t => "read" === a.urlPart(t, 5), isOverviewPage: t => "series" === a.urlPart(t, 3) && "read" !== a.urlPart(t, 5), sync: { getTitle(t) { if (!l.name) throw "No name"; return l.name; }, getIdentifier(t) { if (!l.pid) throw "No pid"; return l.pid; }, getOverviewUrl: t => `${window.location.origin}/series/${l.pid}`, getEpisode(t) { if ("chapter" !== l.mode) return 0; if (!l.chapter || !parseInt(l.chapter)) throw "No chapter number"; return parseInt(l.chapter); }, getVolume(t) { if ("volume" !== l.mode) return 0; if (!l.chapter || !parseInt(l.chapter)) throw "No volume number"; return parseInt(l.chapter); } }, overview: { getTitle: () => o.$(".v-toolbar__title > span:nth-child(1)").first().text().trim(), getIdentifier: t => a.urlPart(t, 4), uiSelector(t) { o.$(".text-h5").first().after(o.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => o.$("div.my-2"), elementUrl: t => a.absoluteLink(t.find("a").first().attr("href"), c.domain), elementEp(t) { const e = t.find("div:nth-child(1) > a:nth-child(2) > div:nth-child(1)").first().text().split(" - ")[0].replace(/( |#)/g, ""); return Number(e); } } }, init(e) { let o; function r() { l.chapter = "", l.name = "", l.pid = "", l.mode = "chapter", e.strongVolumes = !1, clearInterval(o), c.isOverviewPage(window.location.href) ? o = a.waitUntilTrue(() => c.overview.getTitle(window.location.href), () => { t.log("pagehandle"), e.reset(), e.handlePage(); }) : c.isSyncPage(window.location.href) ? s("/api/v1/books/" + a.urlPart(window.location.href, 4)).then(e => { const n = JSON.parse(e.responseText); if (!n.seriesId) throw "No seriesId found"; return t.m("Book").log(n), l.chapter = n.metadata.number, l.pid = n.seriesId, s("/api/v1/series/" + n.seriesId); }).then(n => { const i = JSON.parse(n.responseText); if (t.m("Series").log(i), l.name = i.name, i.metadata && i.metadata.tags && i.metadata.tags.length) { const t = i.metadata.tags.map(t => t.toLowerCase()); (t.includes("volume") || t.includes("volumes")) && (l.mode = "volume", e.strongVolumes = !0); } t.m("Object").log(l), e.reset(), e.handlePage(); }) : e.reset(); } i.storage.addStyle(n(505).toString()), r(), a.changeDetect(r, () => window.location.href.split("?")[0].split("#")[0]); } }; }).call(this, n(4), n(0), n(1), n(2)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeWho", domain: "https://animewho.com", languages: [ "Turkish" ], type: "anime", isSyncPage: e => "true" === t.$("#malsync-data").attr("issyncpage"), sync: { getTitle: e => t.$("#malsync-data").attr("name"), getIdentifier: e => `${t.$("#malsync-data").attr("type")}-${t.$("#malsync-data").attr("series_id")}`, getOverviewUrl: e => i.absoluteLink(t.$("#malsync-data").attr("overview_link"), o.domain), getEpisode: e => Number(t.$("#malsync-data").attr("episode")), nextEpUrl: e => t.$("#malsync-data").attr("next_episode") ? i.absoluteLink(t.$("#malsync-data").attr("next_episode"), o.domain) : "", getMalUrl: e => !(!t.$("#malsync-data").attr("mal_url") || "-" === t.$("#malsync-data").attr("mal_url")) && t.$("#malsync-data").attr("mal_url") }, overview: { getTitle: t => o.sync.getTitle(t), getIdentifier: t => o.sync.getIdentifier(t), uiSelector(e) { t.$("#malsync_selector").append(t.html(e)); }, getMalUrl: t => o.sync.getMalUrl(t) }, init(e) { let r; a.storage.addStyle(n(507).toString()); let s = ""; i.fullUrlChangeDetect((function() { e.reset(), function() { t.$("#malsync-data").length || (s = ""); clearInterval(r), r = i.waitUntilTrue((function() { return !(!t.$("#malsync-data").length || t.$("#malsync-data").prop("outerHTML") === s) && (s = t.$("#malsync-data").prop("outerHTML"), !0); }), (function() { "anime" === t.$("#malsync-data").attr("type") ? o.type = "anime" : o.type = "manga", e.handlePage(); })); }(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "AnimeSuge", domain: "https://animesuge.io", languages: [ "English" ], type: "anime", isSyncPage: t => !0, sync: { getTitle: e => t.$("h1.title").text(), getIdentifier(t) { const e = i.urlPart(t, 4).split("-"); return e[e.length - 1]; }, getOverviewUrl: e => i.absoluteLink(t.$("ul.episodes > li > a").first().attr("href"), r.domain), getEpisode: e => parseInt(t.$("ul.episodes > li > a.active").attr("data-base")), nextEpUrl(e) { const n = t.$("ul.episodes > li > a.active").parent("li").next().find("a").attr("href"); return n ? i.absoluteLink(n, r.domain) : n; }, uiSelector(e) { t.$("#episodes").after(t.html(`<section>${e}</section>`)); } }, overview: { getTitle: t => "", getIdentifier: t => "", uiSelector(t) {}, list: { offsetHandler: !1, elementsSelector: () => t.$("ul.episodes > li > a"), elementUrl: t => i.absoluteLink(t.attr("href"), r.domain), elementEp: t => Number(t.attr("data-base")) } }, init(e) { a.storage.addStyle(n(509).toString()), r.database = "9anime", i.waitUntilTrue((function() { return t.$("ul.episodes > li").length; }), (function() { o.info("Start check"), e.handlePage(), i.urlChangeDetect((function() { o.info("Check"), e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Toonily", domain: "https://toonily.net", languages: [ "English" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length >= 9, sync: { getTitle: e => t.$('.breadcrumb li > a[href*="/manga/"]').text().trim(), getIdentifier: t => t.split("/")[4], getOverviewUrl: e => i.absoluteLink(t.$('.breadcrumb li > a[href*="/manga/"]').attr("href"), o.domain) || "", getEpisode(t) { const e = i.urlPart(t, 5).match(/chapter-\d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : NaN; }, nextEpUrl: e => t.$('.nav-links .nav-next a:not([class^="back"])').attr("href") }, overview: { getTitle: t => o.sync.getTitle(t), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$(".tab-summary").first().after(t.html(`<div id="MALSyncheading" class="post-content_item"> <h6 class="text-highlight">MAL-Sync</h6></div><div id="malthing" class="post-content_item">${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div.listing-chapters_wrap > ul > li.wp-manga-chapter"), elementUrl: t => i.absoluteLink(t.find("a").attr("href"), o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(511).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "Fumetsu", domain: "https://fumetsu.pl", languages: [ "Polish" ], type: "anime", isSyncPage: t => "" !== t.split("/")[5], sync: { getTitle: e => t.$(".text-center > a > h2").text() || "", getIdentifier: t => t.split("/")[4], getOverviewUrl: e => i.absoluteLink(t.$(".text-center > a").first().attr("href"), o.domain), getEpisode: e => r(t.$(".text-center > h5").text()), nextEpUrl(e) { const n = t.$(".text-center > a.float-right").attr("href"); return n ? i.absoluteLink(n, o.domain) : n; } }, overview: { getTitle: e => t.$(".ep-info h2").first().text(), getIdentifier: t => o.sync.getIdentifier(t), uiSelector(e) { t.$(".newsy.container > .row").first().before(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".episodes"), elementUrl: e => i.absoluteLink(t.$(e).parent().attr("href"), o.domain), elementEp: e => r(t.$(e).find(".float-left").text()) } }, init(e) { a.storage.addStyle(n(513).toString()), t.$(document).ready((function() { "anime" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && e.handlePage(); })); } }; function r(t) { const e = t.trim().match(/Odcinek:?\s?([0-9]+)/); return e ? Number(e[1]) : e; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "NonstopScans", domain: "https://www.nonstopscans.com", languages: [ "English" ], type: "manga", isSyncPage: e => !!t.$("div#content.readercontent").length, sync: { getTitle: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox span")[1]).text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox a")[1]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 3).match(/\d+/); return e && 0 !== e.length ? Number(e) : 1; }, nextEpUrl(e) { const n = t.$("a.ch-next-btn").attr("href"); if ("#/next/" !== n) return n; } }, overview: { getTitle: e => t.$("h1.entry-title").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.bixbox.animefull").first().after(t.html(`<div id= "malthing" class="bixbox animefull">${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div#chapterlist li div.chbox"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(515).toString()), t.$(document).ready((function() { (t.$("div#content.readercontent").length || "manga" === e.url.split("/")[3] && "" !== e.url.split("/")[4]) && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "FrixySubs", domain: "https://frixysubs.pl", languages: [ "Polish" ], type: "anime", isSyncPage: t => !!t.split("/")[3].startsWith("ogladaj"), isOverviewPage: t => !!t.split("/")[3].startsWith("odcinki"), sync: { getTitle(e) { const n = t.$("#anime-watch-title").text(); return n || (t.$("#watch-title").text() || ""); }, getIdentifier(e) { if ("true" === i.urlParam(e, "video")) { return (i.urlParam(e, "id") || "") + "v"; } return t.$('.watch-player-button:contains("Wróć")').attr("idd") || ""; }, getOverviewUrl(e) { const n = t.$('.watch-player-button:contains("Wróć")').attr("idd"); return n ? i.absoluteLink("odcinki.html?id=" + n, o.domain) : ""; }, getEpisode: e => r(t.$("#watch-title").text(), /\|#(\d+)/), nextEpUrl(e) { const n = t.$('.watch-player-button:contains("Następny")').attr("idd"); return n ? i.absoluteLink("ogladaj.html?id=" + n, o.domain) : ""; } }, overview: { getTitle: e => t.$("#series-info-title").text(), getIdentifier: t => i.urlParam(t, "id") || "", uiSelector(e) { t.$("#series-info").after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".episodes-episode"), elementUrl(e) { const n = t.$(e).attr("idd"); return i.absoluteLink("ogladaj.html?id=" + n, o.domain); }, elementEp: e => r(t.$(e).find(".episodes-h1").text(), /Odcinek (\d+)/) } }, init(e) { a.storage.addStyle(n(517).toString()), t.$(document).ready((function() { const t = e.url.split("/")[3]; (t.startsWith("ogladaj") || t.startsWith("odcinki")) && i.waitUntilTrue(() => !(!o.overview.getTitle(e.url).length && !o.sync.getTitle(e.url).length), () => { e.handlePage(); }); })); } }; function r(t, e) { const n = t.match(e); return n ? parseInt(n[1]) : 1; } }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return r; })); const o = [ "gist", "imgur" ], r = { name: "Guya & Cubari", domain: [ "https://guya.moe", "https://cubari.moe" ], languages: [ "English" ], type: "manga", isSyncPage: t => "read" === t.split("/")[3] && !o.includes(t.split("/")[4]) && t.split("/").length >= 8, isOverviewPage: t => "read" === t.split("/")[3] && !o.includes(t.split("/")[4]) && t.split("/").length >= 6, sync: { getTitle: e => t.$("#rdr-main > aside > header > h1 > a").text(), getIdentifier: t => i.urlPart(t, 5), getOverviewUrl: e => i.absoluteLink(t.$("#rdr-main > aside > header > h1 > a").attr("href"), r.domain), getEpisode: t => parseInt(i.urlPart(t, 6)) }, overview: { getTitle: e => t.$("div.series-content > article > h1, article content > h1").first().text(), getIdentifier: t => i.urlPart(t, 5), uiSelector(e) { t.$("div.series-content > article").after(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div#detailedView, div#compactView, tbody#chapterTable").not(".d-none").first().find(`a[href*="/read/${i.urlPart(window.location.href, 4)}"]`), elementUrl: t => i.absoluteLink(t.attr("href") || "", r.domain), elementEp: t => r.sync.getEpisode(r.overview.list.elementUrl(t)) } }, init(e) { let o; a.storage.addStyle(n(519).toString()); let s = ""; i.fullUrlChangeDetect((function() { e.reset(), clearInterval(o), o = i.waitUntilTrue((function() { return !(!r.overview.getTitle(window.location.href).length && !r.sync.getTitle(window.location.href).length); }), (function() { if (window.location.href.split("/").slice(0, 7).join("/") !== s) { switch (s = window.location.href.split("/").slice(0, 7).join("/"), window.location.href.split("/")[4]) { case "mangadex": r.database = "Mangadex"; break; case "mangasee": r.database = "MangaSee"; break; default: r.database = void 0; } e.handlePage(); } })); })), t.$(document).on("click", "div.series-content > div.btn-group", () => { e.handleList(); }); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MangaHub", domain: "https://mangahub.io", languages: [ "English" ], type: "manga", getImage: () => $("#mangadetail img.manga-thumb").first().attr("src"), isSyncPage: e => !!t.$("#mangareader").length, isOverviewPage: e => !!t.$("#mangadetail").length, sync: { getTitle: e => t.$("#mangareader .container-fluid h3 a").text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$("#mangareader .container-fluid h3 a").attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 5).match(/chapter-\d+/gim); return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0; }, nextEpUrl: e => t.$("#mangareader ul.dropdown-menu li.active").next().find("a").attr("href") }, overview: { getTitle: e => t.$("#mangadetail h1").clone().children().remove().end().text(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("#mangadetail section._2fecr").after(t.html(`<section id="malthing" class="_2fecr"><div style="background-color: inherit;" class="container-fluid"><div class="row" style="background-color: inherit;"><div class="col-md-1"><span style="font-weight: 700;">MALSync:</span></div><div class="col-md-11" style="background-color: inherit;">${e}</div></div></div></section>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("#noanim-content-tab div li"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { let o; function r() { t.$("#mangareader").length && (clearInterval(o), o = i.waitUntilTrue((function() { return t.$("#mangareader ul.dropdown-menu li.active").length; }), (function() { e.handlePage(); }))), t.$("#mangadetail").length && (t.$("#malthing").length && t.$("#malthing").remove(), clearInterval(o), o = i.waitUntilTrue((function() { return t.$("#mangadetail div.ads-container").length > 0; }), (function() { e.handlePage(); }))); } a.storage.addStyle(n(521).toString()), t.$(document).ready((function() { r(), i.changeDetect(() => { e.reset(), r(); }, () => t.$("head > title").text()); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { let o; n.d(e, "a", (function() { return r; })); const r = { name: "ComicK", domain: "https://comick.fun", languages: [ "Many" ], type: "manga", isSyncPage: t => void 0 !== o.chap, sync: { getTitle: t => o.md_comic.title, getIdentifier: t => o.md_comic.id, getOverviewUrl: t => o.comic_url, getEpisode: t => parseInt(o.chap) || 1, getVolume: t => o.vol || 0, getMalUrl(t) { if (o.md_comic.links) { if (o.md_comic.links.mal) return "https://myanimelist.net/manga/" + o.md_comic.links.mal; if ("ANILIST" === t && o.md_comic.links.al) return "https://anilist.co/manga/" + o.md_comic.links.al; } return !1; } }, overview: { getTitle: t => o.title, getIdentifier: t => o.id, uiSelector(e) { t.$(o.selector_position).first().append(t.html(e)); }, getMalUrl(t) { if (o.links) { if (o.links.mal) return "https://myanimelist.net/manga/" + o.links.mal; if ("ANILIST" === t && o.links.al) return "https://anilist.co/manga/" + o.links.al; } return !1; } }, init(e) { let r; i.storage.addStyle(n(523).toString()), a.fullUrlChangeDetect((function() { e.reset(), clearInterval(r), r = a.waitUntilTrue((function() { return t.$("#__MALSYNC__").length; }), (function() { o = JSON.parse(t.$("#__MALSYNC__").text()), e.handlePage(); })); })); } }; }).call(this, n(2), n(0), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimeShitai", domain: "https://www.anime-shitai.com", languages: [ "German" ], type: "anime", isSyncPage: t => "anschauen" === t.split("/")[3], isOverviewPage: t => "info" === t.split("/")[3] || "anime" === t.split("/")[3], sync: { getTitle: e => t.$("div.title > span.navmiddle").first().text().replace(/(?=-).*?$/, "").replace(/:\s*$/, "").replace(/staffel/gi, "season").trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => i.absoluteLink(t.$('div.content > div.dish > a[href*="/info"]').attr("href"), o.domain), getEpisode(t) { const e = t.split("/")[6].match(/(folge|episode|ep)-\d+/i); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl: e => i.absoluteLink(t.$("div.content div.eright").parent("a").attr("href"), o.domain) }, overview: { getTitle: e => t.$("div.title > animename").text().replace(/staffel/gi, "season"), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("#ani > div.body > div.br").first().prepend(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("table.ep_table > tbody > tr"), elementUrl: t => i.absoluteLink(t.attr("onclick").match(/window\.location\.href='(.+?)'/i)[1], o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(525).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "KangaryuTeam", domain: "https://kangaryu-team.fr", languages: [ "French" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: () => t.$("#navbar-collapse-1 > ul > li:nth-child(1) > a").text().replace("Manga", "").trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: t => `${o.domain}/manga/${i.urlPart(t, 4)}`, getEpisode: t => parseInt(i.urlPart(t, 5)), nextEpUrl: () => t.$("#chapter-list .dropdown-menu li.active").prev().find("a").attr("href") }, overview: { getTitle: () => t.$(".titre-projets").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.bg > div:nth-child(3)").first().before(t.html(`<div class="col-lg-12"><div class="well2">${e}</div></div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$(".chapters > li"), elementUrl: t => i.absoluteLink(t.find('a[href*="/manga/"]').attr("href") || "", o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(527).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a, o) { n.d(e, "a", (function() { return r; })); const r = { name: "Japanread", domain: "https://www.japanread.cc/", languages: [ "French" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[5] && t.split("/")[5].length > 0, sync: { getTitle: () => t.$(".reader-controls-title > div > a").text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: t => t.substr(0, t.lastIndexOf("/")), getEpisode: t => parseInt(i.urlPart(t, 5)), getVolume() { const e = t.$("#jump-chapter option:selected"); if (e.length) { let t = e.text().trim().match(/(vol\.|volume)\D?\d+/i); if (null !== t && (t = t[0].match(/\d+/), null !== t)) return parseInt(t[0]); } return 0; }, nextEpUrl(e) { const n = t.$("#jump-chapter option:selected").prev(); if (n && void 0 !== n) { let t = n.text().trim().match(/(ch\.|chapitre)\D?\d+/i); if (null !== t && (t = t[0].replace(".", "-").match(/\d+/), null !== t)) return i.absoluteLink(t[0], r.sync.getOverviewUrl(e)); } return ""; } }, overview: { getTitle: () => t.$("h1.card-header").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$(".card.card-manga .card-body .row.edit .col-md-7").first().append(t.html('<div class="row m-0 py-1 px-0 border-top"><div class="col-lg-3 col-xl-2 strong">MAL-Sync:</div><div class="col-lg-9 col-xl-10 mal-sync"></div></div>')), t.$(".container .card .mal-sync").first().append(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("[data-row=chapter]"), elementUrl: e => 0 === t.$("#navbar-guest").length ? i.absoluteLink(e.find("a").eq(1).attr("href"), r.domain) : i.absoluteLink(e.find("a").first().attr("href"), r.domain), elementEp: t => r.sync.getEpisode(r.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(529).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && (o.info("Waiting"), i.waitUntilTrue(() => "" !== t.$("#jump-chapter option:selected").text() || t.$("[data-row=chapter]").length, () => { o.info("Start"), e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0), n(4)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return c; })); var o = n(12), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let s; const l = new o.a; l.addCaptureVariable("NEXT_DATA", '\n if (window.hasOwnProperty("__NEXT_DATA__")) {\n return __NEXT_DATA__;\n } else {\n return undefined;\n }\n '); const c = { name: "CatManga", domain: "https://catmanga.org", languages: [ "English" ], type: "manga", isSyncPage: t => !("series" !== t.split("/")[3] || void 0 === t.split("/")[5] || !t.split("/")[5].length), isOverviewPage: t => !("series" !== t.split("/")[3] || void 0 === t.split("/")[4] || !t.split("/")[4].length), sync: { getTitle: t => s.title, getIdentifier: t => s.series_id, getOverviewUrl: t => `${c.domain}/series/${c.sync.getIdentifier(t)}`, getEpisode: e => parseInt(t.urlPart(e, 5)) || 1, nextEpUrl(t) { const e = c.sync.getEpisode(t) + 1; return s.chapters.find(t => t.number === e) && e ? `${c.sync.getOverviewUrl(t)}/${e}` : ""; } }, overview: { getTitle: t => c.sync.getTitle(t), getIdentifier: t => c.sync.getIdentifier(t), uiSelector(t) { i.$('p:contains("Chapter")').first().after(i.html(t)); }, list: { offsetHandler: !1, elementsSelector: () => i.$(`a[href^="/series/${c.sync.getIdentifier(window.location.href)}/"]`), elementUrl: e => t.absoluteLink(e.attr("href") || "", c.domain), elementEp(t) { var e, n; return c.sync.getEpisode((null === (n = null === (e = c.overview) || void 0 === e ? void 0 : e.list) || void 0 === n ? void 0 : n.elementUrl(t)) || ""); } } }, init(e) { a.storage.addStyle(n(531).toString()), t.fullUrlChangeDetect((function() { e.reset(), function() { (c.isOverviewPage(window.location.href) || c.isSyncPage(window.location.href)) && l.addProxy(n => r(this, void 0, void 0, (function*() { const n = function() { const t = l.getCaptureVariable("NEXT_DATA"); if (!(t instanceof Object)) throw new Error("Invalid metadata"); return t; }(), {buildId: i} = n, a = t.urlPart(window.location.href, 4), o = new XMLHttpRequest; o.onload = () => { 200 === o.status && (s = JSON.parse(o.responseText).pageProps.series, e.handlePage()); }, o.open("GET", `https://catmanga.org/_next/data/${i}/series/${a}.json`), o.send(); }))); }(); }), !0); } }; }).call(this, n(1), n(2), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "MangaSushi", domain: "https://mangasushi.net", languages: [ "English" ], type: "manga", isSyncPage: t => $("div.wp-manga-nav").length > 0, sync: { getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 5).match(/chapter-\d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href") }, overview: { getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul > li.wp-manga-chapter"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(533).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() { return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "ArangScans", domain: "https://arangscans.com", languages: [ "English" ], type: "manga", isSyncPage: t => $("div.wp-manga-nav").length > 0, sync: { getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "", getEpisode(t) { let e = i.urlPart(t, 5); e.match(/volume-\d+/gim) && (e = i.urlPart(t, 6)); const n = e.match(/chapter-\d+/gim); return n && 0 !== n.length ? Number(n[0].replace(/\D+/g, "")) : 1; } }, overview: { getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul > li.wp-manga-chapter"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(535).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() { return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "TritiniaScans", domain: "https://tritinia.com", languages: [ "English" ], type: "manga", isSyncPage: e => t.$('div.wp-manga-nav div.chapter-selection.chapters_selectbox_holder option.short[selected="selected"]').length > 0, sync: { getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[2]).text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[2]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 5).match(/ch-\d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl: e => t.$('div.chapter-selection.chapters_selectbox_holder option.short[selected="selected"]').first().prev().attr("data-redirect") }, overview: { getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul > li.wp-manga-chapter"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(537).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() { return !(!t.$("ul > li.wp-manga-chapter").length && !t.$('div.wp-manga-nav div.chapter-selection.chapters_selectbox_holder option.short[selected="selected"]').length); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "ReadManhua", domain: "https://readmanhua.net", languages: [ "English" ], type: "manga", isSyncPage: t => $("div.wp-manga-nav").length > 0, sync: { getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 5).match(/chapter-\d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href") }, overview: { getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul > li.wp-manga-chapter"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(539).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() { return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "FlameScans", domain: "https://flamescans.org", languages: [ "English" ], type: "manga", isSyncPage: e => !!t.$("div#content.readercontent").length, sync: { getTitle: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox span")[1]).text().trim(), getIdentifier: t => i.urlPart(o.sync.getOverviewUrl(t), 4), getOverviewUrl: e => t.$(t.$("div#content.readercontent div.ts-breadcrumb.bixbox a")[1]).attr("href") || "", getEpisode(e) { const n = t.$('select#chapter option[selected="selected"]').first().text().match(/chapter \d+/gim); return n && 0 !== n.length ? Number(n[0].replace(/\D+/g, "")) : 0; }, nextEpUrl(e) { const n = t.$("a.ch-next-btn").attr("href"); if ("#/next/" !== n) return n; } }, overview: { getTitle: e => t.$("h1.entry-title").text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.info-desc.bixbox").first().after(t.html(`<div id= "malthing" class="bixbox animefull">${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("div#chapterlist li div.chbox"), elementUrl: t => t.parent().attr("href") || "", elementEp(t) { const e = t.find("span").first().text().match(/chapter \d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 0; } } }, init(e) { a.storage.addStyle(n(541).toString()), t.$(document).ready((function() { "series" === e.url.split("/")[3] && "" !== e.url.split("/")[4] && e.handlePage(), t.$("div#content.readercontent").length && i.waitUntilTrue((function() { return !!t.$('select#chapter option[selected="selected"]').first().length; }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "ImmortalUpdates", domain: "https://immortalupdates.com", languages: [ "English" ], type: "manga", isSyncPage: t => $("div.wp-manga-nav").length > 0, sync: { getTitle: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).text().trim(), getIdentifier: t => i.urlPart(t, 4), getOverviewUrl: e => t.$(t.$("div.c-breadcrumb-wrapper ol.breadcrumb li a")[1]).attr("href") || "", getEpisode(t) { const e = i.urlPart(t, 5).match(/chapter-\d+/gim); return e && 0 !== e.length ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl: e => t.$("div.entry-header.header > div > div.select-pagination > div.nav-links > div.nav-next > a.next_page").attr("href") }, overview: { getTitle: e => t.$("ol.breadcrumb li a").last().text().trim(), getIdentifier: t => i.urlPart(t, 4), uiSelector(e) { t.$("div.c-page__content div.c-blog__heading").first().before(t.html(`<div id="malthing"><div id= "MALSyncheading" class="c-blog__heading style-2 font-heading"><h2 class="h4"> <i class="icon ion-ios-star"></i> MAL-Sync</h2></div>${e}</div>`)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("ul > li.wp-manga-chapter"), elementUrl: t => t.find("a").first().attr("href") || "", elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(543).toString()), t.$(document).ready((function() { "manga" === e.url.split("/")[3] && void 0 !== e.url.split("/")[4] && e.url.split("/")[4].length > 0 && i.waitUntilTrue((function() { return !(!t.$("ul > li.wp-manga-chapter").length && !t.$("div.wp-manga-nav").length); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { let o; n.d(e, "a", (function() { return r; })); const r = { name: "Zoro", domain: "https://zoro.to", languages: [ "English" ], type: "anime", database: "Zoro", isSyncPage: t => "episode" === o.page, isOverviewPage: t => "anime" === o.page, sync: { getTitle: t => o.name, getIdentifier: t => o.anime_id, getOverviewUrl: t => o.series_url, getEpisode: t => parseInt(o.episode), nextEpUrl: t => o.next_episode_url, getMalUrl: t => !!o.mal_id && "https://myanimelist.net/anime/" + o.mal_id }, overview: { getTitle: t => o.name, getIdentifier: t => o.anime_id, uiSelector(e) { t.$(o.selector_position).append(t.html(e)); }, getMalUrl: t => r.sync.getMalUrl(t), list: { offsetHandler: !1, elementsSelector: () => t.$(".ss-list > a"), elementUrl: t => i.absoluteLink(t.attr("href"), r.domain), elementEp: t => Number(t.attr("data-number")) } }, init(e) { let r, s; a.storage.addStyle(n(545).toString()), i.fullUrlChangeDetect((function() { e.reset(), clearInterval(r), r = i.waitUntilTrue((function() { return !!t.$("#syncData").length && (o = JSON.parse(t.$("#syncData").text()), !0); }), (function() { clearTimeout(s), s = setTimeout(() => { e.handlePage(); }, 500); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return d; })); var o = n(12), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let s; const l = new o.a; function c() { const t = l.getCaptureVariable("TITLE_DATA"); if (!(t instanceof Object)) throw new Error("Invalid metadata"); if ("extras" === t.alpha) throw new Error("Not a Episode page"); return t; } l.addCaptureVariable("TITLE_DATA", "\n if (window.hasOwnProperty(\"TITLE_DATA\")) {\n return TITLE_DATA;\n } else {\n var bodyh = document.body.innerHTML;\n if (bodyh.includes('TITLE_DATA')) {\n var bomatch = bodyh.match(/TITLE_DATA *= *({[^}]*})/);\n\n if (bomatch) {\n return {\n seasonNum: parseInt(bomatch[1].match(/seasonNum *: *(\\d+|null),/)[1]),\n episodeNum: parseInt(bomatch[1].match(/episodeNum *: *(\\d+|null),/)[1]),\n alpha: bomatch[1].includes('extras') ? 'extras' : 'something',\n }\n }\n }\n\n return undefined;\n }\n "); const d = { name: "Funimation", domain: "https://www.funimation.com", languages: [ "Many" ], type: "anime", isSyncPage: e => !!t.$("h1.show-headline.video-title").length, sync: { getTitle(e) { const n = c(); let i = ""; return n.seasonNum > 1 && (i = " season " + n.seasonNum), t.$("h1.show-headline.video-title a").text().trim() + i; }, getIdentifier(t) { const e = c(); return `${t.split("/")[s]}?s=${e.seasonNum}`; }, getOverviewUrl: e => i.absoluteLink(t.$("h1.show-headline.video-title a").attr("href") || "", d.domain), getEpisode: t => c().episodeNum || 1 }, init(e) { a.storage.addStyle(n(547).toString()), t.$(document).ready((function() { i.waitUntilTrue((function() { return t.$("h1.show-headline.video-title").length; }), (function() { l.addProxy(t => r(this, void 0, void 0, (function*() { s = window.location.href.split("/").indexOf("shows") + 1, e.handlePage(); }))); })); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return s; })); var a = n(10), o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let r; const s = { name: "Kitsune", domain: [ "https://beta.kitsune.tv", "https://kitsune.tv" ], languages: [ "English" ], type: "anime", isSyncPage: t => "episode/watch" === r.page, sync: { getTitle: t => r.name, getIdentifier: t => r.anime_id, getOverviewUrl: t => r.seriesUrl, getEpisode: t => parseInt(r.episode) || 0, nextEpUrl: e => t.$(".episodes-list a.active").parents("div").next().find("a").attr("href"), getMalUrl(t) { return o(this, void 0, void 0, (function*() { try { return "https://myanimelist.net/anime/" + (yield Object(a.a)(r.anilistId, "anime")); } catch (t) {} return "ANILIST" === t && "https://anilist.co/anime/" + r.anilistId; })); } }, overview: { getTitle: t => "", getIdentifier: t => "", uiSelector(t) {}, list: { offsetHandler: !1, elementsSelector: () => t.$(".episodes-list > a"), elementUrl: t => t.attr("href") || "", elementEp: t => Number(i.getBaseText($(t))) } }, init(e) { let n; i.fullUrlChangeDetect((function() { e.reset(), clearInterval(n), n = i.waitUntilTrue((function() { const e = t.$("#sync-info"); return !(!e.length || !e.text() || (r = JSON.parse(e.text()), 0)); }), (function() { e.handlePage(); })); })); } }; }).call(this, n(2), n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "AnimesOnline", domain: "https://animesonline.org", languages: [ "Portuguese" ], type: "anime", isSyncPage: t => ("filmes" === t.split("/")[3] || "episodio" === t.split("/")[3]) && t.split("/").length >= 4 && t.split("/")[4].length > 0, sync: { getTitle: e => t.$("#info > h1, #single > div.content > div.sheader > div.data > h1").first().text().replace(/\s+-\s+episódio\s+\d+/i, ""), getIdentifier: t => i.urlPart(t, 4).replace(/-episodio-\d+/, ""), getOverviewUrl: e => i.absoluteLink(t.$("#single > div.content > div.pag_episodes > div:nth-child(2) > a").attr("href"), o.domain) || e, getEpisode(t) { const e = i.urlPart(t, 4).match(/episodio-\d+/gi); return e ? Number(e[0].replace(/\D+/g, "")) : 1; }, nextEpUrl(e) { const n = t.$("#single > div.content > div.pag_episodes > div:nth-child(3) > a").attr("href"); return n && "#" !== n ? i.absoluteLink(n, o.domain) : ""; } }, init(e) { a.storage.addStyle(n(549).toString()), t.$(document).ready((function() { e.handlePage(); })); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return o; })); const o = { name: "LHTranslation", domain: "https://lhtranslation.net", languages: [ "English" ], type: "manga", isSyncPage: t => void 0 !== t.split("/")[3] && t.split("/")[3].startsWith("read-") && !/page-([2-9]|1\d+)/.test(t.split("/")[3]), isOverviewPage: t => void 0 !== t.split("/")[3] && t.split("/")[3].startsWith("manga-"), getImage: () => $(".info-cover > img.thumbnail").attr("src"), sync: { getTitle: e => t.$("a.manga-name").text(), getIdentifier: t => o.overview.getIdentifier(o.sync.getOverviewUrl(t)), getOverviewUrl: e => i.absoluteLink(t.$("a.manga-name").attr("href") || "", o.domain), getEpisode(t) { const e = i.urlPart(t, 3).match(/chapter[_-]\d+/gi); return e && e.length ? Number(e[0].replace(/\D+/g, "")) : 0; }, nextEpUrl(e) { const n = t.$("ul.chapter_select option:selected").prev().val(); return n ? i.absoluteLink(n, o.domain) : ""; } }, overview: { getTitle: e => t.$("ul.manga-info > h1").text(), getIdentifier(t) { const e = i.urlPart(t, 3); return e.substring(e.indexOf("-") + 1, e.lastIndexOf(".") > -1 ? e.lastIndexOf(".") : e.length); }, uiSelector(e) { t.$("#listchapter").before(t.html(e)); }, list: { offsetHandler: !1, elementsSelector: () => t.$("#list-chapters .titleLink"), elementUrl: t => i.absoluteLink(t.find("a").first().attr("href") || "", o.domain), elementEp: t => o.sync.getEpisode(o.overview.list.elementUrl(t)) } }, init(e) { a.storage.addStyle(n(551).toString()), t.$(() => { e.handlePage(); }); } }; }).call(this, n(2), n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return s; })); var o = n(85); let r; function s(e) { a.log("Open miniMAL"), "none" === t.$("#info-popup").css("display") ? (document.getElementById("info-popup").style.display = "block", t.$(".floatbutton").fadeOut(), t.$("#info-iframe").length ? void 0 !== r && void 0 !== e.malObj && (r.fillBase(e.malObj.url), r.setPageSync(e)) : function(e) { const n = document.createElement("iframe"); n.setAttribute("id", "info-iframe"), n.setAttribute("style", "height:100%;width:100%;border:0;display:block;"), n.onload = function() { const n = t.$("#info-iframe").contents().find("head"); i.storage.injectjsResource("material.js", n), i.storage.updateDom(n), i.storage.injectCssResource("material.css", n), i.storage.injectCssResource("materialFont.css", n), setTimeout((function() { r = new o.a(t.$("#info-iframe").contents().find("html")), void 0 !== e && (void 0 !== e.singleObj ? r.fillBase(e.singleObj.getUrl()) : r.fillBase(null), r.setPageSync(e)); }), 200); }, document.getElementById("modal-content").appendChild(n), t.$("#modal-content").append(t.html('<div class="kal-tempHeader" style="position: absolute; width: 100%; height: 103px; background-color: rgb(63,81,181); "></div>')), t.$("#info-iframe").length && "block" === t.$("#info-iframe").css("display") || (t.$("#info-popup").remove(), alert("The miniMAL iframe could not be loaded.\nThis could be caused by an AdBlocker.")); }(e)) : (document.getElementById("info-popup").style.display = "none", t.$(".floatbutton").fadeIn()); } }).call(this, n(2), n(0), n(4)); }, function(t, e, n) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }); var i = n(553); e.default = { install: function(t, e) { void 0 === e && (e = {}), t.directive("dompurify-html", i.buildDirective(e)); } }; }, function(t, e, n) { var i; "undefined" != typeof self && self, i = function() { return function(t) { var e = {}; function n(i) { if (e[i]) return e[i].exports; var a = e[i] = { i: i, l: !1, exports: {} }; return t[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports; } return n.m = t, n.c = e, n.d = function(t, e, i) { n.o(t, e) || Object.defineProperty(t, e, { configurable: !1, enumerable: !0, get: i }); }, n.n = function(t) { var e = t && t.__esModule ? function() { return t.default; } : function() { return t; }; return n.d(e, "a", e), e; }, n.o = function(t, e) { return Object.prototype.hasOwnProperty.call(t, e); }, n.p = "", n(n.s = 0); }([ function(t, e, n) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }), n.d(e, "install", (function() { return a; })), n.d(e, "VueClazyLoad", (function() { return o; })); var i = { name: "ClazyLoad", props: { tag: { type: String, default: "div" }, src: { type: String, required: !0 }, element: String, threshold: { type: [ Array, Number ], default: function() { return [ 0, .5, 1 ]; } }, ratio: { type: Number, default: .4, validator: function(t) { return t > 0 && t <= 1; } }, margin: { type: String, default: "0px" }, crossorigin: { type: String, default: null, validator: function(t) { return "anonymous" === t || "use-credentials" === t; } }, loadedClass: { type: String, default: "loaded" }, loadingClass: { type: String, default: "loading" }, errorClass: { type: String, default: null } }, data: function() { return { loaded: !1, observer: null, errored: !1 }; }, methods: { load: function() { var t = this; if (this.$emit("loading"), this.observer.disconnect(), !this.loaded) { var e = new Image; e.addEventListener("load", (function() { t.loaded = !0, t.$emit("load"), n(); })), e.addEventListener("error", (function(e) { t.errored = !0, t.$emit("error", e), n(); })); var n = function() { e = null, t.observer = null; }; null !== this.crossorigin && (e.crossOrigin = this.crossorigin), e.src = this.src; } }, observe: function() { var t = this, e = { threshold: this.threshold, root: this.element ? document.querySelector(this.element) : null, rootMargin: this.margin }; this.observer = new IntersectionObserver((function(e) { e[0].intersectionRatio >= t.ratio && t.load(); }), e), this.observer.observe(this.$el); } }, render: function(t) { var e = this.loaded ? this.loadedClass : this.loadingClass; return t(this.tag, { class: this.errored && this.errorClass ? this.errorClass : e }, [ this.loaded ? this.$slots.default || this.$slots.image : this.$slots.placeholder ]); }, mounted: function() { this.$nextTick(this.observe); } }, a = function(t) { t.component("clazy-load", i); }, o = i; e.default = { install: a }; } ]); }, t.exports = i(); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return o; })); var i = n(18), a = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class o extends i.a { constructor(e) { return super(e), this.logger = this.logger.m("Local"), this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this; } _init() { return a(this, void 0, void 0, (function*() { return this; })); } } }).call(this, n(1)); }, function(t, e, n) { "use strict"; (function(t, i, a) { n.d(e, "a", (function() { return l; })); var o = n(18), r = n(5), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class l extends o.a { constructor(e) { if (super(e), this.logger = this.logger.m("MAL"), e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.malId = Number(t.urlPart(e, 4)), this; throw this.errorObj(r.a.UrlNotSuported, "Url not supported"); } _init() { return s(this, void 0, void 0, (function*() { this.logger.log("Retrieve", this.type, "MAL: " + this.malId); const t = yield this.getData(); this.title(t), this.description(t), this.image(t), this.alternativeTitle(t), this.characters(t), this.statistics(t), this.info(t), this.openingSongs(t), this.endingSongs(t), this.related(t), this.logger.log("Res", this.meta); })); } getData() { return s(this, void 0, void 0, (function*() { return i.request.xhr("GET", `https://myanimelist.net/${this.type}/${this.malId}`).then(t => t.responseText); })); } title(t) { let e = ""; try { e = t.split('itemprop="name">')[1].split("<")[0].replace(/"/g, '"').replace(/'/g, "'"); } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.title = $("<div>").html(a.html(e)).text(); } description(t) { let e = ""; try { e = t.split('itemprop="description">')[1].split("</p")[0].split("</span")[0]; } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.description = e; } image(t) { let e = ""; try { e = t.split('property="og:image"')[1].split('content="')[1].split('"')[0]; } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.image = e; } alternativeTitle(e) { let n = []; try { const i = a.$.parseHTML(`<div>${e.split("<h2>Alternative Titles</h2>")[1].split("<h2>")[0]}</div>`); n = a.$(i).find(".spaceit_pad").toArray().map((function(e) { return t.getBaseText(a.$(e)).trim(); })); } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.alternativeTitle = n; } characters(e) { const n = []; try { const o = e.split("detail-characters-list")[1].split("</h2>")[0], r = a.$.parseHTML('<div class="detail-characters-list ' + o); a.$.each(a.$(r).find(":not(td) > table"), (e, o) => { const r = /\/r\/\d*x\d*/g; let s = a.$(o).find("img").first().attr("data-src"); s = s && r.test(s) ? s.replace(r, "") : i.storage.assetUrl("questionmark.gif"), s = t.handleMalImages(s); const l = a.$(o).find(".borderClass .spaceit_pad").first().parent(); n.push({ img: s, name: l.find("a").first().text(), url: l.find("a").first().attr("href"), subtext: l.find(".spaceit_pad").first().text().trim() }); }); } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.characters = n; } statistics(t) { const e = []; try { const n = t.split("<h2>Statistics</h2>")[1].split("<h2>")[0], i = a.$.parseHTML(n); a.$.each(a.$(i).filter("div").slice(0, 5), (function(t, n) { const i = a.$(n).find(".dark_text").text(), o = void 0 !== a.$(n).find("span[itemprop=ratingValue]").height() ? a.$(n).find("span[itemprop=ratingValue]").text() : a.$(n).clone().children().remove().end().text(); e.push({ title: i, body: o.trim() }); })); } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.statistics = e; } info(t) { const e = []; try { const n = t.split("<h2>Information</h2>")[1].split("<h2>")[0], i = a.$.parseHTML(n); a.$.each(a.$(i).filter("div"), (t, n) => { const i = a.$(n).find(".dark_text").text(); a.$(n).find(".dark_text").remove(); const o = a.$(n).find("a").map((t, e) => ({ text: a.$(e).text().trim(), url: a.$(e).attr("href") })); a.$(n).find("a, span").remove(); const r = a.$(n).text().split(","); let s = []; s = o.length ? o.length === r.length ? o.map((t, e) => (e.subtext = r[t].trim(), e)) : o : r.map(t => ({ text: t })), e.push({ title: i.trim(), body: s }); }), this.getExternalLinks(e, t); } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.info = e; } getExternalLinks(t, e) { try { const n = e.split("<h2>External Links</h2>")[1].split("</div>")[0] + "</div>", i = a.$.parseHTML(n), o = []; a.$.each(a.$(i).find("a"), (t, e) => { o.push({ text: a.$(e).text(), url: a.$(e).attr("href") }); }), o.length && t.push({ title: "External Links", body: o }); } catch (t) { console.log("[iframeOverview] Error:", t); } } openingSongs(t) { const e = []; try { const n = `<div>${t.split('opnening">')[1].split("</div>")[0]}</div>`, i = a.$.parseHTML(n); a.$(i).find(".theme-song").each((t, n) => { e.push($(n).text()); }); } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.openingSongs = e; } endingSongs(t) { const e = []; try { const n = `<div>${t.split(' ending">')[1].split("</div>")[0]}</div>`, i = a.$.parseHTML(n); a.$(i).find(".theme-song").each((t, n) => { e.push($(n).text()); }); } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.endingSongs = e; } related(t) { const e = []; try { const n = t.split("Related ")[1].split("</h2>")[1].split("<h2>")[0], i = a.$.parseHTML(n); a.$.each(a.$(i).filter("table").find("tr"), (function(t, n) { const i = []; a.$(n).find(".borderClass").last().find("a").each((function(t, e) { i.push({ url: a.$(e).attr("href") || "", title: a.$(e).text(), statusTag: "" }); })), e.push({ type: a.$(n).find(".borderClass").first().text(), links: i }); })); } catch (t) { console.log("[iframeOverview] Error:", t); } this.meta.related = e; } } }).call(this, n(1), n(0), n(2)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return u; })); var i, a, o, r, s = n(18), l = n(5), c = n(11), d = n(30), m = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; !function(t) { t.unknown = "Unknown", t.tv = "TV", t.ova = "OVA", t.movie = "Movie", t.special = "Special", t.ona = "ONA", t.music = "Music", t.manga = "Manga", t.novel = "Novel", t.one_shot = "One shot", t.doujinshi = "Doujinshi", t.manhwa = "Manhwa", t.manhua = "Manhua", t.oel = "OEL"; }(i || (i = {})), function(t) { t.finished_airing = "Finished Airing", t.currently_airing = "Currently Airing", t.not_yet_aired = "Not Yet Aired", t.finished = "Finished", t.currently_publishing = "Currently Publishing", t.not_yet_published = "Not Yet Published"; }(a || (a = {})), function(t) { t.other = "Other", t.original = "Original", t.manga = "Manga", t["4_koma_manga"] = "4 Koma Manga", t.web_manga = "Web Manga", t.digital_manga = "Digital Manga", t.novel = "Novel", t.light_novel = "Light Novel", t.visual_novel = "Visual Novel", t.game = "Game", t.card_game = "Card Game", t.book = "Book", t.picture_book = "Picture Book", t.radio = "Radio", t.music = "Music"; }(o || (o = {})), function(t) { t.g = "G - All Ages", t.pg = "PG - Children", t.pg_13 = "PG 13 - Teens 13 and Older", t.r = "R - 17+ (violence & profanity)", t["r+"] = "R+ - Profanity & Mild Nudity", t.rx = "Rx - Hentai"; }(r || (r = {})); class u extends s.a { constructor(e) { if (super(e), this.apiCall = c.b, this.logger = this.logger.m("MAL"), e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", void (this.malId = Number(t.urlPart(e, 4))); throw this.errorObj(l.a.UrlNotSuported, "Url not supported"); } _init() { return m(this, void 0, void 0, (function*() { this.logger.log("Retrieve", this.type, this.malId); const t = yield this.getData(); this.logger.log("Data", t), this.title(t), this.description(t), this.image(t), this.alternativeTitle(t), this.statistics(t), this.info(t), this.related(t), this.logger.log("Res", this.meta); })); } getData() { return m(this, void 0, void 0, (function*() { return this.apiCall({ type: "GET", path: `${this.type}/${this.malId}`, fields: [ "synopsis", "alternative_titles", "mean", "rank", "popularity", "num_list_users", "num_scoring_users", "related_anime", "related_manga", "media_type", "num_episodes", "num_chapters", "num_volumes", "status", "start_date", "end_date", "start_season", "broadcast", "studios", "authors{first_name,last_name}", "source", "genres", "average_episode_duration", "rating", "serialization" ] }); })); } title(t) { this.meta.title = t.title; } description(t) { t.synopsis && (this.meta.description = t.synopsis); } image(t) { t.main_picture && t.main_picture.medium && (this.meta.image = t.main_picture.medium); } alternativeTitle(t) { if (t.alternative_titles) for (const e in t.alternative_titles) { const n = t.alternative_titles[e]; Array.isArray(n) ? this.meta.alternativeTitle = this.meta.alternativeTitle.concat(n) : n && this.meta.alternativeTitle.push(n); } } statistics(t) { t.mean && this.meta.statistics.push({ title: "Score:", body: t.mean }), t.rank && this.meta.statistics.push({ title: "Ranked:", body: "#" + t.rank }), t.popularity && this.meta.statistics.push({ title: "Popularity:", body: "#" + t.popularity }), t.num_list_users && this.meta.statistics.push({ title: "Members:", body: t.num_list_users.toLocaleString() }), t.num_scoring_users && this.meta.statistics.push({ title: "Rated:", body: t.num_scoring_users.toLocaleString() }); } info(t) { if (t.media_type) { const e = i[t.media_type]; this.meta.info.push({ title: "Format:", body: [ { text: null != e ? e : t.media_type, url: `https://myanimelist.net/top${this.type}.php?type=${t.media_type}` } ] }); } if (t.num_episodes ? this.meta.info.push({ title: "Episodes:", body: [ { text: t.num_episodes } ] }) : 0 === t.num_episodes && this.meta.info.push({ title: "Episodes:", body: [ { text: "Unknown" } ] }), t.num_chapters ? this.meta.info.push({ title: "Chapters:", body: [ { text: t.num_chapters } ] }) : 0 === t.num_chapters && this.meta.info.push({ title: "Chapters:", body: [ { text: "Unknown" } ] }), t.num_volumes ? this.meta.info.push({ title: "Volumes:", body: [ { text: t.num_volumes } ] }) : 0 === t.num_volumes && this.meta.info.push({ title: "Volumes:", body: [ { text: "Unknown" } ] }), t.status) { const e = a[t.status]; this.meta.info.push({ title: "Status:", body: [ { text: null != e ? e : t.status } ] }); } if (t.start_date) { let e = ""; t.start_date && (e += t.start_date + " "), e += "to ", t.end_date ? e += t.end_date : e += "?", this.meta.info.push({ title: "Aired:", body: [ { text: e } ] }); } if (t.start_season) { let e = ""; t.start_season.season && (e += t.start_season.season + " "), t.start_season.year && (e += t.start_season.year), this.meta.info.push({ title: "Premiered:", body: [ { url: `https://myanimelist.net/${this.type}/season/${t.start_season.year}/${t.start_season.season}`, text: e } ] }); } if (t.broadcast) { let e = ""; t.broadcast.day_of_the_week && (e += t.broadcast.day_of_the_week + " "), t.broadcast.day_of_the_week && t.broadcast.start_time && (e += "at "), t.broadcast.start_time && (e += t.broadcast.start_time + " (JST)"), this.meta.info.push({ title: "Broadcast:", body: [ { text: e } ] }); } if (t.studios) { const e = []; t.studios.forEach((function(t, n) { e.push({ text: t.name, url: "https://myanimelist.net/anime/producer/" + t.id }); })), e.length && this.meta.info.push({ title: "Studios:", body: e }); } if (t.authors) { const e = []; t.authors.forEach((function(t, n) { var i, a; e.push({ text: `${null !== (i = t.node.last_name) && void 0 !== i ? i : ""}${t.node.last_name && t.node.first_name ? "," : ""} ${null !== (a = t.node.first_name) && void 0 !== a ? a : ""}`, url: "https://myanimelist.net/people/" + t.node.id, subtext: t.role ? `(${t.role})` : "" }); })), e.length && this.meta.info.push({ title: "Authors:", body: e }); } if (t.source) { const e = o[t.source]; this.meta.info.push({ title: "Source:", body: [ { text: null != e ? e : t.source } ] }); } if (t.genres) { const e = []; t.genres.forEach((t, n) => { e.push({ text: t.name, url: `https://myanimelist.net/${this.type}/genre/${t.id}` }); }), e.length && this.meta.info.push({ title: "Genres:", body: e }); } if (t.average_episode_duration && this.meta.info.push({ title: "Episode Duration:", body: [ { text: Object(d.a)(1e3 * t.average_episode_duration) } ] }), t.rating) { const e = r[t.rating]; this.meta.info.push({ title: "Rating:", body: [ { text: null != e ? e : t.rating } ] }); } if (t.serialization) { const e = []; t.serialization.forEach((function(t, n) { e.push({ text: t.node.name, url: "https://myanimelist.net/manga/magazine/" + t.node.id }); })), e.length && this.meta.info.push({ title: "Serialization:", body: e }); } } related(t) { const e = {}; t.related_anime.length && t.related_anime.forEach(t => { void 0 === e[t.relation_type] && (e[t.relation_type] = { type: t.relation_type_formatted, links: [] }), e[t.relation_type].links.push({ url: "https://myanimelist.net/anime/" + t.node.id, title: t.node.title, statusTag: "" }); }), t.related_manga.length && t.related_manga.forEach(t => { void 0 === e[t.relation_type] && (e[t.relation_type] = { type: t.relation_type_formatted, links: [] }), e[t.relation_type].links.push({ url: "https://myanimelist.net/manga/" + t.node.id, title: t.node.title, statusTag: "" }); }), this.meta.related = Object.keys(e).map(t => e[t]); } } }).call(this, n(1)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return s; })); var i = n(18), a = n(5), o = n(10), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class s extends i.a { constructor(e) { if (super(e), this.apiCall = o.b, this.logger = this.logger.m("Anilist"), e.match(/anilist\.co\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.aniId = Number(t.urlPart(e, 4)), this.malId = NaN, this; if (e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.malId = Number(t.urlPart(e, 4)), this.aniId = NaN, this; throw this.errorObj(a.a.UrlNotSuported, "Url not supported"); } _init() { return r(this, void 0, void 0, (function*() { this.logger.log("Retrieve", this.type, this.aniId ? "Anilist: " + this.aniId : "MAL: " + this.malId); const t = yield this.getData(); this.logger.log("Data", t), this.title(t), this.description(t), this.image(t), this.alternativeTitle(t), this.characters(t), this.statistics(t), this.info(t), this.related(t), this.logger.log("Res", this.meta); })); } getData() { return r(this, void 0, void 0, (function*() { let t = this.malId, e = "idMal"; Number.isNaN(this.malId) && (t = this.aniId, e = "id"); const n = `\n query ($id: Int, $type: MediaType) {\n Media (${e}: $id, type: $type) {\n id\n idMal\n siteUrl\n episodes\n chapters\n volumes\n averageScore\n synonyms\n description(asHtml: true)\n coverImage{\n large\n }\n title {\n userPreferred\n romaji\n english\n native\n }\n characters (perPage: 6, sort: [ROLE, ID]) {\n edges {\n id\n role\n node {\n id\n siteUrl\n name {\n first\n last\n }\n image {\n large\n }\n }\n }\n }\n popularity\n favourites\n rankings {\n id\n rank\n type\n format\n year\n season\n allTime\n context\n }\n relations {\n edges {\n id\n relationType (version: 2)\n node {\n id\n siteUrl\n title {\n userPreferred\n }\n }\n }\n }\n format\n episodes\n duration\n status\n startDate {\n year\n month\n day\n }\n endDate {\n year\n month\n day\n }\n season\n studios {\n edges {\n isMain\n node {\n siteUrl\n id\n name\n }\n }\n }\n source(version: 2)\n genres\n externalLinks {\n site\n url\n }\n }\n }\n `, i = { id: t, type: this.type.toUpperCase() }; return this.apiCall(n, i, !1); })); } title(t) { var e, n, i; const a = null === (i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.title) || void 0 === i ? void 0 : i.userPreferred; a && (this.meta.title = a); } description(t) { var e, n; const i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.description; i && (this.meta.description = i); } image(t) { var e, n, i; const a = null === (i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.coverImage) || void 0 === i ? void 0 : i.large; a && (this.meta.image = a); } alternativeTitle(t) { var e, n; const i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.title; if (i) for (const e in i) { const n = t.data.Media.title[e]; n !== this.meta.title && n && this.meta.alternativeTitle.push(n); } } characters(t) { var e, n, i; const a = null === (i = null === (n = null === (e = null == t ? void 0 : t.data) || void 0 === e ? void 0 : e.Media) || void 0 === n ? void 0 : n.characters) || void 0 === i ? void 0 : i.edges; a && a.forEach(t => { let e = ""; t.node.name.last && (e += t.node.name.last), t.node.name.first && t.node.name.last && (e += ", "), t.node.name.first && (e += t.node.name.first), this.meta.characters.push({ img: t.node.image.large, name: e, url: t.node.siteUrl }); }); } statistics(t) { t.data.Media.averageScore && this.meta.statistics.push({ title: "Score:", body: t.data.Media.averageScore }), t.data.Media.favourites && this.meta.statistics.push({ title: "Favourites:", body: t.data.Media.favourites }), t.data.Media.popularity && this.meta.statistics.push({ title: "Popularity:", body: t.data.Media.popularity }), t.data.Media.rankings.forEach(t => { if (this.meta.statistics.length < 4 && t.allTime) { let e = t.context.replace("all time", "").trim() + ":"; e = e.charAt(0).toUpperCase() + e.slice(1), this.meta.statistics.push({ title: e, body: "#" + t.rank }); } }); } info(t) { if (t.data.Media.format) { let e = t.data.Media.format.toLowerCase().replace("_", " "); e = e.charAt(0).toUpperCase() + e.slice(1), this.meta.info.push({ title: "Format:", body: [ { text: e } ] }); } if (t.data.Media.episodes && this.meta.info.push({ title: "Episodes:", body: [ { text: t.data.Media.episodes } ] }), t.data.Media.duration && this.meta.info.push({ title: "Episode Duration:", body: [ { text: t.data.Media.duration + " mins" } ] }), t.data.Media.status) { let e = t.data.Media.status.toLowerCase().replace("_", " "); e = e.charAt(0).toUpperCase() + e.slice(1), this.meta.info.push({ title: "Status:", body: [ { text: e } ] }); } if (t.data.Media.startDate.year && this.meta.info.push({ title: "Start Date:", body: [ { text: `${t.data.Media.startDate.year}-${t.data.Media.startDate.month}-${t.data.Media.startDate.day}` } ] }), t.data.Media.endDate.year && this.meta.info.push({ title: "End Date:", body: [ { text: `${t.data.Media.endDate.year}-${t.data.Media.endDate.month}-${t.data.Media.endDate.day}` } ] }), t.data.Media.season) { let e = t.data.Media.season.toLowerCase().replace("_", " "); e = e.charAt(0).toUpperCase() + e.slice(1), t.data.Media.endDate.year && (e += " " + t.data.Media.endDate.year), this.meta.info.push({ title: "Season:", body: [ { text: e } ] }); } const e = []; if (t.data.Media.studios.edges.forEach((function(t, n) { t.isMain && e.push({ text: t.node.name, url: t.node.siteUrl }); })), e.length && this.meta.info.push({ title: "Studios:", body: e }), t.data.Media.source) { let e = t.data.Media.source.toLowerCase().replace("_", " "); e = e.charAt(0).toUpperCase() + e.slice(1), this.meta.info.push({ title: "Source:", body: [ { text: e } ] }); } if (t.data.Media.genres) { const e = []; t.data.Media.genres.forEach((function(t, n) { e.push({ text: t, url: "https://anilist.co/search/anime?includedGenres=" + t }); })), this.meta.info.push({ title: "Genres:", body: e }); } const n = []; t.data.Media.externalLinks.forEach((function(t, e) { n.push({ text: t.site, url: t.url }); })), n.length && this.meta.info.push({ title: "External Links:", body: n }); } related(t) { const e = {}; t.data.Media.relations.edges.forEach(t => { if (void 0 === e[t.relationType]) { let n = t.relationType.toLowerCase().replace("_", " "); n = n.charAt(0).toUpperCase() + n.slice(1), e[t.relationType] = { type: n, links: [] }; } e[t.relationType].links.push({ url: t.node.siteUrl, title: t.node.title.userPreferred, statusTag: "" }); }), this.meta.related = Object.keys(e).map(t => e[t]); } } }).call(this, n(1)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return l; })); var a = n(18), o = n(5), r = n(7), s = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class l extends a.a { constructor(e) { if (super(e), this.kitsuId = NaN, this.apiCall = r.a, this.malToKitsu = r.e, this.logger = this.logger.m("Kitsu"), e.match(/kitsu\.io\/(anime|manga)\/.*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.kitsuSlug = t.urlPart(e, 4), this.malId = NaN, this; if (e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) return this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.malId = Number(t.urlPart(e, 4)), this.kitsuSlug = "", this; throw this.errorObj(o.a.UrlNotSuported, "Url not supported"); } animeI() { return this.animeInfo.data; } _init() { return s(this, void 0, void 0, (function*() { this.logger.log("Retrieve", this.type, this.kitsuSlug ? "Kitsu: " + this.kitsuSlug : "MAL: " + this.malId), yield this.getData(), this.logger.log("Data", this.animeInfo), this.title(), this.description(), this.image(), this.alternativeTitle(), this.characters(), this.statistics(), this.info(), this.related(), this.logger.log("Res", this.meta); })); } getData() { return s(this, void 0, void 0, (function*() { if (!this.kitsuSlug) { const t = yield this.malToKitsu(this.malId, this.type); try { if (this.kitsuId = t.data[0].relationships.item.data.id, t.included.forEach(t => { t.id === this.kitsuId && (this.kitsuSlug = t.attributes.slug); }), !this.kitsuSlug) throw "No slug"; } catch (t) { throw this.errorObj(o.a.EntryNotFound, t.message); } } return this.apiCall("GET", `https://kitsu.io/api/edge/${this.type}?filter[slug]=${this.kitsuSlug}&include=characters.character,mediaRelationships.destination,categories&fields[categories]=slug,title&nsfw=true`, {}, !0).then(t => { try { t.data = t.data[0], t.data.attributes.slug; } catch (t) { throw this.errorObj(o.a.EntryNotFound, t.message); } this.animeInfo = t; }); })); } title() { this.meta.title = r.c(this.animeI().attributes.titles, this.animeI().attributes.canonicalTitle); } description() { this.meta.description = `<span style="white-space: pre-line;">${this.animeI().attributes.synopsis.replace("—", " ")}</span>`; } image() { this.meta.image = this.animeI().attributes.posterImage.large; } alternativeTitle() { for (const t in this.animeI().attributes.abbreviatedTitles) { const e = this.animeI().attributes.abbreviatedTitles[t]; e !== this.meta.title && e && this.meta.alternativeTitle.push(e); } for (const t in this.animeI().attributes.titles) { const e = this.animeI().attributes.titles[t]; e !== this.meta.title && e && this.meta.alternativeTitle.push(e); } } characters() { this.animeInfo.included && this.animeInfo.included.length && this.animeInfo.included.forEach(t => { if ("characters" === t.type && this.meta.characters.length < 10) { const {name: e} = t.attributes; this.meta.characters.push({ img: null !== t.attributes.image ? t.attributes.image.original : i.storage.assetUrl("questionmark.gif"), name: e, url: "https://myanimelist.net/character/" + t.attributes.malId }); } }); } statistics() { null !== this.animeI().attributes.averageRating && this.meta.statistics.push({ title: "Score:", body: this.animeI().attributes.averageRating }), null !== this.animeI().attributes.ratingRank && this.meta.statistics.push({ title: "Ranked:", body: "#" + this.animeI().attributes.ratingRank }), null !== this.animeI().attributes.popularityRank && this.meta.statistics.push({ title: "Popularity:", body: "#" + this.animeI().attributes.popularityRank }), null !== this.animeI().attributes.userCount && this.meta.statistics.push({ title: "Members:", body: this.animeI().attributes.userCount }); } info() { if (void 0 !== this.animeI().attributes.subtype && null !== this.animeI().attributes.subtype) { let t = this.animeI().attributes.subtype.toLowerCase().replace("_", " "); t = t.charAt(0).toUpperCase() + t.slice(1), this.meta.info.push({ title: "Format:", body: [ { text: t } ] }); } if (void 0 !== this.animeI().attributes.episodeCount && null !== this.animeI().attributes.episodeCount && this.meta.info.push({ title: "Episodes:", body: [ { text: this.animeI().attributes.episodeCount } ] }), void 0 !== this.animeI().attributes.episodeLength && null !== this.animeI().attributes.episodeLength && this.meta.info.push({ title: "Episode Duration:", body: [ { text: this.animeI().attributes.episodeLength + " mins" } ] }), void 0 !== this.animeI().attributes.status && null !== this.animeI().attributes.status) { let t = this.animeI().attributes.status.toLowerCase().replace("_", " "); t = t.charAt(0).toUpperCase() + t.slice(1), this.meta.info.push({ title: "Status:", body: [ { text: t } ] }); } void 0 !== this.animeI().attributes.startDate && null !== this.animeI().attributes.startDate && this.meta.info.push({ title: "Start Date:", body: [ { text: this.animeI().attributes.startDate } ] }), void 0 !== this.animeI().attributes.endDate && null !== this.animeI().attributes.endDate && this.meta.info.push({ title: "Start Date:", body: [ { text: this.animeI().attributes.endDate } ] }); const t = []; this.animeInfo.included && this.animeInfo.included.length && this.animeInfo.included.forEach(e => { "categories" === e.type && t.length < 6 && t.push({ text: e.attributes.title, url: `https://kitsu.io/${this.type}?categories=${e.attributes.slug}` }); }), t.length && this.meta.info.push({ title: "Genres:", body: t }), void 0 !== this.animeI().attributes.ageRating && null !== this.animeI().attributes.ageRating && this.meta.info.push({ title: "Rating:", body: [ { text: this.animeI().attributes.ageRating } ] }), void 0 !== this.animeI().attributes.totalLength && null !== this.animeI().attributes.totalLength && this.meta.info.push({ title: "Total playtime:", body: [ { text: this.animeI().attributes.totalLength + " mins" } ] }); } related() { const t = {}, e = []; this.animeInfo.included && this.animeInfo.included.length && (this.animeInfo.included.forEach((function(t) { "manga" !== t.type && "anime" !== t.type || (e[t.id] = { url: `https://kitsu.io/${t.type}/${t.attributes.slug}`, title: r.c(t.attributes.titles, t.attributes.canonicalTitle), statusTag: "" }); })), this.animeInfo.included.forEach((function(n) { if ("mediaRelationships" === n.type) { if (void 0 === t[n.attributes.role]) { let e = n.attributes.role.toLowerCase().replace("_", " "); e = e.charAt(0).toUpperCase() + e.slice(1), t[n.attributes.role] = { type: e, links: [] }; } const i = e[n.relationships.destination.data.id]; t[n.attributes.role].links.push(i); } }))), this.meta.related = Object.keys(t).map(e => t[e]); } } }).call(this, n(1), n(0)); }, function(t, e, n) { "use strict"; (function(t) { n.d(e, "a", (function() { return s; })); var i = n(18), a = n(5), o = n(8), r = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; class s extends i.a { constructor(e) { if (super(e), this.call = o.a, this.errorHandling = o.c, this.logger = this.logger.m("Simkl"), e.match(/simkl\.com\/(anime|manga)\/\d*/i)) { if (this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.simklId = parseInt(t.urlPart(e, 4)), this.malId = NaN, "manga" === this.type) throw "Simkl has no manga support"; return this; } if (e.match(/myanimelist\.net\/(anime|manga)\/\d*/i)) { if (this.type = "anime" === t.urlPart(e, 3) ? "anime" : "manga", this.malId = Number(t.urlPart(e, 4)), this.simklId = NaN, "manga" === this.type) throw "Simkl has no manga support"; return this; } throw this.errorObj(a.a.UrlNotSuported, "Url not supported"); } _init() { return r(this, void 0, void 0, (function*() { this.logger.log("Retrieve", this.type, this.simklId ? "Simkl: " + this.simklId : "MAL: " + this.malId); const t = yield this.getData(); this.logger.log("Data", t), this.title(t), this.description(t), this.image(t), this.alternativeTitle(t), this.statistics(t), this.info(t), this.related(t), this.logger.log("Res", this.meta); })); } getData() { return r(this, void 0, void 0, (function*() { let t; if (t = Number.isNaN(this.malId) ? { simkl: this.simklId } : { mal: this.malId }, Number.isNaN(this.simklId)) { const e = yield this.call("https://api.simkl.com/search/id", t, !0); if (!e) throw this.errorObj(a.a.EntryNotFound, "simklId"); this.simklId = e[0].ids.simkl; } return this.call("https://api.simkl.com/anime/" + this.simklId, { extended: "full" }, !0); })); } title(t) { const {title: e} = t; e && (this.meta.title = e); } description(t) { const e = t.overview; e && (this.meta.description = e); } image(t) { const e = t.poster; e && (this.meta.image = `https://simkl.in/posters/${e}_ca.jpg`); } alternativeTitle(t) { void 0 !== t.en_title && t.en_title && this.meta.alternativeTitle.push(t.en_title); } statistics(t) { t.ratings.simkl.rating && this.meta.statistics.push({ title: "Score:", body: t.ratings.simkl.rating }), t.ratings.mal && t.ratings.mal.rating && this.meta.statistics.push({ title: "MAL Score:", body: t.ratings.mal.rating }), t.rank && t.rank && this.meta.statistics.push({ title: "Ranked:", body: "#" + t.rank }), t.ratings.simkl.votes && this.meta.statistics.push({ title: "Votes:", body: t.ratings.simkl.votes }); } info(t) { t.anime_type && t.anime_type && this.meta.info.push({ title: "Type:", body: [ { text: t.anime_type } ] }), t.total_episodes && t.total_episodes && this.meta.info.push({ title: "Episodes:", body: [ { text: t.total_episodes } ] }), t.status && t.status && this.meta.info.push({ title: "Status:", body: [ { text: t.status } ] }), t.year && t.year && this.meta.info.push({ title: "Year:", body: [ { text: t.year } ] }), t.airs && t.airs && this.meta.info.push({ title: "Broadcast:", body: [ { text: `${t.airs.day} at ${t.airs.time}` } ] }), t.network && t.network && this.meta.info.push({ title: "Licensor:", body: [ { text: t.network } ] }); const e = []; t.genres.forEach(t => { e.length < 6 && e.push({ text: t, url: `https://simkl.com/${this.type}/${t.toLowerCase()}` }); }), e.length && this.meta.info.push({ title: "Genres:", body: e }), t.runtime && t.runtime && this.meta.info.push({ title: "Duration:", body: [ { text: t.runtime + "mins" } ] }), t.certification && t.certification && this.meta.info.push({ title: "Rating:", body: [ { text: t.certification } ] }); } related(t) { const e = {}; t.relations && (t.relations.forEach(t => { if (!e[t.relation_type]) { let n = t.relation_type.toLowerCase().replace("_", " "); n = n.charAt(0).toUpperCase() + n.slice(1), e[t.relation_type] = { type: n, links: [] }; } e[t.relation_type].links.push({ url: `https://simkl.com/anime/${t.ids.simkl}/${t.ids.slug}`, title: t.title, statusTag: "" }); }), this.meta.related = Object.keys(e).map(t => e[t])); } jsonParse(t) { if ("" === t.responseText) throw { code: 444, message: "No Response" }; try { return JSON.parse(t.responseText); } catch (t) { throw { code: 406, message: "Not Acceptable", error: t }; } } } }).call(this, n(1)); }, function(t, e, n) { "use strict"; (function(t, i) { n.d(e, "a", (function() { return r; })); var a = n(85), o = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; function r() { $(document).ready((function() { return o(this, void 0, void 0, (function*() { document.getElementsByTagName("head")[0].onclick = function(t) { try { componentHandler.upgradeDom(); } catch (t) { console.log(t), setTimeout((function() { componentHandler.upgradeDom(); }), 500); } }; const e = t.$("head"); i.storage.injectjsResource("material.js", e), i.storage.updateDom(e), i.storage.injectCssResource("material.css", e), i.storage.injectCssResource("materialFont.css", e); new a.a($("html")).fillBase(null); })); })); } }).call(this, n(2), n(0)); }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { staticClass: "simkltvdetailonline", class: { Minimized: t.classes.minimized, Search: t.classes.search }, attrs: { id: "malkiss" } }, [ n("div", { staticClass: "malsync-page-relation" }, t._l(t.pageRelation, (function(t) { return n("a", { key: t.title, attrs: { href: t.link, target: "_blank", title: t.name } }, [ n("img", { attrs: { src: t.icon, width: "16", height: "16" } }) ]); })), 0), t._v(" "), n("div", { staticClass: "simkltvdetailonlinehead" }, [ n("div", { staticClass: "simkltvdetailonlineheadleft" }, [ n("div", { staticClass: "simkltvdetailonlineheadtitle" }, [ t._v("Stream online:") ]), t._v(" "), t.streamUrl ? n("a", { staticClass: "simkltvdetailonlineheadbutton simkltvdetailonlineheadbuttonstream", attrs: { href: t.streamUrl, target: "_blank" } }, [ n("div", { staticClass: "simkltvdetailonlineheadbuttonimage" }, [ n("img", { attrs: { src: t.favicon(t.streamUrl.split("/")[2]), alt: "", title: t.streamUrl.split("/")[2] } }) ]) ]) : t._e(), t._v(" "), t.continueUrl ? n("a", { staticClass: "simkltvdetailonlineheadbutton", attrs: { href: t.continueUrl, target: "_blank" } }, [ n("div", { staticClass: "simkltvdetailonlineheadbuttontitle" }, [ t._v("\n Watch next episode\n ") ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineheadbuttonico", staticStyle: { "margin-top": "-4px" } }) ]) : t._e(), t._v(" "), t.resumeUrl && !t.continueUrl ? n("a", { staticClass: "simkltvdetailonlineheadbutton", attrs: { href: t.resumeUrl, target: "_blank" } }, [ n("div", { staticClass: "simkltvdetailonlineheadbuttontitle" }, [ t._v("Resume episode") ]), t._v(" "), n("img", { staticStyle: { filter: "invert(1)", "margin-top": "-1px" }, attrs: { src: t.assetUrl("arrow-16px.png"), width: "16", height: "16" } }) ]) : t._e(), t._v(" "), null === t.links || Object.keys(t.links).length ? n("div", { staticClass: "simkltvdetailonlineheadbutton Sources", on: { click: function(e) { return t.toggleMinimized(); } } }, [ null !== t.links && Object.keys(t.links).length ? n("div", { staticClass: "simkltvdetailonlineheadbuttontitle" }, [ t._v("\n " + t._s(Object.keys(t.links).length) + " streaming sources\n ") ]) : n("div", { staticClass: "simkltvdetailonlineheadbuttontitle" }, [ t._v("Loading") ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineheadbuttonicoarrow" }) ]) : t._e(), t._v(" "), null !== t.pageSearch ? n("div", { staticClass: "simkltvdetailonlineheadbutton Search", on: { click: function(e) { return t.toggleSearch(); } } }, [ n("div", { staticClass: "simkltvdetailonlineheadbuttontitle" }, [ t._v("Search") ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineheadbuttonicoarrow" }) ]) : t._e() ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineheadright", on: { click: function(e) { return t.pressMinimized(); } } }, [ t._m(0) ]) ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineitems Search" }, t._l(t.pageSearch, (function(e) { return n("div", { key: e.search, staticClass: "simkltvdetailonlineitemsearch" }, [ n("a", { staticClass: "simkltvdetailonlineitemsearchhref", attrs: { href: e.search, target: "_blank" } }, [ n("div", { staticClass: "simkltvdetailonlineitemsearchico" }, [ n("img", { staticClass: "simkltvdetailonlineitemsearchicoimg", attrs: { src: e.favicon } }) ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineitemsearchtitle" }, [ t._v(t._s(e.name)) ]) ]), t._v(" "), e.googleSeach.length ? n("a", { staticClass: "simkltvdetailonlineitemsearchgoogle", attrs: { href: e.googleSeach, target: "_blank" } }) : t._e() ]); })), 0), t._v(" "), n("div", { staticClass: "simkltvdetailonlineitems Links" }, [ null === t.links ? n("div", [ t._v("Loading") ]) : t._e(), t._v(" "), t._l(t.links, (function(e) { return n("div", { key: e.name, staticClass: "simkltvdetailonlineitem" }, [ n("div", { staticClass: "simkltvdetailonlineitemtop" }, [ n("div", { staticClass: "simkltvdetailonlineitemico" }, [ n("img", { attrs: { src: t.getMal2KissFavicon(e.domain), alt: "" } }) ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineitemname" }, [ t._v(t._s(e.name)) ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineitemclose", on: { click: function(n) { return t.removeSource(e); } } }) ]), t._v(" "), n("div", { staticClass: "simkltvdetailonlineitemlinks" }, t._l(e.links, (function(e) { return n("a", { key: e.url, staticClass: "simkltvdetailonlineitemhref", attrs: { target: "_blank", href: e.url } }, [ t._v(t._s(e.name)) ]); })), 0) ]); })) ], 2) ]); }; i._withStripped = !0; var a = n(46).a, o = (n(295), n(6)), r = Object(o.a)(a, i, [ function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "simkltvdetailonlineheadrightclose" }, [ e("div", { staticClass: "simkltvdetailonlineheadrightname", staticStyle: { "--data-online-block-title": "'MAL-Sync'" } }), this._v(" "), e("div", { staticClass: "simkltvdetailonlineheadrightcloseico" }) ]); } ], !1, null, "55d18076", null); r.options.__file = "src/simkl/malkiss.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { attrs: { id: "material" } }, [ t.syncMode && t.minimized ? n("div", [ n("a", { staticStyle: { cursor: "pointer" }, on: { click: function(e) { t.minimized = !1; } } }, [ t._v("\n Action required\n ") ]) ]) : n("div", { staticClass: "scroll" }, [ t.syncMode ? t._e() : n("entry", { attrs: { obj: t.syncPage.singleObj } }), t._v(" "), n("rules", { attrs: { obj: t.rulesClass } }), t._v(" "), t.syncMode ? t._e() : n("input-button", { attrs: { label: "URL", state: t.searchClass.getUrl() }, on: { clicked: t.setPage } }), t._v(" "), t.syncMode ? t._e() : n("input-button", { attrs: { label: t.lang("correction_Offset"), state: t.offset, type: "number" }, on: { clicked: t.setOffset, change: function(e) { return t.inputOffset = e; } } }), t._v(" "), t.inputOffset && "0" !== t.inputOffset ? n("div", { attrs: { id: "offsetUi" } }, [ t._l(5, (function(e) { return n("div", { key: e, staticClass: "offsetBox" }, [ n("div", { staticClass: "mdl-color--primary top" }, [ t._v(t._s(e)) ]), t._v(" "), n("div", { staticClass: "bottom", class: { active: parseInt(t.currentStateEp) === t.calcEpOffset(e) } }, [ t._v("\n " + t._s(t.calcEpOffset(e)) + "\n ") ]) ]); })), t._v(" "), t._m(0), t._v(" "), t._m(1) ], 2) : t._e(), t._v(" "), n("search", { attrs: { keyword: t.searchClass.getSanitizedTitel(), type: t.searchClass.getNormalizedType(), "sync-mode": t.syncMode, "current-id": t.searchClass.getId() }, on: { clicked: function(e) { return t.setPage(e.url, e.id); } } }) ], 1), t._v(" "), t.syncMode && t.minimized ? t._e() : n("a", { staticClass: "close", on: { click: function(e) { return t.close(); } } }, [ t._v(t._s(t.lang("close"))) ]) ]); }; i._withStripped = !0; var a = n(41).a, o = n(6), r = Object(o.a)(a, i, [ function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "offsetBox" }, [ e("div", { staticClass: "mdl-color--primary top" }, [ this._v("...") ]), this._v(" "), e("div", { staticClass: "bottom" }, [ this._v("...") ]) ]); }, function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "offsetBox" }, [ e("div", { staticClass: "mdl-color--primary top" }, [ this._v("∞") ]), this._v(" "), e("div", { staticClass: "bottom" }, [ this._v("∞") ]) ]); } ], !1, null, null, null); r.options.__file = "src/_provider/Search/correctionApp.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t, e = this, n = e.$createElement, i = e._self._c || n; return i("div", { class: (t = { "pop-over": !e.navigation }, t[e.getTheme(e.options)] = !0, t), staticStyle: { height: "100%" }, attrs: { id: "material" } }, [ i("div", { staticClass: "mdl-layout mdl-js-layout mdl-layout--fixed-header mdl-layout--fixed-tabs mdl-shadow--2dp" }, [ i("header", { staticClass: "mdl-layout__header", staticStyle: { "min-height": "0" } }, [ i("button", { directives: [ { name: "show", rawName: "v-show", value: e.backbutton, expression: "backbutton" } ], staticClass: "mdl-button mdl-js-button mdl-button--icon mdl-layout__drawer-button", staticStyle: { display: "none" }, attrs: { id: "backbutton" }, on: { click: function(t) { return e.backbuttonClick(); } } }, [ i("i", { staticClass: "material-icons" }, [ e._v("arrow_back") ]) ]), e._v(" "), i("div", { staticClass: "mdl-layout__header-row" }, [ i("button", { staticClass: "mdl-button mdl-js-button mdl-button--icon mdl-layout__drawer-button", style: e.backbuttonBookStyle, attrs: { id: "book" }, on: { click: function(t) { return e.bookClick(); } } }, [ i("i", { staticClass: "material-icons md-48 bookIcon" }, [ e._v(e._s(e.bookIcon)) ]) ]), e._v(" "), i("div", { staticClass: "mdl-textfield mdl-js-textfield mdl-textfield--expandable", class: { "is-dirty": e.currentTab == e.tabs.search.title }, staticStyle: { "margin-left": "-57px", "margin-top": "3px", "padding-left": "40px" }, style: e.backbuttonSearchStyle, attrs: { id: "SearchButton" } }, [ e._m(0), e._v(" "), i("div", { staticClass: "mdl-textfield__expandable-holder" }, [ i("input", { directives: [ { name: "model", rawName: "v-model", value: e.keyword, expression: "keyword" } ], staticClass: "mdl-textfield__input", attrs: { id: "headMalSearch", type: "text" }, domProps: { value: e.keyword }, on: { keyup: function(t) { return e.keywordSet(); }, input: function(t) { t.target.composing || (e.keyword = t.target.value); } } }), e._v(" "), i("label", { staticClass: "mdl-textfield__label", attrs: { for: "headMalSearch" } }) ]) ]), e._v(" "), e._m(1), e._v(" "), e._m(2) ]), e._v(" "), i("div", { staticClass: "mdl-layout__tab-bar mdl-js-ripple-effect" }, [ i("a", { staticClass: "mdl-layout__tab", class: { "is-active": e.currentTab == e.tabs.overview.title }, on: { click: function(t) { return e.selectTab(e.tabs.overview.title); } } }, [ e._v(e._s(e.lang("minimalApp_Overview"))) ]), e._v(" "), i("a", { directives: [ { name: "show", rawName: "v-show", value: e.showReviewAndRecom, expression: "showReviewAndRecom" } ], staticClass: "mdl-layout__tab reviewsTab", class: { "is-active": e.currentTab == e.tabs.reviews.title }, on: { click: function(t) { return e.selectTab(e.tabs.reviews.title); } } }, [ e._v(e._s(e.lang("minimalApp_Reviews"))) ]), e._v(" "), i("a", { directives: [ { name: "show", rawName: "v-show", value: e.showReviewAndRecom, expression: "showReviewAndRecom" } ], staticClass: "mdl-layout__tab recommendationTab", class: { "is-active": e.currentTab == e.tabs.recommendations.title }, on: { click: function(t) { return e.selectTab(e.tabs.recommendations.title); } } }, [ e._v(e._s(e.lang("minimalApp_Recommendations"))) ]), e._v(" "), i("a", { staticClass: "mdl-layout__tab settingsTab", class: { "is-active": e.currentTab == e.tabs.settings.title }, on: { click: function(t) { return e.selectTab(e.tabs.settings.title); } } }, [ e._v(e._s(e.lang("minimalApp_Settings"))) ]) ]) ]), e._v(" "), i("main", { staticClass: "mdl-layout__content", staticStyle: { height: "100%" } }, [ i("section", { staticClass: "mdl-layout__tab-panel", class: { "is-active": e.currentTab == e.tabs.overview.title }, attrs: { id: "fixed-tab-1" } }, [ i("overviewVue", { attrs: { "render-obj": e.renderObj } }) ], 1), e._v(" "), i("section", { staticClass: "mdl-layout__tab-panel", class: { "is-active": e.currentTab == e.tabs.reviews.title }, attrs: { id: "fixed-tab-2" } }, [ i("reviewsVue", { attrs: { url: e.renderMalUrl, state: e.currentTab == e.tabs.reviews.title } }) ], 1), e._v(" "), i("section", { staticClass: "mdl-layout__tab-panel", class: { "is-active": e.currentTab == e.tabs.recommendations.title }, attrs: { id: "fixed-tab-3" } }, [ i("recommendationsVue", { attrs: { url: e.renderMalUrl, state: e.currentTab == e.tabs.recommendations.title } }) ], 1), e._v(" "), i("section", { staticClass: "mdl-layout__tab-panel", class: { "is-active": e.popOver }, attrs: { id: "fixed-tab-4" } }, [ i("keepAlive", { attrs: { max: 1 } }, [ e.currentTab == e.tabs.bookmarks.title ? i("bookmarksVue", { attrs: { state: e.tabs.bookmarks.state, "list-type": e.tabs.bookmarks.type, sort: e.tabs.bookmarks.sort }, on: { rewatch: function(t) { e.tabs.bookmarks.supportsRewatch = t; }, sort: function(t) { e.tabs.bookmarks.sort = t; } }, scopedSlots: e._u([ { key: "default", fn: function(t) { var n = t.sorting; return [ i("div", { staticClass: "mdl-grid", staticStyle: { "justify-content": "space-around" }, attrs: { id: "malList" } }, [ i("select", { directives: [ { name: "model", rawName: "v-model", value: e.tabs.bookmarks.type, expression: "tabs.bookmarks.type" } ], staticClass: "inputtext mdl-textfield__input mdl-cell mdl-cell--12-col", staticStyle: { outline: "none", "background-color": "white", border: "none" }, attrs: { id: "userListType", name: "myinfo_score" }, on: { change: function(t) { var n = Array.prototype.filter.call(t.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); e.$set(e.tabs.bookmarks, "type", t.target.multiple ? n : n[0]); } } }, [ i("option", { attrs: { value: "anime" } }, [ e._v(e._s(e.lang("Anime"))) ]), e._v(" "), i("option", { attrs: { value: "manga" } }, [ e._v(e._s(e.lang("Manga"))) ]) ]), e._v(" "), i("div", { staticClass: "mdl-cell mdl-cell--12-col", staticStyle: { display: "flex" } }, [ i("select", { directives: [ { name: "model", rawName: "v-model", value: e.tabs.bookmarks.state, expression: "tabs.bookmarks.state" } ], staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none", "background-color": "white", border: "none", flex: "1", width: "auto" }, attrs: { id: "userListState", name: "myinfo_score" }, on: { change: function(t) { var n = Array.prototype.filter.call(t.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); e.$set(e.tabs.bookmarks, "state", t.target.multiple ? n : n[0]); } } }, [ i("option", { domProps: { value: 7 } }, [ e._v(e._s(e.lang("All"))) ]), e._v(" "), i("option", { attrs: { selected: "" }, domProps: { value: 1 } }, [ e._v(e._s(e.lang("UI_Status_watching_" + e.tabs.bookmarks.type))) ]), e._v(" "), i("option", { domProps: { value: 2 } }, [ e._v(e._s(e.lang("UI_Status_Completed"))) ]), e._v(" "), i("option", { domProps: { value: 3 } }, [ e._v(e._s(e.lang("UI_Status_OnHold"))) ]), e._v(" "), i("option", { domProps: { value: 4 } }, [ e._v(e._s(e.lang("UI_Status_Dropped"))) ]), e._v(" "), i("option", { domProps: { value: 6 } }, [ e._v(e._s(e.lang("UI_Status_planTo_" + e.tabs.bookmarks.type))) ]), e._v(" "), e.tabs.bookmarks.supportsRewatch ? i("option", { domProps: { value: 23 } }, [ e._v(e._s(e.lang("UI_Status_Rewatching_" + e.tabs.bookmarks.type))) ]) : e._e() ]), e._v(" "), 6 === e.tabs.bookmarks.state ? i("div", { staticClass: "bg-cell", staticStyle: { padding: "0 5px", "margin-left": "10px", display: "flex", cursor: "pointer" }, on: { click: function(t) { return e.openRandom(6, e.tabs.bookmarks.type); } } }, [ i("i", { staticClass: "material-icons", staticStyle: { position: "relative", top: "2px" } }, [ e._v("shuffle") ]) ]) : e._e(), e._v(" "), i("div", { staticClass: "bg-cell", staticStyle: { padding: "0 5px", "margin-left": "10px", display: "flex", cursor: "pointer" }, on: { click: function(t) { e.listView = !e.listView; } } }, [ e.listView ? i("i", { staticClass: "material-icons", staticStyle: { position: "relative", top: "2px" } }, [ e._v("view_module") ]) : i("i", { staticClass: "material-icons", staticStyle: { position: "relative", top: "2px" } }, [ e._v("view_list") ]) ]), e._v(" "), i("div", { directives: [ { name: "show", rawName: "v-show", value: n && n.length && n.length > 1, expression: "sorting && sorting.length && sorting.length > 1" } ], staticClass: "bg-cell", staticStyle: { padding: "0 5px", "margin-left": "10px", display: "flex", cursor: "pointer" }, attrs: { id: "demo-menu-lower-left" } }, [ e.tabs.bookmarks.sort ? i("i", { staticClass: "material-icons" }, [ e._v(e._s(e.tabs.bookmarks.sort.icon)) ]) : e._e() ]), e._v(" "), i("div", [ e.tabs.bookmarks.sort ? i("ul", { staticClass: "mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect", attrs: { for: "demo-menu-lower-left" } }, e._l(n, (function(t) { return i("li", { key: t.value, staticClass: "mdl-menu__item", class: { active: t.value === e.tabs.bookmarks.sort.value || t.child && t.child.value === e.tabs.bookmarks.sort.value }, on: { click: function(n) { t.child && t.value === e.tabs.bookmarks.sort.value ? e.tabs.bookmarks.sort = t.child : e.tabs.bookmarks.sort = t; } } }, [ !t.child || t.value !== e.tabs.bookmarks.sort.value && t.child.value !== e.tabs.bookmarks.sort.value ? i("i", { staticClass: "material-icons", staticStyle: { "vertical-align": "sub", "margin-right": "10px" } }, [ e._v(e._s(t.icon)) ]) : [ t.value === e.tabs.bookmarks.sort.value ? i("i", { staticClass: "material-icons", staticStyle: { "vertical-align": "sub", "margin-right": "10px" } }, [ e._v("arrow_downward") ]) : i("i", { staticClass: "material-icons", staticStyle: { "vertical-align": "sub", "margin-right": "10px" } }, [ e._v("arrow_upward") ]) ], e._v("\n\n " + e._s(t.title) + "\n ") ], 2); })), 0) : e._e() ]) ]) ]) ]; } } ], null, !1, 2489004280) }) : e._e() ], 1), e._v(" "), e.currentTab == e.tabs.search.title ? i("searchVue", { attrs: { keyword: e.tabs.search.keyword, type: e.tabs.search.type }, on: { clicked: e.searchClick } }, [ i("div", { staticClass: "mdl-grid", staticStyle: { "justify-content": "space-around" } }, [ i("select", { directives: [ { name: "model", rawName: "v-model", value: e.tabs.search.type, expression: "tabs.search.type" } ], staticClass: "inputtext mdl-textfield__input mdl-cell mdl-cell--12-col", staticStyle: { outline: "none", "background-color": "white", border: "none" }, attrs: { id: "userListType", name: "myinfo_score" }, on: { change: function(t) { var n = Array.prototype.filter.call(t.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); e.$set(e.tabs.search, "type", t.target.multiple ? n : n[0]); } } }, [ i("option", { attrs: { value: "anime" } }, [ e._v(e._s(e.lang("Anime"))) ]), e._v(" "), i("option", { attrs: { value: "manga" } }, [ e._v(e._s(e.lang("Manga"))) ]) ]) ]) ]) : e._e(), e._v(" "), e.currentTab == e.tabs.updateCheck.title ? i("updateCheckVue") : e._e(), e._v(" "), e.currentTab == e.tabs.listSync.title ? i("listSyncVue", { attrs: { "list-type": e.tabs.listSync.type } }, [ i("select", { directives: [ { name: "model", rawName: "v-model", value: e.tabs.listSync.type, expression: "tabs.listSync.type" } ], staticClass: "typeSelect-updateCheck", staticStyle: { "margin-bottom": "20px" }, on: { change: [ function(t) { var n = Array.prototype.filter.call(t.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); e.$set(e.tabs.listSync, "type", t.target.multiple ? n : n[0]); }, function(t) { return e.rebuildListSync(); } ] } }, [ i("option", { attrs: { value: "anime" } }, [ e._v(e._s(e.lang("Anime"))) ]), e._v(" "), i("option", { attrs: { value: "manga" } }, [ e._v(e._s(e.lang("Manga"))) ]) ]) ]) : e._e(), e._v(" "), e.currentTab == e.tabs.cleanTags.title ? i("cleanTagsVue") : e._e(), e._v(" "), e.currentTab == e.tabs.allSites.title ? i("allSitesVue") : e._e(), e._v(" "), e.currentTab == e.tabs.customDomains.title ? i("customDomainsVue") : e._e(), e._v(" "), e.currentTab == e.tabs.quicklinks.title ? i("quicklinksEdit") : e._e() ], 1), e._v(" "), i("section", { staticClass: "mdl-layout__tab-panel", class: { "is-active": e.currentTab == e.tabs.settings.title }, attrs: { id: "fixed-tab-5" } }, [ i("div", { staticClass: "page-content malClear", attrs: { id: "malConfig" } }, [ i("settingsVue", { attrs: { page: e.page } }) ], 1) ]) ]) ]) ]); }; i._withStripped = !0; var a = n(48).a, o = n(6), r = Object(o.a)(a, i, [ function() { var t = this.$createElement, e = this._self._c || t; return e("label", { staticClass: "mdl-button mdl-js-button mdl-button--icon", attrs: { for: "headMalSearch" } }, [ e("i", { staticClass: "material-icons" }, [ this._v("search") ]) ]); }, function() { var t = this.$createElement, e = this._self._c || t; return e("button", { staticClass: "mdl-button mdl-js-button mdl-button--icon mdl-layout__drawer-button", staticStyle: { left: "initial", right: "40px" }, attrs: { id: "material-fullscreen" } }, [ e("i", { staticClass: "material-icons md-48" }, [ this._v("fullscreen") ]) ]); }, function() { var t = this.$createElement, e = this._self._c || t; return e("button", { staticClass: "mdl-button mdl-js-button mdl-button--icon mdl-layout__drawer-button", staticStyle: { left: "initial", right: "0" }, attrs: { id: "close-info-popup" } }, [ e("i", { staticClass: "material-icons close" }, [ this._v("close") ]) ]); } ], !1, null, null, null); r.options.__file = "src/minimal/minimalApp.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { staticClass: "search" }, [ n("div", { staticClass: "input" }, [ n("div", { staticClass: "group" }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.searchKeyword, expression: "searchKeyword" } ], attrs: { type: "text", required: "" }, domProps: { value: t.searchKeyword }, on: { focus: function(e) { return t.inputFocus(); }, input: function(e) { e.target.composing || (t.searchKeyword = e.target.value); } } }), t._v(" "), n("span", { staticClass: "bar" }), t._v(" "), n("label", [ t._v(t._s(t.lang("correction_Search"))) ]) ]) ]), t._v(" "), n("div", { staticClass: "loadingBar" }, [ n("div", { directives: [ { name: "show", rawName: "v-show", value: t.loading, expression: "loading" } ], staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate", staticStyle: { width: "100%" } }, [ n("div", { staticClass: "progressbar bar bar1", staticStyle: { width: "0%" } }), t._v(" "), n("div", { staticClass: "bufferbar bar bar2", staticStyle: { width: "100%" } }), t._v(" "), n("div", { staticClass: "auxbar bar bar3", staticStyle: { width: "0%" } }) ]) ]), t._v(" "), t.searchKeyword ? n("div", { staticClass: "results" }, [ n("a", { staticClass: "result", staticStyle: { cursor: "pointer" }, attrs: { href: "" }, on: { click: function(e) { return t.clickItem(e, ""); } } }, [ n("div", { staticClass: "image" }), t._v(" "), n("div", { staticClass: "right" }, [ n("span", { staticClass: "title" }, [ t._v(t._s(t.lang("correction_NoEntry"))) ]), t._v(" "), n("p", [ t._v(t._s(t.lang("correction_NoMal"))) ]) ]) ]), t._v(" "), t._l(t.items, (function(e) { return n("a", { key: e.id, staticClass: "result", class: { active: t.currentId === e.id }, attrs: { href: e.url }, on: { click: function(n) { return t.clickItem(n, e); } } }, [ n("div", { staticClass: "image" }, [ n("img", { attrs: { src: e.image } }) ]), t._v(" "), n("div", { staticClass: "right" }, [ n("span", { staticClass: "title" }, [ t._v(t._s(e.name)) ]), t._v(" "), n("p", [ t._v(t._s(t.lang("search_Type")) + " " + t._s(e.media_type)) ]), t._v(" "), n("p", [ t._v(t._s(t.lang("search_Score")) + " " + t._s(e.score)) ]), t._v(" "), n("p", [ t._v(t._s(t.lang("search_Year")) + " " + t._s(e.year)) ]) ]) ]); })) ], 2) : t._e() ]); }; i._withStripped = !0; var a = n(42).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/_provider/Search/components/search.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { staticClass: "inputButton" }, [ n("div", { staticClass: "group" }, [ "checkbox" === t.type ? n("input", { directives: [ { name: "model", rawName: "v-model", value: t.inputString, expression: "inputString" } ], attrs: { required: "", type: "checkbox" }, domProps: { checked: Array.isArray(t.inputString) ? t._i(t.inputString, null) > -1 : t.inputString }, on: { change: function(e) { var n = t.inputString, i = e.target, a = !!i.checked; if (Array.isArray(n)) { var o = t._i(n, null); i.checked ? o < 0 && (t.inputString = n.concat([ null ])) : o > -1 && (t.inputString = n.slice(0, o).concat(n.slice(o + 1))); } else t.inputString = a; } } }) : "radio" === t.type ? n("input", { directives: [ { name: "model", rawName: "v-model", value: t.inputString, expression: "inputString" } ], attrs: { required: "", type: "radio" }, domProps: { checked: t._q(t.inputString, null) }, on: { change: function(e) { t.inputString = null; } } }) : n("input", { directives: [ { name: "model", rawName: "v-model", value: t.inputString, expression: "inputString" } ], attrs: { required: "", type: t.type }, domProps: { value: t.inputString }, on: { input: function(e) { e.target.composing || (t.inputString = e.target.value); } } }), t._v(" "), n("span", { staticClass: "bar" }), t._v(" "), n("label", [ t._v(t._s(t.label)) ]) ]), t._v(" "), t.inputString !== t.state ? n("button", { on: { click: t.click } }, [ t._v("Update") ]) : t._e() ]); }; i._withStripped = !0; var a = n(43).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/_provider/Search/components/inputButton.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return t.obj ? n("div", { staticClass: "entry" }, [ n("a", { staticClass: "result", staticStyle: { cursor: "pointer" }, attrs: { href: t.obj.getDisplayUrl(), target: "_blank" } }, [ n("div", { staticClass: "image" }, [ t.image ? n("img", { attrs: { src: t.image } }) : t._e() ]), t._v(" "), n("div", { staticClass: "right" }, [ n("span", { staticClass: "title" }, [ t._v(t._s(t.obj.getTitle())) ]), t._v(" "), t.obj.isOnList() ? n("p", [ t._v(t._s(t.lang("UI_Status")) + " " + t._s(t.statusText(t.status))) ]) : t._e(), t._v(" "), t.obj.isOnList() ? n("p", [ t._v(t._s(t.lang("UI_Score")) + " " + t._s(t.score)) ]) : t._e(), t._v(" "), t.obj.isOnList() ? n("p", [ t._v("\n " + t._s(t.utilsepisode(t.obj.getType())) + " " + t._s(t.episode)), t.obj.getTotalEpisodes() ? n("span", { attrs: { id: "curEps" } }, [ t._v("/" + t._s(t.obj.getTotalEpisodes())) ]) : n("span", [ t._v("/?") ]) ]) : t._e() ]) ]) ]) : t._e(); }; i._withStripped = !0; var a = n(44).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/_provider/Search/components/entry.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return t.rules && t.rules.length ? n("div", { staticClass: "rules" }, [ n("div", { staticClass: "title" }, [ t._v(t._s(t.lang("UI_Rules"))) ]), t._v(" "), t._l(t.rules, (function(e, i) { return n("div", { key: i, staticClass: "rule", class: t.activeRule(e) }, [ n("div", { staticClass: "header" }, [ e.to.title ? [ n("span", { staticClass: "noHover" }, [ t._v("\n " + t._s(e.to.title) + "\n ") ]), t._v(" "), n("span", { staticClass: "hover" }, [ t._v("\n " + t._s(e.to.url) + "\n ") ]) ] : [ t._v("\n " + t._s(e.to.url) + "\n ") ] ], 2), t._v(" "), n("div", { staticClass: "content" }, [ t._v("\n " + t._s(t.lang("UI_Episode")) + "\n " + t._s(e.from.start) + "\n "), e.from.start !== e.from.end ? [ t._v("\n - " + t._s(Number.MAX_SAFE_INTEGER === e.from.end ? "∞" : e.from.end)) ] : t._e(), t._v("\n ➞\n " + t._s(Number.MAX_SAFE_INTEGER === e.to.start ? "∞" : e.to.start) + "\n "), e.to.start !== e.to.end ? [ t._v("\n - " + t._s(Number.MAX_SAFE_INTEGER === e.to.end ? "∞" : e.to.end)) ] : t._e() ], 2) ]); })) ], 2) : t._e(); }; i._withStripped = !0; var a = n(45).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/_provider/Search/components/rules.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("ul", { staticClass: "demo-list-control mdl-list", staticStyle: { margin: "0", padding: "0" } }, [ n("div", { staticClass: "mdl-grid" }, [ n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp", staticStyle: { display: "none" }, attrs: { id: "page-config" } }), t._v(" "), t.page && t.page.UILoaded ? n("correction", { attrs: { page: t.page } }) : t._e(), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v(t._s(t.lang("settings_General"))) ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.lang("settings_Mode")) + "\n ") ]), t._v(" "), t._m(0) ]), t._v(" "), n("login", { attrs: { option: "syncMode" } }), t._v(" "), "SIMKL" == t.options.syncMode ? n("dropdown", { attrs: { option: "syncModeSimkl", text: "Manga Sync Mode" } }, [ n("option", { attrs: { value: "MAL" } }, [ t._v("MyAnimeList") ]), t._v(" "), n("option", { attrs: { value: "ANILIST" } }, [ t._v("AniList") ]), t._v(" "), n("option", { attrs: { value: "KITSU" } }, [ t._v("Kitsu") ]) ]) : t._e(), t._v(" "), "SIMKL" == t.options.syncMode ? n("login", { attrs: { option: "syncModeSimkl" } }) : t._e(), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.lang("settings_Animesync")) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("select", { staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "autoTrackingModeanime", name: "myinfo_score" } }, [ n("option", { attrs: { value: "video" } }, [ t._v(t._s(t.lang("settings_Animesync_Video"))) ]), t._v(" "), n("option", { attrs: { value: "instant" } }, [ t._v(t._s(t.lang("settings_Animesync_Instant"))) ]), t._v(" "), n("option", { attrs: { value: "manual" } }, [ t._v(t._s(t.lang("settings_Animesync_Manual"))) ]) ]) ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.lang("settings_Mangasync")) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("select", { staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "autoTrackingModemanga", name: "myinfo_score" } }, [ n("option", { attrs: { value: "instant" } }, [ t._v(t._s(t.lang("settings_Animesync_Instant"))) ]), t._v(" "), n("option", { attrs: { value: "manual" } }, [ t._v(t._s(t.lang("settings_Animesync_Manual"))) ]) ]) ]) ]), t._v(" "), n("numberInput", { directives: [ { name: "show", rawName: "v-show", value: "video" == t.options.autoTrackingModeanime || "video" == t.options.autoTrackingModemanga, expression: "options.autoTrackingModeanime == 'video' || options.autoTrackingModemanga == 'video'" } ], attrs: { option: "videoDuration", min: 10, max: 99 } }, [ t._v(t._s(t.lang("settings_AutoTracking_Video", [ t.options.videoDuration ]))) ]), t._v(" "), n("numberInput", { directives: [ { name: "show", rawName: "v-show", value: "instant" == t.options.autoTrackingModeanime || "instant" == t.options.autoTrackingModemanga, expression: "options.autoTrackingModeanime == 'instant' || options.autoTrackingModemanga == 'instant'" } ], attrs: { option: "delay" } }, [ t._v(t._s(t.lang("settings_AutoTracking_Instant", [ t.options.delay ]))) ]), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", attrs: { id: "allSitesUi", type: "button" } }, [ t._v("\n " + t._s(t.lang("settings_website_button")) + "\n ") ]), t._v(" "), t.isExtension() ? n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", staticStyle: { "margin-left": "15px" }, attrs: { id: "customDomainsUi", type: "button" } }, [ t._v("\n " + t._s(t.lang("settings_custom_domains_button")) + "\n ") ]) : t._e() ]), t._v(" "), n("shortcut", { attrs: { option: "correctionShort" } }, [ t._v(t._s(t.lang("settings_Shortcuts_Correction"))) ]), t._v(" "), n("shortcut", { attrs: { option: "syncShort" } }, [ t._v(t._s(t.lang("settings_Shortcuts_Sync"))) ]), t._v(" "), n("checkbox", { attrs: { option: "localSync" } }, [ t._v(t._s(t.lang("settings_LocalSync")) + "\n "), n("a", { staticStyle: { "margin-left": "auto", "margin-right": "10px" }, attrs: { href: "https://github.com/MALSync/MALSync/wiki/Local-Sync", target: "_blank" } }, [ t._v("[INFO]") ]) ]), t._v(" "), n("li", { directives: [ { name: "show", rawName: "v-show", value: t.options.localSync, expression: "options.localSync" } ], staticClass: "mdl-list__item" }, [ n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", attrs: { id: "export", type: "button" }, on: { click: function(e) { return t.exportFallbackSync(); } } }, [ t._v("\n " + t._s(t.lang("settings_LocalSync_Export")) + "\n ") ]), t._v(" "), n("fileUpload", { staticStyle: { "margin-left": "15px" }, on: { upload: t.importFallbackSync } }, [ t._v(t._s(t.lang("settings_LocalSync_Import"))) ]) ], 1) ], 1), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v("\n " + t._s(t.lang("settings_StreamingSite")) + "\n ") ]), t._v(" "), n("tooltip", [ t._v(t._s(t.lang("settings_StreamingSite_text"))) ]) ], 1), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("quicklinksOverview") ], 1) ]), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ t._m(1), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.lang("settings_Thumbnails")) + "\n "), n("tooltip", [ n("span", [ t._v(t._s(t.lang("settings_Thumbnails_text"))) ]) ]) ], 1), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("select", { staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "malThumbnail", name: "myinfo_score" } }, [ n("option", { attrs: { value: "144" } }, [ t._v(t._s(t.lang("settings_Thumbnails_Large"))) ]), t._v(" "), n("option", { attrs: { value: "100" } }, [ t._v(t._s(t.lang("settings_Thumbnails_Medium"))) ]), t._v(" "), n("option", { attrs: { value: "60" } }, [ t._v(t._s(t.lang("settings_Thumbnails_Small"))) ]), t._v(" "), n("option", { attrs: { value: "0" } }, [ t._v(t._s(t.lang("settings_Thumbnails_Default"))) ]) ]) ]) ]), t._v(" "), n("checkbox", { attrs: { option: "friendScore" } }, [ t._v(t._s(t.lang("settings_FriendScore"))) ]) ], 1), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ t._m(2), t._v(" "), n("checkbox", { attrs: { option: "epPredictions" } }, [ t._v(t._s(t.lang("settings_epPredictions"))) ]), t._v(" "), n("checkbox", { attrs: { option: "malTags" } }, [ t._v("\n " + t._s(t.lang("settings_malTags")) + "\n "), n("tooltip", { attrs: { direction: "bottom" } }, [ n("span", [ t._v(t._s(t.lang("settings_malTags_Text"))) ]) ]) ], 1), t._v(" "), n("checkbox", { attrs: { option: "malContinue" } }, [ t._v(t._s(t.lang("settings_malContinue"))) ]), t._v(" "), n("checkbox", { attrs: { option: "malResume" } }, [ t._v(t._s(t.lang("settings_malResume"))) ]), t._v(" "), n("checkbox", { attrs: { option: "usedPage" } }, [ t._v(t._s(t.lang("settings_usedPage"))) ]) ], 1), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v(t._s(t.lang("settings_miniMAL_popup")) + " (miniMAL)") ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.lang("settings_miniMAL_theme")) + "\n ") ]), t._v(" "), t._m(3) ]), t._v(" "), n("span", { staticClass: "option-extension", staticStyle: { display: "none" } }, [ n("checkbox", { attrs: { option: "minimalWindow" } }, [ t._v(t._s(t.lang("settings_miniMAL_window"))) ]) ], 1), t._v(" "), n("checkbox", { attrs: { option: "floatButtonStealth" } }, [ t._v(t._s(t.lang("settings_miniMAL_floatButtonStealth"))) ]), t._v(" "), n("checkbox", { attrs: { option: "minimizeBigPopup" } }, [ t._v(t._s(t.lang("settings_miniMAL_minimizeBigPopup"))) ]), t._v(" "), n("checkbox", { attrs: { option: "floatButtonCorrection" } }, [ t._v(t._s(t.lang("settings_miniMAL_floatButtonCorrection"))) ]), t._v(" "), n("checkbox", { attrs: { option: "floatButtonHide" } }, [ t._v(t._s(t.lang("settings_miniMAL_floatButtonHide"))) ]), t._v(" "), t.isExtension() ? t._e() : n("checkbox", { attrs: { option: "autoCloseMinimal" } }, [ t._v(t._s(t.lang("settings_miniMAL_autoCloseMinimal"))) ]), t._v(" "), t.commands ? n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.lang("settings_miniMAL_Open")) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ t._v("\n " + t._s(t.commands._execute_browser_action.shortcut) + "\n "), t.commands._execute_browser_action.shortcut ? t._e() : n("span", [ n("a", { attrs: { href: "https://github.com/MALSync/MALSync/wiki/Shortcuts", target: "_blank" } }, [ t._v(t._s(t.lang("settings_miniMAL_NotSet"))) ]) ]) ]) ]) : t._e(), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.lang("settings_miniMAL_Display")) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("select", { staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "posLeft", name: "myinfo_score" } }, [ n("option", { attrs: { value: "left" } }, [ t._v(t._s(t.lang("settings_miniMAL_Display_Left"))) ]), t._v(" "), t.isExtension() ? n("option", { attrs: { value: "center" } }, [ t._v(t._s(t.lang("settings_miniMAL_Display_Center"))) ]) : t._e(), t._v(" "), n("option", { attrs: { value: "right" } }, [ t._v(t._s(t.lang("settings_miniMAL_Display_Right"))) ]) ]) ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item", staticStyle: { display: "inline-block", width: "49%" } }, [ n("div", { staticClass: "mdl-textfield mdl-js-textfield mdl-textfield--floating-label", staticStyle: { width: "100%" } }, [ n("input", { staticClass: "mdl-textfield__input", attrs: { id: "miniMalHeight", type: "text", step: "1" }, domProps: { value: t.options.miniMalHeight } }), t._v(" "), n("label", { staticClass: "mdl-textfield__label", attrs: { for: "miniMalHeight" } }, [ t._v("\n " + t._s(t.lang("settings_miniMAL_Height")) + "\n ") ]) ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item", staticStyle: { display: "inline-block", width: "50%" } }, [ n("div", { staticClass: "mdl-textfield mdl-js-textfield mdl-textfield--floating-label", staticStyle: { width: "100%" } }, [ n("input", { staticClass: "mdl-textfield__input", attrs: { id: "miniMalWidth", type: "text", step: "1" }, domProps: { value: t.options.miniMalWidth } }), t._v(" "), n("label", { staticClass: "mdl-textfield__label", attrs: { for: "miniMalWidth" } }, [ t._v("\n " + t._s(t.lang("settings_miniMAL_Width")) + "\n ") ]) ]) ]) ], 1), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v("\n " + t._s(t.lang("settings_Video_Player")) + "\n ") ]) ]), t._v(" "), n("checkbox", { attrs: { option: "autofull" } }, [ t._v(t._s(t.lang("settings_Video_Fullscreen"))) ]), t._v(" "), n("checkbox", { attrs: { option: "autoresume" } }, [ t._v(t._s(t.lang("settings_Video_Resume"))) ]), t._v(" "), n("checkbox", { attrs: { option: "autoNextEp" } }, [ t._v(t._s(t.lang("settings_autoNextEp"))) ]), t._v(" "), t.isExtension() ? n("shortcut", { attrs: { option: "nextEpShort" } }, [ t._v(t._s(t.lang("settings_Shortcuts_Next_Episode"))) ]) : t._e(), t._v(" "), t.isExtension() ? n("shortcut", { attrs: { option: "introSkipFwd" } }, [ t._v(t._s(t.lang("settings_Shortcuts_Skip_Forward"))) ]) : t._e(), t._v(" "), t.isExtension() ? n("shortcut", { attrs: { option: "introSkipBwd" } }, [ t._v(t._s(t.lang("settings_Shortcuts_Skip_Backward"))) ]) : t._e(), t._v(" "), t.isExtension() ? n("numberInput", { attrs: { option: "introSkip", min: 5 } }, [ t._v(t._s(t.lang("settings_introSkip", [ t.options.introSkip ]))) ]) : t._e() ], 1), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp", attrs: { id: "progressCheck" } }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v("\n " + t._s(t.lang("settings_ProgressCheck")) + "\n ") ]) ]), t._v(" "), n("dropdown", { attrs: { option: "progressInterval", text: t.lang("settings_Interval") }, on: { changed: function(e) { return t.startProgressSync(); } } }, [ n("option", { attrs: { value: "0" } }, [ t._v(t._s(t.lang("settings_Interval_Off"))) ]), t._v(" "), n("option", { attrs: { value: "30" } }, [ t._v("30min") ]), t._v(" "), n("option", { attrs: { value: "60" } }, [ t._v("1h") ]), t._v(" "), n("option", { attrs: { value: "120" } }, [ t._v("2h") ]), t._v(" "), n("option", { attrs: { value: "240" } }, [ t._v("4h") ]), t._v(" "), n("option", { attrs: { value: "720" } }, [ t._v("12h") ]), t._v(" "), n("option", { attrs: { value: "1440" } }, [ t._v("24h") ]) ]), t._v(" "), n("dropdown", { attrs: { option: "progressIntervalDefaultAnime", text: t.lang("settings_Interval_Default_Anime") }, on: { changed: function(e) { return t.startProgressSync(); } } }, t._l(t.progressAnimeDropdown, (function(e) { return n("option", { key: e.key, domProps: { value: e.key } }, [ t._v(t._s(e.label)) ]); })), 0), t._v(" "), n("dropdown", { attrs: { option: "progressIntervalDefaultManga", text: t.lang("settings_Interval_Default_Manga") }, on: { changed: function(e) { return t.startProgressSync(); } } }, t._l(t.progressMangaDropdown, (function(e) { return n("option", { key: e.key, domProps: { value: e.key } }, [ t._v(t._s(e.label)) ]); })), 0), t._v(" "), n("checkbox", { attrs: { option: "progressNotifications" } }, [ t._v(t._s(t.lang("settings_Notifications"))) ]), t._v(" "), n("checkbox", { attrs: { option: "loadPTWForProgress" } }, [ t._v(t._s(t.lang("settings_loadPTWForProgress"))) ]) ], 1), t._v(" "), n("div", { directives: [ { name: "show", rawName: "v-show", value: t.legacy, expression: "legacy" } ], staticClass: "updateCheckEnable mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticStyle: { display: "none", border: "1px solid red" }, attrs: { id: "updateCheck" } }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v("\n " + t._s(t.lang("settings_UpdateCheck")) + "\n ") ]), t._v(" "), n("tooltip", [ t._v("\n " + t._s(t.lang("settings_UpdateCheck_Text")) + "\n ") ]), t._v(" "), n("div", { staticStyle: { "margin-left": "auto" }, attrs: { id: "updateCheckAgo" } }) ], 1), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.lang("settings_Interval")) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("select", { staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "updateCheckTime", name: "updateCheckTime" } }, [ n("option", { attrs: { value: "0" } }, [ t._v(t._s(t.lang("settings_Interval_Off"))) ]), t._v(" "), n("option", { attrs: { value: "60" } }, [ t._v("1h") ]), t._v(" "), n("option", { attrs: { value: "240" } }, [ t._v("4h") ]), t._v(" "), n("option", { attrs: { value: "720" } }, [ t._v("12h") ]), t._v(" "), n("option", { attrs: { value: "1440" } }, [ t._v("24h") ]), t._v(" "), n("option", { attrs: { value: "2880" } }, [ t._v("48h") ]) ]) ]) ]), t._v(" "), n("span", { staticClass: "updateCheckEnable", staticStyle: { display: "none" } }, [ n("checkbox", { attrs: { option: "updateCheckNotifications" } }, [ t._v(t._s(t.lang("settings_Notifications"))) ]) ], 1), t._v(" "), n("li", { staticClass: "mdl-list__item updateCheckEnable", staticStyle: { display: "none" } }, [ n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", attrs: { id: "updateCheckUi", type: "button" } }, [ t._v("\n " + t._s(t.lang("settings_Debugging")) + "\n ") ]) ]) ]) ]), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v("Discord Rich Presence") ]), t._v(" "), n("a", { staticStyle: { "margin-left": "auto" }, attrs: { href: "https://github.com/MALSync/MALSync/wiki/Discord-Rich-Presence", target: "_blank" } }, [ t._v("\n " + t._s(t.lang("settings_more_info"))) ]) ]), t._v(" "), n("checkbox", { attrs: { option: "rpc" } }, [ t._v(t._s(t.lang("settings_enabled"))) ]), t._v(" "), n("checkbox", { attrs: { option: "presenceHidePage" } }, [ t._v(t._s(t.lang("settings_presenceHidePage"))) ]), t._v(" "), n("checkbox", { attrs: { option: "presenceShowButtons" } }, [ t._v(t._s(t.lang("settings_presenceShowButtons"))) ]) ], 1), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v(t._s(t.lang("settings_ETC"))) ]) ]), t._v(" "), n("checkbox", { attrs: { option: "forceEn" } }, [ t._v("Force english") ]), t._v(" "), n("span", { staticStyle: { display: "none" } }, [ n("checkbox", { attrs: { option: "userscriptModeButton" } }, [ t._v(t._s(t.lang("settings_Userscriptmode"))), n("tooltip", { attrs: { direction: "bottom" } }, [ t._v(t._s(t.lang("settings_Userscriptmode_Text"))) ]) ], 1) ], 1), t._v(" "), n("span", { staticClass: "option-extension", staticStyle: { display: "none" } }, [ n("checkbox", { attrs: { option: "highlightAllEp" } }, [ t._v(t._s(t.lang("settings_highlightAllEp"))), n("tooltip", [ t._v(t._s(t.lang("settings_highlightAllEp_Text"))) ]) ], 1) ], 1), t._v(" "), n("span", { staticClass: "option-extension", staticStyle: { display: "none" } }, [ n("checkbox", { attrs: { option: "checkForFiller" } }, [ t._v(t._s(t.lang("settings_filler"))), n("tooltip", [ t._v(t._s(t.lang("settings_filler_text"))) ]) ], 1) ], 1), t._v(" "), n("span", { staticClass: "option-legacy" }, [ n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n Legacy options\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("label", { staticClass: "mdl-switch mdl-js-switch mdl-js-ripple-effect", attrs: { for: "legacy" } }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.legacy, expression: "legacy" } ], staticClass: "mdl-switch__input", attrs: { id: "legacy", type: "checkbox" }, domProps: { checked: Array.isArray(t.legacy) ? t._i(t.legacy, null) > -1 : t.legacy }, on: { change: function(e) { var n = t.legacy, i = e.target, a = !!i.checked; if (Array.isArray(n)) { var o = t._i(n, null); i.checked ? o < 0 && (t.legacy = n.concat([ null ])) : o > -1 && (t.legacy = n.slice(0, o).concat(n.slice(o + 1))); } else t.legacy = a; } } }) ]) ]) ]) ]), t._v(" "), t._m(4), t._v(" "), n("li", { staticClass: "mdl-list__item" }, [ n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", attrs: { id: "clearCache", type: "button" } }, [ t._v("\n " + t._s(t.lang("settings_ClearCache")) + "\n ") ]), t._v(" "), n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", staticStyle: { "margin-left": "20px" }, attrs: { id: "cleanTagsUi", type: "button" } }, [ t._v("\n " + t._s(t.lang("settings_clean_tags_button")) + "\n ") ]) ]) ], 1), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp", class: { open: t.isOpen }, attrs: { id: "contributer" }, on: { click: function(e) { return t.myOpen(); } } }, [ n("div", { staticStyle: { display: "table", width: "100%" } }, [ t._l(t.contributer, (function(e, i) { return [ n("div", { key: i, staticClass: "group" }, [ t._v(t._s(i)) ]), t._v(" "), t._l(e, (function(e) { return n("div", { key: e.name, staticClass: "inline-block" }, [ n("div", { staticClass: "user" }, [ n("div", { staticClass: "image align-middle" }, [ e.gif ? n("clazy-load", { attrs: { src: e.gif } }, [ n("img", { staticClass: "lazy init gif", staticStyle: { "max-width": "100%" }, attrs: { src: e.gif } }) ]) : t._e(), t._v(" "), n("clazy-load", { attrs: { src: e.image } }, [ n("img", { staticClass: "lazy init", staticStyle: { "max-width": "100%" }, attrs: { src: e.image } }) ]) ], 1), t._v(" "), n("div", { staticClass: "text align-middle" }, [ n("div", { staticClass: "name", style: "color:" + e.color, attrs: { title: e.name } }, [ t._v("\n " + t._s(e.name) + "\n ") ]), t._v(" "), e.subText ? n("div", { staticClass: "subtext" }, [ t._v("\n " + t._s(e.subText) + "\n ") ]) : t._e() ]) ]) ]); })) ]; })), t._v(" "), t._m(5), t._v(" "), n("a", { staticClass: "discord", staticStyle: { "min-height": "160px" }, attrs: { rel: "noreferrer", href: "https://discord.com/invite/cTH4yaw" } }, [ n("div", { staticStyle: { height: "20px", margin: "-15px", "margin-top": "15px", background: "-webkit-linear-gradient(top, #fff 0%,#738bd7 74%)" } }), t._v(" "), n("clazy-load", { staticStyle: { background: "linear-gradient(to bottom, #738bd7 0%,#738bd7 64%,#697ec4 64%,#697ec4 100%)", "background-color": "#697ec4", position: "relative", overflow: "hidden", "margin-left": "-15px", "margin-right": "-15px", "margin-bottom": "-15px", "margin-top": "15px" }, attrs: { src: "https://discord.com/api/guilds/358599430502481920/widget.png?style=banner3" } }, [ n("img", { staticStyle: { margin: "auto", display: "block" }, attrs: { src: "https://discord.com/api/guilds/358599430502481920/widget.png?style=banner3" } }) ]) ], 1) ], 2) ]), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("li", { staticClass: "mdl-list__item" }, [ n("div", { staticStyle: { "line-height": "30px" } }, [ n("clazy-load", { attrs: { tag: "a", rel: "noreferrer", href: t.version.link, src: t.version.img } }, [ n("img", { attrs: { src: t.version.img } }), t._v(" "), n("span", { attrs: { slot: "placeholder" }, slot: "placeholder" }, [ t._v("\n " + t._s(t.lang("Loading")) + "\n ") ]) ]), t._v(" "), n("br"), t._v(" "), n("clazy-load", { attrs: { tag: "a", rel: "noreferrer", href: "https://discord.com/invite/cTH4yaw", src: "https://img.shields.io/discord/358599430502481920.svg?style=flat-square&logo=discord&label=Chat%20%2F%20Support&colorB=7289DA" } }, [ n("img", { attrs: { src: "https://img.shields.io/discord/358599430502481920.svg?style=flat-square&logo=discord&label=Chat%20%2F%20Support&colorB=7289DA" } }), t._v(" "), n("span", { attrs: { slot: "placeholder" }, slot: "placeholder" }, [ t._v("\n " + t._s(t.lang("Loading")) + "\n ") ]) ]), t._v(" "), n("br"), t._v(" "), n("clazy-load", { attrs: { tag: "a", rel: "noreferrer", href: "https://github.com/MALSync/MALSync", src: "https://img.shields.io/github/last-commit/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white&label=Github" } }, [ n("img", { attrs: { src: "https://img.shields.io/github/last-commit/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white&label=Github" } }), t._v(" "), n("span", { attrs: { slot: "placeholder" }, slot: "placeholder" }, [ t._v("\n " + t._s(t.lang("Loading")) + "\n ") ]) ]), t._v(" "), n("br"), t._v(" "), n("clazy-load", { attrs: { tag: "a", rel: "noreferrer", href: "https://github.com/MALSync/MALSync/issues", src: "https://img.shields.io/github/issues/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white" } }, [ n("img", { attrs: { src: "https://img.shields.io/github/issues/MALSync/MALSync.svg?style=flat-square&logo=github&logoColor=white" } }), t._v(" "), n("span", { attrs: { slot: "placeholder" }, slot: "placeholder" }, [ t._v("\n " + t._s(t.lang("Loading")) + "\n ") ]) ]) ], 1) ]) ]) ], 1) ]); }; i._withStripped = !0; var a = n(49).a, o = n(6), r = Object(o.a)(a, i, [ function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("select", { staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "syncMode", name: "myinfo_score" } }, [ n("option", { attrs: { value: "MAL" } }, [ t._v("MyAnimeList API (Hybrid)") ]), t._v(" "), n("option", { attrs: { value: "ANILIST" } }, [ t._v("AniList") ]), t._v(" "), n("option", { attrs: { value: "KITSU" } }, [ t._v("Kitsu") ]), t._v(" "), n("option", { attrs: { value: "SIMKL" } }, [ t._v("Simkl") ]), t._v(" "), n("option", { attrs: { value: "MALAPI" } }, [ t._v("MyAnimeList API (Full) (BETA)") ]) ]) ]); }, function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "mdl-card__title mdl-card--border" }, [ e("h2", { staticClass: "mdl-card__title-text" }, [ this._v("MyAnimeList") ]) ]); }, function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "mdl-card__title mdl-card--border" }, [ e("h2", { staticClass: "mdl-card__title-text" }, [ this._v("\n MyAnimeList / AniList / Kitsu / Simkl\n ") ]) ]); }, function() { var t = this.$createElement, e = this._self._c || t; return e("span", { staticClass: "mdl-list__item-secondary-action" }, [ e("select", { staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "theme", name: "myinfo_score" } }, [ e("option", { attrs: { value: "auto" } }, [ this._v("Auto") ]), this._v(" "), e("option", { attrs: { value: "light" } }, [ this._v("Light") ]), this._v(" "), e("option", { attrs: { value: "dark" } }, [ this._v("Dark") ]), this._v(" "), e("option", { attrs: { value: "serial" } }, [ this._v("Serial") ]) ]) ]); }, function() { var t = this.$createElement, e = this._self._c || t; return e("li", { staticClass: "mdl-list__item" }, [ e("span", { staticClass: "mdl-list__item-primary-content" }, [ this._v("\n List Sync\n ") ]), this._v(" "), e("span", { staticClass: "mdl-list__item-secondary-action" }, [ e("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", attrs: { id: "listSyncUi", type: "button" } }, [ this._v("\n Sync\n ") ]) ]) ]); }, function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "user pop" }, [ e("div", { staticClass: "image align-middle" }, [ e("i", { staticClass: "material-icons", staticStyle: { color: "white", padding: "4px 4px", cursor: "pointer" } }, [ this._v("\n arrow_right_alt\n ") ]) ]) ]); } ], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/settings.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { staticClass: "page-content" }, [ n("div", { directives: [ { name: "show", rawName: "v-show", value: !t.metaObj && !t.error, expression: "!metaObj && !error" } ], staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate", staticStyle: { width: "100%", position: "absolute", top: "0" }, attrs: { id: "loadOverview" } }), t._v(" "), t.error ? n("span", { staticClass: "mdl-chip mdl-chip--deletable", staticStyle: { margin: "auto", "margin-top": "16px", display: "table" } }, [ n("span", { staticClass: "mdl-chip__text" }, [ t._v("Error") ]), t._v(" "), n("button", { staticClass: "mdl-chip__action", attrs: { type: "button" }, on: { click: function(e) { return t.clickRender(); } } }, [ n("i", { staticClass: "material-icons" }, [ t._v("refresh") ]) ]) ]) : t._e(), t._v(" "), t.objError ? n("span", { staticClass: "mdl-chip mdl-chip--deletable", staticStyle: { margin: "auto", "margin-top": "16px", display: "table" } }, [ n("span", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: t.objError, expression: "objError" } ], staticClass: "mdl-chip__text" }), t._v(" "), n("button", { staticClass: "mdl-chip__action", attrs: { type: "button" }, on: { click: function(e) { return t.reload(); } } }, [ n("i", { staticClass: "material-icons" }, [ t._v("refresh") ]) ]) ]) : t._e(), t._v(" "), t.metaObj ? n("div", { staticClass: "mdl-grid" }, [ n("div", { directives: [ { name: "show", rawName: "v-show", value: t.statistics.length, expression: "statistics.length" } ], staticClass: "mdl-cell bg-cell mdl-cell--1-col mdl-cell--8-col-tablet mdl-cell--6-col-phone mdl-shadow--4dp stats-block malClear", staticStyle: { "min-width": "120px" } }, [ n("ul", { staticClass: "mdl-list mdl-grid mdl-grid--no-spacing mdl-cell mdl-cell--12-col", staticStyle: { display: "flex", "justify-content": "space-around" } }, t._l(t.statistics, (function(e) { return n("li", { key: e.title, staticClass: "mdl-list__item mdl-list__item--two-line", staticStyle: { padding: "0", "padding-left": "10px", "padding-right": "3px", "min-width": "18%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v("\n " + t._s(e.title) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-sub-title" }, [ t._v(t._s(e.body)) ]) ]) ]); })), 0) ]), t._v(" "), n("div", { staticClass: "mdl-grid mdl-cell bg-cell mdl-shadow--4dp coverinfo malClear", staticStyle: { display: "block", "flex-grow": "100", "min-width": "70%" } }, [ n("div", { staticClass: "mdl-card__media mdl-cell mdl-cell--2-col", staticStyle: { "background-color": "transparent", float: "left", "padding-right": "16px" } }, [ n("clazy-load", { staticClass: "malImage malClear", staticStyle: { width: "100%", height: "auto" }, attrs: { src: t.image }, on: { error: t.setQuestionmark } }, [ n("img", { staticStyle: { height: "auto", width: "100%" }, attrs: { src: t.image }, on: { error: t.setQuestionmark } }) ]) ], 1), t._v(" "), n("div", { staticClass: "mdl-cell mdl-cell--12-col" }, [ n("a", { staticClass: "mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect malClear malLink", staticStyle: { float: "right" }, attrs: { href: t.displayUrl, target: "_blank" } }, [ n("i", { staticClass: "material-icons" }, [ t._v("open_in_new") ]) ]), t._v(" "), n("h1", { staticClass: "malTitle mdl-card__title-text malClear", staticStyle: { "padding-left": "0", overflow: "visible" } }, [ t._v(t._s(t.title)) ]), t._v(" "), n("div", { staticClass: "malAltTitle mdl-card__supporting-text malClear", staticStyle: { padding: "10px 0 0 0", overflow: "visible" } }, t._l(t.altTitle, (function(e) { return n("div", { key: e, staticClass: "mdl-chip", staticStyle: { "margin-right": "5px" } }, [ n("span", { staticClass: "mdl-chip__text" }, [ t._v(t._s(e)) ]) ]); })), 0) ]), t._v(" "), n("div", { staticClass: "malDescription malClear mdl-cell mdl-cell--10-col", staticStyle: { overflow: "hidden" } }, [ n("p", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: t.description, expression: "description" } ], staticStyle: { color: "black" } }), t._v(" "), t.renderObj && t.renderObj.isAuthenticated() ? n("div", { staticClass: "mdl-card__actions mdl-card--border", staticStyle: { "padding-left": "0" } }, [ t.renderObj.getStreamingUrl() ? n("div", { staticClass: "data title progress", staticStyle: { display: "inline-block", position: "relative", top: "2px", "margin-left": "-2px" } }, [ n("a", { staticClass: "stream mdl-button mdl-button--colored mdl-js-button mdl-button--raised", staticStyle: { margin: "10px 5px 0 0", color: "white" }, attrs: { title: t.renderObj.getStreamingUrl().split("/")[2], target: "_blank", href: t.renderObj.getStreamingUrl() } }, [ n("img", { staticStyle: { "padding-bottom": "3px", "padding-right": "6px", "margin-left": "-3px" }, attrs: { src: t.utils.favicon(t.renderObj.getStreamingUrl().split("/")[2]) } }), t._v("\n " + t._s(t.lang("overview_Continue_" + t.renderObj.getType())) + "\n ") ]), t._v(" "), t.mal.continueUrl && t.mal.continueUrl.ep === t.renderObj.getEpisode() + 1 ? n("a", { staticClass: "nextStream mdl-button mdl-button--colored mdl-js-button mdl-button--raised", staticStyle: { margin: "10px 5px 0 0", color: "white" }, attrs: { title: t.lang("overview_Next_Episode_" + t.renderObj.getType()), target: "_blank", href: t.mal.continueUrl.url } }, [ n("img", { staticStyle: { "padding-bottom": "3px", "padding-right": "6px", "margin-left": "-3px" }, attrs: { src: t.assetUrl("double-arrow-16px.png"), width: "16", height: "16" } }), t._v(t._s(t.lang("overview_Next_Episode_" + t.renderObj.getType())) + "\n ") ]) : t.mal.resumeUrl && t.mal.resumeUrl.ep === t.renderObj.getEpisode() ? n("a", { staticClass: "resumeStream mdl-button mdl-button--colored mdl-js-button mdl-button--raised", staticStyle: { margin: "10px 5px 0 0", color: "white" }, attrs: { title: t.lang("overview_Resume_Episode_" + t.renderObj.getType()), target: "_blank", href: t.mal.resumeUrl.url } }, [ n("img", { staticStyle: { "padding-bottom": "3px", "padding-right": "6px", "margin-left": "-3px" }, attrs: { src: t.assetUrl("arrow-16px.png"), width: "16", height: "16" } }), t._v(t._s(t.lang("overview_Resume_Episode_" + t.renderObj.getType())) + "\n ") ]) : t._e() ]) : t._e() ]) : t._e() ]) ]), t._v(" "), t.renderObj.getProgress() && t.renderObj.getProgress().isAiring() && t.renderObj.getProgress().getPredictionText() ? n("div", { staticClass: "mdl-grid mdl-cell bg-cell mdl-shadow--4dp malClear", staticStyle: { width: "100%" } }, [ n("div", { staticClass: "mdl-cell", staticStyle: { width: "100%" } }, [ t._v("\n " + t._s(t.renderObj.getProgress().getPredictionText()) + "\n ") ]) ]) : t._e(), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-shadow--4dp data-block mdl-grid mdl-grid--no-spacing malClear" }, [ n("table", { attrs: { border: "0", cellpadding: "0", cellspacing: "0", width: "100%" } }, [ n("tbody", [ n("li", { staticClass: "mdl-list__item mdl-list__item--three-line", staticStyle: { width: "100%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v(t._s(t.lang("UI_Status")) + " ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, [ n("select", { directives: [ { name: "model", rawName: "v-model", value: t.malStatus, expression: "malStatus" } ], staticClass: "inputtext js-anime-status-dropdown mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "myinfo_status", disabled: !this.renderObj || !this.renderObj.isAuthenticated(), name: "myinfo_status" }, on: { change: function(e) { var n = Array.prototype.filter.call(e.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); t.malStatus = e.target.multiple ? n : n[0]; } } }, t._l(t.renderObj.getStatusCheckbox(), (function(e) { return n("option", { key: e.value, domProps: { value: e.value } }, [ t._v(t._s(e.label)) ]); })), 0) ]) ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item mdl-list__item--three-line", staticStyle: { width: "100%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v(t._s(t.utils.episode(t.renderObj.getType()))) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.malEpisode, expression: "malEpisode" } ], staticClass: "inputtext mdl-textfield__input", staticStyle: { width: "35px", display: "inline-block" }, attrs: { id: "myinfo_watchedeps", disabled: !this.renderObj || !this.renderObj.isAuthenticated(), type: "text", name: "myinfo_watchedeps", size: "3", value: "6" }, domProps: { value: t.malEpisode }, on: { input: function(e) { e.target.composing || (t.malEpisode = e.target.value); } } }), t._v("\n /\n "), t.renderObj.getProgress() && t.renderObj.getProgress().isAiring() && t.renderObj.getProgress().getCurrentEpisode() ? n("span", { attrs: { title: t.renderObj.getProgress().getAutoText() } }, [ t._v("\n [" + t._s(t.renderObj.getProgress().getCurrentEpisode()) + "]\n ") ]) : t._e(), t._v(" "), t.renderObj && t.renderObj.getTotalEpisodes() ? n("span", { attrs: { id: "curEps" } }, [ t._v(t._s(t.renderObj.getTotalEpisodes())) ]) : n("span", [ t._v("?") ]), t._v(" "), !t.renderObj.getTotalEpisodes() || !t.renderObj.getEpisode() || t.renderObj.getEpisode() < t.renderObj.getTotalEpisodes() ? n("span", { staticClass: "material-icons ep-increment", on: { click: function(e) { return t.increaseEP("episode"); } } }, [ t._v("add") ]) : t._e() ]) ]) ]), t._v(" "), n("li", { directives: [ { name: "show", rawName: "v-show", value: "manga" == t.renderObj.getType(), expression: "renderObj.getType() == 'manga'" } ], staticClass: "mdl-list__item mdl-list__item--three-line", staticStyle: { width: "100%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v(t._s(t.lang("UI_Volume"))) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.malVolume, expression: "malVolume" } ], staticClass: "inputtext mdl-textfield__input", staticStyle: { width: "35px", display: "inline-block" }, attrs: { id: "myinfo_volumes", disabled: !this.renderObj || !this.renderObj.isAuthenticated(), type: "text", name: "myinfo_volumes", size: "3", value: "6" }, domProps: { value: t.malVolume }, on: { input: function(e) { e.target.composing || (t.malVolume = e.target.value); } } }), t._v("\n /\n "), t.renderObj && t.renderObj.getTotalVolumes() ? n("span", { attrs: { id: "curVolumes" } }, [ t._v(t._s(t.renderObj.getTotalVolumes())) ]) : n("span", [ t._v("?") ]), t._v(" "), !t.renderObj.getTotalVolumes() || !t.renderObj.getVolume() || t.renderObj.getVolume() < t.renderObj.getTotalVolumes() ? n("span", { staticClass: "material-icons ep-increment", on: { click: function(e) { return t.increaseEP("volume"); } } }, [ t._v("add") ]) : t._e() ]) ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item mdl-list__item--three-line", staticStyle: { width: "100%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v(t._s(t.lang("UI_Score")) + " ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, [ n("select", { directives: [ { name: "model", rawName: "v-model", value: t.malScore, expression: "malScore" } ], staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "myinfo_score", disabled: !this.renderObj || !this.renderObj.isAuthenticated(), name: "myinfo_score" }, on: { change: function(e) { var n = Array.prototype.filter.call(e.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); t.malScore = e.target.multiple ? n : n[0]; } } }, t._l(t.renderObj.getScoreCheckbox(), (function(e) { return n("option", { key: e.value, domProps: { value: e.value } }, [ t._v(t._s(e.label)) ]); })), 0) ]) ]) ]), t._v(" "), t.renderObj && t.renderObj.isAuthenticated() && t.renderObj.isOnList() && t.renderObj.getProgressOptions() && t.renderObj.getProgressOptions().length ? n("li", { staticClass: "mdl-list__item mdl-list__item--three-line", staticStyle: { width: "100%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v(t._s(t.lang("settings_progress_dropdown"))) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, [ n("select", { directives: [ { name: "model", rawName: "v-model", value: t.malProgressMode, expression: "malProgressMode" } ], staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { id: "myinfo_progressmode", name: "myinfo_progressmode" }, on: { change: function(e) { var n = Array.prototype.filter.call(e.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); t.malProgressMode = e.target.multiple ? n : n[0]; } } }, [ n("option", { attrs: { value: "" } }, [ t._v("\n " + t._s(t.lang("settings_progress_default")) + "\n ") ]), t._v(" "), t._l(t.renderObj.getProgressOptions(), (function(e) { return n("option", { key: e.key, domProps: { value: e.key } }, [ t._v(t._s(e.value)) ]); })), t._v(" "), n("option", { attrs: { value: "off" } }, [ t._v("\n " + t._s(t.lang("settings_progress_disabled")) + "\n ") ]) ], 2) ]) ]) ]) : t._e(), t._v(" "), n("li", { staticClass: "mdl-list__item", staticStyle: { width: "100%" } }, [ t.renderObj && !t.renderObj.isOnList() ? n("input", { staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--accent", staticStyle: { "margin-right": "5px" }, attrs: { type: "button", name: "myinfo_submit", value: t.lang("Add"), "data-upgraded": ",MaterialButton", disabled: !t.renderObj || !t.renderObj.isAuthenticated() }, on: { click: function(e) { return t.malSync(); } } }) : n("input", { staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored", staticStyle: { "margin-right": "5px" }, attrs: { type: "button", name: "myinfo_submit", value: t.lang("Update"), "data-upgraded": ",MaterialButton", disabled: !t.renderObj || !t.renderObj.isAuthenticated() }, on: { click: function(e) { return t.malSync(); } } }), t._v(" "), t.editUrl && t.renderObj ? n("small", [ n("a", { attrs: { href: t.editUrl, target: "_blank" } }, [ t._v(t._s(t.lang("overview_EditDetails"))) ]) ]) : t._e(), t._v(" "), t.renderObj && !t.renderObj.isOnList() || void 0 === t.renderObj.delete ? t._e() : n("input", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--accent", staticStyle: { "margin-left": "auto" }, attrs: { type: "button", value: t.lang("Remove") }, on: { click: function(e) { return t.remove(); } } }), t._v(" "), n("i", { staticClass: "material-icons", staticStyle: { "margin-right": "0", "margin-left": "auto", cursor: "pointer" }, on: { click: function(e) { return t.reload(); } } }, [ t._v("autorenew") ]) ]) ]) ]) ]), t._v(" "), n("div", { directives: [ { name: "show", rawName: "v-show", value: t.related.length, expression: "related.length" } ], staticClass: "mdl-grid mdl-grid--no-spacing mdl-cell bg-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-shadow--4dp related-block alternative-list mdl-grid malClear" }, [ n("ul", { staticClass: "mdl-list" }, t._l(t.related, (function(e) { return n("li", { key: e.url, staticClass: "mdl-list__item mdl-list__item--two-line" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v("\n " + t._s(e.type) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-sub-title" }, t._l(e.links, (function(e) { return n("div", { key: e.title }, [ n("a", { attrs: { href: e.url } }, [ t._v(t._s(e.title)) ]), t._v(" "), n("span", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: e.statusTag, expression: "link.statusTag" } ] }) ]); })), 0) ]) ]); })), 0) ]), t._v(" "), n("div", { directives: [ { name: "show", rawName: "v-show", value: t.kiss2mal && t.kiss2mal.length, expression: "kiss2mal && kiss2mal.length" } ], staticClass: "mdl-grid mdl-grid--no-spacing bg-cell mdl-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-shadow--4dp mdl-grid alternative-list stream-block malClear" }, [ n("ul", { staticClass: "mdl-list stream-block-inner" }, t._l(t.kiss2mal, (function(e) { return n("li", { key: e.name, staticClass: "mdl-list__item mdl-list__item--three-line" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ n("img", { staticStyle: { "padding-bottom": "3px" }, attrs: { src: t.getMal2KissFavicon(e.domain) } }), t._v("\n " + t._s(e.name) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body", attrs: { id: "KissAnimeLinks" } }, t._l(e.links, (function(e) { return n("div", { key: e.url, staticClass: "mal_links" }, [ n("a", { attrs: { target: "_blank", href: e.url } }, [ t._v(t._s(e.name)) ]) ]); })), 0) ]) ]); })), 0) ]), t._v(" "), n("div", { directives: [ { name: "show", rawName: "v-show", value: t.characters.length > 0, expression: "characters.length > 0" } ], staticClass: "mdl-grid mdl-grid--no-spacing mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp characters-block mdl-grid malClear" }, [ n("div", { staticClass: "mdl-card__actions clicker" }, [ n("h1", { staticClass: "mdl-card__title-text", staticStyle: { float: "left" } }, [ t._v("\n " + t._s(t.lang("overview_Characters")) + "\n ") ]) ]), t._v(" "), n("div", { staticClass: "mdl-grid mdl-card__actions mdl-card--border", staticStyle: { "justify-content": "space-between" }, attrs: { id: "characterList" } }, [ t._l(t.characters, (function(e) { return n("div", { key: e.html }, [ n("div", { staticClass: "mdl-grid", staticStyle: { width: "126px" } }, [ n("clazy-load", { staticStyle: { width: "100%", height: "auto" }, attrs: { src: e.img, margin: "200px 0px", threshold: .1, ratio: .1 } }, [ n("img", { staticStyle: { height: "auto", width: "100%" }, attrs: { src: e.img } }) ]), t._v(" "), n("div", [ n("a", { attrs: { href: e.url } }, [ t._v("\n " + t._s(e.name) + "\n ") ]), t._v(" "), n("div", { staticClass: "spaceit_pad" }, [ n("small", [ t._v(t._s(e.subtext)) ]) ]) ]) ], 1) ]); })), t._v(" "), t._l(10, (function(t) { return n("div", { key: t, staticClass: "listPlaceholder", staticStyle: { height: "0" } }, [ n("div", { staticClass: "mdl-grid", staticStyle: { width: "126px" } }) ]); })) ], 2) ]), t._v(" "), t.openingSongs.length || t.endingSongs.length ? n("div", { staticClass: "mdl-grid mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp info-block mdl-grid malClear" }, [ t.openingSongs.length ? n("li", { staticClass: "mdl-list__item mdl-list__item--three-line mdl-cell mdl-cell--6-col mdl-cell--12-col-tablet", staticStyle: { padding: "0", height: "auto" } }, [ n("span", { staticClass: "mdl-list__item-primary-content", staticStyle: { height: "auto" } }, [ n("span", [ t._v(t._s(t.lang("overview_OpeningTheme"))) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body", staticStyle: { height: "auto" } }, t._l(t.openingSongs, (function(e) { return n("span", { key: e, staticStyle: { display: "block", color: "rgb(255,64,129)" } }, [ t._v("\n " + t._s(e) + "\n ") ]); })), 0) ]) ]) : t._e(), t._v(" "), t.endingSongs.length ? n("li", { staticClass: "mdl-list__item mdl-list__item--three-line mdl-cell mdl-cell--6-col mdl-cell--12-col-tablet", staticStyle: { padding: "0", height: "auto" } }, [ n("span", { staticClass: "mdl-list__item-primary-content", staticStyle: { height: "auto" } }, [ n("span", [ t._v(t._s(t.lang("overview_EndingTheme"))) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body", staticStyle: { height: "auto" } }, t._l(t.endingSongs, (function(e) { return n("span", { key: e, staticStyle: { display: "block", color: "rgb(255,64,129)" } }, [ t._v("\n " + t._s(e) + "\n ") ]); })), 0) ]) ]) : t._e() ]) : t._e(), t._v(" "), n("div", { directives: [ { name: "show", rawName: "v-show", value: t.info.length, expression: "info.length" } ], staticClass: "mdl-grid mdl-grid--no-spacing mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp info-block mdl-grid malClear" }, [ n("div", { staticClass: "mdl-grid mdl-grid--no-spacing mdl-cell mdl-cell--12-col mdl-shadow--4dp info-block mdl-grid malClear" }, [ n("ul", { staticClass: "mdl-grid mdl-grid--no-spacing mdl-list mdl-cell mdl-cell--12-col" }, t._l(t.info, (function(e) { return n("li", { key: e.title, staticClass: "mdl-list__item mdl-list__item--three-line mdl-cell mdl-cell--3-col mdl-cell--4-col-tablet", staticStyle: { height: "auto" } }, [ n("span", { staticClass: "mdl-list__item-primary-content", staticStyle: { height: "auto" } }, [ n("span", [ t._v("\n " + t._s(e.title) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, t._l(e.body, (function(e, i) { return n("span", { key: e.title }, [ i > 0 ? [ t._v(", ") ] : t._e(), e.url ? [ n("a", { attrs: { href: e.url } }, [ t._v(t._s(e.text)) ]) ] : [ t._v(t._s(e.text)) ], e.subtext && e.subtext ? n("small", [ t._v(" " + t._s(e.subtext)) ]) : t._e() ], 2); })), 0) ]) ]); })), 0) ]) ]), t._v(" "), n("progressP", { attrs: { "api-cache-key": t.renderObj.getApiCacheKey(), type: t.renderObj.type, "total-eps": t.renderObj.getTotalEpisodes() } }) ], 1) : t._e() ]); }; i._withStripped = !0; var a = n(61).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/overview.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { staticClass: "page-content malClear", attrs: { id: "malRecommendations" } }, [ n("div", { directives: [ { name: "show", rawName: "v-show", value: "" == t.xhr, expression: "xhr == ''" } ], staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate", staticStyle: { width: "100%", position: "absolute" }, attrs: { id: "loadOverview" } }), t._v(" "), n("span", { directives: [ { name: "show", rawName: "v-show", value: "" != t.xhr && t.recommendations && 0 === t.recommendations.length, expression: "xhr != '' && recommendations && recommendations.length === 0" } ], staticClass: "mdl-chip", staticStyle: { margin: "auto", "margin-top": "16px", display: "table" } }, [ n("span", { staticClass: "mdl-chip__text" }, [ t._v(t._s(t.lang("NothingFound"))) ]) ]), t._v(" "), "" != t.xhr ? n("div", { staticClass: "mdl-grid" }, t._l(t.recommendations, (function(e) { return n("div", { key: e.titleName, staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp mdl-grid" }, [ n("div", { staticClass: "mdl-card__media", staticStyle: { "background-color": "transparent", margin: "8px" } }, [ n("a", { attrs: { href: e.titleHref } }, [ n("img", { attrs: { src: e.imageUrl, width: "50" } }) ]) ]), t._v(" "), n("div", { staticClass: "mdl-cell", staticStyle: { "flex-grow": "100" } }, [ n("div", [ n("a", { attrs: { href: e.titleHref } }, [ n("strong", [ t._v(t._s(e.titleName)) ]) ]) ]), t._v(" "), n("div", [ n("div", { staticStyle: { "white-space": "pre-wrap" } }, [ t._v(t._s(e.user.text)) ]), t._v(" "), n("div", [ t._v("\n Recommended by "), n("a", { attrs: { href: e.user.userHref } }, [ t._v(t._s(e.user.username)) ]) ]) ]), t._v(" "), e.children.length ? n("div", [ n("a", { staticClass: "nojs", attrs: { href: "#" }, on: { click: function(n) { return t.activeItems.push(e.titleName); } } }, [ t._v("Read recommendations by " + t._s(e.children.length) + " more user") ]), t._v(" "), n("div", { directives: [ { name: "show", rawName: "v-show", value: t.activeItems.includes(e.titleName), expression: "activeItems.includes(rec.titleName)" } ], staticClass: "more" }, t._l(e.children, (function(e, i) { return n("div", { key: e.username, staticStyle: { padding: "3px", margin: "4px 0" } }, [ n("div", { staticStyle: { "white-space": "pre-wrap" } }, [ n("span", [ t._v(t._s(e.text)) ]), e.readmore ? n("span", [ n("a", { directives: [ { name: "show", rawName: "v-show", value: !t.activeReadMores.includes(i), expression: "!activeReadMores.includes(index)" } ], staticClass: "nojs", attrs: { href: "#" }, on: { click: function(e) { return t.activeReadMores.push(i); } } }, [ t._v(" read more") ]), t._v(" "), n("span", { directives: [ { name: "show", rawName: "v-show", value: t.activeReadMores.includes(i), expression: "activeReadMores.includes(index)" } ] }, [ t._v(t._s(e.readmore)) ]) ]) : t._e() ]), t._v(" "), n("div", [ t._v("\n Recommended by "), n("a", { attrs: { href: e.userHref } }, [ t._v(t._s(e.username)) ]) ]) ]); })), 0) ]) : t._e() ]) ]); })), 0) : t._e() ]); }; i._withStripped = !0; var a = n(64).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/recommendations.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", [ n("div", { directives: [ { name: "show", rawName: "v-show", value: t.loading, expression: "loading" } ], staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate", staticStyle: { width: "100%", position: "fixed", "z-index": "30", "max-width": "1377px", "margin-left": "auto", "margin-right": "auto" }, attrs: { id: "loadMalSearchPop" } }, [ n("div", { staticClass: "progressbar bar bar1", staticStyle: { width: "0%" } }), t._v(" "), n("div", { staticClass: "bufferbar bar bar2", staticStyle: { width: "100%" } }), t._v(" "), n("div", { staticClass: "auxbar bar bar3", staticStyle: { width: "0%" } }) ]), t._v(" "), t._t("default", null, { sorting: t.listProvider ? t.listProvider.getSortingOptions(!0) : [] }), t._v(" "), t.loading || t.items.length || t.errorText ? t._e() : n("span", { staticClass: "mdl-chip", staticStyle: { margin: "auto", "margin-top": "16px", display: "table" } }, [ n("span", { staticClass: "mdl-chip__text" }, [ t._v(t._s(t.lang("NoEntries"))) ]) ]), t._v(" "), t.listView ? n("div", { staticStyle: { padding: "0 20px 20px 20px" } }, [ t.cache && t.errorText ? t._e() : n("table", { staticClass: "mdl-data-table mdl-js-data-table mdl-data-table--selectable mdl-shadow--2dp bg-cell", staticStyle: { width: "100%" }, attrs: { id: "malList" } }, [ n("tbody", [ t._l(t.items, (function(e) { return [ n("bookmarksItem", { key: e.uid, ref: e.uid, refInFor: !0, attrs: { item: e, "list-view": t.listView } }) ]; })) ], 2) ]) ]) : [ t.cache && t.errorText ? t._e() : n("div", { staticClass: "mdl-grid", staticStyle: { "justify-content": "space-around" }, attrs: { id: "malList" } }, [ t._l(t.items, (function(t) { return [ n("bookmarksItem", { key: t.uid, ref: t.uid, refInFor: !0, attrs: { item: t } }) ]; })), t._v(" "), t._l(10, (function(t) { return n("div", { key: t, staticClass: "listPlaceholder mdl-cell mdl-cell--2-col mdl-cell--4-col-tablet mdl-cell--6-col-phone mdl-shadow--2dp mdl-grid ", staticStyle: { cursor: "pointer", padding: "0", width: "210px", height: "0", "margin-top": "0", "margin-bottom": "0", visibility: "hidden" } }); })) ], 2) ], t._v(" "), t.errorText ? n("span", { staticClass: "mdl-chip", staticStyle: { margin: "16px auto 70px auto", display: "table", "padding-right": "5px", border: "2px solid red" }, on: { click: function(e) { !t.loading && t.load(); } } }, [ n("span", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: t.errorText, expression: "errorText" } ], staticClass: "mdl-chip__text" }), t._v(" "), t._m(0) ]) : t._e() ], 2); }; i._withStripped = !0; var a = n(65).a, o = n(6), r = Object(o.a)(a, i, [ function() { var t = this.$createElement, e = this._self._c || t; return e("button", { staticClass: "mdl-chip__action", attrs: { type: "button" } }, [ e("i", { staticClass: "material-icons" }, [ this._v("autorenew") ]) ]); } ], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/bookmarks.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", [ n("div", { directives: [ { name: "show", rawName: "v-show", value: t.loading, expression: "loading" } ], staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate", staticStyle: { width: "100%", position: "absolute" }, attrs: { id: "loadMalSearchPop" } }), t._v(" "), t._t("default"), t._v(" "), n("div", { staticClass: "mdl-grid" }, [ t.loading || t.items.length ? t._e() : n("span", { staticClass: "mdl-chip", staticStyle: { margin: "auto", "margin-top": "16px", display: "table" } }, [ n("span", { staticClass: "mdl-chip__text" }, [ t._v(t._s(t.lang("NoEntries"))) ]) ]), t._v(" "), t._l(t.items, (function(e) { return n("a", { key: e.id, staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--2dp mdl-grid searchItem nojs", staticStyle: { cursor: "pointer" }, attrs: { href: e.url }, on: { click: function(n) { return t.clickItem(n, e); } } }, [ n("img", { staticStyle: { margin: "-8px 0 -8px -8px", height: "100px", width: "64px", "background-color": "grey" }, attrs: { src: e.image } }), t._v(" "), n("div", { staticClass: "mdl-cell", staticStyle: { "flex-grow": "100", cursor: "pointer", "margin-top": "0", "margin-bottom": "0" } }, [ n("span", { staticStyle: { "font-size": "20px", "font-weight": "400", "line-height": "1" } }, [ t._v(t._s(e.name)) ]), t._v(" "), n("p", { staticStyle: { "margin-bottom": "0", "line-height": "20px", "padding-top": "3px" } }, [ t._v("\n " + t._s(t.lang("search_Type")) + " " + t._s(e.media_type) + "\n ") ]), t._v(" "), n("p", { staticStyle: { "margin-bottom": "0", "line-height": "20px" } }, [ t._v(t._s(t.lang("search_Score")) + " " + t._s(e.score)) ]), t._v(" "), n("p", { staticStyle: { "margin-bottom": "0", "line-height": "20px" } }, [ t._v(t._s(t.lang("search_Year")) + " " + t._s(e.year)) ]) ]) ]); })) ], 2) ], 2); }; i._withStripped = !0; var a = n(67).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/search.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", [ n("button", { staticClass: "mdl-button mdl-js-button mdl-button--primary refresh-updateCheck", on: { click: function(e) { return t.load(); } } }, [ t._v("\n " + t._s(t.lang("updateCheck_Refresh")) + "\n ") ]), t._v(" "), n("button", { staticClass: "mdl-button mdl-js-button mdl-button--accent startCheck-updateCheck", on: { click: function(e) { return t.startCheck(); } } }, [ t._v("\n " + t._s(t.lang("updateCheck_StartCheck")) + "\n ") ]), t._v(" "), n("button", { staticClass: "mdl-button mdl-js-button mdl-button--accent notification-updateCheck", on: { click: function(e) { return t.notificationTest(); } } }, [ t._v("\n " + t._s(t.lang("updateCheck_NotificationCheck")) + "\n ") ]), t._v(" "), n("select", { directives: [ { name: "model", rawName: "v-model", value: t.listType, expression: "listType" } ], staticClass: "typeSelect-updateCheck", staticStyle: { float: "right" }, on: { change: function(e) { var n = Array.prototype.filter.call(e.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); t.listType = e.target.multiple ? n : n[0]; } } }, [ n("option", { attrs: { value: "anime" } }, [ t._v("Anime") ]), t._v(" "), n("option", { attrs: { value: "manga" } }, [ t._v("Manga") ]) ]), t._v(" "), n("table", { staticClass: "mdl-data-table mdl-js-data-table mdl-data-table__cell--non-numeric mdl-shadow--2dp", staticStyle: { "white-space": "normal" } }, [ n("tr", [ n("th", { staticClass: "mdl-data-table__cell--non-numeric" }), t._v(" "), n("th", [ t._v(t._s(t.lang("updateCheck_Episode"))) ]), t._v(" "), n("th", [ t._v(t._s(t.lang("updateCheck_Message"))) ]) ]), t._v(" "), t._l(t.items, (function(e) { return n("tr", { key: e.uid, style: { backgroundColor: e.trColor } }, [ n("th", { staticClass: "mdl-data-table__cell--non-numeric" }, [ n("button", { staticClass: "mdl-button mdl-js-button mdl-button--icon delete-updateCheck", on: { click: function(n) { return t.deleteItem(e); } } }, [ n("i", { staticClass: "material-icons" }, [ t._v("delete") ]) ]), t._v(" "), n("a", { staticStyle: { color: "black" }, attrs: { href: e.url } }, [ t._v("\n " + t._s(e.title) + "\n ") ]) ]), t._v(" "), n("th", [ t._v(t._s(e.episode)) ]), t._v(" "), n("th", [ t._v(t._s(e.error)) ]) ]); })) ], 2), t._v(" "), n("div", { staticClass: "history" }, [ n("h3", [ t._v(t._s(t.lang("updateCheck_NotificationHistory"))) ]), t._v(" "), t._l(t.history, (function(e) { return n("a", { key: e.id, staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--2dp mdl-grid", staticStyle: { "text-decoration": "none !important", color: "black" }, attrs: { href: e.url } }, [ n("img", { staticStyle: { margin: "-8px 0 -8px -8px", height: "100px", width: "64px", "background-color": "grey" }, attrs: { src: e.iconUrl } }), t._v(" "), n("div", { staticClass: "mdl-cell", staticStyle: { "flex-grow": "100", cursor: "pointer", "margin-top": "0", "margin-bottom": "0" } }, [ n("span", { staticStyle: { "font-size": "20px", "font-weight": "400", "line-height": "1" } }, [ t._v(t._s(e.title)) ]), t._v(" "), n("p", { staticStyle: { "margin-bottom": "0", "line-height": "20px", "padding-top": "3px" } }, [ t._v("\n " + t._s(e.message) + "\n ") ]), t._v(" "), n("p", { staticStyle: { "margin-bottom": "0", "line-height": "20px" } }, [ t._v("\n " + t._s(e.timeDiff) + "\n ") ]) ]) ]); })) ], 2) ]); }; i._withStripped = !0; var a = n(68).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/updateCheck.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", [ n("backbutton"), t._v(" "), n("div", { staticClass: "mdl-grid bg-cell", staticStyle: { display: "block", margin: "10px" } }, [ t._m(0), t._v(" "), n("div", [ t._t("default") ], 2), t._v(" "), n("div", { staticStyle: { display: "inline-block", "margin-right": "40px", "padding-left": "10px", "margin-bottom": "20px" }, style: t.getTypeColor(t.getType("myanimelist.net")) }, [ t._v("\n MyAnimeList "), t.listProvider.mal.master ? n("span", [ t._v("(Master)") ]) : t._e(), n("br"), t._v(" "), n("span", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: t.listProvider.mal.text, expression: "listProvider.mal.text" } ] }), n("br"), t._v(" "), t.listProvider.mal.list ? n("span", [ t._v("List: " + t._s(t.listProvider.mal.list.length)) ]) : t._e(), n("br"), t._v(" "), n("br") ]), t._v(" "), n("div", { staticStyle: { display: "inline-block", "margin-right": "40px", "padding-left": "10px", "margin-bottom": "20px" }, style: t.getTypeColor(t.getType("anilist.co")) }, [ t._v("\n AniList "), t.listProvider.anilist.master ? n("span", [ t._v("(Master)") ]) : t._e(), n("br"), t._v(" "), n("span", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: t.listProvider.anilist.text, expression: "listProvider.anilist.text" } ] }), t._v(" "), n("br"), t._v(" "), t.listProvider.anilist.list ? n("span", [ t._v("List: " + t._s(t.listProvider.anilist.list.length)) ]) : t._e(), n("br"), t._v(" "), n("br") ]), t._v(" "), n("div", { staticStyle: { display: "inline-block", "margin-right": "40px", "padding-left": "10px", "margin-bottom": "20px" }, style: t.getTypeColor(t.getType("kitsu.io")) }, [ t._v("\n Kitsu "), t.listProvider.kitsu.master ? n("span", [ t._v("(Master)") ]) : t._e(), n("br"), t._v(" "), n("span", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: t.listProvider.kitsu.text, expression: "listProvider.kitsu.text" } ] }), n("br"), t._v(" "), t.listProvider.kitsu.list ? n("span", [ t._v("List: " + t._s(t.listProvider.kitsu.list.length)) ]) : t._e(), n("br"), t._v(" "), n("br") ]), t._v(" "), n("div", { staticStyle: { display: "inline-block", "margin-right": "40px", "padding-left": "10px", "margin-bottom": "20px" }, style: t.getTypeColor(t.getType("simkl.com")) }, [ t._v("\n Simkl "), t.listProvider.simkl.master ? n("span", [ t._v("(Master)") ]) : t._e(), n("br"), t._v(" "), n("span", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: t.listProvider.simkl.text, expression: "listProvider.simkl.text" } ] }), n("br"), t._v(" "), t.listProvider.simkl.list ? n("span", [ t._v("List: " + t._s(t.listProvider.simkl.list.length)) ]) : t._e(), n("br"), t._v(" "), n("br") ]), t._v(" "), n("br"), t._v(" "), n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", staticStyle: { "margin-bottom": "20px" }, attrs: { type: "button", disabled: !t.listReady }, on: { click: function(e) { return t.syncList(); } } }, [ t._v("\n Sync\n ") ]), t._v(" "), "webextension" == t.apiType() ? n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", staticStyle: { "margin-bottom": "20px", float: "right" }, attrs: { type: "button" }, on: { click: function(e) { return t.backgroundClick(); } } }, [ t.isBackgroundEnabled ? [ t._v("\n Background Sync Enabled\n ") ] : [ t._v("\n Sync in Background\n ") ] ], 2) : t._e(), t._v(" "), t.listLength ? n("span", [ t._v(t._s(t.listLength - t.listSyncLength) + "/" + t._s(t.listLength)) ]) : t._e(), t._v(" "), t._l(t.listDiff, (function(e, i) { return n("div", { key: i, staticStyle: { border: "1px solid black", display: "flex", "flex-wrap": "wrap", "margin-bottom": "10px" } }, [ n("div", { staticStyle: { width: "100%", "border-bottom": "1px solid black", padding: "0 5px" } }, [ t._v("\n " + t._s(e.master.title) + "\n ") ]), t._v(" "), n("div", { staticStyle: { width: "50px", "border-right": "1px solid black", padding: "5px" } }, [ t._v("\n " + t._s(i) + "\n ") ]), t._v(" "), e.master && e.master.uid ? n("div", { staticClass: "master", staticStyle: { "background-color": "#ffd5d5", "border-right": "1px solid black", padding: "5px 10px", width: "70px" }, style: t.getTypeColor(t.getType(e.master.url)) }, [ t._v("\n ID: "), n("a", { attrs: { target: "_blank", href: e.master.url } }, [ t._v(t._s(e.master.uid)) ]), n("br"), t._v("\n EP: " + t._s(e.master.watchedEp)), n("br"), t._v("\n Status: " + t._s(e.master.status)), n("br"), t._v("\n Score: " + t._s(e.master.score) + "\n ") ]) : t._e(), t._v(" "), t._l(e.slaves, (function(e) { return n("div", { key: e.uid, staticClass: "slave", staticStyle: { "border-right": "1px solid black", padding: "5px 10px", width: "100px" }, style: t.getTypeColor(t.getType(e.url)) }, [ t._v("\n ID: "), n("a", { attrs: { target: "_blank", href: e.url } }, [ t._v(t._s(e.uid)) ]), n("br"), t._v("\n EP: " + t._s(e.watchedEp) + "\n "), e.diff && e.diff.watchedEp ? n("span", { staticStyle: { color: "green" } }, [ t._v("→ " + t._s(e.diff.watchedEp)) ]) : t._e(), n("br"), t._v("\n Status: " + t._s(e.status) + "\n "), e.diff && e.diff.status ? n("span", { staticStyle: { color: "green" } }, [ t._v("→ " + t._s(e.diff.status)) ]) : t._e(), n("br"), t._v("\n Score: " + t._s(e.score) + "\n "), e.diff && e.diff.score ? n("span", { staticStyle: { color: "green" } }, [ t._v("→ " + t._s(e.diff.score)) ]) : t._e() ]); })) ], 2); })), t._v(" "), t.missing.length ? n("div", [ n("h2", [ t._v("Missing") ]), t._v(" "), t._l(t.missing, (function(e) { return n("div", { key: e.url, staticStyle: { border: "1px solid black", display: "flex", "flex-wrap": "wrap", "margin-bottom": "10px" } }, [ n("div", { staticStyle: { width: "50px", "border-right": "1px solid black", padding: "5px" } }, [ n("a", { attrs: { target: "_blank", href: e.url } }, [ t._v(t._s(e.malId)) ]) ]), t._v(" "), n("div", { staticStyle: { padding: "5px 10px" }, style: t.getTypeColor(e.syncType) }, [ t._v("\n " + t._s(e.title)), n("br"), t._v("\n EP: " + t._s(e.watchedEp)), n("br"), t._v("\n Status: " + t._s(e.status)), n("br"), t._v("\n Score: " + t._s(e.score) + "\n ") ]), t._v(" "), e.error ? n("div", { staticStyle: { color: "red", width: "100%", "border-top": "1px solid" } }, [ t._v("\n " + t._s(e.error) + "\n ") ]) : t._e() ]); })) ], 2) : t._e() ], 2) ], 1); }; i._withStripped = !0; var a = n(69).a, o = n(6), r = Object(o.a)(a, i, [ function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticStyle: { "margin-bottom": "20px" } }, [ this._v("\n This feature is still in beta. Use at your own risk. More info\n "), e("a", { attrs: { href: "https://github.com/MALSync/MALSync/wiki/List-Sync" } }, [ this._v("Here") ]) ]); } ], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/listSync/listSync.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { staticClass: "mdl-grid bg-cell", staticStyle: { display: "block" } }, [ n("h5", [ t._v("This script removes all malsync::xxxxx:: from your list.") ]), t._v(" "), n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", staticStyle: { "margin-bottom": "20px" }, attrs: { type: "button", disabled: t.animeLoading }, on: { click: function(e) { return t.cleanTags(); } } }, [ t._v("\n Clean Up Mal-Sync Tags\n ") ]), t._v(" "), n("br"), t._v("\n Anime:\n "), t.animeLoading && !t.animelistLength ? n("span", [ t._v("Loading") ]) : t._e(), t._v(" "), t.animelistLength ? n("span", [ t._v(t._s(t.animelistLength - t.animelist.length) + "/" + t._s(t.animelistLength)) ]) : t._e(), t._v(" "), n("br"), t._v("\n Manga:\n "), t.mangaLoading && !t.mangalistLength ? n("span", [ t._v("Loading") ]) : t._e(), t._v(" "), t.mangalistLength ? n("span", [ t._v(t._s(t.mangalistLength - t.mangalist.length) + "/" + t._s(t.mangalistLength)) ]) : t._e(), n("br") ]); }; i._withStripped = !0; var a = n(71).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/cleanTags/cleanTags.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", [ n("backbutton"), t._v(" "), n("div", { staticClass: "mdl-grid", staticStyle: { display: "block" } }, [ n("div", { staticClass: "mdl-cell bg-cell mdl-cell--12-col" }, t._l(t.pages, (function(e) { return n("div", { key: e.name }, [ n("li", { staticClass: "mdl-list__item", staticStyle: { "padding-top": "0", "padding-bottom": "0" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("a", { attrs: { href: t.getDomain(e) } }, [ n("img", { staticStyle: { "margin-right": "5px" }, attrs: { src: t.favicon(t.getDomain(e)), height: "16", width: "16" } }), t._v("\n " + t._s(e.name) + "\n ") ]) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("label", { staticClass: "mdl-switch mdl-js-switch mdl-js-ripple-effect", attrs: { for: e.name } }, [ n("input", { staticClass: "mdl-switch__input", attrs: { id: e.name, type: "checkbox" }, domProps: { checked: t.getPageState(e) }, on: { change: function(n) { return t.setPageState(e, n.target.checked); } } }) ]) ]) ]) ]); })), 0) ]) ], 1); }; i._withStripped = !0; var a = n(72).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/allSites.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { staticClass: "page-content malClear", attrs: { id: "malReviews" } }, [ n("div", { directives: [ { name: "show", rawName: "v-show", value: "" == t.xhr, expression: "xhr == ''" } ], staticClass: "mdl-progress mdl-js-progress mdl-progress__indeterminate", staticStyle: { width: "100%", position: "absolute" }, attrs: { id: "loadOverview" } }), t._v(" "), n("span", { directives: [ { name: "show", rawName: "v-show", value: "" != t.xhr && t.reviews && 0 === t.reviews.length, expression: "xhr != '' && reviews && reviews.length === 0" } ], staticClass: "mdl-chip", staticStyle: { margin: "auto", "margin-top": "16px", display: "table" } }, [ n("span", { staticClass: "mdl-chip__text" }, [ t._v(t._s(t.lang("NothingFound"))) ]) ]), t._v(" "), "" != t.xhr ? n("div", { staticClass: "mdl-grid" }, t._l(t.reviews, (function(e, i) { return n("div", { key: e.username, staticClass: "mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-card__supporting-text mdl-card--border", staticStyle: { color: "black" } }, [ n("div", { staticStyle: { float: "right", "text-align": "right", "max-width": "60%" } }, [ n("div", [ t._v(t._s(e.rDate)) ]), t._v(" "), n("div", [ t._v(t._s(e.rEpisodes)) ]), t._v(" "), n("div", [ t._v("Overall Rating: " + t._s(e.rRating)) ]) ]), t._v(" "), n("div", { staticStyle: { float: "left", "max-width": "60%" } }, [ n("table", { attrs: { border: "0", cellpadding: "0", cellspacing: "0", width: "100%" } }, [ n("tbody", [ n("tr", [ n("td", { attrs: { valign: "top", width: "60" } }, [ n("div", [ n("a", { attrs: { href: e.userHref } }, [ n("img", { attrs: { src: e.userImage, width: "48" } }) ]) ]) ]), t._v(" "), n("td", { attrs: { valign: "top" } }, [ n("a", { attrs: { href: e.userHref } }, [ t._v(t._s(e.username)) ]), t._v(" "), n("small", [ t._v("("), n("a", { attrs: { href: e.userHref + "/reviews" } }, [ t._v("All reviews") ]), t._v(")") ]), n("br"), t._v(" "), e.rPeople ? n("div", [ n("strong", [ n("span", [ t._v(t._s(e.rPeople)) ]) ]), t._v("\n people found this review helpful\n ") ]) : t._e() ]) ]) ]) ]) ]) ]), t._v(" "), n("div", { staticClass: "mdl-card__supporting-text", staticStyle: { color: "black" } }, [ n("div", t._l(e.rText, (function(e, i) { return n("p", { key: i }, [ t._v(t._s(e)) ]); })), 0), t._v(" "), e.rReadmore ? n("div", [ n("a", { directives: [ { name: "show", rawName: "v-show", value: !t.activeReadMores.includes(i), expression: "!activeReadMores.includes(index)" } ], staticClass: "nojs", attrs: { href: "#" }, on: { click: function(e) { return t.activeReadMores.push(i); } } }, [ t._v("read more") ]), t._v(" "), t._l(e.rReadmore, (function(e, a) { return n("p", { directives: [ { name: "show", rawName: "v-show", value: t.activeReadMores.includes(i), expression: "activeReadMores.includes(index)" } ], key: a }, [ t._v("\n " + t._s(e) + "\n ") ]); })) ], 2) : t._e() ]) ]); })), 0) : t._e() ]); }; i._withStripped = !0; var a = n(73).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/reviews.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", [ n("backbutton"), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-card__title mdl-card--border" }, [ n("h2", { staticClass: "mdl-card__title-text" }, [ t._v(t._s(t.lang("settings_custom_domains_button"))) ]) ]), t._v(" "), t._m(0) ]), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ t._l(t.permissions, (function(e, i) { return n("div", { key: i }, [ n("li", { staticClass: "mdl-list__item", staticStyle: { "padding-top": "0", "padding-bottom": "0" } }, [ n("div", { staticClass: "icon material-icons close-icon", on: { click: function(e) { return t.removePermission(i); } } }, [ t._v("\n close\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("select", { directives: [ { name: "model", rawName: "v-model", value: e.page, expression: "perm.page" } ], staticClass: "inputtext mdl-textfield__input", class: { error: !t.pageCheck(e.page) }, staticStyle: { outline: "none", "margin-left": "10px", "margin-right": "10px" }, attrs: { name: "myinfo_score" }, on: { change: function(n) { var i = Array.prototype.filter.call(n.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); t.$set(e, "page", n.target.multiple ? i : i[0]); } } }, [ n("option", { attrs: { value: "", disabled: "", selected: "" } }, [ t._v("Select Page") ]), t._v(" "), n("option", { attrs: { value: "iframe" } }, [ t._v("Video Iframe") ]), t._v(" "), t._l(t.pages, (function(e, i) { return n("option", { key: i, domProps: { value: i } }, [ t._v("\n " + t._s(e.name) + "\n ") ]); })) ], 2) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("div", { staticClass: "mdl-textfield mdl-js-textfield" }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: e.domain, expression: "perm.domain" } ], staticClass: "mdl-textfield__input", class: { error: !t.domainCheck(e.domain) }, staticStyle: { outline: "none" }, attrs: { type: "text", placeholder: "Domain" }, domProps: { value: e.domain }, on: { input: function(n) { n.target.composing || t.$set(e, "domain", n.target.value); } } }) ]) ]) ]) ]); })), t._v(" "), n("div", [ n("li", { staticClass: "mdl-list__item", staticStyle: { "padding-top": "0", "padding-bottom": "0" } }, [ n("button", { staticClass: "mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab", on: { click: function(e) { return t.addPermission(); } } }, [ n("i", { staticClass: "material-icons" }, [ t._v("add") ]) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-primary-content" }) ]) ]), t._v(" "), t.hasPermissions && JSON.stringify(t.option) === JSON.stringify(t.permissions) ? t._e() : n("div", [ n("li", { staticClass: "mdl-list__item", staticStyle: { "padding-top": "0", "padding-bottom": "0" } }, [ n("input", { staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored", staticStyle: { "margin-right": "5px" }, attrs: { type: "button", value: t.lang("Update"), "data-upgraded": ",MaterialButton" }, on: { click: function(e) { return t.savePermissions(); } } }), t._v(" "), n("span", { staticClass: "mdl-list__item-primary-content" }) ]) ]) ], 2) ], 1); }; i._withStripped = !0; var a = n(74).a, o = (n(560), n(6)), r = Object(o.a)(a, i, [ function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "mdl-card__supporting-text" }, [ this._v("\n Please only use if you know what you are doing!"), e("br"), this._v("\n More info "), e("a", { attrs: { href: "https://github.com/MALSync/MALSync/wiki/Custom-Domains" } }, [ this._v("here") ]) ]); } ], !1, null, "40f53714", null); r.options.__file = "src/minimal/minimalApp/customDomains.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { attrs: { id: "quicklinkedit" } }, [ n("backbutton"), t._v(" "), n("div", { staticClass: "mdl-cell bg-cell mdl-cell--12-col", staticStyle: { padding: "10px 15px" } }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.search, expression: "search" } ], staticClass: "mdl-textfield__input", attrs: { type: "text", placeholder: "Search" }, domProps: { value: t.search }, on: { input: function(e) { e.target.composing || (t.search = e.target.value); } } }) ]), t._v(" "), n("div", { staticClass: "quicklinks mdl-cell bg-cell mdl-cell--12-col", staticStyle: { padding: "15px" } }, t._l(t.linksWithState, (function(e) { return n("div", { key: e.name, staticClass: "mdl-chip quicklink", class: { active: e.active, custom: e.custom, database: e.database, search: e.search && !("home" === e.search.anime || "home" === e.search.manga), home: e.search && ("home" === e.search.anime || "home" === e.search.manga) }, on: { click: function(n) { return t.toggleLink(e); } } }, [ n("img", { staticStyle: { "padding-bottom": "3px", "margin-right": "5px" }, attrs: { src: t.favicon(e.domain), height: "16", width: "16" } }), t._v("\n " + t._s(e.name) + "\n ") ]); })), 0), t._v(" "), n("div", { staticClass: "custom mdl-cell bg-cell mdl-cell--12-col" }, [ t._m(0), t._v(" "), t._m(1), t._v(" "), n("li", { staticClass: "mdl-list__item mdl-list__item--three-line", staticStyle: { width: "100%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v("Name: ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.custom_name, expression: "custom_name" } ], staticClass: "mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { type: "text" }, domProps: { value: t.custom_name }, on: { input: function(e) { e.target.composing || (t.custom_name = e.target.value); } } }) ]) ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item mdl-list__item--three-line", staticStyle: { width: "100%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v("Anime Search Url: ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.custom_anime, expression: "custom_anime" } ], staticClass: "mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { type: "text" }, domProps: { value: t.custom_anime }, on: { input: function(e) { e.target.composing || (t.custom_anime = e.target.value); } } }) ]) ]) ]), t._v(" "), n("li", { staticClass: "mdl-list__item mdl-list__item--three-line", staticStyle: { width: "100%" } }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ n("span", [ t._v("Manga Search Url: ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-text-body" }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.custom_manga, expression: "custom_manga" } ], staticClass: "mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { type: "text" }, domProps: { value: t.custom_manga }, on: { input: function(e) { e.target.composing || (t.custom_manga = e.target.value); } } }) ]) ]) ]), t._v(" "), n("input", { staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored", staticStyle: { margin: "15px" }, attrs: { disabled: !this.custom_name, type: "button", value: "Add" }, on: { click: t.addCustom } }) ]) ], 1); }; i._withStripped = !0; var a = n(76).a, o = n(6), r = Object(o.a)(a, i, [ function() { var t = this.$createElement, e = this._self._c || t; return e("div", { staticClass: "mdl-card__title mdl-card--border" }, [ e("h2", { staticClass: "mdl-card__title-text" }, [ this._v("Custom Searchlinks") ]) ]); }, function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("li", { staticClass: "mdl-list__item" }, [ n("table", [ n("tr", [ n("td", [ n("span", { staticClass: "darkbox" }, [ t._v("{searchterm}") ]) ]), t._v(" "), n("td", [ t._v("=> "), n("span", { staticClass: "darkbox" }, [ t._v("no%20game%20no%20life") ]) ]) ]), t._v(" "), n("tr", [ n("td", [ n("span", { staticClass: "darkbox" }, [ t._v("{searchtermPlus}") ]) ]), t._v(" "), n("td", [ t._v("=> "), n("span", { staticClass: "darkbox" }, [ t._v("no+game+no+life") ]) ]) ]), t._v(" "), n("tr", [ n("td", [ n("span", { staticClass: "darkbox" }, [ t._v("{searchtermRaw}") ]) ]), t._v(" "), n("td", [ t._v("=> "), n("span", { staticClass: "darkbox" }, [ t._v("no game no life") ]) ]) ]) ]) ]); } ], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/components/quicklinksEdit.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._t("default") ], 2), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("label", { staticClass: "mdl-switch mdl-js-switch mdl-js-ripple-effect", attrs: { for: t.option } }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.value, expression: "value" } ], staticClass: "mdl-switch__input", attrs: { id: t.option, type: "checkbox" }, domProps: { checked: Array.isArray(t.value) ? t._i(t.value, null) > -1 : t.value }, on: { change: function(e) { var n = t.value, i = e.target, a = !!i.checked; if (Array.isArray(n)) { var o = t._i(n, null); i.checked ? o < 0 && (t.value = n.concat([ null ])) : o > -1 && (t.value = n.slice(0, o).concat(n.slice(o + 1))); } else t.value = a; } } }) ]) ]) ]); }; i._withStripped = !0; var a = n(50).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/components/settingsCheckbox.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._t("default") ], 2), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("div", { staticClass: "mdl-textfield mdl-js-textfield", staticStyle: { "min-width": "35px", "max-width": "35px", width: "100%", padding: "0" } }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.value, expression: "value" } ], staticClass: "mdl-textfield__input", staticStyle: { "text-align": "center" }, attrs: { id: t.option, type: "number", step: t.step, min: t.min, max: t.max }, domProps: { value: t.value }, on: { input: function(e) { e.target.composing || (t.value = e.target.value); } } }) ]) ]) ]); }; i._withStripped = !0; var a = n(51).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/components/settingsNumberInput.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._v("\n " + t._s(t.text) + "\n ") ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ n("select", { directives: [ { name: "model", rawName: "v-model", value: t.value, expression: "value" } ], staticClass: "inputtext mdl-textfield__input", staticStyle: { outline: "none" }, attrs: { name: "myinfo_score" }, on: { change: function(e) { var n = Array.prototype.filter.call(e.target.options, (function(t) { return t.selected; })).map((function(t) { return "_value" in t ? t._value : t.value; })); t.value = e.target.multiple ? n : n[0]; } } }, [ t._t("default") ], 2) ]) ]); }; i._withStripped = !0; var a = n(52).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/components/settingsDropdown.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("span", [ t.button ? n("button", { staticClass: "mdl-button mdl-js-button mdl-button--raised mdl-button--colored", on: { click: function(e) { return t.buttonClick(); } } }, [ t._t("default") ], 2) : [ n("input", { attrs: { type: "file" }, on: { change: function(e) { return t.handleFileUpload(e); } } }), t._v(" "), "webextension" == t.type() ? n("p", { staticClass: "info" }, [ t._v("\n If you have problems please retry in\n "), n("a", { attrs: { href: "#" }, on: { click: function(e) { return t.openWindow(e); } } }, [ t._v("this window") ]) ]) : t._e() ] ], 2); }; i._withStripped = !0; var a = n(53).a, o = (n(554), n(6)), r = Object(o.a)(a, i, [], !1, null, "4b3e3631", null); r.options.__file = "src/minimal/minimalApp/components/settingsFileUpload.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content" }, [ t._t("default"), t._v(" "), n("div", { directives: [ { name: "show", rawName: "v-show", value: 1 === Object.keys(t.value).length, expression: "Object.keys(value).length === 1" } ] }, [ n("tooltip", { attrs: { "tag-style": "color: #8a1818; font-size: 20px; padding-bottom: 0;", "icon-text": "info" } }, [ t._v(t._s(t.lang("settings_shortcut_tooltip"))) ]) ], 1) ], 2), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ Object.keys(t.value).length ? n("div", { staticClass: "icon material-icons close-icon", on: { click: function(e) { t.value = {}; } } }, [ t._v("\n close\n ") ]) : t._e(), t._v(" "), n("div", { staticClass: "mdl-textfield mdl-js-textfield" }, [ n("input", { directives: [ { name: "model", rawName: "v-model", value: t.display, expression: "display" } ], staticClass: "mdl-textfield__input", class: { rec: t.rec, tempRec: t.tempRec }, domProps: { value: t.display }, on: { keydown: function(e) { return e.preventDefault(), t.keyDown(e); }, keyup: function(e) { return t.keyUp(e); }, blur: function(e) { return t.focusLost(); }, input: function(e) { e.target.composing || (t.display = e.target.value); } } }) ]) ]) ]); }; i._withStripped = !0; var a = n(55).a, o = (n(556), n(6)), r = Object(o.a)(a, i, [], !1, null, "29cae25a", null); r.options.__file = "src/minimal/minimalApp/components/settingsShortcut.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("li", { staticClass: "mdl-list__item" }, [ n("span", { staticClass: "mdl-list__item-primary-content", on: { click: function(e) { return t.init(); } } }, [ t._v("\n " + t._s(t.pageName) + "\n "), t.username ? n("i", { staticClass: "material-icons" }, [ t._v("check_circle_outline") ]) : n("i", { staticClass: "material-icons wrong" }, [ t._v("highlight_off") ]) ]), t._v(" "), n("span", { staticClass: "mdl-list__item-secondary-action" }, [ t.username && t.listObj.deauth ? [ n("i", { staticClass: "material-icons", staticStyle: { color: "black", cursor: "pointer", "vertical-align": "middle", "margin-top": "-4px" }, on: { click: function(e) { return t.deauth(); } } }, [ t._v("\n eject\n ") ]) ] : t._e(), t._v(" "), n("a", { attrs: { target: "_blank", href: t.pageAuth } }, [ t.username ? [ t._v("\n " + t._s(t.username) + "\n ") ] : [ t._v("\n " + t._s(t.lang("settings_Authenticate")) + "\n ") ] ], 2) ], 2) ]); }; i._withStripped = !0; var a = n(57).a, o = (n(558), n(6)), r = Object(o.a)(a, i, [], !1, null, "50365ef6", null); r.options.__file = "src/minimal/minimalApp/components/settingsLogin.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { staticClass: "mdl-cell bg-cell mdl-cell--6-col mdl-cell--8-col-tablet mdl-shadow--4dp" }, [ n("div", { staticClass: "mdl-cell", staticStyle: { width: "100%" } }, [ t._v("\n The correction functionality was moved into a seperate popup for faster and better integeration. You can access it\n "), t.keys ? [ t._v("with the shortcut '" + t._s(t.keys) + "' or") ] : t._e(), t._v(" by clicking\n "), n("a", { on: { click: function(e) { return e.stopPropagation(), t.openPopup(e); } } }, [ t._v("here") ]), t._v(".\n ") ], 2) ]); }; i._withStripped = !0; var a = n(59).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/correction.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return n("div", { attrs: { id: "quicklinkoverview" } }, [ t.links && t.links.length ? n("div", { staticClass: "quicklinks" }, t._l(t.links, (function(e) { return n("div", { key: e.name, staticClass: "mdl-chip quicklink" }, [ n("img", { staticStyle: { "padding-bottom": "3px", "margin-right": "5px" }, attrs: { src: t.favicon(e.domain), height: "16", width: "16" } }), t._v("\n " + t._s(e.name) + "\n ") ]); })), 0) : n("div", [ n("input", { staticClass: "inputButton btn-middle flat js-anime-update-button mdl-button mdl-js-button mdl-button--raised mdl-button--accent", attrs: { type: "button", value: t.lang("Add"), "data-upgraded": ",MaterialButton" } }) ]) ]); }; i._withStripped = !0; var a = n(60).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/components/quicklinksOverview.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return t.apiCacheKey && t.elements && t.elements.length ? n("div", { staticClass: "mdl-cell bg-cell mdl-cell--12-col mdl-shadow--4dp", staticStyle: { padding: "8px" } }, [ t.completed && t.completed.length ? [ n("div", [ t._v(t._s(t.lang("prediction_complete"))) ]), t._v(" "), t._l(t.completed, (function(e, i) { return n("span", { key: i }, [ e.item.top ? n("span", { staticClass: "list-content" }, [ n("country-flag", { attrs: { country: t.correctFlag(e.language), title: e.language.toUpperCase() + " " + e.index.toUpperCase(), text: e.index.toUpperCase() } }) ], 1) : t._e() ]); })) ] : t._e(), t._v(" "), t.ongoing && t.ongoing.length ? [ n("div", [ t._v(t._s(t.lang("prediction_ongoing"))) ]), t._v(" "), n("div", { staticClass: "mdl-grid mdl-grid--no-spacing" }, t._l(t.ongoing, (function(e, i) { return n("div", { key: i, staticClass: "list-content mdl-cell--6-col mdl-cell--8-col-tablet", staticStyle: { display: "flex", "align-items": "center" } }, [ n("country-flag", { attrs: { country: t.correctFlag(e.language), title: e.language.toUpperCase() + " " + e.index.toUpperCase(), text: e.index.toUpperCase() } }), t._v(" "), e.item.top.state && "ongoing" !== e.item.top.state ? [ n("span", { staticStyle: { color: "red", "padding-right": "5px" } }, [ t._v(t._s(t.lang("prediction_incomplete"))) ]) ] : t._e(), t._v(" "), e.item.top.lastEp && e.item.top.lastEp.total ? [ e.item.top.state && "ongoing" !== e.item.top.state && e.item.top.stateInfo ? [ t._v("\n " + t._s(e.item.top.stateInfo) + "\n ") ] : [ t._v("\n " + t._s(t.utils.episode(t.type)) + " " + t._s(e.item.top.lastEp.total) + "\n "), t.totalEps ? [ t._v("/ " + t._s(t.totalEps)) ] : t._e() ], t._v(" "), e.item.top.lastEp.timestamp ? [ t._v("\n (" + t._s(t.releaseTime(e.item.top.lastEp.timestamp)) + ")\n ") ] : t._e(), t._v(" "), e.item.top.predicition ? [ t._v("\n [" + t._s(t.lang("prediction_next", [ t.releaseTime(e.item.top.predicition.timestamp).trim() ])) + "]\n ") ] : t._e() ] : t._e() ], 2); })), 0) ] : t._e() ], 2) : t._e(); }; i._withStripped = !0; var a = n(62).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/components/overviewProgress.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return t.listView ? n("tr", { staticStyle: { cursor: "pointer" }, on: { click: function(e) { return t.openLink(t.item.url); } } }, [ n("td", { staticStyle: { width: "64px" } }, [ n("div", { staticClass: "imageTd", staticStyle: { position: "absolute", top: "0", left: "0", right: "0", bottom: "-1px", overflow: "hidden" } }, [ n("clazy-load", { attrs: { src: t.imageHi, margin: "200px 0px", threshold: .1, ratio: .1 }, on: { error: t.setQuestionmark } }, [ n("img", { attrs: { src: t.imageHi, width: "100%" }, on: { error: t.setQuestionmark } }) ]) ], 1) ]), t._v(" "), n("td", { staticClass: "mdl-data-table__cell--non-numeric", staticStyle: { "white-space": "normal", position: "relative", "padding-left": "10px", "padding-right": "28px" } }, [ t.item.fn.progress && t.item.fn.progress.isAiring() ? n("div", { staticStyle: { position: "absolute", top: "0", left: "0", padding: "0 11px", margin: "0 0", "text-align": "center", "font-size": "10px" } }, [ t._v("\n " + t._s(t.item.fn.progress.getAuto()) + "\n ") ]) : t._e(), t._v(" "), n("span", { staticStyle: { "font-weight": "bold" } }, [ t._v(t._s(t.item.title)) ]), t._v(" "), t.streamUrl ? n("a", { staticClass: "mal-sync-stream", staticStyle: { margin: "0 5px", position: "absolute", right: "0", top: "0" }, attrs: { title: t.streamUrl.split("/")[2], target: "_blank", href: t.streamUrl } }, [ n("img", { attrs: { src: t.favicon(t.streamUrl.split("/")[2]) } }) ]) : t._e(), t._v(" "), t.continueUrl ? n("a", { staticClass: "nextStream", staticStyle: { margin: "0 5px 0 0", color: "#BABABA", position: "absolute", right: "0", top: "20px" }, attrs: { title: t.lang("overview_Continue_" + t.item.type), target: "_blank", href: t.continueUrl } }, [ n("img", { attrs: { src: t.assetUrl("double-arrow-16px.png"), width: "16", height: "16" } }) ]) : t._e(), t._v(" "), t.resumeUrl ? n("a", { staticClass: "resumeStream", staticStyle: { margin: "0 5px 0 0", color: "#BABABA", position: "absolute", right: "0", top: "20px" }, attrs: { title: t.lang("overview_Resume_Episode_" + t.item.type), target: "_blank", href: t.resumeUrl } }, [ n("img", { attrs: { src: t.assetUrl("arrow-16px.png"), width: "16", height: "16" } }) ]) : t._e(), t._v(" "), n("div", { staticClass: "mdl-progress pr-bar", staticStyle: { position: "absolute", bottom: "0", left: "0", right: "0", width: "auto", opacity: "0.5" }, attrs: { id: "p1" } }, [ n("div", { staticClass: "progressbar bar bar1", style: t.progress }), t._v(" "), t.hasTotalEp ? n("div", { staticClass: "bufferbar bar bar2", staticStyle: { width: "calc(100% + 1px)" } }) : t._e(), t._v(" "), t.item.fn.progress && t.item.fn.progress.isAiring() ? n("div", { staticClass: "predictionbar bar kal-ep-pre", style: t.predictionBar }, [ t.barData.predWidth && "100" !== t.barData.predWidth && t.barData.predWidth <= t.barData.epWidth ? n("div", { staticClass: "bar-tab" }, [ n("i", { staticClass: "material-icons" }, [ t._v("arrow_drop_up") ]) ]) : t._e() ]) : t._e(), t._v(" "), n("div", { staticClass: "auxbar bar bar3", staticStyle: { width: "0%" } }) ]) ]), t._v(" "), n("td", { staticStyle: { width: "70px" } }, [ t._v("\n " + t._s(t.item.watchedEp) + "/"), t.item.totalEp ? [ t._v(t._s(t.item.totalEp)) ] : [ t._v("?") ] ], 2), t._v(" "), n("td", { staticStyle: { width: "57px" } }, [ t.item.score ? [ t._v(t._s(t.item.score)) ] : [ t._v("-") ] ], 2) ]) : n("div", { staticClass: "mdl-cell mdl-cell--2-col mdl-cell--4-col-tablet mdl-cell--6-col-phone mdl-shadow--2dp mdl-grid bookEntry", staticStyle: { position: "relative", padding: "0", width: "210px", height: "293px" }, attrs: { title: t.item.fn.progress && t.item.fn.progress.getAutoText() } }, [ n("div", { staticClass: "data title", staticStyle: { "background-color": "#cdcdcd", width: "100%", position: "relative", "padding-top": "5px" } }, [ n("div", { staticStyle: { position: "absolute", top: "0", left: "0", right: "0", bottom: "0", overflow: "hidden" } }, [ n("clazy-load", { staticStyle: { position: "absolute", top: "0", left: "0", right: "0", bottom: "0", overflow: "hidden" }, attrs: { src: t.imageHi, margin: "200px 0px", threshold: .1, ratio: .1 }, on: { error: t.setQuestionmark } }, [ n("img", { attrs: { src: t.imageHi, width: "100%" }, on: { error: t.setQuestionmark } }) ]) ], 1), t._v(" "), t.item.fn.progress && t.item.fn.progress.isAiring() ? n("div", { staticClass: "mdl-shadow--2dp", staticStyle: { position: "absolute", top: "0", right: "0", "background-color": "rgba(255, 255, 255, 0.9)", padding: "0 5px", margin: "5px 0", "text-align": "center" } }, [ t._v("\n " + t._s(t.item.fn.progress.getAuto()) + "\n ") ]) : t._e(), t._v(" "), t.item.score ? n("div", { staticStyle: { position: "absolute", top: "0", left: "0", padding: "0 5px", margin: "5px 0", "text-align": "center" } }, [ n("div", { staticStyle: { width: "38px", height: "38px", position: "relative" } }, [ n("i", { staticClass: "material-icons", staticStyle: { color: "#3f51b5", position: "absolute", left: "0", top: "0", "font-size": "38px" } }, [ t._v("star") ]), t._v(" "), n("div", { staticStyle: { color: "white", position: "absolute", left: "0", top: "0", right: "0", bottom: "0", "text-align": "center", "line-height": "38px", "padding-top": "1px" } }, [ t._v("\n " + t._s(t.item.score) + "\n ") ]) ]) ]) : t._e(), t._v(" "), n("a", { staticStyle: { position: "absolute", top: "0", left: "0", right: "0", bottom: "0" }, attrs: { href: t.item.url } }), t._v(" "), n("span", { staticClass: "mdl-shadow--2dp", staticStyle: { position: "absolute", bottom: "0", display: "block", "background-color": "rgba(255, 255, 255, 0.9)", "padding-top": "5px", "align-items": "center", "justify-content": "space-between", left: "0", right: "0", "padding-right": "8px", "padding-left": "8px", "padding-bottom": "8px" } }, [ n("a", { staticStyle: { color: "black", "text-decoration": "none" }, attrs: { href: t.item.url } }, [ t._v("\n " + t._s(t.item.title) + "\n ") ]), t._v(" "), n("div", { staticClass: "mdl-progress pr-bar", staticStyle: { position: "absolute", top: "-4px", left: "0" }, attrs: { id: "p1" } }, [ n("div", { staticClass: "progressbar bar bar1", style: t.progress }), t._v(" "), t.hasTotalEp ? n("div", { staticClass: "bufferbar bar bar2", staticStyle: { width: "calc(100% + 1px)" } }) : t._e(), t._v(" "), t.item.fn.progress && t.item.fn.progress.isAiring() ? n("div", { staticClass: "predictionbar bar kal-ep-pre", style: t.predictionBar }, [ t.barData.predWidth && 100 !== t.barData.predWidth && t.barData.predWidth <= t.barData.epWidth ? n("div", { staticClass: "bar-tab" }, [ n("i", { staticClass: "material-icons" }, [ t._v("arrow_drop_up") ]) ]) : t._e() ]) : t._e(), t._v(" "), n("div", { staticClass: "auxbar bar bar3", staticStyle: { width: "0%" } }) ]), t._v(" "), n("div", { staticClass: "data progress mdl-chip mdl-chip--contact mdl-color--indigo-100", staticStyle: { float: "right", "line-height": "20px", height: "20px", "padding-right": "4px", "margin-left": "5px" } }, [ n("div", { staticClass: "link mdl-chip__contact mdl-color--primary mdl-color-text--white", staticStyle: { "line-height": "20px", height: "20px", "margin-right": "0" }, attrs: { title: "[" + t.item.watchedEp + "/" + t.item.totalEp + "]" } }, [ t._v("\n " + t._s(t.item.watchedEp) + "\n ") ]), t._v(" "), t.streamUrl ? n("a", { staticClass: "mal-sync-stream", staticStyle: { margin: "0 5px" }, attrs: { title: t.streamUrl.split("/")[2], target: "_blank", href: t.streamUrl } }, [ n("img", { attrs: { src: t.favicon(t.streamUrl.split("/")[2]) } }) ]) : t._e(), t._v(" "), t.continueUrl ? n("a", { staticClass: "nextStream", staticStyle: { margin: "0 5px 0 0", color: "#BABABA" }, attrs: { title: t.lang("overview_Continue_" + t.item.type), target: "_blank", href: t.continueUrl } }, [ n("img", { attrs: { src: t.assetUrl("double-arrow-16px.png"), width: "16", height: "16" } }) ]) : t._e(), t._v(" "), t.resumeUrl ? n("a", { staticClass: "resumeStream", staticStyle: { margin: "0 5px 0 0", color: "#BABABA" }, attrs: { title: t.lang("overview_Resume_Episode_" + t.item.type), target: "_blank", href: t.resumeUrl } }, [ n("img", { attrs: { src: t.assetUrl("arrow-16px.png"), width: "16", height: "16" } }) ]) : t._e() ]) ]) ]) ]); }; i._withStripped = !0; var a = n(66).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, null, null); r.options.__file = "src/minimal/minimalApp/bookmarksItem.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; var i = function() { var t = this, e = t.$createElement, n = t._self._c || e; return t.country ? n("div", { staticClass: "flagIcon mdl-shadow--2dp", attrs: { title: t.text } }, [ t.flagHtml ? n("div", { directives: [ { name: "dompurify-html", rawName: "v-dompurify-html", value: t.flagHtml, expression: "flagHtml" } ], staticClass: "flagflag" }) : n("div", { staticClass: "flagCountry" }, [ t._v(t._s(t.country)) ]), t._v(" "), "SUB" !== t.text ? n("div", { staticClass: "flagText" }, [ t._v(t._s(t.text)) ]) : t._e() ]) : t._e(); }; i._withStripped = !0; var a = n(63).a, o = n(6), r = Object(o.a)(a, i, [], !1, null, "77e1b9bb", null); r.options.__file = "src/minimal/minimalApp/components/overviewProgressCountryFlag.vue"; e.a = r.exports; }, function(t, e, n) { "use strict"; n.d(e, "a", (function() { return d; })); var i = n(15), a = n(249); const o = n(250).a; var r = n(251), s = n(252), l = n(253), c = n(254); function d(t, e, n = "") { if (n || (n = i.a(e)), /^local:\/\//i.test(t)) return new a.a(t); if ("ANILIST" === n) return new s.a(t); if ("KITSU" === n) return new l.a(t); if ("SIMKL" === n) return new c.a(t); if ("MAL" === n) return new o(t); if ("MALAPI" === n) return new r.a(t); throw "Unknown sync mode"; } }, function(t, e, n) { "use strict"; n.r(e), function(t, e, i) { var a = n(101), o = n(115), r = n(117), s = n(118), l = n(119), c = n(120), d = n(40), m = n(38), u = n(80), p = n(246), h = n(20), g = n(255), f = function(t, e, n, i) { return new (n || (n = Promise))((function(a, o) { function r(t) { try { l(i.next(t)); } catch (t) { o(t); } } function s(t) { try { l(i.throw(t)); } catch (t) { o(t); } } function l(t) { t.done ? a(t.value) : function(t) { return t instanceof n ? t : new n((function(e) { e(t); })); }(t.value).then(r, s); } l((i = i.apply(t, e || [])).next()); })); }; let v; function b() { try { if (function() { try { return window.self !== window.top; } catch (t) { return !0; } }()) throw "iframe"; v = new a.a(window.location.href, m.a, p.a); } catch (e) { return t.info(e), void Object(d.b)((function(t) { i.storage.set("iframePlayer", t); })); } v.init(), i.storage.set("iframePlayer", "null"), setInterval((function() { return f(this, void 0, void 0, (function*() { const t = yield i.storage.get("iframePlayer"); void 0 !== t && "null" !== t && (v.setVideoTime(t, (function(t) {})), i.storage.set("iframePlayer", "null")); })); }), 2e3); } console.log("%cMAL-Sync", "font-size: 40px; padding-bottom: 3px; color: white; text-shadow: -1px -1px #2e51a2, 1px -1px #2e51a2, -1px 1px #2e51a2, 1px 1px #2e51a2, 2px 2px #2e51a2, 3px 3px #2e51a2;", "Version: " + i.storage.version()), i.settings.init().then(() => { !function() { if (window.location.href.indexOf("myanimelist.net") > -1) { new o.a(window.location.href).init(), window.location.href.indexOf("episode") > -1 && b(); } else if (window.location.href.indexOf("anilist.co") > -1) { new r.a(window.location.href); } else if (window.location.href.indexOf("kitsu.io") > -1) { new s.a(window.location.href); } else if (window.location.href.indexOf("simkl.com") > -1) { new l.a(window.location.href); } else window.location.href.indexOf("malsync.moe/mal/oauth") > -1 ? Object(u.b)() : window.location.href.indexOf("malsync.moe/pwa") > -1 ? Object(g.a)() : b(); Object(c.a)(), Object(d.c)(n => { switch (t.log("[content] Shortcut", n), n.shortcut) { case "correctionShort": v.openCorrectionUi(); break; case "syncShort": e.$("#malSyncProgress").addClass("ms-done"), e.$(".flash.type-update .sync").click(); } }), Object(h.b)(); }(); }); }.call(this, n(4), n(2), n(0)); }, function(t, e, n) { (function(t, e) { !function(t, n) { "use strict"; if (!t.setImmediate) { var i, a, o, r, s, l = 1, c = {}, d = !1, m = t.document, u = Object.getPrototypeOf && Object.getPrototypeOf(t); u = u && u.setTimeout ? u : t, "[object process]" === {}.toString.call(t.process) ? i = function(t) { e.nextTick((function() { h(t); })); } : !function() { if (t.postMessage && !t.importScripts) { var e = !0, n = t.onmessage; return t.onmessage = function() { e = !1; }, t.postMessage("", "*"), t.onmessage = n, e; } }() ? t.MessageChannel ? ((o = new MessageChannel).port1.onmessage = function(t) { h(t.data); }, i = function(t) { o.port2.postMessage(t); }) : m && "onreadystatechange" in m.createElement("script") ? (a = m.documentElement, i = function(t) { var e = m.createElement("script"); e.onreadystatechange = function() { h(t), e.onreadystatechange = null, a.removeChild(e), e = null; }, a.appendChild(e); }) : i = function(t) { setTimeout(h, 0, t); } : (r = "setImmediate$" + Math.random() + "$", s = function(e) { e.source === t && "string" == typeof e.data && 0 === e.data.indexOf(r) && h(+e.data.slice(r.length)); }, t.addEventListener ? t.addEventListener("message", s, !1) : t.attachEvent("onmessage", s), i = function(e) { t.postMessage(r + e, "*"); }), u.setImmediate = function(t) { "function" != typeof t && (t = new Function("" + t)); for (var e = new Array(arguments.length - 1), n = 0; n < e.length; n++) e[n] = arguments[n + 1]; var a = { callback: t, args: e }; return c[l] = a, i(l), l++; }, u.clearImmediate = p; } function p(t) { delete c[t]; } function h(t) { if (d) setTimeout(h, 0, t); else { var e = c[t]; if (e) { d = !0; try { !function(t) { var e = t.callback, n = t.args; switch (n.length) { case 0: e(); break; case 1: e(n[0]); break; case 2: e(n[0], n[1]); break; case 3: e(n[0], n[1], n[2]); break; default: e.apply(void 0, n); } }(e); } finally { p(t), d = !1; } } } } }("undefined" == typeof self ? void 0 === t ? this : t : self); }).call(this, n(88), n(95)); }, function(t, e, n) { var i = n(290); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "::-webkit-scrollbar {\n display: none;\n}\n#material {\n all: initial;\n color: white;\n font-family: 'Helvetica', 'Arial', sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n}\n#material * {\n box-sizing: border-box;\n}\n#material .scroll {\n overflow-y: auto;\n max-height: 80vh;\n scrollbar-width: none;\n}\n#material .close {\n display: block;\n margin-top: 15px;\n text-align: center;\n cursor: pointer;\n}\n#material .mdl-color--primary {\n background-color: #3f51b5;\n}\n#material p {\n font-weight: 400;\n line-height: 24px;\n font-size: 14px;\n letter-spacing: 0;\n margin: 0 0 16px;\n}\n#material a {\n color: #f43b7a;\n text-decoration: none !important;\n}\n#material .search .input {\n width: 100%;\n}\n#material .result {\n cursor: pointer;\n display: flex;\n margin-bottom: 15px;\n background-color: #484848;\n max-width: 400px;\n}\n#material .result.active {\n border: 1px solid #f43b7a;\n border-style: dashed;\n}\n#material .result .image {\n height: 100px;\n width: 64px;\n min-width: 64px;\n background-color: grey;\n}\n#material .result .image img {\n height: 100%;\n width: 100%;\n object-fit: cover;\n}\n#material .result .right {\n flex-grow: 100;\n cursor: pointer;\n margin-top: 0;\n margin-bottom: 0;\n padding: 5px 10px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n#material .result .right .title {\n font-size: 20px;\n font-weight: 400;\n line-height: 1;\n margin-bottom: 3px;\n}\n#material .result .right p {\n margin-bottom: 0;\n line-height: 20px;\n color: white;\n}\n#material .rules .title {\n color: #f43b7a;\n}\n#material .rules .rule {\n margin-bottom: 15px;\n background-color: #484848;\n max-width: 400px;\n}\n#material .rules .rule .header {\n padding: 5px 10px;\n border-bottom: 1px solid white;\n}\n#material .rules .rule.active {\n border: 1px solid #f43b7a;\n}\n#material .rules .rule .content {\n padding: 5px 10px;\n}\n#material .rules .rule .hover {\n display: none;\n}\n#material .rules .rule:hover .hover {\n display: block;\n}\n#material .rules .rule:hover .noHover {\n display: none;\n}\n#material .inputButton {\n display: flex;\n align-items: center;\n}\n#material .inputButton .group {\n width: 100%;\n}\n#material .group {\n position: relative;\n margin-bottom: 15px;\n margin-top: 25px;\n}\n#material .group input {\n font-size: 18px;\n padding: 10px 10px 10px 5px;\n display: block;\n color: white;\n width: 100%;\n border: none;\n background-color: #484848;\n border-bottom: 1px solid white;\n}\n#material .group input:focus {\n outline: none;\n}\n#material .group label {\n color: #999;\n font-size: 18px;\n font-weight: normal;\n position: absolute;\n pointer-events: none;\n left: 5px;\n top: 10px;\n transition: 0.2s ease all;\n -moz-transition: 0.2s ease all;\n -webkit-transition: 0.2s ease all;\n}\n#material .group input:focus ~ label,\n#material .group input:valid ~ label {\n left: 0;\n top: -20px;\n font-size: 14px;\n color: #f43b7a;\n}\n#material .group .bar {\n position: relative;\n display: block;\n}\n#material .group .bar::before,\n#material .group .bar::after {\n content: '';\n height: 2px;\n width: 0;\n bottom: 0;\n position: absolute;\n background: #f43b7a;\n transition: 0.2s ease all;\n -moz-transition: 0.2s ease all;\n -webkit-transition: 0.2s ease all;\n}\n#material .group .bar::before {\n left: 50%;\n}\n#material .group .bar::after {\n right: 50%;\n}\n#material .group input:focus ~ .bar::before,\n#material .group input:focus ~ .bar::after {\n width: 50%;\n}\n#material .mdl-progress {\n display: block;\n position: relative;\n height: 3px;\n width: 500px;\n max-width: 100%;\n}\n#material .mdl-progress > .bar {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 0%;\n transition: width 0.2s linear;\n}\n#material .mdl-progress > .bar1 {\n background-color: #3f51b5;\n animation-name: indeterminate1;\n animation-duration: 2s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n@keyframes indeterminate1 {\n 0% {\n left: 0%;\n width: 0%;\n }\n 50% {\n left: 25%;\n width: 75%;\n }\n 75% {\n left: 100%;\n width: 0%;\n }\n}\n#material .loadingBar {\n position: relative;\n}\n#material .loadingBar .mdl-progress {\n position: absolute;\n top: -9px;\n}\n#material button {\n margin-top: 10px;\n margin-left: 10px;\n background-color: #3f51b5;\n color: white;\n border: none;\n border-radius: 2px;\n position: relative;\n height: 42px;\n padding: 0 16px;\n display: inline-block;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0;\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n line-height: 36px;\n vertical-align: middle;\n}\n#material #offsetUi {\n display: flex;\n justify-content: space-around;\n}\n#material #offsetUi .offsetBox {\n text-align: center;\n min-width: 40px;\n margin-left: 5px;\n margin-right: 5px;\n}\n#material #offsetUi .offsetBox .top {\n padding: 5px 10px;\n}\n#material #offsetUi .offsetBox .bottom {\n padding: 5px 10px;\n}\n#material #offsetUi .offsetBox .bottom.active {\n border: 1px solid #f43b7a;\n border-top: 0;\n}\n", "" ]); }, function(t, e, n) { var i = n(292); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".site-theme-dark .nextStream img,\n.entry-card .nextStream img,\n.site-theme-dark .resumeStream img,\n.entry-card .resumeStream img {\n filter: invert(100%);\n}\n.entry-card .mal-sync-stream {\n position: absolute;\n max-height: 17px !important;\n left: 7px;\n top: -17px;\n background: rgba(var(--color-overlay), 0.8);\n border-radius: 100% 100% 0 0;\n}\n.entry-card .mal-sync-stream img {\n padding: 5px;\n padding-top: 7px;\n}\n.entry-card .nextStream,\n.entry-card .resumeStream {\n position: absolute;\n max-height: 17px !important;\n right: 7px;\n top: -15px;\n margin-right: 0 !important;\n background: rgba(var(--color-overlay), 0.8);\n border-radius: 100% 100% 0 0;\n}\n.entry-card .nextStream img,\n.entry-card .resumeStream img {\n margin: 5px;\n margin-top: 7px;\n}\n.mal-sync-ep-pre {\n display: inline-block;\n width: 0;\n}\n", "" ]); }, function(t, e, n) { var i = n(294); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "", "" ]); }, function(t, e, n) { "use strict"; var i = n(47); n.n(i).a; }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".Sources[data-v-55d18076] {\n min-width: 178px;\n}\n.simkltvdetailonlineheadbuttonstream[data-v-55d18076] {\n width: auto;\n min-width: auto;\n}\n#malkiss[data-v-55d18076] {\n position: relative;\n}\n.malsync-page-relation[data-v-55d18076] {\n display: flex;\n position: absolute;\n bottom: -1px;\n right: -1px;\n}\n.malsync-page-relation > a[data-v-55d18076] {\n margin-left: 5px;\n}\n", "" ]); }, function(t, e, n) { var i = n(298); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".nextStream img,\n.resumeStream img {\n filter: invert(100%);\n}\n", "" ]); }, function(t, e, n) { var i = n(300); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #694ba1;\n}\n.mal-sync-active {\n background-color: #002966 !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #694ba1;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#MalData select option {\n background-color: white;\n}\nbody.dark #MalData select option {\n background-color: #1c1b26 !important;\n}\n#malp {\n margin: 0;\n}\n", "" ]); }, function(t, e, n) { var i = n(302); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: transparent !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active .c-playable-thumbnail {\n border: 4px solid #2e51a2;\n}\n#malp {\n margin-bottom: 10px;\n}\n", "" ]); }, function(t, e, n) { var i = n(304); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #b2d1ff !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n background-color: #555;\n padding: 10px 7px 5px 7px;\n}\n#malp span {\n color: white;\n}\n#malp select > * {\n background-color: #555 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(306); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malp {\n all: initial;\n font-size: inherit;\n font-family: inherit;\n margin-bottom: 8px;\n min-height: 50px;\n display: block;\n}\n#malp .info {\n all: initial !important;\n font-size: inherit !important;\n font-family: inherit !important;\n}\n#malp select {\n appearance: auto;\n}\n#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: white;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp * {\n color: black !important;\n}\n#malp #MalData {\n justify-content: flex-start !important;\n align-items: center !important;\n gap: 10px;\n}\n#malp #MalData select,\n#malp #MalData > * > *:last-child,\n#malp #MalData > * > a {\n background-color: #f5f6f7 !important;\n border-radius: 4px;\n padding: 4px 8px !important;\n}\n#malp #MalData option {\n background-color: #f5f6f7 !important;\n}\n#malp #MalData > * > span {\n display: block !important;\n}\n#malp #MalData .info {\n display: block !important;\n font-size: 12px !important;\n}\n#malp #MalData #AddMalDiv {\n margin-left: 10px;\n display: inline-block !important;\n font-size: 0;\n}\n#malp #MalData #AddMalDiv #AddMal {\n font-size: 16px;\n}\n.theme--dark #malp * {\n color: white !important;\n}\n.theme--dark #malp #MalData {\n justify-content: flex-start !important;\n align-items: center !important;\n gap: 10px;\n}\n.theme--dark #malp #MalData select,\n.theme--dark #malp #MalData > * > *:last-child,\n.theme--dark #malp #MalData > * > a {\n background-color: #272727 !important;\n border-radius: 4px;\n padding: 4px 8px !important;\n}\n.theme--dark #malp #MalData option {\n background-color: #272727 !important;\n}\n.theme--dark #malp #MalData > * > span {\n display: block !important;\n}\n.theme--dark #malp #MalData .info {\n display: block !important;\n font-size: 12px !important;\n}\n.theme--dark #malp #MalData #AddMalDiv {\n margin-left: 10px;\n display: inline-block !important;\n font-size: 0;\n}\n.theme--dark #malp #MalData #AddMalDiv #AddMal {\n font-size: 16px;\n}\n", "" ]); }, function(t, e, n) { var i = n(308); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #ffc119;\n}\n.mal-sync-active {\n background-color: #002966 !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #ffc119;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp * {\n font-size: 13px;\n}\n", "" ]); }, function(t, e, n) { var i = n(310); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #bbbbbb;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n color: white;\n}\n#flash-div-top button,\n#flash-div-bottom button,\n#flashinfo-div button {\n background: none;\n box-shadow: none;\n -moz-box-shadow: none;\n -webkit-box-shadow: none;\n}\n#flash-div-top .undoButton,\n#flash-div-bottom .undoButton,\n#flashinfo-div .undoButton {\n margin-left: auto;\n margin-right: auto;\n}\n", "" ]); }, function(t, e, n) { var i = n(312); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #0066ff;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(314); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin-top: 1rem;\n border-top: 0 solid hsla(0, 0%, 100%, 0.05);\n border-width: 1px 0;\n font-size: 14px;\n padding: 10px 5px 0;\n padding-top: 1rem;\n}\n#malp select {\n display: inline-block;\n width: auto;\n}\n#malp input {\n display: inline-block;\n}\n.my-float.open-info-popup {\n height: 100%;\n width: 100%;\n margin: 0 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(316); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n display: none !important;\n}\n#malp {\n max-width: 700px;\n}\n", "" ]); }, function(t, e, n) { var i = n(318); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n display: none !important;\n}\n#malp {\n max-width: 700px;\n margin: 0;\n}\n.noApiKey [data-qa-id='moreButton'] {\n background-color: red;\n}\n#flashinfo-div {\n z-index: 200000 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(320); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n display: none !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(322); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\nsection.main .content-wrapper .theatre .theatre-info {\n margin-bottom: 1rem;\n}\n#flashinfo-div {\n z-index: 99999 !important;\n}\n#malp,\n#malTotal,\n#AddMalDiv,\n#AddMal {\n color: #999 !important;\n}\n#malStatus,\n#malUserRating,\n#malEpisodes {\n background: transparent !important;\n color: #d5015b !important;\n}\n#malStatus option,\n#malUserRating option,\n#malEpisodes option {\n background: black !important;\n color: #d5015b !important;\n}\n#malRating {\n color: #d5015b !important;\n}\n.mal-sync-active .episode-label-wrap {\n background-color: #002966;\n background-color: #002966ba;\n}\n", "" ]); }, function(t, e, n) { var i = n(324); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #694ba1;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #694ba1;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#MalData select option {\n background-color: white;\n}\nbody.dark #MalData select option {\n background-color: #1c1b26 !important;\n}\n#malp {\n margin: 0;\n}\n#malp .info {\n display: block;\n}\n#malp #malEpisodes {\n display: inline-block;\n border: 0;\n padding: 0;\n margin-bottom: 4px;\n}\n#malp select {\n margin-left: -3px !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(326); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n background-color: white;\n}\n.mal-sync-active > div {\n border: 4px solid #72abff;\n}\n", "" ]); }, function(t, e, n) { var i = n(328); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp * {\n color: white;\n}\n", "" ]); }, function(t, e, n) { var i = n(330); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active {\n border: 2px solid #002966 !important;\n}\n#malp {\n margin: 10px;\n max-width: 1000px;\n}\n#malp select option {\n color: white;\n}\n", "" ]); }, function(t, e, n) { var i = n(332); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #a21e2d !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select,\na,\ninput,\nspan {\n color: #bbb !important;\n}\n#malp select option {\n color: #bbb !important;\n background-color: #161616 !important;\n}\n#servers .server ul.episodes li a.active {\n background-color: #47040c !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(334); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\nhtml #malp select option {\n color: black !important;\n background-color: white !important;\n}\nhtml.dark #malp select,\nhtml.dark a,\nhtml.dark input,\nhtml.dark span {\n color: #ccc !important;\n}\nhtml.dark #malp select option {\n color: #ccc !important;\n background-color: #111 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(336); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\ndiv#app.dark-theme a,\ndiv#app.dark-theme span,\ndiv#app.dark-theme input,\ndiv#app.dark-theme select {\n color: white !important;\n}\ndiv#app.dark-theme #malp select option {\n color: white !important;\n background-color: black !important;\n}\ndiv#app.light-theme select option {\n color: black !important;\n background-color: white !important;\n}\n#malp {\n margin: 20px;\n}\n", "" ]); }, function(t, e, n) { var i = n(338); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp a,\nselect,\ninput,\n#malTotal {\n color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(340); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #b2d1ff !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n background-color: #555;\n padding: 10px 7px 5px 7px;\n}\n#malp span {\n color: white;\n}\n#malp select > * {\n background-color: #555 !important;\n}\n#flashinfo-div {\n z-index: 99999999 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(342); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\nbody:not(.dark) .mal-sync-active {\n background-color: lightblue;\n}\nbody:not(.dark) #malp select option {\n color: black !important;\n background-color: #e7dba3 !important;\n}\nbody.dark .mal-sync-active {\n background-color: blue;\n}\nbody.dark #malp * {\n color: white !important;\n}\nbody.dark #malp select option {\n background-color: black !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(344); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n font-family: arial, helvetica, sans-serif;\n max-width: 90%;\n margin-left: 10px;\n color: white !important;\n}\n#malp a,\n#malp select,\n#malp input,\n#malp span {\n color: white !important;\n}\n#malp select option {\n color: white !important;\n background-color: black !important;\n}\n#MalData > * {\n white-space: nowrap;\n}\n#malp select,\n#malp input,\n#malp a,\n#malp #malTotalVol,\n#malp #malTotalCha {\n display: inline-block !important;\n}\n.mal-sync-active .infoept {\n background-color: #002966;\n}\n.mal-sync-active div {\n color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(346); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin-bottom: 10px;\n}\n#malp a:hover {\n color: #e3474b;\n}\n#MalData > * {\n white-space: nowrap;\n}\n#malp select,\n#malp input,\n#malp a,\n#malp #malTotalVol,\n#malp #malTotalCha {\n display: inline-block !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(348); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: white !important;\n background-color: black !important;\n}\n#malp a,\nselect,\ninput,\nspan {\n color: white !important;\n}\n.mal-sync-active {\n border-top: 2px solid #002966 !important;\n border-bottom: 2px solid #002966 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(350); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp span,\nselect,\ninput,\na {\n color: white !important;\n}\n#malp select option {\n color: white !important;\n background-color: rgba(0, 41, 102, 0.8) !important;\n}\n#malp {\n margin: 10px;\n padding: 4px 10px;\n background-color: rgba(0, 41, 102, 0.8);\n border: 2px solid #428bca !important;\n}\n#malp .info {\n background-color: transparent;\n border: none;\n}\n.mal-sync-active {\n background-color: #428bca !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(352); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#flashinfo-div {\n z-index: 100 !important;\n}\n#malp #malVolumes,\n#malp #malEpisodes,\n#malp span {\n float: none;\n display: inline-block;\n border-radius: 0;\n margin-top: 0;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(354); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #00bcd4;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n.mal-sync-active {\n background-color: inherit !important;\n}\n.mal-sync-active .da-video-tbl {\n border: solid 5px #00bcd4 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(356); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #98cff0;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin: 10px;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(358); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #204279;\n}\n#malp select option {\n background-color: inherit;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n background: inherit !important;\n}\n#malp span.MalLogin {\n background: inherit;\n}\n#malp span#MalData {\n background: inherit;\n}\n#malp {\n background: inherit;\n}\n", "" ]); }, function(t, e, n) { var i = n(360); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin-bottom: 10px;\n}\n#malp a:hover {\n color: #e3474b;\n}\n#MalData > * {\n white-space: nowrap;\n}\n#malp select,\n#malp input,\n#malp a,\n#malp #malTotalVol,\n#malp #malTotalCha {\n display: inline-block !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(362); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #428bca !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n color: #ffffff !important;\n border-top: 1px solid #ffffff;\n margin-top: 10px;\n padding-top: 10px;\n}\n#MalData,\n#MalInfo {\n border-radius: 6px;\n padding: 5px;\n background-color: rgba(0, 41, 102, 0.8) !important;\n}\n#MalData {\n border: 1px blue solid;\n}\n#MalInfo:empty {\n padding: 0 !important;\n}\n#malStatus,\n#malEpisodes,\n#malUserRating,\n#malVolumes,\n#AddMal {\n color: wheat !important;\n font-size: 13px;\n}\n#malTotalVol,\n#malTotalCha,\n#malRating,\n#malTotal,\n#malp .info {\n font-size: 13px;\n color: #ffffff !important;\n}\n#malp select option {\n color: white !important;\n background-color: rgba(0, 41, 102, 0.8) !important;\n}\n.mal-sync-active {\n border: 2px solid #428bca !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(364); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n padding: 0 10px;\n color: #ffffff !important;\n}\n#MalData,\n#MalInfo {\n border-radius: 6px;\n padding: 5px;\n background-color: rgba(0, 41, 102, 0.8) !important;\n}\n#MalData {\n border: 1px blue solid;\n}\n#MalInfo:empty {\n padding: 0 !important;\n}\n#malStatus,\n#malEpisodes,\n#malUserRating,\n#malVolumes,\n#AddMal {\n color: wheat !important;\n font-size: 13px;\n}\n#malTotalVol,\n#malTotalCha,\n#malRating,\n#malTotal,\n#malp .info {\n font-size: 13px;\n color: #ffffff !important;\n}\n#malp select option {\n color: white !important;\n background-color: rgba(0, 41, 102, 0.8) !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(366); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n#malp span {\n background: none !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(368); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(370); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #b8daff;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(372); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #c2382b;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: white;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #c2382b;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\nbody:not(.dark) .mal-sync-active {\n border: 2px solid red !important;\n background-color: inherit !important;\n}\nbody.dark .mal-sync-active {\n border: 2px solid white !important;\n background-color: inherit !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(374); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n font-size: 15px;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(376); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\nbody:not(.dark-mode) #malp select option {\n color: black !important;\n background-color: white !important;\n}\nbody.dark-mode #malp * {\n color: white;\n}\n", "" ]); }, function(t, e, n) { var i = n(378); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(380); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n padding-top: 10px;\n}\n#malp select option {\n color: white !important;\n background-color: black !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(382); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #b8daff;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#MalData select option {\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(384); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n padding: 0 22px 0;\n}\n", "" ]); }, function(t, e, n) { var i = n(386); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #b8daff;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(388); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n display: none !important;\n}\n#flashinfo-div {\n z-index: 20000 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(390); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: transparent !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin: 10px;\n}\n#MalData {\n justify-content: space-evenly !important;\n}\n#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n#malp select option {\n color: white !important;\n background-color: #222325 !important;\n}\n.mal-sync-active {\n box-shadow: 0 5px 0 #0183b5;\n}\n", "" ]); }, function(t, e, n) { var i = n(392); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #b8daff;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(394); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n display: none !important;\n}\n#flashinfo-div {\n z-index: 20000 !important;\n}\n#malp span {\n margin-right: 5px;\n}\n", "" ]); }, function(t, e, n) { var i = n(396); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #b8daff !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\nhtml#dark #malp * {\n color: white !important;\n}\nhtml#dark #malp select option {\n background-color: black !important;\n}\nhtml:not(#dark) #malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(398); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #b8daff;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(400); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(402); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black;\n background-color: white;\n}\nbody.dark #malp select option {\n color: white !important;\n background-color: #1f1f1f !important;\n}\n#malRating,\n#malStatus,\n#malEpisodes,\n#malTotal,\n#malUserRating,\n#AddMal {\n color: #1291bc !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(404); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(406); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(408); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966 !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active * {\n color: white;\n}\nbody.lightmode #malp select option {\n color: black !important;\n background-color: white !important;\n}\nbody.darkmode #malp * {\n color: white;\n}\nbody.darkmode #malp select option {\n background-color: black !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(410); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp * {\n color: white;\n}\n#malp select option {\n background-color: black !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(412); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(414); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin-bottom: 10px;\n}\n#malp a:hover {\n color: #e3474b;\n}\n#MalData > * {\n white-space: nowrap;\n}\n#malp select,\n#malp input,\n#malp a,\n#malp #malTotalVol,\n#malp #malTotalCha {\n display: inline-block !important;\n}\n#flash-div-top,\n#flashinfo-div {\n background-color: inherit !important;\n}\n#flash-div-top *,\n#flashinfo-div * {\n background-color: inherit !important;\n}\n#flash-div-top .flash > *,\n#flashinfo-div .flash > * {\n background: #323232 !important;\n}\n#malSyncProgress .ms-progress {\n background-color: #2980b9 !important;\n}\n.mal-sync-active {\n box-shadow: 0 0 0 1px red !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(416); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n background-color: white;\n}\nbody.darkmode #malp * {\n color: white;\n}\nbody.darkmode #malp select option {\n background-color: black !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(418); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #e4e4e4;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #e4e4e4;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n max-width: 1000px;\n}\n", "" ]); }, function(t, e, n) { var i = n(420); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #98cff0;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(422); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #fff;\n}\n.mal-sync-active {\n background-color: rgba(0, 137, 255, 0.3);\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #fff;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.open-info-popup.floatbutton {\n left: 40px;\n right: unset;\n background: rgba(255, 255, 255, 0.7);\n}\n#malp {\n margin: 10px;\n}\n", "" ]); }, function(t, e, n) { var i = n(424); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin-top: 5px;\n}\n#malp * {\n color: white;\n}\n", "" ]); }, function(t, e, n) { var i = n(426); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp * {\n color: white;\n}\n", "" ]); }, function(t, e, n) { var i = n(428); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #cee1ff;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp span {\n color: inherit;\n}\n#malp select > * {\n background-color: white !important;\n}\n#malp #MalData {\n flex-direction: row;\n flex-wrap: wrap;\n}\n#malp #MalData .info {\n font-weight: bold;\n}\n#malp #MalData #malStatus,\n#malp #MalData #malUserRating {\n width: initial !important;\n}\n@media only screen and (max-width: 850px) {\n #malp .MalLogin {\n width: 100%;\n }\n}\n#MalData select option {\n background-color: rgba(20, 25, 31, 0.98) !important;\n}\n.mal-sync-active {\n background-color: #0e1d35;\n}\n", "" ]); }, function(t, e, n) { var i = n(430); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n@media (max-width: 767px) {\n #malp {\n font-size: 14px;\n }\n}\n#malp span {\n color: white;\n}\n#malp select > * {\n background-color: #f8971d !important;\n color: white;\n}\n#malp #MalData {\n flex-direction: row;\n flex-wrap: wrap;\n}\n#malp #MalData .info {\n font-weight: bold;\n color: #f8971d;\n margin-right: 4px;\n}\n#malp #MalData #malStatus,\n#malp #MalData #malUserRating {\n width: initial !important;\n}\n.mal-sync-active {\n background-color: #f8971d !important;\n}\n.mal-sync-active * {\n color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(432); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(434); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp * {\n color: white;\n}\n#malp {\n margin: 0;\n padding-top: 10px;\n}\n", "" ]); }, function(t, e, n) { var i = n(436); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(438); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".mal-sync-active {\n background-color: #00d5ff !important;\n}\nbody.dark .mal-sync-active {\n color: black !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(440); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp * {\n color: white;\n}\nhtml.theme-light #malp * {\n color: black;\n}\nhtml.theme-light #malp * select option {\n color: black;\n background-color: white;\n}\n", "" ]); }, function(t, e, n) { var i = n(442); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: transparent !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n padding: 0 30px 0 40px;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n.mal-sync-active {\n box-shadow: 0 5px 0 #0183b5;\n}\n", "" ]); }, function(t, e, n) { var i = n(444); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(446); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin-left: 3px;\n margin-top: 5px;\n}\n#malp * {\n color: white;\n}\n", "" ]); }, function(t, e, n) { var i = n(448); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966 !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active * {\n color: white;\n}\nbody.lightmode #malp select option {\n color: black !important;\n background-color: white !important;\n}\nbody.darkmode #malp * {\n color: white;\n}\nbody.darkmode #malp select option {\n background-color: black !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(450); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#flashinfo-div {\n z-index: 200000 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(452); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: transparent;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active button,\nbutton.mal-sync-active {\n background-color: blue !important;\n}\n#malp * {\n color: white;\n}\n", "" ]); }, function(t, e, n) { var i = n(454); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active * {\n color: white !important;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp select option {\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(456); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(458); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #838aa0;\n}\n.mal-sync-active {\n background-color: initial;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #838aa0;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n background-color: #1b1b1b;\n margin-top: 10px;\n width: 100%;\n padding: 24px;\n margin-bottom: 0;\n height: auto !important;\n}\n#MalData > span > span.info {\n color: #fff !important;\n}\n#malp select option {\n color: #838aa0 !important;\n background-color: #171717 !important;\n}\n#malp {\n margin-block-end: 0 !important;\n margin-bottom: 0 !important;\n}\n#MALSyncheading {\n margin-top: 10px;\n}\n.mal-sync-active {\n box-shadow: inset 0 0 0 1px #98cff0 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(460); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #0e1d35;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(462); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #0e1d35;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(464); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #ccc !important;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #ccc !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#MalData span span.info {\n font-weight: bold;\n}\n#malp select option {\n background-color: #333;\n}\n", "" ]); }, function(t, e, n) { var i = n(466); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #333 !important;\n}\n.mal-sync-active {\n background-color: #98cff0;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #333 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#MalData span span.info {\n font-weight: bold;\n}\n#malp select option {\n background-color: #dfdfdf;\n}\n", "" ]); }, function(t, e, n) { var i = n(468); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #333 !important;\n}\n.mal-sync-active {\n background-color: #98cff0;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #333 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#MalData span span.info {\n font-weight: bold;\n}\n#malp select option {\n background-color: #dfdfdf;\n}\n", "" ]); }, function(t, e, n) { var i = n(470); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #98cff0;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(472); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin-top: 10px;\n}\n", "" ]); }, function(t, e, n) { var i = n(474); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active * {\n color: var(--light) !important;\n}\n.mal-sync-active:hover {\n background-color: #002966a6 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(476); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malp input {\n padding-left: 0;\n padding-right: 0;\n text-align: center;\n}\n", "" ]); }, function(t, e, n) { var i = n(478); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #b8daff;\n}\n#malp select option {\n background-color: #ffffff;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n display: inline !important;\n margin-left: 5px;\n}\n#malp #MalData {\n display: inline !important;\n}\n#malp .MalLogin {\n margin-left: 10px;\n}\n", "" ]); }, function(t, e, n) { var i = n(480); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp > span > span {\n margin-right: 5px;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n#malp {\n margin-bottom: 5px;\n}\n", "" ]); }, function(t, e, n) { var i = n(482); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#flashinfo-div,\n#flash-div-bottom,\n#flash-div-top,\n#malp > span {\n direction: ltr;\n}\n#MalData {\n flex-direction: row-reverse;\n}\n.MalLogin option {\n background: inherit !important;\n}\n.mal-sync-active {\n background-color: inherit !important;\n}\n.mal-sync-active .video-item {\n background-color: #002966;\n border-radius: 5px;\n padding: 3px 3px 5px 3px;\n}\n.mal-sync-active .video-item .video-subtitle {\n color: white;\n}\n.mal-sync-active ~ a .video-item {\n background-color: #429cc6;\n border-radius: 5px;\n padding: 3px 3px 5px 3px;\n}\n.mal-sync-active ~ a .video-item .video-subtitle {\n color: white;\n}\n.translated-box #malp #MalData span.info ~ * {\n color: #a4a3a3 !important;\n}\n.translated-box #malp #MalData span.info ~ * > * {\n color: #a4a3a3 !important;\n}\n.mal-sync-active.result-item.episode {\n background-color: #0056b3 !important;\n border-radius: 5px;\n}\n", "" ]); }, function(t, e, n) { var i = n(484); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #000000;\n}\n.mal-sync-active {\n background-color: #b2d1ff !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #000000;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n background-color: white;\n}\n#malp span {\n color: #000000;\n}\n#malp select > * {\n background-color: white !important;\n}\n#malp input[type='password'],\n#malp input[type='text'] {\n min-width: 50px;\n}\n#malStatus {\n min-width: 155px;\n flex-grow: 3;\n}\n#malUserRating {\n min-width: 140px;\n flex-grow: 3;\n}\n.MalLogin {\n display: flex !important;\n align-items: center;\n}\n.MalLogin span {\n display: flex !important;\n align-items: center;\n}\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-hide #flash-div-top {\n display: none !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(486); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp * {\n display: inline-block;\n}\n", "" ]); }, function(t, e, n) { var i = n(488); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #9b9b9b;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #9b9b9b;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active a {\n background-color: #72abff !important;\n}\n#flashinfo-div {\n z-index: 100 !important;\n}\n#malp {\n color: white;\n}\n#malp #malVolumes,\n#malp #malEpisodes {\n float: none;\n display: inline-block;\n border-radius: 0 !important;\n padding: 0 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(490); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #b8b8b8;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #222;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #b8b8b8;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n padding: 10px 15px;\n}\n#malp {\n margin: 0;\n}\n#malp span span.info {\n color: #d9d9d9 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(492); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #98cff0 !important;\n}\n#malp select option {\n background-color: #fff;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(494); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #98cff0 !important;\n}\n#malp select option {\n background-color: white;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n border: 2px solid black;\n border-radius: 10px;\n margin: 0 10px 10px;\n padding: unset;\n}\n#malthing #MALSync {\n padding: 10px 0 10px 10px;\n}\n#malthing #malp {\n display: inline-block;\n padding: 10px;\n margin: 0;\n}\n#malthing .MalLogin {\n margin-left: 10px;\n}\n#malthing #malStatus,\n#malthing #malTotal,\n#malthing #malEpisodes,\n#malthing #malUserRating,\n#malthing #malRating,\n#malthing #malVolumes,\n#malthing #malTotalVol,\n#malthing #malTotalCha,\n#malthing #AddMal {\n min-width: 10px !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(496); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.miniMAL-Fullscreen .open-info-popup.floatbutton,\n.miniMAL-hide .open-info-popup.floatbutton,\n.miniMAL-Fullscreen #flashinfo-div,\n.miniMAL-hide #flashinfo-div,\n.miniMAL-Fullscreen #flash-div-bottom,\n.miniMAL-hide #flash-div-bottom,\n.miniMAL-Fullscreen #flash-div-top,\n.miniMAL-hide #flash-div-top {\n display: none !important;\n}\n#malp {\n max-width: 700px;\n}\n", "" ]); }, function(t, e, n) { var i = n(498); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #ccc !important;\n}\n.mal-sync-active {\n background-color: #694ba1;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #ccc !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: none;\n display: inline-block;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n#malRating:hover {\n color: #694ba1 !important;\n}\n#malStatus:hover {\n color: #694ba1 !important;\n}\n#malUserRating:hover {\n color: #694ba1 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(500); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #3498db !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\nbody:not(.dark) #malp * {\n color: black !important;\n}\nbody:not(.dark) #malp option {\n background-color: white !important;\n}\nbody.dark #malp * {\n color: white !important;\n}\nbody.dark #malp input {\n background-color: black !important;\n}\n.mal-sync-active {\n background-color: #3498db !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(502); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #1292c9;\n}\n#malp select option {\n background-color: white !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n}\n#malp * {\n color: inherit;\n}\n.mal-sync-active > div {\n border: 4px solid #1292c9 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(504); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: transparent;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active div:last-child {\n border-left: 5px solid #b021b1;\n background-color: #b021b10f;\n padding-left: 5px;\n}\n#malp select,\na,\ninput,\nspan {\n color: #bbb !important;\n}\n#malp {\n max-width: 800px;\n}\n", "" ]); }, function(t, e, n) { var i = n(506); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active > * {\n background-color: var(--v-info-base) !important;\n}\n#malp {\n max-width: 900px;\n margin-top: 16px;\n margin-bottom: 0;\n}\n#malp span {\n background-color: transparent !important;\n}\n#malp select {\n -webkit-appearance: auto;\n -moz-appearance: auto;\n}\n#malp select option {\n background-color: var(--v-base-base);\n}\n#malp input {\n border-bottom: 1px solid;\n}\n@media only screen and (max-width: 1150px) {\n #malp .MalLogin {\n width: 100%;\n }\n}\n", "" ]); }, function(t, e, n) { var i = n(508); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "", "" ]); }, function(t, e, n) { var i = n(510); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #f70000;\n}\n.mal-sync-active {\n background-color: #f70000 !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #f70000;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active {\n color: white !important;\n}\n#MalData select option {\n background-color: #1c1b26 !important;\n}\n#malp {\n margin: 0;\n}\n", "" ]); }, function(t, e, n) { var i = n(512); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".MalLogin:nth-child(3),\n.MalLogin:nth-child(4) {\n width: 115px;\n}\n.MalLogin:nth-child(3) span:nth-child(2),\n.MalLogin:nth-child(4) span:nth-child(2) {\n line-height: 2.8;\n}\n.MalLogin:nth-child(3) span:nth-child(2) input,\n.MalLogin:nth-child(4) span:nth-child(2) input {\n width: 70px !important;\n float: left;\n margin-right: 5px;\n}\n.MalLogin .info {\n width: 100%;\n display: block;\n}\n.mal-sync-active {\n border: 3px solid blue !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(514); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp span,\nselect,\ninput,\na {\n color: white !important;\n}\n#malp select option {\n color: white !important;\n background-color: black !important;\n}\n#malp {\n padding: 4px 10px;\n border: 2px solid #667ac1 !important;\n background-color: #23262e;\n}\n#malp .info {\n background-color: transparent;\n border: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(516); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #b8b8b8;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #222;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #b8b8b8;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n padding: 10px 15px;\n}\n#malp {\n margin: 0;\n}\n#malp span span.info {\n color: #d9d9d9 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(518); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #ffffff;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #ffffff;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp span,\nselect,\ninput,\na {\n color: #ffffff !important;\n}\n#malp select option {\n color: #ffffff !important;\n background-color: var(--fs-episodes-series-desc-background) !important;\n}\n#malp {\n width: 100%;\n padding: 4px 10px;\n border: 2px solid var(--fs-episodes-border-color) !important;\n border-radius: 11px;\n background-color: var(--fs-episodes-series-desc-background) !important;\n}\n#malp .info {\n background-color: transparent;\n border: none;\n}\n.mal-sync-active {\n background-color: var(--fs-malsync-watched-bg) !important;\n border-color: var(--fs-malsync-watched) !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(520); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white !important;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n padding: 1em 1.3em;\n}\n.open-info-popup.floatbutton {\n bottom: 100px !important;\n}\n.mal-sync-active {\n background-color: transparent;\n border-left: 5px solid #002966;\n padding-left: 5px;\n}\n", "" ]); }, function(t, e, n) { var i = n(522); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: initial;\n}\n#malp select option {\n background-color: inherit;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n background-color: inherit;\n margin: 0;\n}\n#malp #malStatus,\n#malp #malTotal,\n#malp #malEpisodes,\n#malp #malUserRating,\n#malp #malRating,\n#malp #malVolumes,\n#malp #malTotalVol,\n#malp #malTotalCha,\n#malp #AddMal {\n background-color: inherit !important;\n}\n#malp span#MalData {\n background-color: inherit;\n}\n#malp span.MalLogin {\n background-color: inherit;\n}\n.mal-sync-active {\n box-shadow: inset 0 0 0 2px #98cff0 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(524); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "", "" ]); }, function(t, e, n) { var i = n(526); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active * {\n color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(528); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp .MalLogin span:last-child,\n#malp .MalLogin select:last-child {\n color: white;\n}\n#MalData .info {\n color: white;\n}\n#MalData select option {\n background-color: #121420 !important;\n}\n.mal-sync-active {\n background-color: #cc2a52 !important;\n}\n#malStatus,\n#malUserRating,\n#malRating,\n#AddMal {\n color: white;\n}\n.rounded {\n border-radius: 4px;\n}\n#malp {\n margin: 0;\n}\n#malp .MalLogin span:last-child,\n#malp .MalLogin select:last-child {\n margin-left: 2rem;\n}\n#malp select > * {\n background-color: white !important;\n}\n#malp #MalData {\n flex-flow: column;\n flex-direction: row !important;\n}\n#malp #MalData .info {\n font-weight: bold;\n float: left;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n#malp #MalData #malStatus,\n#malp #MalData #malUserRating,\n#malp #MalData #malRating {\n width: initial !important;\n margin-left: 2rem;\n}\n", "" ]); }, function(t, e, n) { var i = n(530); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: inherit;\n}\n.mal-sync-active {\n background-color: #cee1ff;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: inherit;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp {\n margin: 0;\n}\n#malp span {\n color: inherit;\n}\n#malp select > * {\n background-color: white !important;\n}\n.strong {\n font-weight: bold;\n}\n@media only screen and (max-width: 1440px) {\n #malp .MalLogin {\n width: 100%;\n }\n}\n#MalData select option {\n background-color: white !important;\n}\n.mal-sync-active {\n background-color: #82af42;\n}\n.mal-sync-active * {\n color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(532); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n background-color: var(--color-000) !important;\n}\n#malp {\n margin-top: 2.4rem;\n}\n#malp * {\n color: var(--color-900) !important;\n}\n.mal-sync-active * {\n color: white !important;\n background-color: #002966 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(534); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #0e1d35;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(536); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #0e1d35;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(538); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #0e1d35;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(540); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #0e1d35;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(542); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #b8b8b8;\n}\n.mal-sync-active {\n background-color: #002966 !important;\n}\n#malp select option {\n background-color: #222;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #b8b8b8;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n padding: 10px 15px;\n}\n#malp {\n margin: 0;\n}\n#malp span span.info {\n color: #d9d9d9 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(544); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: #888 !important;\n}\n.mal-sync-active {\n background-color: #0e1d35;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: #888 !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malthing {\n margin-bottom: 38px;\n}\n#malp * {\n float: left;\n margin-right: 5px;\n}\n#malp #MalInfo {\n float: none;\n display: flex;\n}\n#malp #MalData {\n float: none;\n}\n#malp select option {\n background-color: #fff !important;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n line-height: normal;\n inline-size: auto;\n}\n#malp #malTotalVol,\n#malp #malTotalCha {\n float: none;\n}\n", "" ]); }, function(t, e, n) { var i = n(546); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n.mal-sync-active {\n background-color: #002966 !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(548); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: lightblue !important;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n color: black !important;\n background-color: white !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(550); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: white !important;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: white !important;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n", "" ]); }, function(t, e, n) { var i = n(552); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "#malStatus,\n#malTotal,\n#malEpisodes,\n#malUserRating,\n#malRating,\n#malVolumes,\n#malTotalVol,\n#malTotalCha,\n#AddMal {\n color: black;\n}\n.mal-sync-active {\n background-color: #002966;\n}\n#malp select option {\n background-color: #111111;\n}\n#malp #malStatus,\n#malp #malUserRating,\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n font-size: inherit;\n font-family: inherit;\n background: transparent;\n border-color: grey;\n text-decoration: none;\n outline: medium none;\n border-width: 0;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: 1;\n}\n#malp #malEpisodes,\n#malp #malVolumes,\n#malp #malEpisodes {\n text-align: center;\n border-bottom-width: 1px;\n}\n#malp #malEpisodes:focus,\n#malp #malVolumes:focus,\n#malp #malEpisodes:focus {\n border-color: black;\n}\n#malSyncProgress.ms-loading {\n height: 4px;\n width: 100%;\n position: relative;\n overflow: hidden;\n background-color: #ddd;\n}\n#malSyncProgress.ms-loading::before {\n display: block;\n position: absolute;\n content: '';\n left: -200px;\n width: 200px;\n height: 4px;\n background-color: #2980b9;\n animation: loading 2s linear infinite;\n}\n@keyframes loading {\n from {\n left: -200px;\n width: 30%;\n }\n 50% {\n width: 30%;\n }\n 70% {\n width: 70%;\n }\n 80% {\n left: 50%;\n }\n 95% {\n left: 120%;\n }\n to {\n left: 100%;\n }\n}\n#malSyncProgress.ms-done .ms-progress {\n width: 100% !important;\n background-color: #ff4081 !important;\n transition: background-color 1s !important;\n}\n#malp select option {\n background-color: #fff;\n}\n", "" ]); }, function(t, e, n) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }), e.buildDirective = void 0; var i = n(89); e.buildDirective = function(t) { void 0 === t && (t = {}), function(t) { var e, n = t.hooks; for (e in n) i.addHook(e, n[e]); }(t); var e = function(e, n) { if (n.oldValue !== n.value) { var a = n.arg, o = t.namedConfigurations; o && void 0 !== o[a] ? e.innerHTML = i.sanitize(n.value, o[a]) : e.innerHTML = i.sanitize(n.value, t.default); } }; return { inserted: e, update: e }; }; }, function(t, e, n) { "use strict"; var i = n(54); n.n(i).a; }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".info[data-v-4b3e3631] {\n height: 0;\n padding: 0;\n margin: 0;\n}\n", "" ]); }, function(t, e, n) { "use strict"; var i = n(56); n.n(i).a; }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".mdl-textfield__input[data-v-29cae25a] {\n text-align: right;\n}\n.mdl-textfield__input[data-v-29cae25a]:focus {\n border-bottom: 1px solid green;\n}\n.mdl-textfield__input.rec[data-v-29cae25a] {\n border-bottom: 1px solid red;\n}\n.mdl-textfield__input.tempRec[data-v-29cae25a] {\n border-bottom: 1px solid orange;\n}\n.mdl-textfield[data-v-29cae25a] {\n width: auto;\n padding: 0;\n}\n.close-icon[data-v-29cae25a] {\n vertical-align: middle;\n margin-bottom: 3px;\n cursor: pointer;\n}\n.mdl-list__item-secondary-action[data-v-29cae25a] {\n display: flex;\n align-items: center;\n}\n", "" ]); }, function(t, e, n) { "use strict"; var i = n(58); n.n(i).a; }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".material-icons[data-v-50365ef6] {\n margin-left: 5px;\n}\n.material-icons.wrong[data-v-50365ef6] {\n color: red;\n cursor: pointer;\n}\n", "" ]); }, function(t, e, n) { "use strict"; var i = n(75); n.n(i).a; }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, ".mdl-textfield__input[data-v-40f53714]:focus {\n border-bottom: 1px solid green;\n}\n.mdl-textfield__input.error[data-v-40f53714] {\n border-bottom: 1px solid red;\n}\n.mdl-textfield__input.tempRec[data-v-40f53714] {\n border-bottom: 1px solid orange;\n}\n", "" ]); }, function(t, e, n) { var i = n(563); t.exports = "string" == typeof i ? i : i.toString(); }, function(t, e, n) { (t.exports = n(3)(!1)).push([ t.i, "body::-webkit-scrollbar {\n display: none !important;\n}\n#material .mdl-card__supporting-text {\n width: initial;\n}\n.mdl-layout__header .mdl-textfield__label::after {\n background-color: red !important;\n}\n#fixed-tab-1 .loading,\n#fixed-tab-1 .loaded {\n -o-transition: opacity 0.3s linear;\n -moz-transition: opacity 0.3s linear;\n -webkit-transition: opacity 0.3s linear;\n transition: opacity 0.3s linear;\n}\n#fixed-tab-1 .loading {\n opacity: 0.5;\n}\n#fixed-tab-1 .loaded {\n opacity: 1;\n}\n@media (min-width: 840px) {\n #fixed-tab-1 .stats-block > ul {\n justify-content: left !important;\n }\n}\n.alternative-list .mdl-list {\n max-width: 100%;\n margin: 0;\n padding: 0;\n}\n.alternative-list .mdl-list__item {\n height: auto;\n}\n.alternative-list .mdl-list__item-primary-content {\n height: auto !important;\n}\n.alternative-list .mdl-list__item-primary-content a {\n display: inline-block;\n}\n.alternative-list .mdl-list__item-text-body {\n height: auto !important;\n}\n.coverinfo .mdl-chip {\n height: auto;\n}\n.coverinfo .mdl-chip .mdl-chip__text {\n white-space: normal;\n line-height: 24px;\n}\n.ep-increment {\n vertical-align: middle;\n font-size: 16px;\n background-color: #3f51b5;\n border-radius: 50%;\n margin-left: 5px;\n margin-bottom: 3px;\n cursor: pointer;\n user-select: none;\n}\n.mdl-layout__container {\n background-color: white;\n}\n.mdl-layout {\n max-width: 1385px;\n margin-left: auto;\n margin-right: auto;\n position: relative;\n background-color: #f9f9f9;\n}\n.mdl-layout__content {\n scrollbar-width: thin;\n}\n.mdl-layout__content::-webkit-scrollbar {\n width: 10px !important;\n background-color: #f5f5f5;\n}\n.mdl-layout__content::-webkit-scrollbar-thumb {\n background-color: #c1c1c1 !important;\n}\na {\n text-decoration: none;\n}\n.mdl-layout__tab-panel a:hover {\n text-decoration: underline;\n}\n.bg-cell {\n background-color: #fefefe;\n}\n#material.simple-header .mdl-layout__header .mdl-layout__tab-bar-container {\n display: none;\n}\n.newEp {\n position: absolute;\n background-color: #dedede;\n height: 25px;\n width: 29px;\n top: 3px;\n right: -4px;\n background-repeat: no-repeat;\n background-position: 4px 3px;\n background-image: url(https://github.com/google/material-design-icons/blob/master/social/1x_web/ic_notifications_none_black_18dp.png?raw=true);\n}\n.searchItem {\n text-decoration: none !important;\n color: black;\n}\n#material .mdl-layout__drawer-button {\n background-color: transparent;\n}\n#material .mdl-layout__drawer-button:hover {\n background-color: rgba(158, 158, 158, 0.2);\n}\n#material .mdl-layout__tab-bar {\n background-color: transparent;\n}\n#material .mdl-layout__tab {\n cursor: pointer;\n}\n#material.settings-only .mdl-layout__header .mdl-layout__tab-bar-container,\n#material.pop-over .mdl-layout__header .mdl-layout__tab-bar-container {\n display: none;\n}\n#material.settings-only #fixed-tab-5.mdl-layout__tab-panel {\n display: block !important;\n}\n#characterList .loading {\n background-color: #cdcdcd;\n min-height: 196px;\n}\n.malImage.loading {\n background-color: #cdcdcd;\n padding-bottom: 133.33%;\n}\n[mode='window'] body {\n overflow: hidden;\n}\n#Mal-Sync-Popup #material-fullscreen {\n display: none !important;\n}\n#Mal-Sync-Popup .settings-only #book.open .bookIcon {\n display: none;\n}\n#Mal-Sync-Popup .settings-only #book.open .settingsIcon {\n display: block !important;\n}\n#material a.button_edit {\n text-decoration: none;\n background-color: #efefef;\n border-bottom: 1px solid #ebebeb;\n font-size: 10px;\n line-height: 1em;\n margin: 0;\n opacity: 1;\n padding: 2px 4px;\n -webkit-transition-duration: 0.3s;\n transition-duration: 0.3s;\n -webkit-transition-property: all;\n transition-property: all;\n -webkit-transition-timing-function: ease-in-out;\n transition-timing-function: ease-in-out;\n display: inline-block;\n font-family: Avenir, lucida grande, tahoma, verdana, arial, sans-serif;\n height: 9px;\n}\n#material a.button_edit.reading,\n#material a.button_edit.watching {\n background-color: #2db039;\n color: #fff;\n}\n#material a.button_edit.reading:hover,\n#material a.button_edit.watching:hover {\n opacity: 0.7;\n}\n#material a.button_edit.plantoread,\n#material a.button_edit.plantowatch {\n background-color: #c3c3c3;\n color: #fff;\n}\n#material a.button_edit.plantoread:hover,\n#material a.button_edit.plantowatch:hover {\n opacity: 0.7;\n}\n#material a.button_edit.completed {\n background-color: #26448f;\n color: #fff;\n}\n#material a.button_edit.completed:hover {\n opacity: 0.7;\n}\n#material a.button_edit.on-hold {\n background-color: #f1c83e;\n color: #fff;\n}\n#material a.button_edit.dropped {\n background-color: #a12f31;\n color: #fff;\n}\n#material a.button_edit.dropped:hover {\n opacity: 0.7;\n}\n#material #contributer {\n padding: 15px;\n padding-bottom: 0;\n}\n#material #contributer .group {\n display: none;\n text-transform: uppercase;\n font-size: 12px;\n padding: 5px 0;\n font-weight: bold;\n color: #707070;\n opacity: 0;\n -webkit-transition: 1s;\n -o-transition: 1s;\n transition: 1s;\n}\n#material #contributer .user {\n height: 40px;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n}\n#material #contributer .user .image {\n position: relative;\n vertical-align: middle !important;\n display: inline-block;\n height: 32px;\n width: 32px;\n margin-right: 10px;\n border-radius: 50%;\n overflow: hidden;\n border: 1px solid #e0e0e0;\n}\n#material #contributer .user .image .gif {\n position: absolute;\n display: none;\n}\n#material #contributer .user .text {\n vertical-align: middle !important;\n display: none;\n line-height: 100%;\n}\n#material #contributer .user.pop .image {\n background-color: #3f51b5;\n}\n#material #contributer .discord {\n display: none;\n}\n#material #contributer .inline-block {\n display: inline-block;\n}\n#material #contributer.open {\n padding-bottom: 15px;\n}\n#material #contributer.open .group {\n opacity: 1;\n display: block;\n}\n#material #contributer.open .user {\n display: block;\n}\n#material #contributer.open .user .image .gif {\n display: block;\n}\n#material #contributer.open .user .text {\n display: inline-block;\n}\n#material #contributer.open .user.pop {\n display: none;\n}\n#material #contributer.open .discord {\n display: block;\n}\n#material #contributer.open .inline-block {\n display: block;\n}\n.pr-bar .bar-tab {\n position: absolute;\n right: -12px;\n bottom: -22px;\n color: inherit;\n}\n#offsetUi {\n display: flex;\n justify-content: space-around;\n}\n#offsetUi .offsetBox {\n text-align: center;\n min-width: 40px;\n}\n#offsetUi .offsetBox .top {\n padding: 5px 10px;\n}\n#offsetUi .offsetBox .bottom {\n padding: 5px 10px;\n}\n#malList .mdl-menu__container {\n margin-right: 16px;\n}\n#malList .mdl-menu__container .mdl-menu__item.active {\n color: #3f51b5;\n}\ntable#malList {\n margin-bottom: 50px;\n}\ntable#malList tr .imageTd .loaded::after {\n content: '';\n background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.67) 100%);\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\ntable#malList tr:hover .imageTd {\n overflow: visible !important;\n z-index: 2;\n left: -8px !important;\n right: -8px !important;\n}\ntable#malList tr:hover .imageTd .loaded::after {\n display: none;\n}\n.flagIcon {\n height: 30px;\n width: 40px;\n margin: 5px;\n background-color: #cdcdcd;\n position: relative;\n display: inline-block;\n overflow: hidden;\n}\n.flagIcon .flagCountry {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n text-align: center;\n}\n.flagIcon .flagText {\n position: absolute;\n top: auto;\n left: 0;\n padding: 3px;\n background-color: #3f51b5;\n font-size: 10px;\n bottom: 0;\n line-height: 1;\n color: white;\n}\n.flagIcon .flagflag {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n}\n.mdl-chip__contact {\n width: auto;\n min-width: 22px;\n padding-left: 5px;\n padding-right: 5px;\n}\n#quicklinkedit .quicklinks {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 15px;\n}\n#quicklinkedit .quicklinks .quicklink {\n opacity: 0.5;\n font-size: 13px;\n cursor: pointer;\n}\n#quicklinkedit .quicklinks .quicklink.active {\n opacity: 1;\n}\n#quicklinkedit .quicklinks .quicklink.home {\n background-color: #ff6767;\n}\n#quicklinkedit .quicklinks .quicklink.search {\n background-color: #eeee9c;\n}\n#quicklinkedit .quicklinks .quicklink.database {\n background-color: #90e963;\n}\n#quicklinkedit .quicklinks .quicklink.custom {\n background-color: white;\n}\n#quicklinkedit .darkbox {\n background-color: #0000002b;\n padding: 5px;\n}\n#quicklinkedit td {\n padding: 7px 2px;\n}\n#quicklinkoverview {\n cursor: pointer;\n}\n#quicklinkoverview .quicklinks {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 5px;\n}\n#quicklinkoverview .quicklinks .quicklink {\n font-size: 13px;\n background-color: #dedede40;\n}\n.backbutton-settings {\n padding: 15px 20px;\n display: flex;\n align-items: center;\n font-size: 20px;\n cursor: pointer;\n}\n.backbutton-settings .material-icons {\n margin-right: 10px;\n}\n#material.dark p,\n#material.serial p {\n color: #ffffff !important;\n}\n#material.dark .mdl-layout__header,\n#material.serial .mdl-layout__header {\n background-color: #212121;\n}\n#material.dark .mdl-layout__container,\n#material.serial .mdl-layout__container {\n background-color: #2b2b2b;\n}\n#material.dark .mdl-layout__content,\n#material.serial .mdl-layout__content {\n background-color: #212121;\n}\n#material.dark .mdl-layout__content a,\n#material.serial .mdl-layout__content a {\n color: #f43b7a;\n}\n#material.dark #malList .mdl-cell div.mdl-shadow--2dp,\n#material.serial #malList .mdl-cell div.mdl-shadow--2dp {\n background-color: #3b3b3be6 !important;\n}\n#material.dark #malList .mdl-cell div span,\n#material.serial #malList .mdl-cell div span {\n background-color: #3b3b3be6 !important;\n}\n#material.dark #malList .mdl-cell div span a,\n#material.serial #malList .mdl-cell div span a {\n color: #ffffff !important;\n}\n#material.dark #malList .mdl-menu__container .mdl-menu,\n#material.serial #malList .mdl-menu__container .mdl-menu {\n background-color: #3b3b3b;\n color: white;\n}\n#material.dark #malList .mdl-menu__container .mdl-menu .mdl-menu__item,\n#material.serial #malList .mdl-menu__container .mdl-menu .mdl-menu__item {\n color: white;\n}\n#material.dark #malList .mdl-menu__container .mdl-menu .mdl-menu__item:active,\n#material.serial #malList .mdl-menu__container .mdl-menu .mdl-menu__item:active,\n#material.dark #malList .mdl-menu__container .mdl-menu .mdl-menu__item:hover,\n#material.serial #malList .mdl-menu__container .mdl-menu .mdl-menu__item:hover {\n background-color: #212121;\n}\n#material.dark #malList .mdl-menu__container .mdl-menu .mdl-menu__item.active,\n#material.serial #malList .mdl-menu__container .mdl-menu .mdl-menu__item.active {\n color: #f43b7a;\n}\n#material.dark #malReviews .lightLink,\n#material.serial #malReviews .lightLink {\n color: white;\n}\n#material.dark .bg-cell,\n#material.serial .bg-cell {\n background-color: #3b3b3b;\n}\n#material.dark .bg-cell .mdl-chip__text,\n#material.serial .bg-cell .mdl-chip__text {\n background-color: #dedede !important;\n}\n#material.dark .bg-cell .mdl-card__supporting-text,\n#material.serial .bg-cell .mdl-card__supporting-text {\n color: #ffffff !important;\n}\n#material.dark .bg-cell .mdl-card__title-text,\n#material.serial .bg-cell .mdl-card__title-text {\n color: #ffffff !important;\n}\n#material.dark .bg-cell.mdl-data-table,\n#material.serial .bg-cell.mdl-data-table {\n color: #ffffff !important;\n}\n#material.dark .bg-cell.mdl-data-table tbody tr:hover,\n#material.serial .bg-cell.mdl-data-table tbody tr:hover {\n background-color: #393939;\n}\n#material.dark .bg-cell.mdl-data-table .mdl-progress,\n#material.serial .bg-cell.mdl-data-table .mdl-progress {\n opacity: 1 !important;\n}\n#material.dark .bg-cell li,\n#material.serial .bg-cell li {\n color: #ffffff !important;\n}\n#material.dark .bg-cell li span,\n#material.serial .bg-cell li span {\n color: #ffffff !important;\n}\n#material.dark .bg-cell div.data.title,\n#material.serial .bg-cell div.data.title {\n background-color: #3b3b3b !important;\n}\n#material.dark div.mdl-grid,\n#material.serial div.mdl-grid {\n color: #ffffff;\n}\n#material.dark div.mdl-grid #updateCheckAgo,\n#material.serial div.mdl-grid #updateCheckAgo {\n color: #ffffff !important;\n}\n#material.dark #malNotOnMal,\n#material.serial #malNotOnMal {\n background-color: #ffffff;\n}\n#material.dark .mdl-textfield__input,\n#material.serial .mdl-textfield__input {\n background-color: #3b3b3b !important;\n}\n#material.dark .mdl-layout__content::-webkit-scrollbar,\n#material.serial .mdl-layout__content::-webkit-scrollbar {\n background-color: #3b3b3b;\n}\n#material.dark .mdl-layout__content::-webkit-scrollbar-thumb,\n#material.serial .mdl-layout__content::-webkit-scrollbar-thumb {\n background-color: #ffffff !important;\n}\n#material.dark .mdl-layout__content,\n#material.serial .mdl-layout__content {\n scrollbar-color: #ffffff #3b3b3b;\n}\n#material.dark .mdl-progress .bufferbar,\n#material.serial .mdl-progress .bufferbar {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), linear-gradient(to right, #4c61d6, #4c61d6);\n}\n#material.dark .mdl-progress .auxbar,\n#material.serial .mdl-progress .auxbar {\n visibility: hidden !important;\n}\n#material.dark .mdl-switch.is-checked .mdl-switch__thumb,\n#material.serial .mdl-switch.is-checked .mdl-switch__thumb {\n background-color: #4c61d6;\n}\n#material.dark .mdl-switch.is-checked .mdl-switch__track,\n#material.serial .mdl-switch.is-checked .mdl-switch__track {\n background-color: #6e7fdd;\n}\n#material.dark .mdl-layout.is-upgraded .mdl-layout__tab.is-active::after,\n#material.serial .mdl-layout.is-upgraded .mdl-layout__tab.is-active::after {\n background-color: #f43b7a !important;\n}\n#material.dark .mdl-layout__content a:not(table .mdl-data-table),\n#material.serial .mdl-layout__content a:not(table .mdl-data-table) {\n color: #f43b7a !important;\n}\n#material.dark .mdl-textfield__label,\n#material.serial .mdl-textfield__label {\n color: #f43b7a;\n}\n#material.dark .mdl-textfield,\n#material.serial .mdl-textfield {\n color: #ffffff;\n}\n#material.dark .mdl-textfield .mdl-textfield__label,\n#material.serial .mdl-textfield .mdl-textfield__label {\n color: #f43b7a !important;\n}\n#material.dark .mdl-textfield .mdl-textfield__label::after,\n#material.serial .mdl-textfield .mdl-textfield__label::after {\n background-color: #f43b7a;\n}\n#material.dark #characterList .loading,\n#material.serial #characterList .loading {\n background-color: #212121;\n}\n#material.dark .malImage.loading,\n#material.serial .malImage.loading {\n background-color: #212121;\n}\n#material.dark .searchItem,\n#material.serial .searchItem {\n color: #ffffff;\n}\n#material.dark .discord div:not(.loaded),\n#material.serial .discord div:not(.loaded) {\n background-image: -webkit-linear-gradient(top, #3b3b3b 0%, #738bd7 74%) !important;\n}\n#material.dark div .history h3,\n#material.serial div .history h3 {\n color: #ffffff;\n}\n#material.dark div .history a,\n#material.serial div .history a {\n color: #f43b7a !important;\n}\n@keyframes flicker {\n 0% {\n opacity: 0.27861;\n }\n 5% {\n opacity: 0.34769;\n }\n 10% {\n opacity: 0.23604;\n }\n 15% {\n opacity: 0.90626;\n }\n 20% {\n opacity: 0.18128;\n }\n 25% {\n opacity: 0.83891;\n }\n 30% {\n opacity: 0.65583;\n }\n 35% {\n opacity: 0.67807;\n }\n 40% {\n opacity: 0.26559;\n }\n 45% {\n opacity: 0.84693;\n }\n 50% {\n opacity: 0.96019;\n }\n 55% {\n opacity: 0.08594;\n }\n 60% {\n opacity: 0.20313;\n }\n 65% {\n opacity: 0.71988;\n }\n 70% {\n opacity: 0.53455;\n }\n 75% {\n opacity: 0.37288;\n }\n 80% {\n opacity: 0.71428;\n }\n 85% {\n opacity: 0.70419;\n }\n 90% {\n opacity: 0.7003;\n }\n 95% {\n opacity: 0.36108;\n }\n 100% {\n opacity: 0.24387;\n }\n}\n@keyframes fadein {\n 0% {\n box-shadow: 0 0 2px 0 #bddbe040;\n filter: brightness(30);\n opacity: 0.1;\n }\n 2% {\n -webkit-filter: contrast(0) brightness(0);\n filter: contrast(0) brightness(0);\n opacity: 0;\n }\n 40% {\n filter: contrast(1) brightness(1.1) saturate(1.1);\n opacity: 1;\n }\n 100% {\n filter: contrast(1) brightness(1) saturate(1);\n opacity: 1;\n }\n}\n#material.serial .mdl-layout__header {\n box-shadow: 0 0 10px 0 #bddbe04f;\n}\n#material.serial .bg-cell,\n#material.serial .bookEntry,\n#material.serial #malList select {\n position: relative;\n border-radius: 7px;\n overflow: hidden;\n box-shadow: 0 0 10px 0 #bddbe040;\n animation: fadein 2s;\n}\n#material.serial .bg-cell::after,\n#material.serial .bookEntry::after,\n#material.serial #malList select::after {\n content: ' ';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: rgba(18, 16, 16, 0.03);\n opacity: 0;\n z-index: 99;\n pointer-events: none;\n animation: flicker 1.15s infinite;\n}\n#material.serial .mdl-layout {\n filter: contrast(130%);\n}\n#material.serial .mdl-layout__content::-webkit-scrollbar-thumb {\n box-shadow: 0 0 31px 24px #feffff;\n}\n#material.serial .mdl-layout__content::-webkit-scrollbar {\n background-color: transparent !important;\n}\n#material.serial img {\n filter: contrast(130%);\n background-blend-mode: screen, difference, lighten;\n}\n#material.serial .mdl-layout__header {\n position: relative;\n border-radius: 0;\n}\n#material.serial .mdl-layout__header::before {\n filter: saturate(2);\n content: '';\n position: absolute;\n background-image: url(https://i.imgur.com/U1DCaLV.gif);\n background-size: cover;\n top: -209px;\n left: 0;\n right: 0;\n bottom: 0;\n}\n#material.serial::after {\n content: ' ';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.5) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.12), rgba(0, 255, 0, 0.04), rgba(0, 0, 255, 0.12));\n z-index: 99;\n background-size: 100% 3px, 3px 100%;\n pointer-events: none;\n opacity: 0.4;\n}\n@keyframes turn-off {\n 100% {\n transform: scale(1, 1) translate3d(0, 0, 0);\n -webkit-filter: brightness(1);\n filter: brightness(1);\n opacity: 1;\n }\n 80% {\n transform: scale(1, 1.3) translate3d(0, 0, 0);\n -webkit-filter: brightness(1);\n filter: brightness(1);\n opacity: 1;\n }\n 40% {\n transform: scale(1.3, 0.001) translate3d(0, 0, 0);\n -webkit-filter: brightness(10);\n filter: brightness(10);\n }\n 0% {\n animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);\n transform: scale(0, 0.0001) translate3d(0, 0, 0);\n -webkit-filter: brightness(50);\n filter: brightness(50);\n }\n}\n#cr #material.serial .mdl-layout__container {\n background-color: black;\n}\n#cr #material.serial .mdl-layout__container .mdl-layout {\n animation: turn-off 1s linear;\n animation-fill-mode: backwards;\n}\n", "" ]); } ]);