From ecb7c32459d3ed3e221f3a3bdd32ca998f7fcc9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Miguel=20Cruz=20Cana?= Date: Sat, 2 Dec 2023 21:41:46 +0100 Subject: [PATCH] Release 1.0.25 --- assets/data/bookmarks.json | 54 +++++++++++------ assets/i18n/en-us.json | 38 ++++++------ assets/i18n/es-es.json | 37 ++++++------ manifest.json | 11 ++-- package.json | 29 --------- src/modules/background/background.js | 12 ++-- src/modules/bookmarks/bookmarks.css | 4 +- src/modules/bookmarks/bookmarks.js | 90 ++++++++++++++++++++-------- src/modules/i18n/i18n.service.js | 5 +- src/modules/options/options.css | 4 +- src/modules/options/options.html | 29 ++++++--- vendor/jquery/jquery.min.js | 4 +- 12 files changed, 179 insertions(+), 138 deletions(-) delete mode 100644 package.json diff --git a/assets/data/bookmarks.json b/assets/data/bookmarks.json index cfea647..952f6b8 100644 --- a/assets/data/bookmarks.json +++ b/assets/data/bookmarks.json @@ -193,7 +193,7 @@ "garuda": { "element": "wind", "url": "/#quest/supporter/301381/1/0/1343" }, "odin": { "element": "light", "url": "/#quest/supporter/300461/1/0/1353" }, "lich": { "element": "dark", "url": "/#quest/supporter/300551/1/0/1363" }, - "pro": {"url": "/#quest/supporter/305471/28"} + "pro": { "url": "/#quest/supporter/305471/28" } } }, "raids_s_4": { @@ -235,7 +235,8 @@ "alexiel": { "element": "earth", "url": "/#quest/supporter/303171/1/0/524" }, "grimnir": { "element": "wind", "url": "/#quest/supporter/303181/1/0/525" }, "metatron": { "element": "light", "url": "/#quest/supporter/303191/1/0/526" }, - "avatar": { "element": "dark", "url": "/#quest/supporter/303221/1/0/527" } + "avatar": { "element": "dark", "url": "/#quest/supporter/303221/1/0/527" }, + "rose_queen": { "element": "wind", "url": "/#quest/supporter/300471/1/0/1204" } } }, "raids_i_2b": { @@ -250,18 +251,30 @@ }, "raids_i_3": { "children": { - "tiamat_malice_wind": { "element": "wind", "url": "/#quest/supporter/303241/1/0/104" }, - "leviathan_malice_water": { "element": "water", "url": "/#quest/supporter/305151/1/0/102" }, - "phronesis_earth": { "element": "earth", "url": "/#quest/supporter/305251/1/0/103" }, - "tiamat_malice_dark": { "element": "wind", "url": "/#quest/supporter/303241/1/0/106" }, - "leviathan_malice_fire": { "element": "water", "url": "/#quest/supporter/305151/1/0/101" }, - "phronesis_water": { "element": "earth", "url": "/#quest/supporter/305251/1/0/102" }, - "luminiera_light": { "element": "light", "url": "/#quest/supporter/305271/1/0/105" }, - "animus_dark": { "element": "dark", "url": "/#quest/supporter/305291/1/0/106", "title": "animus_full" }, - "_": null, - "luminiera_water": { "element": "light", "url": "/#quest/supporter/305271/1/0/102" }, - "animus_earth": { "element": "dark", "url": "/#quest/supporter/305291/1/0/103", "title": "animus_full" }, - "__": null + "tiamat_malice": { "element": "wind", "urls": [ + { "element": "wind", "url": "/#quest/supporter/303241/1/0/104" }, + { "element": "dark", "url": "/#quest/supporter/303241/1/0/106" } + ]}, + "leviathan_malice": { "element": "water", "urls": [ + { "element": "water", "url": "/#quest/supporter/305151/1/0/102" }, + { "element": "fire", "url": "/#quest/supporter/305151/1/0/101" } + ]}, + "phronesis": { "element": "earth", "urls": [ + { "element": "earth", "url": "/#quest/supporter/305251/1/0/103" }, + { "element": "water", "url": "/#quest/supporter/305251/1/0/102" } + ]}, + "luminiera": { "element": "light", "urls": [ + { "element": "light", "url": "/#quest/supporter/305271/1/0/105" }, + { "element": "water", "url": "/#quest/supporter/305271/1/0/102" } + ]}, + "anima_animus": { "element": "dark", "title": "anima_animus_full", "urls": [ + { "element": "dark", "url": "/#quest/supporter/305291/1/0/106" }, + { "element": "earth", "url": "/#quest/supporter/305291/1/0/103" } + ]}, + "legion_void": { "element": "fire", "urls": [ + { "element": "fire", "url": "" }, + { "element": "wind", "url": "" } + ]} } }, "raids_i_4": { @@ -287,13 +300,14 @@ "proto_bahamut": { "element": "dark", "url": "/#quest/supporter/301061/1/0/59" }, "akasha": { "element": "light", "url": "/#quest/supporter/303251/1/0/533" }, "grand_order": { "element": "light", "url": "/#quest/supporter/305181/1/0/533" }, - "ultimate_bahamut": { "url": "/#quest/supporter/303141/1/0/136", "title": "ultimate_bahamut_full" } + "ultimate_bahamut": { "title": "ultimate_bahamut_full", "url": "/#quest/supporter/303141/1/0/136" } } }, "raids_i_7": { "children": { - "lucilius": { "element": "dark", "url": "/#quest/supporter/303281/1/0/537" }, - "beelzebub": { "element": "dark", "url": "/#quest/supporter/305181/1/0/533" } + "lucilius": { "url": "/#quest/supporter/303281/1/0/537" }, + "beelzebub": { "url": "/#quest/supporter/305181/1/0/533" }, + "belial": {"url": "" } } }, "raids_i_8a": { @@ -302,13 +316,15 @@ "diaspora": { "element": "water", "url": "/#quest/supporter/305391/1/0/550" }, "siegfried": { "element": "earth", "url": "/#quest/supporter/305401/1/0/551" }, "siete": { "element": "wind", "url": "/#quest/supporter/305411/1/0/552" }, + "cosmos": { "element": "light", "url": "/#quest/supporter/305421/1/0/553" }, "agastia": { "element": "dark", "url": "/#quest/supporter/305431/1/0/554" } } }, "raids_i_8b": { "title": "raids_i_8b_full", "children": { - "super_ultimate_bahamut": { "element": "dark", "url": "/#quest/supporter/305311/1/0/138", "title": "super_ultimate_bahamut_full" } + "super_ultimate_bahamut": { "title": "super_ultimate_bahamut_full", "url": "/#quest/supporter/305311/1/0/138" }, + "hexachromatic_hierarch": { "title": "hexachromatic_hierarch_full", "url": "/#quest/supporter/305491/1/0/549" } } }, "pro": { @@ -317,7 +333,7 @@ "raids_s_2": { "url": "/#quest/supporter/305441/28" }, "raids_s_3": { "url": "/#quest/supporter/305471/28" }, "raids_i_1": { "url": "/#quest/supporter/305461/28" }, - "showdown": {"url": "/#quest/supporter/103951/28"}, + "showdown": { "url": "/#quest/supporter/103951/28" }, "halo": { "url": "/#quest/supporter/305301/28" } } }, diff --git a/assets/i18n/en-us.json b/assets/i18n/en-us.json index 8d946cd..7f3c5a4 100644 --- a/assets/i18n/en-us.json +++ b/assets/i18n/en-us.json @@ -3,12 +3,11 @@ "agastia": "Agastia", "akasha": "Akasha", "alexiel": "Alexiel", - "animus_dark": "Animus (dark)", - "animus_earth": "Animus (earth)", - "animus_full": "Anima-Animus Core", + "anima_animus": "Animus", + "anima_animus_full": "Anima-Animus Core", "anubis": "Anubis", "apollo": "Apollo", - "apply_styles": "Apply styles", + "apply": "Apply", "arcarum": "Arcarum", "assist": "Assist", "athena": "Athena", @@ -16,6 +15,7 @@ "avatar": "Avatar", "baal": "Baal", "beelzebub": "Beelzebub", + "belial": "Belial", "bennu": "Bennu", "bingo": "Bingo", "ca_ong": "Ca Ong", @@ -25,7 +25,8 @@ "cerulean_stones": "Cerulean Stones", "character": "Character", "characters": "Characters", - "clear_saved_urls": "Clear saved URLs", + "clear_saved_urls": "Clear URLs", + "clear_saved_urls_full": "Clear saved URLs", "clear_saved_urls_success": "Saved URLs have been cleared.", "clock": "Clock", "clock-jst": "Clock (JST)", @@ -35,6 +36,7 @@ "confirm_settings_reset": "Are you sure you want to reset you settings?", "confirm_styles_override": "Are you sure you want to override you styles?", "confirm_styles_reset": "Are you sure you want to reset you styles?", + "cosmos": "Cosmos", "crate": "Crate", "crew": "Crew", "crystals": "Crystals", @@ -49,8 +51,7 @@ "europa": "Europa", "event": "Event", "ewiyar": "Ewiyar", - "export_settings": "Export settings", - "export_styles": "Export styles", + "export": "Export", "extra_links": "Extra", "fate_episodes": "Fate episodes", "featured": "Featured", @@ -68,12 +69,13 @@ "halo": "Angel Halo", "hard": "Hard", "hector": "Hector", + "hexachromatic_hierarch": "Hexa. Hierarch", + "hexachromatic_hierarch_full": "Hexachromatic Hierarch", "home": "Home", "horus": "Horus", "huanglong": "Huanglong", "huanglong_&_qilin": "Huanglong & Qilin", - "import_settings": "Import settings", - "import_styles": "Import styles", + "import": "Import", "invalid_json_format": "Invalid JSON format.", "inventory": "Inventory", "items": "Items", @@ -81,9 +83,9 @@ "journal": "Journal", "journey_drops": "Journey Drops", "language": "Language", + "legion_void": "Legion Void", "leviathan": "Leviathan", - "leviathan_malice_fire": "Leviathan (fire)", - "leviathan_malice_water": "Leviathan (water)", + "leviathan_malice": "Leviathan", "lich": "Lich", "light": "Light", "lindwurm": "Lindwurm", @@ -94,8 +96,6 @@ "lu_woh": "Lu Woh", "lucilius": "Lucilius", "luminiera": "Luminiera", - "luminiera_light": "Luminiera (light)", - "luminiera_water": "Luminiera (water)", "macula_marius": "Macula Marius", "manage_shortcuts": "Manage shortcuts", "me": "Me", @@ -120,8 +120,7 @@ "party": "Party", "pendants": "Pendants", "pending_raids": "Pending raids", - "phronesis_earth": "Phronesis (earth)", - "phronesis_water": "Phronesis (water)", + "phronesis": "Phronesis", "poker": "Poker", "premium": "Premium", "pro": "Pro (skip)", @@ -142,7 +141,7 @@ "raids_i_5": "5★ Dragons", "raids_i_6": "6★ Raids", "raids_i_7": "7★ Raids", - "raids_i_8a": "8★ Raids", + "raids_i_8a": "8★ Revans", "raids_i_8b": "8★ S.U.", "raids_i_8b_full": "8★ Super Ultimate", "raids_s_1": "1☆ Magna H", @@ -156,8 +155,7 @@ "raphael": "Raphael", "reload": "Reload", "repeat_quest": "Repeat Quest", - "reset_settings": "Reset settings", - "reset_styles": "Reset styles", + "reset": "Reset", "results": "Results", "rose_queen": "Rose Queen", "rupie": "Rupie", @@ -171,6 +169,7 @@ "skyLeap": "SkyLeap", "special": "Special", "stash": "Stash", + "styles": "Styles", "summon": "Summon", "summons": "Summons", "super_ultimate_bahamut": "S.U. Bahamut", @@ -180,8 +179,7 @@ "tefnut": "Tefnut", "the_four_primarchs": "The Four Primarchs", "tiamat": "Tiamat", - "tiamat_malice_dark": "Tiamat (dark)", - "tiamat_malice_wind": "Tiamat (wind)", + "tiamat_malice": "Tiamat", "trade_moons": "Trade Moons", "treasure": "Treasure", "treasure_trials": "Treasure Trials", diff --git a/assets/i18n/es-es.json b/assets/i18n/es-es.json index 1958274..c79425d 100644 --- a/assets/i18n/es-es.json +++ b/assets/i18n/es-es.json @@ -3,8 +3,8 @@ "agastia": "Agastia", "akasha": "Akasha", "alexiel": "Alexiel", - "animus_dark": "Animus (dark)", - "animus_earth": "Animus (earth)", + "anima_animus": "Animus", + "animus_full": "Anima-Animus Core", "anubis": "Anubis", "apollo": "Apollo", "apply_styles": "Aplicar estilos", @@ -15,6 +15,7 @@ "avatar": "Avatar", "baal": "Baal", "beelzebub": "Beelzebub", + "belial": "Belial", "bennu": "Bennu", "bingo": "Bingo", "ca_ong": "Ca Ong", @@ -24,7 +25,8 @@ "cerulean_stones": "Cerulean Stones", "character": "Personaje", "characters": "Personajes", - "clear_saved_urls": "Borrar URLs guardadas", + "clear_saved_urls": "Borrar URLs", + "clear_saved_urls_full": "Borrar URLs guardadas", "clear_saved_urls_success": "Las URLs guardadas han sido borradas.", "clock": "Reloj", "clock-jst": "Reloj (JST)", @@ -34,6 +36,7 @@ "confirm_settings_reset": "¿Seguro que quieres resetear tus ajustes?", "confirm_styles_override": "¿Seguro que quieres sobreescribir tus estilos?", "confirm_styles_reset": "¿Seguro que quieres resetear tus estilos?", + "cosmos": "Cosmos", "crate": "Caja", "crew": "Tripulación", "crystals": "Cristales", @@ -48,8 +51,7 @@ "europa": "Europa", "event": "Evento", "ewiyar": "Ewiyar", - "export_settings": "Exportar ajustes", - "export_styles": "Exportar estilos", + "export": "Exportar", "extra_links": "Extra", "fate_episodes": "Fate episodes", "featured": "Destacado", @@ -67,12 +69,13 @@ "halo": "Halo Angélico", "hard": "Difícil", "hector": "Hector", + "hexachromatic_hierarch": "Hexa. Hierarch", + "hexachromatic_hierarch_full": "Hexachromatic Hierarch", "home": "Inicio", "horus": "Horus", "huanglong": "Huanglong", "huanglong_&_qilin": "Huanglong & Qilin", - "import_settings": "Importar ajustes", - "import_styles": "Importar estilos", + "import": "Importar", "invalid_json_format": "Formato JSON inválido.", "inventory": "Inventario", "items": "Objetos", @@ -80,9 +83,9 @@ "journal": "Diario", "journey_drops": "Journey Drops", "language": "Idioma", + "legion_void": "Legion Void", "leviathan": "Leviathan", - "leviathan_malice_fire": "Leviathan (fuego)", - "leviathan_malice_water": "Leviathan (agua)", + "leviathan_malice": "Leviathan", "lich": "Lich", "light": "Luz", "lindwurm": "Lindwurm", @@ -93,8 +96,6 @@ "lu_woh": "Lu Woh", "lucilius": "Lucilius", "luminiera": "Luminiera", - "luminiera_light": "Luminiera (luz)", - "luminiera_water": "Luminiera (agua)", "macula_marius": "Macula Marius", "manage_shortcuts": "Gestionar atajos", "me": "Yo", @@ -119,8 +120,7 @@ "party": "Equipo", "pendants": "Pendants", "pending_raids": "Raids pendientes", - "phronesis_earth": "Phronesis (tierra)", - "phronesis_water": "Phronesis (agua)", + "phronesis": "Phronesis", "poker": "Poker", "premium": "Premium", "pro": "Pro (saltar)", @@ -141,7 +141,7 @@ "raids_i_5": "5★ Dragons", "raids_i_6": "6★ Raids", "raids_i_7": "7★ Raids", - "raids_i_8a": "8★ Raids", + "raids_i_8a": "8★ Revans", "raids_i_8b": "8★ S.U.", "raids_i_8b_full": "8★ Super Ultimate", "raids_s_1": "1☆ Magna H", @@ -155,8 +155,7 @@ "raphael": "Raphael", "reload": "Recargar", "repeat_quest": "Repetir misión", - "reset_settings": "Resetear ajustes", - "reset_styles": "Resetear estilos", + "reset": "Resetear", "results": "Resultados", "rose_queen": "Rose Queen", "rupie": "Rupias", @@ -170,17 +169,17 @@ "skyLeap": "SkyLeap", "special": "Especial", "stash": "Reserva", + "styles": "Estilos", "summon": "Invocación", "summons": "Invocaciones", - "super_ultimate_bahamut": "Sup. Ult. Bahamut", + "super_ultimate_bahamut": "S.U. Bahamut", "super_ultimate_bahamut_full": "Super Ultimate Bahamut", "supplies": "Suministros", "tbi": "Pendiente de implementar.", "tefnut": "Tefnut", "the_four_primarchs": "The Four Primarchs", "tiamat": "Tiamat", - "tiamat_malice_dark": "Tiamat (oscuridad)", - "tiamat_malice_wind": "Tiamat (viento)", + "tiamat_malice": "Tiamat", "trade_moons": "Canjear Lunas", "treasure": "Tesoros", "treasure_trials": "Triales de Tesoro", diff --git a/manifest.json b/manifest.json index a9e5959..fd54f79 100644 --- a/manifest.json +++ b/manifest.json @@ -41,11 +41,14 @@ "open-quests": { "description": "Open quests" }, - "open-raids": { - "description": "Open raids" + "open-raid-assist": { + "description": "Open raids (backup request)" + }, + "open-raid-list": { + "description": "Open raids (list)" }, "open-stage": { - "description": "Open stage" + "description": "Open quest stage" }, "open-guild-wars": { "description": "Open Unite and Fight", @@ -73,5 +76,5 @@ "name": "GBF Bookmarker", "options_page": "src/modules/options/options.html", "permissions": ["activeTab", "browsingData", "contextMenus", "notifications", "storage", "tabs"], - "version": "1.0.24" + "version": "1.0.25" } diff --git a/package.json b/package.json deleted file mode 100644 index 9bddbdd..0000000 --- a/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "author": "MetalTxus (Jesús Miguel Cruz Cana)", - "bugs": { - "url": "https://github.com/jesuscc1993/gbf-bookmarker/issues" - }, - "description": "Bookmarks ongoing events and more so you do not have to and provides bookmarks to the most useful sections.", - "devDependencies": { - "copy": "^0.3.2", - "rimraf": "^3.0.2" - }, - "homepage": "https://github.com/jesuscc1993/gbf-bookmarker#readme", - "license": "CC BY-NC 4.0", - "main": "index.js", - "name": "gbf-bookmarker", - "repository": { - "type": "git", - "url": "git+https://github.com/jesuscc1993/gbf-bookmarker.git" - }, - "resolutions": { - "glob-parent": "^5.1.2" - }, - "scripts": { - "build": "rimraf build && yarn build-folders && yarn clean-build-folders && yarn copy-build-folders", - "build-folders": "rimraf build && mkdir build && yarn copy assets build/assets && yarn copy src build/src && yarn copy vendor build/vendor && yarn copy manifest.json build/manifest.json", - "clean-build-folders": "rimraf build/**/*.scss && rimraf build/**/*.css.map && rimraf build/**/*.md", - "copy-build-folders": "git checkout release && rimraf assets && rimraf src && rimraf vendor && rimraf package.json && yarn copy build/* . && rimraf build" - }, - "version": "1.0.25" -} \ No newline at end of file diff --git a/src/modules/background/background.js b/src/modules/background/background.js index ee13e83..157341f 100644 --- a/src/modules/background/background.js +++ b/src/modules/background/background.js @@ -61,7 +61,8 @@ const initializeBackground = () => { [ShortcutAction.Inventory]: openInventory, [ShortcutAction.Party]: openParty, [ShortcutAction.Quests]: openQuests, - [ShortcutAction.Raids]: openRaids, + [ShortcutAction.RaidList]: openRaidList, + [ShortcutAction.RaidAssist]: openRaidAssist, [ShortcutAction.RepeatQuest]: repeatQuest, [ShortcutAction.Stage]: openStage, [ShortcutAction.World]: openWorld, @@ -119,7 +120,8 @@ const openHome = (tabId) => openUrl(tabId, Urls.Home); const openInventory = (tabId) => openUrl(tabId, Urls.Inventory); const openParty = (tabId) => openUrl(tabId, Urls.Party); const openQuests = (tabId) => openUrl(tabId, Urls.Quest); -const openRaids = (tabId) => openUrl(tabId, Urls.Raids); +const openRaidAssist = (tabId) => openUrl(tabId, Urls.RaidAssist); +const openRaidList = (tabId) => openUrl(tabId, Urls.RaidList); const openWorld = (tabId) => openUrl(tabId, Urls.World); const openStage = (tabId) => openUrl(tabId, Urls.Stage); @@ -171,7 +173,8 @@ const Urls = { Inventory: `https://${targetDomain}/#list`, Party: `https://${targetDomain}/#party/index/0/npc/0`, Quest: `https://${targetDomain}/#quest`, - Raids: `https://${targetDomain}/#quest/assist`, + RaidAssist: `https://${targetDomain}/#quest/assist`, + RaidList: `https://${targetDomain}/#quest/multi/0`, Stage: `https://${targetDomain}/#quest/stage`, World: `https://${targetDomain}/#quest/island`, @@ -190,7 +193,8 @@ const ShortcutAction = { Inventory: 'open-inventory', Party: 'open-party', Quests: 'open-quests', - Raids: 'open-raids', + RaidAssist: 'open-raid-assist', + RaidList: 'open-raid-list', RepeatQuest: 'repeat-quest', Stage: 'open-stage', World: 'open-world', diff --git a/src/modules/bookmarks/bookmarks.css b/src/modules/bookmarks/bookmarks.css index 720eede..8258946 100644 --- a/src/modules/bookmarks/bookmarks.css +++ b/src/modules/bookmarks/bookmarks.css @@ -1,3 +1 @@ -body{font-family:'Roboto', sans-serif;font-size:14px;margin:0;width:576px}body *{box-sizing:border-box}body #bookmarks-container{background:url(../../../assets/images/backgrounds/bookmarks_half.jpg) no-repeat;background-position:top left;background-size:cover}body ul{display:block;padding:0;margin:0}body ul li,body ul .toggle{width:33.33333%;display:flex;justify-content:center;align-items:center;margin-left:auto}body>ul>li,body>ul>li>.toggle{width:25%}body .option{background:#fffc;border:0 solid #0001;border-left-width:1px;border-bottom-width:1px;line-height:28px;padding:0 6px}body .option:not(.disabled){cursor:pointer}body .option:not(.disabled):hover{filter:brightness(90%)}body .option.toggle,body .option>*{color:#757575}body .option>*:not(.option){display:block;text-shadow:1px 0 0px #0004}body .option.wind a{color:#66bb6a}body .option.fire a{color:#ef5350}body .option.water a{color:#42a5f5}body .option.earth a{color:#8d6e63}body .option.light a{color:#ffca28}body .option.dark a{color:#ab47bc}body .bookmark-group{position:relative;width:100%}body .bookmark-group:not(:hover) ul{height:0;overflow:hidden}body .bookmark-group:hover ul{height:initial}body .bookmark-group .toggle{position:relative}body .bookmark-group .toggle:before{content:'chevron_left';font-family:'Material Icons';left:0;position:absolute;vertical-align:middle;transform:scale(1, 1.5)}body .bookmark-group ul{display:flex;flex-direction:row-reverse;flex-wrap:wrap;left:0;width:75%;position:absolute;top:0;z-index:1}body .bookmark-group ul:hover{height:initial}body .bookmark-group ul li{margin:0}body a{text-decoration:none} - -/*# sourceMappingURL=bookmarks.css.map */ \ No newline at end of file +body{font-family:"Roboto",sans-serif;font-size:14px;margin:0;width:576px}body *{box-sizing:border-box}body #bookmarks-container{background:url(../../../assets/images/backgrounds/bookmarks_half.jpg) no-repeat;background-position:top left;background-size:cover}body ul{display:block;padding:0;margin:0}body ul li,body ul .toggle{width:33.33%;display:flex;justify-content:center;align-items:center;margin-left:auto}body>ul>li,body>ul>li>.toggle{width:25%}body .option{background:rgba(255,255,255,.8);border:0 solid rgba(0,0,0,.0666666667);border-left-width:1px;border-bottom-width:1px;line-height:28px;padding:0 6px;color:#757575}body .option:not(.disabled):hover{filter:brightness(90%)}body .option>*:not(.option){display:block;text-shadow:1px 0 0px rgba(0,0,0,.2666666667)}body .option .host-material:after{content:"●";display:inline-block;padding:0 4px}body .option.wind,body .option .host-material.wind{color:#66bb6a}body .option.fire,body .option .host-material.fire{color:#ef5350}body .option.water,body .option .host-material.water{color:#42a5f5}body .option.earth,body .option .host-material.earth{color:#8d6e63}body .option.light,body .option .host-material.light{color:#ebb100}body .option.dark,body .option .host-material.dark{color:#ab47bc}body .bookmark-group{position:relative;width:100%}body .bookmark-group:not(:hover) ul{height:0;overflow:hidden}body .bookmark-group:hover ul{height:initial}body .bookmark-group .toggle{position:relative}body .bookmark-group .toggle:before{content:"chevron_left";font-family:"Material Icons";left:0;position:absolute;vertical-align:middle;transform:scale(1, 1.5)}body .bookmark-group ul{display:flex;flex-direction:row-reverse;flex-wrap:wrap;left:0;width:75%;position:absolute;top:0;z-index:1}body .bookmark-group ul:hover{height:initial}body .bookmark-group ul li{margin:0}body a{text-decoration:none}body .clickable{cursor:pointer}body .disabled{cursor:not-allowed}/*# sourceMappingURL=bookmarks.css.map */ diff --git a/src/modules/bookmarks/bookmarks.js b/src/modules/bookmarks/bookmarks.js index 1105a42..9de3043 100644 --- a/src/modules/bookmarks/bookmarks.js +++ b/src/modules/bookmarks/bookmarks.js @@ -40,15 +40,20 @@ const initializeBookmarks = () => { }; const onUrlClick = (event, url) => { + const fullUrl = url.startsWith('/') ? `${baseUrl}${url}` : url; ({ - 1: () => { - tabs.update({ active: true, url }); - window.close(); - }, - 2: () => { - tabs.create({ url }); - }, - })[event.which](); + 1: openInCurrentTab, + 2: openInNewTab, + })[event.which](fullUrl); +}; + +const openInCurrentTab = (url) => { + tabs.update({ active: true, url }); + window.close(); +}; + +const openInNewTab = (url) => { + tabs.create({ url }); }; const onStoredUrlClick = (event, key) => { @@ -77,9 +82,11 @@ const getCustomBookmark = (key) => { } case 'options': { - const settingsItem = jQuery( - `
  • ${translate('options')}
  • `, - ); + const settingsItem = jQuery(` +
  • + ${translate('options')} +
  • + `); if (!inPreviewMode()) { settingsItem.click(() => @@ -98,38 +105,69 @@ const getClock = (date, suffix) => { timeStyle: 'short', }); - return jQuery( - `
  • ${formattedDate}${ - suffix ? ` ${suffix}` : '' - }
  • `, - ); + return jQuery(` +
  • + ${formattedDate}${suffix ? ` ${suffix}` : ''} +
  • + `); }; const getSingleBookmark = (literal, bookmark) => { if (bookmark === null) return jQuery(`
  • `); - const { children, element, title, url, urlKey } = bookmark; + const { children, element, title, url, urls, urlKey } = bookmark; + const clickable = children || url || urlKey; + const disabled = !(clickable || urls); + const className = clickable ? 'clickable' : disabled ? 'disabled' : ''; + + const bookmarkElement = jQuery(` +
  • + ${translate(literal)} +
  • + `); + + if (urls) { + urls.forEach(({ element, url }, i) => { + const clickable = url; + const disabled = !clickable; + const className = clickable ? 'clickable' : disabled ? 'disabled' : ''; + + const childElement = jQuery(` + + `); - const bookmarkElement = jQuery( - `
  • ${translate( - literal, - )}
  • `, - ); + if (!inPreviewMode()) { + if (url) { + childElement.mousedown((event) => onUrlClick(event, url)); + } else if (!url) { + childElement.mousedown(() => alert(translate('tbi'))); + } + } + i % 2 === 0 + ? bookmarkElement.append(childElement) + : bookmarkElement.prepend(childElement); + }); + } if (children) { bookmarkElement.addClass('toggle'); } if (element) { - bookmarkElement.addClass(`${element} element`); + bookmarkElement.addClass(element); } if (!inPreviewMode()) { if (url) { - const fullUrl = url.includes('http') ? url : `${baseUrl}${url}`; - bookmarkElement.mousedown((event) => onUrlClick(event, fullUrl)); + bookmarkElement.mousedown((event) => onUrlClick(event, url)); } else if (urlKey) { bookmarkElement.mousedown((event) => onStoredUrlClick(event, urlKey)); - } else if (url === '') { + } else if (!(urls || children)) { bookmarkElement.mousedown(() => alert(translate('tbi'))); } } diff --git a/src/modules/i18n/i18n.service.js b/src/modules/i18n/i18n.service.js index 408456e..98d6939 100644 --- a/src/modules/i18n/i18n.service.js +++ b/src/modules/i18n/i18n.service.js @@ -45,7 +45,10 @@ export const translateDom = () => { const _translateDom = () => { jQuery('[translate]').each( - (i, e) => (e.innerText = translate(jQuery(e).attr('translate'))), + (_, e) => (e.innerText = translate(jQuery(e).attr('translate'))), + ); + jQuery('[translateTitle]').each( + (_, e) => (e.title = translate(jQuery(e).attr('translateTitle'))), ); }; diff --git a/src/modules/options/options.css b/src/modules/options/options.css index abd4203..501b030 100644 --- a/src/modules/options/options.css +++ b/src/modules/options/options.css @@ -1,3 +1 @@ -*{box-sizing:border-box}body{animation:fade-in 150ms;background:var(--c-background);box-sizing:border-box;color:var(--c-foreground);font-family:'Roboto', sans-serif;font-size:15.5px;margin:0;min-height:calc(100vh - 17px)}body a{text-decoration:none}body form p{display:flex;margin:0.33em 0}body input[type='checkbox']{width:0;margin:0 20px 0 0}body input[type='checkbox']:before{font-family:'Material Icons';font-size:20px;color:var(--c-foreground);cursor:pointer}body input[type='checkbox']:checked:before{content:'check_box'}body input[type='checkbox']:not(:checked):before{content:'check_box_outline_blank'}body input+label{cursor:pointer;padding-left:4px}body .CodeMirror{border:1px solid #ddd;font-size:13px;height:calc(100vh - 236px);margin-top:0;width:100%}body button,body select{background:var(--c-foreground);border-radius:4px;border:none;color:var(--c-background);cursor:pointer;display:inline-flex;height:28px;padding:6px 8px;transition:0.1s}body button:hover,body select:hover{filter:brightness(1.2)}body button.min-width,body select.min-width{min-width:96px}body button+hr,body select+hr{border-color:var(--c-foreground);border-width:0 0 1px 0;margin:4px 0 8px;width:100%}body button .icon{line-height:1em;font-size:1.25em}body .wrapper{background:url(../../../assets/images/settings-lyria.png) no-repeat;background-position:bottom right;background-size:320px 320px;display:inline-block;width:100vw}body .row>.col{margin:16px 0 16px 16px}body .row+.row{margin-top:16px}body .card>.contents{max-height:calc(100vh - 74px);padding:8px 8px 8px 12px}body .card>.contents>*:not(.CodeMirror){max-height:100%;overflow-y:auto}body .card.right-card>.contents{max-width:calc(100vw - 900px);width:594px}body #list-items{min-width:196px}body #preview{border:none;height:calc(100vh - 128px);width:594px}body .flex{display:flex}body .flex.column{flex-direction:column}body .flex1{flex:1}body .justify-between{display:flex;justify-content:space-between}body .center-items{display:flex;align-items:center}body .buttons-container{gap:4px}body .buttons-container .row+.row{margin-top:4px}body .col{display:flex;flex-direction:column}body .col>textarea+.CodeMirror{margin-top:0}body .row{display:flex;flex-direction:row}body .margin-top{margin-top:16px}@keyframes fade-in{0%{opacity:0;pointer-events:none}50%{opacity:0}100%{opacity:1;pointer-events:all}} - -/*# sourceMappingURL=options.css.map */ \ No newline at end of file +*{box-sizing:border-box}body{animation:fade-in 150ms;background:var(--c-background);box-sizing:border-box;color:var(--c-foreground);font-family:"Roboto",sans-serif;font-size:15.5px;margin:0;min-height:calc(100vh - 17px)}body a{text-decoration:none}body form p{display:flex;margin:.33em 0}body input[type=checkbox]{width:0;margin:0 20px 0 0}body input[type=checkbox]:before{font-family:"Material Icons";font-size:20px;color:var(--c-foreground);cursor:pointer}body input[type=checkbox]:checked:before{content:"check_box"}body input[type=checkbox]:not(:checked):before{content:"check_box_outline_blank"}body input+label{cursor:pointer;padding-left:4px}body .CodeMirror{border:1px solid #ddd;font-size:13px;height:calc(100vh - 236px);margin-top:0;width:100%}body button,body select{background:var(--c-foreground);border-radius:4px;border:none;color:var(--c-background);cursor:pointer;display:inline-flex;height:28px;padding:6px 8px;transition:.1s}body button:hover,body select:hover{filter:brightness(1.2)}body button.min-width,body select.min-width{min-width:96px}body button+hr,body select+hr{border-color:var(--c-foreground);border-width:0 0 1px 0;margin:4px 0 8px;width:100%}body button .icon{line-height:1em;font-size:1.25em}body .wrapper{background:url(../../../assets/images/settings-lyria.png) no-repeat;background-position:bottom right;background-size:320px 320px;display:inline-block;width:100vw}body .row>.col{margin:16px 0 16px 16px}body .row+.row{margin-top:16px}body .card>.contents{max-height:calc(100vh - 74px);padding:8px 8px 8px 12px}body .card>.contents>*:not(.CodeMirror){max-height:100%;overflow-y:auto}body .card.right-card>.contents{max-width:calc(100vw - 900px);width:594px}body #list-items{min-width:196px}body #preview{border:none;height:calc(100vh - 128px);width:594px}body .flex{display:flex}body .flex.column{flex-direction:column}body .flex1{flex:1}body .justify-between{display:flex;justify-content:space-between}body .center-items{display:flex;align-items:center}body .buttons-container{gap:4px}body .buttons-container label{padding-right:8px}body .buttons-container .row+.row{margin-top:4px}body .col{display:flex;flex-direction:column}body .col>textarea+.CodeMirror{margin-top:0}body .row{display:flex;flex-direction:row}body .margin-top{margin-top:16px}@keyframes fade-in{0%{opacity:0;pointer-events:none}50%{opacity:0}100%{opacity:1;pointer-events:all}}/*# sourceMappingURL=options.css.map */ diff --git a/src/modules/options/options.html b/src/modules/options/options.html index d4e3cfa..bd06d9a 100644 --- a/src/modules/options/options.html +++ b/src/modules/options/options.html @@ -57,26 +57,34 @@
    + +
    @@ -94,26 +102,31 @@
    + +
    diff --git a/vendor/jquery/jquery.min.js b/vendor/jquery/jquery.min.js index 769a1d9..7f37b5d 100644 --- a/vendor/jquery/jquery.min.js +++ b/vendor/jquery/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.4.0 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.0",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ae(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ne(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ne(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n=void 0,r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n}else r&&(Q.set(this,i,k.event.trigger(k.extend(r.shift(),k.Event.prototype),r,this)),e.stopImmediatePropagation())}})):k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0